From 4100d393de196b0c04f5f788ff85fbb1002d326e Mon Sep 17 00:00:00 2001 From: teh_coderer Date: Mon, 1 May 2023 10:46:48 -0400 Subject: [PATCH] init --- frontend-components/plotly/README.md | 70 + frontend-components/plotly/index.html | 40 + frontend-components/plotly/package-lock.json | 5740 ++++++ frontend-components/plotly/package.json | 50 + frontend-components/plotly/postcss.config.cjs | 6 + frontend-components/plotly/src/App.tsx | 175 + .../plotly/src/components/AutoScaling.tsx | 141 + .../plotly/src/components/ChangeColor.tsx | 95 + .../plotly/src/components/Chart.tsx | 469 + .../plotly/src/components/Config.tsx | 756 + .../src/components/Dialogs/CommonDialog.tsx | 47 + .../components/Dialogs/OverlayChartDialog.tsx | 617 + .../components/Dialogs/TextChartDialog.tsx | 201 + .../components/Dialogs/TitleChartDialog.tsx | 137 + .../plotly/src/components/Icons/Close.tsx | 28 + .../src/components/Icons/CloseCircle.tsx | 32 + .../plotly/src/components/Icons/Info.tsx | 32 + .../plotly/src/components/Icons/Success.tsx | 39 + .../plotly/src/components/Icons/Warning.tsx | 32 + .../plotly/src/components/PlotlyConfig.tsx | 172 + .../plotly/src/components/ResizeHandler.tsx | 84 + frontend-components/plotly/src/data/mockup.ts | 14420 ++++++++++++++++ .../plotly/src/fonts/FiraCode-Regular.ttf | Bin 0 -> 289624 bytes .../plotly/src/fonts/FiraCode-VF.ttf | Bin 0 -> 286320 bytes frontend-components/plotly/src/index.css | 483 + frontend-components/plotly/src/main.tsx | 22 + .../plotly/src/utils/addAnnotation.tsx | 239 + .../plotly/src/utils/useClickOutside.tsx | 42 + frontend-components/plotly/src/utils/utils.ts | 338 + .../plotly/tailwind.config.cjs | 30 + frontend-components/plotly/tsconfig.json | 22 + frontend-components/plotly/tsconfig.node.json | 9 + frontend-components/plotly/vite.config.ts | 8 + openbb_terminal/base_helpers.py | 2 +- openbb_terminal/core/plots/backend.py | 43 +- openbb_terminal/core/plots/plotly.html | 4011 ++++- openbb_terminal/core/plots/plotly_helper.py | 4 +- .../plotly_ta/plugins/momentum_plugin.py | 8 +- .../plots/plotly_ta/plugins/overlap_plugin.py | 8 +- .../plotly_ta/plugins/volatility_plugin.py | 12 +- .../core/plots/plotly_ta/ta_class.py | 2 +- 41 files changed, 28293 insertions(+), 373 deletions(-) create mode 100644 frontend-components/plotly/README.md create mode 100644 frontend-components/plotly/index.html create mode 100644 frontend-components/plotly/package-lock.json create mode 100644 frontend-components/plotly/package.json create mode 100644 frontend-components/plotly/postcss.config.cjs create mode 100644 frontend-components/plotly/src/App.tsx create mode 100644 frontend-components/plotly/src/components/AutoScaling.tsx create mode 100644 frontend-components/plotly/src/components/ChangeColor.tsx create mode 100644 frontend-components/plotly/src/components/Chart.tsx create mode 100644 frontend-components/plotly/src/components/Config.tsx create mode 100644 frontend-components/plotly/src/components/Dialogs/CommonDialog.tsx create mode 100644 frontend-components/plotly/src/components/Dialogs/OverlayChartDialog.tsx create mode 100644 frontend-components/plotly/src/components/Dialogs/TextChartDialog.tsx create mode 100644 frontend-components/plotly/src/components/Dialogs/TitleChartDialog.tsx create mode 100644 frontend-components/plotly/src/components/Icons/Close.tsx create mode 100644 frontend-components/plotly/src/components/Icons/CloseCircle.tsx create mode 100644 frontend-components/plotly/src/components/Icons/Info.tsx create mode 100644 frontend-components/plotly/src/components/Icons/Success.tsx create mode 100644 frontend-components/plotly/src/components/Icons/Warning.tsx create mode 100644 frontend-components/plotly/src/components/PlotlyConfig.tsx create mode 100644 frontend-components/plotly/src/components/ResizeHandler.tsx create mode 100644 frontend-components/plotly/src/data/mockup.ts create mode 100644 frontend-components/plotly/src/fonts/FiraCode-Regular.ttf create mode 100644 frontend-components/plotly/src/fonts/FiraCode-VF.ttf create mode 100644 frontend-components/plotly/src/index.css create mode 100644 frontend-components/plotly/src/main.tsx create mode 100644 frontend-components/plotly/src/utils/addAnnotation.tsx create mode 100644 frontend-components/plotly/src/utils/useClickOutside.tsx create mode 100644 frontend-components/plotly/src/utils/utils.ts create mode 100644 frontend-components/plotly/tailwind.config.cjs create mode 100644 frontend-components/plotly/tsconfig.json create mode 100644 frontend-components/plotly/tsconfig.node.json create mode 100644 frontend-components/plotly/vite.config.ts diff --git a/frontend-components/plotly/README.md b/frontend-components/plotly/README.md new file mode 100644 index 00000000000..58beeaccd87 --- /dev/null +++ b/frontend-components/plotly/README.md @@ -0,0 +1,70 @@ +# Getting Started with Create React App + +This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). + +## Available Scripts + +In the project directory, you can run: + +### `npm start` + +Runs the app in the development mode.\ +Open [http://localhost:3000](http://localhost:3000) to view it in your browser. + +The page will reload when you make changes.\ +You may also see any lint errors in the console. + +### `npm test` + +Launches the test runner in the interactive watch mode.\ +See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. + +### `npm run build` + +Builds the app for production to the `build` folder.\ +It correctly bundles React in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.\ +Your app is ready to be deployed! + +See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. + +### `npm run eject` + +**Note: this is a one-way operation. Once you `eject`, you can't go back!** + +If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. + +Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own. + +You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it. + +## Learn More + +You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). + +To learn React, check out the [React documentation](https://reactjs.org/). + +### Code Splitting + +This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) + +### Analyzing the Bundle Size + +This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) + +### Making a Progressive Web App + +This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) + +### Advanced Configuration + +This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) + +### Deployment + +This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) + +### `npm run build` fails to minify + +This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) diff --git a/frontend-components/plotly/index.html b/frontend-components/plotly/index.html new file mode 100644 index 00000000000..fd8ac101d89 --- /dev/null +++ b/frontend-components/plotly/index.html @@ -0,0 +1,40 @@ + + + + + + + OpenBB Interactive Charts + + + +
+ + + diff --git a/frontend-components/plotly/package-lock.json b/frontend-components/plotly/package-lock.json new file mode 100644 index 00000000000..09cb4d6ab63 --- /dev/null +++ b/frontend-components/plotly/package-lock.json @@ -0,0 +1,5740 @@ +{ + "name": "plotly", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "plotly", + "version": "0.1.0", + "dependencies": { + "@radix-ui/react-checkbox": "^1.0.3", + "@radix-ui/react-context-menu": "^2.1.3", + "@radix-ui/react-dialog": "^1.0.3", + "@radix-ui/react-dropdown-menu": "^2.0.4", + "@radix-ui/react-icons": "^1.2.0", + "@radix-ui/react-radio-group": "^1.1.2", + "@radix-ui/react-select": "^1.2.1", + "@radix-ui/react-toast": "^1.1.3", + "dom-to-image": "^2.6.0", + "plotly.js-dist-min": "^2.21.0", + "posthog-js": "^1.55.0", + "react": "^17.0.0", + "react-dom": "^17.0.0", + "react-plotly.js": "^2.6.0", + "xlsx": "^0.18.5", + "xss": "^1.0.14" + }, + "devDependencies": { + "@types/dom-to-image": "^2.6.4", + "@types/node": "^18.16.3", + "@types/plotly.js-dist-min": "^2.3.1", + "@types/react": "^18.0.27", + "@types/react-dom": "^18.0.10", + "@types/react-plotly.js": "^2.6.0", + "@types/react-table": "^7.7.14", + "@types/wicg-file-system-access": "^2020.9.6", + "@vitejs/plugin-react": "^3.1.0", + "autoprefixer": "^10.4.13", + "clsx": "^1.2.1", + "postcss": "^8.4.21", + "posthog-js": "^1.55.0", + "react-hotkeys-hook": "^4.4.0", + "tailwindcss": "^3.2.7", + "typescript": "^4.9.3", + "vite": "^4.1.0", + "vite-plugin-singlefile": "^0.13.3" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.21.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz", + "integrity": "sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.5.tgz", + "integrity": "sha512-9M398B/QH5DlfCOTKDZT1ozXr0x8uBEeFd+dJraGUZGiaNpGCDVGCc14hZexsMblw3XxltJ+6kSvogp9J+5a9g==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-compilation-targets": "^7.21.5", + "@babel/helper-module-transforms": "^7.21.5", + "@babel/helpers": "^7.21.5", + "@babel/parser": "^7.21.5", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz", + "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", + "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.21.5", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", + "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", + "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", + "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", + "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", + "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", + "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.5.tgz", + "integrity": "sha512-J+IxH2IsxV4HbnTrSWgMAQj0UEo61hDA4Ny8h8PCX0MLXiibqHbqIOVneqdocemSBc22VpBKxt4J6FQzy9HarQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz", + "integrity": "sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", + "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz", + "integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", + "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.5", + "@babel/types": "^7.21.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", + "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@choojs/findup": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@choojs/findup/-/findup-0.2.1.tgz", + "integrity": "sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw==", + "peer": true, + "dependencies": { + "commander": "^2.15.1" + }, + "bin": { + "findup": "bin/findup.js" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.18.tgz", + "integrity": "sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.18.tgz", + "integrity": "sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.18.tgz", + "integrity": "sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.18.tgz", + "integrity": "sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.18.tgz", + "integrity": "sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.18.tgz", + "integrity": "sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.18.tgz", + "integrity": "sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.18.tgz", + "integrity": "sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.18.tgz", + "integrity": "sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.18.tgz", + "integrity": "sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.18.tgz", + "integrity": "sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.18.tgz", + "integrity": "sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.18.tgz", + "integrity": "sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.18.tgz", + "integrity": "sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.18.tgz", + "integrity": "sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.18.tgz", + "integrity": "sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.18.tgz", + "integrity": "sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.18.tgz", + "integrity": "sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.18.tgz", + "integrity": "sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.18.tgz", + "integrity": "sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.18.tgz", + "integrity": "sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz", + "integrity": "sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@floating-ui/core": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.7.3.tgz", + "integrity": "sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg==" + }, + "node_modules/@floating-ui/dom": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-0.5.4.tgz", + "integrity": "sha512-419BMceRLq0RrmTSDxn8hf9R3VCJv2K9PUfugh5JyEFmdjzDo+e8U5EdR8nzKq8Yj1htzLm3b6eQEEam3/rrtg==", + "dependencies": { + "@floating-ui/core": "^0.7.3" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-0.7.2.tgz", + "integrity": "sha512-1T0sJcpHgX/u4I1OzIEhlcrvkUN8ln39nz7fMoE/2HDHrPiMFoOGR7++GYyfUmIQHkkrTinaeQsO3XWubjSvGg==", + "dependencies": { + "@floating-ui/dom": "^0.5.3", + "use-isomorphic-layout-effect": "^1.1.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@mapbox/geojson-rewind": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.2.tgz", + "integrity": "sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==", + "peer": true, + "dependencies": { + "get-stream": "^6.0.1", + "minimist": "^1.2.6" + }, + "bin": { + "geojson-rewind": "geojson-rewind" + } + }, + "node_modules/@mapbox/geojson-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/geojson-types/-/geojson-types-1.0.2.tgz", + "integrity": "sha512-e9EBqHHv3EORHrSfbR9DqecPNn+AmuAoQxV6aL8Xu30bJMJR1o8PZLZzpk1Wq7/NfCbuhmakHTPYRhoqLsXRnw==", + "peer": true + }, + "node_modules/@mapbox/jsonlint-lines-primitives": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", + "integrity": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@mapbox/mapbox-gl-supported": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-1.5.0.tgz", + "integrity": "sha512-/PT1P6DNf7vjEEiPkVIRJkvibbqWtqnyGaBz3nfRdcxclNSnSdaLU5tfAgcD7I8Yt5i+L19s406YLl1koLnLbg==", + "peer": true, + "peerDependencies": { + "mapbox-gl": ">=0.32.1 <2.0.0" + } + }, + "node_modules/@mapbox/point-geometry": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", + "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==", + "peer": true + }, + "node_modules/@mapbox/tiny-sdf": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-1.2.5.tgz", + "integrity": "sha512-cD8A/zJlm6fdJOk6DqPUV8mcpyJkRz2x2R+/fYcWDYG3oWbG7/L7Yl/WqQ1VZCjnL9OTIMAn6c+BC5Eru4sQEw==", + "peer": true + }, + "node_modules/@mapbox/unitbezier": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz", + "integrity": "sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==", + "peer": true + }, + "node_modules/@mapbox/vector-tile": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz", + "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==", + "peer": true, + "dependencies": { + "@mapbox/point-geometry": "~0.1.0" + } + }, + "node_modules/@mapbox/whoots-js": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz", + "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==", + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@plotly/d3": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.1.tgz", + "integrity": "sha512-x49ThEu1FRA00kTso4Jdfyf2byaCPLBGmLjAYQz5OzaPyLUhHesX3/Nfv2OHEhynhdy2UB39DLXq6thYe2L2kg==", + "peer": true + }, + "node_modules/@plotly/d3-sankey": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@plotly/d3-sankey/-/d3-sankey-0.7.2.tgz", + "integrity": "sha512-2jdVos1N3mMp3QW0k2q1ph7Gd6j5PY1YihBrwpkFnKqO+cqtZq3AdEYUeSGXMeLsBDQYiqTVcihYfk8vr5tqhw==", + "peer": true, + "dependencies": { + "d3-array": "1", + "d3-collection": "1", + "d3-shape": "^1.2.0" + } + }, + "node_modules/@plotly/d3-sankey-circular": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/@plotly/d3-sankey-circular/-/d3-sankey-circular-0.33.1.tgz", + "integrity": "sha512-FgBV1HEvCr3DV7RHhDsPXyryknucxtfnLwPtCKKxdolKyTFYoLX/ibEfX39iFYIL7DYbVeRtP43dbFcrHNE+KQ==", + "peer": true, + "dependencies": { + "d3-array": "^1.2.1", + "d3-collection": "^1.0.4", + "d3-shape": "^1.2.0", + "elementary-circuits-directed-graph": "^1.0.4" + } + }, + "node_modules/@plotly/point-cluster": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@plotly/point-cluster/-/point-cluster-3.1.9.tgz", + "integrity": "sha512-MwaI6g9scKf68Orpr1pHZ597pYx9uP8UEFXLPbsCmuw3a84obwz6pnMXGc90VhgDNeNiLEdlmuK7CPo+5PIxXw==", + "peer": true, + "dependencies": { + "array-bounds": "^1.0.1", + "binary-search-bounds": "^2.0.4", + "clamp": "^1.0.1", + "defined": "^1.0.0", + "dtype": "^2.0.0", + "flatten-vertex-data": "^1.0.2", + "is-obj": "^1.0.1", + "math-log2": "^1.0.1", + "parse-rect": "^1.2.0", + "pick-by-alias": "^1.2.0" + } + }, + "node_modules/@radix-ui/number": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.0.tgz", + "integrity": "sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/primitive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.0.tgz", + "integrity": "sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.2.tgz", + "integrity": "sha512-fqYwhhI9IarZ0ll2cUSfKuXHlJK0qE4AfnRrPBbRwEH/4mGQn04/QFGomLi8TXWIdv9WJk//KgGm+aDxVIr1wA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.2" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-checkbox": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.0.3.tgz", + "integrity": "sha512-55B8/vKzTuzxllH5sGJO4zaBf9gYpJuJRRzaOKm+0oAefRnMvbf+Kgww7IOANVN0w3z7agFJgtnXaZl8Uj95AA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.0", + "@radix-ui/react-use-previous": "1.0.0", + "@radix-ui/react-use-size": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.2.tgz", + "integrity": "sha512-s8WdQQ6wNXpaxdZ308KSr8fEWGrg4un8i4r/w7fhiS4ElRNjk5rRcl0/C6TANG2LvLOGIxtzo/jAg6Qf73TEBw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-primitive": "1.0.2", + "@radix-ui/react-slot": "1.0.1" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz", + "integrity": "sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz", + "integrity": "sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-context-menu": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-2.1.3.tgz", + "integrity": "sha512-T+Jpbl/L9eJmlNGdgrl39NUqYTrtHJz4FmjdSc2WDUiZXWMmokK+1K8t/xEcx9q2PvVYfL5UDy9dkzU9UouyGw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-menu": "2.0.4", + "@radix-ui/react-primitive": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.3.tgz", + "integrity": "sha512-owNhq36kNPqC2/a+zJRioPg6HHnTn5B/sh/NjTY8r4W9g1L5VJlrzZIVcBr7R9Mg8iLjVmh6MGgMlfoVf/WO/A==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-dismissable-layer": "1.0.3", + "@radix-ui/react-focus-guards": "1.0.0", + "@radix-ui/react-focus-scope": "1.0.2", + "@radix-ui/react-id": "1.0.0", + "@radix-ui/react-portal": "1.0.2", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.2", + "@radix-ui/react-slot": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.0", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.0.tgz", + "integrity": "sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.3.tgz", + "integrity": "sha512-nXZOvFjOuHS1ovumntGV7NNoLaEp9JEvTht3MBjP44NSW5hUKj/8OnfN3+8WmB+CEhN44XaGhpHoSsUIEl5P7Q==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-primitive": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-escape-keydown": "1.0.2" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-dropdown-menu": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.0.4.tgz", + "integrity": "sha512-y6AT9+MydyXcByivdK1+QpjWoKaC7MLjkS/cH1Q3keEyMvDkiY85m8o2Bi6+Z1PPUlCsMULopxagQOSfN0wahg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-id": "1.0.0", + "@radix-ui/react-menu": "2.0.4", + "@radix-ui/react-primitive": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.0.tgz", + "integrity": "sha512-UagjDk4ijOAnGu4WMUPj9ahi7/zJJqNZ9ZAiGPp7waUWJO0O1aWXi/udPphI0IUjvrhBsZJGSN66dR2dsueLWQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.2.tgz", + "integrity": "sha512-spwXlNTfeIprt+kaEWE/qYuYT3ZAqJiAGjN/JgdvgVDTu8yc+HuX+WOWXrKliKnLnwck0F6JDkqIERncnih+4A==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-primitive": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-icons": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-icons/-/react-icons-1.3.0.tgz", + "integrity": "sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==", + "peerDependencies": { + "react": "^16.x || ^17.x || ^18.x" + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.0.tgz", + "integrity": "sha512-Q6iAB/U7Tq3NTolBBQbHTgclPmGWE3OlktGGqrClPozSw4vkQ1DfQAOtzgRPecKsMdJINE05iaoDUG8tRzCBjw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-menu": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.0.4.tgz", + "integrity": "sha512-mzKR47tZ1t193trEqlQoJvzY4u9vYfVH16ryBrVrCAGZzkgyWnMQYEZdUkM7y8ak9mrkKtJiqB47TlEnubeOFQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-collection": "1.0.2", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-dismissable-layer": "1.0.3", + "@radix-ui/react-focus-guards": "1.0.0", + "@radix-ui/react-focus-scope": "1.0.2", + "@radix-ui/react-id": "1.0.0", + "@radix-ui/react-popper": "1.1.1", + "@radix-ui/react-portal": "1.0.2", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.2", + "@radix-ui/react-roving-focus": "1.0.3", + "@radix-ui/react-slot": "1.0.1", + "@radix-ui/react-use-callback-ref": "1.0.0", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.1.tgz", + "integrity": "sha512-keYDcdMPNMjSC8zTsZ8wezUMiWM9Yj14wtF3s0PTIs9srnEPC9Kt2Gny1T3T81mmSeyDjZxsD9N5WCwNNb712w==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@floating-ui/react-dom": "0.7.2", + "@radix-ui/react-arrow": "1.0.2", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-primitive": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0", + "@radix-ui/react-use-rect": "1.0.0", + "@radix-ui/react-use-size": "1.0.0", + "@radix-ui/rect": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.2.tgz", + "integrity": "sha512-swu32idoCW7KA2VEiUZGBSu9nB6qwGdV6k6HYhUoOo3M1FFpD+VgLzUqtt3mwL1ssz7r2x8MggpLSQach2Xy/Q==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.2" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.0.tgz", + "integrity": "sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.2.tgz", + "integrity": "sha512-zY6G5Qq4R8diFPNwtyoLRZBxzu1Z+SXMlfYpChN7Dv8gvmx9X3qhDqiLWvKseKVJMuedFeU/Sa0Sy/Ia+t06Dw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.1" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-radio-group": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.1.2.tgz", + "integrity": "sha512-S7K8upMjOkx1fTUzEugbfCYPwI9Yw4m2h2ZfJP+ZWP/Mzc/LE2T6QgiAMaSaC3vZSxU5Kk5Eb377zMklWeaaCQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.2", + "@radix-ui/react-roving-focus": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.0", + "@radix-ui/react-use-previous": "1.0.0", + "@radix-ui/react-use-size": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.3.tgz", + "integrity": "sha512-stjCkIoMe6h+1fWtXlA6cRfikdBzCLp3SnVk7c48cv/uy3DTGoXhN76YaOYUJuy3aEDvDIKwKR5KSmvrtPvQPQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-collection": "1.0.2", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-id": "1.0.0", + "@radix-ui/react-primitive": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-select": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-1.2.1.tgz", + "integrity": "sha512-GULRMITaOHNj79BZvQs3iZO0+f2IgI8g5HDhMi7Bnc13t7IlG86NFtOCfTLme4PNZdEtU+no+oGgcl6IFiphpQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/number": "1.0.0", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-collection": "1.0.2", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-dismissable-layer": "1.0.3", + "@radix-ui/react-focus-guards": "1.0.0", + "@radix-ui/react-focus-scope": "1.0.2", + "@radix-ui/react-id": "1.0.0", + "@radix-ui/react-popper": "1.1.1", + "@radix-ui/react-portal": "1.0.2", + "@radix-ui/react-primitive": "1.0.2", + "@radix-ui/react-slot": "1.0.1", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0", + "@radix-ui/react-use-previous": "1.0.0", + "@radix-ui/react-visually-hidden": "1.0.2", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.1.tgz", + "integrity": "sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-toast": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toast/-/react-toast-1.1.3.tgz", + "integrity": "sha512-yHFgpxi9wjbfPvpSPdYAzivCqw48eA1ofT8m/WqYOVTxKPdmQMuVKRYPlMmj4C1d6tJdFj/LBa1J4iY3fL4OwQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-collection": "1.0.2", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-dismissable-layer": "1.0.3", + "@radix-ui/react-portal": "1.0.2", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-controllable-state": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0", + "@radix-ui/react-visually-hidden": "1.0.2" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz", + "integrity": "sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.0.tgz", + "integrity": "sha512-FohDoZvk3mEXh9AWAVyRTYR4Sq7/gavuofglmiXB2g1aKyboUD4YtgWxKj8O5n+Uak52gXQ4wKz5IFST4vtJHg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.2.tgz", + "integrity": "sha512-DXGim3x74WgUv+iMNCF+cAo8xUHHeqvjx8zs7trKf+FkQKPQXLk2sX7Gx1ysH7Q76xCpZuxIJE7HLPxRE+Q+GA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz", + "integrity": "sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-use-previous": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.0.tgz", + "integrity": "sha512-RG2K8z/K7InnOKpq6YLDmT49HGjNmrK+fr82UCVKT2sW0GYfVnYp4wZWBooT/EYfQ5faA9uIjvsuMMhH61rheg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.0.tgz", + "integrity": "sha512-TB7pID8NRMEHxb/qQJpvSt3hQU4sqNPM1VCTjTRjEOa7cEop/QMuq8S6fb/5Tsz64kqSvB9WnwsDHtjnrM9qew==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/rect": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.0.tgz", + "integrity": "sha512-imZ3aYcoYCKhhgNpkNDh/aTiU05qw9hX+HHI1QDBTyIlcFjgeFlKKySNGMwTp7nYFLQg/j0VA2FmCY4WPDDHMg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.2.tgz", + "integrity": "sha512-qirnJxtYn73HEk1rXL12/mXnu2rwsNHDID10th2JGtdK25T9wX+mxRmGt7iPSahw512GbZOc0syZX1nLQGoEOg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.2" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.0.tgz", + "integrity": "sha512-d0O68AYy/9oeEy1DdC07bz1/ZXX+DqCskRd3i4JzLSTXwefzaepQrKjXC7aNM8lTHjFLDO0pDgaEiQ7jEk+HVg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@turf/area": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@turf/area/-/area-6.5.0.tgz", + "integrity": "sha512-xCZdiuojokLbQ+29qR6qoMD89hv+JAgWjLrwSEWL+3JV8IXKeNFl6XkEJz9HGkVpnXvQKJoRz4/liT+8ZZ5Jyg==", + "peer": true, + "dependencies": { + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/bbox": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-6.5.0.tgz", + "integrity": "sha512-RBbLaao5hXTYyyg577iuMtDB8ehxMlUqHEJiMs8jT1GHkFhr6sYre3lmLsPeYEi/ZKj5TP5tt7fkzNdJ4GIVyw==", + "peer": true, + "dependencies": { + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/centroid": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-6.5.0.tgz", + "integrity": "sha512-MwE1oq5E3isewPprEClbfU5pXljIK/GUOMbn22UM3IFPDJX0KeoyLNwghszkdmFp/qMGL/M13MMWvU+GNLXP/A==", + "peer": true, + "dependencies": { + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/helpers": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.5.0.tgz", + "integrity": "sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==", + "peer": true, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/meta": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", + "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", + "peer": true, + "dependencies": { + "@turf/helpers": "^6.5.0" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@types/dom-to-image": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@types/dom-to-image/-/dom-to-image-2.6.4.tgz", + "integrity": "sha512-UddUdGF1qulrSDulkz3K2Ypq527MR6ixlgAzqLbxSiQ0icx0XDlIV+h4+edmjq/1dqn0KgN0xGSe1kI9t+vGuw==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.16.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.3.tgz", + "integrity": "sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==", + "dev": true + }, + "node_modules/@types/plotly.js": { + "version": "2.12.18", + "resolved": "https://registry.npmjs.org/@types/plotly.js/-/plotly.js-2.12.18.tgz", + "integrity": "sha512-ff+CIEWnqZNjZqHtQZvkEAVuLs9fkm1f54QnPVmgoET7wMHdSqUka2hasVN4e5yfHD05YwGjsAtCseewJh/BMw==", + "dev": true + }, + "node_modules/@types/plotly.js-dist-min": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@types/plotly.js-dist-min/-/plotly.js-dist-min-2.3.1.tgz", + "integrity": "sha512-9+rTvlyKDclIB9twal6ou6unUN6iTATLcRvakoFYaHGPnVRNe06LbUGOcgD8O+sddBFz3y2kS2hTKbUPGeVsHA==", + "dev": true, + "dependencies": { + "@types/plotly.js": "*" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "devOptional": true + }, + "node_modules/@types/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.0.tgz", + "integrity": "sha512-0FLj93y5USLHdnhIhABk83rm8XEGA7kH3cr+YUlvxoUGp1xNt/DINUMvqPxLyOQMzLmZe8i4RTHbvb8MC7NmrA==", + "devOptional": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.1", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.1.tgz", + "integrity": "sha512-8QZEV9+Kwy7tXFmjJrp3XUKQSs9LTnE0KnoUb0YCguWBiNW0Yfb2iBMYZ08WPg35IR6P3Z0s00B15SwZnO26+w==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-plotly.js": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@types/react-plotly.js/-/react-plotly.js-2.6.0.tgz", + "integrity": "sha512-nJJ57U0/CNDAO+F3dpnMgM8PtjLE/O1I3O6gq4+5Q13uKqrPnHGYOttfdzQJ4D7KYgF609miVzEYakUS2zds8w==", + "dev": true, + "dependencies": { + "@types/plotly.js": "*", + "@types/react": "*" + } + }, + "node_modules/@types/react-table": { + "version": "7.7.14", + "resolved": "https://registry.npmjs.org/@types/react-table/-/react-table-7.7.14.tgz", + "integrity": "sha512-TYrv7onCiakaG1uAu/UpQ9FojNEt/4/ht87EgJQaEGFoWV606ZLWUZAcUHzMxgc3v1mywP1cDyz3qB4ho3hWOw==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", + "devOptional": true + }, + "node_modules/@types/wicg-file-system-access": { + "version": "2020.9.6", + "resolved": "https://registry.npmjs.org/@types/wicg-file-system-access/-/wicg-file-system-access-2020.9.6.tgz", + "integrity": "sha512-6hogE75Hl2Ov/jgp8ZhDaGmIF/q3J07GtXf8nCJCwKTHq7971po5+DId7grft09zG7plBwpF6ZU0yx9Du4/e1A==", + "dev": true + }, + "node_modules/@vitejs/plugin-react": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz", + "integrity": "sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.12", + "@babel/plugin-transform-react-jsx-self": "^7.18.6", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "magic-string": "^0.27.0", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.1.0-beta.0" + } + }, + "node_modules/abs-svg-path": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", + "integrity": "sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==", + "peer": true + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/adler-32": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz", + "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/almost-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/almost-equal/-/almost-equal-1.1.0.tgz", + "integrity": "sha512-0V/PkoculFl5+0Lp47JoxUcO0xSxhIBvm+BxHdD/OgXNmdRpRHCFnKVuUoWyS9EzQP+otSGv0m9Lb4yVkQBn2A==", + "peer": true + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/aria-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", + "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-bounds": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-bounds/-/array-bounds-1.0.1.tgz", + "integrity": "sha512-8wdW3ZGk6UjMPJx/glyEt0sLzzwAE1bhToPsO1W2pbpR2gULyxe3BjSiuJFheP50T/GgODVPz2fuMUmIywt8cQ==", + "peer": true + }, + "node_modules/array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-normalize": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array-normalize/-/array-normalize-1.1.4.tgz", + "integrity": "sha512-fCp0wKFLjvSPmCn4F5Tiw4M3lpMZoHlCjfcs7nNzuj3vqQQ1/a8cgB9DXcpDSn18c+coLnaW7rqfcYCvKbyJXg==", + "peer": true, + "dependencies": { + "array-bounds": "^1.0.0" + } + }, + "node_modules/array-range": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-range/-/array-range-1.0.1.tgz", + "integrity": "sha512-shdaI1zT3CVNL2hnx9c0JMc0ZogGaxDs5e85akgHWKYa0yVbIyp06Ind3dVkTj/uuFrzaHBOyqFzo+VV6aXgtA==", + "peer": true + }, + "node_modules/array-rearrange": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/array-rearrange/-/array-rearrange-2.2.2.tgz", + "integrity": "sha512-UfobP5N12Qm4Qu4fwLDIi2v6+wZsSf6snYSxAMeKhrh37YGnNWZPRmVEKc/2wfms53TLQnzfpG8wCx2Y/6NG1w==", + "peer": true + }, + "node_modules/atob-lite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", + "integrity": "sha512-LEeSAWeh2Gfa2FtlQE1shxQ8zi5F9GHarrGKz08TMdODD5T4eH6BMsvtnhbWZ+XQn+Gb6om/917ucvRu7l7ukw==", + "peer": true + }, + "node_modules/autoprefixer": { + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/binary-search-bounds": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.5.tgz", + "integrity": "sha512-H0ea4Fd3lS1+sTEB2TgcLoK21lLhwEJzlQv3IN47pJS976Gx4zoWe0ak3q+uYh60ppQxg9F16Ri4tS1sfD4+jA==", + "peer": true + }, + "node_modules/bit-twiddle": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", + "integrity": "sha512-B9UhK0DKFZhoTFcfvAzhqsjStvGJp9vYWf3+6SNTtdSQnvIgfkHbgHrg/e4+TH71N2GDu8tpmCVoyfrL1d7ntA==", + "peer": true + }, + "node_modules/bitmap-sdf": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/bitmap-sdf/-/bitmap-sdf-1.0.4.tgz", + "integrity": "sha512-1G3U4n5JE6RAiALMxu0p1XmeZkTeCwGKykzsLTCqVzfSDaN6S7fKnkIkfejogz+iwqBWc0UYAIKnKHNN7pSfDg==", + "peer": true + }, + "node_modules/bl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz", + "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==", + "peer": true, + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "peer": true + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001481", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz", + "integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/canvas-fit": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/canvas-fit/-/canvas-fit-1.5.0.tgz", + "integrity": "sha512-onIcjRpz69/Hx5bB5HGbYKUF2uC6QT6Gp+pfpGm3A7mPfcluSLV5v4Zu+oflDUwLdUw0rLIBhUbi0v8hM4FJQQ==", + "peer": true, + "dependencies": { + "element-size": "^1.1.1" + } + }, + "node_modules/cfb": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz", + "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", + "dependencies": { + "adler-32": "~1.3.0", + "crc-32": "~1.2.0" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/clamp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", + "integrity": "sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA==", + "peer": true + }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/codepage": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", + "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/color-alpha": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/color-alpha/-/color-alpha-1.0.4.tgz", + "integrity": "sha512-lr8/t5NPozTSqli+duAN+x+no/2WaKTeWvxhHGN+aXT6AJ8vPlzLa7UriyjWak0pSC2jHol9JgjBYnnHsGha9A==", + "peer": true, + "dependencies": { + "color-parse": "^1.3.8" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-id": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/color-id/-/color-id-1.1.0.tgz", + "integrity": "sha512-2iRtAn6dC/6/G7bBIo0uupVrIne1NsQJvJxZOBCzQOfk7jRq97feaDZ3RdzuHakRXXnHGNwglto3pqtRx1sX0g==", + "peer": true, + "dependencies": { + "clamp": "^1.0.1" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/color-normalize": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/color-normalize/-/color-normalize-1.5.0.tgz", + "integrity": "sha512-rUT/HDXMr6RFffrR53oX3HGWkDOP9goSAQGBkUaAYKjOE2JxozccdGyufageWDlInRAjm/jYPrf/Y38oa+7obw==", + "peer": true, + "dependencies": { + "clamp": "^1.0.1", + "color-rgba": "^2.1.1", + "dtype": "^2.0.0" + } + }, + "node_modules/color-parse": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-1.3.8.tgz", + "integrity": "sha512-1Y79qFv0n1xair3lNMTNeoFvmc3nirMVBij24zbs1f13+7fPpQClMg5b4AuKXLt3szj7BRlHMCXHplkce6XlmA==", + "peer": true, + "dependencies": { + "color-name": "^1.0.0", + "defined": "^1.0.0", + "is-plain-obj": "^1.1.0" + } + }, + "node_modules/color-rgba": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/color-rgba/-/color-rgba-2.1.1.tgz", + "integrity": "sha512-VaX97wsqrMwLSOR6H7rU1Doa2zyVdmShabKrPEIFywLlHoibgD3QW9Dw6fSqM4+H/LfjprDNAUUW31qEQcGzNw==", + "peer": true, + "dependencies": { + "clamp": "^1.0.1", + "color-parse": "^1.3.8", + "color-space": "^1.14.6" + } + }, + "node_modules/color-space": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/color-space/-/color-space-1.16.0.tgz", + "integrity": "sha512-A6WMiFzunQ8KEPFmj02OnnoUnqhmSaHaZ/0LVFcPTdlvm8+3aMJ5x1HRHy3bDHPkovkf4sS0f4wsVvwk71fKkg==", + "peer": true, + "dependencies": { + "hsluv": "^0.0.3", + "mumath": "^3.3.4" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/compute-dims": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/compute-dims/-/compute-dims-1.1.0.tgz", + "integrity": "sha512-YHMiIKjH/8Eom8zATk3g8/lH3HxGCZcVQyEfEoVrfWI7od/WRpTgRGShnei3jArYSx77mQqPxZNokjGHCdLfxg==", + "peer": true, + "dependencies": { + "utils-copy": "^1.0.0", + "validate.io-array": "^1.0.6", + "validate.io-matrix-like": "^1.0.2", + "validate.io-ndarray-like": "^1.0.0", + "validate.io-positive-integer": "^1.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/const-max-uint32": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/const-max-uint32/-/const-max-uint32-1.0.2.tgz", + "integrity": "sha512-T8/9bffg5RThuejasJWrwqxs3Q0fsJvyl7/33IB6svroD8JC93E7X60AuuOnDE8RlP6Jlb5FxmlrVDpl9KiU2Q==", + "peer": true + }, + "node_modules/const-pinf-float64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/const-pinf-float64/-/const-pinf-float64-1.0.0.tgz", + "integrity": "sha512-wfs+V4HdSN7C3CWJWR7hVa24yTPn3mDJthwhRIObZBh6UjTjkUMUrCP3UrNGozB/HjTpcScnGXtQUNa+yjsIJQ==", + "peer": true + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "peer": true + }, + "node_modules/country-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/country-regex/-/country-regex-1.1.0.tgz", + "integrity": "sha512-iSPlClZP8vX7MC3/u6s3lrDuoQyhQukh5LyABJ3hvfzbQ3Yyayd4fp04zjLnfi267B/B2FkumcWWgrbban7sSA==", + "peer": true + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/css-font": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-font/-/css-font-1.2.0.tgz", + "integrity": "sha512-V4U4Wps4dPDACJ4WpgofJ2RT5Yqwe1lEH6wlOOaIxMi0gTjdIijsc5FmxQlZ7ZZyKQkkutqqvULOp07l9c7ssA==", + "peer": true, + "dependencies": { + "css-font-size-keywords": "^1.0.0", + "css-font-stretch-keywords": "^1.0.1", + "css-font-style-keywords": "^1.0.1", + "css-font-weight-keywords": "^1.0.0", + "css-global-keywords": "^1.0.1", + "css-system-font-keywords": "^1.0.0", + "pick-by-alias": "^1.2.0", + "string-split-by": "^1.0.0", + "unquote": "^1.1.0" + } + }, + "node_modules/css-font-size-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz", + "integrity": "sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==", + "peer": true + }, + "node_modules/css-font-stretch-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz", + "integrity": "sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==", + "peer": true + }, + "node_modules/css-font-style-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz", + "integrity": "sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==", + "peer": true + }, + "node_modules/css-font-weight-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz", + "integrity": "sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==", + "peer": true + }, + "node_modules/css-global-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-global-keywords/-/css-global-keywords-1.0.1.tgz", + "integrity": "sha512-X1xgQhkZ9n94WDwntqst5D/FKkmiU0GlJSFZSV3kLvyJ1WC5VeyoXDOuleUD+SIuH9C7W05is++0Woh0CGfKjQ==", + "peer": true + }, + "node_modules/css-system-font-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz", + "integrity": "sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==", + "peer": true + }, + "node_modules/csscolorparser": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", + "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==", + "peer": true + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssfilter": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", + "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==" + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "devOptional": true + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "peer": true, + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==", + "peer": true + }, + "node_modules/d3-collection": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", + "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==", + "peer": true + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", + "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==", + "peer": true + }, + "node_modules/d3-force": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz", + "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==", + "peer": true, + "dependencies": { + "d3-collection": "1", + "d3-dispatch": "1", + "d3-quadtree": "1", + "d3-timer": "1" + } + }, + "node_modules/d3-format": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz", + "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==", + "peer": true + }, + "node_modules/d3-geo": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz", + "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==", + "peer": true, + "dependencies": { + "d3-array": "1" + } + }, + "node_modules/d3-geo-projection": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/d3-geo-projection/-/d3-geo-projection-2.9.0.tgz", + "integrity": "sha512-ZULvK/zBn87of5rWAfFMc9mJOipeSo57O+BBitsKIXmU4rTVAnX1kSsJkE0R+TxY8pGNoM1nbyRRE7GYHhdOEQ==", + "peer": true, + "dependencies": { + "commander": "2", + "d3-array": "1", + "d3-geo": "^1.12.0", + "resolve": "^1.1.10" + }, + "bin": { + "geo2svg": "bin/geo2svg", + "geograticule": "bin/geograticule", + "geoproject": "bin/geoproject", + "geoquantize": "bin/geoquantize", + "geostitch": "bin/geostitch" + } + }, + "node_modules/d3-hierarchy": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz", + "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==", + "peer": true + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "peer": true, + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "peer": true + }, + "node_modules/d3-quadtree": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz", + "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==", + "peer": true + }, + "node_modules/d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "peer": true, + "dependencies": { + "d3-path": "1" + } + }, + "node_modules/d3-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", + "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==", + "peer": true + }, + "node_modules/d3-time-format": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz", + "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==", + "peer": true, + "dependencies": { + "d3-time": "1" + } + }, + "node_modules/d3-timer": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", + "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==", + "peer": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "peer": true + }, + "node_modules/defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/detect-kerning": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-kerning/-/detect-kerning-2.1.2.tgz", + "integrity": "sha512-I3JIbrnKPAntNLl1I6TpSQQdQ4AutYzv/sKMFKbepawV/hlH0GmYKhUoOEMd4xqaUHT+Bm0f4127lh5qs1m1tw==", + "peer": true + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/dom-to-image": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/dom-to-image/-/dom-to-image-2.6.0.tgz", + "integrity": "sha512-Dt0QdaHmLpjURjU7Tnu3AgYSF2LuOmksSGsUcE6ItvJoCWTBEmiMXcqBdNSAm9+QbbwD7JMoVsuuKX6ZVQv1qA==" + }, + "node_modules/draw-svg-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/draw-svg-path/-/draw-svg-path-1.0.0.tgz", + "integrity": "sha512-P8j3IHxcgRMcY6sDzr0QvJDLzBnJJqpTG33UZ2Pvp8rw0apCHhJCWqYprqrXjrgHnJ6tuhP1iTJSAodPDHxwkg==", + "peer": true, + "dependencies": { + "abs-svg-path": "~0.1.1", + "normalize-svg-path": "~0.1.0" + } + }, + "node_modules/dtype": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dtype/-/dtype-2.0.0.tgz", + "integrity": "sha512-s2YVcLKdFGS0hpFqJaTwscsyt0E8nNFdmo73Ocd81xNPj4URI4rj6D60A+vFMIw7BXWlb4yRkEwfBqcZzPGiZg==", + "peer": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/dup": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz", + "integrity": "sha512-Bz5jxMMC0wgp23Zm15ip1x8IhYRqJvF3nFC0UInJUDkN1z4uNPk9jTnfCUJXbOGiQ1JbXLQsiV41Fb+HXcj5BA==", + "peer": true + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "peer": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/earcut": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", + "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==", + "peer": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.377", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.377.tgz", + "integrity": "sha512-H3BYG6DW5Z+l0xcfXaicJGxrpA4kMlCxnN71+iNX+dBLkRMOdVJqFJiAmbNZZKA1zISpRg17JR03qGifXNsJtw==", + "dev": true + }, + "node_modules/element-size": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/element-size/-/element-size-1.1.1.tgz", + "integrity": "sha512-eaN+GMOq/Q+BIWy0ybsgpcYImjGIdNLyjLFJU4XsLHXYQao5jCNb36GyN6C2qwmDDYSfIBmKpPpr4VnBdLCsPQ==", + "peer": true + }, + "node_modules/elementary-circuits-directed-graph": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/elementary-circuits-directed-graph/-/elementary-circuits-directed-graph-1.3.1.tgz", + "integrity": "sha512-ZEiB5qkn2adYmpXGnJKkxT8uJHlW/mxmBpmeqawEHzPxh9HkLD4/1mFYX5l0On+f6rcPIt8/EWlRU2Vo3fX6dQ==", + "peer": true, + "dependencies": { + "strongly-connected-components": "^1.0.1" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "peer": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "hasInstallScript": true, + "peer": true, + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "peer": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "peer": true, + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "peer": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/esbuild": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz", + "integrity": "sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.18", + "@esbuild/android-arm64": "0.17.18", + "@esbuild/android-x64": "0.17.18", + "@esbuild/darwin-arm64": "0.17.18", + "@esbuild/darwin-x64": "0.17.18", + "@esbuild/freebsd-arm64": "0.17.18", + "@esbuild/freebsd-x64": "0.17.18", + "@esbuild/linux-arm": "0.17.18", + "@esbuild/linux-arm64": "0.17.18", + "@esbuild/linux-ia32": "0.17.18", + "@esbuild/linux-loong64": "0.17.18", + "@esbuild/linux-mips64el": "0.17.18", + "@esbuild/linux-ppc64": "0.17.18", + "@esbuild/linux-riscv64": "0.17.18", + "@esbuild/linux-s390x": "0.17.18", + "@esbuild/linux-x64": "0.17.18", + "@esbuild/netbsd-x64": "0.17.18", + "@esbuild/openbsd-x64": "0.17.18", + "@esbuild/sunos-x64": "0.17.18", + "@esbuild/win32-arm64": "0.17.18", + "@esbuild/win32-ia32": "0.17.18", + "@esbuild/win32-x64": "0.17.18" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "peer": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "peer": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "peer": true, + "dependencies": { + "type": "^2.7.2" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", + "peer": true + }, + "node_modules/falafel": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.5.tgz", + "integrity": "sha512-HuC1qF9iTnHDnML9YZAdCDQwT0yKl/U55K4XSUXqGAA2GLoafFgWRqdAbhWJxXaYD4pyoVxAJ8wH670jMpI9DQ==", + "peer": true, + "dependencies": { + "acorn": "^7.1.1", + "isarray": "^2.0.1" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-isnumeric": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-isnumeric/-/fast-isnumeric-1.1.4.tgz", + "integrity": "sha512-1mM8qOr2LYz8zGaUdmiqRDiuue00Dxjgcb1NQR7TnhLVh6sQyngP9xvLo7Sl7LZpP/sk5eb+bcyWXw530NTBZw==", + "peer": true, + "dependencies": { + "is-string-blank": "^1.0.1" + } + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "peer": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fflate": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz", + "integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==", + "dev": true + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flatten-vertex-data": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flatten-vertex-data/-/flatten-vertex-data-1.0.2.tgz", + "integrity": "sha512-BvCBFK2NZqerFTdMDgqfHBwxYWnxeCkwONsw6PvBMcUXqo8U/KDWwmXhqx1x2kLIg7DqIsJfOaJFOmlua3Lxuw==", + "peer": true, + "dependencies": { + "dtype": "^2.0.0" + } + }, + "node_modules/flip-pixels": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flip-pixels/-/flip-pixels-1.0.2.tgz", + "integrity": "sha512-oXbJGbjDnfJRWPC7Va38EFhd+A8JWE5/hCiKcK8qjCdbLj9DTpsq6MEudwpRTH+V4qq+Jw7d3pUgQdSr3x3mTA==", + "peer": true + }, + "node_modules/font-atlas": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/font-atlas/-/font-atlas-2.1.0.tgz", + "integrity": "sha512-kP3AmvX+HJpW4w3d+PiPR2X6E1yvsBXt2yhuCw+yReO9F1WYhvZwx3c95DGZGwg9xYzDGrgJYa885xmVA+28Cg==", + "peer": true, + "dependencies": { + "css-font": "^1.0.0" + } + }, + "node_modules/font-measure": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/font-measure/-/font-measure-1.2.2.tgz", + "integrity": "sha512-mRLEpdrWzKe9hbfaF3Qpr06TAjquuBVP5cHy4b3hyeNdjc9i0PO6HniGsX5vjL5OWv7+Bd++NiooNpT/s8BvIA==", + "peer": true, + "dependencies": { + "css-font": "^1.2.0" + } + }, + "node_modules/frac": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "peer": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/geojson-vt": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz", + "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==", + "peer": true + }, + "node_modules/get-canvas-context": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-canvas-context/-/get-canvas-context-1.0.2.tgz", + "integrity": "sha512-LnpfLf/TNzr9zVOGiIY6aKCz8EKuXmlYNV7CM2pUjBa/B+c2I15tS7KLySep75+FuerJdmArvJLcsAXWEy2H0A==", + "peer": true + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gl-mat4": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gl-mat4/-/gl-mat4-1.2.0.tgz", + "integrity": "sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==", + "peer": true + }, + "node_modules/gl-matrix": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", + "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==", + "peer": true + }, + "node_modules/gl-text": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/gl-text/-/gl-text-1.3.1.tgz", + "integrity": "sha512-/f5gcEMiZd+UTBJLTl3D+CkCB/0UFGTx3nflH8ZmyWcLkZhsZ1+Xx5YYkw2rgWAzgPeE35xCqBuHSoMKQVsR+w==", + "peer": true, + "dependencies": { + "bit-twiddle": "^1.0.2", + "color-normalize": "^1.5.0", + "css-font": "^1.2.0", + "detect-kerning": "^2.1.2", + "es6-weak-map": "^2.0.3", + "flatten-vertex-data": "^1.0.2", + "font-atlas": "^2.1.0", + "font-measure": "^1.2.2", + "gl-util": "^3.1.2", + "is-plain-obj": "^1.1.0", + "object-assign": "^4.1.1", + "parse-rect": "^1.2.0", + "parse-unit": "^1.0.1", + "pick-by-alias": "^1.2.0", + "regl": "^2.0.0", + "to-px": "^1.0.1", + "typedarray-pool": "^1.1.0" + } + }, + "node_modules/gl-util": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/gl-util/-/gl-util-3.1.3.tgz", + "integrity": "sha512-dvRTggw5MSkJnCbh74jZzSoTOGnVYK+Bt+Ckqm39CVcl6+zSsxqWk4lr5NKhkqXHL6qvZAU9h17ZF8mIskY9mA==", + "peer": true, + "dependencies": { + "is-browser": "^2.0.1", + "is-firefox": "^1.0.3", + "is-plain-obj": "^1.1.0", + "number-is-integer": "^1.0.1", + "object-assign": "^4.1.0", + "pick-by-alias": "^1.2.0", + "weak-map": "^1.0.5" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/glsl-inject-defines": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/glsl-inject-defines/-/glsl-inject-defines-1.0.3.tgz", + "integrity": "sha512-W49jIhuDtF6w+7wCMcClk27a2hq8znvHtlGnrYkSWEr8tHe9eA2dcnohlcAmxLYBSpSSdzOkRdyPTrx9fw49+A==", + "peer": true, + "dependencies": { + "glsl-token-inject-block": "^1.0.0", + "glsl-token-string": "^1.0.1", + "glsl-tokenizer": "^2.0.2" + } + }, + "node_modules/glsl-resolve": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/glsl-resolve/-/glsl-resolve-0.0.1.tgz", + "integrity": "sha512-xxFNsfnhZTK9NBhzJjSBGX6IOqYpvBHxxmo+4vapiljyGNCY0Bekzn0firQkQrazK59c1hYxMDxYS8MDlhw4gA==", + "peer": true, + "dependencies": { + "resolve": "^0.6.1", + "xtend": "^2.1.2" + } + }, + "node_modules/glsl-resolve/node_modules/resolve": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", + "integrity": "sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg==", + "peer": true + }, + "node_modules/glsl-resolve/node_modules/xtend": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.2.0.tgz", + "integrity": "sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw==", + "peer": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/glsl-token-assignments": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/glsl-token-assignments/-/glsl-token-assignments-2.0.2.tgz", + "integrity": "sha512-OwXrxixCyHzzA0U2g4btSNAyB2Dx8XrztY5aVUCjRSh4/D0WoJn8Qdps7Xub3sz6zE73W3szLrmWtQ7QMpeHEQ==", + "peer": true + }, + "node_modules/glsl-token-defines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/glsl-token-defines/-/glsl-token-defines-1.0.0.tgz", + "integrity": "sha512-Vb5QMVeLjmOwvvOJuPNg3vnRlffscq2/qvIuTpMzuO/7s5kT+63iL6Dfo2FYLWbzuiycWpbC0/KV0biqFwHxaQ==", + "peer": true, + "dependencies": { + "glsl-tokenizer": "^2.0.0" + } + }, + "node_modules/glsl-token-depth": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/glsl-token-depth/-/glsl-token-depth-1.1.2.tgz", + "integrity": "sha512-eQnIBLc7vFf8axF9aoi/xW37LSWd2hCQr/3sZui8aBJnksq9C7zMeUYHVJWMhFzXrBU7fgIqni4EhXVW4/krpg==", + "peer": true + }, + "node_modules/glsl-token-descope": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glsl-token-descope/-/glsl-token-descope-1.0.2.tgz", + "integrity": "sha512-kS2PTWkvi/YOeicVjXGgX5j7+8N7e56srNDEHDTVZ1dcESmbmpmgrnpjPcjxJjMxh56mSXYoFdZqb90gXkGjQw==", + "peer": true, + "dependencies": { + "glsl-token-assignments": "^2.0.0", + "glsl-token-depth": "^1.1.0", + "glsl-token-properties": "^1.0.0", + "glsl-token-scope": "^1.1.0" + } + }, + "node_modules/glsl-token-inject-block": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/glsl-token-inject-block/-/glsl-token-inject-block-1.1.0.tgz", + "integrity": "sha512-q/m+ukdUBuHCOtLhSr0uFb/qYQr4/oKrPSdIK2C4TD+qLaJvqM9wfXIF/OOBjuSA3pUoYHurVRNao6LTVVUPWA==", + "peer": true + }, + "node_modules/glsl-token-properties": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/glsl-token-properties/-/glsl-token-properties-1.0.1.tgz", + "integrity": "sha512-dSeW1cOIzbuUoYH0y+nxzwK9S9O3wsjttkq5ij9ZGw0OS41BirKJzzH48VLm8qLg+au6b0sINxGC0IrGwtQUcA==", + "peer": true + }, + "node_modules/glsl-token-scope": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/glsl-token-scope/-/glsl-token-scope-1.1.2.tgz", + "integrity": "sha512-YKyOMk1B/tz9BwYUdfDoHvMIYTGtVv2vbDSLh94PT4+f87z21FVdou1KNKgF+nECBTo0fJ20dpm0B1vZB1Q03A==", + "peer": true + }, + "node_modules/glsl-token-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/glsl-token-string/-/glsl-token-string-1.0.1.tgz", + "integrity": "sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg==", + "peer": true + }, + "node_modules/glsl-token-whitespace-trim": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/glsl-token-whitespace-trim/-/glsl-token-whitespace-trim-1.0.0.tgz", + "integrity": "sha512-ZJtsPut/aDaUdLUNtmBYhaCmhIjpKNg7IgZSfX5wFReMc2vnj8zok+gB/3Quqs0TsBSX/fGnqUUYZDqyuc2xLQ==", + "peer": true + }, + "node_modules/glsl-tokenizer": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz", + "integrity": "sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==", + "peer": true, + "dependencies": { + "through2": "^0.6.3" + } + }, + "node_modules/glsl-tokenizer/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "peer": true + }, + "node_modules/glsl-tokenizer/node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/glsl-tokenizer/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "peer": true + }, + "node_modules/glsl-tokenizer/node_modules/through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==", + "peer": true, + "dependencies": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + }, + "node_modules/glslify": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", + "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", + "peer": true, + "dependencies": { + "bl": "^2.2.1", + "concat-stream": "^1.5.2", + "duplexify": "^3.4.5", + "falafel": "^2.1.0", + "from2": "^2.3.0", + "glsl-resolve": "0.0.1", + "glsl-token-whitespace-trim": "^1.0.0", + "glslify-bundle": "^5.0.0", + "glslify-deps": "^1.2.5", + "minimist": "^1.2.5", + "resolve": "^1.1.5", + "stack-trace": "0.0.9", + "static-eval": "^2.0.5", + "through2": "^2.0.1", + "xtend": "^4.0.0" + }, + "bin": { + "glslify": "bin.js" + } + }, + "node_modules/glslify-bundle": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glslify-bundle/-/glslify-bundle-5.1.1.tgz", + "integrity": "sha512-plaAOQPv62M1r3OsWf2UbjN0hUYAB7Aph5bfH58VxJZJhloRNbxOL9tl/7H71K7OLJoSJ2ZqWOKk3ttQ6wy24A==", + "peer": true, + "dependencies": { + "glsl-inject-defines": "^1.0.1", + "glsl-token-defines": "^1.0.0", + "glsl-token-depth": "^1.1.1", + "glsl-token-descope": "^1.0.2", + "glsl-token-scope": "^1.1.1", + "glsl-token-string": "^1.0.1", + "glsl-token-whitespace-trim": "^1.0.0", + "glsl-tokenizer": "^2.0.2", + "murmurhash-js": "^1.0.0", + "shallow-copy": "0.0.1" + } + }, + "node_modules/glslify-deps": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/glslify-deps/-/glslify-deps-1.3.2.tgz", + "integrity": "sha512-7S7IkHWygJRjcawveXQjRXLO2FTjijPDYC7QfZyAQanY+yGLCFHYnPtsGT9bdyHiwPTw/5a1m1M9hamT2aBpag==", + "peer": true, + "dependencies": { + "@choojs/findup": "^0.2.0", + "events": "^3.2.0", + "glsl-resolve": "0.0.1", + "glsl-tokenizer": "^2.0.0", + "graceful-fs": "^4.1.2", + "inherits": "^2.0.1", + "map-limit": "0.0.1", + "resolve": "^1.0.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "peer": true + }, + "node_modules/grid-index": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grid-index/-/grid-index-1.1.0.tgz", + "integrity": "sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==", + "peer": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-hover": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-hover/-/has-hover-1.0.1.tgz", + "integrity": "sha512-0G6w7LnlcpyDzpeGUTuT0CEw05+QlMuGVk1IHNAlHrGJITGodjZu3x8BNDUMfKJSZXNB2ZAclqc1bvrd+uUpfg==", + "peer": true, + "dependencies": { + "is-browser": "^2.0.1" + } + }, + "node_modules/has-passive-events": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-passive-events/-/has-passive-events-1.0.0.tgz", + "integrity": "sha512-2vSj6IeIsgvsRMyeQ0JaCX5Q3lX4zMn5HpoVc7MEhQ6pv8Iq9rsXjsp+E5ZwaT7T0xhMT0KmU8gtt1EFVdbJiw==", + "peer": true, + "dependencies": { + "is-browser": "^2.0.1" + } + }, + "node_modules/hsluv": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/hsluv/-/hsluv-0.0.3.tgz", + "integrity": "sha512-08iL2VyCRbkQKBySkSh6m8zMUa3sADAxGVWs3Z1aPcUkTJeK0ETG4Fc27tEmQBGUAXZjIsXOZqBvacuVNSC/fQ==", + "peer": true + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "peer": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true + }, + "node_modules/image-palette": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/image-palette/-/image-palette-2.1.0.tgz", + "integrity": "sha512-3ImSEWD26+xuQFdP0RWR4WSXadZwvgrFhjGNpMEapTG1tf2XrBFS2dlKK5hNgH4UIaSQlSUFRn1NeA+zULIWbQ==", + "peer": true, + "dependencies": { + "color-id": "^1.1.0", + "pxls": "^2.0.0", + "quantize": "^1.0.2" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/is-base64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-base64/-/is-base64-0.1.0.tgz", + "integrity": "sha512-WRRyllsGXJM7ZN7gPTCCQ/6wNPTRDwiWdPK66l5sJzcU/oOzcIcRRf0Rux8bkpox/1yjt0F6VJRsQOIG2qz5sg==", + "peer": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-blob": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-blob/-/is-blob-2.1.0.tgz", + "integrity": "sha512-SZ/fTft5eUhQM6oF/ZaASFDEdbFVe89Imltn9uZr03wdKMcWNVYSMjQPFtg05QuNkt5l5c135ElvXEQG0rk4tw==", + "peer": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-browser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-browser/-/is-browser-2.1.0.tgz", + "integrity": "sha512-F5rTJxDQ2sW81fcfOR1GnCXT6sVJC104fCyfj+mjpwNEwaPYSn5fte5jiHmBg3DHsIoL/l8Kvw5VN5SsTRcRFQ==", + "peer": true + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-core-module": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "peer": true, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-firefox": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-firefox/-/is-firefox-1.0.3.tgz", + "integrity": "sha512-6Q9ITjvWIm0Xdqv+5U12wgOKEM2KoBw4Y926m0OFkvlCxnbG94HKAsVz8w3fWcfAS5YA2fJORXX1dLrkprCCxA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-float-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-float-array/-/is-float-array-1.0.0.tgz", + "integrity": "sha512-4ew1Sx6B6kEAl3T3NOM0yB94J3NZnBdNt4paw0e8nY73yHHTeTEhyQ3Lj7EQEnv5LD+GxNTaT4L46jcKjjpLiQ==", + "peer": true + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-iexplorer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-iexplorer/-/is-iexplorer-1.0.0.tgz", + "integrity": "sha512-YeLzceuwg3K6O0MLM3UyUUjKAlyULetwryFp1mHy1I5PfArK0AEqlfa+MR4gkJjcbuJXoDJCvXbyqZVf5CR2Sg==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-mobile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-mobile/-/is-mobile-4.0.0.tgz", + "integrity": "sha512-mlcHZA84t1qLSuWkt2v0I2l61PYdyQDt4aG1mLIXF5FDMm4+haBCxCPYSr/uwqQNRk1MiTizn0ypEuRAOLRAew==", + "peer": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string-blank": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-string-blank/-/is-string-blank-1.0.1.tgz", + "integrity": "sha512-9H+ZBCVs3L9OYqv8nuUAzpcT9OTgMD1yAWrG7ihlnibdkbtB850heAmYWxHuXc4CHy4lKeK69tN+ny1K7gBIrw==", + "peer": true + }, + "node_modules/is-svg-path": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-svg-path/-/is-svg-path-1.0.2.tgz", + "integrity": "sha512-Lj4vePmqpPR1ZnRctHv8ltSh1OrSxHkhUkd7wi+VQdcdP15/KvQFyk7LhNuM7ZW0EVbJz8kZLVmL9quLrfq4Kg==", + "peer": true + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "peer": true + }, + "node_modules/jiti": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", + "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kdbush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz", + "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==", + "peer": true + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "peer": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "peer": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/map-limit": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", + "integrity": "sha512-pJpcfLPnIF/Sk3taPW21G/RQsEEirGaFpCW3oXRwH9dnFHPHNGjNyvh++rdmC2fNqEaTw2MhYJraoJWAHx8kEg==", + "peer": true, + "dependencies": { + "once": "~1.3.0" + } + }, + "node_modules/map-limit/node_modules/once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==", + "peer": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/mapbox-gl": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-1.10.1.tgz", + "integrity": "sha512-0aHt+lFUpYfvh0kMIqXqNXqoYMuhuAsMlw87TbhWrw78Tx2zfuPI0Lx31/YPUgJ+Ire0tzQ4JnuBL7acDNXmMg==", + "peer": true, + "dependencies": { + "@mapbox/geojson-rewind": "^0.5.0", + "@mapbox/geojson-types": "^1.0.2", + "@mapbox/jsonlint-lines-primitives": "^2.0.2", + "@mapbox/mapbox-gl-supported": "^1.5.0", + "@mapbox/point-geometry": "^0.1.0", + "@mapbox/tiny-sdf": "^1.1.1", + "@mapbox/unitbezier": "^0.0.0", + "@mapbox/vector-tile": "^1.3.1", + "@mapbox/whoots-js": "^3.1.0", + "csscolorparser": "~1.0.3", + "earcut": "^2.2.2", + "geojson-vt": "^3.2.1", + "gl-matrix": "^3.2.1", + "grid-index": "^1.1.0", + "minimist": "^1.2.5", + "murmurhash-js": "^1.0.0", + "pbf": "^3.2.1", + "potpack": "^1.0.1", + "quickselect": "^2.0.0", + "rw": "^1.3.3", + "supercluster": "^7.0.0", + "tinyqueue": "^2.0.3", + "vt-pbf": "^3.1.1" + }, + "engines": { + "node": ">=6.4.0" + } + }, + "node_modules/math-log2": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-log2/-/math-log2-1.0.1.tgz", + "integrity": "sha512-9W0yGtkaMAkf74XGYVy4Dqw3YUMnTNB2eeiw9aQbUl4A3KmuCEHTt2DgAB07ENzOYAjsYSAYufkAq0Zd+jU7zA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mouse-change": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/mouse-change/-/mouse-change-1.4.0.tgz", + "integrity": "sha512-vpN0s+zLL2ykyyUDh+fayu9Xkor5v/zRD9jhSqjRS1cJTGS0+oakVZzNm5n19JvvEj0you+MXlYTpNxUDQUjkQ==", + "peer": true, + "dependencies": { + "mouse-event": "^1.0.0" + } + }, + "node_modules/mouse-event": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/mouse-event/-/mouse-event-1.0.5.tgz", + "integrity": "sha512-ItUxtL2IkeSKSp9cyaX2JLUuKk2uMoxBg4bbOWVd29+CskYJR9BGsUqtXenNzKbnDshvupjUewDIYVrOB6NmGw==", + "peer": true + }, + "node_modules/mouse-event-offset": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mouse-event-offset/-/mouse-event-offset-3.0.2.tgz", + "integrity": "sha512-s9sqOs5B1Ykox3Xo8b3Ss2IQju4UwlW6LSR+Q5FXWpprJ5fzMLefIIItr3PH8RwzfGy6gxs/4GAmiNuZScE25w==", + "peer": true + }, + "node_modules/mouse-wheel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mouse-wheel/-/mouse-wheel-1.2.0.tgz", + "integrity": "sha512-+OfYBiUOCTWcTECES49neZwL5AoGkXE+lFjIvzwNCnYRlso+EnfvovcBxGoyQ0yQt806eSPjS675K0EwWknXmw==", + "peer": true, + "dependencies": { + "right-now": "^1.0.0", + "signum": "^1.0.0", + "to-px": "^1.0.1" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/mumath": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/mumath/-/mumath-3.3.4.tgz", + "integrity": "sha512-VAFIOG6rsxoc7q/IaY3jdjmrsuX9f15KlRLYTHmixASBZkZEKC1IFqE2BC5CdhXmK6WLM1Re33z//AGmeRI6FA==", + "deprecated": "Redundant dependency in your project.", + "peer": true, + "dependencies": { + "almost-equal": "^1.1.0" + } + }, + "node_modules/murmurhash-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", + "integrity": "sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==", + "peer": true + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/native-promise-only": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", + "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==", + "peer": true + }, + "node_modules/needle": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", + "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", + "peer": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "peer": true + }, + "node_modules/node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-svg-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-0.1.0.tgz", + "integrity": "sha512-1/kmYej2iedi5+ROxkRESL/pI02pkg0OBnaR4hJkSIX6+ORzepwbuUXfrdZaPjysTsJInj0Rj5NuX027+dMBvA==", + "peer": true + }, + "node_modules/number-is-integer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-integer/-/number-is-integer-1.0.1.tgz", + "integrity": "sha512-Dq3iuiFBkrbmuQjGFFF3zckXNCQoSD37/SdSbgcBailUx6knDvDwb5CympBgcoWHy36sfS12u74MHYkXyHq6bg==", + "peer": true, + "dependencies": { + "is-finite": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "peer": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "peer": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/parenthesis": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.8.tgz", + "integrity": "sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==", + "peer": true + }, + "node_modules/parse-rect": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parse-rect/-/parse-rect-1.2.0.tgz", + "integrity": "sha512-4QZ6KYbnE6RTwg9E0HpLchUM9EZt6DnDxajFZZDSV4p/12ZJEvPO702DZpGvRYEPo00yKDys7jASi+/w7aO8LA==", + "peer": true, + "dependencies": { + "pick-by-alias": "^1.2.0" + } + }, + "node_modules/parse-svg-path": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz", + "integrity": "sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==", + "peer": true + }, + "node_modules/parse-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-unit/-/parse-unit-1.0.1.tgz", + "integrity": "sha512-hrqldJHokR3Qj88EIlV/kAyAi/G5R2+R56TBANxNMy0uPlYcttx0jnMW6Yx5KsKPSbC3KddM/7qQm3+0wEXKxg==", + "peer": true + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/pbf": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz", + "integrity": "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==", + "peer": true, + "dependencies": { + "ieee754": "^1.1.12", + "resolve-protobuf-schema": "^2.1.0" + }, + "bin": { + "pbf": "bin/pbf" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "peer": true + }, + "node_modules/pick-by-alias": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pick-by-alias/-/pick-by-alias-1.2.0.tgz", + "integrity": "sha512-ESj2+eBxhGrcA1azgHs7lARG5+5iLakc/6nlfbpjcLl00HuuUOIuORhYXN4D1HfvMSKuVtFQjAlnwi1JHEeDIw==", + "peer": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/plotly.js": { + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.22.0.tgz", + "integrity": "sha512-g+YTMnChFDx/fNUV2rqkrf87wKwKuOhqv9LIxhmPyF94RGM4v4blP0mmgwQ278qv3kXmfTMJecIUusr1gzscng==", + "peer": true, + "dependencies": { + "@plotly/d3": "3.8.1", + "@plotly/d3-sankey": "0.7.2", + "@plotly/d3-sankey-circular": "0.33.1", + "@turf/area": "^6.4.0", + "@turf/bbox": "^6.4.0", + "@turf/centroid": "^6.0.2", + "canvas-fit": "^1.5.0", + "color-alpha": "1.0.4", + "color-normalize": "1.5.0", + "color-parse": "1.3.8", + "color-rgba": "2.1.1", + "country-regex": "^1.1.0", + "d3-force": "^1.2.1", + "d3-format": "^1.4.5", + "d3-geo": "^1.12.1", + "d3-geo-projection": "^2.9.0", + "d3-hierarchy": "^1.1.9", + "d3-interpolate": "^3.0.1", + "d3-time": "^1.1.0", + "d3-time-format": "^2.2.3", + "fast-isnumeric": "^1.1.4", + "gl-mat4": "^1.2.0", + "gl-text": "^1.3.1", + "glslify": "^7.1.1", + "has-hover": "^1.0.1", + "has-passive-events": "^1.0.0", + "is-mobile": "^4.0.0", + "mapbox-gl": "1.10.1", + "mouse-change": "^1.4.0", + "mouse-event-offset": "^3.0.2", + "mouse-wheel": "^1.2.0", + "native-promise-only": "^0.8.1", + "parse-svg-path": "^0.1.2", + "point-in-polygon": "^1.1.0", + "polybooljs": "^1.2.0", + "probe-image-size": "^7.2.3", + "regl": "npm:@plotly/regl@^2.1.2", + "regl-error2d": "^2.0.12", + "regl-line2d": "^3.1.2", + "regl-scatter2d": "^3.2.8", + "regl-splom": "^1.0.14", + "strongly-connected-components": "^1.0.1", + "superscript-text": "^1.0.0", + "svg-path-sdf": "^1.1.3", + "tinycolor2": "^1.4.2", + "to-px": "1.0.1", + "topojson-client": "^3.1.0", + "webgl-context": "^2.2.0", + "world-calendars": "^1.0.3" + } + }, + "node_modules/plotly.js-dist-min": { + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/plotly.js-dist-min/-/plotly.js-dist-min-2.22.0.tgz", + "integrity": "sha512-2b7w4CQI06px8HVpKpgZtfuoDjuCLA26VlgdnG71UDBrJvtCYvXb39H4ElNv+CA1bbD4S98KanpWPRqTqlxBZw==" + }, + "node_modules/point-in-polygon": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/point-in-polygon/-/point-in-polygon-1.1.0.tgz", + "integrity": "sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==", + "peer": true + }, + "node_modules/polybooljs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/polybooljs/-/polybooljs-1.2.0.tgz", + "integrity": "sha512-mKjR5nolISvF+q2BtC1fi/llpxBPTQ3wLWN8+ldzdw2Hocpc8C72ZqnamCM4Z6z+68GVVjkeM01WJegQmZ8MEQ==", + "peer": true + }, + "node_modules/postcss": { + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "engines": { + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz", + "integrity": "sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/posthog-js": { + "version": "1.55.0", + "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.55.0.tgz", + "integrity": "sha512-kDqHRM+/nNMnoO4QRkI8S22NjxDmmLV9m+2FqzDJ0os76Icev/xPqEUnWkjeDC8CPj1Ujnj3lwpCqNfil/eQig==", + "dev": true, + "dependencies": { + "fflate": "^0.4.1", + "rrweb-snapshot": "^1.1.14" + } + }, + "node_modules/potpack": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.2.tgz", + "integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==", + "peer": true + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "peer": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/probe-image-size": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.3.tgz", + "integrity": "sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==", + "peer": true, + "dependencies": { + "lodash.merge": "^4.6.2", + "needle": "^2.5.2", + "stream-parser": "~0.3.1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "peer": true + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/protocol-buffers-schema": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", + "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==", + "peer": true + }, + "node_modules/pxls": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/pxls/-/pxls-2.3.2.tgz", + "integrity": "sha512-pQkwgbLqWPcuES5iEmGa10OlCf5xG0blkIF3dg7PpRZShbTYcvAdfFfGL03SMrkaSUaa/V0UpN9HWg40O2AIIw==", + "peer": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "compute-dims": "^1.1.0", + "flip-pixels": "^1.0.2", + "is-browser": "^2.1.0", + "is-buffer": "^2.0.3", + "to-uint8": "^1.4.1" + } + }, + "node_modules/quantize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/quantize/-/quantize-1.0.2.tgz", + "integrity": "sha512-25P7wI2UoDbIQsQp50ARkt+5pwPsOq7G/BqvT5xAbapnRoNWMN8/p55H9TXd5MuENiJnm5XICB2H2aDZGwts7w==", + "peer": true, + "engines": { + "node": ">=0.10.21" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quickselect": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", + "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==", + "peer": true + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "peer": true, + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + }, + "peerDependencies": { + "react": "17.0.2" + } + }, + "node_modules/react-hotkeys-hook": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/react-hotkeys-hook/-/react-hotkeys-hook-4.4.0.tgz", + "integrity": "sha512-wOaCWLwgT/f895CMJrR9hmzVf+gfL8IpjWDXWXKngBp9i6Xqzf0tvLv4VI8l3Vlsg/cc4C/Iik3Ck76L/Hj0tw==", + "dev": true, + "peerDependencies": { + "react": ">=16.8.1", + "react-dom": ">=16.8.1" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-plotly.js": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/react-plotly.js/-/react-plotly.js-2.6.0.tgz", + "integrity": "sha512-g93xcyhAVCSt9kV1svqG1clAEdL6k3U+jjuSzfTV7owaSU9Go6Ph8bl25J+jKfKvIGAEYpe4qj++WHJuc9IaeA==", + "dependencies": { + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "plotly.js": ">1.34.0", + "react": ">0.13.0" + } + }, + "node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-remove-scroll": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", + "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", + "dependencies": { + "react-remove-scroll-bar": "^2.3.3", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz", + "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "peer": true + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "peer": true + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/regex-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regex-regex/-/regex-regex-1.0.0.tgz", + "integrity": "sha512-FPbEhFTLpxKNgHKay3zMfkHzFK2ebViAlyvsz5euO4kwekH0T6fAL4Sdo2CgQ7Y1tGB5HqQm8SBq7pW5GegvVA==", + "peer": true + }, + "node_modules/regl": { + "name": "@plotly/regl", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@plotly/regl/-/regl-2.1.2.tgz", + "integrity": "sha512-Mdk+vUACbQvjd0m/1JJjOOafmkp/EpmHjISsopEz5Av44CBq7rPC05HHNbYGKVyNUF2zmEoBS/TT0pd0SPFFyw==", + "peer": true + }, + "node_modules/regl-error2d": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/regl-error2d/-/regl-error2d-2.0.12.tgz", + "integrity": "sha512-r7BUprZoPO9AbyqM5qlJesrSRkl+hZnVKWKsVp7YhOl/3RIpi4UDGASGJY0puQ96u5fBYw/OlqV24IGcgJ0McA==", + "peer": true, + "dependencies": { + "array-bounds": "^1.0.1", + "color-normalize": "^1.5.0", + "flatten-vertex-data": "^1.0.2", + "object-assign": "^4.1.1", + "pick-by-alias": "^1.2.0", + "to-float32": "^1.1.0", + "update-diff": "^1.1.0" + } + }, + "node_modules/regl-line2d": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/regl-line2d/-/regl-line2d-3.1.2.tgz", + "integrity": "sha512-nmT7WWS/WxmXAQMkgaMKWXaVmwJ65KCrjbqHGOUjjqQi6shfT96YbBOvelXwO9hG7/hjvbzjtQ2UO0L3e7YaXQ==", + "peer": true, + "dependencies": { + "array-bounds": "^1.0.1", + "array-find-index": "^1.0.2", + "array-normalize": "^1.1.4", + "color-normalize": "^1.5.0", + "earcut": "^2.1.5", + "es6-weak-map": "^2.0.3", + "flatten-vertex-data": "^1.0.2", + "glslify": "^7.0.0", + "object-assign": "^4.1.1", + "parse-rect": "^1.2.0", + "pick-by-alias": "^1.2.0", + "to-float32": "^1.1.0" + } + }, + "node_modules/regl-scatter2d": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/regl-scatter2d/-/regl-scatter2d-3.2.8.tgz", + "integrity": "sha512-bqrqJyeHkGBa9mEfuBnRd7FUtdtZ1l+gsM2C5Ugr1U3vJG5K3mdWdVWtOAllZ5FHHyWJV/vgjVvftgFUg6CDig==", + "peer": true, + "dependencies": { + "@plotly/point-cluster": "^3.1.9", + "array-range": "^1.0.1", + "array-rearrange": "^2.2.2", + "clamp": "^1.0.1", + "color-id": "^1.1.0", + "color-normalize": "^1.5.0", + "color-rgba": "^2.1.1", + "flatten-vertex-data": "^1.0.2", + "glslify": "^7.0.0", + "image-palette": "^2.1.0", + "is-iexplorer": "^1.0.0", + "object-assign": "^4.1.1", + "parse-rect": "^1.2.0", + "pick-by-alias": "^1.2.0", + "to-float32": "^1.1.0", + "update-diff": "^1.1.0" + } + }, + "node_modules/regl-splom": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/regl-splom/-/regl-splom-1.0.14.tgz", + "integrity": "sha512-OiLqjmPRYbd7kDlHC6/zDf6L8lxgDC65BhC8JirhP4ykrK4x22ZyS+BnY8EUinXKDeMgmpRwCvUmk7BK4Nweuw==", + "peer": true, + "dependencies": { + "array-bounds": "^1.0.1", + "array-range": "^1.0.1", + "color-alpha": "^1.0.4", + "flatten-vertex-data": "^1.0.2", + "parse-rect": "^1.2.0", + "pick-by-alias": "^1.2.0", + "raf": "^3.4.1", + "regl-scatter2d": "^3.2.3" + } + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-protobuf-schema": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", + "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", + "peer": true, + "dependencies": { + "protocol-buffers-schema": "^3.3.1" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/right-now": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/right-now/-/right-now-1.0.0.tgz", + "integrity": "sha512-DA8+YS+sMIVpbsuKgy+Z67L9Lxb1p05mNxRpDPNksPDEFir4vmBlUtuN9jkTGn9YMMdlBuK7XQgFiz6ws+yhSg==", + "peer": true + }, + "node_modules/rollup": { + "version": "3.21.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.2.tgz", + "integrity": "sha512-c4vC+JZ3bbF4Kqq2TtM7zSKtSyMybFOjqmomFax3xpfYaPZDZ4iz8NMIuBRMjnXOcKYozw7bC6vhJjiWD6JpzQ==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rrweb-snapshot": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/rrweb-snapshot/-/rrweb-snapshot-1.1.14.tgz", + "integrity": "sha512-eP5pirNjP5+GewQfcOQY4uBiDnpqxNRc65yKPW0eSoU1XamDfc4M8oqpXGMyUyvLyxFDB0q0+DChuxxiU2FXBQ==", + "dev": true + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "peer": true + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "peer": true + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "peer": true + }, + "node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shallow-copy": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", + "integrity": "sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw==", + "peer": true + }, + "node_modules/signum": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/signum/-/signum-1.0.0.tgz", + "integrity": "sha512-yodFGwcyt59XRh7w5W3jPcIQb3Bwi21suEfT7MAWnBX3iCdklJpgDgvGT9o04UonglZN5SNMfJFkHIR/jO8GHw==", + "peer": true + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ssf": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", + "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", + "dependencies": { + "frac": "~1.1.2" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/stack-trace": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", + "integrity": "sha512-vjUc6sfgtgY0dxCdnc40mK6Oftjo9+2K8H/NG81TMhgL392FtiPA9tn9RLyTxXmTLPJPjF3VyzFp6bsWFLisMQ==", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/static-eval": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.0.tgz", + "integrity": "sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw==", + "peer": true, + "dependencies": { + "escodegen": "^1.11.1" + } + }, + "node_modules/stream-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", + "integrity": "sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==", + "peer": true, + "dependencies": { + "debug": "2" + } + }, + "node_modules/stream-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/stream-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "peer": true + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "peer": true + }, + "node_modules/string-split-by": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string-split-by/-/string-split-by-1.0.0.tgz", + "integrity": "sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==", + "peer": true, + "dependencies": { + "parenthesis": "^3.1.5" + } + }, + "node_modules/string-to-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-to-arraybuffer/-/string-to-arraybuffer-1.0.2.tgz", + "integrity": "sha512-DaGZidzi93dwjQen5I2osxR9ERS/R7B1PFyufNMnzhj+fmlDQAc1DSDIJVJhgI8Oq221efIMbABUBdPHDRt43Q==", + "peer": true, + "dependencies": { + "atob-lite": "^2.0.0", + "is-base64": "^0.1.0" + } + }, + "node_modules/strongly-connected-components": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strongly-connected-components/-/strongly-connected-components-1.0.1.tgz", + "integrity": "sha512-i0TFx4wPcO0FwX+4RkLJi1MxmcTv90jNZgxMu9XRnMXMeFUY1VJlIoXpZunPUvUUqbCT1pg5PEkFqqpcaElNaA==", + "peer": true + }, + "node_modules/sucrase": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", + "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/supercluster": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-7.1.5.tgz", + "integrity": "sha512-EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==", + "peer": true, + "dependencies": { + "kdbush": "^3.0.0" + } + }, + "node_modules/superscript-text": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/superscript-text/-/superscript-text-1.0.0.tgz", + "integrity": "sha512-gwu8l5MtRZ6koO0icVTlmN5pm7Dhh1+Xpe9O4x6ObMAsW+3jPbW14d1DsBq1F4wiI+WOFjXF35pslgec/G8yCQ==", + "peer": true + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-arc-to-cubic-bezier": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz", + "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==", + "peer": true + }, + "node_modules/svg-path-bounds": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/svg-path-bounds/-/svg-path-bounds-1.0.2.tgz", + "integrity": "sha512-H4/uAgLWrppIC0kHsb2/dWUYSmb4GE5UqH06uqWBcg6LBjX2fu0A8+JrO2/FJPZiSsNOKZAhyFFgsLTdYUvSqQ==", + "peer": true, + "dependencies": { + "abs-svg-path": "^0.1.1", + "is-svg-path": "^1.0.1", + "normalize-svg-path": "^1.0.0", + "parse-svg-path": "^0.1.2" + } + }, + "node_modules/svg-path-bounds/node_modules/normalize-svg-path": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-1.1.0.tgz", + "integrity": "sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==", + "peer": true, + "dependencies": { + "svg-arc-to-cubic-bezier": "^3.0.0" + } + }, + "node_modules/svg-path-sdf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/svg-path-sdf/-/svg-path-sdf-1.1.3.tgz", + "integrity": "sha512-vJJjVq/R5lSr2KLfVXVAStktfcfa1pNFjFOgyJnzZFXlO/fDZ5DmM8FpnSKKzLPfEYTVeXuVBTHF296TpxuJVg==", + "peer": true, + "dependencies": { + "bitmap-sdf": "^1.0.0", + "draw-svg-path": "^1.0.0", + "is-svg-path": "^1.0.1", + "parse-svg-path": "^0.1.2", + "svg-path-bounds": "^1.0.1" + } + }, + "node_modules/tailwindcss": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz", + "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "peer": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/tinycolor2": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", + "peer": true + }, + "node_modules/tinyqueue": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz", + "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==", + "peer": true + }, + "node_modules/to-array-buffer": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/to-array-buffer/-/to-array-buffer-3.2.0.tgz", + "integrity": "sha512-zN33mwi0gpL+7xW1ITLfJ48CEj6ZQW0ZAP0MU+2W3kEY0PAIncyuxmD4OqkUVhPAbTP7amq9j/iwvZKYS+lzSQ==", + "peer": true, + "dependencies": { + "flatten-vertex-data": "^1.0.2", + "is-blob": "^2.0.1", + "string-to-arraybuffer": "^1.0.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-float32": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/to-float32/-/to-float32-1.1.0.tgz", + "integrity": "sha512-keDnAusn/vc+R3iEiSDw8TOF7gPiTLdK1ArvWtYbJQiVfmRg6i/CAvbKq3uIS0vWroAC7ZecN3DjQKw3aSklUg==", + "peer": true + }, + "node_modules/to-px": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-px/-/to-px-1.0.1.tgz", + "integrity": "sha512-2y3LjBeIZYL19e5gczp14/uRWFDtDUErJPVN3VU9a7SJO+RjGRtYR47aMN2bZgGlxvW4ZcEz2ddUPVHXcMfuXw==", + "peer": true, + "dependencies": { + "parse-unit": "^1.0.1" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/to-uint8": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/to-uint8/-/to-uint8-1.4.1.tgz", + "integrity": "sha512-o+ochsMlTZyucbww8It401FC2Rx+OP2RpDeYbA6h+y9HgedDl1UjdsJ9CmzKEG7AFP9es5PmJ4eDWeeeXihESg==", + "peer": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "clamp": "^1.0.1", + "is-base64": "^0.1.0", + "is-float-array": "^1.0.0", + "to-array-buffer": "^3.0.0" + } + }, + "node_modules/topojson-client": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", + "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", + "peer": true, + "dependencies": { + "commander": "2" + }, + "bin": { + "topo2geo": "bin/topo2geo", + "topomerge": "bin/topomerge", + "topoquantize": "bin/topoquantize" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "peer": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "peer": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz", + "integrity": "sha512-kkgkuqR/jKdKO5oh/I2SMu2dGbLXoJq0zkdgbxaqYK+hr9S9edwVVGf+tMUFTx2gH9TN2+Zu9JZ/Njonb3cjhA==", + "peer": true + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "peer": true + }, + "node_modules/typedarray-pool": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-1.2.0.tgz", + "integrity": "sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==", + "peer": true, + "dependencies": { + "bit-twiddle": "^1.0.0", + "dup": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==", + "peer": true + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-diff/-/update-diff-1.1.0.tgz", + "integrity": "sha512-rCiBPiHxZwT4+sBhEbChzpO5hYHjm91kScWgdHf4Qeafs6Ba7MBl+d9GlGv72bcTZQO0sLmtQS1pHSWoCLtN/A==", + "peer": true + }, + "node_modules/use-callback-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", + "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utils-copy": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/utils-copy/-/utils-copy-1.1.1.tgz", + "integrity": "sha512-+NhJVV+PcxjdpkMrVTqXhQHPldlFGca5XR9YnGyNn7kQ0fMi+DqNLzdnhJ4TJ1HNy/HzB7c+FPg3y+4icY99ZA==", + "peer": true, + "dependencies": { + "const-pinf-float64": "^1.0.0", + "object-keys": "^1.0.9", + "type-name": "^2.0.0", + "utils-copy-error": "^1.0.0", + "utils-indexof": "^1.0.0", + "utils-regex-from-string": "^1.0.0", + "validate.io-array": "^1.0.3", + "validate.io-buffer": "^1.0.1", + "validate.io-nonnegative-integer": "^1.0.0" + } + }, + "node_modules/utils-copy-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-copy-error/-/utils-copy-error-1.0.1.tgz", + "integrity": "sha512-RbJcGPZ6Ru2HQk9SWkvbdWNPX58pt4MO5uXsOQRu4LEGWB3LglkRrmnE/Ph1qWg6ywQ0qj95wTz1OeqQ2l8DCA==", + "peer": true, + "dependencies": { + "object-keys": "^1.0.9", + "utils-copy": "^1.1.0" + } + }, + "node_modules/utils-indexof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/utils-indexof/-/utils-indexof-1.0.0.tgz", + "integrity": "sha512-76QBfRJpn4A0P5uTO1x00x+Yog36w2Pab0n+aT9UfUvVa4l+e8k3p7YwNpDvfQ6+aKGZdxZpxcNotNS4YjFcyg==", + "peer": true, + "dependencies": { + "validate.io-array-like": "^1.0.1", + "validate.io-integer-primitive": "^1.0.0" + } + }, + "node_modules/utils-regex-from-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/utils-regex-from-string/-/utils-regex-from-string-1.0.0.tgz", + "integrity": "sha512-xKfdmEF19iUu9TKxFiohQUlQTuqYdV80/CxHiudVI37iEV/OA4HHlXZoc4qvuO1B74EcBVpErBreRO/dpdLeYA==", + "peer": true, + "dependencies": { + "regex-regex": "^1.0.0", + "validate.io-string-primitive": "^1.0.0" + } + }, + "node_modules/validate.io-array": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz", + "integrity": "sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg==", + "peer": true + }, + "node_modules/validate.io-array-like": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/validate.io-array-like/-/validate.io-array-like-1.0.2.tgz", + "integrity": "sha512-rGLiN0cvY9OWzQcWP+RtqZR/MK9RUz3gKDTCcRLtEQ/BvlanMF5PyqtVIN+CgrIBCv/ypfme9v7r4yMJPYpbNA==", + "peer": true, + "dependencies": { + "const-max-uint32": "^1.0.2", + "validate.io-integer-primitive": "^1.0.0" + } + }, + "node_modules/validate.io-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/validate.io-buffer/-/validate.io-buffer-1.0.2.tgz", + "integrity": "sha512-6Tad+/QYOxWEXsesKYak1mHOzGdPYS4QeHFImWn7ECi4GR0x3vh7+6+1yoLKNXiklKuTFOxHLG3kZy9tPX0GvQ==", + "peer": true + }, + "node_modules/validate.io-integer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/validate.io-integer/-/validate.io-integer-1.0.5.tgz", + "integrity": "sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ==", + "peer": true, + "dependencies": { + "validate.io-number": "^1.0.3" + } + }, + "node_modules/validate.io-integer-primitive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate.io-integer-primitive/-/validate.io-integer-primitive-1.0.0.tgz", + "integrity": "sha512-4ARGKA4FImVWJgrgttLYsYJmDGwxlhLfDCdq09gyVgohLKKRUfD3VAo1L2vTRCLt6hDhDtFKdZiuYUTWyBggwg==", + "peer": true, + "dependencies": { + "validate.io-number-primitive": "^1.0.0" + } + }, + "node_modules/validate.io-matrix-like": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/validate.io-matrix-like/-/validate.io-matrix-like-1.0.2.tgz", + "integrity": "sha512-86mqLUIkZCRAOVKZvpCB7sDCw1dKBjBkY+C6WO/wLo/jQx0sOqQZz3LLtDw0DCfuAKxRuhSmIpX3nzr0nWrbdw==", + "peer": true + }, + "node_modules/validate.io-ndarray-like": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate.io-ndarray-like/-/validate.io-ndarray-like-1.0.0.tgz", + "integrity": "sha512-OV85AosxraPFSXJwzv/d7Cu5/dLiyLtsHmxtHTJcHW1N0uscd0eJ2df1Zk+HdID0eUctUllW/1YuQPUJFv1pTA==", + "peer": true + }, + "node_modules/validate.io-nonnegative-integer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate.io-nonnegative-integer/-/validate.io-nonnegative-integer-1.0.0.tgz", + "integrity": "sha512-uOMekPwcl84yg8NR7zgIZCZ9pHCtd9CK1Ri51N+ZJLTe1HyLbmdFdy7ZmfkiHkMvB1pOxeQmd1/LBjKhUD1L3A==", + "peer": true, + "dependencies": { + "validate.io-integer": "^1.0.5" + } + }, + "node_modules/validate.io-number": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/validate.io-number/-/validate.io-number-1.0.3.tgz", + "integrity": "sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg==", + "peer": true + }, + "node_modules/validate.io-number-primitive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate.io-number-primitive/-/validate.io-number-primitive-1.0.0.tgz", + "integrity": "sha512-8rlCe7N0TRTd50dwk4WNoMXNbX/4+RdtqE3TO6Bk0GJvAgbQlfL5DGr/Pl9ZLbWR6CutMjE2cu+yOoCnFWk+Qw==", + "peer": true + }, + "node_modules/validate.io-positive-integer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate.io-positive-integer/-/validate.io-positive-integer-1.0.0.tgz", + "integrity": "sha512-eg4LSdyqjICNUZWRilcQ5l+YayRlu6yi+GQsWw1bCmtG9yayOPmLa1fPymEHPPhbvWPAv3w0LLbCsf03pBHZkg==", + "peer": true, + "dependencies": { + "validate.io-integer": "^1.0.5" + } + }, + "node_modules/validate.io-string-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/validate.io-string-primitive/-/validate.io-string-primitive-1.0.1.tgz", + "integrity": "sha512-TORbkLMdOFkEbPtfdx76FSVQGSAzyUEMxI+pBq5pfFm1ZzIesP+XiGc6eIK75aKu7RA7a8EcqUv5OrY5wfog5w==", + "peer": true + }, + "node_modules/vite": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.3.tgz", + "integrity": "sha512-MwFlLBO4udZXd+VBcezo3u8mC77YQk+ik+fbc0GZWGgzfbPP+8Kf0fldhARqvSYmtIWoAJ5BXPClUbMTlqFxrA==", + "dev": true, + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.23", + "rollup": "^3.21.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-singlefile": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/vite-plugin-singlefile/-/vite-plugin-singlefile-0.13.5.tgz", + "integrity": "sha512-y/aRGh8qHmw2f1IhaI/C6PJAaov47ESYDvUv1am1YHMhpY+19B5k5Odp8P+tgs+zhfvak6QB1ykrALQErEAo7g==", + "dev": true, + "dependencies": { + "micromatch": "^4.0.5" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "rollup": ">=2.79.0", + "vite": ">=3.2.0" + } + }, + "node_modules/vt-pbf": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.3.tgz", + "integrity": "sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==", + "peer": true, + "dependencies": { + "@mapbox/point-geometry": "0.1.0", + "@mapbox/vector-tile": "^1.3.1", + "pbf": "^3.2.1" + } + }, + "node_modules/weak-map": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz", + "integrity": "sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==", + "peer": true + }, + "node_modules/webgl-context": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webgl-context/-/webgl-context-2.2.0.tgz", + "integrity": "sha512-q/fGIivtqTT7PEoF07axFIlHNk/XCPaYpq64btnepopSWvKNFkoORlQYgqDigBIuGA1ExnFd/GnSUnBNEPQY7Q==", + "peer": true, + "dependencies": { + "get-canvas-context": "^1.0.1" + } + }, + "node_modules/wmf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", + "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", + "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/world-calendars": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/world-calendars/-/world-calendars-1.0.3.tgz", + "integrity": "sha512-sAjLZkBnsbHkHWVhrsCU5Sa/EVuf9QqgvrN8zyJ2L/F9FR9Oc6CvVK0674+PGAtmmmYQMH98tCUSO4QLQv3/TQ==", + "peer": true, + "dependencies": { + "object-assign": "^4.1.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/xlsx": { + "version": "0.18.5", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.18.5.tgz", + "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==", + "dependencies": { + "adler-32": "~1.3.0", + "cfb": "~1.2.1", + "codepage": "~1.15.0", + "crc-32": "~1.2.1", + "ssf": "~0.11.2", + "wmf": "~1.0.1", + "word": "~0.3.0" + }, + "bin": { + "xlsx": "bin/xlsx.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/xss": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.14.tgz", + "integrity": "sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw==", + "dependencies": { + "commander": "^2.20.3", + "cssfilter": "0.0.10" + }, + "bin": { + "xss": "bin/xss" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "peer": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", + "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", + "dev": true, + "engines": { + "node": ">= 14" + } + } + } +} diff --git a/frontend-components/plotly/package.json b/frontend-components/plotly/package.json new file mode 100644 index 00000000000..4d38e94a4a7 --- /dev/null +++ b/frontend-components/plotly/package.json @@ -0,0 +1,50 @@ +{ + "name": "plotly", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "vite", + "build": "vite build", + "build_tsc": "tsc && vite build", + "deploy": "npm run build && mv dist/index.html ../../openbb_terminal/core/plots/plotly.html", + "preview": "vite preview" + }, + "dependencies": { + "@radix-ui/react-checkbox": "^1.0.3", + "@radix-ui/react-context-menu": "^2.1.3", + "@radix-ui/react-dialog": "^1.0.3", + "@radix-ui/react-dropdown-menu": "^2.0.4", + "@radix-ui/react-icons": "^1.2.0", + "@radix-ui/react-radio-group": "^1.1.2", + "@radix-ui/react-select": "^1.2.1", + "@radix-ui/react-toast": "^1.1.3", + "dom-to-image": "^2.6.0", + "plotly.js-dist-min": "^2.21.0", + "posthog-js": "^1.55.0", + "react": "^17.0.0", + "react-dom": "^17.0.0", + "react-plotly.js": "^2.6.0", + "xlsx": "^0.18.5", + "xss": "^1.0.14" + }, + "devDependencies": { + "@types/dom-to-image": "^2.6.4", + "@types/node": "^18.16.3", + "@types/plotly.js-dist-min": "^2.3.1", + "@types/react": "^18.0.27", + "@types/react-dom": "^18.0.10", + "@types/react-plotly.js": "^2.6.0", + "@types/react-table": "^7.7.14", + "@types/wicg-file-system-access": "^2020.9.6", + "@vitejs/plugin-react": "^3.1.0", + "autoprefixer": "^10.4.13", + "clsx": "^1.2.1", + "posthog-js": "^1.55.0", + "postcss": "^8.4.21", + "react-hotkeys-hook": "^4.4.0", + "tailwindcss": "^3.2.7", + "typescript": "^4.9.3", + "vite": "^4.1.0", + "vite-plugin-singlefile": "^0.13.3" + } +} diff --git a/frontend-components/plotly/postcss.config.cjs b/frontend-components/plotly/postcss.config.cjs new file mode 100644 index 00000000000..33ad091d26d --- /dev/null +++ b/frontend-components/plotly/postcss.config.cjs @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/frontend-components/plotly/src/App.tsx b/frontend-components/plotly/src/App.tsx new file mode 100644 index 00000000000..11070f77deb --- /dev/null +++ b/frontend-components/plotly/src/App.tsx @@ -0,0 +1,175 @@ +//@ts-nocheck +import { PostHogProvider } from "posthog-js/react"; +import { useEffect, useState } from "react"; +import Chart from "./components/Chart"; +import { plotlyMockup, candlestickMockup } from "./data/mockup"; + +declare global { + interface Window { + plotly_figure: any; + export_image: string; + save_image: boolean; + title: string; + Plotly: any; + MODEBAR: HTMLElement; + } +} + +function App() { + const [data, setData] = useState( + process.env.NODE_ENV === "production" ? null : candlestickMockup + ); + const [options, setOptions] = useState({}); + + useEffect(() => { + if (process.env.NODE_ENV === "production") { + const interval = setInterval(() => { + if (window.plotly_figure) { + const data = window.plotly_figure; + console.log(data); + setData(data); + clearInterval(interval); + } + }, 100); + return () => clearInterval(interval); + } + }, []); + + const transformData = (data: any) => { + if (!data) return null; + let filename = data.layout?.title?.text + .replace(/|<\/b>/g, "") + .replace(/ /g, "_"); + let date = new Date().toISOString().slice(0, 10).replace(/-/g, ""); + let time = new Date().toISOString().slice(11, 19).replace(/:/g, ""); + window.title = `openbb_${filename}_${date}_${time}`; + + let extension = ""; + if (window.export_image != undefined) { + filename = window.export_image.split("/").pop(); + extension = filename.split(".").pop().replace("jpg", "jpeg"); + } + + if (data.layout.annotations != undefined) { + data.layout.annotations.forEach(function (annotation) { + if (annotation.text != undefined && !["svg", "pdf"].includes(extension)) + if (annotation.text[0] == "/") { + annotation.text = ""; + + let margin = data.layout.margin; + if (margin.t != undefined && margin.t > 40) margin.t = 40; + + margin.l = 70; + if (data.cmd == "/stocks/candle") margin.r -= 40; + } + }); + } + let title = data.layout?.title?.text; + return { + data: data, + date: new Date(), + cmd: data.command_location, + posthog: data.posthog, + python_version: data.python_version, + pywry_version: data.pywry_version, + terminal_version: data.terminal_version, + title, + }; + }; + + const transformedData = transformData(data); + + if (transformedData) { + if (transformedData.posthog.collect_logs && !options) { + const opts = { + api_host: "https://app.posthog.com", + autocapture: { + css_selector_allowlist: [".ph-capture"], + }, + capture_pageview: false, + loaded: function (posthog: any) { + const log_id = transformedData?.log_id || ""; + + if (log_id != "" && log_id != "REPLACE_ME") posthog.identify(log_id); + + posthog.onFeatureFlags(function () { + if ( + !posthog.isFeatureEnabled("record-pywry", { send_event: false }) + ) + posthog.stopSessionRecording(); + + if ( + !posthog.isFeatureEnabled("collect-logs-pywry", { + send_event: false, + }) + ) + posthog.opt_out_capturing(); + else if (posthog.has_opted_out_capturing()) + posthog.opt_in_capturing(); + }); + }, + }; + setOptions(opts); + } + + const info = { + INFO: { + command: transformedData.cmd, + title: transformedData.title, + date: transformedData.date, + python_version: transformedData.python_version, + pywry_version: transformedData.pywry_version, + terminal_version: transformedData.terminal_version, + }, + }; + + const chartDiv = ( + + ); + + if (transformedData.posthog.collect_logs && options) { + return ( + + {chartDiv} + + ); + } + + return chartDiv; + } else + return ( +
+ + + + +
+ ); +} + +export default App; diff --git a/frontend-components/plotly/src/components/AutoScaling.tsx b/frontend-components/plotly/src/components/AutoScaling.tsx new file mode 100644 index 00000000000..639f558ad6e --- /dev/null +++ b/frontend-components/plotly/src/components/AutoScaling.tsx @@ -0,0 +1,141 @@ +//@ts-nocheck +import { Figure } from "react-plotly.js"; + +export default async function autoScaling( + eventdata: Readonly, + graphs: Figure +) { + try { + if (eventdata["xaxis.range[0]"] != undefined) { + const x_min = eventdata["xaxis.range[0]"]; + const x_max = eventdata["xaxis.range[1]"]; + let to_update = {}; + let y_min, y_max; + + const YaxisData = graphs.data.filter((trace) => trace.yaxis != undefined); + const yaxis_unique = [ + ...new Set( + YaxisData.map( + (trace) => + trace.yaxis || trace.y != undefined || trace.type == "candlestick" + ) + ), + ]; + + const get_all_yaxis_traces = (yaxis) => { + return graphs.data.filter( + (trace) => + trace.yaxis == yaxis && (trace.y || trace.type == "candlestick") + ); + }; + + yaxis_unique.forEach((unique) => { + if (typeof unique != "string") { + return; + } + let yaxis = "yaxis" + unique.replace("y", ""); + let y_candle = []; + let y_values = []; + let log_scale = graphs.layout[yaxis].type == "log"; + + get_all_yaxis_traces(unique).forEach((trace2) => { + let x = trace2.x; + log_scale = graphs.layout[yaxis].type == "log"; + + let y = trace2.y != undefined ? trace2.y : []; + let y_low = trace2.type == "candlestick" ? trace2.low : []; + let y_high = trace2.type == "candlestick" ? trace2.high : []; + + if (log_scale) { + y = y.map(Math.log10); + if (trace2.type == "candlestick") { + y_low = trace2.low.map(Math.log10); + y_high = trace2.high.map(Math.log10); + } + } + + let yx_values = x.map((x, i) => { + let out = null; + if (x >= x_min && x <= x_max) { + if (trace2.y != undefined) { + console.log(trace2.name, trace2.type, trace2.yaxis); + out = y[i]; + } + if (trace2.type == "candlestick") { + y_candle.push(y_low[i]); + y_candle.push(y_high[i]); + } + } + return out; + }); + + y_values = y_values.concat(yx_values); + }); + + y_values = y_values.filter((y2) => y2 != undefined && y2 != null); + y_min = Math.min(...y_values); + y_max = Math.max(...y_values); + + if (y_candle.length > 0) { + y_candle = y_candle.filter((y2) => y2 != undefined && y2 != null); + y_min = Math.min(...y_candle); + y_max = Math.max(...y_candle); + } + + let org_y_max = y_max; + let is_volume = + graphs.layout[yaxis].fixedrange != undefined && + graphs.layout[yaxis].fixedrange == true; + + if (y_min != undefined && y_max != undefined) { + let y_range = y_max - y_min; + let y_mult = 0.15; + if (y_candle.length > 0) { + y_mult = 0.3; + } + + y_min -= y_range * y_mult; + y_max += y_range * y_mult; + + if (is_volume) { + if (graphs.layout[yaxis].tickvals != undefined) { + const range_x = 7; + let volume_ticks = org_y_max; + let round_digits = -3; + let first_val = Math.round(volume_ticks * 0.2, round_digits); + let x_zipped = [2, 5, 6, 7, 8, 9, 10]; + let y_zipped = [1, 4, 5, 6, 7, 8, 9]; + + for (let i = 0; i < x_zipped.length; i++) { + if (String(volume_ticks).length > x_zipped[i]) { + round_digits = -y_zipped[i]; + first_val = Math.round(volume_ticks * 0.2, round_digits); + } + } + let tickvals = [ + Math.floor(first_val), + Math.floor(first_val * 2), + Math.floor(first_val * 3), + Math.floor(first_val * 4), + ]; + let volume_range = [0, Math.floor(volume_ticks * range_x)]; + + to_update[yaxis + ".tickvals"] = tickvals; + to_update[yaxis + ".range"] = volume_range; + to_update[yaxis + ".tickformat"] = ".2s"; + return; + } + y_min = 0; + y_max = graphs.layout[yaxis].range[1]; + } + to_update[yaxis + ".range"] = [y_min, y_max]; + } + }); + + return to_update; + } + } catch (e) { + console.log(`Error in AutoScaling: ${e}`); + } + return {}; +} diff --git a/frontend-components/plotly/src/components/ChangeColor.tsx b/frontend-components/plotly/src/components/ChangeColor.tsx new file mode 100644 index 00000000000..5f2b61a7bd8 --- /dev/null +++ b/frontend-components/plotly/src/components/ChangeColor.tsx @@ -0,0 +1,95 @@ +//@ts-nocheck +import { useEffect, useState } from "react"; + +export default function ChangeColor({ + open, + onColorChange, +}: { + open: boolean; + onColorChange: (color: string) => void; +}) { + const [active, setActive] = useState(false); + + function onChangeColor(color) { + onColorChange(color); + } + + if (open && !active) { + setActive(true); + } + if (!open && active) { + setActive(false); + } + + useEffect(() => { + if (active) { + let color_picker = document.getElementById("changecolor"); + color_picker.style.display = "block"; + color_picker.style.width = null; + dragElement(color_picker); + + function dragElement(elmnt) { + let pos1 = 0, + pos2 = 0, + pos3 = 0, + pos4 = 0; + if (document.getElementById(elmnt.id + "_header")) { + // if present, the header is where you move the DIV from: + document.getElementById(elmnt.id + "_header").onmousedown = + dragMouseDown; + } else { + // otherwise, move the DIV from anywhere inside the DIV: + elmnt.onmousedown = dragMouseDown; + } + + function dragMouseDown(e) { + e = e || window.event; + e.preventDefault(); + // get the mouse cursor position at startup: + pos3 = e.clientX; + pos4 = e.clientY; + document.onmouseup = closeDragElement; + // call a function whenever the cursor moves: + document.onmousemove = elementDrag; + } + + function elementDrag(e) { + e = e || window.event; + e.preventDefault(); + // calculate the new cursor position: + pos1 = pos3 - e.clientX; + pos2 = pos4 - e.clientY; + pos3 = e.clientX; + pos4 = e.clientY; + // set the element's new position: + elmnt.style.top = elmnt.offsetTop - pos2 + "px"; + elmnt.style.left = elmnt.offsetLeft - pos1 + "px"; + } + + function closeDragElement() { + // stop moving when mouse button is released: + document.onmouseup = null; + document.onmousemove = null; + } + } + } else { + document.getElementById("changecolor").style.display = "none"; + } + }, [active]); + + return ( +
+
+ { + let color = e.target.value; + onChangeColor(color); + }} + /> +
+
+ ); +} diff --git a/frontend-components/plotly/src/components/Chart.tsx b/frontend-components/plotly/src/components/Chart.tsx new file mode 100644 index 00000000000..27d86c251ab --- /dev/null +++ b/frontend-components/plotly/src/components/Chart.tsx @@ -0,0 +1,469 @@ +// @ts-nocheck +import * as Plotly from "plotly.js-dist-min"; +import { usePostHog } from "posthog-js/react"; +import createPlotlyComponent from "react-plotly.js/factory"; +import { useState, useEffect } from "react"; +import { ICONS, DARK_CHARTS_TEMPLATE, LIGHT_CHARTS_TEMPLATE } from "./Config"; +import OverlayChartDialog from "./Dialogs/OverlayChartDialog"; +import TitleChartDialog from "./Dialogs/TitleChartDialog"; +import TextChartDialog from "./Dialogs/TextChartDialog"; +import { Icons as PlotlyIcons } from "plotly.js-dist-min"; +import { init_annotation } from "../utils/addAnnotation"; +import { PlotConfig, hideModebar } from "./PlotlyConfig"; +import autoScaling from "./AutoScaling"; +import { non_blocking, saveImage } from "../utils/utils"; +import ResizeHandler from "./ResizeHandler"; +import ChangeColor from "./ChangeColor"; + +const Plot = createPlotlyComponent(Plotly); + +export default function Chart({ + json, + date, + cmd, + title, + info, +}: { + // @ts-ignore + json: Figure; + date: Date; + cmd: string; + title: string; + info?: any; +}) { + const posthog = usePostHog(); + + if (info) + useEffect(() => { + if (posthog) posthog.capture("chart", info); + }, [posthog]); + + delete json.layout.width; + delete json.layout.height; + json.layout.title.text = ""; + + const [barButtons, setModeBarButtons] = useState({}); + const [LogYaxis, setLogYaxis] = useState(false); + const [chartTitle, setChartTitle] = useState(title); + const [axesTitles, setAxesTitles] = useState({}); + const [plotLoaded, setPlotLoaded] = useState(false); + const [modal, setModal] = useState({ modal: "" }); + const [loading, setLoading] = useState(false); + const [plotDiv, setPlotDiv] = useState(null); + const [Volume, setVolume] = useState({ old_nticks: {} }); + + const [plotData, setPlotData] = useState(json); + const [annotations, setAnnotations] = useState([]); + const [changeTheme, setChangeTheme] = useState(false); + const [darkMode, setDarkMode] = useState(true); + const [autoScale, setAutoScaling] = useState(false); + const [changeColor, setChangeColor] = useState(false); + const [colorActive, setColorActive] = useState(false); + const [onAnnotationClick, setOnAnnotationClick] = useState({}); + + const onClose = () => setModal({ modal: "" }); + + // @ts-ignore + function onDeleteAnnotation(annotation) { + console.log("onDeleteAnnotation", annotation); + const index = plotData?.layout?.annotations?.findIndex( + (a: any) => a.text === annotation.text + ); + console.log("index", index); + if (index > -1) { + plotData?.layout?.annotations?.splice(index, 1); + setPlotData({ ...plotData }); + setAnnotations(plotData?.layout?.annotations); + } + } + + // @ts-ignore + function onAddAnnotation(data) { + init_annotation({ + plotData, + popupData: data, + setPlotData, + setModal, + setOnAnnotationClick, + setAnnotations, + onAnnotationClick, + annotations, + plotDiv, + }); + } + + if (axesTitles && Object.keys(axesTitles).length > 0) { + Object.keys(axesTitles).forEach((k) => { + plotData.layout[k].title = { + ...(plotData.layout[k].title || {}), + text: axesTitles[k], + }; + plotData.layout[k].showticklabels = true; + }); + setAxesTitles({}); + } + + function onChangeColor(color) { + // updates the color of the last added shape + // this function is called when the color picker is used + // if there are no shapes, we remove the color picker + let shapes = plotDiv.layout.shapes; + if (!shapes || shapes.length == 0) { + return; + } + // we change last added shape color + let last_shape = shapes[shapes.length - 1]; + last_shape.line.color = color; + Plotly.update(plotDiv, {}, { shapes: shapes }); + } + + function button_pressed(title, active = false) { + // changes the style of the button when it is pressed + // title is the title of the button + // active is true if the button is active, false otherwise + + let button = + barButtons[title] || document.querySelector(`[data-title="${title}"]`); + if (!active) { + button.style.border = "1px solid rgba(0, 151, 222, 1.0)"; + button.style.borderRadius = "5px"; + button.style.borderpadding = "5px"; + button.style.boxShadow = "0 0 5px rgba(0, 151, 222, 1.0)"; + } else { + button.style.border = "transparent"; + button.style.boxShadow = "none"; + } + setModeBarButtons({ ...barButtons, [title]: button }); + } + + function autoscaleButton() { + // We need to check if the button is active or not + let title = "Auto Scale (Ctrl+Shift+A)"; + let button = + barButtons[title] || document.querySelector(`[data-title="${title}"]`); + let active = true; + + if (button.style.border == "transparent") { + active = false; + plotDiv.on( + "plotly_relayout", + non_blocking(async function (eventdata) { + if (eventdata["xaxis.range[0]"] == undefined) return; + + let to_update = await autoScaling(eventdata, plotDiv); + Plotly.update(plotDiv, {}, to_update); + }, 100) + ); + } + // If the button isn't active, we remove the listener so + // the graphs don't autoscale anymore + else plotDiv.removeAllListeners("plotly_relayout"); + + button_pressed(title, active); + } + + function changecolorButton() { + // We need to check if the button is active or not + let title = "Edit Color (Ctrl+E)"; + let button = + barButtons[title] || document.querySelector(`[data-title="${title}"]`); + let active = true; + + if (button.style.border == "transparent") { + active = false; + } + + setColorActive(!active); + button_pressed(title, active); + } + + useEffect(() => { + if (autoScale) { + let scale = !autoScale; + console.log("activateAutoScale", scale); + autoscaleButton(); + setAutoScaling(false); + } + }, [autoScale]); + + useEffect(() => { + if (changeColor) { + changecolorButton(); + setChangeColor(false); + } + }, [changeColor]); + + useEffect(() => { + if (changeTheme) { + try { + console.log("changeTheme", changeTheme); + const TRACES = plotData?.data.filter((trace) => + trace?.name?.startsWith("Volume") + ); + let darkmode = !darkMode; + + window.document.body.style.backgroundColor = darkmode ? "#000" : "#fff"; + + plotData.layout.font = { + ...(plotData.layout.font || {}), + color: darkmode ? "#fff" : "#000", + }; + + const changeIcon = darkmode ? ICONS.sunIcon : ICONS.moonIcon; + + document + .querySelector('[data-title="Change Theme"]') + .getElementsByTagName("path")[0] + .setAttribute("d", changeIcon.path); + + document + .querySelector('[data-title="Change Theme"]') + .getElementsByTagName("svg")[0] + .setAttribute("viewBox", changeIcon.viewBox); + + const volumeColors = { + "#e4003a": "#c80000", + "#00ACFF": "#009600", + "#009600": "#00ACFF", + "#c80000": "#e4003a", + }; + + TRACES.forEach((trace) => { + if (trace.type == "bar") + trace.marker.color = trace.marker.color.map((color) => { + return volumeColors[color] || color; + }); + }); + plotData.layout.template = darkmode + ? DARK_CHARTS_TEMPLATE + : LIGHT_CHARTS_TEMPLATE; + setPlotData({ ...plotData }); + Plotly.react(plotDiv, plotData.data, plotData.layout); + setDarkMode(darkmode); + setChangeTheme(false); + } catch (e) { + console.log("error", e); + } + } + }, [changeTheme]); + + useEffect(() => { + if (plotLoaded) { + setDarkMode(true); + setAutoScaling(false); + const captureButtons = [ + "Download CSV", + "Download Chart as Image", + "Overlay chart from CSV", + "Add Text", + "Change Titles", + "Auto Scale (Ctrl+Shift+A)", + "Reset Axes", + ]; + const autoscale = document.querySelector('[data-title="Autoscale"]'); + if (autoscale) { + autoscale + .getElementsByTagName("path")[0] + .setAttribute("d", PlotlyIcons.home.path); + autoscale.setAttribute("data-title", "Reset Axes"); + } + + window.MODEBAR = document.getElementsByClassName( + "modebar-container" + )[0] as HTMLElement; + const modeBarButtons = window.MODEBAR.getElementsByClassName( + "modebar-btn" + ) as HTMLCollectionOf; + + window.MODEBAR.style.cssText = `${window.MODEBAR.style.cssText}; display:flex;`; + + if (modeBarButtons) { + let barbuttons: any = {}; + for (let i = 0; i < modeBarButtons.length; i++) { + let btn = modeBarButtons[i]; + if (captureButtons.includes(btn.getAttribute("data-title"))) { + btn.classList.add("ph-capture"); + } + btn.style.border = "transparent"; + barbuttons[btn.getAttribute("data-title")] = btn; + } + setModeBarButtons(barbuttons); + } + + if (plotData.layout.yaxis.type != undefined) { + if (plotData.layout.yaxis.type == "log" && !LogYaxis) { + console.log("yaxis.type changed to log"); + setLogYaxis(true); + + // We update the yaxis exponent format to SI, + // set the tickformat to '.0s' and the exponentbase to 100 + let layout_update = { + "yaxis.exponentformat": "SI", + "yaxis.tickformat": ".0s", + "yaxis.exponentbase": 100, + }; + Plotly.update(plotDiv, layout_update); + } + if (plotData.layout.yaxis.type == "linear" && LogYaxis) { + console.log("yaxis.type changed to linear"); + setLogYaxis(false); + + // We update the yaxis exponent format to none, + // set the tickformat to null and the exponentbase to 10 + let layout_update = { + "yaxis.exponentformat": "none", + "yaxis.tickformat": null, + "yaxis.exponentbase": 10, + }; + Plotly.update(plotDiv, layout_update); + } + } + + // We check to see if window.save_png is defined and true + if (window.save_image != undefined && window.export_image) { + // We get the extension of the file and check if it is valid + let filename = window.export_image.split("/").pop(); + const extension = filename.split(".").pop().replace("jpg", "jpeg"); + + if (["jpeg", "png", "svg", "pdf"].includes(extension)) + non_blocking(async function () { + await hideModebar(); + await saveImage("MainChart", filename.split(".")[0], extension); + }, 2)(); + } + + window.addEventListener("resize", async function () { + let update = await ResizeHandler({ plotData, Volume }); + let layout_update = update.layout_update; + let newPlotData = update.plotData; + let volume_update = update.volume_update; + + if (Object.keys(layout_update).length > 0) { + setPlotData(newPlotData); + setVolume(volume_update); + Plotly.relayout(plotDiv, layout_update); + } + }); + } + }, [plotLoaded]); + + return ( +
+ {loading && ( +
+ + + + +
+ )} + { + console.log(overlay); + plotData.layout.showlegend = true; + setPlotData(overlay); + setPlotLoaded(false); + }} + plotlyData={plotData} + setLoading={setLoading} + open={modal.modal === "overlayChart"} + close={onClose} + /> + setChartTitle(title)} + updateAxesTitles={(axesTitles) => setAxesTitles(axesTitles)} + defaultTitle={chartTitle} + plotlyData={plotData} + open={modal.modal === "titleDialog"} + close={onClose} + /> + onAddAnnotation(data)} + deleteAnnotation={(data) => onDeleteAnnotation(data)} + /> + + +
+
+
+ + + +
+

+ {chartTitle} + {/* {source && ( + {`[${source}]`} + )} */} +

+

+ {new Intl.DateTimeFormat("en-GB", { + dateStyle: "full", + timeStyle: "long", + }) + .format(date) + .replace(/:\d\d /, " ")} +
+ {cmd} +

+ {/* {source && typeof source === "string" && source.includes("*") && ( +

+ *not affiliated +

+ )} */} +
+
+ { + if (!plotDiv) { + const plot = document.getElementById("plotlyChart"); + console.log("plot", plot); + if (plot) setPlotDiv(plot); + } + if (!plotLoaded) setPlotLoaded(true); + }} + className="w-full h-full" + divId="plotlyChart" + data={plotData.data} + layout={plotData.layout} + config={PlotConfig({ + setModal: setModal, + changeTheme: setChangeTheme, + autoScaling: setAutoScaling, + Loading: setLoading, + changeColor: setChangeColor, + })} + /> +
+
+
+ ); +} diff --git a/frontend-components/plotly/src/components/Config.tsx b/frontend-components/plotly/src/components/Config.tsx new file mode 100644 index 00000000000..c3610173890 --- /dev/null +++ b/frontend-components/plotly/src/components/Config.tsx @@ -0,0 +1,756 @@ +export const ICONS = { + sunIcon: { + viewBox: "0 0 16 16", + width: 16, + height: 16, + path: "M8 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z", + }, + moonIcon: { + viewBox: "0 0 25 25", + width: 25, + height: 25, + path: "M21.752 15.002A9.718 9.718 0 0118 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 003 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 009.002-5.998z", + }, + plotCsv: { + width: 900, + height: 900, + path: "M170.666667 106.666667l0.192 736H906.666667v64H149.546667c-23.552 0-42.666667-19.093333-42.666667-42.666667L106.666667 106.666667h64z m686.506666 454.144l13.653334 16.362666a21.333333 21.333333 0 0 1-2.666667 30.058667l-171.157333 143.146667a21.333333 21.333333 0 0 1-21.546667 3.477333l-229.973333-91.285333-113.834667 94.997333a21.333333 21.333333 0 0 1-30.037333-2.709333l-13.653334-16.362667a21.333333 21.333333 0 0 1 2.688-30.058667l133.312-111.274666a21.333333 21.333333 0 0 1 21.546667-3.456l229.930667 91.264 151.68-126.826667a21.333333 21.333333 0 0 1 30.037333 2.666667z m-1.621333-417.962667l16.896 13.013333a21.333333 21.333333 0 0 1 3.925333 29.888L685.802667 433.706667a21.333333 21.333333 0 0 1-20.202667 8.085333l-226.794667-35.413333-150.186666 222.357333a21.333333 21.333333 0 0 1-27.477334 7.018667l-2.133333-1.28-17.685333-11.946667a21.333333 21.333333 0 0 1-5.738667-29.610667l165.354667-244.821333a21.333333 21.333333 0 0 1 20.992-9.130667L650.453333 374.613333l175.146667-227.882666a21.333333 21.333333 0 0 1 29.930667-3.904z", + }, + addText: { + path: "M896 928H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32z m-736-64h704v-704h-704z M704 352H320a32 32 0 0 1 0-64h384a32 32 0 0 1 0 64z M512 736a32 32 0 0 1-32-32V320a32 32 0 0 1 64 0v384a32 32 0 0 1-32 32z", + width: 950, + height: 950, + }, + changeTitle: { + path: "M122.368 165.888h778.24c-9.216 0-16.384-7.168-16.384-16.384v713.728c0-9.216 7.168-16.384 16.384-16.384h-778.24c9.216 0 16.384 7.168 16.384 16.384V150.016c0 8.192-6.656 15.872-16.384 15.872z m-32.768 684.544c0 26.112 20.992 47.104 47.104 47.104h750.08c26.112 0 47.104-20.992 47.104-47.104V162.304c0-26.112-20.992-47.104-47.104-47.104H136.704c-26.112 0-47.104 20.992-47.104 47.104v688.128z M244.736 656.896h534.016v62.464H244.736z M373.76 358.4H307.2v219.136h-45.568V358.4H192v-41.472H373.76V358.4zM403.968 316.928h44.032v50.176h-44.032v-50.176z m0 67.072h44.032v194.048h-44.032V384zM576.512 541.184l8.704 31.744c-13.312 5.12-26.624 8.192-38.912 8.704-32.768 1.024-48.64-15.36-48.128-48.128V422.912h-26.624V384h26.624v-46.592l44.032-21.504V384h36.352v38.912h-36.352V532.48c-1.024 10.24 3.072 14.848 11.264 13.824 5.12 0 12.8-1.536 23.04-5.12zM619.008 316.928h44.032v260.608h-44.032V316.928zM813.056 509.952l41.472 12.8c-11.776 40.96-37.888 61.44-78.336 60.416-52.736-1.536-80.384-34.304-81.92-98.304 2.56-67.072 29.696-102.4 81.92-105.984 52.224 1.536 78.336 36.864 79.36 105.984v13.824h-117.248c3.584 30.208 15.872 45.568 37.888 46.592 19.968 0.512 32.256-11.264 36.864-35.328z m-72.704-51.712h70.656c-1.024-25.088-12.288-38.4-33.792-38.912-21.504 0.512-33.792 13.824-36.864 38.912z", + width: 920, + height: 900, + }, + changeColor: { + path: "M8 3C5.79 3 4 4.79 4 7V14C4 15.1 4.9 16 6 16H9V20C9 21.1 9.9 22 11 22H13C14.1 22 15 21.1 15 20V16H18C19.1 16 20 15.1 20 14V3H8M8 5H12V7H14V5H15V9H17V5H18V10H6V7C6 5.9 6.9 5 8 5M6 14V12H18V14H6Z", + width: 22, + height: 22, + }, + uploadImage: { + path: "M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5", + width: 1024, + height: 1024, + }, + downloadCsv: { + path: `M486.2,196.121h-13.164V132.59c0-0.399-0.064-0.795-0.116-1.2c-0.021-2.52-0.824-5-2.551-6.96L364.656,3.677 + c-0.031-0.034-0.064-0.044-0.085-0.075c-0.629-0.707-1.364-1.292-2.141-1.796c-0.231-0.157-0.462-0.286-0.704-0.419 + c-0.672-0.365-1.386-0.672-2.121-0.893c-0.199-0.052-0.377-0.134-0.576-0.188C358.229,0.118,357.4,0,356.562,0H96.757 + C84.893,0,75.256,9.649,75.256,21.502v174.613H62.093c-16.972,0-30.733,13.756-30.733,30.73v159.81 + c0,16.966,13.761,30.736,30.733,30.736h13.163V526.79c0,11.854,9.637,21.501,21.501,21.501h354.777 + c11.853,0,21.502-9.647,21.502-21.501V417.392H486.2c16.966,0,30.729-13.764,30.729-30.731v-159.81 + C516.93,209.872,503.166,196.121,486.2,196.121z M96.757,21.502h249.053v110.006c0,5.94,4.818,10.751,10.751,10.751h94.973v53.861 + H96.757V21.502z M258.618,313.18c-26.68-9.291-44.063-24.053-44.063-47.389c0-27.404,22.861-48.368,60.733-48.368 + c18.107,0,31.447,3.811,40.968,8.107l-8.09,29.3c-6.43-3.107-17.862-7.632-33.59-7.632c-15.717,0-23.339,7.149-23.339,15.485 + c0,10.247,9.047,14.769,29.78,22.632c28.341,10.479,41.681,25.239,41.681,47.874c0,26.909-20.721,49.786-64.792,49.786 + c-18.338,0-36.449-4.776-45.497-9.77l7.38-30.016c9.772,5.014,24.775,10.006,40.264,10.006c16.671,0,25.488-6.908,25.488-17.396 + C285.536,325.789,277.909,320.078,258.618,313.18z M69.474,302.692c0-54.781,39.074-85.269,87.654-85.269 + c18.822,0,33.113,3.811,39.549,7.149l-7.392,28.816c-7.38-3.084-17.632-5.939-30.491-5.939c-28.822,0-51.206,17.375-51.206,53.099 + c0,32.158,19.051,52.4,51.456,52.4c10.947,0,23.097-2.378,30.241-5.238l5.483,28.346c-6.672,3.34-21.674,6.919-41.208,6.919 + C98.06,382.976,69.474,348.424,69.474,302.692z M451.534,520.962H96.757v-103.57h354.777V520.962z M427.518,380.583h-42.399 + l-51.45-160.536h39.787l19.526,67.894c5.479,19.046,10.479,37.386,14.299,57.397h0.709c4.048-19.298,9.045-38.352,14.526-56.693 + l20.487-68.598h38.599L427.518,380.583z`, + width: 550, + height: 550, + transform: "translate(4, 0)", + }, + downloadImage: { + path: "M22.71,6.29a1,1,0,0,0-1.42,0L20,7.59V2a1,1,0,0,0-2,0V7.59l-1.29-1.3a1,1,0,0,0-1.42,1.42l3,3a1,1,0,0,0,.33.21.94.94,0,0,0,.76,0,1,1,0,0,0,.33-.21l3-3A1,1,0,0,0,22.71,6.29ZM19,13a1,1,0,0,0-1,1v.38L16.52,12.9a2.79,2.79,0,0,0-3.93,0l-.7.7L9.41,11.12a2.85,2.85,0,0,0-3.93,0L4,12.6V7A1,1,0,0,1,5,6h8a1,1,0,0,0,0-2H5A3,3,0,0,0,2,7V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V14A1,1,0,0,0,19,13ZM5,20a1,1,0,0,1-1-1V15.43l2.9-2.9a.79.79,0,0,1,1.09,0l3.17,3.17,0,0L15.46,20Zm13-1a.89.89,0,0,1-.18.53L13.31,15l.7-.7a.77.77,0,0,1,1.1,0L18,17.21Z", + width: 21, + height: 21, + transform: "translate(-2, -2)", + }, +}; + +export const DARK_CHARTS_TEMPLATE = { + data: { + candlestick: [ + { + decreasing: { + fillcolor: "#e4003a", + line: { + color: "#e4003a", + }, + }, + increasing: { + fillcolor: "#00ACFF", + line: { + color: "#00ACFF", + }, + }, + type: "candlestick", + }, + ], + }, + layout: { + annotationdefaults: { + showarrow: false, + }, + autotypenumbers: "strict", + colorway: [ + "#ffed00", + "#ef7d00", + "#e4003a", + "#c13246", + "#822661", + "#48277c", + "#005ca9", + "#00aaff", + "#9b30d9", + "#af005f", + "#5f00af", + "#af87ff", + ], + dragmode: "pan", + font: { + family: "Fira Code", + size: 18, + }, + hoverlabel: { + align: "left", + }, + mapbox: { + style: "dark", + }, + hovermode: "x", + legend: { + bgcolor: "rgba(0, 0, 0, 0)", + x: 0.01, + xanchor: "left", + y: 0.99, + yanchor: "top", + font: { + size: 15, + }, + }, + paper_bgcolor: "#000000", + plot_bgcolor: "#000000", + xaxis: { + automargin: true, + autorange: true, + rangeslider: { + visible: false, + }, + showgrid: true, + showline: true, + tickfont: { + size: 14, + }, + zeroline: false, + tick0: 1, + title: { + standoff: 20, + }, + linecolor: "#F5EFF3", + mirror: true, + ticks: "outside", + }, + yaxis: { + anchor: "x", + automargin: true, + fixedrange: false, + zeroline: false, + showgrid: true, + showline: true, + side: "right", + tick0: 0.5, + title: { + standoff: 20, + }, + gridcolor: "#283442", + linecolor: "#F5EFF3", + mirror: true, + ticks: "outside", + }, + }, +}; + +export const LIGHT_CHARTS_TEMPLATE = { + data: { + barpolar: [ + { + marker: { + line: { + color: "white", + width: 0.5, + }, + pattern: { + fillmode: "overlay", + size: 10, + solidity: 0.2, + }, + }, + type: "barpolar", + }, + ], + bar: [ + { + error_x: { + color: "#2a3f5f", + }, + error_y: { + color: "#2a3f5f", + }, + marker: { + line: { + color: "white", + width: 0.5, + }, + pattern: { + fillmode: "overlay", + size: 10, + solidity: 0.2, + }, + }, + type: "bar", + }, + ], + carpet: [ + { + aaxis: { + endlinecolor: "#2a3f5f", + gridcolor: "#C8D4E3", + linecolor: "#C8D4E3", + minorgridcolor: "#C8D4E3", + startlinecolor: "#2a3f5f", + }, + baxis: { + endlinecolor: "#2a3f5f", + gridcolor: "#C8D4E3", + linecolor: "#C8D4E3", + minorgridcolor: "#C8D4E3", + startlinecolor: "#2a3f5f", + }, + type: "carpet", + }, + ], + choropleth: [ + { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + type: "choropleth", + }, + ], + contourcarpet: [ + { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + type: "contourcarpet", + }, + ], + contour: [ + { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + colorscale: [ + [0.0, "#0d0887"], + [0.1111111111111111, "#46039f"], + [0.2222222222222222, "#7201a8"], + [0.3333333333333333, "#9c179e"], + [0.4444444444444444, "#bd3786"], + [0.5555555555555556, "#d8576b"], + [0.6666666666666666, "#ed7953"], + [0.7777777777777778, "#fb9f3a"], + [0.8888888888888888, "#fdca26"], + [1.0, "#f0f921"], + ], + type: "contour", + }, + ], + heatmapgl: [ + { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + colorscale: [ + [0.0, "#0d0887"], + [0.1111111111111111, "#46039f"], + [0.2222222222222222, "#7201a8"], + [0.3333333333333333, "#9c179e"], + [0.4444444444444444, "#bd3786"], + [0.5555555555555556, "#d8576b"], + [0.6666666666666666, "#ed7953"], + [0.7777777777777778, "#fb9f3a"], + [0.8888888888888888, "#fdca26"], + [1.0, "#f0f921"], + ], + type: "heatmapgl", + }, + ], + heatmap: [ + { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + colorscale: [ + [0.0, "#0d0887"], + [0.1111111111111111, "#46039f"], + [0.2222222222222222, "#7201a8"], + [0.3333333333333333, "#9c179e"], + [0.4444444444444444, "#bd3786"], + [0.5555555555555556, "#d8576b"], + [0.6666666666666666, "#ed7953"], + [0.7777777777777778, "#fb9f3a"], + [0.8888888888888888, "#fdca26"], + [1.0, "#f0f921"], + ], + type: "heatmap", + }, + ], + histogram2dcontour: [ + { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + colorscale: [ + [0.0, "#0d0887"], + [0.1111111111111111, "#46039f"], + [0.2222222222222222, "#7201a8"], + [0.3333333333333333, "#9c179e"], + [0.4444444444444444, "#bd3786"], + [0.5555555555555556, "#d8576b"], + [0.6666666666666666, "#ed7953"], + [0.7777777777777778, "#fb9f3a"], + [0.8888888888888888, "#fdca26"], + [1.0, "#f0f921"], + ], + type: "histogram2dcontour", + }, + ], + histogram2d: [ + { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + colorscale: [ + [0.0, "#0d0887"], + [0.1111111111111111, "#46039f"], + [0.2222222222222222, "#7201a8"], + [0.3333333333333333, "#9c179e"], + [0.4444444444444444, "#bd3786"], + [0.5555555555555556, "#d8576b"], + [0.6666666666666666, "#ed7953"], + [0.7777777777777778, "#fb9f3a"], + [0.8888888888888888, "#fdca26"], + [1.0, "#f0f921"], + ], + type: "histogram2d", + }, + ], + histogram: [ + { + marker: { + pattern: { + fillmode: "overlay", + size: 10, + solidity: 0.2, + }, + }, + type: "histogram", + }, + ], + mesh3d: [ + { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + type: "mesh3d", + }, + ], + parcoords: [ + { + line: { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + }, + type: "parcoords", + }, + ], + pie: [ + { + automargin: true, + type: "pie", + }, + ], + scatter3d: [ + { + line: { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + }, + marker: { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + }, + type: "scatter3d", + }, + ], + scattercarpet: [ + { + marker: { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + }, + type: "scattercarpet", + }, + ], + scattergeo: [ + { + marker: { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + }, + type: "scattergeo", + }, + ], + scattergl: [ + { + marker: { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + }, + type: "scattergl", + }, + ], + scattermapbox: [ + { + marker: { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + }, + type: "scattermapbox", + }, + ], + scatterpolargl: [ + { + marker: { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + }, + type: "scatterpolargl", + }, + ], + scatterpolar: [ + { + marker: { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + }, + type: "scatterpolar", + }, + ], + scatter: [ + { + fillpattern: { + fillmode: "overlay", + size: 10, + solidity: 0.2, + }, + type: "scatter", + }, + ], + scatterternary: [ + { + marker: { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + }, + type: "scatterternary", + }, + ], + surface: [ + { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + colorscale: [ + [0.0, "#0d0887"], + [0.1111111111111111, "#46039f"], + [0.2222222222222222, "#7201a8"], + [0.3333333333333333, "#9c179e"], + [0.4444444444444444, "#bd3786"], + [0.5555555555555556, "#d8576b"], + [0.6666666666666666, "#ed7953"], + [0.7777777777777778, "#fb9f3a"], + [0.8888888888888888, "#fdca26"], + [1.0, "#f0f921"], + ], + type: "surface", + }, + ], + table: [ + { + cells: { + fill: { + color: "#EBF0F8", + }, + line: { + color: "white", + }, + }, + header: { + fill: { + color: "#C8D4E3", + }, + line: { + color: "white", + }, + }, + type: "table", + }, + ], + candlestick: [ + { + decreasing: { + fillcolor: "#c80000", + line: { + color: "#990000", + }, + }, + increasing: { + fillcolor: "#009600", + line: { + color: "#007500", + }, + }, + type: "candlestick", + }, + ], + }, + layout: { + annotationdefaults: { + arrowcolor: "#2a3f5f", + arrowhead: 0, + arrowwidth: 1, + showarrow: false, + }, + autotypenumbers: "strict", + coloraxis: { + colorbar: { + outlinewidth: 0, + ticks: "", + }, + }, + colorscale: { + diverging: [ + [0, "#8e0152"], + [0.1, "#c51b7d"], + [0.2, "#de77ae"], + [0.3, "#f1b6da"], + [0.4, "#fde0ef"], + [0.5, "#f7f7f7"], + [0.6, "#e6f5d0"], + [0.7, "#b8e186"], + [0.8, "#7fbc41"], + [0.9, "#4d9221"], + [1, "#276419"], + ], + sequential: [ + [0.0, "#0d0887"], + [0.1111111111111111, "#46039f"], + [0.2222222222222222, "#7201a8"], + [0.3333333333333333, "#9c179e"], + [0.4444444444444444, "#bd3786"], + [0.5555555555555556, "#d8576b"], + [0.6666666666666666, "#ed7953"], + [0.7777777777777778, "#fb9f3a"], + [0.8888888888888888, "#fdca26"], + [1.0, "#f0f921"], + ], + sequentialminus: [ + [0.0, "#0d0887"], + [0.1111111111111111, "#46039f"], + [0.2222222222222222, "#7201a8"], + [0.3333333333333333, "#9c179e"], + [0.4444444444444444, "#bd3786"], + [0.5555555555555556, "#d8576b"], + [0.6666666666666666, "#ed7953"], + [0.7777777777777778, "#fb9f3a"], + [0.8888888888888888, "#fdca26"], + [1.0, "#f0f921"], + ], + }, + colorway: [ + "#254495", + "#c13246", + "#48277c", + "#e4003a", + "#ef7d00", + "#822661", + "#ffed00", + "#00aaff", + "#9b30d9", + "#af005f", + "#5f00af", + "#af87ff", + ], + font: { + color: "#2a3f5f", + }, + geo: { + bgcolor: "white", + lakecolor: "white", + landcolor: "white", + showlakes: true, + showland: true, + subunitcolor: "#C8D4E3", + }, + hoverlabel: { + align: "left", + }, + hovermode: "x", + mapbox: { + style: "light", + }, + paper_bgcolor: "white", + plot_bgcolor: "white", + polar: { + angularaxis: { + gridcolor: "#EBF0F8", + linecolor: "#EBF0F8", + ticks: "", + }, + bgcolor: "white", + radialaxis: { + gridcolor: "#EBF0F8", + linecolor: "#EBF0F8", + ticks: "", + }, + }, + scene: { + xaxis: { + backgroundcolor: "white", + gridcolor: "#DFE8F3", + gridwidth: 2, + linecolor: "#EBF0F8", + showbackground: true, + ticks: "", + zerolinecolor: "#EBF0F8", + }, + yaxis: { + backgroundcolor: "white", + gridcolor: "#DFE8F3", + gridwidth: 2, + linecolor: "#EBF0F8", + showbackground: true, + ticks: "", + zerolinecolor: "#EBF0F8", + }, + zaxis: { + backgroundcolor: "white", + gridcolor: "#DFE8F3", + gridwidth: 2, + linecolor: "#EBF0F8", + showbackground: true, + ticks: "", + zerolinecolor: "#EBF0F8", + }, + }, + shapedefaults: { + line: { + color: "#2a3f5f", + }, + }, + ternary: { + aaxis: { + gridcolor: "#DFE8F3", + linecolor: "#A2B1C6", + ticks: "", + }, + baxis: { + gridcolor: "#DFE8F3", + linecolor: "#A2B1C6", + ticks: "", + }, + bgcolor: "white", + caxis: { + gridcolor: "#DFE8F3", + linecolor: "#A2B1C6", + ticks: "", + }, + }, + title: { + x: 0.05, + }, + xaxis: { + automargin: true, + ticks: "outside", + zerolinewidth: 2, + rangeslider: { + visible: false, + }, + showgrid: true, + showline: true, + tickfont: { + size: 15, + }, + title: { + standoff: 20, + }, + mirror: true, + zeroline: false, + }, + yaxis: { + automargin: true, + ticks: "outside", + tickfont: { + size: 15, + }, + zerolinewidth: 2, + fixedrange: false, + title: { + standoff: 20, + }, + nticks: 8, + showgrid: true, + showline: true, + side: "right", + mirror: true, + zeroline: false, + }, + dragmode: "pan", + legend: { + bgcolor: "rgba(0, 0, 0, 0)", + x: 1.03, + xanchor: "left", + y: 0.99, + yanchor: "top", + }, + }, +}; diff --git a/frontend-components/plotly/src/components/Dialogs/CommonDialog.tsx b/frontend-components/plotly/src/components/Dialogs/CommonDialog.tsx new file mode 100644 index 00000000000..0a9abe6b471 --- /dev/null +++ b/frontend-components/plotly/src/components/Dialogs/CommonDialog.tsx @@ -0,0 +1,47 @@ +import * as DialogPrimitive from "@radix-ui/react-dialog"; +import CloseIcon from "../Icons/Close"; +import { ReactNode } from "react"; + +export const styleDialog = { + margin: "2px 0px 2px 10px", + padding: "5px 2px 2px 5px", +}; + +export default function CommonDialog({ + open, + close, + title, + description, + children, +}: { + open: boolean; + close: () => void; + title: string; + description: string; + children: ReactNode; +}) { + return ( + +
+
+
+
+ + + + {title} + + + {description} + + + + + {children} + + + + +
+ ); +} diff --git a/frontend-components/plotly/src/components/Dialogs/OverlayChartDialog.tsx b/frontend-components/plotly/src/components/Dialogs/OverlayChartDialog.tsx new file mode 100644 index 00000000000..f688f2d812a --- /dev/null +++ b/frontend-components/plotly/src/components/Dialogs/OverlayChartDialog.tsx @@ -0,0 +1,617 @@ +import CommonDialog, { styleDialog } from "../Dialogs/CommonDialog"; +import { useState } from "react"; + +const reader = new FileReader(); + +const layout_defaults = { + overlaying: "y", + side: "left", + tickfont: { size: 12 }, + tickpadding: 5, + showgrid: false, + showline: false, + showticklabels: true, + showlegend: true, + zeroline: false, + anchor: "x", + type: "linear", + autorange: true, +}; + +export default function OverlayChartDialog({ + open, + close, + setLoading, + addOverlay, + plotlyData, +}: { + open: boolean; + close: () => void; + setLoading: (loading: boolean) => void; + addOverlay: (data: any) => void; + plotlyData: any; +}) { + const [traceType, setTraceType] = useState("scatter"); + const [traceColor, setTraceColor] = useState("#FFDD00"); + const [increasingColor, setIncreasingColor] = useState("#00ACFF"); + const [decreasingColor, setDecreasingColor] = useState("#FF0000"); + const [traceName, setTraceName] = useState(""); + const [csvData, setCsvData] = useState([]); + const [csvColumns, setCsvColumns] = useState([]); + const [selectedColumns, setSelectedColumns] = useState({}); + const [yaxisOptions, setYaxisOptions] = useState({}); + const optionIds = ["x", "open", "high", "low", "close"]; + + let traceTypes: any = { + scatter: "Scatter (Line)", + candlestick: "Candlestick", + bar: "Bar", + }; + + const [options, setOptions] = useState({}); + + function onClose() { + close(); + setTraceType("scatter"); + setTraceName(""); + setCsvData([]); + setCsvColumns([]); + setSelectedColumns({}); + setOptions({}); + } + + function onSubmit() { + if (csvData.length == 0) { + document.getElementById("csv_file")?.focus(); + document.getElementById("csv_file")?.style.setProperty("border", "1px solid red"); + document.getElementById("csv_file_warning")!.style.display = "block"; + return; + } + const newPlotydata = CSVonSubmit({ + csvData: csvData, + plotlyData: plotlyData, + yaxisOptions: yaxisOptions, + traceType: traceType, + traceColor: traceColor, + traceName: traceName, + options: options, + increasingColor: increasingColor, + decreasingColor: decreasingColor, + }); + addOverlay(newPlotydata); + onClose(); + } + + + return ( + + + +
+ + + +
+ +
+ ); +} diff --git a/frontend-components/plotly/src/components/Dialogs/TitleChartDialog.tsx b/frontend-components/plotly/src/components/Dialogs/TitleChartDialog.tsx new file mode 100644 index 00000000000..8479e1d5572 --- /dev/null +++ b/frontend-components/plotly/src/components/Dialogs/TitleChartDialog.tsx @@ -0,0 +1,137 @@ +import CommonDialog, { styleDialog } from "../Dialogs/CommonDialog"; +import { useState } from "react"; + +export default function TitleChartDialog({ + plotlyData, + open, + close, + defaultTitle, + updateTitle, + updateAxesTitles, +}: { + plotlyData?: any; + open: boolean; + close: () => void; + defaultTitle: string; + updateTitle: (title: string) => void; + updateAxesTitles: (axesTitles: any) => void; +}) { + const [title, setTitle] = useState(defaultTitle); + + const yAxes = Object.keys(plotlyData.layout || {}).filter( + (k) => k.startsWith("yaxis") && plotlyData.layout[k].range != undefined + ); + const xAxes = Object.keys(plotlyData.layout || {}).filter( + (k) => + k.startsWith("xaxis") && + plotlyData.layout[k].showticklabels != undefined && + plotlyData.layout[k]?.anchor + ); + + const [axesTitles, setAxesTitles] = useState({}); + + return ( + + + + ); +} diff --git a/frontend-components/plotly/src/components/Icons/Close.tsx b/frontend-components/plotly/src/components/Icons/Close.tsx new file mode 100644 index 00000000000..bd5d2c1750b --- /dev/null +++ b/frontend-components/plotly/src/components/Icons/Close.tsx @@ -0,0 +1,28 @@ +import type { SVGProps } from "react"; +interface SVGRProps { + title?: string; + titleId?: string; +} + +const CloseIcon = ({ + title, + titleId, + ...props +}: SVGProps & SVGRProps) => ( + + + +); + +export default CloseIcon; diff --git a/frontend-components/plotly/src/components/Icons/CloseCircle.tsx b/frontend-components/plotly/src/components/Icons/CloseCircle.tsx new file mode 100644 index 00000000000..a6ab356aee1 --- /dev/null +++ b/frontend-components/plotly/src/components/Icons/CloseCircle.tsx @@ -0,0 +1,32 @@ +import type { SVGProps } from "react"; +interface SVGRProps { + title?: string; + titleId?: string; +} + +const CloseCircleIcon = ({ + title, + titleId, + ...props +}: SVGProps & SVGRProps) => ( + + {title ? {title} : null} + + +); + +export default CloseCircleIcon; diff --git a/frontend-components/plotly/src/components/Icons/Info.tsx b/frontend-components/plotly/src/components/Icons/Info.tsx new file mode 100644 index 00000000000..1250d27f2ca --- /dev/null +++ b/frontend-components/plotly/src/components/Icons/Info.tsx @@ -0,0 +1,32 @@ +import type { SVGProps } from "react"; +interface SVGRProps { + title?: string; + titleId?: string; +} + +const InfoIcon = ({ + title, + titleId, + ...props +}: SVGProps & SVGRProps) => ( + + {title ? {title} : null} + + +); + +export default InfoIcon; diff --git a/frontend-components/plotly/src/components/Icons/Success.tsx b/frontend-components/plotly/src/components/Icons/Success.tsx new file mode 100644 index 00000000000..e9271a10cb3 --- /dev/null +++ b/frontend-components/plotly/src/components/Icons/Success.tsx @@ -0,0 +1,39 @@ +import type { SVGProps } from "react"; +interface SVGRProps { + title?: string; + titleId?: string; +} + +const SuccessIcon = ({ + title, + titleId, + ...props +}: SVGProps & SVGRProps) => ( + + {title ? {title} : null} + + + +); + +export default SuccessIcon; diff --git a/frontend-components/plotly/src/components/Icons/Warning.tsx b/frontend-components/plotly/src/components/Icons/Warning.tsx new file mode 100644 index 00000000000..3a82f08ed91 --- /dev/null +++ b/frontend-components/plotly/src/components/Icons/Warning.tsx @@ -0,0 +1,32 @@ +import type { SVGProps } from "react"; +interface SVGRProps { + title?: string; + titleId?: string; +} + +const WarningIcon = ({ + title, + titleId, + ...props +}: SVGProps & SVGRProps) => ( + + {title ? {title} : null} + + +); + +export default WarningIcon; diff --git a/frontend-components/plotly/src/components/PlotlyConfig.tsx b/frontend-components/plotly/src/components/PlotlyConfig.tsx new file mode 100644 index 00000000000..ec9e4c27a3c --- /dev/null +++ b/frontend-components/plotly/src/components/PlotlyConfig.tsx @@ -0,0 +1,172 @@ +import { Icons as PlotlyIcons } from "plotly.js-dist-min"; +import { ICONS } from "./Config"; +import { useHotkeys } from "react-hotkeys-hook"; +import { downloadCSV, downloadImage } from "../utils/utils"; + +export function hideModebar(hide: boolean = true) { + return new Promise((resolve) => { + if (!window.MODEBAR) { + window.MODEBAR = window.document.getElementsByClassName( + "modebar-container" + )[0] as HTMLElement; + window.MODEBAR.style.cssText = `${window.MODEBAR.style.cssText}; display:flex;`; + } + let includes_text = "display: none"; + if (window.MODEBAR) { + if (window.MODEBAR.style.cssText.includes("display: none") && !hide) { + includes_text = "display: flex"; + window.MODEBAR.style.cssText = `${window.MODEBAR.style.cssText}; display:flex;`; + } else { + window.MODEBAR.style.cssText = `${window.MODEBAR.style.cssText}; display:none;`; + } + resolve(true); + } + }); +} + +export function PlotConfig({ + setModal, + changeTheme, + autoScaling, + Loading, + changeColor, +}: { + setModal: (modal: { modal: string; data?: any }) => void; + changeTheme: (change: boolean) => void; + autoScaling: (change: boolean) => void; + Loading: (change: boolean) => void; + changeColor: (change: boolean) => void; +}) { + useHotkeys( + "ctrl+shift+t", + () => { + setModal({ modal: "titleDialog" }); + }, + { preventDefault: true } + ); + useHotkeys( + "ctrl+t", + () => { + setModal({ modal: "textDialog" }); + }, + { preventDefault: true } + ); + useHotkeys( + "ctrl+o", + () => { + setModal({ modal: "overlayChart" }); + }, + { preventDefault: true } + ); + useHotkeys( + "ctrl+shift+h", + () => { + hideModebar(); + }, + { preventDefault: true } + ); + useHotkeys( + "ctrl+w", + () => { + window.close(); + }, + { preventDefault: true } + ); + + + const CONFIG = { + plotGlPixelRatio: 1, + scrollZoom: true, + responsive: true, + displaylogo: false, + displayModeBar: true, + modeBarButtonsToRemove: ["lasso2d", "select2d", "downloadImage"], + modeBarButtons: [ + [ + { + name: "Download CSV (Ctrl+Shift+S)", + icon: ICONS.downloadCsv, + click: async function (gd: any) { + setModal({ modal: "downloadCsv" }); + await downloadCSV(gd); + }, + }, + { + name: "Download Chart as Image (Ctrl+S)", + icon: ICONS.downloadImage, + click: async function () { + hideModebar(); + await downloadImage("MainChart", hideModebar, Loading); + }, + }, + // { + // name: "Upload Image (Ctrl+U)", + // icon: Plotly.Icons.uploadImage, + // click: function (gd) { + // downloadImage(); + // }, + // }, + ], + [ + { + name: "Edit Color (Ctrl+E)", + icon: ICONS.changeColor, + click: function () { + changeColor(true); + }, + }, + "drawline", + "drawopenpath", + "drawcircle", + "drawrect", + "eraseshape", + ], + [ + { + name: "Overlay chart from CSV (Ctrl+O)", + icon: ICONS.plotCsv, + click: function () { + setModal({ modal: "overlayChart" }); + }, + }, + { + name: "Add Text (Ctrl+T)", + icon: ICONS.addText, + click: function () { + setModal({ modal: "textDialog", data: { text: "" } }); + }, + }, + { + name: "Change Titles (Ctrl+Shift+T)", + icon: ICONS.changeTitle, + click: function () { + setModal({ modal: "titleDialog" }); + }, + }, + { + name: "Change Theme", + icon: ICONS.sunIcon, + click: function () { + changeTheme(true); + }, + }, + ], + ["hoverClosestCartesian", "hoverCompareCartesian", "toggleSpikelines"], + [ + { + name: "Auto Scale (Ctrl+Shift+A)", + icon: PlotlyIcons.autoscale, + click: function () { + autoScaling(true); + }, + }, + "zoomIn2d", + "zoomOut2d", + "autoScale2d", + "zoom2d", + "pan2d", + ], + ], + }; + return CONFIG; +} diff --git a/frontend-components/plotly/src/components/ResizeHandler.tsx b/frontend-components/plotly/src/components/ResizeHandler.tsx new file mode 100644 index 00000000000..9262f6cf764 --- /dev/null +++ b/frontend-components/plotly/src/components/ResizeHandler.tsx @@ -0,0 +1,84 @@ +//@ts-nocheck +import { Figure } from "react-plotly.js"; +import { hideModebar } from "./PlotlyConfig"; + +export default async function ResizeHandler({ + plotData, + Volume, +}: { + plotData: Figure; + Volume: any; +}) { + // We hide the modebar and set the number of ticks to 5 + const XAXIS = Object.keys(plotData.layout) + .filter((x) => x.startsWith("xaxis")) + .filter((x) => plotData.layout[x].showticklabels); + + const TRACES = plotData.data.filter((trace) => + trace?.name?.startsWith("Volume") + ); + + let layout_update: any = {}; + let volume: any = Volume || { old_nticks: {} }; + + const width = window.innerWidth; + const height = window.innerHeight; + let tick_size = + height > 420 && width < 920 ? 9 : height > 420 && width < 500 ? 10 : 8; + + if (width < 750) { + // We hide the modebar and set the number of ticks to 5 + + TRACES.forEach((trace) => { + if (trace.type == "bar") { + trace.opacity = 1; + trace.marker.line.width = 0.09; + if (Volume.yaxis == undefined) { + volume.yaxis = "yaxis" + trace.yaxis.replace("y", ""); + layout_update[volume.yaxis + ".tickfont.size"] = tick_size; + volume.tickfont = plotData.layout[volume.yaxis].tickfont || {}; + + plotData.layout.margin.l -= 40; + } + } + }); + XAXIS.forEach((x) => { + if (volume.old_nticks?.[x] == undefined) { + layout_update[x + ".nticks"] = 6; + volume.old_nticks[x] = plotData.layout[x].nticks || 10; + } + }); + await hideModebar(); + } else if (window.MODEBAR.style.cssText.includes("display: none")) { + // We show the modebar + await hideModebar(false); + + if (Volume.old_nticks != undefined) { + XAXIS.forEach((x) => { + if (volume.old_nticks[x] != undefined) { + layout_update[x + ".nticks"] = volume.old_nticks[x]; + volume.old_nticks[x] = undefined; + } + }); + } + + if (Volume.yaxis != undefined) { + TRACES.forEach((trace) => { + if (trace.type == "bar") { + trace.opacity = 0.5; + trace.marker.line.width = 0.2; + layout_update[volume.yaxis + ".tickfont.size"] = + volume.tickfont.size + 3; + plotData.layout.margin.l += 40; + volume.yaxis = undefined; + } + }); + } + } + + return { + volume_update: volume, + layout_update: layout_update, + plotData: plotData, + }; +} diff --git a/frontend-components/plotly/src/data/mockup.ts b/frontend-components/plotly/src/data/mockup.ts new file mode 100644 index 00000000000..98a974b22e8 --- /dev/null +++ b/frontend-components/plotly/src/data/mockup.ts @@ -0,0 +1,14420 @@ +export const plotlyMockup = { + "collect_logs": false, + "command_location": "/stocks/ta/bbands", + "data": [ + { + "connectgaps": true, + "hovertemplate": "%{y}", + "name": "QQQ Bollinger Bands Close ", + "type": "scatter", + "x": [ + "2020-04-20T00:00:00", + "2020-04-21T00:00:00", + "2020-04-22T00:00:00", + "2020-04-23T00:00:00", + "2020-04-24T00:00:00", + "2020-04-27T00:00:00", + "2020-04-28T00:00:00", + "2020-04-29T00:00:00", + "2020-04-30T00:00:00", + "2020-05-01T00:00:00", + "2020-05-04T00:00:00", + "2020-05-05T00:00:00", + "2020-05-06T00:00:00", + "2020-05-07T00:00:00", + "2020-05-08T00:00:00", + "2020-05-11T00:00:00", + "2020-05-12T00:00:00", + "2020-05-13T00:00:00", + "2020-05-14T00:00:00", + "2020-05-15T00:00:00", + "2020-05-18T00:00:00", + "2020-05-19T00:00:00", + "2020-05-20T00:00:00", + "2020-05-21T00:00:00", + "2020-05-22T00:00:00", + "2020-05-26T00:00:00", + "2020-05-27T00:00:00", + "2020-05-28T00:00:00", + "2020-05-29T00:00:00", + "2020-06-01T00:00:00", + "2020-06-02T00:00:00", + "2020-06-03T00:00:00", + "2020-06-04T00:00:00", + "2020-06-05T00:00:00", + "2020-06-08T00:00:00", + "2020-06-09T00:00:00", + "2020-06-10T00:00:00", + "2020-06-11T00:00:00", + "2020-06-12T00:00:00", + "2020-06-15T00:00:00", + "2020-06-16T00:00:00", + "2020-06-17T00:00:00", + "2020-06-18T00:00:00", + "2020-06-19T00:00:00", + "2020-06-22T00:00:00", + "2020-06-23T00:00:00", + "2020-06-24T00:00:00", + "2020-06-25T00:00:00", + "2020-06-26T00:00:00", + "2020-06-29T00:00:00", + "2020-06-30T00:00:00", + "2020-07-01T00:00:00", + "2020-07-02T00:00:00", + "2020-07-06T00:00:00", + "2020-07-07T00:00:00", + "2020-07-08T00:00:00", + "2020-07-09T00:00:00", + "2020-07-10T00:00:00", + "2020-07-13T00:00:00", + "2020-07-14T00:00:00", + "2020-07-15T00:00:00", + "2020-07-16T00:00:00", + "2020-07-17T00:00:00", + "2020-07-20T00:00:00", + "2020-07-21T00:00:00", + "2020-07-22T00:00:00", + "2020-07-23T00:00:00", + "2020-07-24T00:00:00", + "2020-07-27T00:00:00", + "2020-07-28T00:00:00", + "2020-07-29T00:00:00", + "2020-07-30T00:00:00", + "2020-07-31T00:00:00", + "2020-08-03T00:00:00", + "2020-08-04T00:00:00", + "2020-08-05T00:00:00", + "2020-08-06T00:00:00", + "2020-08-07T00:00:00", + "2020-08-10T00:00:00", + "2020-08-11T00:00:00", + "2020-08-12T00:00:00", + "2020-08-13T00:00:00", + "2020-08-14T00:00:00", + "2020-08-17T00:00:00", + "2020-08-18T00:00:00", + "2020-08-19T00:00:00", + "2020-08-20T00:00:00", + "2020-08-21T00:00:00", + "2020-08-24T00:00:00", + "2020-08-25T00:00:00", + "2020-08-26T00:00:00", + "2020-08-27T00:00:00", + "2020-08-28T00:00:00", + "2020-08-31T00:00:00", + "2020-09-01T00:00:00", + "2020-09-02T00:00:00", + "2020-09-03T00:00:00", + "2020-09-04T00:00:00", + "2020-09-08T00:00:00", + "2020-09-09T00:00:00", + "2020-09-10T00:00:00", + "2020-09-11T00:00:00", + "2020-09-14T00:00:00", + "2020-09-15T00:00:00", + "2020-09-16T00:00:00", + "2020-09-17T00:00:00", + "2020-09-18T00:00:00", + "2020-09-21T00:00:00", + "2020-09-22T00:00:00", + "2020-09-23T00:00:00", + "2020-09-24T00:00:00", + "2020-09-25T00:00:00", + "2020-09-28T00:00:00", + "2020-09-29T00:00:00", + "2020-09-30T00:00:00", + "2020-10-01T00:00:00", + "2020-10-02T00:00:00", + "2020-10-05T00:00:00", + "2020-10-06T00:00:00", + "2020-10-07T00:00:00", + "2020-10-08T00:00:00", + "2020-10-09T00:00:00", + "2020-10-12T00:00:00", + "2020-10-13T00:00:00", + "2020-10-14T00:00:00", + "2020-10-15T00:00:00", + "2020-10-16T00:00:00", + "2020-10-19T00:00:00", + "2020-10-20T00:00:00", + "2020-10-21T00:00:00", + "2020-10-22T00:00:00", + "2020-10-23T00:00:00", + "2020-10-26T00:00:00", + "2020-10-27T00:00:00", + "2020-10-28T00:00:00", + "2020-10-29T00:00:00", + "2020-10-30T00:00:00", + "2020-11-02T00:00:00", + "2020-11-03T00:00:00", + "2020-11-04T00:00:00", + "2020-11-05T00:00:00", + "2020-11-06T00:00:00", + "2020-11-09T00:00:00", + "2020-11-10T00:00:00", + "2020-11-11T00:00:00", + "2020-11-12T00:00:00", + "2020-11-13T00:00:00", + "2020-11-16T00:00:00", + "2020-11-17T00:00:00", + "2020-11-18T00:00:00", + "2020-11-19T00:00:00", + "2020-11-20T00:00:00", + "2020-11-23T00:00:00", + "2020-11-24T00:00:00", + "2020-11-25T00:00:00", + "2020-11-27T00:00:00", + "2020-11-30T00:00:00", + "2020-12-01T00:00:00", + "2020-12-02T00:00:00", + "2020-12-03T00:00:00", + "2020-12-04T00:00:00", + "2020-12-07T00:00:00", + "2020-12-08T00:00:00", + "2020-12-09T00:00:00", + "2020-12-10T00:00:00", + "2020-12-11T00:00:00", + "2020-12-14T00:00:00", + "2020-12-15T00:00:00", + "2020-12-16T00:00:00", + "2020-12-17T00:00:00", + "2020-12-18T00:00:00", + "2020-12-21T00:00:00", + "2020-12-22T00:00:00", + "2020-12-23T00:00:00", + "2020-12-24T00:00:00", + "2020-12-28T00:00:00", + "2020-12-29T00:00:00", + "2020-12-30T00:00:00", + "2020-12-31T00:00:00", + "2021-01-04T00:00:00", + "2021-01-05T00:00:00", + "2021-01-06T00:00:00", + "2021-01-07T00:00:00", + "2021-01-08T00:00:00", + "2021-01-11T00:00:00", + "2021-01-12T00:00:00", + "2021-01-13T00:00:00", + "2021-01-14T00:00:00", + "2021-01-15T00:00:00", + "2021-01-19T00:00:00", + "2021-01-20T00:00:00", + "2021-01-21T00:00:00", + "2021-01-22T00:00:00", + "2021-01-25T00:00:00", + "2021-01-26T00:00:00", + "2021-01-27T00:00:00", + "2021-01-28T00:00:00", + "2021-01-29T00:00:00", + "2021-02-01T00:00:00", + "2021-02-02T00:00:00", + "2021-02-03T00:00:00", + "2021-02-04T00:00:00", + "2021-02-05T00:00:00", + "2021-02-08T00:00:00", + "2021-02-09T00:00:00", + "2021-02-10T00:00:00", + "2021-02-11T00:00:00", + "2021-02-12T00:00:00", + "2021-02-16T00:00:00", + "2021-02-17T00:00:00", + "2021-02-18T00:00:00", + "2021-02-19T00:00:00", + "2021-02-22T00:00:00", + "2021-02-23T00:00:00", + "2021-02-24T00:00:00", + "2021-02-25T00:00:00", + "2021-02-26T00:00:00", + "2021-03-01T00:00:00", + "2021-03-02T00:00:00", + "2021-03-03T00:00:00", + "2021-03-04T00:00:00", + "2021-03-05T00:00:00", + "2021-03-08T00:00:00", + "2021-03-09T00:00:00", + "2021-03-10T00:00:00", + "2021-03-11T00:00:00", + "2021-03-12T00:00:00", + "2021-03-15T00:00:00", + "2021-03-16T00:00:00", + "2021-03-17T00:00:00", + "2021-03-18T00:00:00", + "2021-03-19T00:00:00", + "2021-03-22T00:00:00", + "2021-03-23T00:00:00", + "2021-03-24T00:00:00", + "2021-03-25T00:00:00", + "2021-03-26T00:00:00", + "2021-03-29T00:00:00", + "2021-03-30T00:00:00", + "2021-03-31T00:00:00", + "2021-04-01T00:00:00", + "2021-04-05T00:00:00", + "2021-04-06T00:00:00", + "2021-04-07T00:00:00", + "2021-04-08T00:00:00", + "2021-04-09T00:00:00", + "2021-04-12T00:00:00", + "2021-04-13T00:00:00", + "2021-04-14T00:00:00", + "2021-04-15T00:00:00", + "2021-04-16T00:00:00", + "2021-04-19T00:00:00", + "2021-04-20T00:00:00", + "2021-04-21T00:00:00", + "2021-04-22T00:00:00", + "2021-04-23T00:00:00", + "2021-04-26T00:00:00", + "2021-04-27T00:00:00", + "2021-04-28T00:00:00", + "2021-04-29T00:00:00", + "2021-04-30T00:00:00", + "2021-05-03T00:00:00", + "2021-05-04T00:00:00", + "2021-05-05T00:00:00", + "2021-05-06T00:00:00", + "2021-05-07T00:00:00", + "2021-05-10T00:00:00", + "2021-05-11T00:00:00", + "2021-05-12T00:00:00", + "2021-05-13T00:00:00", + "2021-05-14T00:00:00", + "2021-05-17T00:00:00", + "2021-05-18T00:00:00", + "2021-05-19T00:00:00", + "2021-05-20T00:00:00", + "2021-05-21T00:00:00", + "2021-05-24T00:00:00", + "2021-05-25T00:00:00", + "2021-05-26T00:00:00", + "2021-05-27T00:00:00", + "2021-05-28T00:00:00", + "2021-06-01T00:00:00", + "2021-06-02T00:00:00", + "2021-06-03T00:00:00", + "2021-06-04T00:00:00", + "2021-06-07T00:00:00", + "2021-06-08T00:00:00", + "2021-06-09T00:00:00", + "2021-06-10T00:00:00", + "2021-06-11T00:00:00", + "2021-06-14T00:00:00", + "2021-06-15T00:00:00", + "2021-06-16T00:00:00", + "2021-06-17T00:00:00", + "2021-06-18T00:00:00", + "2021-06-21T00:00:00", + "2021-06-22T00:00:00", + "2021-06-23T00:00:00", + "2021-06-24T00:00:00", + "2021-06-25T00:00:00", + "2021-06-28T00:00:00", + "2021-06-29T00:00:00", + "2021-06-30T00:00:00", + "2021-07-01T00:00:00", + "2021-07-02T00:00:00", + "2021-07-06T00:00:00", + "2021-07-07T00:00:00", + "2021-07-08T00:00:00", + "2021-07-09T00:00:00", + "2021-07-12T00:00:00", + "2021-07-13T00:00:00", + "2021-07-14T00:00:00", + "2021-07-15T00:00:00", + "2021-07-16T00:00:00", + "2021-07-19T00:00:00", + "2021-07-20T00:00:00", + "2021-07-21T00:00:00", + "2021-07-22T00:00:00", + "2021-07-23T00:00:00", + "2021-07-26T00:00:00", + "2021-07-27T00:00:00", + "2021-07-28T00:00:00", + "2021-07-29T00:00:00", + "2021-07-30T00:00:00", + "2021-08-02T00:00:00", + "2021-08-03T00:00:00", + "2021-08-04T00:00:00", + "2021-08-05T00:00:00", + "2021-08-06T00:00:00", + "2021-08-09T00:00:00", + "2021-08-10T00:00:00", + "2021-08-11T00:00:00", + "2021-08-12T00:00:00", + "2021-08-13T00:00:00", + "2021-08-16T00:00:00", + "2021-08-17T00:00:00", + "2021-08-18T00:00:00", + "2021-08-19T00:00:00", + "2021-08-20T00:00:00", + "2021-08-23T00:00:00", + "2021-08-24T00:00:00", + "2021-08-25T00:00:00", + "2021-08-26T00:00:00", + "2021-08-27T00:00:00", + "2021-08-30T00:00:00", + "2021-08-31T00:00:00", + "2021-09-01T00:00:00", + "2021-09-02T00:00:00", + "2021-09-03T00:00:00", + "2021-09-07T00:00:00", + "2021-09-08T00:00:00", + "2021-09-09T00:00:00", + "2021-09-10T00:00:00", + "2021-09-13T00:00:00", + "2021-09-14T00:00:00", + "2021-09-15T00:00:00", + "2021-09-16T00:00:00", + "2021-09-17T00:00:00", + "2021-09-20T00:00:00", + "2021-09-21T00:00:00", + "2021-09-22T00:00:00", + "2021-09-23T00:00:00", + "2021-09-24T00:00:00", + "2021-09-27T00:00:00", + "2021-09-28T00:00:00", + "2021-09-29T00:00:00", + "2021-09-30T00:00:00", + "2021-10-01T00:00:00", + "2021-10-04T00:00:00", + "2021-10-05T00:00:00", + "2021-10-06T00:00:00", + "2021-10-07T00:00:00", + "2021-10-08T00:00:00", + "2021-10-11T00:00:00", + "2021-10-12T00:00:00", + "2021-10-13T00:00:00", + "2021-10-14T00:00:00", + "2021-10-15T00:00:00", + "2021-10-18T00:00:00", + "2021-10-19T00:00:00", + "2021-10-20T00:00:00", + "2021-10-21T00:00:00", + "2021-10-22T00:00:00", + "2021-10-25T00:00:00", + "2021-10-26T00:00:00", + "2021-10-27T00:00:00", + "2021-10-28T00:00:00", + "2021-10-29T00:00:00", + "2021-11-01T00:00:00", + "2021-11-02T00:00:00", + "2021-11-03T00:00:00", + "2021-11-04T00:00:00", + "2021-11-05T00:00:00", + "2021-11-08T00:00:00", + "2021-11-09T00:00:00", + "2021-11-10T00:00:00", + "2021-11-11T00:00:00", + "2021-11-12T00:00:00", + "2021-11-15T00:00:00", + "2021-11-16T00:00:00", + "2021-11-17T00:00:00", + "2021-11-18T00:00:00", + "2021-11-19T00:00:00", + "2021-11-22T00:00:00", + "2021-11-23T00:00:00", + "2021-11-24T00:00:00", + "2021-11-26T00:00:00", + "2021-11-29T00:00:00", + "2021-11-30T00:00:00", + "2021-12-01T00:00:00", + "2021-12-02T00:00:00", + "2021-12-03T00:00:00", + "2021-12-06T00:00:00", + "2021-12-07T00:00:00", + "2021-12-08T00:00:00", + "2021-12-09T00:00:00", + "2021-12-10T00:00:00", + "2021-12-13T00:00:00", + "2021-12-14T00:00:00", + "2021-12-15T00:00:00", + "2021-12-16T00:00:00", + "2021-12-17T00:00:00", + "2021-12-20T00:00:00", + "2021-12-21T00:00:00", + "2021-12-22T00:00:00", + "2021-12-23T00:00:00", + "2021-12-27T00:00:00", + "2021-12-28T00:00:00", + "2021-12-29T00:00:00", + "2021-12-30T00:00:00", + "2021-12-31T00:00:00", + "2022-01-03T00:00:00", + "2022-01-04T00:00:00", + "2022-01-05T00:00:00", + "2022-01-06T00:00:00", + "2022-01-07T00:00:00", + "2022-01-10T00:00:00", + "2022-01-11T00:00:00", + "2022-01-12T00:00:00", + "2022-01-13T00:00:00", + "2022-01-14T00:00:00", + "2022-01-18T00:00:00", + "2022-01-19T00:00:00", + "2022-01-20T00:00:00", + "2022-01-21T00:00:00", + "2022-01-24T00:00:00", + "2022-01-25T00:00:00", + "2022-01-26T00:00:00", + "2022-01-27T00:00:00", + "2022-01-28T00:00:00", + "2022-01-31T00:00:00", + "2022-02-01T00:00:00", + "2022-02-02T00:00:00", + "2022-02-03T00:00:00", + "2022-02-04T00:00:00", + "2022-02-07T00:00:00", + "2022-02-08T00:00:00", + "2022-02-09T00:00:00", + "2022-02-10T00:00:00", + "2022-02-11T00:00:00", + "2022-02-14T00:00:00", + "2022-02-15T00:00:00", + "2022-02-16T00:00:00", + "2022-02-17T00:00:00", + "2022-02-18T00:00:00", + "2022-02-22T00:00:00", + "2022-02-23T00:00:00", + "2022-02-24T00:00:00", + "2022-02-25T00:00:00", + "2022-02-28T00:00:00", + "2022-03-01T00:00:00", + "2022-03-02T00:00:00", + "2022-03-03T00:00:00", + "2022-03-04T00:00:00", + "2022-03-07T00:00:00", + "2022-03-08T00:00:00", + "2022-03-09T00:00:00", + "2022-03-10T00:00:00", + "2022-03-11T00:00:00", + "2022-03-14T00:00:00", + "2022-03-15T00:00:00", + "2022-03-16T00:00:00", + "2022-03-17T00:00:00", + "2022-03-18T00:00:00", + "2022-03-21T00:00:00", + "2022-03-22T00:00:00", + "2022-03-23T00:00:00", + "2022-03-24T00:00:00", + "2022-03-25T00:00:00", + "2022-03-28T00:00:00", + "2022-03-29T00:00:00", + "2022-03-30T00:00:00", + "2022-03-31T00:00:00", + "2022-04-01T00:00:00", + "2022-04-04T00:00:00", + "2022-04-05T00:00:00", + "2022-04-06T00:00:00", + "2022-04-07T00:00:00", + "2022-04-08T00:00:00", + "2022-04-11T00:00:00", + "2022-04-12T00:00:00", + "2022-04-13T00:00:00", + "2022-04-14T00:00:00", + "2022-04-18T00:00:00", + "2022-04-19T00:00:00", + "2022-04-20T00:00:00", + "2022-04-21T00:00:00", + "2022-04-22T00:00:00", + "2022-04-25T00:00:00", + "2022-04-26T00:00:00", + "2022-04-27T00:00:00", + "2022-04-28T00:00:00", + "2022-04-29T00:00:00", + "2022-05-02T00:00:00", + "2022-05-03T00:00:00", + "2022-05-04T00:00:00", + "2022-05-05T00:00:00", + "2022-05-06T00:00:00", + "2022-05-09T00:00:00", + "2022-05-10T00:00:00", + "2022-05-11T00:00:00", + "2022-05-12T00:00:00", + "2022-05-13T00:00:00", + "2022-05-16T00:00:00", + "2022-05-17T00:00:00", + "2022-05-18T00:00:00", + "2022-05-19T00:00:00", + "2022-05-20T00:00:00", + "2022-05-23T00:00:00", + "2022-05-24T00:00:00", + "2022-05-25T00:00:00", + "2022-05-26T00:00:00", + "2022-05-27T00:00:00", + "2022-05-31T00:00:00", + "2022-06-01T00:00:00", + "2022-06-02T00:00:00", + "2022-06-03T00:00:00", + "2022-06-06T00:00:00", + "2022-06-07T00:00:00", + "2022-06-08T00:00:00", + "2022-06-09T00:00:00", + "2022-06-10T00:00:00", + "2022-06-13T00:00:00", + "2022-06-14T00:00:00", + "2022-06-15T00:00:00", + "2022-06-16T00:00:00", + "2022-06-17T00:00:00", + "2022-06-21T00:00:00", + "2022-06-22T00:00:00", + "2022-06-23T00:00:00", + "2022-06-24T00:00:00", + "2022-06-27T00:00:00", + "2022-06-28T00:00:00", + "2022-06-29T00:00:00", + "2022-06-30T00:00:00", + "2022-07-01T00:00:00", + "2022-07-05T00:00:00", + "2022-07-06T00:00:00", + "2022-07-07T00:00:00", + "2022-07-08T00:00:00", + "2022-07-11T00:00:00", + "2022-07-12T00:00:00", + "2022-07-13T00:00:00", + "2022-07-14T00:00:00", + "2022-07-15T00:00:00", + "2022-07-18T00:00:00", + "2022-07-19T00:00:00", + "2022-07-20T00:00:00", + "2022-07-21T00:00:00", + "2022-07-22T00:00:00", + "2022-07-25T00:00:00", + "2022-07-26T00:00:00", + "2022-07-27T00:00:00", + "2022-07-28T00:00:00", + "2022-07-29T00:00:00", + "2022-08-01T00:00:00", + "2022-08-02T00:00:00", + "2022-08-03T00:00:00", + "2022-08-04T00:00:00", + "2022-08-05T00:00:00", + "2022-08-08T00:00:00", + "2022-08-09T00:00:00", + "2022-08-10T00:00:00", + "2022-08-11T00:00:00", + "2022-08-12T00:00:00", + "2022-08-15T00:00:00", + "2022-08-16T00:00:00", + "2022-08-17T00:00:00", + "2022-08-18T00:00:00", + "2022-08-19T00:00:00", + "2022-08-22T00:00:00", + "2022-08-23T00:00:00", + "2022-08-24T00:00:00", + "2022-08-25T00:00:00", + "2022-08-26T00:00:00", + "2022-08-29T00:00:00", + "2022-08-30T00:00:00", + "2022-08-31T00:00:00", + "2022-09-01T00:00:00", + "2022-09-02T00:00:00", + "2022-09-06T00:00:00", + "2022-09-07T00:00:00", + "2022-09-08T00:00:00", + "2022-09-09T00:00:00", + "2022-09-12T00:00:00", + "2022-09-13T00:00:00", + "2022-09-14T00:00:00", + "2022-09-15T00:00:00", + "2022-09-16T00:00:00", + "2022-09-19T00:00:00", + "2022-09-20T00:00:00", + "2022-09-21T00:00:00", + "2022-09-22T00:00:00", + "2022-09-23T00:00:00", + "2022-09-26T00:00:00", + "2022-09-27T00:00:00", + "2022-09-28T00:00:00", + "2022-09-29T00:00:00", + "2022-09-30T00:00:00", + "2022-10-03T00:00:00", + "2022-10-04T00:00:00", + "2022-10-05T00:00:00", + "2022-10-06T00:00:00", + "2022-10-07T00:00:00", + "2022-10-10T00:00:00", + "2022-10-11T00:00:00", + "2022-10-12T00:00:00", + "2022-10-13T00:00:00", + "2022-10-14T00:00:00", + "2022-10-17T00:00:00", + "2022-10-18T00:00:00", + "2022-10-19T00:00:00", + "2022-10-20T00:00:00", + "2022-10-21T00:00:00", + "2022-10-24T00:00:00", + "2022-10-25T00:00:00", + "2022-10-26T00:00:00", + "2022-10-27T00:00:00", + "2022-10-28T00:00:00", + "2022-10-31T00:00:00", + "2022-11-01T00:00:00", + "2022-11-02T00:00:00", + "2022-11-03T00:00:00", + "2022-11-04T00:00:00", + "2022-11-07T00:00:00", + "2022-11-08T00:00:00", + "2022-11-09T00:00:00", + "2022-11-10T00:00:00", + "2022-11-11T00:00:00", + "2022-11-14T00:00:00", + "2022-11-15T00:00:00", + "2022-11-16T00:00:00", + "2022-11-17T00:00:00", + "2022-11-18T00:00:00", + "2022-11-21T00:00:00", + "2022-11-22T00:00:00", + "2022-11-23T00:00:00", + "2022-11-25T00:00:00", + "2022-11-28T00:00:00", + "2022-11-29T00:00:00", + "2022-11-30T00:00:00", + "2022-12-01T00:00:00", + "2022-12-02T00:00:00", + "2022-12-05T00:00:00", + "2022-12-06T00:00:00", + "2022-12-07T00:00:00", + "2022-12-08T00:00:00", + "2022-12-09T00:00:00", + "2022-12-12T00:00:00", + "2022-12-13T00:00:00", + "2022-12-14T00:00:00", + "2022-12-15T00:00:00", + "2022-12-16T00:00:00", + "2022-12-19T00:00:00", + "2022-12-20T00:00:00", + "2022-12-21T00:00:00", + "2022-12-22T00:00:00", + "2022-12-23T00:00:00", + "2022-12-27T00:00:00", + "2022-12-28T00:00:00", + "2022-12-29T00:00:00", + "2022-12-30T00:00:00", + "2023-01-03T00:00:00", + "2023-01-04T00:00:00", + "2023-01-05T00:00:00", + "2023-01-06T00:00:00", + "2023-01-09T00:00:00", + "2023-01-10T00:00:00", + "2023-01-11T00:00:00", + "2023-01-12T00:00:00", + "2023-01-13T00:00:00", + "2023-01-17T00:00:00", + "2023-01-18T00:00:00", + "2023-01-19T00:00:00", + "2023-01-20T00:00:00", + "2023-01-23T00:00:00", + "2023-01-24T00:00:00", + "2023-01-25T00:00:00", + "2023-01-26T00:00:00", + "2023-01-27T00:00:00", + "2023-01-30T00:00:00", + "2023-01-31T00:00:00", + "2023-02-01T00:00:00", + "2023-02-02T00:00:00", + "2023-02-03T00:00:00", + "2023-02-06T00:00:00", + "2023-02-07T00:00:00", + "2023-02-08T00:00:00", + "2023-02-09T00:00:00", + "2023-02-10T00:00:00", + "2023-02-13T00:00:00", + "2023-02-14T00:00:00", + "2023-02-15T00:00:00", + "2023-02-16T00:00:00", + "2023-02-17T00:00:00", + "2023-02-21T00:00:00", + "2023-02-22T00:00:00", + "2023-02-23T00:00:00", + "2023-02-24T00:00:00", + "2023-02-27T00:00:00", + "2023-02-28T00:00:00", + "2023-03-01T00:00:00", + "2023-03-02T00:00:00", + "2023-03-03T00:00:00", + "2023-03-06T00:00:00", + "2023-03-07T00:00:00", + "2023-03-08T00:00:00", + "2023-03-09T00:00:00", + "2023-03-10T00:00:00", + "2023-03-13T00:00:00", + "2023-03-14T00:00:00", + "2023-03-15T00:00:00", + "2023-03-16T00:00:00", + "2023-03-17T00:00:00", + "2023-03-20T00:00:00", + "2023-03-21T00:00:00", + "2023-03-22T00:00:00", + "2023-03-23T00:00:00", + "2023-03-24T00:00:00", + "2023-03-27T00:00:00", + "2023-03-28T00:00:00", + "2023-03-29T00:00:00", + "2023-03-30T00:00:00", + "2023-03-31T00:00:00", + "2023-04-03T00:00:00", + "2023-04-04T00:00:00", + "2023-04-05T00:00:00", + "2023-04-06T00:00:00", + "2023-04-10T00:00:00", + "2023-04-11T00:00:00", + "2023-04-12T00:00:00", + "2023-04-13T00:00:00", + "2023-04-14T00:00:00", + "2023-04-17T00:00:00", + "2023-04-18T00:00:00", + "2023-04-19T00:00:00", + "2023-04-20T00:00:00", + "2023-04-21T00:00:00" + ], + "xaxis": "x", + "y": [ + 209.1029815673828, + 201.38719177246097, + 207.36322021484375, + 206.9208984375, + 210.1841735839844, + 211.874755859375, + 207.8841552734375, + 215.25592041015625, + 215.16749572753903, + 209.1029815673828, + 211.54055786132812, + 213.93885803222656, + 215.25592041015625, + 218.0277099609375, + 221.0157470703125, + 222.9913787841797, + 218.32260131835935, + 215.59011840820312, + 218.03756713867188, + 219.4529571533203, + 223.5418243408203, + 222.9815673828125, + 227.43409729003903, + 224.9571990966797, + 225.73370361328125, + 225.1242828369141, + 226.3529052734375, + 226.05809020996097, + 229.3704376220703, + 230.05845642089844, + 231.6016387939453, + 232.64352416992188, + 231.01190185546875, + 235.59222412109375, + 237.42041015625, + 239.14051818847656, + 242.01058959960935, + 230.0191650390625, + 231.8473663330078, + 234.66827392578125, + 238.69818115234375, + 239.45501708984375, + 240.1037445068359, + 240.064453125, + 242.9434356689453, + 245.0111083984375, + 239.9600830078125, + 242.24435424804688, + 236.52377319335935, + 239.1034393310547, + 243.79022216796875, + 246.6357421875, + 248.3095703125, + 254.4141845703125, + 252.6615447998047, + 255.9895782470703, + 258.1458435058594, + 259.9083251953125, + 254.56187438964844, + 256.36370849609375, + 256.8855895996094, + 255.1329803466797, + 255.4283447265625, + 262.67510986328125, + 259.9378967285156, + 260.8535461425781, + 254.0400848388672, + 251.62774658203125, + 256.1175537109375, + 252.8585205078125, + 255.77293395996097, + 257.1119689941406, + 261.7003173828125, + 265.2350769042969, + 266.2196960449219, + 266.87933349609375, + 270.4141845703125, + 267.2929382324219, + 266.1507873535156, + 261.10955810546875, + 267.6768798828125, + 268.287353515625, + 267.9723205566406, + 271.08367919921875, + 273.6929016113281, + 271.8517150878906, + 275.62274169921875, + 277.5328674316406, + 279.265869140625, + 281.46148681640625, + 287.46759033203125, + 286.5716247558594, + 288.0289306640625, + 290.3427734375, + 295.3051452636719, + 298.10150146484375, + 282.9876708984375, + 279.21661376953125, + 265.7963562011719, + 273.60430908203125, + 268.1495666503906, + 266.2886047363281, + 270.9261474609375, + 274.76611328125, + 270.38458251953125, + 266.16064453125, + 262.76373291015625, + 263.39385986328125, + 268.287353515625, + 260.09539794921875, + 261.3064880371094, + 267.3815002441406, + 272.9347839355469, + 271.7040100097656, + 273.5649108886719, + 277.9071044921875, + 270.0892028808594, + 275.84918212890625, + 270.9261474609375, + 275.6129150390625, + 277.0799865722656, + 281.3138427734375, + 289.99810791015625, + 289.9881591796875, + 287.56610107421875, + 285.6362609863281, + 284.07073974609375, + 279.43316650390625, + 280.0338439941406, + 279.81719970703125, + 279.8073425292969, + 280.3587341308594, + 276.1544189453125, + 278.3106994628906, + 267.4602966308594, + 272.13726806640625, + 265.2350769042969, + 265.82586669921875, + 270.4239807128906, + 282.495361328125, + 289.8602600097656, + 290.0768737792969, + 284.14947509765625, + 279.05908203125, + 285.3014831542969, + 283.9623718261719, + 286.4535217285156, + 288.6885986328125, + 287.7728576660156, + 285.6460876464844, + 287.8811950683594, + 285.9119567871094, + 285.9218444824219, + 289.93896484375, + 291.72119140625, + 294.4091796875, + 295.0097961425781, + 298.79071044921875, + 299.17474365234375, + 299.59808349609375, + 300.8190002441406, + 302.52239990234375, + 303.54632568359375, + 296.6737976074219, + 297.8652038574219, + 297.2054748535156, + 299.36175537109375, + 302.5617980957031, + 304.2257385253906, + 306.2147216796875, + 305.2891540527344, + 304.718017578125, + 305.54656982421875, + 304.0078430175781, + 305.3493347167969, + 308.4268493652344, + 308.70306396484375, + 308.712890625, + 309.47247314453125, + 305.1026916503906, + 307.61798095703125, + 303.3567810058594, + 310.69561767578125, + 314.6905212402344, + 310.1431884765625, + 309.6500244140625, + 311.74114990234375, + 310.0741882324219, + 307.61798095703125, + 312.1061096191406, + 319.36602783203125, + 321.9208068847656, + 320.9936218261719, + 323.6470031738281, + 324.1204833984375, + 315.0850830078125, + 316.9493713378906, + 310.28131103515625, + 318.034423828125, + 323.2228088378906, + 321.94049072265625, + 325.74798583984375, + 326.852783203125, + 329.0425720214844, + 328.9735107421875, + 328.2239074707031, + 330.02899169921875, + 331.87353515625, + 330.9759521484375, + 329.3877868652344, + 327.94769287109375, + 326.5173645019531, + 318.0541076660156, + 317.1072082519531, + 319.7210998535156, + 308.5748291015625, + 309.8670349121094, + 319.1884460449219, + 314.0690612792969, + 304.9547424316406, + 299.96356201171875, + 304.4812927246094, + 295.86016845703125, + 307.5292053222656, + 306.6513366699219, + 313.7139587402344, + 311.1690368652344, + 314.4931945800781, + 316.21942138671875, + 317.5214538574219, + 307.79559326171875, + 308.8805847167969, + 314.67315673828125, + 313.30035400390625, + 308.01641845703125, + 307.4830322265625, + 312.0953674316406, + 312.00653076171875, + 310.43609619140625, + 315.1867370605469, + 320.55950927734375, + 326.9594421386719, + 326.7322692871094, + 327.5223388671875, + 330.9395751953125, + 332.94451904296875, + 332.510009765625, + 336.3914794921875, + 332.3519592285156, + 337.3889465332031, + 337.78399658203125, + 334.69268798828125, + 332.25323486328125, + 335.09759521484375, + 331.0581359863281, + 335.2260437011719, + 337.40869140625, + 335.94696044921875, + 334.81121826171875, + 336.01611328125, + 333.813720703125, + 332.0358581542969, + 326.0606689453125, + 324.9643859863281, + 327.41375732421875, + 330.07049560546875, + 321.73480224609375, + 321.29034423828125, + 312.974365234375, + 315.39410400390625, + 322.3570251464844, + 320.4014892578125, + 318.23858642578125, + 318.60394287109375, + 324.7668151855469, + 322.9693603515625, + 328.4013671875, + 328.855712890625, + 330.00140380859375, + 328.7668151855469, + 329.8038024902344, + 328.7075500488281, + 329.3494873046875, + 325.92236328125, + 331.4532470703125, + 332.44085693359375, + 332.598876953125, + 332.6778869628906, + 336.1445007324219, + 337.02349853515625, + 340.2531433105469, + 338.0309143066406, + 336.7963562011719, + 341.0728454589844, + 338.3963623046875, + 340.4994812011719, + 343.6734924316406, + 343.8415832519531, + 345.9674987792969, + 345.54229736328125, + 349.7446594238281, + 351.01031494140625, + 350.45654296875, + 350.59503173828125, + 354.6194152832031, + 356.1519775390625, + 356.90350341796875, + 354.7479553222656, + 356.9627990722656, + 358.3570251464844, + 358.3570251464844, + 358.9997253417969, + 356.4783020019531, + 353.591064453125, + 350.6939392089844, + 354.76776123046875, + 357.5066833496094, + 359.8699035644531, + 364.0722351074219, + 364.35894775390625, + 360.3444519042969, + 361.728759765625, + 362.37152099609375, + 360.4828796386719, + 360.5126037597656, + 362.69781494140625, + 363.2218627929687, + 365.5257263183594, + 363.92388916015625, + 364.5962829589844, + 362.7274475097656, + 362.1045227050781, + 363.4096984863281, + 364.685302734375, + 364.843505859375, + 361.6299133300781, + 358.1493835449219, + 359.8797302246094, + 363.60748291015625, + 369.04583740234375, + 370.1730651855469, + 370.5982360839844, + 368.2449340820313, + 371.8243103027344, + 375.99700927734375, + 375.6905212402344, + 376.3133850097656, + 376.1354675292969, + 377.2922973632813, + 377.8262939453125, + 376.51116943359375, + 375.2158508300781, + 372.3681640625, + 372.1110229492187, + 371.0531005859375, + 373.811767578125, + 374.06884765625, + 369.63909912109375, + 362.0011291503906, + 362.4465942382813, + 365.83203125, + 369.2075500488281, + 369.5539855957031, + 366.6041259765625, + 356.2301025390625, + 355.6460876464844, + 354.3394470214844, + 356.5369567871094, + 349.0534362792969, + 353.76531982421875, + 356.0321044921875, + 359.2987976074219, + 357.5071105957031, + 354.7651062011719, + 353.5277404785156, + 356.3587951660156, + 362.9217834472656, + 365.2083740234375, + 368.880859375, + 371.6723327636719, + 371.1873168945313, + 373.4541015625, + 370.3162231445313, + 374.1074523925781, + 375.285400390625, + 376.1565246582031, + 380.3338012695313, + 382.2047119140625, + 383.5113220214844, + 385.1149597167969, + 389.2032165527344, + 394.1922607421875, + 394.5683898925781, + 394.0338439941406, + 391.3215637207031, + 385.5703430175781, + 386.6393737792969, + 390.7078247070313, + 390.6187438964844, + 393.40032958984375, + 393.6082458496094, + 397.6864929199219, + 399.9038391113281, + 395.26129150390625, + 393.4596862792969, + 394.726806640625, + 387.2432556152344, + 395.6473693847656, + 389.8367309570313, + 383.2044372558594, + 385.9662780761719, + 379.2548522949219, + 382.2937927246094, + 393.80615234375, + 395.5681457519531, + 389.7476501464844, + 393.9843444824219, + 388.2925109863281, + 384.2735595703125, + 393.0340270996094, + 382.9273376464844, + 381.016845703125, + 377.32086181640625, + 385.7654113769531, + 390.4634704589844, + 393.4071960449219, + 399.9091796875, + 398.0556640625, + 397.9961853027344, + 396.8068237304687, + 394.3290100097656, + 398.1250915527344, + 392.9611511230469, + 380.8890075683594, + 380.621337890625, + 376.4981994628906, + 376.7459716796875, + 382.4054260253906, + 383.9219055175781, + 374.3176879882813, + 376.6468200683594, + 367.27056884765625, + 363.2366027832031, + 358.5187072753906, + 348.5774841308594, + 350.1732177734375, + 342.05572509765625, + 341.5205078125, + 338.0812072753906, + 348.6865234375, + 359.8369140625, + 362.28509521484375, + 365.2288208007813, + 350.4210205078125, + 354.841552734375, + 351.987060546875, + 355.9417724609375, + 363.48443603515625, + 355.2578430175781, + 343.9884948730469, + 344.41461181640625, + 352.9781799316406, + 352.88897705078125, + 342.3927307128906, + 338.48760986328125, + 335.0879211425781, + 326.50457763671875, + 337.4765930175781, + 342.7098693847656, + 343.7307434082031, + 338.4677734375, + 344.14703369140625, + 339.2309875488281, + 334.3148498535156, + 321.98492431640625, + 320.48828125, + 332.0252990722656, + 328.3382263183594, + 321.52899169921875, + 315.3541564941406, + 325.2458190917969, + 337.30810546875, + 341.3916931152344, + 348.3792419433594, + 347.4106750488281, + 354.2382507324219, + 349.1473693847656, + 356.90777587890625, + 356.61004638671875, + 362.1276245117187, + 368.3597412109375, + 364.291015625, + 359.77569580078125, + 359.0909729003906, + 366.4841613769531, + 358.3467102050781, + 350.56646728515625, + 351.4000549316406, + 346.48779296875, + 338.2908020019531, + 336.8617858886719, + 343.70916748046875, + 335.84954833984375, + 336.1075439453125, + 343.6198425292969, + 338.60833740234375, + 331.6021423339844, + 322.91888427734375, + 327.0670166015625, + 314.7218933105469, + 314.34478759765625, + 325.5090026855469, + 310.86151123046875, + 316.0516662597656, + 316.38909912109375, + 327.0868835449219, + 310.6134338378906, + 306.8919982910156, + 294.88427734375, + 298.46673583984375, + 289.61474609375, + 288.9300537109375, + 299.63775634765625, + 296.1644592285156, + 303.8355407714844, + 288.9201354980469, + 287.37200927734375, + 286.4788818359375, + 291.2422790527344, + 285.0498352050781, + 289.0392150878906, + 297.04766845703125, + 306.7431945800781, + 305.9294128417969, + 303.66680908203125, + 311.98291015625, + 303.86529541015625, + 304.8775329589844, + 307.5072937011719, + 305.2943115234375, + 297.1171569824219, + 286.6376647949219, + 273.3100891113281, + 273.8062438964844, + 280.6437072753906, + 269.32073974609375, + 272.5955810546875, + 279.4729919433594, + 279.06536865234375, + 283.2214660644531, + 292.9256591796875, + 290.77801513671875, + 281.9189758300781, + 282.17742919921875, + 278.6776123046875, + 280.5169982910156, + 285.3193664550781, + 287.14886474609375, + 293.2935485839844, + 293.6614074707031, + 287.38751220703125, + 284.603515625, + 284.0168762207031, + 285.0310363769531, + 290.2013244628906, + 287.7454528808594, + 296.59454345703125, + 301.2975158691406, + 305.6226501464844, + 300.263427734375, + 298.55328369140625, + 292.6870422363281, + 305.055908203125, + 308.03875732421875, + 313.6564636230469, + 313.467529296875, + 312.53289794921875, + 321.0439758300781, + 322.5453186035156, + 319.91046142578125, + 318.87640380859375, + 315.2671813964844, + 324.0666198730469, + 322.2271423339844, + 328.5011291503906, + 331.1557922363281, + 330.3802795410156, + 326.6119689941406, + 327.3974609375, + 321.01409912109375, + 312.562744140625, + 312.3042297363281, + 313.20904541015625, + 318.7471618652344, + 305.6822814941406, + 302.6696472167969, + 299.2989807128906, + 297.55902099609375, + 297.6882629394531, + 293.48248291015625, + 291.37457275390625, + 297.2607116699219, + 298.8018493652344, + 305.3343200683594, + 308.96343994140625, + 292.0208740234375, + 294.3375244140625, + 289.43572998046875, + 287.6658935546875, + 289.9060363769531, + 287.5951843261719, + 282.44549560546875, + 278.9692077636719, + 274.4271240234375, + 273.2916259765625, + 273.40118408203125, + 278.8397216796875, + 270.80145263671875, + 266.2095642089844, + 272.4549255371094, + 281.0211181640625, + 280.8717346191406, + 278.6604309082031, + 268.0423278808594, + 265.3629150390625, + 261.7173156738281, + 261.6276550292969, + 267.763427734375, + 259.7151794433594, + 268.2913513183594, + 270.4129638671875, + 269.4268798828125, + 268.0522766113281, + 274.3374938964844, + 277.3555908203125, + 283.09295654296875, + 276.8376159667969, + 271.7975158691406, + 280.11468505859375, + 276.8575744628906, + 274.0287170410156, + 264.6357727050781, + 259.4661560058594, + 263.63970947265625, + 266.5382385253906, + 268.4806213378906, + 262.2850646972656, + 281.6387023925781, + 286.8282165527344, + 284.318115234375, + 288.2525939941406, + 284.318115234375, + 283.6905822753906, + 283.7005615234375, + 280.7820739746094, + 284.8261413574219, + 287.684814453125, + 285.79229736328125, + 281.5988464355469, + 279.4672546386719, + 292.20697021484375, + 292.5655517578125, + 291.400146484375, + 286.5094909667969, + 280.5728759765625, + 279.4273986816406, + 282.734375, + 280.9314880371094, + 284.4575500488281, + 287.5155029296875, + 285.3839111328125, + 275.8017272949219, + 273.1720886230469, + 269.3330383300781, + 269.1233825683594, + 273.02734375, + 266.3476867675781, + 266.94671630859375, + 263.1725769042969, + 259.6979675292969, + 266.0281677246094, + 265.868408203125, + 264.0711975097656, + 265.3292236328125, + 261.1756591796875, + 268.3844909667969, + 270.121826171875, + 272.40826416015625, + 277.1209716796875, + 278.61865234375, + 280.53570556640625, + 281.1048278808594, + 277.4504699707031, + 274.7247009277344, + 282.2430419921875, + 288.5133361816406, + 287.92425537109375, + 287.2852478027344, + 292.8865661621094, + 295.80206298828125, + 289.8213195800781, + 294.1645812988281, + 300.4548645019531, + 311.2381591796875, + 305.70672607421875, + 303.1207275390625, + 309.4010009765625, + 303.8995361328125, + 301.21368408203125, + 299.23675537109375, + 304.0293273925781, + 306.2758483886719, + 308.6222229003906, + 302.8311767578125, + 300.6944885253906, + 293.57550048828125, + 293.795166015625, + 296.3612060546875, + 291.3988952636719, + 293.48565673828125, + 293.1062316894531, + 290.7499084472656, + 293.1561584472656, + 299.2167663574219, + 299.5562438964844, + 295.8819274902344, + 297.3596496582031, + 292.2076416015625, + 288.1039733886719, + 290.24066162109375, + 296.91033935546875, + 298.4679260253906, + 306.33575439453125, + 304.8879699707031, + 305.9700012207031, + 310.3399963378906, + 306.1199951171875, + 309.75, + 310.8900146484375, + 308.760009765625, + 307.1199951171875, + 312.7200012207031, + 315.67999267578125, + 320.92999267578125, + 320.1499938964844, + 319.07000732421875, + 315.9200134277344, + 318.04998779296875, + 317.8699951171875, + 315.8299865722656, + 313.0400085449219, + 319.1700134277344, + 318.57000732421875, + 318.8399963378906, + 318.8599853515625, + 318.7099914550781, + 316.2799987792969, + 316.6099853515625 + ], + "yaxis": "y", + "hoverlabel": { + "namelength": 25 + } + }, + { + "connectgaps": true, + "hovertemplate": "%{y}", + "line": { + "color": "#00ACFF", + "width": 1 + }, + "mode": "lines", + "name": "BBU_15_4.0 ", + "opacity": 1, + "type": "scatter", + "x": [ + "2020-04-20T00:00:00", + "2020-04-21T00:00:00", + "2020-04-22T00:00:00", + "2020-04-23T00:00:00", + "2020-04-24T00:00:00", + "2020-04-27T00:00:00", + "2020-04-28T00:00:00", + "2020-04-29T00:00:00", + "2020-04-30T00:00:00", + "2020-05-01T00:00:00", + "2020-05-04T00:00:00", + "2020-05-05T00:00:00", + "2020-05-06T00:00:00", + "2020-05-07T00:00:00", + "2020-05-08T00:00:00", + "2020-05-11T00:00:00", + "2020-05-12T00:00:00", + "2020-05-13T00:00:00", + "2020-05-14T00:00:00", + "2020-05-15T00:00:00", + "2020-05-18T00:00:00", + "2020-05-19T00:00:00", + "2020-05-20T00:00:00", + "2020-05-21T00:00:00", + "2020-05-22T00:00:00", + "2020-05-26T00:00:00", + "2020-05-27T00:00:00", + "2020-05-28T00:00:00", + "2020-05-29T00:00:00", + "2020-06-01T00:00:00", + "2020-06-02T00:00:00", + "2020-06-03T00:00:00", + "2020-06-04T00:00:00", + "2020-06-05T00:00:00", + "2020-06-08T00:00:00", + "2020-06-09T00:00:00", + "2020-06-10T00:00:00", + "2020-06-11T00:00:00", + "2020-06-12T00:00:00", + "2020-06-15T00:00:00", + "2020-06-16T00:00:00", + "2020-06-17T00:00:00", + "2020-06-18T00:00:00", + "2020-06-19T00:00:00", + "2020-06-22T00:00:00", + "2020-06-23T00:00:00", + "2020-06-24T00:00:00", + "2020-06-25T00:00:00", + "2020-06-26T00:00:00", + "2020-06-29T00:00:00", + "2020-06-30T00:00:00", + "2020-07-01T00:00:00", + "2020-07-02T00:00:00", + "2020-07-06T00:00:00", + "2020-07-07T00:00:00", + "2020-07-08T00:00:00", + "2020-07-09T00:00:00", + "2020-07-10T00:00:00", + "2020-07-13T00:00:00", + "2020-07-14T00:00:00", + "2020-07-15T00:00:00", + "2020-07-16T00:00:00", + "2020-07-17T00:00:00", + "2020-07-20T00:00:00", + "2020-07-21T00:00:00", + "2020-07-22T00:00:00", + "2020-07-23T00:00:00", + "2020-07-24T00:00:00", + "2020-07-27T00:00:00", + "2020-07-28T00:00:00", + "2020-07-29T00:00:00", + "2020-07-30T00:00:00", + "2020-07-31T00:00:00", + "2020-08-03T00:00:00", + "2020-08-04T00:00:00", + "2020-08-05T00:00:00", + "2020-08-06T00:00:00", + "2020-08-07T00:00:00", + "2020-08-10T00:00:00", + "2020-08-11T00:00:00", + "2020-08-12T00:00:00", + "2020-08-13T00:00:00", + "2020-08-14T00:00:00", + "2020-08-17T00:00:00", + "2020-08-18T00:00:00", + "2020-08-19T00:00:00", + "2020-08-20T00:00:00", + "2020-08-21T00:00:00", + "2020-08-24T00:00:00", + "2020-08-25T00:00:00", + "2020-08-26T00:00:00", + "2020-08-27T00:00:00", + "2020-08-28T00:00:00", + "2020-08-31T00:00:00", + "2020-09-01T00:00:00", + "2020-09-02T00:00:00", + "2020-09-03T00:00:00", + "2020-09-04T00:00:00", + "2020-09-08T00:00:00", + "2020-09-09T00:00:00", + "2020-09-10T00:00:00", + "2020-09-11T00:00:00", + "2020-09-14T00:00:00", + "2020-09-15T00:00:00", + "2020-09-16T00:00:00", + "2020-09-17T00:00:00", + "2020-09-18T00:00:00", + "2020-09-21T00:00:00", + "2020-09-22T00:00:00", + "2020-09-23T00:00:00", + "2020-09-24T00:00:00", + "2020-09-25T00:00:00", + "2020-09-28T00:00:00", + "2020-09-29T00:00:00", + "2020-09-30T00:00:00", + "2020-10-01T00:00:00", + "2020-10-02T00:00:00", + "2020-10-05T00:00:00", + "2020-10-06T00:00:00", + "2020-10-07T00:00:00", + "2020-10-08T00:00:00", + "2020-10-09T00:00:00", + "2020-10-12T00:00:00", + "2020-10-13T00:00:00", + "2020-10-14T00:00:00", + "2020-10-15T00:00:00", + "2020-10-16T00:00:00", + "2020-10-19T00:00:00", + "2020-10-20T00:00:00", + "2020-10-21T00:00:00", + "2020-10-22T00:00:00", + "2020-10-23T00:00:00", + "2020-10-26T00:00:00", + "2020-10-27T00:00:00", + "2020-10-28T00:00:00", + "2020-10-29T00:00:00", + "2020-10-30T00:00:00", + "2020-11-02T00:00:00", + "2020-11-03T00:00:00", + "2020-11-04T00:00:00", + "2020-11-05T00:00:00", + "2020-11-06T00:00:00", + "2020-11-09T00:00:00", + "2020-11-10T00:00:00", + "2020-11-11T00:00:00", + "2020-11-12T00:00:00", + "2020-11-13T00:00:00", + "2020-11-16T00:00:00", + "2020-11-17T00:00:00", + "2020-11-18T00:00:00", + "2020-11-19T00:00:00", + "2020-11-20T00:00:00", + "2020-11-23T00:00:00", + "2020-11-24T00:00:00", + "2020-11-25T00:00:00", + "2020-11-27T00:00:00", + "2020-11-30T00:00:00", + "2020-12-01T00:00:00", + "2020-12-02T00:00:00", + "2020-12-03T00:00:00", + "2020-12-04T00:00:00", + "2020-12-07T00:00:00", + "2020-12-08T00:00:00", + "2020-12-09T00:00:00", + "2020-12-10T00:00:00", + "2020-12-11T00:00:00", + "2020-12-14T00:00:00", + "2020-12-15T00:00:00", + "2020-12-16T00:00:00", + "2020-12-17T00:00:00", + "2020-12-18T00:00:00", + "2020-12-21T00:00:00", + "2020-12-22T00:00:00", + "2020-12-23T00:00:00", + "2020-12-24T00:00:00", + "2020-12-28T00:00:00", + "2020-12-29T00:00:00", + "2020-12-30T00:00:00", + "2020-12-31T00:00:00", + "2021-01-04T00:00:00", + "2021-01-05T00:00:00", + "2021-01-06T00:00:00", + "2021-01-07T00:00:00", + "2021-01-08T00:00:00", + "2021-01-11T00:00:00", + "2021-01-12T00:00:00", + "2021-01-13T00:00:00", + "2021-01-14T00:00:00", + "2021-01-15T00:00:00", + "2021-01-19T00:00:00", + "2021-01-20T00:00:00", + "2021-01-21T00:00:00", + "2021-01-22T00:00:00", + "2021-01-25T00:00:00", + "2021-01-26T00:00:00", + "2021-01-27T00:00:00", + "2021-01-28T00:00:00", + "2021-01-29T00:00:00", + "2021-02-01T00:00:00", + "2021-02-02T00:00:00", + "2021-02-03T00:00:00", + "2021-02-04T00:00:00", + "2021-02-05T00:00:00", + "2021-02-08T00:00:00", + "2021-02-09T00:00:00", + "2021-02-10T00:00:00", + "2021-02-11T00:00:00", + "2021-02-12T00:00:00", + "2021-02-16T00:00:00", + "2021-02-17T00:00:00", + "2021-02-18T00:00:00", + "2021-02-19T00:00:00", + "2021-02-22T00:00:00", + "2021-02-23T00:00:00", + "2021-02-24T00:00:00", + "2021-02-25T00:00:00", + "2021-02-26T00:00:00", + "2021-03-01T00:00:00", + "2021-03-02T00:00:00", + "2021-03-03T00:00:00", + "2021-03-04T00:00:00", + "2021-03-05T00:00:00", + "2021-03-08T00:00:00", + "2021-03-09T00:00:00", + "2021-03-10T00:00:00", + "2021-03-11T00:00:00", + "2021-03-12T00:00:00", + "2021-03-15T00:00:00", + "2021-03-16T00:00:00", + "2021-03-17T00:00:00", + "2021-03-18T00:00:00", + "2021-03-19T00:00:00", + "2021-03-22T00:00:00", + "2021-03-23T00:00:00", + "2021-03-24T00:00:00", + "2021-03-25T00:00:00", + "2021-03-26T00:00:00", + "2021-03-29T00:00:00", + "2021-03-30T00:00:00", + "2021-03-31T00:00:00", + "2021-04-01T00:00:00", + "2021-04-05T00:00:00", + "2021-04-06T00:00:00", + "2021-04-07T00:00:00", + "2021-04-08T00:00:00", + "2021-04-09T00:00:00", + "2021-04-12T00:00:00", + "2021-04-13T00:00:00", + "2021-04-14T00:00:00", + "2021-04-15T00:00:00", + "2021-04-16T00:00:00", + "2021-04-19T00:00:00", + "2021-04-20T00:00:00", + "2021-04-21T00:00:00", + "2021-04-22T00:00:00", + "2021-04-23T00:00:00", + "2021-04-26T00:00:00", + "2021-04-27T00:00:00", + "2021-04-28T00:00:00", + "2021-04-29T00:00:00", + "2021-04-30T00:00:00", + "2021-05-03T00:00:00", + "2021-05-04T00:00:00", + "2021-05-05T00:00:00", + "2021-05-06T00:00:00", + "2021-05-07T00:00:00", + "2021-05-10T00:00:00", + "2021-05-11T00:00:00", + "2021-05-12T00:00:00", + "2021-05-13T00:00:00", + "2021-05-14T00:00:00", + "2021-05-17T00:00:00", + "2021-05-18T00:00:00", + "2021-05-19T00:00:00", + "2021-05-20T00:00:00", + "2021-05-21T00:00:00", + "2021-05-24T00:00:00", + "2021-05-25T00:00:00", + "2021-05-26T00:00:00", + "2021-05-27T00:00:00", + "2021-05-28T00:00:00", + "2021-06-01T00:00:00", + "2021-06-02T00:00:00", + "2021-06-03T00:00:00", + "2021-06-04T00:00:00", + "2021-06-07T00:00:00", + "2021-06-08T00:00:00", + "2021-06-09T00:00:00", + "2021-06-10T00:00:00", + "2021-06-11T00:00:00", + "2021-06-14T00:00:00", + "2021-06-15T00:00:00", + "2021-06-16T00:00:00", + "2021-06-17T00:00:00", + "2021-06-18T00:00:00", + "2021-06-21T00:00:00", + "2021-06-22T00:00:00", + "2021-06-23T00:00:00", + "2021-06-24T00:00:00", + "2021-06-25T00:00:00", + "2021-06-28T00:00:00", + "2021-06-29T00:00:00", + "2021-06-30T00:00:00", + "2021-07-01T00:00:00", + "2021-07-02T00:00:00", + "2021-07-06T00:00:00", + "2021-07-07T00:00:00", + "2021-07-08T00:00:00", + "2021-07-09T00:00:00", + "2021-07-12T00:00:00", + "2021-07-13T00:00:00", + "2021-07-14T00:00:00", + "2021-07-15T00:00:00", + "2021-07-16T00:00:00", + "2021-07-19T00:00:00", + "2021-07-20T00:00:00", + "2021-07-21T00:00:00", + "2021-07-22T00:00:00", + "2021-07-23T00:00:00", + "2021-07-26T00:00:00", + "2021-07-27T00:00:00", + "2021-07-28T00:00:00", + "2021-07-29T00:00:00", + "2021-07-30T00:00:00", + "2021-08-02T00:00:00", + "2021-08-03T00:00:00", + "2021-08-04T00:00:00", + "2021-08-05T00:00:00", + "2021-08-06T00:00:00", + "2021-08-09T00:00:00", + "2021-08-10T00:00:00", + "2021-08-11T00:00:00", + "2021-08-12T00:00:00", + "2021-08-13T00:00:00", + "2021-08-16T00:00:00", + "2021-08-17T00:00:00", + "2021-08-18T00:00:00", + "2021-08-19T00:00:00", + "2021-08-20T00:00:00", + "2021-08-23T00:00:00", + "2021-08-24T00:00:00", + "2021-08-25T00:00:00", + "2021-08-26T00:00:00", + "2021-08-27T00:00:00", + "2021-08-30T00:00:00", + "2021-08-31T00:00:00", + "2021-09-01T00:00:00", + "2021-09-02T00:00:00", + "2021-09-03T00:00:00", + "2021-09-07T00:00:00", + "2021-09-08T00:00:00", + "2021-09-09T00:00:00", + "2021-09-10T00:00:00", + "2021-09-13T00:00:00", + "2021-09-14T00:00:00", + "2021-09-15T00:00:00", + "2021-09-16T00:00:00", + "2021-09-17T00:00:00", + "2021-09-20T00:00:00", + "2021-09-21T00:00:00", + "2021-09-22T00:00:00", + "2021-09-23T00:00:00", + "2021-09-24T00:00:00", + "2021-09-27T00:00:00", + "2021-09-28T00:00:00", + "2021-09-29T00:00:00", + "2021-09-30T00:00:00", + "2021-10-01T00:00:00", + "2021-10-04T00:00:00", + "2021-10-05T00:00:00", + "2021-10-06T00:00:00", + "2021-10-07T00:00:00", + "2021-10-08T00:00:00", + "2021-10-11T00:00:00", + "2021-10-12T00:00:00", + "2021-10-13T00:00:00", + "2021-10-14T00:00:00", + "2021-10-15T00:00:00", + "2021-10-18T00:00:00", + "2021-10-19T00:00:00", + "2021-10-20T00:00:00", + "2021-10-21T00:00:00", + "2021-10-22T00:00:00", + "2021-10-25T00:00:00", + "2021-10-26T00:00:00", + "2021-10-27T00:00:00", + "2021-10-28T00:00:00", + "2021-10-29T00:00:00", + "2021-11-01T00:00:00", + "2021-11-02T00:00:00", + "2021-11-03T00:00:00", + "2021-11-04T00:00:00", + "2021-11-05T00:00:00", + "2021-11-08T00:00:00", + "2021-11-09T00:00:00", + "2021-11-10T00:00:00", + "2021-11-11T00:00:00", + "2021-11-12T00:00:00", + "2021-11-15T00:00:00", + "2021-11-16T00:00:00", + "2021-11-17T00:00:00", + "2021-11-18T00:00:00", + "2021-11-19T00:00:00", + "2021-11-22T00:00:00", + "2021-11-23T00:00:00", + "2021-11-24T00:00:00", + "2021-11-26T00:00:00", + "2021-11-29T00:00:00", + "2021-11-30T00:00:00", + "2021-12-01T00:00:00", + "2021-12-02T00:00:00", + "2021-12-03T00:00:00", + "2021-12-06T00:00:00", + "2021-12-07T00:00:00", + "2021-12-08T00:00:00", + "2021-12-09T00:00:00", + "2021-12-10T00:00:00", + "2021-12-13T00:00:00", + "2021-12-14T00:00:00", + "2021-12-15T00:00:00", + "2021-12-16T00:00:00", + "2021-12-17T00:00:00", + "2021-12-20T00:00:00", + "2021-12-21T00:00:00", + "2021-12-22T00:00:00", + "2021-12-23T00:00:00", + "2021-12-27T00:00:00", + "2021-12-28T00:00:00", + "2021-12-29T00:00:00", + "2021-12-30T00:00:00", + "2021-12-31T00:00:00", + "2022-01-03T00:00:00", + "2022-01-04T00:00:00", + "2022-01-05T00:00:00", + "2022-01-06T00:00:00", + "2022-01-07T00:00:00", + "2022-01-10T00:00:00", + "2022-01-11T00:00:00", + "2022-01-12T00:00:00", + "2022-01-13T00:00:00", + "2022-01-14T00:00:00", + "2022-01-18T00:00:00", + "2022-01-19T00:00:00", + "2022-01-20T00:00:00", + "2022-01-21T00:00:00", + "2022-01-24T00:00:00", + "2022-01-25T00:00:00", + "2022-01-26T00:00:00", + "2022-01-27T00:00:00", + "2022-01-28T00:00:00", + "2022-01-31T00:00:00", + "2022-02-01T00:00:00", + "2022-02-02T00:00:00", + "2022-02-03T00:00:00", + "2022-02-04T00:00:00", + "2022-02-07T00:00:00", + "2022-02-08T00:00:00", + "2022-02-09T00:00:00", + "2022-02-10T00:00:00", + "2022-02-11T00:00:00", + "2022-02-14T00:00:00", + "2022-02-15T00:00:00", + "2022-02-16T00:00:00", + "2022-02-17T00:00:00", + "2022-02-18T00:00:00", + "2022-02-22T00:00:00", + "2022-02-23T00:00:00", + "2022-02-24T00:00:00", + "2022-02-25T00:00:00", + "2022-02-28T00:00:00", + "2022-03-01T00:00:00", + "2022-03-02T00:00:00", + "2022-03-03T00:00:00", + "2022-03-04T00:00:00", + "2022-03-07T00:00:00", + "2022-03-08T00:00:00", + "2022-03-09T00:00:00", + "2022-03-10T00:00:00", + "2022-03-11T00:00:00", + "2022-03-14T00:00:00", + "2022-03-15T00:00:00", + "2022-03-16T00:00:00", + "2022-03-17T00:00:00", + "2022-03-18T00:00:00", + "2022-03-21T00:00:00", + "2022-03-22T00:00:00", + "2022-03-23T00:00:00", + "2022-03-24T00:00:00", + "2022-03-25T00:00:00", + "2022-03-28T00:00:00", + "2022-03-29T00:00:00", + "2022-03-30T00:00:00", + "2022-03-31T00:00:00", + "2022-04-01T00:00:00", + "2022-04-04T00:00:00", + "2022-04-05T00:00:00", + "2022-04-06T00:00:00", + "2022-04-07T00:00:00", + "2022-04-08T00:00:00", + "2022-04-11T00:00:00", + "2022-04-12T00:00:00", + "2022-04-13T00:00:00", + "2022-04-14T00:00:00", + "2022-04-18T00:00:00", + "2022-04-19T00:00:00", + "2022-04-20T00:00:00", + "2022-04-21T00:00:00", + "2022-04-22T00:00:00", + "2022-04-25T00:00:00", + "2022-04-26T00:00:00", + "2022-04-27T00:00:00", + "2022-04-28T00:00:00", + "2022-04-29T00:00:00", + "2022-05-02T00:00:00", + "2022-05-03T00:00:00", + "2022-05-04T00:00:00", + "2022-05-05T00:00:00", + "2022-05-06T00:00:00", + "2022-05-09T00:00:00", + "2022-05-10T00:00:00", + "2022-05-11T00:00:00", + "2022-05-12T00:00:00", + "2022-05-13T00:00:00", + "2022-05-16T00:00:00", + "2022-05-17T00:00:00", + "2022-05-18T00:00:00", + "2022-05-19T00:00:00", + "2022-05-20T00:00:00", + "2022-05-23T00:00:00", + "2022-05-24T00:00:00", + "2022-05-25T00:00:00", + "2022-05-26T00:00:00", + "2022-05-27T00:00:00", + "2022-05-31T00:00:00", + "2022-06-01T00:00:00", + "2022-06-02T00:00:00", + "2022-06-03T00:00:00", + "2022-06-06T00:00:00", + "2022-06-07T00:00:00", + "2022-06-08T00:00:00", + "2022-06-09T00:00:00", + "2022-06-10T00:00:00", + "2022-06-13T00:00:00", + "2022-06-14T00:00:00", + "2022-06-15T00:00:00", + "2022-06-16T00:00:00", + "2022-06-17T00:00:00", + "2022-06-21T00:00:00", + "2022-06-22T00:00:00", + "2022-06-23T00:00:00", + "2022-06-24T00:00:00", + "2022-06-27T00:00:00", + "2022-06-28T00:00:00", + "2022-06-29T00:00:00", + "2022-06-30T00:00:00", + "2022-07-01T00:00:00", + "2022-07-05T00:00:00", + "2022-07-06T00:00:00", + "2022-07-07T00:00:00", + "2022-07-08T00:00:00", + "2022-07-11T00:00:00", + "2022-07-12T00:00:00", + "2022-07-13T00:00:00", + "2022-07-14T00:00:00", + "2022-07-15T00:00:00", + "2022-07-18T00:00:00", + "2022-07-19T00:00:00", + "2022-07-20T00:00:00", + "2022-07-21T00:00:00", + "2022-07-22T00:00:00", + "2022-07-25T00:00:00", + "2022-07-26T00:00:00", + "2022-07-27T00:00:00", + "2022-07-28T00:00:00", + "2022-07-29T00:00:00", + "2022-08-01T00:00:00", + "2022-08-02T00:00:00", + "2022-08-03T00:00:00", + "2022-08-04T00:00:00", + "2022-08-05T00:00:00", + "2022-08-08T00:00:00", + "2022-08-09T00:00:00", + "2022-08-10T00:00:00", + "2022-08-11T00:00:00", + "2022-08-12T00:00:00", + "2022-08-15T00:00:00", + "2022-08-16T00:00:00", + "2022-08-17T00:00:00", + "2022-08-18T00:00:00", + "2022-08-19T00:00:00", + "2022-08-22T00:00:00", + "2022-08-23T00:00:00", + "2022-08-24T00:00:00", + "2022-08-25T00:00:00", + "2022-08-26T00:00:00", + "2022-08-29T00:00:00", + "2022-08-30T00:00:00", + "2022-08-31T00:00:00", + "2022-09-01T00:00:00", + "2022-09-02T00:00:00", + "2022-09-06T00:00:00", + "2022-09-07T00:00:00", + "2022-09-08T00:00:00", + "2022-09-09T00:00:00", + "2022-09-12T00:00:00", + "2022-09-13T00:00:00", + "2022-09-14T00:00:00", + "2022-09-15T00:00:00", + "2022-09-16T00:00:00", + "2022-09-19T00:00:00", + "2022-09-20T00:00:00", + "2022-09-21T00:00:00", + "2022-09-22T00:00:00", + "2022-09-23T00:00:00", + "2022-09-26T00:00:00", + "2022-09-27T00:00:00", + "2022-09-28T00:00:00", + "2022-09-29T00:00:00", + "2022-09-30T00:00:00", + "2022-10-03T00:00:00", + "2022-10-04T00:00:00", + "2022-10-05T00:00:00", + "2022-10-06T00:00:00", + "2022-10-07T00:00:00", + "2022-10-10T00:00:00", + "2022-10-11T00:00:00", + "2022-10-12T00:00:00", + "2022-10-13T00:00:00", + "2022-10-14T00:00:00", + "2022-10-17T00:00:00", + "2022-10-18T00:00:00", + "2022-10-19T00:00:00", + "2022-10-20T00:00:00", + "2022-10-21T00:00:00", + "2022-10-24T00:00:00", + "2022-10-25T00:00:00", + "2022-10-26T00:00:00", + "2022-10-27T00:00:00", + "2022-10-28T00:00:00", + "2022-10-31T00:00:00", + "2022-11-01T00:00:00", + "2022-11-02T00:00:00", + "2022-11-03T00:00:00", + "2022-11-04T00:00:00", + "2022-11-07T00:00:00", + "2022-11-08T00:00:00", + "2022-11-09T00:00:00", + "2022-11-10T00:00:00", + "2022-11-11T00:00:00", + "2022-11-14T00:00:00", + "2022-11-15T00:00:00", + "2022-11-16T00:00:00", + "2022-11-17T00:00:00", + "2022-11-18T00:00:00", + "2022-11-21T00:00:00", + "2022-11-22T00:00:00", + "2022-11-23T00:00:00", + "2022-11-25T00:00:00", + "2022-11-28T00:00:00", + "2022-11-29T00:00:00", + "2022-11-30T00:00:00", + "2022-12-01T00:00:00", + "2022-12-02T00:00:00", + "2022-12-05T00:00:00", + "2022-12-06T00:00:00", + "2022-12-07T00:00:00", + "2022-12-08T00:00:00", + "2022-12-09T00:00:00", + "2022-12-12T00:00:00", + "2022-12-13T00:00:00", + "2022-12-14T00:00:00", + "2022-12-15T00:00:00", + "2022-12-16T00:00:00", + "2022-12-19T00:00:00", + "2022-12-20T00:00:00", + "2022-12-21T00:00:00", + "2022-12-22T00:00:00", + "2022-12-23T00:00:00", + "2022-12-27T00:00:00", + "2022-12-28T00:00:00", + "2022-12-29T00:00:00", + "2022-12-30T00:00:00", + "2023-01-03T00:00:00", + "2023-01-04T00:00:00", + "2023-01-05T00:00:00", + "2023-01-06T00:00:00", + "2023-01-09T00:00:00", + "2023-01-10T00:00:00", + "2023-01-11T00:00:00", + "2023-01-12T00:00:00", + "2023-01-13T00:00:00", + "2023-01-17T00:00:00", + "2023-01-18T00:00:00", + "2023-01-19T00:00:00", + "2023-01-20T00:00:00", + "2023-01-23T00:00:00", + "2023-01-24T00:00:00", + "2023-01-25T00:00:00", + "2023-01-26T00:00:00", + "2023-01-27T00:00:00", + "2023-01-30T00:00:00", + "2023-01-31T00:00:00", + "2023-02-01T00:00:00", + "2023-02-02T00:00:00", + "2023-02-03T00:00:00", + "2023-02-06T00:00:00", + "2023-02-07T00:00:00", + "2023-02-08T00:00:00", + "2023-02-09T00:00:00", + "2023-02-10T00:00:00", + "2023-02-13T00:00:00", + "2023-02-14T00:00:00", + "2023-02-15T00:00:00", + "2023-02-16T00:00:00", + "2023-02-17T00:00:00", + "2023-02-21T00:00:00", + "2023-02-22T00:00:00", + "2023-02-23T00:00:00", + "2023-02-24T00:00:00", + "2023-02-27T00:00:00", + "2023-02-28T00:00:00", + "2023-03-01T00:00:00", + "2023-03-02T00:00:00", + "2023-03-03T00:00:00", + "2023-03-06T00:00:00", + "2023-03-07T00:00:00", + "2023-03-08T00:00:00", + "2023-03-09T00:00:00", + "2023-03-10T00:00:00", + "2023-03-13T00:00:00", + "2023-03-14T00:00:00", + "2023-03-15T00:00:00", + "2023-03-16T00:00:00", + "2023-03-17T00:00:00", + "2023-03-20T00:00:00", + "2023-03-21T00:00:00", + "2023-03-22T00:00:00", + "2023-03-23T00:00:00", + "2023-03-24T00:00:00", + "2023-03-27T00:00:00", + "2023-03-28T00:00:00", + "2023-03-29T00:00:00", + "2023-03-30T00:00:00", + "2023-03-31T00:00:00", + "2023-04-03T00:00:00", + "2023-04-04T00:00:00", + "2023-04-05T00:00:00", + "2023-04-06T00:00:00", + "2023-04-10T00:00:00", + "2023-04-11T00:00:00", + "2023-04-12T00:00:00", + "2023-04-13T00:00:00", + "2023-04-14T00:00:00", + "2023-04-17T00:00:00", + "2023-04-18T00:00:00", + "2023-04-19T00:00:00", + "2023-04-20T00:00:00", + "2023-04-21T00:00:00" + ], + "xaxis": "x", + "y": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 230.8516485931606, + 234.6310321436788, + 232.93389781510416, + 232.33088150307836, + 231.6444695548925, + 232.00198350532543, + 234.05903789866673, + 233.73181971938493, + 237.17885606049435, + 238.6779408892371, + 237.96270247484856, + 237.1462699933216, + 237.05981245669523, + 236.7285826684238, + 238.26131615349033, + 240.15117450344425, + 242.46545696373613, + 243.99809178120333, + 242.70936227312205, + 243.81002899100625, + 245.44373338970453, + 248.5054302109666, + 251.97926652837893, + 251.84399658425167, + 251.22186506954375, + 250.9758335707256, + 251.30461416877623, + 251.68599329814023, + 251.43176083600815, + 251.76160515642425, + 252.9986100721367, + 255.04565663395985, + 254.94166769878387, + 254.52143932873832, + 254.42126611448657, + 254.48000021889337, + 255.56837978446023, + 257.3317806354271, + 257.60107335090595, + 261.4337133279963, + 263.54312552057996, + 267.62230295360195, + 271.85979547659895, + 275.9580221145928, + 276.8081454209502, + 278.2897827317206, + 279.7819107518521, + 279.3270850597223, + 279.04502688106936, + 277.7070630227961, + 274.56489343967803, + 272.7603786392985, + 270.2996663615897, + 268.76125039779714, + 268.6694099760033, + 268.6133302302405, + 268.61465512850486, + 268.4551423094646, + 269.22315794077355, + 272.27327889748, + 275.24203880421516, + 277.93072648943973, + 281.7197786236759, + 283.17796444864035, + 284.0111543337474, + 284.0715059708232, + 285.49387903008414, + 286.025729813096, + 284.7639801498052, + 285.54791213840565, + 284.9501900345077, + 283.6411596731157, + 283.5345488265943, + 285.656398495247, + 288.83780294557766, + 292.4942765265175, + 298.8315040564072, + 303.2839748658281, + 307.11837722437366, + 310.69252089157146, + 313.5401119073995, + 318.3224987560952, + 316.8406568673439, + 314.5096471597681, + 316.5324635010278, + 316.55013482586736, + 317.6661845917009, + 319.9117744008454, + 320.71058870559574, + 320.85840073933014, + 321.365261122582, + 321.206034745951, + 321.3537543730538, + 319.9013243666774, + 315.8071828616289, + 308.59695192712513, + 294.1506776478068, + 288.15791406428696, + 284.74455320375023, + 285.52490583211284, + 285.5086786080101, + 288.81013489833936, + 288.9709431446751, + 290.42395693269935, + 289.41130940619325, + 290.81101642514193, + 292.620898950355, + 295.12478892974553, + 301.8824133900661, + 307.4204216083697, + 307.92267985028104, + 306.4881573710121, + 305.89278340689003, + 305.5475793688264, + 304.78207274830703, + 304.2533552181979, + 304.247282338821, + 302.19301339982053, + 302.1330861480581, + 299.883496380418, + 303.56472211371715, + 304.6838389621808, + 308.1963051451018, + 307.4908698841414, + 304.17357269248515, + 302.124785439306, + 304.2920681443406, + 306.9528211009725, + 308.0130993870754, + 307.87644258327595, + 309.1809880903621, + 310.01326444586687, + 311.4503428015843, + 313.6919813434155, + 315.31506525451016, + 314.27415961865944, + 314.4741859664392, + 310.40266096880356, + 303.922595829711, + 297.9459080813816, + 299.04782169108387, + 301.25146354036656, + 303.41750145737916, + 307.53509471497506, + 308.89312996934177, + 311.5276471402214, + 313.5842240840783, + 316.2551484240246, + 319.0136449799569, + 318.84496159697477, + 317.906481784964, + 317.1255125688559, + 315.30732269515727, + 313.0899137022337, + 312.6273308730698, + 313.11895097148056, + 313.5083843690211, + 313.28426472085823, + 314.1496305967076, + 314.3646432667875, + 314.88220256442895, + 316.61314068820246, + 318.1811861013118, + 319.4754349009937, + 319.43065752632793, + 318.1136708228298, + 316.0359436623318, + 314.26457395720183, + 315.2182462899899, + 318.7875966413468, + 319.35428093752734, + 319.593563201359, + 320.2183273000112, + 320.2947587129529, + 319.5729243107416, + 319.8524479953515, + 324.57343567673456, + 329.6162907404149, + 332.81152364965646, + 336.72614229513755, + 339.1397612768883, + 338.7571685571638, + 336.72632313394143, + 336.7962626932826, + 337.1880555126316, + 338.56645000512447, + 338.82773221606834, + 340.5315539589002, + 341.5145209864403, + 341.2660726310193, + 341.8222443703262, + 343.22213072656086, + 345.1139662435898, + 347.44827404772894, + 349.0471250651302, + 349.95232053026666, + 348.93743433844605, + 347.8340786968779, + 343.1894258010011, + 343.6429131829187, + 344.42017611180324, + 350.4002008003347, + 353.64523459943945, + 353.39249708176317, + 353.26575943940395, + 355.55436322046165, + 358.6199207882584, + 357.676161020826, + 357.5493329772994, + 352.97850405066333, + 348.1033265535578, + 343.0137138105713, + 337.4228735086698, + 336.29191650032465, + 335.9857941951142, + 335.0274773895361, + 335.02147544511723, + 334.9622617083429, + 333.1842871124171, + 332.9783006203287, + 332.8006327984769, + 331.1966751597453, + 331.0009140957301, + 325.0794181384021, + 324.68060081971896, + 324.53533279723143, + 327.5200541534316, + 334.18023415367446, + 338.7877901097371, + 342.7874197085281, + 347.799034466619, + 352.2070198312844, + 355.2606726240921, + 360.03467694923233, + 361.9832728768312, + 363.6107630425308, + 363.54969638754113, + 362.7438132524607, + 360.06696368095413, + 355.04696360028134, + 349.7019439975303, + 346.4793044285769, + 346.4971916549358, + 345.2430583838892, + 343.3867987839427, + 343.0018575874333, + 342.89531224128433, + 343.02313820993066, + 345.915310026374, + 348.51174512415656, + 348.4794746375471, + 347.308183072077, + 349.6471997685606, + 351.603299913424, + 356.175804557403, + 358.4446024741328, + 357.1843076497389, + 354.81161603802656, + 352.7337013720127, + 350.31875650664915, + 346.312769821121, + 342.6805277002392, + 340.88611847605864, + 341.8592891765924, + 343.4758416674397, + 343.9239273698017, + 343.81139314588614, + 344.9844222704702, + 346.15690701779255, + 343.68374295961246, + 342.8922812316215, + 344.2815691314583, + 344.734429158579, + 343.4000801644012, + 342.47776023625454, + 344.2324591706272, + 346.2771097650773, + 347.86289339609533, + 348.6200459148403, + 351.1143807781625, + 351.6736879053583, + 352.8658133152495, + 354.6688833590226, + 355.92451807645455, + 355.578276107151, + 356.4918808139567, + 359.18037231342174, + 361.4524215193959, + 362.2525705151638, + 363.46837416200515, + 366.18895853818555, + 369.4790840257945, + 371.6353403903798, + 371.35308915859, + 372.61175423527135, + 372.4701972814686, + 372.058389070958, + 372.2820993696499, + 370.86118668474217, + 369.289134710508, + 367.1714091439759, + 366.4357756129971, + 366.3776193299731, + 366.60926121120326, + 368.7488820426501, + 371.299047654024, + 371.7881708459357, + 372.6210360377386, + 373.2681022208906, + 373.5133660452937, + 373.7449818499154, + 374.4782437426242, + 375.2648195881179, + 376.5792788575951, + 376.08526012254634, + 372.95747565637896, + 370.6785195504983, + 369.29390007232104, + 368.9135123464024, + 369.1184507852676, + 369.29245047341306, + 368.95042811766285, + 370.34284622230865, + 370.6887727481851, + 370.6394889108141, + 373.00123638702183, + 375.61840639563945, + 377.8681884840965, + 378.56816590769176, + 380.8455598760957, + 384.99683646521254, + 387.900212659779, + 390.2806926390448, + 392.1491259695157, + 394.1604445201682, + 395.9054709329924, + 395.9003604555788, + 393.00253353162793, + 389.04829791825847, + 386.0586400835537, + 385.53314336285325, + 385.1095808861287, + 384.7029025359417, + 383.9928035803663, + 389.29355821966647, + 391.79216052235967, + 392.0778806862426, + 391.2885201240362, + 390.3550840286524, + 389.0099133028537, + 390.7865329268654, + 391.6744016932596, + 392.28645260831024, + 392.0931404120763, + 393.93849665419486, + 393.2401472247778, + 390.18390365703186, + 385.84047985120174, + 383.14755658736186, + 382.9840513626035, + 382.7207656276855, + 380.8528913873395, + 377.84022586252553, + 375.11759859978633, + 376.6366446123682, + 382.31198454045614, + 386.3027287756576, + 390.3561873590021, + 392.38768359996254, + 393.30998926566247, + 395.1553106976024, + 397.0016291581872, + 400.55560052870953, + 403.4417063248736, + 404.5341047281303, + 403.76277623953285, + 404.274031984336, + 408.8011831527119, + 412.24009063695974, + 414.9393737288427, + 416.1373998644825, + 415.0205109208834, + 414.22203090037414, + 412.25759676374673, + 410.78492486561566, + 409.5563833789581, + 407.4397454239212, + 408.01499601569606, + 409.5150988691093, + 408.6030328561655, + 407.3823444911042, + 407.38646211088144, + 407.969100541413, + 408.2260745227291, + 408.11216674962816, + 410.04114870703535, + 409.92597907000857, + 412.88347094130427, + 414.1577774241736, + 414.5586115083128, + 415.034023332793, + 414.6656096167993, + 413.5637571502089, + 410.6183626007752, + 409.74547673515264, + 409.62633497855785, + 408.7812604729757, + 409.6271746923784, + 409.13931665016264, + 408.62758639134046, + 409.16781130359146, + 410.5467047263893, + 413.2952935212635, + 414.9304357301912, + 416.2435267770568, + 416.6292328195717, + 417.2445002289677, + 418.3999213876923, + 418.6551505565937, + 419.50847643476055, + 420.31067803724255, + 422.092326485424, + 423.2600231149774, + 422.0228290532022, + 422.1879278494718, + 424.4317130718304, + 424.71867012279097, + 424.95318677540024, + 425.6592861418219, + 426.13897245758153, + 429.13563655257326, + 429.07673392091215, + 427.577443848469, + 425.4436030485849, + 427.0820097590515, + 424.0391848016308, + 420.9481462453697, + 417.57715454378234, + 411.61285697909574, + 402.4445640480923, + 396.9963602509529, + 388.519795238344, + 384.707456629661, + 384.81150952032823, + 384.1325011487283, + 384.761913826458, + 385.266537557449, + 384.30694038654906, + 382.7752076729915, + 380.9109222727688, + 383.86477696172886, + 385.9792258607987, + 389.40887698317533, + 385.0294850231132, + 384.5705047099652, + 382.85254786086136, + 382.0073103569858, + 379.2997524025201, + 371.1712431787037, + 367.360250031015, + 371.83986801906656, + 374.9762476894761, + 370.3235585750618, + 364.7456200376498, + 365.0790091831321, + 367.8980189561767, + 367.7073167800239, + 368.4623829091803, + 369.53636587306585, + 371.9654670182502, + 373.4588209140573, + 379.52118664036345, + 381.28643469423577, + 387.45215853578907, + 392.9631708369952, + 398.35349476351234, + 404.1551368732148, + 408.583371013664, + 409.5597967018492, + 406.58856079088395, + 398.84052630274783, + 390.15516298750623, + 385.84939452907383, + 382.6040872683748, + 383.2032550186086, + 387.1947011566472, + 391.52701886043286, + 392.4703254092283, + 395.3039262721888, + 397.0317449675258, + 395.0752206666483, + 390.2456733944047, + 387.7268913593091, + 388.81128427597514, + 386.56173784076213, + 382.5302123009875, + 380.22844905480713, + 376.4815564950119, + 375.10059888235475, + 372.1918094690118, + 371.272792555953, + 369.4874399558467, + 366.186652492791, + 366.0232521283291, + 368.9635262170986, + 363.45566629243905, + 361.6568939178612, + 360.7814171503468, + 358.67926877954636, + 354.4010071725235, + 353.10495406776766, + 353.76489695146444, + 348.84239887719093, + 348.8119877109467, + 345.06497691461493, + 340.99688536737546, + 325.0494167551213, + 319.08485585877634, + 318.99236499950706, + 322.5705349375218, + 324.1828086236344, + 329.76006675772794, + 330.64366285880806, + 331.8088224241234, + 333.93914258930283, + 334.3090193567946, + 333.4704281541281, + 333.68882554825757, + 339.60362481477716, + 344.6143186633552, + 345.65790432291925, + 351.0183945449126, + 353.6826327751169, + 351.6397807976003, + 349.050587160486, + 346.1240806295677, + 339.4771905686904, + 335.7298240644194, + 330.19882946969096, + 321.544243028629, + 311.7865800422883, + 305.6352149412978, + 305.22934625465854, + 305.86555452747695, + 308.5786164902202, + 311.61518643906334, + 308.71314507103097, + 305.8777628823138, + 305.2752857572404, + 304.40036526236327, + 305.04069620652723, + 303.46223944781303, + 306.3041151565866, + 311.7696151643108, + 318.3243771398669, + 319.23556316478266, + 319.11052081305394, + 318.62823330788257, + 321.9094007298669, + 326.28352680239277, + 332.7846220775087, + 337.09007833603573, + 338.83680363627104, + 342.9298159573705, + 345.8388266021207, + 347.39064778730483, + 345.77593004006417, + 345.166271969549, + 348.03767790769274, + 350.06807158362807, + 352.66217512006034, + 354.2297523293912, + 349.23532908612117, + 347.44639553117355, + 345.9178228577388, + 344.8056822305583, + 345.14076445362537, + 345.23030662406575, + 346.4161299528388, + 346.32040857717, + 349.9646296163927, + 353.8765763407605, + 358.1556518845615, + 360.8916995305604, + 362.5867487033055, + 362.4206686248174, + 359.81943897430097, + 353.9868533887703, + 348.21463424201653, + 339.9894949146616, + 334.9846795426847, + 334.09152213479763, + 331.89778855511145, + 329.46184855516213, + 321.5902885667174, + 319.91621859112723, + 319.41947259797314, + 321.0862549780305, + 323.56196185526494, + 326.6794556502465, + 329.6052999944971, + 331.73158901832744, + 330.6224684780846, + 330.09894253008093, + 326.29893873925175, + 315.10460322097595, + 312.217865284604, + 307.5235362590053, + 304.5910387844308, + 303.2260357362862, + 300.22660426959055, + 298.47247861671764, + 297.9999809651936, + 296.61039578568176, + 298.06841670420107, + 297.6754460131242, + 297.2788449059776, + 295.00136658423384, + 294.8150354230192, + 295.59168740522585, + 296.8932521330827, + 297.99112496687246, + 296.3390101943839, + 294.3290193657384, + 297.1768648567962, + 298.0953545922771, + 297.0487398430146, + 296.07633669287225, + 298.4183031478399, + 297.05535879637875, + 297.26455727930767, + 297.31795967460937, + 298.43898117052015, + 301.0076466794756, + 305.35360031991263, + 307.5343910116981, + 309.7795729717523, + 311.71302681747954, + 313.55163073495993, + 314.4578953482569, + 315.0854584731018, + 316.82820189767676, + 317.8561667890849, + 315.1527743241306, + 312.06130928698497, + 309.10804699113567, + 308.76099225676927, + 300.004761682398, + 301.352624467631, + 301.3127353241994, + 301.8758266539654, + 302.0891089275469, + 302.12019284163847, + 302.3509827629092, + 302.372812139653, + 302.4904093717308, + 302.52439929956023, + 303.85551270367773, + 305.9280869185618, + 309.2417626111275, + 311.74557043491933, + 309.64125810266603, + 308.34221074186524, + 305.8632563903434, + 305.8413879746014, + 307.9794344194539, + 307.63492235717024, + 305.8246316462689, + 304.37049722926395, + 300.3901945998764, + 293.3943221360708, + 284.42465583610016, + 281.7984585914306, + 281.4166755862907, + 285.1173121708155, + 289.02257939671443, + 292.5777518124788, + 296.5325106396011, + 298.2356967731126, + 298.3376803962144, + 299.28965368374645, + 304.2794028269798, + 307.4906149730372, + 308.72059354314194, + 311.7591241572703, + 312.50537525122775, + 311.9713085425563, + 312.6069288480361, + 315.96324690702426, + 325.8980017333381, + 329.99061640801983, + 332.14448368343733, + 336.0690124232207, + 335.3903297999555, + 331.0318295432315, + 328.37447702690497, + 328.13215041415214, + 327.55425160959624, + 326.28863795987894, + 325.06663976989205, + 324.380108292613, + 322.46286078251404, + 322.6187138538855, + 323.298011724096, + 322.66835686479436, + 322.6579717865607, + 322.9735949222176, + 320.9995519908485, + 320.1458954422267, + 319.78371555657236, + 319.83002912052376, + 318.30405775822646, + 315.38244267965507, + 309.6969729420101, + 308.2634675954324, + 306.5165142091233, + 307.0864973759073, + 308.09839513655777, + 313.1829037033539, + 316.05334480429167, + 318.9871051177584, + 323.4801620933797, + 324.48145402215323, + 326.8849595327132, + 329.71062431016304, + 331.32235174132984, + 331.92845955558244, + 334.19375293097926, + 335.68278109924944, + 336.24334933541604, + 334.99078167252196, + 334.823876608745, + 332.82476836740483, + 333.69958704031006, + 333.5805576187981, + 332.77647003521434, + 332.5940618126947, + 331.95793915802807, + 331.90674333474914, + 331.91689182815327, + 330.67318802180426, + 326.91400446268807, + 325.75657928373283, + 325.60583309640396 + ], + "yaxis": "y", + "hoverlabel": { + "namelength": 10 + } + }, + { + "connectgaps": true, + "hovertemplate": "%{y}", + "line": { + "color": "#e4003a", + "width": 1 + }, + "mode": "lines", + "name": "BBL_15_4.0 ", + "opacity": 1, + "type": "scatter", + "x": [ + "2020-04-20T00:00:00", + "2020-04-21T00:00:00", + "2020-04-22T00:00:00", + "2020-04-23T00:00:00", + "2020-04-24T00:00:00", + "2020-04-27T00:00:00", + "2020-04-28T00:00:00", + "2020-04-29T00:00:00", + "2020-04-30T00:00:00", + "2020-05-01T00:00:00", + "2020-05-04T00:00:00", + "2020-05-05T00:00:00", + "2020-05-06T00:00:00", + "2020-05-07T00:00:00", + "2020-05-08T00:00:00", + "2020-05-11T00:00:00", + "2020-05-12T00:00:00", + "2020-05-13T00:00:00", + "2020-05-14T00:00:00", + "2020-05-15T00:00:00", + "2020-05-18T00:00:00", + "2020-05-19T00:00:00", + "2020-05-20T00:00:00", + "2020-05-21T00:00:00", + "2020-05-22T00:00:00", + "2020-05-26T00:00:00", + "2020-05-27T00:00:00", + "2020-05-28T00:00:00", + "2020-05-29T00:00:00", + "2020-06-01T00:00:00", + "2020-06-02T00:00:00", + "2020-06-03T00:00:00", + "2020-06-04T00:00:00", + "2020-06-05T00:00:00", + "2020-06-08T00:00:00", + "2020-06-09T00:00:00", + "2020-06-10T00:00:00", + "2020-06-11T00:00:00", + "2020-06-12T00:00:00", + "2020-06-15T00:00:00", + "2020-06-16T00:00:00", + "2020-06-17T00:00:00", + "2020-06-18T00:00:00", + "2020-06-19T00:00:00", + "2020-06-22T00:00:00", + "2020-06-23T00:00:00", + "2020-06-24T00:00:00", + "2020-06-25T00:00:00", + "2020-06-26T00:00:00", + "2020-06-29T00:00:00", + "2020-06-30T00:00:00", + "2020-07-01T00:00:00", + "2020-07-02T00:00:00", + "2020-07-06T00:00:00", + "2020-07-07T00:00:00", + "2020-07-08T00:00:00", + "2020-07-09T00:00:00", + "2020-07-10T00:00:00", + "2020-07-13T00:00:00", + "2020-07-14T00:00:00", + "2020-07-15T00:00:00", + "2020-07-16T00:00:00", + "2020-07-17T00:00:00", + "2020-07-20T00:00:00", + "2020-07-21T00:00:00", + "2020-07-22T00:00:00", + "2020-07-23T00:00:00", + "2020-07-24T00:00:00", + "2020-07-27T00:00:00", + "2020-07-28T00:00:00", + "2020-07-29T00:00:00", + "2020-07-30T00:00:00", + "2020-07-31T00:00:00", + "2020-08-03T00:00:00", + "2020-08-04T00:00:00", + "2020-08-05T00:00:00", + "2020-08-06T00:00:00", + "2020-08-07T00:00:00", + "2020-08-10T00:00:00", + "2020-08-11T00:00:00", + "2020-08-12T00:00:00", + "2020-08-13T00:00:00", + "2020-08-14T00:00:00", + "2020-08-17T00:00:00", + "2020-08-18T00:00:00", + "2020-08-19T00:00:00", + "2020-08-20T00:00:00", + "2020-08-21T00:00:00", + "2020-08-24T00:00:00", + "2020-08-25T00:00:00", + "2020-08-26T00:00:00", + "2020-08-27T00:00:00", + "2020-08-28T00:00:00", + "2020-08-31T00:00:00", + "2020-09-01T00:00:00", + "2020-09-02T00:00:00", + "2020-09-03T00:00:00", + "2020-09-04T00:00:00", + "2020-09-08T00:00:00", + "2020-09-09T00:00:00", + "2020-09-10T00:00:00", + "2020-09-11T00:00:00", + "2020-09-14T00:00:00", + "2020-09-15T00:00:00", + "2020-09-16T00:00:00", + "2020-09-17T00:00:00", + "2020-09-18T00:00:00", + "2020-09-21T00:00:00", + "2020-09-22T00:00:00", + "2020-09-23T00:00:00", + "2020-09-24T00:00:00", + "2020-09-25T00:00:00", + "2020-09-28T00:00:00", + "2020-09-29T00:00:00", + "2020-09-30T00:00:00", + "2020-10-01T00:00:00", + "2020-10-02T00:00:00", + "2020-10-05T00:00:00", + "2020-10-06T00:00:00", + "2020-10-07T00:00:00", + "2020-10-08T00:00:00", + "2020-10-09T00:00:00", + "2020-10-12T00:00:00", + "2020-10-13T00:00:00", + "2020-10-14T00:00:00", + "2020-10-15T00:00:00", + "2020-10-16T00:00:00", + "2020-10-19T00:00:00", + "2020-10-20T00:00:00", + "2020-10-21T00:00:00", + "2020-10-22T00:00:00", + "2020-10-23T00:00:00", + "2020-10-26T00:00:00", + "2020-10-27T00:00:00", + "2020-10-28T00:00:00", + "2020-10-29T00:00:00", + "2020-10-30T00:00:00", + "2020-11-02T00:00:00", + "2020-11-03T00:00:00", + "2020-11-04T00:00:00", + "2020-11-05T00:00:00", + "2020-11-06T00:00:00", + "2020-11-09T00:00:00", + "2020-11-10T00:00:00", + "2020-11-11T00:00:00", + "2020-11-12T00:00:00", + "2020-11-13T00:00:00", + "2020-11-16T00:00:00", + "2020-11-17T00:00:00", + "2020-11-18T00:00:00", + "2020-11-19T00:00:00", + "2020-11-20T00:00:00", + "2020-11-23T00:00:00", + "2020-11-24T00:00:00", + "2020-11-25T00:00:00", + "2020-11-27T00:00:00", + "2020-11-30T00:00:00", + "2020-12-01T00:00:00", + "2020-12-02T00:00:00", + "2020-12-03T00:00:00", + "2020-12-04T00:00:00", + "2020-12-07T00:00:00", + "2020-12-08T00:00:00", + "2020-12-09T00:00:00", + "2020-12-10T00:00:00", + "2020-12-11T00:00:00", + "2020-12-14T00:00:00", + "2020-12-15T00:00:00", + "2020-12-16T00:00:00", + "2020-12-17T00:00:00", + "2020-12-18T00:00:00", + "2020-12-21T00:00:00", + "2020-12-22T00:00:00", + "2020-12-23T00:00:00", + "2020-12-24T00:00:00", + "2020-12-28T00:00:00", + "2020-12-29T00:00:00", + "2020-12-30T00:00:00", + "2020-12-31T00:00:00", + "2021-01-04T00:00:00", + "2021-01-05T00:00:00", + "2021-01-06T00:00:00", + "2021-01-07T00:00:00", + "2021-01-08T00:00:00", + "2021-01-11T00:00:00", + "2021-01-12T00:00:00", + "2021-01-13T00:00:00", + "2021-01-14T00:00:00", + "2021-01-15T00:00:00", + "2021-01-19T00:00:00", + "2021-01-20T00:00:00", + "2021-01-21T00:00:00", + "2021-01-22T00:00:00", + "2021-01-25T00:00:00", + "2021-01-26T00:00:00", + "2021-01-27T00:00:00", + "2021-01-28T00:00:00", + "2021-01-29T00:00:00", + "2021-02-01T00:00:00", + "2021-02-02T00:00:00", + "2021-02-03T00:00:00", + "2021-02-04T00:00:00", + "2021-02-05T00:00:00", + "2021-02-08T00:00:00", + "2021-02-09T00:00:00", + "2021-02-10T00:00:00", + "2021-02-11T00:00:00", + "2021-02-12T00:00:00", + "2021-02-16T00:00:00", + "2021-02-17T00:00:00", + "2021-02-18T00:00:00", + "2021-02-19T00:00:00", + "2021-02-22T00:00:00", + "2021-02-23T00:00:00", + "2021-02-24T00:00:00", + "2021-02-25T00:00:00", + "2021-02-26T00:00:00", + "2021-03-01T00:00:00", + "2021-03-02T00:00:00", + "2021-03-03T00:00:00", + "2021-03-04T00:00:00", + "2021-03-05T00:00:00", + "2021-03-08T00:00:00", + "2021-03-09T00:00:00", + "2021-03-10T00:00:00", + "2021-03-11T00:00:00", + "2021-03-12T00:00:00", + "2021-03-15T00:00:00", + "2021-03-16T00:00:00", + "2021-03-17T00:00:00", + "2021-03-18T00:00:00", + "2021-03-19T00:00:00", + "2021-03-22T00:00:00", + "2021-03-23T00:00:00", + "2021-03-24T00:00:00", + "2021-03-25T00:00:00", + "2021-03-26T00:00:00", + "2021-03-29T00:00:00", + "2021-03-30T00:00:00", + "2021-03-31T00:00:00", + "2021-04-01T00:00:00", + "2021-04-05T00:00:00", + "2021-04-06T00:00:00", + "2021-04-07T00:00:00", + "2021-04-08T00:00:00", + "2021-04-09T00:00:00", + "2021-04-12T00:00:00", + "2021-04-13T00:00:00", + "2021-04-14T00:00:00", + "2021-04-15T00:00:00", + "2021-04-16T00:00:00", + "2021-04-19T00:00:00", + "2021-04-20T00:00:00", + "2021-04-21T00:00:00", + "2021-04-22T00:00:00", + "2021-04-23T00:00:00", + "2021-04-26T00:00:00", + "2021-04-27T00:00:00", + "2021-04-28T00:00:00", + "2021-04-29T00:00:00", + "2021-04-30T00:00:00", + "2021-05-03T00:00:00", + "2021-05-04T00:00:00", + "2021-05-05T00:00:00", + "2021-05-06T00:00:00", + "2021-05-07T00:00:00", + "2021-05-10T00:00:00", + "2021-05-11T00:00:00", + "2021-05-12T00:00:00", + "2021-05-13T00:00:00", + "2021-05-14T00:00:00", + "2021-05-17T00:00:00", + "2021-05-18T00:00:00", + "2021-05-19T00:00:00", + "2021-05-20T00:00:00", + "2021-05-21T00:00:00", + "2021-05-24T00:00:00", + "2021-05-25T00:00:00", + "2021-05-26T00:00:00", + "2021-05-27T00:00:00", + "2021-05-28T00:00:00", + "2021-06-01T00:00:00", + "2021-06-02T00:00:00", + "2021-06-03T00:00:00", + "2021-06-04T00:00:00", + "2021-06-07T00:00:00", + "2021-06-08T00:00:00", + "2021-06-09T00:00:00", + "2021-06-10T00:00:00", + "2021-06-11T00:00:00", + "2021-06-14T00:00:00", + "2021-06-15T00:00:00", + "2021-06-16T00:00:00", + "2021-06-17T00:00:00", + "2021-06-18T00:00:00", + "2021-06-21T00:00:00", + "2021-06-22T00:00:00", + "2021-06-23T00:00:00", + "2021-06-24T00:00:00", + "2021-06-25T00:00:00", + "2021-06-28T00:00:00", + "2021-06-29T00:00:00", + "2021-06-30T00:00:00", + "2021-07-01T00:00:00", + "2021-07-02T00:00:00", + "2021-07-06T00:00:00", + "2021-07-07T00:00:00", + "2021-07-08T00:00:00", + "2021-07-09T00:00:00", + "2021-07-12T00:00:00", + "2021-07-13T00:00:00", + "2021-07-14T00:00:00", + "2021-07-15T00:00:00", + "2021-07-16T00:00:00", + "2021-07-19T00:00:00", + "2021-07-20T00:00:00", + "2021-07-21T00:00:00", + "2021-07-22T00:00:00", + "2021-07-23T00:00:00", + "2021-07-26T00:00:00", + "2021-07-27T00:00:00", + "2021-07-28T00:00:00", + "2021-07-29T00:00:00", + "2021-07-30T00:00:00", + "2021-08-02T00:00:00", + "2021-08-03T00:00:00", + "2021-08-04T00:00:00", + "2021-08-05T00:00:00", + "2021-08-06T00:00:00", + "2021-08-09T00:00:00", + "2021-08-10T00:00:00", + "2021-08-11T00:00:00", + "2021-08-12T00:00:00", + "2021-08-13T00:00:00", + "2021-08-16T00:00:00", + "2021-08-17T00:00:00", + "2021-08-18T00:00:00", + "2021-08-19T00:00:00", + "2021-08-20T00:00:00", + "2021-08-23T00:00:00", + "2021-08-24T00:00:00", + "2021-08-25T00:00:00", + "2021-08-26T00:00:00", + "2021-08-27T00:00:00", + "2021-08-30T00:00:00", + "2021-08-31T00:00:00", + "2021-09-01T00:00:00", + "2021-09-02T00:00:00", + "2021-09-03T00:00:00", + "2021-09-07T00:00:00", + "2021-09-08T00:00:00", + "2021-09-09T00:00:00", + "2021-09-10T00:00:00", + "2021-09-13T00:00:00", + "2021-09-14T00:00:00", + "2021-09-15T00:00:00", + "2021-09-16T00:00:00", + "2021-09-17T00:00:00", + "2021-09-20T00:00:00", + "2021-09-21T00:00:00", + "2021-09-22T00:00:00", + "2021-09-23T00:00:00", + "2021-09-24T00:00:00", + "2021-09-27T00:00:00", + "2021-09-28T00:00:00", + "2021-09-29T00:00:00", + "2021-09-30T00:00:00", + "2021-10-01T00:00:00", + "2021-10-04T00:00:00", + "2021-10-05T00:00:00", + "2021-10-06T00:00:00", + "2021-10-07T00:00:00", + "2021-10-08T00:00:00", + "2021-10-11T00:00:00", + "2021-10-12T00:00:00", + "2021-10-13T00:00:00", + "2021-10-14T00:00:00", + "2021-10-15T00:00:00", + "2021-10-18T00:00:00", + "2021-10-19T00:00:00", + "2021-10-20T00:00:00", + "2021-10-21T00:00:00", + "2021-10-22T00:00:00", + "2021-10-25T00:00:00", + "2021-10-26T00:00:00", + "2021-10-27T00:00:00", + "2021-10-28T00:00:00", + "2021-10-29T00:00:00", + "2021-11-01T00:00:00", + "2021-11-02T00:00:00", + "2021-11-03T00:00:00", + "2021-11-04T00:00:00", + "2021-11-05T00:00:00", + "2021-11-08T00:00:00", + "2021-11-09T00:00:00", + "2021-11-10T00:00:00", + "2021-11-11T00:00:00", + "2021-11-12T00:00:00", + "2021-11-15T00:00:00", + "2021-11-16T00:00:00", + "2021-11-17T00:00:00", + "2021-11-18T00:00:00", + "2021-11-19T00:00:00", + "2021-11-22T00:00:00", + "2021-11-23T00:00:00", + "2021-11-24T00:00:00", + "2021-11-26T00:00:00", + "2021-11-29T00:00:00", + "2021-11-30T00:00:00", + "2021-12-01T00:00:00", + "2021-12-02T00:00:00", + "2021-12-03T00:00:00", + "2021-12-06T00:00:00", + "2021-12-07T00:00:00", + "2021-12-08T00:00:00", + "2021-12-09T00:00:00", + "2021-12-10T00:00:00", + "2021-12-13T00:00:00", + "2021-12-14T00:00:00", + "2021-12-15T00:00:00", + "2021-12-16T00:00:00", + "2021-12-17T00:00:00", + "2021-12-20T00:00:00", + "2021-12-21T00:00:00", + "2021-12-22T00:00:00", + "2021-12-23T00:00:00", + "2021-12-27T00:00:00", + "2021-12-28T00:00:00", + "2021-12-29T00:00:00", + "2021-12-30T00:00:00", + "2021-12-31T00:00:00", + "2022-01-03T00:00:00", + "2022-01-04T00:00:00", + "2022-01-05T00:00:00", + "2022-01-06T00:00:00", + "2022-01-07T00:00:00", + "2022-01-10T00:00:00", + "2022-01-11T00:00:00", + "2022-01-12T00:00:00", + "2022-01-13T00:00:00", + "2022-01-14T00:00:00", + "2022-01-18T00:00:00", + "2022-01-19T00:00:00", + "2022-01-20T00:00:00", + "2022-01-21T00:00:00", + "2022-01-24T00:00:00", + "2022-01-25T00:00:00", + "2022-01-26T00:00:00", + "2022-01-27T00:00:00", + "2022-01-28T00:00:00", + "2022-01-31T00:00:00", + "2022-02-01T00:00:00", + "2022-02-02T00:00:00", + "2022-02-03T00:00:00", + "2022-02-04T00:00:00", + "2022-02-07T00:00:00", + "2022-02-08T00:00:00", + "2022-02-09T00:00:00", + "2022-02-10T00:00:00", + "2022-02-11T00:00:00", + "2022-02-14T00:00:00", + "2022-02-15T00:00:00", + "2022-02-16T00:00:00", + "2022-02-17T00:00:00", + "2022-02-18T00:00:00", + "2022-02-22T00:00:00", + "2022-02-23T00:00:00", + "2022-02-24T00:00:00", + "2022-02-25T00:00:00", + "2022-02-28T00:00:00", + "2022-03-01T00:00:00", + "2022-03-02T00:00:00", + "2022-03-03T00:00:00", + "2022-03-04T00:00:00", + "2022-03-07T00:00:00", + "2022-03-08T00:00:00", + "2022-03-09T00:00:00", + "2022-03-10T00:00:00", + "2022-03-11T00:00:00", + "2022-03-14T00:00:00", + "2022-03-15T00:00:00", + "2022-03-16T00:00:00", + "2022-03-17T00:00:00", + "2022-03-18T00:00:00", + "2022-03-21T00:00:00", + "2022-03-22T00:00:00", + "2022-03-23T00:00:00", + "2022-03-24T00:00:00", + "2022-03-25T00:00:00", + "2022-03-28T00:00:00", + "2022-03-29T00:00:00", + "2022-03-30T00:00:00", + "2022-03-31T00:00:00", + "2022-04-01T00:00:00", + "2022-04-04T00:00:00", + "2022-04-05T00:00:00", + "2022-04-06T00:00:00", + "2022-04-07T00:00:00", + "2022-04-08T00:00:00", + "2022-04-11T00:00:00", + "2022-04-12T00:00:00", + "2022-04-13T00:00:00", + "2022-04-14T00:00:00", + "2022-04-18T00:00:00", + "2022-04-19T00:00:00", + "2022-04-20T00:00:00", + "2022-04-21T00:00:00", + "2022-04-22T00:00:00", + "2022-04-25T00:00:00", + "2022-04-26T00:00:00", + "2022-04-27T00:00:00", + "2022-04-28T00:00:00", + "2022-04-29T00:00:00", + "2022-05-02T00:00:00", + "2022-05-03T00:00:00", + "2022-05-04T00:00:00", + "2022-05-05T00:00:00", + "2022-05-06T00:00:00", + "2022-05-09T00:00:00", + "2022-05-10T00:00:00", + "2022-05-11T00:00:00", + "2022-05-12T00:00:00", + "2022-05-13T00:00:00", + "2022-05-16T00:00:00", + "2022-05-17T00:00:00", + "2022-05-18T00:00:00", + "2022-05-19T00:00:00", + "2022-05-20T00:00:00", + "2022-05-23T00:00:00", + "2022-05-24T00:00:00", + "2022-05-25T00:00:00", + "2022-05-26T00:00:00", + "2022-05-27T00:00:00", + "2022-05-31T00:00:00", + "2022-06-01T00:00:00", + "2022-06-02T00:00:00", + "2022-06-03T00:00:00", + "2022-06-06T00:00:00", + "2022-06-07T00:00:00", + "2022-06-08T00:00:00", + "2022-06-09T00:00:00", + "2022-06-10T00:00:00", + "2022-06-13T00:00:00", + "2022-06-14T00:00:00", + "2022-06-15T00:00:00", + "2022-06-16T00:00:00", + "2022-06-17T00:00:00", + "2022-06-21T00:00:00", + "2022-06-22T00:00:00", + "2022-06-23T00:00:00", + "2022-06-24T00:00:00", + "2022-06-27T00:00:00", + "2022-06-28T00:00:00", + "2022-06-29T00:00:00", + "2022-06-30T00:00:00", + "2022-07-01T00:00:00", + "2022-07-05T00:00:00", + "2022-07-06T00:00:00", + "2022-07-07T00:00:00", + "2022-07-08T00:00:00", + "2022-07-11T00:00:00", + "2022-07-12T00:00:00", + "2022-07-13T00:00:00", + "2022-07-14T00:00:00", + "2022-07-15T00:00:00", + "2022-07-18T00:00:00", + "2022-07-19T00:00:00", + "2022-07-20T00:00:00", + "2022-07-21T00:00:00", + "2022-07-22T00:00:00", + "2022-07-25T00:00:00", + "2022-07-26T00:00:00", + "2022-07-27T00:00:00", + "2022-07-28T00:00:00", + "2022-07-29T00:00:00", + "2022-08-01T00:00:00", + "2022-08-02T00:00:00", + "2022-08-03T00:00:00", + "2022-08-04T00:00:00", + "2022-08-05T00:00:00", + "2022-08-08T00:00:00", + "2022-08-09T00:00:00", + "2022-08-10T00:00:00", + "2022-08-11T00:00:00", + "2022-08-12T00:00:00", + "2022-08-15T00:00:00", + "2022-08-16T00:00:00", + "2022-08-17T00:00:00", + "2022-08-18T00:00:00", + "2022-08-19T00:00:00", + "2022-08-22T00:00:00", + "2022-08-23T00:00:00", + "2022-08-24T00:00:00", + "2022-08-25T00:00:00", + "2022-08-26T00:00:00", + "2022-08-29T00:00:00", + "2022-08-30T00:00:00", + "2022-08-31T00:00:00", + "2022-09-01T00:00:00", + "2022-09-02T00:00:00", + "2022-09-06T00:00:00", + "2022-09-07T00:00:00", + "2022-09-08T00:00:00", + "2022-09-09T00:00:00", + "2022-09-12T00:00:00", + "2022-09-13T00:00:00", + "2022-09-14T00:00:00", + "2022-09-15T00:00:00", + "2022-09-16T00:00:00", + "2022-09-19T00:00:00", + "2022-09-20T00:00:00", + "2022-09-21T00:00:00", + "2022-09-22T00:00:00", + "2022-09-23T00:00:00", + "2022-09-26T00:00:00", + "2022-09-27T00:00:00", + "2022-09-28T00:00:00", + "2022-09-29T00:00:00", + "2022-09-30T00:00:00", + "2022-10-03T00:00:00", + "2022-10-04T00:00:00", + "2022-10-05T00:00:00", + "2022-10-06T00:00:00", + "2022-10-07T00:00:00", + "2022-10-10T00:00:00", + "2022-10-11T00:00:00", + "2022-10-12T00:00:00", + "2022-10-13T00:00:00", + "2022-10-14T00:00:00", + "2022-10-17T00:00:00", + "2022-10-18T00:00:00", + "2022-10-19T00:00:00", + "2022-10-20T00:00:00", + "2022-10-21T00:00:00", + "2022-10-24T00:00:00", + "2022-10-25T00:00:00", + "2022-10-26T00:00:00", + "2022-10-27T00:00:00", + "2022-10-28T00:00:00", + "2022-10-31T00:00:00", + "2022-11-01T00:00:00", + "2022-11-02T00:00:00", + "2022-11-03T00:00:00", + "2022-11-04T00:00:00", + "2022-11-07T00:00:00", + "2022-11-08T00:00:00", + "2022-11-09T00:00:00", + "2022-11-10T00:00:00", + "2022-11-11T00:00:00", + "2022-11-14T00:00:00", + "2022-11-15T00:00:00", + "2022-11-16T00:00:00", + "2022-11-17T00:00:00", + "2022-11-18T00:00:00", + "2022-11-21T00:00:00", + "2022-11-22T00:00:00", + "2022-11-23T00:00:00", + "2022-11-25T00:00:00", + "2022-11-28T00:00:00", + "2022-11-29T00:00:00", + "2022-11-30T00:00:00", + "2022-12-01T00:00:00", + "2022-12-02T00:00:00", + "2022-12-05T00:00:00", + "2022-12-06T00:00:00", + "2022-12-07T00:00:00", + "2022-12-08T00:00:00", + "2022-12-09T00:00:00", + "2022-12-12T00:00:00", + "2022-12-13T00:00:00", + "2022-12-14T00:00:00", + "2022-12-15T00:00:00", + "2022-12-16T00:00:00", + "2022-12-19T00:00:00", + "2022-12-20T00:00:00", + "2022-12-21T00:00:00", + "2022-12-22T00:00:00", + "2022-12-23T00:00:00", + "2022-12-27T00:00:00", + "2022-12-28T00:00:00", + "2022-12-29T00:00:00", + "2022-12-30T00:00:00", + "2023-01-03T00:00:00", + "2023-01-04T00:00:00", + "2023-01-05T00:00:00", + "2023-01-06T00:00:00", + "2023-01-09T00:00:00", + "2023-01-10T00:00:00", + "2023-01-11T00:00:00", + "2023-01-12T00:00:00", + "2023-01-13T00:00:00", + "2023-01-17T00:00:00", + "2023-01-18T00:00:00", + "2023-01-19T00:00:00", + "2023-01-20T00:00:00", + "2023-01-23T00:00:00", + "2023-01-24T00:00:00", + "2023-01-25T00:00:00", + "2023-01-26T00:00:00", + "2023-01-27T00:00:00", + "2023-01-30T00:00:00", + "2023-01-31T00:00:00", + "2023-02-01T00:00:00", + "2023-02-02T00:00:00", + "2023-02-03T00:00:00", + "2023-02-06T00:00:00", + "2023-02-07T00:00:00", + "2023-02-08T00:00:00", + "2023-02-09T00:00:00", + "2023-02-10T00:00:00", + "2023-02-13T00:00:00", + "2023-02-14T00:00:00", + "2023-02-15T00:00:00", + "2023-02-16T00:00:00", + "2023-02-17T00:00:00", + "2023-02-21T00:00:00", + "2023-02-22T00:00:00", + "2023-02-23T00:00:00", + "2023-02-24T00:00:00", + "2023-02-27T00:00:00", + "2023-02-28T00:00:00", + "2023-03-01T00:00:00", + "2023-03-02T00:00:00", + "2023-03-03T00:00:00", + "2023-03-06T00:00:00", + "2023-03-07T00:00:00", + "2023-03-08T00:00:00", + "2023-03-09T00:00:00", + "2023-03-10T00:00:00", + "2023-03-13T00:00:00", + "2023-03-14T00:00:00", + "2023-03-15T00:00:00", + "2023-03-16T00:00:00", + "2023-03-17T00:00:00", + "2023-03-20T00:00:00", + "2023-03-21T00:00:00", + "2023-03-22T00:00:00", + "2023-03-23T00:00:00", + "2023-03-24T00:00:00", + "2023-03-27T00:00:00", + "2023-03-28T00:00:00", + "2023-03-29T00:00:00", + "2023-03-30T00:00:00", + "2023-03-31T00:00:00", + "2023-04-03T00:00:00", + "2023-04-04T00:00:00", + "2023-04-05T00:00:00", + "2023-04-06T00:00:00", + "2023-04-10T00:00:00", + "2023-04-11T00:00:00", + "2023-04-12T00:00:00", + "2023-04-13T00:00:00", + "2023-04-14T00:00:00", + "2023-04-17T00:00:00", + "2023-04-18T00:00:00", + "2023-04-19T00:00:00", + "2023-04-20T00:00:00", + "2023-04-21T00:00:00" + ], + "xaxis": "x", + "y": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 192.3513604400425, + 190.42376318509724, + 194.37895211979168, + 196.07888819093208, + 198.2475226326075, + 199.12584649141937, + 198.62440122893744, + 200.96460768946923, + 199.14132826567752, + 198.94753721948683, + 201.8802052399952, + 204.50780105160027, + 206.2494648870548, + 208.02098398196685, + 208.00061418505135, + 207.31645041517552, + 206.1502026228524, + 206.52702418559355, + 209.8719914866436, + 211.111945699749, + 211.87390170144133, + 210.8920307265334, + 209.95539737136065, + 210.43534301535772, + 211.97616349490937, + 213.41347103539417, + 214.89454354606752, + 216.26011265889105, + 218.3870990272731, + 219.48312344058095, + 219.9641157579414, + 219.70499847671724, + 220.78452859027863, + 222.7024172793346, + 222.92679703655512, + 223.09246682212225, + 222.62404778715435, + 221.47733394790623, + 223.6467619355524, + 222.8230310567693, + 223.1127216473888, + 221.33906382699703, + 219.59368149280212, + 218.1360656132718, + 219.21893180886752, + 219.5266642083836, + 219.6178003484083, + 222.0956790190537, + 224.1356025948421, + 228.9604113424383, + 234.88050857855117, + 238.9601332422119, + 242.4080912067697, + 244.38893067316636, + 244.70788698037688, + 244.79023015387412, + 244.76001935066176, + 244.7816822348062, + 244.252598895164, + 242.62557160707732, + 240.9709433735192, + 239.6147548744925, + 237.8631966367408, + 237.9869566125576, + 237.61719039281513, + 237.7130602726664, + 237.2004650454367, + 238.5682500859926, + 242.00927627923124, + 243.2208276890683, + 246.596467273435, + 250.04933511855097, + 252.62404899241616, + 252.61320599694045, + 251.3025738447869, + 249.6783390333783, + 246.086212414947, + 243.78806696359905, + 242.71846359593889, + 242.36991807327223, + 244.08173867853804, + 243.3559680407798, + 246.79785224723943, + 250.62810104986733, + 247.900308308868, + 247.8708246467889, + 246.26115508928868, + 242.77101368509216, + 241.091303384248, + 240.34352390259696, + 238.35974294642844, + 235.6780432162885, + 232.3559380097587, + 230.5236919093643, + 231.6771107581627, + 234.19270871740616, + 243.7329812063599, + 247.64492203597345, + 250.22070558531232, + 250.2280401314289, + 250.2390142630836, + 248.23856301832737, + 248.5845011912624, + 247.787892025634, + 248.28854410943177, + 247.58594809308727, + 247.23197784000956, + 247.2014358423899, + 243.99104445498588, + 241.3464769918907, + 244.506979166646, + 249.1854713724774, + 252.0060772701933, + 253.21773231737157, + 255.09388346914085, + 256.4562395083646, + 256.7156774593561, + 260.13921723168994, + 260.2398427256398, + 263.4740394268737, + 258.70579790581405, + 256.9276519232358, + 251.27135029109607, + 248.75382005726487, + 249.46256012001487, + 250.83524874038147, + 249.23116590513857, + 247.3712308196004, + 246.9397936793308, + 246.9464822214116, + 246.37317450729415, + 246.0949020580393, + 245.4704620486761, + 244.90004746517832, + 244.53858464783357, + 248.0042624191009, + 249.90342633824835, + 256.73186865359224, + 265.89139749711194, + 274.47008312955586, + 274.5982801969369, + 273.0011609713522, + 271.4928460361104, + 269.3274174920562, + 270.65147045383526, + 269.9231666618619, + 270.1141401737342, + 269.58573292363167, + 268.8082666411368, + 270.16374201630646, + 272.7314373231089, + 274.7556438439045, + 278.36714019546775, + 282.8032096701622, + 285.17069565687814, + 286.61154626159237, + 287.6727761127497, + 289.19132528565217, + 289.22674065980283, + 289.65614123842084, + 289.90541543687317, + 289.18885719591214, + 288.4449003244695, + 287.8395268503084, + 289.59079429658874, + 291.8727793724827, + 295.3388406801161, + 297.64288046988145, + 297.7737174144372, + 295.59967142505946, + 295.5567827017956, + 295.89894981947435, + 296.2106033640513, + 296.7378544055367, + 297.94104053300845, + 298.56242016871096, + 295.29998961623414, + 292.01950027521013, + 290.46169819279146, + 288.4370168845499, + 288.5591034692054, + 289.9373097957008, + 293.78050059652736, + 293.65532015176944, + 293.7093810108059, + 294.07493589982346, + 295.45238253002543, + 295.6161389121936, + 296.87031788074717, + 299.9753783780953, + 301.6681934551947, + 301.4493577174495, + 300.6386135090144, + 299.75496081555235, + 299.1333029947656, + 298.93041465853537, + 301.6603154987935, + 304.03940356223666, + 309.72042934222804, + 309.1433132168209, + 307.89915575668635, + 300.137042852009, + 294.77454892920633, + 294.00537482578886, + 292.1356443691898, + 286.6445381467259, + 279.81093451773114, + 277.3483344218824, + 272.67338023884645, + 274.1179762553262, + 275.9616270597234, + 279.153408585262, + 282.69780520226766, + 283.3539737991546, + 283.54172452233377, + 284.2067551950993, + 284.10885902753904, + 284.036546071605, + 285.212482093312, + 285.3159742820151, + 285.9018655739189, + 288.5084192412964, + 289.7193902662491, + 297.7937345308687, + 298.58013729877064, + 299.86345870667486, + 297.7914774220892, + 293.2366847916381, + 290.2610054631796, + 287.76843152845106, + 284.5458996154123, + 283.4911043549135, + 283.5880415686163, + 281.70981361066345, + 282.30143171301256, + 284.59027862413586, + 288.69147385985474, + 292.5103330691539, + 297.88674318753544, + 306.1949431379999, + 313.65614926418846, + 318.83432675631894, + 320.20967276563715, + 322.69243152496495, + 325.520541710849, + 326.58235465215, + 326.8047935529865, + 326.61374736949637, + 322.344134146803, + 318.76268928339556, + 317.4649345421403, + 317.60775931073556, + 313.5410245152936, + 310.12320562043016, + 302.6009369790553, + 298.24360146466927, + 297.7880271484381, + 297.89309180702554, + 297.60988993658106, + 297.86386474986125, + 300.369945022629, + 302.55627242996906, + 303.86608285857676, + 303.2655846840847, + 302.3206345695395, + 302.0529565820213, + 302.1299317239055, + 301.88660230635276, + 301.7886699678846, + 305.9882337656479, + 308.9209145691598, + 308.8761375742709, + 310.04959590652516, + 313.30918497231755, + 316.5702459486413, + 316.4497714608832, + 316.70962526096434, + 316.4077812458317, + 316.70938116849305, + 315.69123852522296, + 316.4158710139126, + 316.649836098813, + 316.8422250394149, + 317.5188697816184, + 320.5377964839948, + 321.5027318162516, + 321.1214139821512, + 321.30422317461455, + 322.8745616462945, + 323.5854954669011, + 323.21103332379363, + 322.04075239998673, + 322.40084125024526, + 325.07663903151416, + 325.9366344366037, + 328.739613102646, + 331.5324271725316, + 333.3522145951938, + 336.45802311343493, + 339.0465505108462, + 341.8511616568054, + 343.2565420953363, + 344.18088083278735, + 345.20435369765096, + 344.86169331542277, + 343.61013203347596, + 343.6800054235955, + 343.4905077448135, + 343.85991698483855, + 344.08399723595625, + 344.1397919131054, + 343.9853019930528, + 343.7616778077154, + 343.6535417804257, + 345.525270476412, + 350.5067007759127, + 353.84694838569965, + 355.84461311127274, + 356.6969734934413, + 356.57377740483656, + 356.46438546408694, + 356.97780267660795, + 355.1081344092018, + 354.4299691137941, + 354.89586672069635, + 353.6718837301657, + 352.05141375410017, + 350.7851481044453, + 350.44773171600616, + 349.22372723327925, + 346.5925474866104, + 345.417581122773, + 344.93161611746564, + 344.7599519927239, + 344.42956605925883, + 344.415578057893, + 346.4048560157753, + 351.5782119110804, + 357.19757203616865, + 361.321035209415, + 362.1141670212613, + 363.0228898169962, + 363.8923163768187, + 364.7883040042691, + 358.17779187798976, + 353.8724675700883, + 352.27228207417403, + 352.1141979749221, + 352.1701031458267, + 352.09018435339635, + 347.43407254188463, + 343.7641928705425, + 340.3686214476793, + 338.45110600719454, + 333.5314048757531, + 331.92471687027427, + 332.6103386932286, + 334.9844224925482, + 336.05974728633606, + 335.25844945119854, + 334.33255468481445, + 334.9373307806292, + 337.11189409190155, + 339.2551064783387, + 338.0396249188818, + 334.42324902074176, + 332.50466868527997, + 330.9998307074042, + 330.8055699807667, + 333.2237997968375, + 334.2478224404184, + 335.0847600019691, + 334.3354557863946, + 334.7423634993452, + 337.4827938721302, + 342.46575159249835, + 346.33375203259106, + 345.97599783687144, + 346.45175913517573, + 347.1062073258448, + 348.52807865114244, + 351.5627044111479, + 354.11922072723, + 358.8025350721907, + 362.476712504176, + 366.1205778840627, + 370.5641119979538, + 372.302553626231, + 373.1623343991199, + 375.64106300972, + 377.9743815831145, + 378.7067426417227, + 377.197570194264, + 377.0844601452397, + 376.638752846726, + 373.627487360673, + 373.7954483388456, + 369.85335360296654, + 367.45717618910766, + 367.4813298979372, + 367.2949602284049, + 367.1486278506486, + 367.75686052557234, + 369.15407799167264, + 368.5619329328161, + 368.6243201321192, + 367.8961321051494, + 366.22002989746534, + 364.26435359723314, + 364.23324124537834, + 364.6608874268773, + 364.2741163999128, + 364.27943792404903, + 364.74587856017337, + 363.9914585745057, + 363.7709095957929, + 363.76649016816776, + 363.163168618818, + 363.5304248014792, + 362.225825323052, + 359.7685984927054, + 357.1297316200447, + 355.3925851206997, + 357.3077210770061, + 356.8968214994865, + 352.5002652810342, + 349.97859143319863, + 345.39226000194355, + 340.04361913161557, + 334.3002690788768, + 324.87302637060384, + 319.04449003742116, + 313.06786458252054, + 308.34295294099843, + 300.9968395248027, + 299.78168922180663, + 300.6512230580157, + 302.09409789762395, + 305.7681814323626, + 310.4696896953973, + 313.32107545868257, + 318.50967253509356, + 320.8115049588806, + 320.7404965018072, + 320.98472297236543, + 319.7434450602608, + 318.4710072016656, + 320.88693168376346, + 323.93446029575847, + 326.3736154876479, + 322.05990565545864, + 316.64559103373256, + 308.44520423427264, + 309.1242991565743, + 308.55512598664944, + 308.79164159226366, + 307.83430748155587, + 308.96923360008407, + 313.86394969239, + 314.88254375153707, + 307.46911635593347, + 301.1425592766697, + 303.00153094316744, + 305.30603604958975, + 302.19081503561796, + 296.28734481335454, + 295.1657667160698, + 295.8511709645176, + 295.29920134698625, + 293.62601654294775, + 292.623320199224, + 288.6636847789074, + 287.56514815081636, + 283.75632941994013, + 281.21800998982775, + 281.18004608935223, + 281.7612653077748, + 281.6351267076902, + 284.85036361716124, + 292.8298636882827, + 307.3952321607938, + 320.4940476244729, + 326.56759765842617, + 331.14735316131265, + 330.29599221446426, + 325.0885630035091, + 318.4393833205567, + 316.7709831845217, + 311.12961864968617, + 306.66813296216174, + 306.1569529987163, + 307.01964642981403, + 305.17991202610756, + 299.18127757298316, + 297.1609631683524, + 294.29085296593956, + 290.725693197797, + 291.1315904776444, + 287.10740893014525, + 285.95804811562374, + 283.9568379779012, + 284.4388702655074, + 283.3268932428861, + 279.62928693417086, + 271.1925772985264, + 270.6800229979255, + 265.9463165313575, + 261.13218148246574, + 260.13017946264114, + 260.2881000865911, + 260.13263951947187, + 256.08274302249384, + 255.92030864234027, + 252.69970255598037, + 253.1387950580413, + 253.0283180831454, + 263.90276423446204, + 268.05855641335904, + 268.13120677783667, + 266.02572157289484, + 265.10679098574064, + 262.5119547266471, + 263.6197241854628, + 263.1532015016579, + 262.5352592661659, + 262.3598852656013, + 264.2914126661844, + 263.9751026743987, + 256.30446437793114, + 248.96896584185313, + 247.33789645833073, + 239.3482761907645, + 233.42375964024765, + 231.83058459953511, + 230.83790567805568, + 231.0383664732969, + 235.14428973729923, + 237.14668553844515, + 239.6165391826528, + 244.89381035678764, + 251.1025801139617, + 255.04059072276473, + 255.27068629742476, + 256.47964810924185, + 256.3648934381652, + 255.0640168486971, + 260.3749612115211, + 264.8114013429467, + 266.0197297049992, + 267.6900725631575, + 267.98038940545194, + 268.868151990989, + 266.8018133915905, + 263.92011872240795, + 260.4913862064873, + 262.45830890552986, + 264.98818931064403, + 266.45283358664864, + 265.55927195893514, + 263.15117371844053, + 259.3160859303038, + 258.4879652837559, + 260.46515762674983, + 261.3090919202337, + 263.40198557235846, + 265.8113826488931, + 271.57689385316496, + 274.6762369822739, + 274.84071157798434, + 275.02425019371566, + 276.1951735127522, + 278.9745974427442, + 288.99478565997254, + 293.65786065372225, + 297.76759380892787, + 299.86075250251463, + 299.40503225861426, + 299.2850009931218, + 297.05452027502577, + 296.6438207522571, + 291.1025090554823, + 285.0296614522083, + 278.621492483928, + 272.3510983210021, + 267.3841985623195, + 262.88112580877635, + 260.1781928616365, + 261.5948360643547, + 263.6590392605877, + 268.94242647205715, + 272.34048728674236, + 270.4947286790044, + 270.2929015490553, + 269.5590661583795, + 273.28645703875134, + 272.8570276653832, + 271.34384527312056, + 267.42993154540693, + 262.4755829038496, + 256.256603920066, + 250.63864531800297, + 246.11590447125593, + 244.7688930128008, + 241.55903273033576, + 240.1424024065816, + 246.46893600428447, + 247.88903982607312, + 250.78793021234884, + 252.2837211439546, + 251.0322487689221, + 250.75926405723231, + 249.06300722312616, + 246.75979279782723, + 246.65527397343277, + 243.2356604442365, + 242.9619278475528, + 242.96009959272033, + 243.98253234154737, + 243.80230669937663, + 244.10937867550336, + 243.46123598540692, + 242.63960826880464, + 243.75384055431405, + 244.84877604441783, + 243.61057817705793, + 244.2247096980875, + 246.91284462964165, + 248.28633013655485, + 244.83806078445187, + 246.72427580648585, + 246.28132895116113, + 245.97028088528648, + 243.89701736463613, + 243.13987529318064, + 240.45935134024364, + 239.20689723699985, + 237.6496669371018, + 236.71361299371833, + 236.46075126373805, + 236.03260351242025, + 235.92830698913775, + 235.62522014008368, + 237.6704608150818, + 243.88400546102565, + 249.37002209322335, + 254.04715320417688, + 257.557721122137, + 270.3513499712478, + 270.305013064921, + 270.302405463561, + 269.23994889942, + 267.8499739175052, + 267.60772463883023, + 267.00905548578874, + 267.08815791243035, + 267.8683512076963, + 267.9087305832523, + 264.99320555804104, + 261.237936844459, + 256.28882007116414, + 252.405829304664, + 251.95285810827147, + 249.75619013704096, + 248.974687131792, + 245.88496700586737, + 240.96359943471268, + 239.52154736939227, + 239.08304250737697, + 238.28913818740276, + 239.71899729465488, + 243.20289059179373, + 249.9059675362957, + 251.77484463122568, + 252.0547843746468, + 249.39253890340325, + 246.75330764755637, + 244.1992501406462, + 242.2121101286281, + 241.90942448339777, + 243.347724063421, + 245.40176070427435, + 243.41003402197853, + 243.13960149831695, + 245.00482963394143, + 245.64061135705265, + 249.51121410424108, + 252.90352462801664, + 255.4736050061306, + 255.85683365938195, + 250.47103716640152, + 249.99016565578225, + 250.8476346433856, + 250.69592898302932, + 254.90115376124237, + 262.7915184385393, + 267.7146994053867, + 270.0258248462646, + 273.05060271983086, + 277.16114638256903, + 279.7090926519829, + 281.04794753421, + 283.465752498736, + 283.2606440562708, + 282.03552505975813, + 280.0199447302577, + 278.4008538970331, + 276.74996464809493, + 276.23719524222446, + 275.6584014327733, + 275.7543256218131, + 275.7506105279137, + 276.1902619032319, + 277.9230504844074, + 281.41990938220863, + 280.88978761290093, + 281.24289741197043, + 281.11755942747817, + 280.7286963347964, + 276.9741275466462, + 275.90222973997913, + 274.6330486908353, + 272.4378270016724, + 273.4858799622218, + 273.29488665869303, + 272.0256549867119, + 271.6410963380972, + 272.5333975407717, + 272.31615104037496, + 273.9567696820006, + 277.77300401744856, + 283.01348265039474, + 286.135010110005, + 290.4610633383243, + 291.1481424518774, + 292.99810855958737, + 295.1168608567128, + 295.65927070683654, + 298.0353958029095, + 299.2625926027509, + 300.3124416679405, + 302.9028088857478, + 308.2073252899161, + 309.8394168100172, + 310.11416202078357 + ], + "yaxis": "y", + "hoverlabel": { + "namelength": 10 + } + }, + { + "connectgaps": true, + "hovertemplate": "%{y}", + "line": { + "color": "#ef7d00", + "dash": "dash", + "width": 1 + }, + "mode": "lines", + "name": "BBM_15_4.0 ", + "opacity": 1, + "type": "scatter", + "x": [ + "2020-04-20T00:00:00", + "2020-04-21T00:00:00", + "2020-04-22T00:00:00", + "2020-04-23T00:00:00", + "2020-04-24T00:00:00", + "2020-04-27T00:00:00", + "2020-04-28T00:00:00", + "2020-04-29T00:00:00", + "2020-04-30T00:00:00", + "2020-05-01T00:00:00", + "2020-05-04T00:00:00", + "2020-05-05T00:00:00", + "2020-05-06T00:00:00", + "2020-05-07T00:00:00", + "2020-05-08T00:00:00", + "2020-05-11T00:00:00", + "2020-05-12T00:00:00", + "2020-05-13T00:00:00", + "2020-05-14T00:00:00", + "2020-05-15T00:00:00", + "2020-05-18T00:00:00", + "2020-05-19T00:00:00", + "2020-05-20T00:00:00", + "2020-05-21T00:00:00", + "2020-05-22T00:00:00", + "2020-05-26T00:00:00", + "2020-05-27T00:00:00", + "2020-05-28T00:00:00", + "2020-05-29T00:00:00", + "2020-06-01T00:00:00", + "2020-06-02T00:00:00", + "2020-06-03T00:00:00", + "2020-06-04T00:00:00", + "2020-06-05T00:00:00", + "2020-06-08T00:00:00", + "2020-06-09T00:00:00", + "2020-06-10T00:00:00", + "2020-06-11T00:00:00", + "2020-06-12T00:00:00", + "2020-06-15T00:00:00", + "2020-06-16T00:00:00", + "2020-06-17T00:00:00", + "2020-06-18T00:00:00", + "2020-06-19T00:00:00", + "2020-06-22T00:00:00", + "2020-06-23T00:00:00", + "2020-06-24T00:00:00", + "2020-06-25T00:00:00", + "2020-06-26T00:00:00", + "2020-06-29T00:00:00", + "2020-06-30T00:00:00", + "2020-07-01T00:00:00", + "2020-07-02T00:00:00", + "2020-07-06T00:00:00", + "2020-07-07T00:00:00", + "2020-07-08T00:00:00", + "2020-07-09T00:00:00", + "2020-07-10T00:00:00", + "2020-07-13T00:00:00", + "2020-07-14T00:00:00", + "2020-07-15T00:00:00", + "2020-07-16T00:00:00", + "2020-07-17T00:00:00", + "2020-07-20T00:00:00", + "2020-07-21T00:00:00", + "2020-07-22T00:00:00", + "2020-07-23T00:00:00", + "2020-07-24T00:00:00", + "2020-07-27T00:00:00", + "2020-07-28T00:00:00", + "2020-07-29T00:00:00", + "2020-07-30T00:00:00", + "2020-07-31T00:00:00", + "2020-08-03T00:00:00", + "2020-08-04T00:00:00", + "2020-08-05T00:00:00", + "2020-08-06T00:00:00", + "2020-08-07T00:00:00", + "2020-08-10T00:00:00", + "2020-08-11T00:00:00", + "2020-08-12T00:00:00", + "2020-08-13T00:00:00", + "2020-08-14T00:00:00", + "2020-08-17T00:00:00", + "2020-08-18T00:00:00", + "2020-08-19T00:00:00", + "2020-08-20T00:00:00", + "2020-08-21T00:00:00", + "2020-08-24T00:00:00", + "2020-08-25T00:00:00", + "2020-08-26T00:00:00", + "2020-08-27T00:00:00", + "2020-08-28T00:00:00", + "2020-08-31T00:00:00", + "2020-09-01T00:00:00", + "2020-09-02T00:00:00", + "2020-09-03T00:00:00", + "2020-09-04T00:00:00", + "2020-09-08T00:00:00", + "2020-09-09T00:00:00", + "2020-09-10T00:00:00", + "2020-09-11T00:00:00", + "2020-09-14T00:00:00", + "2020-09-15T00:00:00", + "2020-09-16T00:00:00", + "2020-09-17T00:00:00", + "2020-09-18T00:00:00", + "2020-09-21T00:00:00", + "2020-09-22T00:00:00", + "2020-09-23T00:00:00", + "2020-09-24T00:00:00", + "2020-09-25T00:00:00", + "2020-09-28T00:00:00", + "2020-09-29T00:00:00", + "2020-09-30T00:00:00", + "2020-10-01T00:00:00", + "2020-10-02T00:00:00", + "2020-10-05T00:00:00", + "2020-10-06T00:00:00", + "2020-10-07T00:00:00", + "2020-10-08T00:00:00", + "2020-10-09T00:00:00", + "2020-10-12T00:00:00", + "2020-10-13T00:00:00", + "2020-10-14T00:00:00", + "2020-10-15T00:00:00", + "2020-10-16T00:00:00", + "2020-10-19T00:00:00", + "2020-10-20T00:00:00", + "2020-10-21T00:00:00", + "2020-10-22T00:00:00", + "2020-10-23T00:00:00", + "2020-10-26T00:00:00", + "2020-10-27T00:00:00", + "2020-10-28T00:00:00", + "2020-10-29T00:00:00", + "2020-10-30T00:00:00", + "2020-11-02T00:00:00", + "2020-11-03T00:00:00", + "2020-11-04T00:00:00", + "2020-11-05T00:00:00", + "2020-11-06T00:00:00", + "2020-11-09T00:00:00", + "2020-11-10T00:00:00", + "2020-11-11T00:00:00", + "2020-11-12T00:00:00", + "2020-11-13T00:00:00", + "2020-11-16T00:00:00", + "2020-11-17T00:00:00", + "2020-11-18T00:00:00", + "2020-11-19T00:00:00", + "2020-11-20T00:00:00", + "2020-11-23T00:00:00", + "2020-11-24T00:00:00", + "2020-11-25T00:00:00", + "2020-11-27T00:00:00", + "2020-11-30T00:00:00", + "2020-12-01T00:00:00", + "2020-12-02T00:00:00", + "2020-12-03T00:00:00", + "2020-12-04T00:00:00", + "2020-12-07T00:00:00", + "2020-12-08T00:00:00", + "2020-12-09T00:00:00", + "2020-12-10T00:00:00", + "2020-12-11T00:00:00", + "2020-12-14T00:00:00", + "2020-12-15T00:00:00", + "2020-12-16T00:00:00", + "2020-12-17T00:00:00", + "2020-12-18T00:00:00", + "2020-12-21T00:00:00", + "2020-12-22T00:00:00", + "2020-12-23T00:00:00", + "2020-12-24T00:00:00", + "2020-12-28T00:00:00", + "2020-12-29T00:00:00", + "2020-12-30T00:00:00", + "2020-12-31T00:00:00", + "2021-01-04T00:00:00", + "2021-01-05T00:00:00", + "2021-01-06T00:00:00", + "2021-01-07T00:00:00", + "2021-01-08T00:00:00", + "2021-01-11T00:00:00", + "2021-01-12T00:00:00", + "2021-01-13T00:00:00", + "2021-01-14T00:00:00", + "2021-01-15T00:00:00", + "2021-01-19T00:00:00", + "2021-01-20T00:00:00", + "2021-01-21T00:00:00", + "2021-01-22T00:00:00", + "2021-01-25T00:00:00", + "2021-01-26T00:00:00", + "2021-01-27T00:00:00", + "2021-01-28T00:00:00", + "2021-01-29T00:00:00", + "2021-02-01T00:00:00", + "2021-02-02T00:00:00", + "2021-02-03T00:00:00", + "2021-02-04T00:00:00", + "2021-02-05T00:00:00", + "2021-02-08T00:00:00", + "2021-02-09T00:00:00", + "2021-02-10T00:00:00", + "2021-02-11T00:00:00", + "2021-02-12T00:00:00", + "2021-02-16T00:00:00", + "2021-02-17T00:00:00", + "2021-02-18T00:00:00", + "2021-02-19T00:00:00", + "2021-02-22T00:00:00", + "2021-02-23T00:00:00", + "2021-02-24T00:00:00", + "2021-02-25T00:00:00", + "2021-02-26T00:00:00", + "2021-03-01T00:00:00", + "2021-03-02T00:00:00", + "2021-03-03T00:00:00", + "2021-03-04T00:00:00", + "2021-03-05T00:00:00", + "2021-03-08T00:00:00", + "2021-03-09T00:00:00", + "2021-03-10T00:00:00", + "2021-03-11T00:00:00", + "2021-03-12T00:00:00", + "2021-03-15T00:00:00", + "2021-03-16T00:00:00", + "2021-03-17T00:00:00", + "2021-03-18T00:00:00", + "2021-03-19T00:00:00", + "2021-03-22T00:00:00", + "2021-03-23T00:00:00", + "2021-03-24T00:00:00", + "2021-03-25T00:00:00", + "2021-03-26T00:00:00", + "2021-03-29T00:00:00", + "2021-03-30T00:00:00", + "2021-03-31T00:00:00", + "2021-04-01T00:00:00", + "2021-04-05T00:00:00", + "2021-04-06T00:00:00", + "2021-04-07T00:00:00", + "2021-04-08T00:00:00", + "2021-04-09T00:00:00", + "2021-04-12T00:00:00", + "2021-04-13T00:00:00", + "2021-04-14T00:00:00", + "2021-04-15T00:00:00", + "2021-04-16T00:00:00", + "2021-04-19T00:00:00", + "2021-04-20T00:00:00", + "2021-04-21T00:00:00", + "2021-04-22T00:00:00", + "2021-04-23T00:00:00", + "2021-04-26T00:00:00", + "2021-04-27T00:00:00", + "2021-04-28T00:00:00", + "2021-04-29T00:00:00", + "2021-04-30T00:00:00", + "2021-05-03T00:00:00", + "2021-05-04T00:00:00", + "2021-05-05T00:00:00", + "2021-05-06T00:00:00", + "2021-05-07T00:00:00", + "2021-05-10T00:00:00", + "2021-05-11T00:00:00", + "2021-05-12T00:00:00", + "2021-05-13T00:00:00", + "2021-05-14T00:00:00", + "2021-05-17T00:00:00", + "2021-05-18T00:00:00", + "2021-05-19T00:00:00", + "2021-05-20T00:00:00", + "2021-05-21T00:00:00", + "2021-05-24T00:00:00", + "2021-05-25T00:00:00", + "2021-05-26T00:00:00", + "2021-05-27T00:00:00", + "2021-05-28T00:00:00", + "2021-06-01T00:00:00", + "2021-06-02T00:00:00", + "2021-06-03T00:00:00", + "2021-06-04T00:00:00", + "2021-06-07T00:00:00", + "2021-06-08T00:00:00", + "2021-06-09T00:00:00", + "2021-06-10T00:00:00", + "2021-06-11T00:00:00", + "2021-06-14T00:00:00", + "2021-06-15T00:00:00", + "2021-06-16T00:00:00", + "2021-06-17T00:00:00", + "2021-06-18T00:00:00", + "2021-06-21T00:00:00", + "2021-06-22T00:00:00", + "2021-06-23T00:00:00", + "2021-06-24T00:00:00", + "2021-06-25T00:00:00", + "2021-06-28T00:00:00", + "2021-06-29T00:00:00", + "2021-06-30T00:00:00", + "2021-07-01T00:00:00", + "2021-07-02T00:00:00", + "2021-07-06T00:00:00", + "2021-07-07T00:00:00", + "2021-07-08T00:00:00", + "2021-07-09T00:00:00", + "2021-07-12T00:00:00", + "2021-07-13T00:00:00", + "2021-07-14T00:00:00", + "2021-07-15T00:00:00", + "2021-07-16T00:00:00", + "2021-07-19T00:00:00", + "2021-07-20T00:00:00", + "2021-07-21T00:00:00", + "2021-07-22T00:00:00", + "2021-07-23T00:00:00", + "2021-07-26T00:00:00", + "2021-07-27T00:00:00", + "2021-07-28T00:00:00", + "2021-07-29T00:00:00", + "2021-07-30T00:00:00", + "2021-08-02T00:00:00", + "2021-08-03T00:00:00", + "2021-08-04T00:00:00", + "2021-08-05T00:00:00", + "2021-08-06T00:00:00", + "2021-08-09T00:00:00", + "2021-08-10T00:00:00", + "2021-08-11T00:00:00", + "2021-08-12T00:00:00", + "2021-08-13T00:00:00", + "2021-08-16T00:00:00", + "2021-08-17T00:00:00", + "2021-08-18T00:00:00", + "2021-08-19T00:00:00", + "2021-08-20T00:00:00", + "2021-08-23T00:00:00", + "2021-08-24T00:00:00", + "2021-08-25T00:00:00", + "2021-08-26T00:00:00", + "2021-08-27T00:00:00", + "2021-08-30T00:00:00", + "2021-08-31T00:00:00", + "2021-09-01T00:00:00", + "2021-09-02T00:00:00", + "2021-09-03T00:00:00", + "2021-09-07T00:00:00", + "2021-09-08T00:00:00", + "2021-09-09T00:00:00", + "2021-09-10T00:00:00", + "2021-09-13T00:00:00", + "2021-09-14T00:00:00", + "2021-09-15T00:00:00", + "2021-09-16T00:00:00", + "2021-09-17T00:00:00", + "2021-09-20T00:00:00", + "2021-09-21T00:00:00", + "2021-09-22T00:00:00", + "2021-09-23T00:00:00", + "2021-09-24T00:00:00", + "2021-09-27T00:00:00", + "2021-09-28T00:00:00", + "2021-09-29T00:00:00", + "2021-09-30T00:00:00", + "2021-10-01T00:00:00", + "2021-10-04T00:00:00", + "2021-10-05T00:00:00", + "2021-10-06T00:00:00", + "2021-10-07T00:00:00", + "2021-10-08T00:00:00", + "2021-10-11T00:00:00", + "2021-10-12T00:00:00", + "2021-10-13T00:00:00", + "2021-10-14T00:00:00", + "2021-10-15T00:00:00", + "2021-10-18T00:00:00", + "2021-10-19T00:00:00", + "2021-10-20T00:00:00", + "2021-10-21T00:00:00", + "2021-10-22T00:00:00", + "2021-10-25T00:00:00", + "2021-10-26T00:00:00", + "2021-10-27T00:00:00", + "2021-10-28T00:00:00", + "2021-10-29T00:00:00", + "2021-11-01T00:00:00", + "2021-11-02T00:00:00", + "2021-11-03T00:00:00", + "2021-11-04T00:00:00", + "2021-11-05T00:00:00", + "2021-11-08T00:00:00", + "2021-11-09T00:00:00", + "2021-11-10T00:00:00", + "2021-11-11T00:00:00", + "2021-11-12T00:00:00", + "2021-11-15T00:00:00", + "2021-11-16T00:00:00", + "2021-11-17T00:00:00", + "2021-11-18T00:00:00", + "2021-11-19T00:00:00", + "2021-11-22T00:00:00", + "2021-11-23T00:00:00", + "2021-11-24T00:00:00", + "2021-11-26T00:00:00", + "2021-11-29T00:00:00", + "2021-11-30T00:00:00", + "2021-12-01T00:00:00", + "2021-12-02T00:00:00", + "2021-12-03T00:00:00", + "2021-12-06T00:00:00", + "2021-12-07T00:00:00", + "2021-12-08T00:00:00", + "2021-12-09T00:00:00", + "2021-12-10T00:00:00", + "2021-12-13T00:00:00", + "2021-12-14T00:00:00", + "2021-12-15T00:00:00", + "2021-12-16T00:00:00", + "2021-12-17T00:00:00", + "2021-12-20T00:00:00", + "2021-12-21T00:00:00", + "2021-12-22T00:00:00", + "2021-12-23T00:00:00", + "2021-12-27T00:00:00", + "2021-12-28T00:00:00", + "2021-12-29T00:00:00", + "2021-12-30T00:00:00", + "2021-12-31T00:00:00", + "2022-01-03T00:00:00", + "2022-01-04T00:00:00", + "2022-01-05T00:00:00", + "2022-01-06T00:00:00", + "2022-01-07T00:00:00", + "2022-01-10T00:00:00", + "2022-01-11T00:00:00", + "2022-01-12T00:00:00", + "2022-01-13T00:00:00", + "2022-01-14T00:00:00", + "2022-01-18T00:00:00", + "2022-01-19T00:00:00", + "2022-01-20T00:00:00", + "2022-01-21T00:00:00", + "2022-01-24T00:00:00", + "2022-01-25T00:00:00", + "2022-01-26T00:00:00", + "2022-01-27T00:00:00", + "2022-01-28T00:00:00", + "2022-01-31T00:00:00", + "2022-02-01T00:00:00", + "2022-02-02T00:00:00", + "2022-02-03T00:00:00", + "2022-02-04T00:00:00", + "2022-02-07T00:00:00", + "2022-02-08T00:00:00", + "2022-02-09T00:00:00", + "2022-02-10T00:00:00", + "2022-02-11T00:00:00", + "2022-02-14T00:00:00", + "2022-02-15T00:00:00", + "2022-02-16T00:00:00", + "2022-02-17T00:00:00", + "2022-02-18T00:00:00", + "2022-02-22T00:00:00", + "2022-02-23T00:00:00", + "2022-02-24T00:00:00", + "2022-02-25T00:00:00", + "2022-02-28T00:00:00", + "2022-03-01T00:00:00", + "2022-03-02T00:00:00", + "2022-03-03T00:00:00", + "2022-03-04T00:00:00", + "2022-03-07T00:00:00", + "2022-03-08T00:00:00", + "2022-03-09T00:00:00", + "2022-03-10T00:00:00", + "2022-03-11T00:00:00", + "2022-03-14T00:00:00", + "2022-03-15T00:00:00", + "2022-03-16T00:00:00", + "2022-03-17T00:00:00", + "2022-03-18T00:00:00", + "2022-03-21T00:00:00", + "2022-03-22T00:00:00", + "2022-03-23T00:00:00", + "2022-03-24T00:00:00", + "2022-03-25T00:00:00", + "2022-03-28T00:00:00", + "2022-03-29T00:00:00", + "2022-03-30T00:00:00", + "2022-03-31T00:00:00", + "2022-04-01T00:00:00", + "2022-04-04T00:00:00", + "2022-04-05T00:00:00", + "2022-04-06T00:00:00", + "2022-04-07T00:00:00", + "2022-04-08T00:00:00", + "2022-04-11T00:00:00", + "2022-04-12T00:00:00", + "2022-04-13T00:00:00", + "2022-04-14T00:00:00", + "2022-04-18T00:00:00", + "2022-04-19T00:00:00", + "2022-04-20T00:00:00", + "2022-04-21T00:00:00", + "2022-04-22T00:00:00", + "2022-04-25T00:00:00", + "2022-04-26T00:00:00", + "2022-04-27T00:00:00", + "2022-04-28T00:00:00", + "2022-04-29T00:00:00", + "2022-05-02T00:00:00", + "2022-05-03T00:00:00", + "2022-05-04T00:00:00", + "2022-05-05T00:00:00", + "2022-05-06T00:00:00", + "2022-05-09T00:00:00", + "2022-05-10T00:00:00", + "2022-05-11T00:00:00", + "2022-05-12T00:00:00", + "2022-05-13T00:00:00", + "2022-05-16T00:00:00", + "2022-05-17T00:00:00", + "2022-05-18T00:00:00", + "2022-05-19T00:00:00", + "2022-05-20T00:00:00", + "2022-05-23T00:00:00", + "2022-05-24T00:00:00", + "2022-05-25T00:00:00", + "2022-05-26T00:00:00", + "2022-05-27T00:00:00", + "2022-05-31T00:00:00", + "2022-06-01T00:00:00", + "2022-06-02T00:00:00", + "2022-06-03T00:00:00", + "2022-06-06T00:00:00", + "2022-06-07T00:00:00", + "2022-06-08T00:00:00", + "2022-06-09T00:00:00", + "2022-06-10T00:00:00", + "2022-06-13T00:00:00", + "2022-06-14T00:00:00", + "2022-06-15T00:00:00", + "2022-06-16T00:00:00", + "2022-06-17T00:00:00", + "2022-06-21T00:00:00", + "2022-06-22T00:00:00", + "2022-06-23T00:00:00", + "2022-06-24T00:00:00", + "2022-06-27T00:00:00", + "2022-06-28T00:00:00", + "2022-06-29T00:00:00", + "2022-06-30T00:00:00", + "2022-07-01T00:00:00", + "2022-07-05T00:00:00", + "2022-07-06T00:00:00", + "2022-07-07T00:00:00", + "2022-07-08T00:00:00", + "2022-07-11T00:00:00", + "2022-07-12T00:00:00", + "2022-07-13T00:00:00", + "2022-07-14T00:00:00", + "2022-07-15T00:00:00", + "2022-07-18T00:00:00", + "2022-07-19T00:00:00", + "2022-07-20T00:00:00", + "2022-07-21T00:00:00", + "2022-07-22T00:00:00", + "2022-07-25T00:00:00", + "2022-07-26T00:00:00", + "2022-07-27T00:00:00", + "2022-07-28T00:00:00", + "2022-07-29T00:00:00", + "2022-08-01T00:00:00", + "2022-08-02T00:00:00", + "2022-08-03T00:00:00", + "2022-08-04T00:00:00", + "2022-08-05T00:00:00", + "2022-08-08T00:00:00", + "2022-08-09T00:00:00", + "2022-08-10T00:00:00", + "2022-08-11T00:00:00", + "2022-08-12T00:00:00", + "2022-08-15T00:00:00", + "2022-08-16T00:00:00", + "2022-08-17T00:00:00", + "2022-08-18T00:00:00", + "2022-08-19T00:00:00", + "2022-08-22T00:00:00", + "2022-08-23T00:00:00", + "2022-08-24T00:00:00", + "2022-08-25T00:00:00", + "2022-08-26T00:00:00", + "2022-08-29T00:00:00", + "2022-08-30T00:00:00", + "2022-08-31T00:00:00", + "2022-09-01T00:00:00", + "2022-09-02T00:00:00", + "2022-09-06T00:00:00", + "2022-09-07T00:00:00", + "2022-09-08T00:00:00", + "2022-09-09T00:00:00", + "2022-09-12T00:00:00", + "2022-09-13T00:00:00", + "2022-09-14T00:00:00", + "2022-09-15T00:00:00", + "2022-09-16T00:00:00", + "2022-09-19T00:00:00", + "2022-09-20T00:00:00", + "2022-09-21T00:00:00", + "2022-09-22T00:00:00", + "2022-09-23T00:00:00", + "2022-09-26T00:00:00", + "2022-09-27T00:00:00", + "2022-09-28T00:00:00", + "2022-09-29T00:00:00", + "2022-09-30T00:00:00", + "2022-10-03T00:00:00", + "2022-10-04T00:00:00", + "2022-10-05T00:00:00", + "2022-10-06T00:00:00", + "2022-10-07T00:00:00", + "2022-10-10T00:00:00", + "2022-10-11T00:00:00", + "2022-10-12T00:00:00", + "2022-10-13T00:00:00", + "2022-10-14T00:00:00", + "2022-10-17T00:00:00", + "2022-10-18T00:00:00", + "2022-10-19T00:00:00", + "2022-10-20T00:00:00", + "2022-10-21T00:00:00", + "2022-10-24T00:00:00", + "2022-10-25T00:00:00", + "2022-10-26T00:00:00", + "2022-10-27T00:00:00", + "2022-10-28T00:00:00", + "2022-10-31T00:00:00", + "2022-11-01T00:00:00", + "2022-11-02T00:00:00", + "2022-11-03T00:00:00", + "2022-11-04T00:00:00", + "2022-11-07T00:00:00", + "2022-11-08T00:00:00", + "2022-11-09T00:00:00", + "2022-11-10T00:00:00", + "2022-11-11T00:00:00", + "2022-11-14T00:00:00", + "2022-11-15T00:00:00", + "2022-11-16T00:00:00", + "2022-11-17T00:00:00", + "2022-11-18T00:00:00", + "2022-11-21T00:00:00", + "2022-11-22T00:00:00", + "2022-11-23T00:00:00", + "2022-11-25T00:00:00", + "2022-11-28T00:00:00", + "2022-11-29T00:00:00", + "2022-11-30T00:00:00", + "2022-12-01T00:00:00", + "2022-12-02T00:00:00", + "2022-12-05T00:00:00", + "2022-12-06T00:00:00", + "2022-12-07T00:00:00", + "2022-12-08T00:00:00", + "2022-12-09T00:00:00", + "2022-12-12T00:00:00", + "2022-12-13T00:00:00", + "2022-12-14T00:00:00", + "2022-12-15T00:00:00", + "2022-12-16T00:00:00", + "2022-12-19T00:00:00", + "2022-12-20T00:00:00", + "2022-12-21T00:00:00", + "2022-12-22T00:00:00", + "2022-12-23T00:00:00", + "2022-12-27T00:00:00", + "2022-12-28T00:00:00", + "2022-12-29T00:00:00", + "2022-12-30T00:00:00", + "2023-01-03T00:00:00", + "2023-01-04T00:00:00", + "2023-01-05T00:00:00", + "2023-01-06T00:00:00", + "2023-01-09T00:00:00", + "2023-01-10T00:00:00", + "2023-01-11T00:00:00", + "2023-01-12T00:00:00", + "2023-01-13T00:00:00", + "2023-01-17T00:00:00", + "2023-01-18T00:00:00", + "2023-01-19T00:00:00", + "2023-01-20T00:00:00", + "2023-01-23T00:00:00", + "2023-01-24T00:00:00", + "2023-01-25T00:00:00", + "2023-01-26T00:00:00", + "2023-01-27T00:00:00", + "2023-01-30T00:00:00", + "2023-01-31T00:00:00", + "2023-02-01T00:00:00", + "2023-02-02T00:00:00", + "2023-02-03T00:00:00", + "2023-02-06T00:00:00", + "2023-02-07T00:00:00", + "2023-02-08T00:00:00", + "2023-02-09T00:00:00", + "2023-02-10T00:00:00", + "2023-02-13T00:00:00", + "2023-02-14T00:00:00", + "2023-02-15T00:00:00", + "2023-02-16T00:00:00", + "2023-02-17T00:00:00", + "2023-02-21T00:00:00", + "2023-02-22T00:00:00", + "2023-02-23T00:00:00", + "2023-02-24T00:00:00", + "2023-02-27T00:00:00", + "2023-02-28T00:00:00", + "2023-03-01T00:00:00", + "2023-03-02T00:00:00", + "2023-03-03T00:00:00", + "2023-03-06T00:00:00", + "2023-03-07T00:00:00", + "2023-03-08T00:00:00", + "2023-03-09T00:00:00", + "2023-03-10T00:00:00", + "2023-03-13T00:00:00", + "2023-03-14T00:00:00", + "2023-03-15T00:00:00", + "2023-03-16T00:00:00", + "2023-03-17T00:00:00", + "2023-03-20T00:00:00", + "2023-03-21T00:00:00", + "2023-03-22T00:00:00", + "2023-03-23T00:00:00", + "2023-03-24T00:00:00", + "2023-03-27T00:00:00", + "2023-03-28T00:00:00", + "2023-03-29T00:00:00", + "2023-03-30T00:00:00", + "2023-03-31T00:00:00", + "2023-04-03T00:00:00", + "2023-04-04T00:00:00", + "2023-04-05T00:00:00", + "2023-04-06T00:00:00", + "2023-04-10T00:00:00", + "2023-04-11T00:00:00", + "2023-04-12T00:00:00", + "2023-04-13T00:00:00", + "2023-04-14T00:00:00", + "2023-04-17T00:00:00", + "2023-04-18T00:00:00", + "2023-04-19T00:00:00", + "2023-04-20T00:00:00", + "2023-04-21T00:00:00" + ], + "xaxis": "x", + "xhoverformat": "%Y-%m-%d", + "y": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 211.60150451660155, + 212.527397664388, + 213.65642496744792, + 214.2048848470052, + 214.94599609375, + 215.5639149983724, + 216.3417195638021, + 217.34821370442708, + 218.16009216308595, + 218.81273905436197, + 219.92145385742188, + 220.82703552246093, + 221.654638671875, + 222.37478332519532, + 223.13096516927084, + 223.7338124593099, + 224.30782979329427, + 225.26255798339844, + 226.2906768798828, + 227.4609873453776, + 228.65881754557293, + 229.69873046875, + 230.9673319498698, + 231.1396697998047, + 231.59901428222656, + 232.19465230305988, + 233.09957885742188, + 233.9730529785156, + 234.90942993164063, + 235.62236429850265, + 236.48136291503903, + 237.37532755533857, + 237.86309814453125, + 238.61192830403647, + 238.67403157552084, + 238.7862335205078, + 239.0962137858073, + 239.40455729166663, + 240.62391764322916, + 242.1283721923828, + 243.3279235839844, + 244.48068339029948, + 245.72673848470052, + 247.0470438639323, + 248.01353861490887, + 248.9082234700521, + 249.6998555501302, + 250.711382039388, + 251.59031473795577, + 253.3337371826172, + 254.7227010091146, + 255.8602559407552, + 256.3538787841797, + 256.57509053548176, + 256.6886484781901, + 256.7017801920573, + 256.6873372395833, + 256.6184122721354, + 256.7378784179688, + 257.4494252522787, + 258.1064910888672, + 258.7727406819661, + 259.79148763020834, + 260.58246053059895, + 260.8141723632813, + 260.8922831217448, + 261.3471720377604, + 262.2969899495443, + 263.3866282145182, + 264.384369913737, + 265.77332865397136, + 266.8452473958333, + 268.0792989095052, + 269.1348022460937, + 270.0701883951823, + 271.0863077799479, + 272.4588582356771, + 273.53602091471356, + 274.9184204101563, + 276.5312194824219, + 278.81092529296876, + 280.8392333984375, + 281.8192545572917, + 282.5688741048177, + 282.2163859049479, + 282.2104797363281, + 281.9636698404948, + 281.3413940429688, + 280.90094604492185, + 280.60096232096356, + 279.8625020345052, + 278.44203898111977, + 276.85484619140624, + 275.21250813802084, + 273.7421468098958, + 271.39483032226565, + 268.94182942708335, + 267.9014180501302, + 267.4826293945313, + 267.87647298177086, + 267.87384643554685, + 268.52434895833335, + 268.77772216796876, + 269.1059244791667, + 268.8499267578125, + 269.1984822591146, + 269.9264383951823, + 271.1631123860677, + 272.936728922526, + 274.3834493001302, + 276.21482950846354, + 277.83681437174477, + 278.9494303385417, + 279.382655843099, + 279.93797810872394, + 280.35479736328125, + 280.4814798990885, + 281.16611531575523, + 281.18646443684895, + 281.67876790364585, + 281.1352600097656, + 280.8057454427083, + 279.73382771809895, + 278.1223449707031, + 276.81806640625, + 276.4800170898437, + 276.76161702473956, + 277.1620259602865, + 277.4764465332031, + 277.4114624023438, + 277.77708129882814, + 278.0540832519531, + 278.4604024251302, + 279.2960144042969, + 279.92682495117185, + 281.1392110188802, + 282.1888061523438, + 283.5672648111979, + 284.90699666341146, + 286.20799560546874, + 286.8230509440104, + 287.1263122558594, + 287.4551737467448, + 288.43125610351564, + 289.7723002115885, + 290.72540690104165, + 291.84918212890625, + 292.9204406738281, + 293.91095581054685, + 294.5043518066406, + 295.31895955403644, + 295.9405782063802, + 296.8372314453125, + 297.9465616861979, + 298.899013264974, + 299.86524861653646, + 300.5905802408854, + 301.2377950032552, + 301.6881856282552, + 302.01039225260416, + 302.39380900065106, + 302.9009989420573, + 303.31304321289065, + 303.65748087565106, + 304.51072591145834, + 304.99322509765625, + 305.68739217122396, + 305.95372721354164, + 306.49598185221356, + 307.1936340332031, + 307.4555318196615, + 307.7462565104167, + 308.21446533203124, + 308.5163065592448, + 308.756982421875, + 309.2074340820312, + 309.93671264648435, + 310.8178955078125, + 311.63661092122396, + 312.5815795898437, + 313.84943237304685, + 314.3472391764323, + 315.2534118652344, + 315.225791422526, + 315.44871826171874, + 316.32069295247396, + 317.1400573730469, + 318.0738464355469, + 319.1924194335937, + 320.6207255045573, + 321.74521891276044, + 322.3357442220052, + 322.8762898763021, + 323.60161743164065, + 324.0902140299479, + 324.441367594401, + 325.2988749186198, + 325.9367411295573, + 326.4549275716146, + 326.3931131998698, + 326.1596659342448, + 325.26862182617185, + 324.2098917643229, + 323.698935953776, + 322.70070190429686, + 321.0994506835938, + 319.2154276529948, + 317.5122477213542, + 315.1113566080729, + 313.54824015299477, + 312.0324768066406, + 311.08356119791665, + 310.0603393554687, + 309.8229451497396, + 309.763759358724, + 309.6171162923177, + 309.56516723632814, + 309.49940388997396, + 309.19838460286456, + 309.1471374511719, + 309.3512491861979, + 309.85254720052086, + 310.3601521809896, + 311.4365763346354, + 311.6303690592448, + 312.19939575195315, + 312.6557657877604, + 313.7084594726563, + 314.52439778645834, + 315.2779256184896, + 316.17246704101564, + 317.84906209309895, + 319.4243570963542, + 320.8722452799479, + 322.14235229492186, + 324.10052083333335, + 326.12058512369794, + 327.6270731608073, + 328.9768534342448, + 330.62095336914064, + 331.6790466308594, + 332.6568155924479, + 333.3534322102865, + 333.9677449544271, + 334.45367024739585, + 334.79210611979164, + 334.8500528971354, + 334.8184427897135, + 334.1297220865885, + 333.63721720377606, + 332.9722045898437, + 332.4579711914063, + 331.5941121419271, + 330.8632527669271, + 329.38837076822915, + 328.34410196940104, + 327.4861673990885, + 326.35235392252605, + 325.1717956542969, + 324.0913106282552, + 323.341357421875, + 322.61840006510414, + 322.3761006673177, + 322.56243693033855, + 322.8982381184896, + 322.9884419759115, + 322.9706624348958, + 323.4355122884115, + 323.97278849283856, + 324.8359883626302, + 325.90659790039064, + 326.5788533528646, + 327.3920125325521, + 328.35463256835936, + 329.5240030924479, + 330.3411153157552, + 331.4933675130208, + 332.1353373209635, + 332.6647135416667, + 333.40280965169273, + 334.04477945963544, + 334.75782470703126, + 335.75555419921875, + 336.72169392903646, + 338.0580362955729, + 338.99730631510414, + 340.15089314778646, + 341.3783223470052, + 342.5635660807292, + 343.5269348144531, + 344.6999959309896, + 345.7599182128906, + 347.0180908203125, + 348.21486409505206, + 349.2741943359375, + 350.6049051920573, + 351.7954081217448, + 352.81715698242186, + 353.65960489908855, + 354.1678426106771, + 354.51128540039065, + 354.8461588541667, + 355.2792500813802, + 355.9068074544271, + 356.80528767903644, + 357.45458984375, + 357.7340881347656, + 358.05577189127604, + 358.5640096028646, + 358.798681640625, + 358.9423868815104, + 359.2317728678385, + 359.51324869791665, + 360.1164103190104, + 360.8052652994792, + 361.7320882161458, + 362.262733968099, + 362.5692565917969, + 362.80524291992185, + 362.8461140950521, + 362.87841796875, + 362.9641153971354, + 362.7254903157552, + 362.5593709309896, + 362.7676778157552, + 363.33656005859376, + 363.8349100748698, + 364.32666829427086, + 364.50794881184896, + 365.0346435546875, + 365.79469197591146, + 366.658896891276, + 367.6061543782552, + 368.4545389811198, + 369.2950052897135, + 370.1605244954427, + 371.15260823567706, + 372.2903727213542, + 373.1229349772136, + 373.6898376464843, + 373.8236551920573, + 374.0662353515625, + 374.2976094563802, + 374.3905537923177, + 373.7356750488281, + 372.832314046224, + 372.1750813802083, + 371.7013590494791, + 371.2625935872395, + 370.550048828125, + 369.110302734375, + 367.71929728190105, + 366.3275370279948, + 365.2721232096354, + 363.734950764974, + 362.582432047526, + 361.3971211751302, + 360.412451171875, + 359.60365193684896, + 359.121250406901, + 358.52666015625, + 357.8951110839844, + 357.47605997721354, + 357.1863525390625, + 357.338134765625, + 358.36761678059895, + 359.40369873046876, + 360.6780090332031, + 361.5966267903646, + 363.26689453125, + 364.7015665690104, + 366.04319458007814, + 367.4455281575521, + 369.0920349121094, + 371.0084493001302, + 373.1142639160156, + 375.3038920084635, + 377.3885904947917, + 379.34592488606773, + 381.0227905273438, + 382.3327392578125, + 383.2916076660157, + 384.1706258138021, + 385.5300659179687, + 386.6308186848958, + 387.8384806315104, + 389.0019287109375, + 390.1587748209635, + 391.3387166341146, + 392.12204793294273, + 392.67836303710936, + 393.0466023763021, + 392.5833353678385, + 392.6552673339844, + 392.3754597981771, + 391.8343180338542, + 391.8607137044271, + 391.3684122721354, + 390.80747680664064, + 391.019970703125, + 391.16449178059895, + 390.907118733724, + 390.6603088378906, + 389.88622029622394, + 389.1537048339843, + 389.1253275553385, + 388.3386962890625, + 387.92360229492186, + 386.7018351236979, + 386.4304138183594, + 386.9143493652344, + 387.41041056315106, + 388.78736572265626, + 389.83815714518227, + 390.1174926757813, + 390.2000712076823, + 390.5054951985677, + 390.7815450032552, + 391.09278767903646, + 390.8671508789063, + 390.039638264974, + 389.6110290527343, + 389.32630411783856, + 389.66527506510414, + 389.5423746744792, + 388.4659891764323, + 387.3486307779948, + 385.1727233886719, + 382.8514526367187, + 380.2196207682291, + 377.00433146158855, + 374.06061197916665, + 370.3226542154948, + 366.8932779947917, + 364.0394246419271, + 361.9104370117187, + 360.7996846516927, + 359.83562622070315, + 358.6905192057292, + 356.4571268717448, + 355.1587178548177, + 353.5147338867188, + 352.7594807942708, + 352.7760030110677, + 352.55861206054686, + 352.2526794433594, + 351.8687723795573, + 352.59693603515626, + 353.354833984375, + 353.64226888020835, + 352.96234130859375, + 351.3124084472656, + 348.927040608724, + 347.07689208984374, + 346.5628153483073, + 345.8220947265625, + 344.9208089192708, + 344.1344930013021, + 342.51759643554686, + 341.12139689127605, + 339.6544921875, + 338.0594034830729, + 336.6625447591146, + 335.0258280436198, + 333.634912109375, + 332.0926818847656, + 331.43654174804686, + 332.156776936849, + 332.41778361002605, + 332.795741780599, + 333.04107055664065, + 334.0924357096354, + 334.42579142252606, + 335.6042439778646, + 337.09059041341146, + 339.7667704264323, + 342.9582010904948, + 345.1092488606771, + 347.2050801595052, + 349.70921223958334, + 353.1178792317708, + 355.32460530598956, + 356.20849609375, + 356.87572021484374, + 356.74962361653644, + 356.1416320800781, + 354.9832010904948, + 354.620654296875, + 353.2167724609375, + 351.8499389648438, + 350.6160868326823, + 348.6326599121094, + 346.4534016927083, + 343.99628092447915, + 341.86135050455727, + 338.41053263346356, + 335.47707112630206, + 333.80657348632815, + 331.10400390625, + 329.07492879231773, + 327.6148152669271, + 326.96315511067706, + 324.75677286783855, + 322.82626953125, + 320.0780517578125, + 317.0678446451823, + 313.8016052246094, + 310.95679931640626, + 309.40472412109375, + 307.3445536295573, + 306.61879679361977, + 304.92381998697914, + 302.3813537597656, + 300.75584513346354, + 299.1018859863281, + 297.0126017252604, + 294.47609049479166, + 293.5717061360677, + 293.56178588867186, + 294.2981282552083, + 294.6447998046875, + 296.1360107421875, + 297.13169352213544, + 297.48101196289065, + 298.23720092773436, + 298.33445231119794, + 298.88092041015625, + 298.83196411132815, + 297.95404459635415, + 296.79164225260416, + 296.497900390625, + 295.18333536783854, + 293.5531962076823, + 291.7351826985677, + 289.9442464192708, + 288.5812235514323, + 287.3107401529948, + 286.43825480143227, + 284.9076843261719, + 283.2190266927083, + 281.444580078125, + 280.33790283203126, + 280.25001627604166, + 281.1726013183594, + 282.4717549641927, + 283.3396016438802, + 284.54405314127604, + 285.34458211263023, + 285.6475077311198, + 286.0452189127604, + 286.5105428059896, + 286.165195719401, + 286.55296427408854, + 287.84486694335936, + 289.4078816731771, + 290.84693603515626, + 292.049355061849, + 292.5405334472656, + 293.734336344401, + 294.71735026041665, + 296.05035400390625, + 297.7890218098958, + 299.65098063151044, + 302.1194539388021, + 304.6204060872396, + 306.60101521809895, + 308.67641194661456, + 309.92125447591144, + 311.43919474283854, + 312.54616088867186, + 314.4286743164063, + 316.6021748860677, + 319.11505737304685, + 320.5521280924479, + 321.84270833333335, + 322.3332173665365, + 322.2728983561198, + 322.2576538085938, + 321.7353251139323, + 321.48211466471355, + 320.5335693359375, + 319.4531188964844, + 318.38857218424477, + 316.62139892578125, + 314.9854736328125, + 312.65089721679686, + 309.9988159179687, + 307.7908447265625, + 305.9368367513021, + 304.46596069335936, + 303.66258341471354, + 302.293125406901, + 301.09534505208336, + 299.5104573567708, + 297.43837280273436, + 296.3866231282552, + 295.38165893554685, + 294.2580932617187, + 293.0187723795573, + 291.46802978515626, + 290.12197265625, + 288.9237467447917, + 287.6956807454427, + 285.82898763020836, + 283.2206705729167, + 280.7867696126302, + 280.05345255533854, + 279.1557332356771, + 278.4373799641927, + 277.12914225260414, + 275.49293416341146, + 273.7677429199219, + 272.3798868815104, + 271.63283487955727, + 270.65203857421875, + 270.3186869303385, + 270.119472249349, + 269.4919494628906, + 269.3086710611979, + 269.8505330403646, + 270.1772440592448, + 270.31536661783855, + 270.046425374349, + 269.5888977050781, + 270.3937215169271, + 271.1600321451823, + 271.9807922363281, + 272.18133341471355, + 271.62818196614586, + 271.8898173014323, + 271.7729431152344, + 271.6441202799479, + 271.1679992675781, + 272.0737609863281, + 272.90647583007814, + 273.370644124349, + 273.71461995442706, + 274.21331990559895, + 275.006190999349, + 275.24524943033856, + 275.5068827311198, + 276.2267110188802, + 277.76331380208336, + 279.5183898925781, + 280.7156656901042, + 281.5776000976563, + 283.15935668945315, + 285.1780558268229, + 285.828818766276, + 285.8075703938802, + 285.5578877766927, + 284.96954142252605, + 284.86395874023435, + 284.680019124349, + 284.73048502604166, + 285.17938028971355, + 285.21656494140626, + 284.4243591308594, + 283.5830118815104, + 282.7652913411458, + 282.07569986979166, + 280.79705810546875, + 279.0492004394531, + 277.4189717610677, + 275.86317749023436, + 274.4715169270833, + 273.57823486328124, + 272.45383707682294, + 271.32981770833334, + 270.0545959472656, + 268.29860636393227, + 267.1653116861979, + 266.7866516113281, + 266.73572998046876, + 267.2549255371094, + 267.8879435221354, + 268.3885009765625, + 269.3723103841146, + 270.0725606282552, + 270.8427022298177, + 272.3457071940104, + 273.84471842447914, + 275.3151082356771, + 276.8627115885417, + 278.6998677571615, + 281.0082946777344, + 282.4374165852865, + 284.04026692708334, + 285.9100402832031, + 288.1845194498698, + 289.990391031901, + 291.4960591634115, + 293.382470703125, + 295.14574178059894, + 296.9116739908854, + 298.0445882161458, + 299.07898763020836, + 300.30242716471355, + 301.724892171224, + 302.3878662109375, + 302.7140279134115, + 302.964306640625, + 302.93967895507814, + 302.66676839192706, + 301.344150797526, + 300.5294128417969, + 299.8617797851563, + 298.6183736165365, + 297.9021484375, + 297.76902058919273, + 297.7903198242187, + 297.2471598307292, + 296.6527465820312, + 295.5584411621094, + 294.5766276041667, + 293.87970581054685, + 294.10202840169273, + 294.4135457356771, + 295.078515625, + 295.9777872721354, + 296.81007690429686, + 297.95899454752606, + 298.9836669921875, + 300.0899230957031, + 300.8681396484375, + 301.4817240397135, + 302.2309285481771, + 303.2549519856771, + 304.819775390625, + 307.0081766764323, + 309.00213216145835, + 310.479443359375, + 311.6429158528646, + 312.4238647460937, + 313.2893330891927, + 313.94666544596356, + 314.1266662597656, + 314.9966674804688, + 315.58466796875, + 316.1146667480469, + 316.787998453776, + 317.5606648763021, + 317.797998046875, + 317.85999755859376 + ], + "yaxis": "y", + "hoverlabel": { + "namelength": 10 + } + } + ], + "layout": { + "annotations": [ + { + "font": { + "color": "#ef7d00", + "size": 14 + }, + "opacity": 0.9, + "text": "", + "x": 0, + "xanchor": "left", + "xref": "paper", + "xshift": -60, + "y": 0.98, + "yref": "paper", + "yshift": 0 + }, + { + "font": { + "color": "gray", + "size": 24 + }, + "opacity": 0.5, + "text": "", + "textangle": -90, + "x": 0, + "xanchor": "left", + "xref": "paper", + "xshift": -80, + "y": 0.5, + "yanchor": "middle", + "yref": "paper" + } + ], + "hoverdistance": 2, + "margin": { + "autoexpand": true, + "b": 65, + "l": 70, + "pad": 0, + "r": 10, + "t": 40 + }, + "modebar": { + "activecolor": "#d1030d", + "bgcolor": "#2A2A2A", + "color": "#FFFFFF", + "orientation": "v" + }, + "newshape": { + "line": { + "color": "gold" + } + }, + "showlegend": false, + "spikedistance": 2, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#f2f5fa" + }, + "error_y": { + "color": "#f2f5fa" + }, + "marker": { + "line": { + "color": "rgb(17,17,17)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "rgb(17,17,17)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "candlestick": [ + { + "decreasing": { + "fillcolor": "#e4003a", + "line": { + "color": "#e4003a" + } + }, + "increasing": { + "fillcolor": "#00ACFF", + "line": { + "color": "#00ACFF" + } + }, + "type": "candlestick" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#A2B1C6", + "gridcolor": "#506784", + "linecolor": "#506784", + "minorgridcolor": "#506784", + "startlinecolor": "#A2B1C6" + }, + "baxis": { + "endlinecolor": "#A2B1C6", + "gridcolor": "#506784", + "linecolor": "#506784", + "minorgridcolor": "#506784", + "startlinecolor": "#A2B1C6" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "line": { + "color": "#283442" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "line": { + "color": "#283442" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#506784" + }, + "line": { + "color": "rgb(17,17,17)" + } + }, + "header": { + "fill": { + "color": "#2a3f5f" + }, + "line": { + "color": "rgb(17,17,17)" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#f2f5fa", + "arrowhead": 0, + "arrowwidth": 1, + "showarrow": false + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#ffed00", + "#ef7d00", + "#e4003a", + "#c13246", + "#822661", + "#48277c", + "#005ca9", + "#00aaff", + "#9b30d9", + "#af005f", + "#5f00af", + "#af87ff" + ], + "dragmode": "pan", + "font": { + "color": "#f2f5fa", + "family": "Fira Code", + "size": 18 + }, + "geo": { + "bgcolor": "rgb(17,17,17)", + "lakecolor": "rgb(17,17,17)", + "landcolor": "rgb(17,17,17)", + "showlakes": true, + "showland": true, + "subunitcolor": "#506784" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "x", + "legend": { + "bgcolor": "rgba(0, 0, 0, 0)", + "font": { + "size": 15 + }, + "x": 0.01, + "xanchor": "left", + "y": 0.99, + "yanchor": "top" + }, + "mapbox": { + "style": "dark" + }, + "paper_bgcolor": "#000000", + "plot_bgcolor": "#000000", + "polar": { + "angularaxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + }, + "bgcolor": "rgb(17,17,17)", + "radialaxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "rgb(17,17,17)", + "gridcolor": "#506784", + "gridwidth": 2, + "linecolor": "#506784", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#C8D4E3" + }, + "yaxis": { + "backgroundcolor": "rgb(17,17,17)", + "gridcolor": "#506784", + "gridwidth": 2, + "linecolor": "#506784", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#C8D4E3" + }, + "zaxis": { + "backgroundcolor": "rgb(17,17,17)", + "gridcolor": "#506784", + "gridwidth": 2, + "linecolor": "#506784", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#C8D4E3" + } + }, + "shapedefaults": { + "line": { + "color": "#f2f5fa" + } + }, + "sliderdefaults": { + "bgcolor": "#C8D4E3", + "bordercolor": "rgb(17,17,17)", + "borderwidth": 1, + "tickwidth": 0 + }, + "ternary": { + "aaxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + }, + "baxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + }, + "bgcolor": "rgb(17,17,17)", + "caxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "updatemenudefaults": { + "bgcolor": "#506784", + "borderwidth": 0 + }, + "xaxis": { + "automargin": false, + "autorange": true, + "gridcolor": "#283442", + "linecolor": "#F5EFF3", + "mirror": true, + "rangeslider": { + "visible": false + }, + "showgrid": true, + "showline": true, + "tick0": 1, + "tickfont": { + "size": 14 + }, + "ticks": "outside", + "title": { + "standoff": 20 + }, + "zeroline": false, + "zerolinecolor": "#283442", + "zerolinewidth": 2 + }, + "yaxis": { + "anchor": "x", + "automargin": false, + "fixedrange": false, + "gridcolor": "#283442", + "linecolor": "#F5EFF3", + "mirror": true, + "showgrid": true, + "showline": true, + "side": "right", + "tick0": 0.5, + "ticks": "outside", + "title": { + "standoff": 20 + }, + "zeroline": false, + "zerolinecolor": "#283442", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "Mockup Data Title" + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 0.94 + ], + "matches": "x3", + "rangebreaks": [ + { + "bounds": [ + "sat", + "mon" + ] + }, + { + "values": [ + "2020-12-25T00:00:00", + "2022-05-30T00:00:00", + "2023-01-02T00:00:00", + "2022-12-26T00:00:00", + "2021-01-18T00:00:00", + "2020-09-07T00:00:00", + "2020-07-03T00:00:00", + "2022-06-20T00:00:00", + "2020-11-26T00:00:00", + "2020-05-25T00:00:00", + "2021-07-05T00:00:00", + "2021-02-15T00:00:00", + "2023-02-20T00:00:00", + "2022-04-15T00:00:00", + "2022-11-24T00:00:00", + "2021-01-01T00:00:00", + "2022-09-05T00:00:00", + "2021-04-02T00:00:00", + "2023-04-07T00:00:00", + "2021-11-25T00:00:00", + "2022-01-17T00:00:00", + "2023-01-16T00:00:00", + "2021-09-06T00:00:00", + "2021-05-31T00:00:00", + "2022-07-04T00:00:00", + "2021-12-24T00:00:00", + "2022-02-21T00:00:00" + ] + } + ], + "showticklabels": true, + "tickformatstops": [ + { + "dtickrange": [ + null, + 604800000 + ], + "value": "%Y-%m-%d" + }, + { + "dtickrange": [ + 604800000, + "M1" + ], + "value": "%Y-%m-%d" + }, + { + "dtickrange": [ + "M1", + null + ], + "value": "%Y-%m-%d" + } + ], + "type": "date", + "range": [ + "2020-04-20", + "2023-04-21" + ], + "autorange": false, + "automargin": "t+b" + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "nticks": 15, + "tickfont": { + "size": 16 + }, + "type": "linear", + "range": [ + 177.16199244245968, + 442.3974072952108 + ], + "autorange": true, + "automargin": "l+r" + }, + "yaxis2": { + "anchor": "x", + "overlaying": "y", + "side": "right", + "automargin": "l+r" + }, + "font": { + "family": "Fira Code, monospace, Arial Black", + "size": 18 + }, + "autosize": true, + "dragmode": "pan", + "xaxis3": { + "range": [ + "2020-04-20", + "2023-04-21" + ], + "autorange": true, + "automargin": "t+b" + }, + "automargin": true, + "autoexpand": true + }, + "port": 9999, + "log_id": "7dfe280a-4d58-4847-9621-04090c2f2739", + "posthog": { + "collect_logs": false, + }, + "python_version": "3.10.8", + "pywry_version": "0.5.0", + "terminal_version": "3.0.0", + "theme": "dark", + "user_id": "7dfe280a-4d58-4847-9621-04090c2f2739" +} + + +export const candlestickMockup = { + "command_location": "/stocks/candle", + "data": [ + { + "close": [ + 48.34333419799805, + 53.25, + 51.27466583251953, + 53.367332458496094, + 52.12533187866211, + 46.75466537475586, + 50.74599838256836, + 51.2140007019043, + 52.172000885009766, + 52.00266647338867, + 54.62799835205078, + 54.08599853515625, + 53.96066665649414, + 52.73066711425781, + 53.55533218383789, + 53.27799987792969, + 54.242000579833984, + 53.867332458496094, + 54.37066650390625, + 55.17333221435547, + 54.45866775512695, + 54.591331481933594, + 54.68199920654297, + 53.72066879272461, + 55.66666793823242, + 59.87333297729492, + 58.77066802978515, + 58.86399841308594, + 57.62533187866211, + 59.04399871826172, + 63.327999114990234, + 62.711334228515625, + 68.336669921875, + 64.85600280761719, + 62.35200119018555, + 66.05999755859375, + 65.47533416748047, + 66.11933135986328, + 66.9306640625, + 66.72666931152344, + 66.28800201416016, + 66.78533172607422, + 64.0566635131836, + 65.73200225830078, + 63.982666015625, + 67.29000091552734, + 71.98733520507812, + 74.64199829101562, + 80.57733154296875, + 91.43866729736328, + 92.65733337402344, + 91.05867004394533, + 92.9520034790039, + 102.97666931152344, + 99.8040008544922, + 101.12000274658205, + 103.06732940673828, + 100.04266357421876, + 100.05599975585938, + 109.53333282470705, + 104.55733489990234, + 106.15533447265624, + 100.87133026123048, + 94.46666717529295, + 102.63999938964844, + 98.43267059326172, + 99.94066619873048, + 99.16600036621094, + 95.38400268554688, + 99, + 99.13333129882812, + 99.00133514404295, + 99.30533599853516, + 96.84733581542967, + 94.5713348388672, + 91.6259994506836, + 103.65066528320312, + 108.06666564941406, + 110.04733276367188, + 122.3759994506836, + 125.80599975585938, + 125.23533630371094, + 133.45533752441406, + 136.6653289794922, + 134.27999877929688, + 134.8893280029297, + 143.54466247558594, + 149.25, + 147.55999755859375, + 166.10667419433594, + 158.35000610351562, + 149.1233367919922, + 135.6666717529297, + 139.44000244140625, + 110.06999969482422, + 122.09333038330078, + 123.77999877929688, + 124.23999786376952, + 139.8733367919922, + 149.9199981689453, + 147.25332641601562, + 141.14332580566406, + 147.38333129882812, + 149.79666137695312, + 141.41000366210938, + 126.7866668701172, + 129.26333618164062, + 135.77999877929688, + 140.39999389648438, + 139.69000244140625, + 143.00332641601562, + 149.3866729736328, + 138.3633270263672, + 141.89332580566406, + 137.9933319091797, + 141.76666259765625, + 141.97332763671875, + 144.6666717529297, + 147.43333435058594, + 148.88333129882812, + 153.76666259765625, + 149.6266632080078, + 146.55667114257812, + 143.61000061035156, + 140.64666748046875, + 140.8800048828125, + 141.92999267578125, + 140.2100067138672, + 140.0933380126953, + 141.55999755859375, + 135.33999633789062, + 136.94332885742188, + 129.34666442871094, + 133.50332641601562, + 141.3000030517578, + 140.32666015625, + 146.02999877929688, + 143.31666564941406, + 140.4199981689453, + 136.7866668701172, + 139.0433349609375, + 137.25332641601562, + 136.1666717529297, + 136.02999877929688, + 147.20333862304688, + 162.2133331298828, + 166.42333984375, + 163.20333862304688, + 173.9499969482422, + 185.1266632080078, + 191.3333282470703, + 195.2533264160156, + 189.1999969482422, + 194.9199981689453, + 189.6066741943359, + 197.7933349609375, + 199.67999267578125, + 213.9199981689453, + 216.6266632080078, + 201.4933319091797, + 209.02333068847656, + 203.3300018310547, + 213.27667236328125, + 211.0833282470703, + 207.58999633789065, + 218.63333129882812, + 231.6666717529297, + 216.6199951171875, + 213.44667053222656, + 215.32666015625, + 220.58999633789065, + 221.22999572753903, + 221.9966735839844, + 231.5933380126953, + 235.22332763671875, + 243.2566680908203, + 245.0366668701172, + 251.9933319091797, + 272.0133361816406, + 293.3399963378906, + 270.39666748046875, + 283.14666748046875, + 284.8033447265625, + 281.6666564941406, + 275.38665771484375, + 281.51666259765625, + 283.48333740234375, + 281.663330078125, + 282.21331787109375, + 293.6000061035156, + 294.36334228515625, + 288.0533447265625, + 278.4766540527344, + 264.510009765625, + 279.9366760253906, + 290.92999267578125, + 284.89666748046875, + 283.3299865722656, + 284.07666015625, + 287.8066711425781, + 283.1533203125, + 268.2733459472656, + 270.5533447265625, + 272.0400085449219, + 265.40667724609375, + 266.04998779296875, + 262.4599914550781, + 260.4333190917969, + 238.1666717529297, + 232.94667053222656, + 247.33999633789065, + 227.4066619873047, + 225.1666717529297, + 239.47666931152344, + 228.81333923339844, + 217.73333740234375, + 207.14666748046875, + 199.3166656494141, + 187.6666717529297, + 224.52667236328125, + 222.68666076660156, + 233.1999969482422, + 231.2433319091797, + 235.97999572753903, + 225.6266632080078, + 233.93666076660156, + 217.72000122070312, + 218.2899932861328, + 223.3333282470703, + 220.72000122070312, + 210.08999633789065, + 213.4633331298828, + 206.23666381835935, + 203.76333618164065, + 211.8733367919922, + 222.6433258056641, + 220.5833282470703, + 230.3500061035156, + 230.5399932861328, + 223.6566619873047, + 227.9333343505859, + 225.67333984375, + 233.9933319091797, + 254.1066741943359, + 244.07666015625, + 246.28334045410156, + 246.5933380126953, + 238.2100067138672, + 239.663330078125, + 248.0399932861328, + 239.89666748046875, + 243.13333129882812, + 246.0666656494141, + 234.913330078125, + 231.46665954589844, + 225.6666717529297, + 236.47999572753903, + 228.3000030517578, + 224.53334045410156, + 223.64666748046875, + 221.17999267578125, + 224.1233367919922, + 209.67999267578125, + 205.73333740234375, + 196.6300048828125, + 190.56333923339844, + 196.5800018310547, + 192.27667236328125, + 192.6233367919922, + 187.82000732421875, + 195.5933380126953, + 193.6266632080078, + 202.14666748046875, + 201.56333923339844, + 206.3766632080078, + 210.28334045410156, + 208.4066619873047, + 207.96665954589844, + 201.7066650390625, + 190.94667053222656, + 199.6833343505859, + 201.7100067138672, + 201.19667053222656, + 199.5933380126953, + 203.3733367919922, + 203.29666137695312, + 205.89666748046875, + 199.7866668701172, + 201.6233367919922, + 205.53334045410156, + 207.77000427246097, + 206.94332885742188, + 207.90333557128903, + 218.8566741943359, + 226.6066741943359, + 223.9566650390625, + 229.5733337402344, + 226.9199981689453, + 226.5666656494141, + 225.97332763671875, + 226.3000030517578, + 219.86000061035156, + 214.88333129882812, + 217.60333251953125, + 218.98333740234375, + 228.5666656494141, + 222.84666442871097, + 217.7933349609375, + 216.86666870117188, + 214.7400054931641, + 215.4066619873047, + 220.1666717529297, + 218.42999267578125, + 216.4199981689453, + 214.4600067138672, + 219.2066650390625, + 214.9266662597656, + 215.66000366210935, + 225.78334045410156, + 229.0666656494141, + 236.55667114257812, + 236.5800018310547, + 236.97332763671875, + 238.2100067138672, + 233.03334045410156, + 237.9199981689453, + 236.663330078125, + 235.94000244140625, + 240.75, + 239.05667114257812, + 228.72332763671875, + 221.90333557128903, + 229.663330078125, + 224.4900054931641, + 226.7533264160156, + 235.4333343505859, + 236.163330078125, + 237.0666656494141, + 233.72000122070312, + 237.30667114257812, + 243.6366729736328, + 245.2400054931641, + 244.69667053222656, + 244.1300048828125, + 244.52333068847656, + 250.97332763671875, + 251.2899932861328, + 251.6199951171875, + 245.42333984375, + 247.6666717529297, + 248.163330078125, + 251.94332885742188, + 252.3300018310547, + 253.163330078125, + 243.38999938964844, + 246.4600067138672, + 250.64666748046875, + 251.2133331298828, + 258.1300048828125, + 263.78668212890625, + 259.1866760253906, + 260.4366760253906, + 258.49334716796875, + 258.40667724609375, + 260.510009765625, + 260.1966552734375, + 260.9166564941406, + 264.53668212890625, + 261.8299865722656, + 263.9800109863281, + 268.5733337402344, + 270.3599853515625, + 272.7733459472656, + 281.010009765625, + 290.03668212890625, + 288.0899963378906, + 288.6000061035156, + 298, + 303.2266540527344, + 341.6199951171875, + 339.4766540527344, + 345.9533386230469, + 359.0133361816406, + 371.3333435058594, + 402.86334228515625, + 390.6666564941406, + 404.6199951171875, + 409.9700012207031, + 407.36334228515625, + 387.6466674804687, + 341.1666564941406, + 355.98333740234375, + 354.5033264160156, + 344.47332763671875, + 337.7966613769531, + 351.57666015625, + 363.0033264160156, + 365.4599914550781, + 379.0199890136719, + 385.6233215332031, + 369.6766662597656, + 372, + 360.6400146484375, + 378.9966735839844, + 381.586669921875, + 365, + 361.5333251953125, + 338.3233337402344, + 336.336669921875, + 350.5833435058594, + 356.32000732421875, + 334.6000061035156, + 339.010009765625, + 322.13665771484375, + 319.5033264160156, + 325.3299865722656, + 308.97332763671875, + 310.8566589355469, + 299.9800109863281, + 312.84332275390625, + 336.2900085449219, + 355.6666564941406, + 364.6466674804687, + 362.8233337402344, + 362.0633239746094, + 356.7799987792969, + 352.260009765625, + 399.9266662597656, + 383.1966552734375, + 362.7066650390625, + 354.8999938964844, + 342.32000732421875, + 352.7066650390625, + 354.79998779296875, + 368.739990234375, + 343.85333251953125, + 349.8699951171875, + 343.5033264160156, + 331.8833312988281, + 332.0899963378906, + 314.6333312988281, + 310, + 306.1333312988281, + 312.4700012207031, + 276.3666687011719, + 282.1166687011719, + 312.239990234375, + 310.4166564941406, + 301.88665771484375, + 297.0466613769531, + 307.7733459472656, + 302.4466552734375, + 307.3333435058594, + 310.6666564941406, + 301.51666259765625, + 286.6666564941406, + 291.9200134277344, + 307.4766540527344, + 307.7966613769531, + 292.1166687011719, + 285.6600036621094, + 273.84332275390625, + 254.67999267578125, + 266.92333984375, + 269.9566650390625, + 290.1433410644531, + 288.1233215332031, + 293.2966613769531, + 279.7633361816406, + 279.42999267578125, + 268.1933288574219, + 274.79998779296875, + 286.3233337402344, + 279.4333190917969, + 265.1166687011719, + 255.4566650390625, + 267.2966613769531, + 280.07666015625, + 290.5333251953125, + 301.7966613769531, + 307.0533447265625, + 331.32666015625, + 333.03668212890625, + 337.97332763671875, + 336.8800048828125, + 363.9466552734375, + 366.5233459472656, + 364.663330078125, + 359.20001220703125, + 361.5299987792969, + 381.8166809082031, + 363.7533264160156, + 348.586669921875, + 352.4200134277344, + 341.8299865722656, + 325.30999755859375, + 328.98333740234375, + 340.7900085449219, + 328.3333435058594, + 334.7633361816406, + 342.7166748046875, + 325.73333740234375, + 336.260009765625, + 335.01666259765625, + 332.67333984375, + 292.1400146484375, + 293.836669921875, + 292.5033264160156, + 290.2533264160156, + 300.9800109863281, + 303.0833435058594, + 317.5400085449219, + 291.09332275390625, + 288.54998779296875, + 262.3699951171875, + 266.67999267578125, + 244.6666717529297, + 242.6666717529297, + 256.5299987792969, + 241.4566650390625, + 253.8699951171875, + 236.60333251953125, + 236.47332763671875, + 221.3000030517578, + 224.96665954589844, + 209.3866729736328, + 219.6000061035156, + 235.91000366210935, + 253.2100067138672, + 252.7533264160156, + 246.7899932861328, + 258.3333435058594, + 234.51666259765625, + 238.27999877929688, + 238.8866729736328, + 241.86666870117188, + 239.7066650390625, + 232.22999572753903, + 215.73666381835935, + 220.88999938964844, + 233, + 213.1000061035156, + 216.7599945068359, + 237.0366668701172, + 236.086669921875, + 235.07000732421875, + 245.7066650390625, + 244.9199981689453, + 232.663330078125, + 228.4900054931641, + 224.47332763671875, + 227.26333618164065, + 233.0666656494141, + 231.73333740234375, + 244.5433349609375, + 250.76333618164065, + 234.3433380126953, + 233.07000732421875, + 237.0399932861328, + 238.31333923339844, + 240.0666656494141, + 240.54666137695312, + 245.52999877929688, + 247.5, + 271.7066650390625, + 272.24334716796875, + 268.4333190917969, + 258.8599853515625, + 274.82000732421875, + 280.8999938964844, + 297.1499938964844, + 297.27667236328125, + 300.586669921875, + 307.39666748046875, + 308.6333312988281, + 288.1700134277344, + 290.42333984375, + 283.3333435058594, + 294.3566589355469, + 286.6300048828125, + 300.0299987792969, + 309.32000732421875, + 306.5633239746094, + 303.9966735839844, + 302.8699951171875, + 296.6666564941406, + 289.913330078125, + 296.4533386230469, + 297.0966796875, + 296.07000732421875, + 288.0899963378906, + 284.82000732421875, + 277.70001220703125, + 275.6099853515625, + 277.1600036621094, + 270.2099914550781, + 274.4200134277344, + 283.70001220703125, + 289.260009765625, + 299.67999267578125, + 304.4200134277344, + 292.1300048828125, + 302.6099853515625, + 303.75, + 303.3500061035156, + 309.07000732421875, + 308.7300109863281, + 300.79998779296875, + 288.5899963378906, + 275.3299865722656, + 276.010009765625, + 282.94000244140625, + 287.80999755859375, + 268.2099914550781, + 265.25, + 242.3999938964844, + 249.44000244140625, + 240.80999755859375, + 238.1300048828125, + 223.07000732421875, + 222.9600067138672, + 216.5, + 217.2400054931641, + 221.72000122070312, + 204.9900054931641, + 219.3500061035156, + 220.19000244140625, + 222.0399932861328, + 207.27999877929688, + 214.44000244140625, + 211.25, + 222.4199981689453, + 224.63999938964844, + 225.08999633789065, + 228.52000427246097, + 227.5399932861328, + 227.82000732421875, + 214.97999572753903, + 215.30999755859375, + 207.47000122070312, + 197.0800018310547, + 191.3000030517578, + 177.58999633789062, + 190.72000122070312, + 195.97000122070312, + 190.9499969482422, + 194.4199981689453, + 186.9199981689453, + 183.1699981689453, + 180.19000244140625, + 167.8699951171875, + 169.91000366210938, + 183.1999969482422, + 182.86000061035156, + 182.9199981689453, + 180.8300018310547, + 194.6999969482422, + 194.6999969482422, + 194.86000061035156, + 182.4499969482422, + 179.82000732421875, + 174.0399932861328, + 173.44000244140625, + 179.0500030517578, + 167.82000732421875, + 160.9499969482422, + 156.8000030517578, + 157.6699981689453, + 150.22999572753906, + 149.8699951171875, + 137.8000030517578, + 137.57000732421875, + 125.3499984741211, + 123.1500015258789, + 109.0999984741211, + 112.70999908447266, + 121.81999969482422, + 123.18000030517578, + 108.0999984741211, + 113.63999938964844, + 110.33999633789062, + 113.05999755859376, + 119.7699966430664, + 118.8499984741211, + 123.22000122070312, + 123.55999755859376, + 122.4000015258789, + 131.49000549316406, + 128.77999877929688, + 127.16999816894533, + 133.4199981689453, + 143.75, + 143.88999938964844, + 144.42999267578125, + 160.27000427246094, + 177.89999389648438, + 166.66000366210938, + 173.22000122070312, + 181.41000366210935, + 188.27000427246097, + 189.97999572753903, + 194.7599945068359, + 196.80999755859375, + 201.2899932861328, + 207.32000732421875, + 196.88999938964844, + 194.63999938964844, + 209.25, + 214.2400054931641, + 202.0399932861328, + 208.30999755859375, + 197.3699951171875, + 200.86000061035156, + 202.07000732421875, + 196.8800048828125, + 207.6300048828125, + 205.7100067138672, + 202.77000427246097, + 190.8999938964844, + 197.7899932861328, + 193.80999755859375, + 187.7100067138672, + 182, + 172.9199981689453, + 173.44000244140625, + 174.47999572753906, + 183.2599945068359, + 180.4499969482422, + 184.1300048828125, + 180.1300048828125, + 183.25, + 197.5800018310547, + 191.1499938964844, + 192.22000122070312, + 190.41000366210935, + 191.80999755859375, + 189.19000244140625, + 193.8800048828125, + 195.27999877929688, + 207.4600067138672, + 194.77000427246097, + 192.5800018310547, + 185.52000427246097, + 185.05999755859375, + 184.5099945068359, + 186.7899932861328, + 180.5399932861328, + 185.8999938964844, + 185, + 187.0399932861328, + 184.30999755859375, + 180.58999633789065, + 162.99000549316406, + 165.0800018310547, + 162.5500030517578, + 160.6699981689453, + 153.75, + 160.19000244140625, + 164.30999755859375 + ], + "decreasing": { + "line": { + "width": 0.8 + } + }, + "high": [ + 48.71533203125, + 53.29933166503906, + 53.66666793823242, + 53.54666519165039, + 57.987998962402344, + 51.51800155639648, + 50.79999923706055, + 53.26133346557617, + 52.6533317565918, + 53.09333419799805, + 54.93333435058594, + 54.93333435058594, + 56.21933364868164, + 55.06666564941406, + 53.557334899902344, + 53.66999816894531, + 55.64799880981445, + 54.80466842651367, + 55.06666564941406, + 55.5, + 55.45199966430664, + 55.63999938964844, + 55.180667877197266, + 54.98333358764648, + 55.66666793823242, + 59.93333435058594, + 60.57733154296875, + 59.862667083740234, + 59.71666717529297, + 59.10133361816406, + 63.33333206176758, + 63.62933349609375, + 68.49866485595703, + 67.9306640625, + 65.8653335571289, + 66.5893325805664, + 67.52532958984375, + 67, + 67.94667053222656, + 67.73133087158203, + 67.2586669921875, + 67.46666717529297, + 66.72533416748047, + 65.73200225830078, + 66.33333587646484, + 67.33333587646484, + 72.51266479492188, + 75.68866729736328, + 81.86666870117188, + 91.85266876220705, + 95.3000030517578, + 94.48400115966795, + 93.90399932861328, + 103.2613296508789, + 119.66600036621094, + 106, + 103.33333587646484, + 102.11399841308594, + 102.50066375732422, + 110, + 111.66666412353516, + 108.4280014038086, + 112.5999984741211, + 97.66666412353516, + 103.1959991455078, + 104.3133316040039, + 102.32066345214844, + 100.8826675415039, + 101.13666534423828, + 100.65399932861328, + 101.82733154296876, + 99.98933410644533, + 101.15399932861328, + 99.98332977294922, + 97.16666412353516, + 94.66666412353516, + 105.66666412353516, + 110.07866668701172, + 111.25333404541016, + 123.05733489990234, + 128.25999450683594, + 127.4000015258789, + 134.79933166503906, + 139.69932556152344, + 141.93333435058594, + 135.19667053222656, + 144.39999389648438, + 153.0399932861328, + 154.5659942626953, + 166.7133331298828, + 167.49667358398438, + 159.67999267578125, + 143.93333435058594, + 142.6666717529297, + 122.913330078125, + 123, + 132.99667358398438, + 127.5, + 140, + 153.97999572753906, + 152.59666442871094, + 145.92999267578125, + 150.3333282470703, + 151.89332580566406, + 145.9199981689453, + 137.38333129882812, + 133.1666717529297, + 136.2433319091797, + 142.69332885742188, + 142.8333282470703, + 144.64332580566406, + 149.6266632080078, + 146.3766632080078, + 144.54666137695312, + 142.92666625976562, + 143.3000030517578, + 146.3333282470703, + 144.8633270263672, + 149.5800018310547, + 149.6300048828125, + 155.3000030517578, + 152.19000244140625, + 151.98333740234375, + 149, + 143.9166717529297, + 144.31666564941406, + 148.41000366210938, + 140.9633331298828, + 141.9199981689453, + 143.5, + 139.53334045410156, + 139.35333251953125, + 135.8633270263672, + 135.66000366210938, + 142.58999633789062, + 145.13333129882812, + 146.6666717529297, + 145.52333068847656, + 150.8333282470703, + 140.02999877929688, + 139.56666564941406, + 141, + 137.50999450683594, + 137.48333740234375, + 154, + 165.3333282470703, + 169.5366668701172, + 167.5, + 175.3333282470703, + 186.663330078125, + 191.3333282470703, + 199.5933380126953, + 202.6000061035156, + 199.28334045410156, + 190.51333618164065, + 199.6566619873047, + 199.67999267578125, + 216.26333618164065, + 217.0933380126953, + 218.1066741943359, + 209.25, + 208, + 214.25, + 215.63333129882812, + 210.8333282470703, + 219.6066741943359, + 231.6666717529297, + 222.8333282470703, + 216.6266632080078, + 217.1666717529297, + 222.02999877929688, + 227.13333129882812, + 223.3000030517578, + 232.1999969482422, + 239.5733337402344, + 248.163330078125, + 246.94667053222656, + 258, + 272.3299865722656, + 294.8299865722656, + 284.80999755859375, + 289.3333435058594, + 286.8233337402344, + 287.6666564941406, + 286.6333312988281, + 283.3333435058594, + 286.5, + 285.239990234375, + 282.6666564941406, + 300.1333312988281, + 298.6333312988281, + 297.1666564941406, + 282.6666564941406, + 280.8033447265625, + 280.6666564941406, + 293.5, + 292.6933288574219, + 285.5, + 288.25665283203125, + 292.5899963378906, + 286.6000061035156, + 281.6066589355469, + 276.6266784667969, + 272.4433288574219, + 273.6666564941406, + 266.61334228515625, + 264.89666748046875, + 265.5966796875, + 256.1666564941406, + 237.8699951171875, + 248.3333282470703, + 245.73666381835935, + 235.5666656494141, + 239.6666717529297, + 240.3699951171875, + 233.5666656494141, + 222.8166656494141, + 209.27999877929688, + 206.7100067138672, + 226.02999877929688, + 239.28334045410156, + 234.1666717529297, + 231.6266632080078, + 237.72666931152344, + 235.97332763671875, + 234.57666015625, + 229.7433319091797, + 219.07666015625, + 233.2066650390625, + 225.9333343505859, + 222.67333984375, + 215.1666717529297, + 214.6066741943359, + 205.4933319091797, + 212.55332946777344, + 224, + 230.80667114257812, + 236.05332946777344, + 232.1833343505859, + 230.4600067138672, + 229.8500061035156, + 226.9900054931641, + 234.9333343505859, + 254.3333282470703, + 260.2633361816406, + 247.89666748046875, + 249.80332946777344, + 241.8000030517578, + 245.75, + 248.27999877929688, + 251.2566680908203, + 245.7866668701172, + 249.76666259765625, + 241.3333282470703, + 236.1666717529297, + 234.0833282470703, + 238.4900054931641, + 235.3333282470703, + 227.8166656494141, + 228.4333343505859, + 227.0066680908203, + 230, + 221.6833343505859, + 209.03334045410156, + 206.80332946777344, + 202.15333557128903, + 197.6233367919922, + 196.57666015625, + 198.75, + 188.73666381835935, + 196.28334045410156, + 198.8933258056641, + 204.82666015625, + 204.663330078125, + 208.72332763671875, + 210.3766632080078, + 211.8633270263672, + 211.26666259765625, + 207.7866668701172, + 201.51666259765625, + 200.20333862304688, + 203.3333282470703, + 207.69667053222656, + 203.92999267578125, + 205.52999877929688, + 204.18666076660156, + 208.4966735839844, + 205.59666442871097, + 202.8333282470703, + 207.1566619873047, + 209.4499969482422, + 210.4633331298828, + 209.52333068847656, + 219.0666656494141, + 232.5399932861328, + 231.27000427246097, + 231.5666656494141, + 229.1699981689453, + 230.93666076660156, + 229.3300018310547, + 233.3333282470703, + 228, + 221.8999938964844, + 218.1433258056641, + 219.6366729736328, + 229.0800018310547, + 231.0933380126953, + 226.20333862304688, + 222.04666137695312, + 218.8999938964844, + 215.73333740234375, + 220.79666137695312, + 221.6199951171875, + 220.72332763671875, + 216.26666259765625, + 222.73333740234375, + 222.1666717529297, + 218.3233337402344, + 227.89666748046875, + 232.5099945068359, + 242.31333923339844, + 240.88333129882812, + 241.63333129882812, + 240.3166656494141, + 238.77667236328125, + 239.6766662597656, + 238.8633270263672, + 238.3933258056641, + 240.9333343505859, + 243.3000030517578, + 236.5, + 224.86000061035156, + 231.92333984375, + 228.8500061035156, + 230.7100067138672, + 237.3766632080078, + 238.4066619873047, + 238.9900054931641, + 238.46665954589844, + 238.3333282470703, + 243.6666717529297, + 246.79666137695312, + 247.3300018310547, + 246.9900054931641, + 244.6666717529297, + 253.3999938964844, + 254.8166656494141, + 254.03334045410156, + 254.20333862304688, + 248.2599945068359, + 251.4900054931641, + 252.2866668701172, + 252.97000122070312, + 253.67999267578125, + 247.3333282470703, + 248.2466735839844, + 251.22332763671875, + 252.73333740234375, + 258.26666259765625, + 266.3333435058594, + 265.21331787109375, + 264.5, + 263.0433349609375, + 260.260009765625, + 268.989990234375, + 265.7699890136719, + 262.2200012207031, + 268.3333435058594, + 265.4599914550781, + 267.0799865722656, + 270.7733459472656, + 271.8033447265625, + 273.4166564941406, + 281.07000732421875, + 291.7533264160156, + 292.6499938964844, + 289.8299865722656, + 300, + 303.3333435058594, + 348.3399963378906, + 364.9800109863281, + 356.9599914550781, + 360.3333435058594, + 371.7366638183594, + 403.25, + 402.86334228515625, + 405.1300048828125, + 414.4966735839844, + 413.2900085449219, + 399, + 391.5, + 359.3666687011719, + 368.3233337402344, + 351.5, + 343.99334716796875, + 352.3999938964844, + 373.21331787109375, + 370.6666564941406, + 379.5733337402344, + 400.6499938964844, + 393.5, + 377.5899963378906, + 369.59332275390625, + 380.8900146484375, + 389.3333435058594, + 390.9466552734375, + 371, + 363.5266723632813, + 340.5466613769531, + 352.5566711425781, + 357.4599914550781, + 354.163330078125, + 340.32666015625, + 335, + 322.13665771484375, + 326.25, + 331.6600036621094, + 320.2200012207031, + 307.2300109863281, + 313.1666564941406, + 338.5533447265625, + 357.6600036621094, + 372.3333435058594, + 373, + 368, + 365.1833190917969, + 360.6666564941406, + 400.3566589355469, + 402.6666564941406, + 390.11334228515625, + 362.6666564941406, + 360.30999755859375, + 353.0333251953125, + 358.6166687011719, + 371.61334228515625, + 371.8666687011719, + 350.6666564941406, + 356.92999267578125, + 351.5566711425781, + 347.2200012207031, + 334.8500061035156, + 311.1700134277344, + 317.086669921875, + 329.2300109863281, + 311.7966613769531, + 285.8333435058594, + 312.663330078125, + 314.5666809082031, + 310.5, + 312.3333435058594, + 312.1666564941406, + 315.92333984375, + 308.7633361816406, + 315.42333984375, + 314.60333251953125, + 305.32000732421875, + 299.6266784667969, + 307.6666564941406, + 308.80999755859375, + 306.1666564941406, + 295.6233215332031, + 285.57666015625, + 278.4333190917969, + 267.49334716796875, + 273.1666564941406, + 292.28668212890625, + 296.6266784667969, + 295.49334716796875, + 295.4800109863281, + 285.2166748046875, + 288.71331787109375, + 283.3299865722656, + 286.85333251953125, + 284.8166809082031, + 281.26666259765625, + 266.8999938964844, + 268.5233459472656, + 280.6666564941406, + 291.6666564941406, + 302.6166687011719, + 314.2833251953125, + 332.6199951171875, + 346.8999938964844, + 341.4966735839844, + 340.6000061035156, + 365.9599914550781, + 371.5899963378906, + 371.3166809082031, + 367.71331787109375, + 364.9166564941406, + 383.3033447265625, + 384.2900085449219, + 359.6666564941406, + 358.86334228515625, + 349.4800109863281, + 336.15667724609375, + 340.39666748046875, + 342.0799865722656, + 337.57000732421875, + 338.3066711425781, + 344.9800109863281, + 344.6666564941406, + 364.0733337402344, + 344.95001220703125, + 336.2066650390625, + 333.3333435058594, + 306, + 300, + 311.4666748046875, + 302.1199951171875, + 308.02667236328125, + 318.5, + 315.20001220703125, + 296, + 281.8766784667969, + 275.1199951171875, + 269.92333984375, + 253.22000122070312, + 262.45001220703125, + 256.586669921875, + 254.82666015625, + 253.5, + 244.6666717529297, + 240.52667236328125, + 226.65333557128903, + 217.97332763671875, + 223.1066741943359, + 239.55667114257812, + 253.26666259765625, + 259.6000061035156, + 257.32666015625, + 264.2099914550781, + 247.79666137695312, + 244.86666870117188, + 239.9966735839844, + 249.9633331298828, + 255.54666137695312, + 239.5, + 226.63333129882812, + 226.3300018310547, + 235.663330078125, + 225.1666717529297, + 220.97000122070312, + 243.57666015625, + 246.8333282470703, + 239.3166656494141, + 246.0666656494141, + 252.07000732421875, + 249.97000122070312, + 231.17333984375, + 229.4566650390625, + 230.22999572753903, + 233.14666748046875, + 234.56333923339844, + 245.3633270263672, + 254.97999572753903, + 253.06333923339844, + 239.77333068847656, + 242.05999755859375, + 238.65333557128903, + 243.6233367919922, + 250.51666259765625, + 247.13999938964844, + 250.663330078125, + 273.26666259765625, + 280.78668212890625, + 274.14666748046875, + 267.30999755859375, + 275.9266662597656, + 283.29998779296875, + 298.32000732421875, + 311.8766784667969, + 307.8333435058594, + 309.54998779296875, + 313.6066589355469, + 304.6066589355469, + 305.20001220703125, + 292.39666748046875, + 297.510009765625, + 298.2366638183594, + 300.1600036621094, + 313.1333312988281, + 314.6666564941406, + 309.65667724609375, + 306.5, + 300.3599853515625, + 292.3999938964844, + 298.82666015625, + 303.64666748046875, + 302.9599914550781, + 302, + 287.739990234375, + 288.4800109863281, + 281.25, + 277.5799865722656, + 282.3500061035156, + 275.989990234375, + 283.8399963378906, + 289.5, + 299.8500061035156, + 305.489990234375, + 297.3999938964844, + 306, + 309.1199951171875, + 303.7099914550781, + 309.8399963378906, + 313.3299865722656, + 313.79998779296875, + 301.2900085449219, + 284.5, + 284.0899963378906, + 288.6700134277344, + 289, + 283.6499938964844, + 275.57000732421875, + 255.16000366210935, + 257.5, + 246.6699981689453, + 244.5800018310547, + 234.57000732421875, + 226.9900054931641, + 225.75, + 219.3000030517578, + 222.9900054931641, + 226.2599945068359, + 221.86000061035156, + 229.82000732421875, + 222.92999267578125, + 215.5500030517578, + 214.66000366210935, + 213.5, + 224.3500061035156, + 230.6000061035156, + 233.80999755859375, + 228.86000061035156, + 229.8500061035156, + 237.3999938964844, + 227.8699951171875, + 221.1999969482422, + 223.8000030517578, + 208.8999938964844, + 195.1999969482422, + 195.88999938964844, + 191, + 196.52000427246097, + 195.72999572753903, + 200.82000732421875, + 192.57000732421875, + 186.16000366210935, + 185.19000244140625, + 176.77000427246094, + 170.9199981689453, + 183.6199951171875, + 185.1999969482422, + 188.5, + 186.3800048828125, + 194.7599945068359, + 198.9199981689453, + 196.25, + 191.27000427246097, + 183.6499938964844, + 179.3800048828125, + 175.1999969482422, + 182.5, + 177.3699951171875, + 175.0500030517578, + 161.6199951171875, + 160.92999267578125, + 160.99000549316406, + 155.25, + 148.47000122070312, + 141.25999450683594, + 136.6300048828125, + 128.6199951171875, + 119.66999816894533, + 116.2699966430664, + 123.56999969482422, + 124.4800033569336, + 118.8000030517578, + 114.58999633789062, + 111.75, + 114.38999938964844, + 123.5199966430664, + 122.76000213623048, + 125.9499969482422, + 124.12999725341795, + 122.62999725341795, + 131.6999969482422, + 136.67999267578125, + 129.99000549316406, + 133.50999450683594, + 145.3800048828125, + 146.5, + 146.41000366210938, + 161.4199981689453, + 180.67999267578125, + 179.77000427246094, + 174.3000030517578, + 183.80999755859375, + 196.75, + 199, + 198.1699981689453, + 197.5, + 203, + 214, + 206.1999969482422, + 196.3000030517578, + 209.82000732421875, + 214.66000366210935, + 217.6499938964844, + 208.44000244140625, + 209.7100067138672, + 201.9900054931641, + 205.13999938964844, + 197.6699981689453, + 209.4199981689453, + 211.22999572753903, + 207.1999969482422, + 193.75, + 200.47999572753903, + 198.6000061035156, + 194.1999969482422, + 186.5, + 185.17999267578125, + 178.2899932861328, + 177.35000610351562, + 183.8000030517578, + 182.33999633789065, + 185.80999755859375, + 186.22000122070312, + 186.44000244140625, + 198, + 200.66000366210935, + 199.30999755859375, + 192.36000061035156, + 197.38999938964844, + 192.3500061035156, + 195.2899932861328, + 197.3300018310547, + 207.7899932861328, + 202.69000244140625, + 198.7400054931641, + 190.67999267578125, + 186.38999938964844, + 185.1000061035156, + 189.19000244140625, + 191.5800018310547, + 186.5, + 186.27999877929688, + 189.69000244140625, + 187.69000244140625, + 183.5, + 169.6999969482422, + 166, + 165.64999389648438, + 163.47000122070312, + 160.6699981689453, + 160.47999572753906, + 165 + ], + "increasing": { + "line": { + "width": 0.8 + } + }, + "low": [ + 46.54533386230469, + 49, + 50.44599914550781, + 52.21066665649414, + 50.900001525878906, + 45.5359992980957, + 46.53333282470703, + 50.8120002746582, + 50.740665435791016, + 51.4900016784668, + 52.46733474731445, + 52.33333206176758, + 53.866668701171875, + 50.88666534423828, + 50.93333435058594, + 52.436668395996094, + 53.59199905395508, + 53.73866653442383, + 54.119998931884766, + 53.06666564941406, + 54.133331298828125, + 54.38066864013672, + 52.33333206176758, + 53.44599914550781, + 53.61399841308594, + 56.939998626708984, + 58.06666564941406, + 58.67333221435547, + 57.22933197021485, + 57.74666595458984, + 60.61066818237305, + 61.595333099365234, + 65.5, + 64.80000305175781, + 60.84000015258789, + 60.56666564941406, + 64.15933227539062, + 65.50466918945312, + 66.2979965209961, + 66.0893325805664, + 66.00133514404297, + 66.267333984375, + 63.542667388916016, + 62.47666549682617, + 63.65800094604492, + 63.23466873168945, + 66.91533660888672, + 72.03333282470703, + 79.04000091552734, + 84.40266418457031, + 89.11399841308594, + 87.42266845703125, + 90.08533477783205, + 91.73400115966795, + 98.0739974975586, + 95.4000015258789, + 97.13333129882812, + 97.73332977294922, + 99.33333587646484, + 99.1999969482422, + 103.86666870117188, + 104.13333129882812, + 98.71800231933594, + 91.10266876220705, + 94.1999969482422, + 98.29467010498048, + 99.13333129882812, + 98.06666564941406, + 94.73200225830078, + 96.29199981689452, + 97.46666717529295, + 97.88733673095705, + 98.48400115966795, + 94.33399963378906, + 92.38933563232422, + 91, + 95.66666412353516, + 104.48400115966795, + 108.44266510009766, + 111.52200317382812, + 123.00733184814452, + 122.74732971191406, + 123.8040008544922, + 135.00332641601562, + 128.50132751464844, + 131.1999969482422, + 136.90866088867188, + 142.8333282470703, + 145.76800537109375, + 146.70333862304688, + 156.836669921875, + 135.0399932861328, + 134, + 124.00666809082033, + 109.95999908447266, + 113.836669921875, + 120.1866683959961, + 120.16666412353516, + 124.43333435058594, + 143.56666564941406, + 145.10333251953125, + 136, + 142.93333435058594, + 135.69000244140625, + 139.1999969482422, + 125.2933349609375, + 117.0999984741211, + 130.43333435058594, + 138.51666259765625, + 137.1999969482422, + 140.1566619873047, + 144.80667114257812, + 138.3333282470703, + 139.77667236328125, + 135.35000610351562, + 137.9499969482422, + 141.76666259765625, + 142.15333557128906, + 146.19332885742188, + 145.53334045410156, + 149.11666870117188, + 147.5, + 146.28334045410156, + 142.9566650390625, + 139.68333435058594, + 140.4166717529297, + 141.50332641601562, + 135.7933349609375, + 136.6666717529297, + 140.03334045410156, + 135.3333282470703, + 135.48666381835938, + 126.37000274658205, + 130.76666259765625, + 135.56333923339844, + 139.03334045410156, + 141.3333282470703, + 141.42666625976562, + 140.3333282470703, + 132.00999450683594, + 136.86000061035156, + 136.5066680908203, + 133.8866729736328, + 134.69667053222656, + 144.336669921875, + 147.8333282470703, + 162.52333068847656, + 163.02000427246094, + 167.26333618164062, + 175.39999389648438, + 181.7899932861328, + 192.8166656494141, + 184.836669921875, + 190.6833343505859, + 180.40333557128903, + 194.1433258056641, + 195.1666717529297, + 201.01666259765625, + 206.1666717529297, + 196, + 188.77999877929688, + 198.9333343505859, + 203.3999938964844, + 207.9333343505859, + 201.6666717529297, + 206.5, + 209.51333618164065, + 215.3566741943359, + 204.7433319091797, + 207.52333068847656, + 213.6666717529297, + 220.26666259765625, + 218.3333282470703, + 222.7866668701172, + 230.3733367919922, + 239.06333923339844, + 239.73333740234375, + 249.6999969482422, + 258.3999938964844, + 279.46331787109375, + 267.8733215332031, + 275.7799987792969, + 277.3333435058594, + 279.5833435058594, + 273.0333251953125, + 277.6666564941406, + 279.09332275390625, + 280.47332763671875, + 276.2066650390625, + 279.6066589355469, + 290.5333251953125, + 286.2200012207031, + 267, + 260.0333251953125, + 265.1866760253906, + 280.73333740234375, + 284.35333251953125, + 277.8066711425781, + 279.65667724609375, + 284.9166564941406, + 280.5833435058594, + 266.67333984375, + 267.24334716796875, + 261.77667236328125, + 264.14666748046875, + 254.0033264160156, + 258.75665283203125, + 259.1233215332031, + 236.73333740234375, + 206.3333282470703, + 231.38999938964844, + 223.52667236328125, + 219.836669921875, + 228.3500061035156, + 228.3333282470703, + 217.23666381835935, + 200, + 179.8300018310547, + 186.26333618164065, + 198.40333557128903, + 218.35333251953125, + 225.72666931152344, + 222.04666137695312, + 228.01333618164065, + 223.6666717529297, + 217.0033264160156, + 217.3333282470703, + 208.2066650390625, + 222.9166717529297, + 219.1699981689453, + 210.0366668701172, + 203.1666717529297, + 199.9633331298828, + 198.67333984375, + 197.0033264160156, + 213.70333862304688, + 219.80667114257812, + 228.23333740234375, + 227.1233367919922, + 222.6133270263672, + 223.88333129882812, + 223.1433258056641, + 227.3633270263672, + 236.8866729736328, + 242.6766662597656, + 240.43666076660156, + 241.53334045410156, + 230.6000061035156, + 236.89666748046875, + 232.6666717529297, + 239.34666442871097, + 238.48666381835935, + 244.20333862304688, + 234.4499969482422, + 231.1999969482422, + 222.8333282470703, + 222.04666137695312, + 226.8333282470703, + 219.23333740234375, + 222.44667053222656, + 216.6666717529297, + 220.0733337402344, + 209.20333862304688, + 198.53334045410156, + 195.58999633789065, + 186.5500030517578, + 190.15333557128903, + 187.0666656494141, + 187.7933349609375, + 182.32666015625, + 190.3566741943359, + 193.3333282470703, + 191.21665954589844, + 198.57000732421875, + 200.5, + 205.40333557128903, + 207.4600067138672, + 206.8500061035156, + 199.7133331298828, + 190.4066619873047, + 192.3999938964844, + 194.2933349609375, + 198.5, + 199.2100067138672, + 200.1666717529297, + 200.5066680908203, + 203.05999755859375, + 199.41000366210935, + 197.8333282470703, + 200.44667053222656, + 203.9333343505859, + 202.9600067138672, + 205.1666717529297, + 210.01333618164065, + 222.5366668701172, + 222.8999938964844, + 223.44000244140625, + 225.29666137695312, + 226.04666137695312, + 224.26666259765625, + 224.4199981689453, + 217.13333129882812, + 212.77333068847656, + 206.82000732421875, + 214.89666748046875, + 220.72000122070312, + 222.1000061035156, + 217.6133270263672, + 212.6266632080078, + 214.0666656494141, + 207.09666442871097, + 213.5, + 216.76333618164065, + 214.86666870117188, + 212.4333343505859, + 215.70333862304688, + 209.0800018310547, + 213.13333129882812, + 216.26666259765625, + 223, + 232.8000030517578, + 233.6699981689453, + 236.30999755859375, + 237.1366729736328, + 232.5433349609375, + 235.0433349609375, + 233.9600067138672, + 234.73666381835935, + 233.13333129882812, + 238.1133270263672, + 225.46665954589844, + 216.27999877929688, + 223.11666870117188, + 222.52999877929688, + 224.5666656494141, + 226.9166717529297, + 234.2133331298828, + 234.6666717529297, + 232.5399932861328, + 234.03334045410156, + 237.57666015625, + 242.14666748046875, + 243.7566680908203, + 243.51333618164065, + 241.3999938964844, + 246.4199981689453, + 246.92333984375, + 250.5433349609375, + 244.83999633789065, + 236.28334045410156, + 245.46665954589844, + 246.1199951171875, + 249.20333862304688, + 250, + 239.5399932861328, + 243.47999572753903, + 246.3733367919922, + 249.30667114257812, + 248.18666076660156, + 256.4366760253906, + 255.3933258056641, + 256.8933410644531, + 258.3333435058594, + 254.52999877929688, + 258.7066650390625, + 258.0666809082031, + 257.739990234375, + 261.1266784667969, + 260.3033447265625, + 261.8333435058594, + 265.5233459472656, + 268.59332275390625, + 271.1166687011719, + 274.1166687011719, + 283.8233337402344, + 287.5033264160156, + 285.7933349609375, + 285.1666564941406, + 296.9866638183594, + 314.73333740234375, + 333.8133239746094, + 343.59332275390625, + 351.3999938964844, + 357.7366638183594, + 372.88665771484375, + 382, + 384.2066650390625, + 405.6666564941406, + 402.6666564941406, + 377.6666564941406, + 337.17333984375, + 329.10333251953125, + 351.55999755859375, + 339.73333740234375, + 326.20001220703125, + 334.05999755859375, + 351.8333435058594, + 358.3399963378906, + 364.23333740234375, + 377.4766540527344, + 354.23333740234375, + 354, + 360.3333435058594, + 366.7300109863281, + 372.6666564941406, + 363.586669921875, + 352.2166748046875, + 333.4033203125, + 316.8333435058594, + 342.2699890136719, + 344.3333435058594, + 334.1199951171875, + 327.510009765625, + 317.1400146484375, + 310, + 309.4166564941406, + 307.2833251953125, + 303.0133361816406, + 297.7966613769531, + 295.3733215332031, + 319.01666259765625, + 332.5199890136719, + 356.90667724609375, + 359.47332763671875, + 354.71331787109375, + 351.04998779296875, + 351.5299987792969, + 378.6799926757813, + 374.3500061035156, + 360.336669921875, + 340.1666564941406, + 336.6666564941406, + 326.6666564941406, + 346.2733459472656, + 357.5299987792969, + 342.17999267578125, + 337.7933349609375, + 338.6866760253906, + 331.6666564941406, + 331.3333435058594, + 313.5, + 283.8233337402344, + 301.07000732421875, + 302, + 276.3333435058594, + 264.0033264160156, + 287.3500061035156, + 301.6666564941406, + 296.4700012207031, + 293.50665283203125, + 293.72332763671875, + 300.9033203125, + 298.26666259765625, + 306.6666564941406, + 298.8999938964844, + 283.5666809082031, + 284.3833312988281, + 297.7933349609375, + 300.4033203125, + 291.3666687011719, + 279.2033386230469, + 267.0333251953125, + 253.52000427246097, + 233.3333282470703, + 260.79998779296875, + 271.57000732421875, + 284.59332275390625, + 281.42333984375, + 277.5333251953125, + 275.0533447265625, + 268.19000244140625, + 260.72332763671875, + 277.336669921875, + 270.1199951171875, + 264.5899963378906, + 252.01333618164065, + 252.19000244140625, + 267.4200134277344, + 275.239990234375, + 289.1300048828125, + 302.36334228515625, + 307.25, + 325.4666748046875, + 329.6000061035156, + 332.44000244140625, + 351.20001220703125, + 357.7033386230469, + 361.3333435058594, + 358.8800048828125, + 355.5466613769531, + 357.510009765625, + 362.4333190917969, + 342.5666809082031, + 340.5133361816406, + 340.8133239746094, + 324.8800048828125, + 325.5333251953125, + 324.3666687011719, + 327.39666748046875, + 324.4700012207031, + 331.77667236328125, + 325.0833435058594, + 332.1400146484375, + 331.3333435058594, + 325.1000061035156, + 291.6666564941406, + 292.4533386230469, + 273.8999938964844, + 290, + 282.6766662597656, + 296.1966552734375, + 295.09332275390625, + 285.8999938964844, + 281.03668212890625, + 260.3833312988281, + 258.0833435058594, + 242.3999938964844, + 226.6666717529297, + 250.52333068847656, + 239.69667053222656, + 242.9499969482422, + 233.60333251953125, + 231.3699951171875, + 211, + 212.68666076660156, + 206.8566741943359, + 207.6699981689453, + 217.8866729736328, + 240.1766662597656, + 244.7433319091797, + 243.63999938964844, + 242.0666656494141, + 233.4166717529297, + 234.3500061035156, + 230.0933380126953, + 239.1766662597656, + 239.32666015625, + 227.913330078125, + 214.6833343505859, + 211.73666381835935, + 218.1499938964844, + 208.69332885742188, + 213.19667053222656, + 224.3333282470703, + 233.82666015625, + 228.6366729736328, + 236.086669921875, + 242.5666656494141, + 232.3433380126953, + 222.27333068847656, + 218.8633270263672, + 222.1199951171875, + 216.1666717529297, + 227.18666076660156, + 232.2100067138672, + 241.16000366210935, + 233.6266632080078, + 228.3699951171875, + 225.03334045410156, + 229.3333282470703, + 236.88999938964844, + 239.60333251953125, + 236.97666931152344, + 243.48333740234375, + 254.86666870117188, + 270.71331787109375, + 267.3999938964844, + 256.2633361816406, + 261.7900085449219, + 272.79998779296875, + 279.1000061035156, + 295, + 292.6666564941406, + 301.1499938964844, + 305, + 285.5433349609375, + 289.086669921875, + 279.35333251953125, + 283.3699951171875, + 285.8333435058594, + 285.0333251953125, + 301.2300109863281, + 302.8833312988281, + 300.0333251953125, + 301.85333251953125, + 292.5, + 286.2966613769531, + 287.92333984375, + 296.5, + 291.6000061035156, + 287.4700012207031, + 280.70001220703125, + 272.6499938964844, + 271.80999755859375, + 266.1499938964844, + 269.0799865722656, + 265.739990234375, + 272.2699890136719, + 279.760009765625, + 291.25, + 300.3999938964844, + 290.3999938964844, + 291.6400146484375, + 300.7200012207031, + 295.6000061035156, + 297.79998779296875, + 305.5799865722656, + 300.6300048828125, + 285.82000732421875, + 272.82000732421875, + 270.30999755859375, + 277.510009765625, + 277.57000732421875, + 265.7799987792969, + 262.4700012207031, + 241.0099945068359, + 242.0099945068359, + 233.27000427246097, + 235.3500061035156, + 222.02000427246097, + 218.36000061035156, + 215, + 211.5099945068359, + 206.22000122070312, + 204.16000366210935, + 209.4499969482422, + 217.25, + 217.77999877929688, + 202, + 203.8000030517578, + 198.58999633789065, + 210, + 218.1999969482422, + 222.8500061035156, + 216.3500061035156, + 221.94000244140625, + 227.27999877929688, + 214.82000732421875, + 210.13999938964844, + 203.0800018310547, + 196.66000366210935, + 186.75, + 177.1199951171875, + 180.02999877929688, + 182.58999633789065, + 186.33999633789065, + 192.05999755859375, + 185.66000366210935, + 180.8999938964844, + 176.5500030517578, + 167.5399932861328, + 166.19000244140625, + 172.5, + 180.6300048828125, + 179, + 178.75, + 180.6300048828125, + 191.8000030517578, + 191.11000061035156, + 180.5500030517578, + 175.3300018310547, + 172.22000122070312, + 169.05999755859375, + 173.36000061035156, + 167.52000427246094, + 156.91000366210938, + 155.30999755859375, + 153.27999877929688, + 150.0399932861328, + 145.82000732421875, + 137.66000366210938, + 135.88999938964844, + 122.26000213623048, + 121.0199966430664, + 108.76000213623048, + 108.23999786376952, + 117.5, + 119.75, + 104.63999938964844, + 107.5199966430664, + 107.16000366210938, + 101.80999755859376, + 117.11000061035156, + 114.91999816894533, + 120.51000213623048, + 117, + 115.5999984741211, + 125.0199966430664, + 127.01000213623048, + 124.30999755859376, + 127.3499984741211, + 134.27000427246094, + 141.10000610351562, + 138.07000732421875, + 154.75999450683594, + 161.1699981689453, + 166.5, + 162.77999877929688, + 169.92999267578125, + 182.61000061035156, + 183.69000244140625, + 189.9199981689453, + 189.5500030517578, + 194.30999755859375, + 204.77000427246097, + 192.88999938964844, + 187.61000061035156, + 189.44000244140625, + 206.11000061035156, + 201.83999633789065, + 197.5, + 197.22000122070312, + 191.77999877929688, + 196.3300018310547, + 192.8000030517578, + 201.2599945068359, + 203.75, + 198.52000427246097, + 186.0099945068359, + 192.8800048828125, + 192.3000030517578, + 186.1000061035156, + 180, + 172.50999450683594, + 168.44000244140625, + 163.91000366210938, + 177.13999938964844, + 176.02999877929688, + 178.83999633789062, + 177.3300018310547, + 176.35000610351562, + 188.0399932861328, + 190.9499969482422, + 188.6499938964844, + 187.1499938964844, + 189.94000244140625, + 185.42999267578125, + 189.44000244140625, + 194.4199981689453, + 197.1999969482422, + 192.1999969482422, + 190.32000732421875, + 183.7599945068359, + 179.74000549316406, + 176.11000061035156, + 185.6499938964844, + 180.30999755859375, + 180.94000244140625, + 182.0099945068359, + 182.69000244140625, + 183.5800018310547, + 177.64999389648438, + 160.55999755859375, + 161.32000732421875, + 158.61000061035156, + 158.75, + 153.13999938964844, + 152.3699951171875, + 157.32000732421875 + ], + "name": "Stock TSLA OHLC ", + "open": [ + 47.387332916259766, + 49.17399978637695, + 53.042667388916016, + 52.678001403808594, + 57.01266860961914, + 50.33333206176758, + 46.73333358764648, + 52.65266799926758, + 51.76666641235352, + 51.81399917602539, + 52.917999267578125, + 52.70066833496094, + 55.133331298828125, + 54.72200012207031, + 52, + 52.689998626708984, + 55.185333251953125, + 54.34466552734375, + 54.70000076293945, + 54.400001525878906, + 54.81133270263672, + 55.633331298828125, + 54.7239990234375, + 54.23400115966797, + 53.91666793823242, + 57.20000076293945, + 59.64666748046875, + 59.20800018310547, + 59.32533264160156, + 58.522666931152344, + 61.26666641235352, + 62.66733169555664, + 66.12533569335938, + 66.01333618164062, + 65.33333587646484, + 61.18600082397461, + 67.4566650390625, + 65.84733581542969, + 66.86666870117188, + 67.51866912841797, + 66.663330078125, + 66.59200286865234, + 66.27400207519531, + 63.61800003051758, + 66.31866455078125, + 64.60066986083984, + 67.0999984741211, + 72.19999694824219, + 81.43199920654297, + 85.11266326904297, + 93.6673355102539, + 93.66666412353516, + 93.1326675415039, + 93.06666564941406, + 110.5999984741211, + 103.73332977294922, + 102.86666870117188, + 98.47733306884766, + 100.89666748046876, + 101.267333984375, + 109.32866668701172, + 106.5999984741211, + 111.93000030517578, + 94.40066528320312, + 95.66666412353516, + 100.26667022705078, + 100.06666564941406, + 99.1999969482422, + 101, + 96.61333465576172, + 99.6673355102539, + 99.5326690673828, + 99.38866424560548, + 99.96932983398438, + 96.53333282470705, + 93.06666564941406, + 98, + 107.4000015258789, + 110.99933624267578, + 111.8000030517578, + 126.59933471679688, + 124.33333587646484, + 124.04533386230467, + 136.3173370361328, + 141.7519989013672, + 131.65933227539062, + 137.3333282470703, + 145.36399841308594, + 153.00799560546875, + 148.20333862304688, + 167.3800048828125, + 159.663330078125, + 135.7433319091797, + 134.27000427246094, + 118.66666412353516, + 118.86666870117188, + 128.73666381835938, + 127.3133316040039, + 126.98332977294922, + 145.52000427246094, + 146.6233367919922, + 138.53334045410156, + 149.31333923339844, + 151.0433349609375, + 143.1999969482422, + 135.05332946777344, + 121.26667022705078, + 131.1566619873047, + 141.5399932861328, + 138.6666717529297, + 140.44000244140625, + 146.9199981689453, + 140.4633331298828, + 141.11666870117188, + 141.26333618164062, + 139.9566650390625, + 146.14666748046875, + 143.3766632080078, + 147.3333282470703, + 147.78334045410156, + 149.92666625976562, + 150.10333251953125, + 151.47999572753906, + 148.74667358398438, + 143.9166717529297, + 140.89999389648438, + 147.30667114257812, + 140.6133270263672, + 137.2100067138672, + 141.25332641601562, + 138.82666015625, + 136.65333557128906, + 135.63333129882812, + 131.3333282470703, + 136.57666015625, + 143.5399932861328, + 142.76666259765625, + 145.36666870117188, + 146.5, + 140.02999877929688, + 138.81666564941406, + 138.35000610351562, + 136.9499969482422, + 136.30999755859375, + 153.38999938964844, + 149.4499969482422, + 164, + 165.99667358398438, + 167.8333282470703, + 180.13333129882812, + 183.35333251953125, + 193.72000122070312, + 200.73666381835935, + 199.19667053222656, + 185.47999572753903, + 196.67333984375, + 197.0033264160156, + 201.63999938964844, + 208.5033264160156, + 217.89666748046875, + 191.4566650390625, + 205.0033264160156, + 206.3333282470703, + 214.4266662597656, + 209.41000366210935, + 209.39666748046875, + 222.96665954589844, + 222.0800018310547, + 216, + 210.73333740234375, + 214.3300018310547, + 224.836669921875, + 220.3333282470703, + 224, + 233.3300018310547, + 239.82000732421875, + 241.22000122070312, + 252.8300018310547, + 259.2099914550781, + 285.3333435058594, + 283.1333312988281, + 277, + 284.2533264160156, + 281.1300048828125, + 284, + 279.26666259765625, + 286.2466735839844, + 285, + 278.10333251953125, + 285, + 297.1266784667969, + 290.1166687011719, + 273.3333435058594, + 276.6666564941406, + 271.42999267578125, + 281.55999755859375, + 292.3399963378906, + 285, + 281.6666564941406, + 289.8900146484375, + 285.0400085449219, + 281.21331787109375, + 270.8133239746094, + 267.086669921875, + 272.6666564941406, + 259.6966552734375, + 260.29998779296875, + 265, + 254.2133331298828, + 220.7100067138672, + 237.28334045410156, + 242.0500030517578, + 233.3333282470703, + 230.0366668701172, + 239.4266662597656, + 229.3300018310547, + 218.6000061035156, + 208.68666076660156, + 200.1833343505859, + 202.72666931152344, + 233.4333343505859, + 233.13333129882812, + 223.3333282470703, + 231.3633270263672, + 234.4499969482422, + 218.9566650390625, + 228.09666442871097, + 215.53334045410156, + 228.19667053222656, + 225.2566680908203, + 222.6366729736328, + 204.3333282470703, + 213.9566650390625, + 205.2133331298828, + 200.5833282470703, + 215.5399932861328, + 229.4566650390625, + 235.90333557128903, + 230.1000061035156, + 229, + 225.7933349609375, + 225.92333984375, + 228.5666656494141, + 237.5666656494141, + 256.8999938964844, + 247.6999969482422, + 242.88333129882812, + 239.86666870117188, + 239.13999938964844, + 234.92333984375, + 247.1666717529297, + 239.9333343505859, + 247, + 239.32000732421875, + 232.1366729736328, + 233.1699981689453, + 222.52999877929688, + 234.6000061035156, + 226.31333923339844, + 227.02000427246097, + 226.9199981689453, + 221.9333343505859, + 221.63333129882812, + 199.7466735839844, + 200.8300018310547, + 200.51333618164065, + 194.47000122070312, + 191.8500061035156, + 189.3333282470703, + 184.1833343505859, + 191.6666717529297, + 198.70333862304688, + 193.86666870117188, + 202.43666076660156, + 202.52000427246097, + 206.7466735839844, + 209.5, + 209.26666259765625, + 206.7100067138672, + 200.6000061035156, + 193.23666381835935, + 197.27667236328125, + 207.6699981689453, + 200.72332763671875, + 201.2933349609375, + 203.41000366210935, + 204.07666015625, + 205.56333923339844, + 199.17999267578125, + 200.6300048828125, + 204.4566650390625, + 208.16000366210935, + 206.0833282470703, + 210.6666717529297, + 224.9966735839844, + 229.86000061035156, + 223.8800048828125, + 228.21665954589844, + 226.58999633789065, + 227.97332763671875, + 226.32666015625, + 227.23666381835935, + 221.42333984375, + 209.4566650390625, + 217.72666931152344, + 220.73333740234375, + 228.77333068847656, + 223.5833282470703, + 219.4633331298828, + 218.22666931152344, + 209.9633331298828, + 217.3300018310547, + 219.8699951171875, + 218.81333923339844, + 215.45333862304688, + 216.9900054931641, + 221.13333129882812, + 215.6666717529297, + 216.59666442871097, + 223.9199981689453, + 233.3333282470703, + 239.6666717529297, + 237, + 238.6666717529297, + 237.3000030517578, + 236.72332763671875, + 237.9966735839844, + 237.57000732421875, + 235.44667053222656, + 241.23666381835935, + 235.02333068847656, + 224.22000122070312, + 223.25, + 226.07000732421875, + 227.61666870117188, + 228.47999572753903, + 236.8933258056641, + 235.6766662597656, + 236.10333251953125, + 235, + 238.2400054931641, + 244.3333282470703, + 244.69332885742188, + 244.8333282470703, + 244.0833282470703, + 246.6666717529297, + 253.86000061035156, + 251.1366729736328, + 253.1999969482422, + 246.73666381835935, + 247.52333068847656, + 248.3333282470703, + 250.94332885742188, + 252.38333129882812, + 244.85333251953125, + 244.92999267578125, + 247.8433380126953, + 251.6666717529297, + 248.6300048828125, + 257.7066650390625, + 262.3999938964844, + 259.9333190917969, + 260.3333435058594, + 259.4666748046875, + 265.5, + 261.6000061035156, + 258.73333740234375, + 261.82000732421875, + 265.4033203125, + 262.54998779296875, + 266.9766540527344, + 270.15667724609375, + 271.8299865722656, + 274.5799865722656, + 283.92999267578125, + 292.510009765625, + 288.45001220703125, + 285.3333435058594, + 298.5, + 316.84332275390625, + 341.5633239746094, + 346.5533447265625, + 356.10333251953125, + 360.6199951171875, + 381.6666564941406, + 386.4533386230469, + 392.4433288574219, + 411.4700012207031, + 409.3333435058594, + 383.2633361816406, + 391.2000122070313, + 336.8033447265625, + 367.5899963378906, + 349.1666564941406, + 339.2099914550781, + 334.4366760253906, + 354.5033264160156, + 368.8500061035156, + 366.2900085449219, + 387.4433288574219, + 389.1700134277344, + 360.1300048828125, + 366.489990234375, + 366.9966735839844, + 381.4566650390625, + 386.8999938964844, + 366.3533325195313, + 361.5966796875, + 333.836669921875, + 348.0666809082031, + 350.9033203125, + 353.5466613769531, + 336.25, + 333.6966552734375, + 315, + 317.7366638183594, + 331.5, + 304.92333984375, + 303.5666809082031, + 305.6233215332031, + 321.88665771484375, + 335.6000061035156, + 357.8900146484375, + 369.8299865722656, + 366.21331787109375, + 353.77667236328125, + 357.8133239746094, + 382.5833435058594, + 396.51666259765625, + 382.2166748046875, + 359, + 360.1233215332031, + 333.3333435058594, + 351.22332763671875, + 359.6166687011719, + 369.69000244140625, + 339.9599914550781, + 342.2033386230469, + 347.2366638183594, + 336.57666015625, + 332.11334228515625, + 301.586669921875, + 304.73333740234375, + 317.4766540527344, + 311.1199951171875, + 277.1866760253906, + 290.9033203125, + 311.7366638183594, + 309.3933410644531, + 294, + 299.0733337402344, + 307.92999267578125, + 301.84332275390625, + 311.6666564941406, + 302.7900085449219, + 303.2099914550781, + 287.19000244140625, + 300, + 304.6833190917969, + 304.4200134277344, + 295.3333435058594, + 278.0433349609375, + 276.80999755859375, + 233.4633331298828, + 269.74334716796875, + 271.6700134277344, + 289.8933410644531, + 290.7099914550781, + 292.92333984375, + 283.0333251953125, + 285.4333190917969, + 265.1766662597656, + 279.82666015625, + 283.8166809082031, + 280.0666809082031, + 260.2033386230469, + 258.42333984375, + 269.6666564941406, + 276.9966735839844, + 291.4966735839844, + 304.99334716796875, + 310, + 326.64666748046875, + 336.57666015625, + 336, + 355.0333251953125, + 369.3299865722656, + 363.7233276367187, + 364.8566589355469, + 360.3833312988281, + 363.1266784667969, + 378.76666259765625, + 357.8233337402344, + 350.7966613769531, + 347.7366638183594, + 326.79998779296875, + 332.5466613769531, + 327.02667236328125, + 333.0966796875, + 329.6766662597656, + 335.0199890136719, + 343.3333435058594, + 358.24334716796875, + 338.3033447265625, + 326.3233337402344, + 331.80999755859375, + 299.52667236328125, + 299.99334716796875, + 300.75, + 286.92333984375, + 301.05999755859375, + 301.3133239746094, + 313.00665283203125, + 295.6666564941406, + 278.8166809082031, + 273.10333251953125, + 265, + 233.6666717529297, + 257.82666015625, + 255.72000122070312, + 249.1199951171875, + 248.17333984375, + 235.6666717529297, + 237.9966735839844, + 218.33999633789065, + 217.8433380126953, + 207.9499969482422, + 220.47332763671875, + 241.0833282470703, + 257.9466552734375, + 251.72000122070312, + 244.1566619873047, + 243.22666931152344, + 244.35333251953125, + 234, + 240.086669921875, + 249.33999633789065, + 235.1566619873047, + 223.1666717529297, + 218.2866668701172, + 220.9166717529297, + 222.73666381835935, + 213.4333343505859, + 224.60333251953125, + 234.5033264160156, + 237.9066619873047, + 237.47000122070312, + 249.36666870117188, + 244.48333740234375, + 230.5, + 224.5099945068359, + 227, + 223, + 230.77999877929688, + 233.9199981689453, + 242.3333282470703, + 252.10333251953125, + 236.84666442871097, + 225.5, + 234.89666748046875, + 240, + 244.93666076660156, + 245, + 246.78334045410156, + 255.1066741943359, + 276.2200012207031, + 272.2166748046875, + 266.5133361816406, + 263.80999755859375, + 280.0666809082031, + 280.70001220703125, + 301.27667236328125, + 294.0033264160156, + 305, + 311, + 302.6700134277344, + 295, + 290.2933349609375, + 297.0666809082031, + 296.5133361816406, + 289.4166564941406, + 301.78668212890625, + 311.6666564941406, + 303.39666748046875, + 306, + 299, + 291.913330078125, + 291.4533386230469, + 297.5633239746094, + 302.3599853515625, + 297.42999267578125, + 282.8299865722656, + 287.8699951171875, + 280.6199951171875, + 272.5799865722656, + 281.07000732421875, + 272.67999267578125, + 273.1000061035156, + 281.29998779296875, + 291.6700134277344, + 300.7200012207031, + 292.8999938964844, + 292.239990234375, + 301.8299865722656, + 299.6099853515625, + 300.0899963378906, + 306.9100036621094, + 308.2900085449219, + 299.8599853515625, + 283.0899963378906, + 271.8299865722656, + 283.8399963378906, + 283.0799865722656, + 282.760009765625, + 266.1499938964844, + 254.5, + 250.52000427246097, + 245.0099945068359, + 239.44000244140625, + 233.94000244140625, + 223.92999267578125, + 220.9499969482422, + 215.3300018310547, + 208.3000030517578, + 224.0099945068359, + 210.0399932861328, + 229.5, + 219.8000030517578, + 208.27999877929688, + 206.4199981689453, + 205.82000732421875, + 210.1000061035156, + 219.3999938964844, + 229.77000427246097, + 225.3999938964844, + 226.19000244140625, + 234.0500030517578, + 226.0399932861328, + 211.36000061035156, + 222.6000061035156, + 208.6499938964844, + 194.02000427246097, + 190.77999877929688, + 189.8999938964844, + 186, + 192.77000427246097, + 195.8800048828125, + 191.5099945068359, + 183.9600067138672, + 185.0500030517578, + 175.85000610351562, + 168.6300048828125, + 173.57000732421875, + 185.05999755859375, + 179.9600067138672, + 184.9900054931641, + 182.42999267578125, + 197.0800018310547, + 191.77999877929688, + 189.44000244140625, + 181.22000122070312, + 175.02999877929688, + 172.1999969482422, + 173.83999633789062, + 176.10000610351562, + 174.8699951171875, + 159.25, + 153.44000244140625, + 159.63999938964844, + 154, + 146.0500030517578, + 139.33999633789062, + 136, + 126.37000274658205, + 117.5, + 110.3499984741211, + 120.38999938964844, + 119.9499969482422, + 118.47000122070312, + 109.11000061035156, + 110.51000213623048, + 103, + 118.95999908447266, + 121.06999969482422, + 122.08999633789062, + 122.55999755859376, + 116.5500030517578, + 125.6999969482422, + 136.55999755859375, + 127.26000213623048, + 128.67999267578125, + 135.8699951171875, + 143, + 141.91000366210938, + 159.97000122070312, + 162.42999267578125, + 178.0500030517578, + 164.57000732421875, + 173.88999938964844, + 187.3300018310547, + 183.9499969482422, + 193.0099945068359, + 196.42999267578125, + 196.1000061035156, + 207.77999877929688, + 202.22999572753903, + 194.4199981689453, + 191.94000244140625, + 211.7599945068359, + 210.77999877929688, + 199.9900054931641, + 204.9900054931641, + 197.92999267578125, + 203.91000366210935, + 196.3300018310547, + 202.02999877929688, + 210.58999633789065, + 206.2100067138672, + 186.7400054931641, + 194.8000030517578, + 198.5399932861328, + 191.3800048828125, + 185.0399932861328, + 180.25, + 175.1300048828125, + 167.4600067138672, + 177.30999755859375, + 180.8000030517578, + 180.3699951171875, + 184.52000427246097, + 178.0800018310547, + 188.27999877929688, + 199.3000030517578, + 195.2599945068359, + 191.6499938964844, + 194.4199981689453, + 192, + 193.1300048828125, + 195.5800018310547, + 197.52999877929688, + 199.91000366210935, + 197.32000732421875, + 190.52000427246097, + 183.0800018310547, + 179.94000244140625, + 186.69000244140625, + 190.7400054931641, + 182.9600067138672, + 183.9499969482422, + 186.32000732421875, + 187.1499938964844, + 179.10000610351562, + 166.1699981689453, + 164.8000030517578, + 164.64999389648438, + 159.82000732421875, + 160.2899932861328, + 152.63999938964844, + 160.89999389648438 + ], + "showlegend": false, + "type": "candlestick", + "x": [ + "2020-04-24T00:00:00", + "2020-04-27T00:00:00", + "2020-04-28T00:00:00", + "2020-04-29T00:00:00", + "2020-04-30T00:00:00", + "2020-05-01T00:00:00", + "2020-05-04T00:00:00", + "2020-05-05T00:00:00", + "2020-05-06T00:00:00", + "2020-05-07T00:00:00", + "2020-05-08T00:00:00", + "2020-05-11T00:00:00", + "2020-05-12T00:00:00", + "2020-05-13T00:00:00", + "2020-05-14T00:00:00", + "2020-05-15T00:00:00", + "2020-05-18T00:00:00", + "2020-05-19T00:00:00", + "2020-05-20T00:00:00", + "2020-05-21T00:00:00", + "2020-05-22T00:00:00", + "2020-05-26T00:00:00", + "2020-05-27T00:00:00", + "2020-05-28T00:00:00", + "2020-05-29T00:00:00", + "2020-06-01T00:00:00", + "2020-06-02T00:00:00", + "2020-06-03T00:00:00", + "2020-06-04T00:00:00", + "2020-06-05T00:00:00", + "2020-06-08T00:00:00", + "2020-06-09T00:00:00", + "2020-06-10T00:00:00", + "2020-06-11T00:00:00", + "2020-06-12T00:00:00", + "2020-06-15T00:00:00", + "2020-06-16T00:00:00", + "2020-06-17T00:00:00", + "2020-06-18T00:00:00", + "2020-06-19T00:00:00", + "2020-06-22T00:00:00", + "2020-06-23T00:00:00", + "2020-06-24T00:00:00", + "2020-06-25T00:00:00", + "2020-06-26T00:00:00", + "2020-06-29T00:00:00", + "2020-06-30T00:00:00", + "2020-07-01T00:00:00", + "2020-07-02T00:00:00", + "2020-07-06T00:00:00", + "2020-07-07T00:00:00", + "2020-07-08T00:00:00", + "2020-07-09T00:00:00", + "2020-07-10T00:00:00", + "2020-07-13T00:00:00", + "2020-07-14T00:00:00", + "2020-07-15T00:00:00", + "2020-07-16T00:00:00", + "2020-07-17T00:00:00", + "2020-07-20T00:00:00", + "2020-07-21T00:00:00", + "2020-07-22T00:00:00", + "2020-07-23T00:00:00", + "2020-07-24T00:00:00", + "2020-07-27T00:00:00", + "2020-07-28T00:00:00", + "2020-07-29T00:00:00", + "2020-07-30T00:00:00", + "2020-07-31T00:00:00", + "2020-08-03T00:00:00", + "2020-08-04T00:00:00", + "2020-08-05T00:00:00", + "2020-08-06T00:00:00", + "2020-08-07T00:00:00", + "2020-08-10T00:00:00", + "2020-08-11T00:00:00", + "2020-08-12T00:00:00", + "2020-08-13T00:00:00", + "2020-08-14T00:00:00", + "2020-08-17T00:00:00", + "2020-08-18T00:00:00", + "2020-08-19T00:00:00", + "2020-08-20T00:00:00", + "2020-08-21T00:00:00", + "2020-08-24T00:00:00", + "2020-08-25T00:00:00", + "2020-08-26T00:00:00", + "2020-08-27T00:00:00", + "2020-08-28T00:00:00", + "2020-08-31T00:00:00", + "2020-09-01T00:00:00", + "2020-09-02T00:00:00", + "2020-09-03T00:00:00", + "2020-09-04T00:00:00", + "2020-09-08T00:00:00", + "2020-09-09T00:00:00", + "2020-09-10T00:00:00", + "2020-09-11T00:00:00", + "2020-09-14T00:00:00", + "2020-09-15T00:00:00", + "2020-09-16T00:00:00", + "2020-09-17T00:00:00", + "2020-09-18T00:00:00", + "2020-09-21T00:00:00", + "2020-09-22T00:00:00", + "2020-09-23T00:00:00", + "2020-09-24T00:00:00", + "2020-09-25T00:00:00", + "2020-09-28T00:00:00", + "2020-09-29T00:00:00", + "2020-09-30T00:00:00", + "2020-10-01T00:00:00", + "2020-10-02T00:00:00", + "2020-10-05T00:00:00", + "2020-10-06T00:00:00", + "2020-10-07T00:00:00", + "2020-10-08T00:00:00", + "2020-10-09T00:00:00", + "2020-10-12T00:00:00", + "2020-10-13T00:00:00", + "2020-10-14T00:00:00", + "2020-10-15T00:00:00", + "2020-10-16T00:00:00", + "2020-10-19T00:00:00", + "2020-10-20T00:00:00", + "2020-10-21T00:00:00", + "2020-10-22T00:00:00", + "2020-10-23T00:00:00", + "2020-10-26T00:00:00", + "2020-10-27T00:00:00", + "2020-10-28T00:00:00", + "2020-10-29T00:00:00", + "2020-10-30T00:00:00", + "2020-11-02T00:00:00", + "2020-11-03T00:00:00", + "2020-11-04T00:00:00", + "2020-11-05T00:00:00", + "2020-11-06T00:00:00", + "2020-11-09T00:00:00", + "2020-11-10T00:00:00", + "2020-11-11T00:00:00", + "2020-11-12T00:00:00", + "2020-11-13T00:00:00", + "2020-11-16T00:00:00", + "2020-11-17T00:00:00", + "2020-11-18T00:00:00", + "2020-11-19T00:00:00", + "2020-11-20T00:00:00", + "2020-11-23T00:00:00", + "2020-11-24T00:00:00", + "2020-11-25T00:00:00", + "2020-11-27T00:00:00", + "2020-11-30T00:00:00", + "2020-12-01T00:00:00", + "2020-12-02T00:00:00", + "2020-12-03T00:00:00", + "2020-12-04T00:00:00", + "2020-12-07T00:00:00", + "2020-12-08T00:00:00", + "2020-12-09T00:00:00", + "2020-12-10T00:00:00", + "2020-12-11T00:00:00", + "2020-12-14T00:00:00", + "2020-12-15T00:00:00", + "2020-12-16T00:00:00", + "2020-12-17T00:00:00", + "2020-12-18T00:00:00", + "2020-12-21T00:00:00", + "2020-12-22T00:00:00", + "2020-12-23T00:00:00", + "2020-12-24T00:00:00", + "2020-12-28T00:00:00", + "2020-12-29T00:00:00", + "2020-12-30T00:00:00", + "2020-12-31T00:00:00", + "2021-01-04T00:00:00", + "2021-01-05T00:00:00", + "2021-01-06T00:00:00", + "2021-01-07T00:00:00", + "2021-01-08T00:00:00", + "2021-01-11T00:00:00", + "2021-01-12T00:00:00", + "2021-01-13T00:00:00", + "2021-01-14T00:00:00", + "2021-01-15T00:00:00", + "2021-01-19T00:00:00", + "2021-01-20T00:00:00", + "2021-01-21T00:00:00", + "2021-01-22T00:00:00", + "2021-01-25T00:00:00", + "2021-01-26T00:00:00", + "2021-01-27T00:00:00", + "2021-01-28T00:00:00", + "2021-01-29T00:00:00", + "2021-02-01T00:00:00", + "2021-02-02T00:00:00", + "2021-02-03T00:00:00", + "2021-02-04T00:00:00", + "2021-02-05T00:00:00", + "2021-02-08T00:00:00", + "2021-02-09T00:00:00", + "2021-02-10T00:00:00", + "2021-02-11T00:00:00", + "2021-02-12T00:00:00", + "2021-02-16T00:00:00", + "2021-02-17T00:00:00", + "2021-02-18T00:00:00", + "2021-02-19T00:00:00", + "2021-02-22T00:00:00", + "2021-02-23T00:00:00", + "2021-02-24T00:00:00", + "2021-02-25T00:00:00", + "2021-02-26T00:00:00", + "2021-03-01T00:00:00", + "2021-03-02T00:00:00", + "2021-03-03T00:00:00", + "2021-03-04T00:00:00", + "2021-03-05T00:00:00", + "2021-03-08T00:00:00", + "2021-03-09T00:00:00", + "2021-03-10T00:00:00", + "2021-03-11T00:00:00", + "2021-03-12T00:00:00", + "2021-03-15T00:00:00", + "2021-03-16T00:00:00", + "2021-03-17T00:00:00", + "2021-03-18T00:00:00", + "2021-03-19T00:00:00", + "2021-03-22T00:00:00", + "2021-03-23T00:00:00", + "2021-03-24T00:00:00", + "2021-03-25T00:00:00", + "2021-03-26T00:00:00", + "2021-03-29T00:00:00", + "2021-03-30T00:00:00", + "2021-03-31T00:00:00", + "2021-04-01T00:00:00", + "2021-04-05T00:00:00", + "2021-04-06T00:00:00", + "2021-04-07T00:00:00", + "2021-04-08T00:00:00", + "2021-04-09T00:00:00", + "2021-04-12T00:00:00", + "2021-04-13T00:00:00", + "2021-04-14T00:00:00", + "2021-04-15T00:00:00", + "2021-04-16T00:00:00", + "2021-04-19T00:00:00", + "2021-04-20T00:00:00", + "2021-04-21T00:00:00", + "2021-04-22T00:00:00", + "2021-04-23T00:00:00", + "2021-04-26T00:00:00", + "2021-04-27T00:00:00", + "2021-04-28T00:00:00", + "2021-04-29T00:00:00", + "2021-04-30T00:00:00", + "2021-05-03T00:00:00", + "2021-05-04T00:00:00", + "2021-05-05T00:00:00", + "2021-05-06T00:00:00", + "2021-05-07T00:00:00", + "2021-05-10T00:00:00", + "2021-05-11T00:00:00", + "2021-05-12T00:00:00", + "2021-05-13T00:00:00", + "2021-05-14T00:00:00", + "2021-05-17T00:00:00", + "2021-05-18T00:00:00", + "2021-05-19T00:00:00", + "2021-05-20T00:00:00", + "2021-05-21T00:00:00", + "2021-05-24T00:00:00", + "2021-05-25T00:00:00", + "2021-05-26T00:00:00", + "2021-05-27T00:00:00", + "2021-05-28T00:00:00", + "2021-06-01T00:00:00", + "2021-06-02T00:00:00", + "2021-06-03T00:00:00", + "2021-06-04T00:00:00", + "2021-06-07T00:00:00", + "2021-06-08T00:00:00", + "2021-06-09T00:00:00", + "2021-06-10T00:00:00", + "2021-06-11T00:00:00", + "2021-06-14T00:00:00", + "2021-06-15T00:00:00", + "2021-06-16T00:00:00", + "2021-06-17T00:00:00", + "2021-06-18T00:00:00", + "2021-06-21T00:00:00", + "2021-06-22T00:00:00", + "2021-06-23T00:00:00", + "2021-06-24T00:00:00", + "2021-06-25T00:00:00", + "2021-06-28T00:00:00", + "2021-06-29T00:00:00", + "2021-06-30T00:00:00", + "2021-07-01T00:00:00", + "2021-07-02T00:00:00", + "2021-07-06T00:00:00", + "2021-07-07T00:00:00", + "2021-07-08T00:00:00", + "2021-07-09T00:00:00", + "2021-07-12T00:00:00", + "2021-07-13T00:00:00", + "2021-07-14T00:00:00", + "2021-07-15T00:00:00", + "2021-07-16T00:00:00", + "2021-07-19T00:00:00", + "2021-07-20T00:00:00", + "2021-07-21T00:00:00", + "2021-07-22T00:00:00", + "2021-07-23T00:00:00", + "2021-07-26T00:00:00", + "2021-07-27T00:00:00", + "2021-07-28T00:00:00", + "2021-07-29T00:00:00", + "2021-07-30T00:00:00", + "2021-08-02T00:00:00", + "2021-08-03T00:00:00", + "2021-08-04T00:00:00", + "2021-08-05T00:00:00", + "2021-08-06T00:00:00", + "2021-08-09T00:00:00", + "2021-08-10T00:00:00", + "2021-08-11T00:00:00", + "2021-08-12T00:00:00", + "2021-08-13T00:00:00", + "2021-08-16T00:00:00", + "2021-08-17T00:00:00", + "2021-08-18T00:00:00", + "2021-08-19T00:00:00", + "2021-08-20T00:00:00", + "2021-08-23T00:00:00", + "2021-08-24T00:00:00", + "2021-08-25T00:00:00", + "2021-08-26T00:00:00", + "2021-08-27T00:00:00", + "2021-08-30T00:00:00", + "2021-08-31T00:00:00", + "2021-09-01T00:00:00", + "2021-09-02T00:00:00", + "2021-09-03T00:00:00", + "2021-09-07T00:00:00", + "2021-09-08T00:00:00", + "2021-09-09T00:00:00", + "2021-09-10T00:00:00", + "2021-09-13T00:00:00", + "2021-09-14T00:00:00", + "2021-09-15T00:00:00", + "2021-09-16T00:00:00", + "2021-09-17T00:00:00", + "2021-09-20T00:00:00", + "2021-09-21T00:00:00", + "2021-09-22T00:00:00", + "2021-09-23T00:00:00", + "2021-09-24T00:00:00", + "2021-09-27T00:00:00", + "2021-09-28T00:00:00", + "2021-09-29T00:00:00", + "2021-09-30T00:00:00", + "2021-10-01T00:00:00", + "2021-10-04T00:00:00", + "2021-10-05T00:00:00", + "2021-10-06T00:00:00", + "2021-10-07T00:00:00", + "2021-10-08T00:00:00", + "2021-10-11T00:00:00", + "2021-10-12T00:00:00", + "2021-10-13T00:00:00", + "2021-10-14T00:00:00", + "2021-10-15T00:00:00", + "2021-10-18T00:00:00", + "2021-10-19T00:00:00", + "2021-10-20T00:00:00", + "2021-10-21T00:00:00", + "2021-10-22T00:00:00", + "2021-10-25T00:00:00", + "2021-10-26T00:00:00", + "2021-10-27T00:00:00", + "2021-10-28T00:00:00", + "2021-10-29T00:00:00", + "2021-11-01T00:00:00", + "2021-11-02T00:00:00", + "2021-11-03T00:00:00", + "2021-11-04T00:00:00", + "2021-11-05T00:00:00", + "2021-11-08T00:00:00", + "2021-11-09T00:00:00", + "2021-11-10T00:00:00", + "2021-11-11T00:00:00", + "2021-11-12T00:00:00", + "2021-11-15T00:00:00", + "2021-11-16T00:00:00", + "2021-11-17T00:00:00", + "2021-11-18T00:00:00", + "2021-11-19T00:00:00", + "2021-11-22T00:00:00", + "2021-11-23T00:00:00", + "2021-11-24T00:00:00", + "2021-11-26T00:00:00", + "2021-11-29T00:00:00", + "2021-11-30T00:00:00", + "2021-12-01T00:00:00", + "2021-12-02T00:00:00", + "2021-12-03T00:00:00", + "2021-12-06T00:00:00", + "2021-12-07T00:00:00", + "2021-12-08T00:00:00", + "2021-12-09T00:00:00", + "2021-12-10T00:00:00", + "2021-12-13T00:00:00", + "2021-12-14T00:00:00", + "2021-12-15T00:00:00", + "2021-12-16T00:00:00", + "2021-12-17T00:00:00", + "2021-12-20T00:00:00", + "2021-12-21T00:00:00", + "2021-12-22T00:00:00", + "2021-12-23T00:00:00", + "2021-12-27T00:00:00", + "2021-12-28T00:00:00", + "2021-12-29T00:00:00", + "2021-12-30T00:00:00", + "2021-12-31T00:00:00", + "2022-01-03T00:00:00", + "2022-01-04T00:00:00", + "2022-01-05T00:00:00", + "2022-01-06T00:00:00", + "2022-01-07T00:00:00", + "2022-01-10T00:00:00", + "2022-01-11T00:00:00", + "2022-01-12T00:00:00", + "2022-01-13T00:00:00", + "2022-01-14T00:00:00", + "2022-01-18T00:00:00", + "2022-01-19T00:00:00", + "2022-01-20T00:00:00", + "2022-01-21T00:00:00", + "2022-01-24T00:00:00", + "2022-01-25T00:00:00", + "2022-01-26T00:00:00", + "2022-01-27T00:00:00", + "2022-01-28T00:00:00", + "2022-01-31T00:00:00", + "2022-02-01T00:00:00", + "2022-02-02T00:00:00", + "2022-02-03T00:00:00", + "2022-02-04T00:00:00", + "2022-02-07T00:00:00", + "2022-02-08T00:00:00", + "2022-02-09T00:00:00", + "2022-02-10T00:00:00", + "2022-02-11T00:00:00", + "2022-02-14T00:00:00", + "2022-02-15T00:00:00", + "2022-02-16T00:00:00", + "2022-02-17T00:00:00", + "2022-02-18T00:00:00", + "2022-02-22T00:00:00", + "2022-02-23T00:00:00", + "2022-02-24T00:00:00", + "2022-02-25T00:00:00", + "2022-02-28T00:00:00", + "2022-03-01T00:00:00", + "2022-03-02T00:00:00", + "2022-03-03T00:00:00", + "2022-03-04T00:00:00", + "2022-03-07T00:00:00", + "2022-03-08T00:00:00", + "2022-03-09T00:00:00", + "2022-03-10T00:00:00", + "2022-03-11T00:00:00", + "2022-03-14T00:00:00", + "2022-03-15T00:00:00", + "2022-03-16T00:00:00", + "2022-03-17T00:00:00", + "2022-03-18T00:00:00", + "2022-03-21T00:00:00", + "2022-03-22T00:00:00", + "2022-03-23T00:00:00", + "2022-03-24T00:00:00", + "2022-03-25T00:00:00", + "2022-03-28T00:00:00", + "2022-03-29T00:00:00", + "2022-03-30T00:00:00", + "2022-03-31T00:00:00", + "2022-04-01T00:00:00", + "2022-04-04T00:00:00", + "2022-04-05T00:00:00", + "2022-04-06T00:00:00", + "2022-04-07T00:00:00", + "2022-04-08T00:00:00", + "2022-04-11T00:00:00", + "2022-04-12T00:00:00", + "2022-04-13T00:00:00", + "2022-04-14T00:00:00", + "2022-04-18T00:00:00", + "2022-04-19T00:00:00", + "2022-04-20T00:00:00", + "2022-04-21T00:00:00", + "2022-04-22T00:00:00", + "2022-04-25T00:00:00", + "2022-04-26T00:00:00", + "2022-04-27T00:00:00", + "2022-04-28T00:00:00", + "2022-04-29T00:00:00", + "2022-05-02T00:00:00", + "2022-05-03T00:00:00", + "2022-05-04T00:00:00", + "2022-05-05T00:00:00", + "2022-05-06T00:00:00", + "2022-05-09T00:00:00", + "2022-05-10T00:00:00", + "2022-05-11T00:00:00", + "2022-05-12T00:00:00", + "2022-05-13T00:00:00", + "2022-05-16T00:00:00", + "2022-05-17T00:00:00", + "2022-05-18T00:00:00", + "2022-05-19T00:00:00", + "2022-05-20T00:00:00", + "2022-05-23T00:00:00", + "2022-05-24T00:00:00", + "2022-05-25T00:00:00", + "2022-05-26T00:00:00", + "2022-05-27T00:00:00", + "2022-05-31T00:00:00", + "2022-06-01T00:00:00", + "2022-06-02T00:00:00", + "2022-06-03T00:00:00", + "2022-06-06T00:00:00", + "2022-06-07T00:00:00", + "2022-06-08T00:00:00", + "2022-06-09T00:00:00", + "2022-06-10T00:00:00", + "2022-06-13T00:00:00", + "2022-06-14T00:00:00", + "2022-06-15T00:00:00", + "2022-06-16T00:00:00", + "2022-06-17T00:00:00", + "2022-06-21T00:00:00", + "2022-06-22T00:00:00", + "2022-06-23T00:00:00", + "2022-06-24T00:00:00", + "2022-06-27T00:00:00", + "2022-06-28T00:00:00", + "2022-06-29T00:00:00", + "2022-06-30T00:00:00", + "2022-07-01T00:00:00", + "2022-07-05T00:00:00", + "2022-07-06T00:00:00", + "2022-07-07T00:00:00", + "2022-07-08T00:00:00", + "2022-07-11T00:00:00", + "2022-07-12T00:00:00", + "2022-07-13T00:00:00", + "2022-07-14T00:00:00", + "2022-07-15T00:00:00", + "2022-07-18T00:00:00", + "2022-07-19T00:00:00", + "2022-07-20T00:00:00", + "2022-07-21T00:00:00", + "2022-07-22T00:00:00", + "2022-07-25T00:00:00", + "2022-07-26T00:00:00", + "2022-07-27T00:00:00", + "2022-07-28T00:00:00", + "2022-07-29T00:00:00", + "2022-08-01T00:00:00", + "2022-08-02T00:00:00", + "2022-08-03T00:00:00", + "2022-08-04T00:00:00", + "2022-08-05T00:00:00", + "2022-08-08T00:00:00", + "2022-08-09T00:00:00", + "2022-08-10T00:00:00", + "2022-08-11T00:00:00", + "2022-08-12T00:00:00", + "2022-08-15T00:00:00", + "2022-08-16T00:00:00", + "2022-08-17T00:00:00", + "2022-08-18T00:00:00", + "2022-08-19T00:00:00", + "2022-08-22T00:00:00", + "2022-08-23T00:00:00", + "2022-08-24T00:00:00", + "2022-08-25T00:00:00", + "2022-08-26T00:00:00", + "2022-08-29T00:00:00", + "2022-08-30T00:00:00", + "2022-08-31T00:00:00", + "2022-09-01T00:00:00", + "2022-09-02T00:00:00", + "2022-09-06T00:00:00", + "2022-09-07T00:00:00", + "2022-09-08T00:00:00", + "2022-09-09T00:00:00", + "2022-09-12T00:00:00", + "2022-09-13T00:00:00", + "2022-09-14T00:00:00", + "2022-09-15T00:00:00", + "2022-09-16T00:00:00", + "2022-09-19T00:00:00", + "2022-09-20T00:00:00", + "2022-09-21T00:00:00", + "2022-09-22T00:00:00", + "2022-09-23T00:00:00", + "2022-09-26T00:00:00", + "2022-09-27T00:00:00", + "2022-09-28T00:00:00", + "2022-09-29T00:00:00", + "2022-09-30T00:00:00", + "2022-10-03T00:00:00", + "2022-10-04T00:00:00", + "2022-10-05T00:00:00", + "2022-10-06T00:00:00", + "2022-10-07T00:00:00", + "2022-10-10T00:00:00", + "2022-10-11T00:00:00", + "2022-10-12T00:00:00", + "2022-10-13T00:00:00", + "2022-10-14T00:00:00", + "2022-10-17T00:00:00", + "2022-10-18T00:00:00", + "2022-10-19T00:00:00", + "2022-10-20T00:00:00", + "2022-10-21T00:00:00", + "2022-10-24T00:00:00", + "2022-10-25T00:00:00", + "2022-10-26T00:00:00", + "2022-10-27T00:00:00", + "2022-10-28T00:00:00", + "2022-10-31T00:00:00", + "2022-11-01T00:00:00", + "2022-11-02T00:00:00", + "2022-11-03T00:00:00", + "2022-11-04T00:00:00", + "2022-11-07T00:00:00", + "2022-11-08T00:00:00", + "2022-11-09T00:00:00", + "2022-11-10T00:00:00", + "2022-11-11T00:00:00", + "2022-11-14T00:00:00", + "2022-11-15T00:00:00", + "2022-11-16T00:00:00", + "2022-11-17T00:00:00", + "2022-11-18T00:00:00", + "2022-11-21T00:00:00", + "2022-11-22T00:00:00", + "2022-11-23T00:00:00", + "2022-11-25T00:00:00", + "2022-11-28T00:00:00", + "2022-11-29T00:00:00", + "2022-11-30T00:00:00", + "2022-12-01T00:00:00", + "2022-12-02T00:00:00", + "2022-12-05T00:00:00", + "2022-12-06T00:00:00", + "2022-12-07T00:00:00", + "2022-12-08T00:00:00", + "2022-12-09T00:00:00", + "2022-12-12T00:00:00", + "2022-12-13T00:00:00", + "2022-12-14T00:00:00", + "2022-12-15T00:00:00", + "2022-12-16T00:00:00", + "2022-12-19T00:00:00", + "2022-12-20T00:00:00", + "2022-12-21T00:00:00", + "2022-12-22T00:00:00", + "2022-12-23T00:00:00", + "2022-12-27T00:00:00", + "2022-12-28T00:00:00", + "2022-12-29T00:00:00", + "2022-12-30T00:00:00", + "2023-01-03T00:00:00", + "2023-01-04T00:00:00", + "2023-01-05T00:00:00", + "2023-01-06T00:00:00", + "2023-01-09T00:00:00", + "2023-01-10T00:00:00", + "2023-01-11T00:00:00", + "2023-01-12T00:00:00", + "2023-01-13T00:00:00", + "2023-01-17T00:00:00", + "2023-01-18T00:00:00", + "2023-01-19T00:00:00", + "2023-01-20T00:00:00", + "2023-01-23T00:00:00", + "2023-01-24T00:00:00", + "2023-01-25T00:00:00", + "2023-01-26T00:00:00", + "2023-01-27T00:00:00", + "2023-01-30T00:00:00", + "2023-01-31T00:00:00", + "2023-02-01T00:00:00", + "2023-02-02T00:00:00", + "2023-02-03T00:00:00", + "2023-02-06T00:00:00", + "2023-02-07T00:00:00", + "2023-02-08T00:00:00", + "2023-02-09T00:00:00", + "2023-02-10T00:00:00", + "2023-02-13T00:00:00", + "2023-02-14T00:00:00", + "2023-02-15T00:00:00", + "2023-02-16T00:00:00", + "2023-02-17T00:00:00", + "2023-02-21T00:00:00", + "2023-02-22T00:00:00", + "2023-02-23T00:00:00", + "2023-02-24T00:00:00", + "2023-02-27T00:00:00", + "2023-02-28T00:00:00", + "2023-03-01T00:00:00", + "2023-03-02T00:00:00", + "2023-03-03T00:00:00", + "2023-03-06T00:00:00", + "2023-03-07T00:00:00", + "2023-03-08T00:00:00", + "2023-03-09T00:00:00", + "2023-03-10T00:00:00", + "2023-03-13T00:00:00", + "2023-03-14T00:00:00", + "2023-03-15T00:00:00", + "2023-03-16T00:00:00", + "2023-03-17T00:00:00", + "2023-03-20T00:00:00", + "2023-03-21T00:00:00", + "2023-03-22T00:00:00", + "2023-03-23T00:00:00", + "2023-03-24T00:00:00", + "2023-03-27T00:00:00", + "2023-03-28T00:00:00", + "2023-03-29T00:00:00", + "2023-03-30T00:00:00", + "2023-03-31T00:00:00", + "2023-04-03T00:00:00", + "2023-04-04T00:00:00", + "2023-04-05T00:00:00", + "2023-04-06T00:00:00", + "2023-04-10T00:00:00", + "2023-04-11T00:00:00", + "2023-04-12T00:00:00", + "2023-04-13T00:00:00", + "2023-04-14T00:00:00", + "2023-04-17T00:00:00", + "2023-04-18T00:00:00", + "2023-04-19T00:00:00", + "2023-04-20T00:00:00", + "2023-04-21T00:00:00", + "2023-04-24T00:00:00", + "2023-04-25T00:00:00", + "2023-04-26T00:00:00", + "2023-04-27T00:00:00", + "2023-04-28T00:00:00" + ], + "xaxis": "x", + "yaxis": "y2", + "hoverlabel": { + "namelength": 15 + } + }, + { + "marker": { + "color": [ + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#e4003a", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#e4003a", + "#00ACFF", + "#00ACFF" + ], + "line": { + "width": 0.15 + } + }, + "name": "Volume ", + "opacity": 0.7, + "type": "bar", + "x": [ + "2020-04-24T00:00:00", + "2020-04-27T00:00:00", + "2020-04-28T00:00:00", + "2020-04-29T00:00:00", + "2020-04-30T00:00:00", + "2020-05-01T00:00:00", + "2020-05-04T00:00:00", + "2020-05-05T00:00:00", + "2020-05-06T00:00:00", + "2020-05-07T00:00:00", + "2020-05-08T00:00:00", + "2020-05-11T00:00:00", + "2020-05-12T00:00:00", + "2020-05-13T00:00:00", + "2020-05-14T00:00:00", + "2020-05-15T00:00:00", + "2020-05-18T00:00:00", + "2020-05-19T00:00:00", + "2020-05-20T00:00:00", + "2020-05-21T00:00:00", + "2020-05-22T00:00:00", + "2020-05-26T00:00:00", + "2020-05-27T00:00:00", + "2020-05-28T00:00:00", + "2020-05-29T00:00:00", + "2020-06-01T00:00:00", + "2020-06-02T00:00:00", + "2020-06-03T00:00:00", + "2020-06-04T00:00:00", + "2020-06-05T00:00:00", + "2020-06-08T00:00:00", + "2020-06-09T00:00:00", + "2020-06-10T00:00:00", + "2020-06-11T00:00:00", + "2020-06-12T00:00:00", + "2020-06-15T00:00:00", + "2020-06-16T00:00:00", + "2020-06-17T00:00:00", + "2020-06-18T00:00:00", + "2020-06-19T00:00:00", + "2020-06-22T00:00:00", + "2020-06-23T00:00:00", + "2020-06-24T00:00:00", + "2020-06-25T00:00:00", + "2020-06-26T00:00:00", + "2020-06-29T00:00:00", + "2020-06-30T00:00:00", + "2020-07-01T00:00:00", + "2020-07-02T00:00:00", + "2020-07-06T00:00:00", + "2020-07-07T00:00:00", + "2020-07-08T00:00:00", + "2020-07-09T00:00:00", + "2020-07-10T00:00:00", + "2020-07-13T00:00:00", + "2020-07-14T00:00:00", + "2020-07-15T00:00:00", + "2020-07-16T00:00:00", + "2020-07-17T00:00:00", + "2020-07-20T00:00:00", + "2020-07-21T00:00:00", + "2020-07-22T00:00:00", + "2020-07-23T00:00:00", + "2020-07-24T00:00:00", + "2020-07-27T00:00:00", + "2020-07-28T00:00:00", + "2020-07-29T00:00:00", + "2020-07-30T00:00:00", + "2020-07-31T00:00:00", + "2020-08-03T00:00:00", + "2020-08-04T00:00:00", + "2020-08-05T00:00:00", + "2020-08-06T00:00:00", + "2020-08-07T00:00:00", + "2020-08-10T00:00:00", + "2020-08-11T00:00:00", + "2020-08-12T00:00:00", + "2020-08-13T00:00:00", + "2020-08-14T00:00:00", + "2020-08-17T00:00:00", + "2020-08-18T00:00:00", + "2020-08-19T00:00:00", + "2020-08-20T00:00:00", + "2020-08-21T00:00:00", + "2020-08-24T00:00:00", + "2020-08-25T00:00:00", + "2020-08-26T00:00:00", + "2020-08-27T00:00:00", + "2020-08-28T00:00:00", + "2020-08-31T00:00:00", + "2020-09-01T00:00:00", + "2020-09-02T00:00:00", + "2020-09-03T00:00:00", + "2020-09-04T00:00:00", + "2020-09-08T00:00:00", + "2020-09-09T00:00:00", + "2020-09-10T00:00:00", + "2020-09-11T00:00:00", + "2020-09-14T00:00:00", + "2020-09-15T00:00:00", + "2020-09-16T00:00:00", + "2020-09-17T00:00:00", + "2020-09-18T00:00:00", + "2020-09-21T00:00:00", + "2020-09-22T00:00:00", + "2020-09-23T00:00:00", + "2020-09-24T00:00:00", + "2020-09-25T00:00:00", + "2020-09-28T00:00:00", + "2020-09-29T00:00:00", + "2020-09-30T00:00:00", + "2020-10-01T00:00:00", + "2020-10-02T00:00:00", + "2020-10-05T00:00:00", + "2020-10-06T00:00:00", + "2020-10-07T00:00:00", + "2020-10-08T00:00:00", + "2020-10-09T00:00:00", + "2020-10-12T00:00:00", + "2020-10-13T00:00:00", + "2020-10-14T00:00:00", + "2020-10-15T00:00:00", + "2020-10-16T00:00:00", + "2020-10-19T00:00:00", + "2020-10-20T00:00:00", + "2020-10-21T00:00:00", + "2020-10-22T00:00:00", + "2020-10-23T00:00:00", + "2020-10-26T00:00:00", + "2020-10-27T00:00:00", + "2020-10-28T00:00:00", + "2020-10-29T00:00:00", + "2020-10-30T00:00:00", + "2020-11-02T00:00:00", + "2020-11-03T00:00:00", + "2020-11-04T00:00:00", + "2020-11-05T00:00:00", + "2020-11-06T00:00:00", + "2020-11-09T00:00:00", + "2020-11-10T00:00:00", + "2020-11-11T00:00:00", + "2020-11-12T00:00:00", + "2020-11-13T00:00:00", + "2020-11-16T00:00:00", + "2020-11-17T00:00:00", + "2020-11-18T00:00:00", + "2020-11-19T00:00:00", + "2020-11-20T00:00:00", + "2020-11-23T00:00:00", + "2020-11-24T00:00:00", + "2020-11-25T00:00:00", + "2020-11-27T00:00:00", + "2020-11-30T00:00:00", + "2020-12-01T00:00:00", + "2020-12-02T00:00:00", + "2020-12-03T00:00:00", + "2020-12-04T00:00:00", + "2020-12-07T00:00:00", + "2020-12-08T00:00:00", + "2020-12-09T00:00:00", + "2020-12-10T00:00:00", + "2020-12-11T00:00:00", + "2020-12-14T00:00:00", + "2020-12-15T00:00:00", + "2020-12-16T00:00:00", + "2020-12-17T00:00:00", + "2020-12-18T00:00:00", + "2020-12-21T00:00:00", + "2020-12-22T00:00:00", + "2020-12-23T00:00:00", + "2020-12-24T00:00:00", + "2020-12-28T00:00:00", + "2020-12-29T00:00:00", + "2020-12-30T00:00:00", + "2020-12-31T00:00:00", + "2021-01-04T00:00:00", + "2021-01-05T00:00:00", + "2021-01-06T00:00:00", + "2021-01-07T00:00:00", + "2021-01-08T00:00:00", + "2021-01-11T00:00:00", + "2021-01-12T00:00:00", + "2021-01-13T00:00:00", + "2021-01-14T00:00:00", + "2021-01-15T00:00:00", + "2021-01-19T00:00:00", + "2021-01-20T00:00:00", + "2021-01-21T00:00:00", + "2021-01-22T00:00:00", + "2021-01-25T00:00:00", + "2021-01-26T00:00:00", + "2021-01-27T00:00:00", + "2021-01-28T00:00:00", + "2021-01-29T00:00:00", + "2021-02-01T00:00:00", + "2021-02-02T00:00:00", + "2021-02-03T00:00:00", + "2021-02-04T00:00:00", + "2021-02-05T00:00:00", + "2021-02-08T00:00:00", + "2021-02-09T00:00:00", + "2021-02-10T00:00:00", + "2021-02-11T00:00:00", + "2021-02-12T00:00:00", + "2021-02-16T00:00:00", + "2021-02-17T00:00:00", + "2021-02-18T00:00:00", + "2021-02-19T00:00:00", + "2021-02-22T00:00:00", + "2021-02-23T00:00:00", + "2021-02-24T00:00:00", + "2021-02-25T00:00:00", + "2021-02-26T00:00:00", + "2021-03-01T00:00:00", + "2021-03-02T00:00:00", + "2021-03-03T00:00:00", + "2021-03-04T00:00:00", + "2021-03-05T00:00:00", + "2021-03-08T00:00:00", + "2021-03-09T00:00:00", + "2021-03-10T00:00:00", + "2021-03-11T00:00:00", + "2021-03-12T00:00:00", + "2021-03-15T00:00:00", + "2021-03-16T00:00:00", + "2021-03-17T00:00:00", + "2021-03-18T00:00:00", + "2021-03-19T00:00:00", + "2021-03-22T00:00:00", + "2021-03-23T00:00:00", + "2021-03-24T00:00:00", + "2021-03-25T00:00:00", + "2021-03-26T00:00:00", + "2021-03-29T00:00:00", + "2021-03-30T00:00:00", + "2021-03-31T00:00:00", + "2021-04-01T00:00:00", + "2021-04-05T00:00:00", + "2021-04-06T00:00:00", + "2021-04-07T00:00:00", + "2021-04-08T00:00:00", + "2021-04-09T00:00:00", + "2021-04-12T00:00:00", + "2021-04-13T00:00:00", + "2021-04-14T00:00:00", + "2021-04-15T00:00:00", + "2021-04-16T00:00:00", + "2021-04-19T00:00:00", + "2021-04-20T00:00:00", + "2021-04-21T00:00:00", + "2021-04-22T00:00:00", + "2021-04-23T00:00:00", + "2021-04-26T00:00:00", + "2021-04-27T00:00:00", + "2021-04-28T00:00:00", + "2021-04-29T00:00:00", + "2021-04-30T00:00:00", + "2021-05-03T00:00:00", + "2021-05-04T00:00:00", + "2021-05-05T00:00:00", + "2021-05-06T00:00:00", + "2021-05-07T00:00:00", + "2021-05-10T00:00:00", + "2021-05-11T00:00:00", + "2021-05-12T00:00:00", + "2021-05-13T00:00:00", + "2021-05-14T00:00:00", + "2021-05-17T00:00:00", + "2021-05-18T00:00:00", + "2021-05-19T00:00:00", + "2021-05-20T00:00:00", + "2021-05-21T00:00:00", + "2021-05-24T00:00:00", + "2021-05-25T00:00:00", + "2021-05-26T00:00:00", + "2021-05-27T00:00:00", + "2021-05-28T00:00:00", + "2021-06-01T00:00:00", + "2021-06-02T00:00:00", + "2021-06-03T00:00:00", + "2021-06-04T00:00:00", + "2021-06-07T00:00:00", + "2021-06-08T00:00:00", + "2021-06-09T00:00:00", + "2021-06-10T00:00:00", + "2021-06-11T00:00:00", + "2021-06-14T00:00:00", + "2021-06-15T00:00:00", + "2021-06-16T00:00:00", + "2021-06-17T00:00:00", + "2021-06-18T00:00:00", + "2021-06-21T00:00:00", + "2021-06-22T00:00:00", + "2021-06-23T00:00:00", + "2021-06-24T00:00:00", + "2021-06-25T00:00:00", + "2021-06-28T00:00:00", + "2021-06-29T00:00:00", + "2021-06-30T00:00:00", + "2021-07-01T00:00:00", + "2021-07-02T00:00:00", + "2021-07-06T00:00:00", + "2021-07-07T00:00:00", + "2021-07-08T00:00:00", + "2021-07-09T00:00:00", + "2021-07-12T00:00:00", + "2021-07-13T00:00:00", + "2021-07-14T00:00:00", + "2021-07-15T00:00:00", + "2021-07-16T00:00:00", + "2021-07-19T00:00:00", + "2021-07-20T00:00:00", + "2021-07-21T00:00:00", + "2021-07-22T00:00:00", + "2021-07-23T00:00:00", + "2021-07-26T00:00:00", + "2021-07-27T00:00:00", + "2021-07-28T00:00:00", + "2021-07-29T00:00:00", + "2021-07-30T00:00:00", + "2021-08-02T00:00:00", + "2021-08-03T00:00:00", + "2021-08-04T00:00:00", + "2021-08-05T00:00:00", + "2021-08-06T00:00:00", + "2021-08-09T00:00:00", + "2021-08-10T00:00:00", + "2021-08-11T00:00:00", + "2021-08-12T00:00:00", + "2021-08-13T00:00:00", + "2021-08-16T00:00:00", + "2021-08-17T00:00:00", + "2021-08-18T00:00:00", + "2021-08-19T00:00:00", + "2021-08-20T00:00:00", + "2021-08-23T00:00:00", + "2021-08-24T00:00:00", + "2021-08-25T00:00:00", + "2021-08-26T00:00:00", + "2021-08-27T00:00:00", + "2021-08-30T00:00:00", + "2021-08-31T00:00:00", + "2021-09-01T00:00:00", + "2021-09-02T00:00:00", + "2021-09-03T00:00:00", + "2021-09-07T00:00:00", + "2021-09-08T00:00:00", + "2021-09-09T00:00:00", + "2021-09-10T00:00:00", + "2021-09-13T00:00:00", + "2021-09-14T00:00:00", + "2021-09-15T00:00:00", + "2021-09-16T00:00:00", + "2021-09-17T00:00:00", + "2021-09-20T00:00:00", + "2021-09-21T00:00:00", + "2021-09-22T00:00:00", + "2021-09-23T00:00:00", + "2021-09-24T00:00:00", + "2021-09-27T00:00:00", + "2021-09-28T00:00:00", + "2021-09-29T00:00:00", + "2021-09-30T00:00:00", + "2021-10-01T00:00:00", + "2021-10-04T00:00:00", + "2021-10-05T00:00:00", + "2021-10-06T00:00:00", + "2021-10-07T00:00:00", + "2021-10-08T00:00:00", + "2021-10-11T00:00:00", + "2021-10-12T00:00:00", + "2021-10-13T00:00:00", + "2021-10-14T00:00:00", + "2021-10-15T00:00:00", + "2021-10-18T00:00:00", + "2021-10-19T00:00:00", + "2021-10-20T00:00:00", + "2021-10-21T00:00:00", + "2021-10-22T00:00:00", + "2021-10-25T00:00:00", + "2021-10-26T00:00:00", + "2021-10-27T00:00:00", + "2021-10-28T00:00:00", + "2021-10-29T00:00:00", + "2021-11-01T00:00:00", + "2021-11-02T00:00:00", + "2021-11-03T00:00:00", + "2021-11-04T00:00:00", + "2021-11-05T00:00:00", + "2021-11-08T00:00:00", + "2021-11-09T00:00:00", + "2021-11-10T00:00:00", + "2021-11-11T00:00:00", + "2021-11-12T00:00:00", + "2021-11-15T00:00:00", + "2021-11-16T00:00:00", + "2021-11-17T00:00:00", + "2021-11-18T00:00:00", + "2021-11-19T00:00:00", + "2021-11-22T00:00:00", + "2021-11-23T00:00:00", + "2021-11-24T00:00:00", + "2021-11-26T00:00:00", + "2021-11-29T00:00:00", + "2021-11-30T00:00:00", + "2021-12-01T00:00:00", + "2021-12-02T00:00:00", + "2021-12-03T00:00:00", + "2021-12-06T00:00:00", + "2021-12-07T00:00:00", + "2021-12-08T00:00:00", + "2021-12-09T00:00:00", + "2021-12-10T00:00:00", + "2021-12-13T00:00:00", + "2021-12-14T00:00:00", + "2021-12-15T00:00:00", + "2021-12-16T00:00:00", + "2021-12-17T00:00:00", + "2021-12-20T00:00:00", + "2021-12-21T00:00:00", + "2021-12-22T00:00:00", + "2021-12-23T00:00:00", + "2021-12-27T00:00:00", + "2021-12-28T00:00:00", + "2021-12-29T00:00:00", + "2021-12-30T00:00:00", + "2021-12-31T00:00:00", + "2022-01-03T00:00:00", + "2022-01-04T00:00:00", + "2022-01-05T00:00:00", + "2022-01-06T00:00:00", + "2022-01-07T00:00:00", + "2022-01-10T00:00:00", + "2022-01-11T00:00:00", + "2022-01-12T00:00:00", + "2022-01-13T00:00:00", + "2022-01-14T00:00:00", + "2022-01-18T00:00:00", + "2022-01-19T00:00:00", + "2022-01-20T00:00:00", + "2022-01-21T00:00:00", + "2022-01-24T00:00:00", + "2022-01-25T00:00:00", + "2022-01-26T00:00:00", + "2022-01-27T00:00:00", + "2022-01-28T00:00:00", + "2022-01-31T00:00:00", + "2022-02-01T00:00:00", + "2022-02-02T00:00:00", + "2022-02-03T00:00:00", + "2022-02-04T00:00:00", + "2022-02-07T00:00:00", + "2022-02-08T00:00:00", + "2022-02-09T00:00:00", + "2022-02-10T00:00:00", + "2022-02-11T00:00:00", + "2022-02-14T00:00:00", + "2022-02-15T00:00:00", + "2022-02-16T00:00:00", + "2022-02-17T00:00:00", + "2022-02-18T00:00:00", + "2022-02-22T00:00:00", + "2022-02-23T00:00:00", + "2022-02-24T00:00:00", + "2022-02-25T00:00:00", + "2022-02-28T00:00:00", + "2022-03-01T00:00:00", + "2022-03-02T00:00:00", + "2022-03-03T00:00:00", + "2022-03-04T00:00:00", + "2022-03-07T00:00:00", + "2022-03-08T00:00:00", + "2022-03-09T00:00:00", + "2022-03-10T00:00:00", + "2022-03-11T00:00:00", + "2022-03-14T00:00:00", + "2022-03-15T00:00:00", + "2022-03-16T00:00:00", + "2022-03-17T00:00:00", + "2022-03-18T00:00:00", + "2022-03-21T00:00:00", + "2022-03-22T00:00:00", + "2022-03-23T00:00:00", + "2022-03-24T00:00:00", + "2022-03-25T00:00:00", + "2022-03-28T00:00:00", + "2022-03-29T00:00:00", + "2022-03-30T00:00:00", + "2022-03-31T00:00:00", + "2022-04-01T00:00:00", + "2022-04-04T00:00:00", + "2022-04-05T00:00:00", + "2022-04-06T00:00:00", + "2022-04-07T00:00:00", + "2022-04-08T00:00:00", + "2022-04-11T00:00:00", + "2022-04-12T00:00:00", + "2022-04-13T00:00:00", + "2022-04-14T00:00:00", + "2022-04-18T00:00:00", + "2022-04-19T00:00:00", + "2022-04-20T00:00:00", + "2022-04-21T00:00:00", + "2022-04-22T00:00:00", + "2022-04-25T00:00:00", + "2022-04-26T00:00:00", + "2022-04-27T00:00:00", + "2022-04-28T00:00:00", + "2022-04-29T00:00:00", + "2022-05-02T00:00:00", + "2022-05-03T00:00:00", + "2022-05-04T00:00:00", + "2022-05-05T00:00:00", + "2022-05-06T00:00:00", + "2022-05-09T00:00:00", + "2022-05-10T00:00:00", + "2022-05-11T00:00:00", + "2022-05-12T00:00:00", + "2022-05-13T00:00:00", + "2022-05-16T00:00:00", + "2022-05-17T00:00:00", + "2022-05-18T00:00:00", + "2022-05-19T00:00:00", + "2022-05-20T00:00:00", + "2022-05-23T00:00:00", + "2022-05-24T00:00:00", + "2022-05-25T00:00:00", + "2022-05-26T00:00:00", + "2022-05-27T00:00:00", + "2022-05-31T00:00:00", + "2022-06-01T00:00:00", + "2022-06-02T00:00:00", + "2022-06-03T00:00:00", + "2022-06-06T00:00:00", + "2022-06-07T00:00:00", + "2022-06-08T00:00:00", + "2022-06-09T00:00:00", + "2022-06-10T00:00:00", + "2022-06-13T00:00:00", + "2022-06-14T00:00:00", + "2022-06-15T00:00:00", + "2022-06-16T00:00:00", + "2022-06-17T00:00:00", + "2022-06-21T00:00:00", + "2022-06-22T00:00:00", + "2022-06-23T00:00:00", + "2022-06-24T00:00:00", + "2022-06-27T00:00:00", + "2022-06-28T00:00:00", + "2022-06-29T00:00:00", + "2022-06-30T00:00:00", + "2022-07-01T00:00:00", + "2022-07-05T00:00:00", + "2022-07-06T00:00:00", + "2022-07-07T00:00:00", + "2022-07-08T00:00:00", + "2022-07-11T00:00:00", + "2022-07-12T00:00:00", + "2022-07-13T00:00:00", + "2022-07-14T00:00:00", + "2022-07-15T00:00:00", + "2022-07-18T00:00:00", + "2022-07-19T00:00:00", + "2022-07-20T00:00:00", + "2022-07-21T00:00:00", + "2022-07-22T00:00:00", + "2022-07-25T00:00:00", + "2022-07-26T00:00:00", + "2022-07-27T00:00:00", + "2022-07-28T00:00:00", + "2022-07-29T00:00:00", + "2022-08-01T00:00:00", + "2022-08-02T00:00:00", + "2022-08-03T00:00:00", + "2022-08-04T00:00:00", + "2022-08-05T00:00:00", + "2022-08-08T00:00:00", + "2022-08-09T00:00:00", + "2022-08-10T00:00:00", + "2022-08-11T00:00:00", + "2022-08-12T00:00:00", + "2022-08-15T00:00:00", + "2022-08-16T00:00:00", + "2022-08-17T00:00:00", + "2022-08-18T00:00:00", + "2022-08-19T00:00:00", + "2022-08-22T00:00:00", + "2022-08-23T00:00:00", + "2022-08-24T00:00:00", + "2022-08-25T00:00:00", + "2022-08-26T00:00:00", + "2022-08-29T00:00:00", + "2022-08-30T00:00:00", + "2022-08-31T00:00:00", + "2022-09-01T00:00:00", + "2022-09-02T00:00:00", + "2022-09-06T00:00:00", + "2022-09-07T00:00:00", + "2022-09-08T00:00:00", + "2022-09-09T00:00:00", + "2022-09-12T00:00:00", + "2022-09-13T00:00:00", + "2022-09-14T00:00:00", + "2022-09-15T00:00:00", + "2022-09-16T00:00:00", + "2022-09-19T00:00:00", + "2022-09-20T00:00:00", + "2022-09-21T00:00:00", + "2022-09-22T00:00:00", + "2022-09-23T00:00:00", + "2022-09-26T00:00:00", + "2022-09-27T00:00:00", + "2022-09-28T00:00:00", + "2022-09-29T00:00:00", + "2022-09-30T00:00:00", + "2022-10-03T00:00:00", + "2022-10-04T00:00:00", + "2022-10-05T00:00:00", + "2022-10-06T00:00:00", + "2022-10-07T00:00:00", + "2022-10-10T00:00:00", + "2022-10-11T00:00:00", + "2022-10-12T00:00:00", + "2022-10-13T00:00:00", + "2022-10-14T00:00:00", + "2022-10-17T00:00:00", + "2022-10-18T00:00:00", + "2022-10-19T00:00:00", + "2022-10-20T00:00:00", + "2022-10-21T00:00:00", + "2022-10-24T00:00:00", + "2022-10-25T00:00:00", + "2022-10-26T00:00:00", + "2022-10-27T00:00:00", + "2022-10-28T00:00:00", + "2022-10-31T00:00:00", + "2022-11-01T00:00:00", + "2022-11-02T00:00:00", + "2022-11-03T00:00:00", + "2022-11-04T00:00:00", + "2022-11-07T00:00:00", + "2022-11-08T00:00:00", + "2022-11-09T00:00:00", + "2022-11-10T00:00:00", + "2022-11-11T00:00:00", + "2022-11-14T00:00:00", + "2022-11-15T00:00:00", + "2022-11-16T00:00:00", + "2022-11-17T00:00:00", + "2022-11-18T00:00:00", + "2022-11-21T00:00:00", + "2022-11-22T00:00:00", + "2022-11-23T00:00:00", + "2022-11-25T00:00:00", + "2022-11-28T00:00:00", + "2022-11-29T00:00:00", + "2022-11-30T00:00:00", + "2022-12-01T00:00:00", + "2022-12-02T00:00:00", + "2022-12-05T00:00:00", + "2022-12-06T00:00:00", + "2022-12-07T00:00:00", + "2022-12-08T00:00:00", + "2022-12-09T00:00:00", + "2022-12-12T00:00:00", + "2022-12-13T00:00:00", + "2022-12-14T00:00:00", + "2022-12-15T00:00:00", + "2022-12-16T00:00:00", + "2022-12-19T00:00:00", + "2022-12-20T00:00:00", + "2022-12-21T00:00:00", + "2022-12-22T00:00:00", + "2022-12-23T00:00:00", + "2022-12-27T00:00:00", + "2022-12-28T00:00:00", + "2022-12-29T00:00:00", + "2022-12-30T00:00:00", + "2023-01-03T00:00:00", + "2023-01-04T00:00:00", + "2023-01-05T00:00:00", + "2023-01-06T00:00:00", + "2023-01-09T00:00:00", + "2023-01-10T00:00:00", + "2023-01-11T00:00:00", + "2023-01-12T00:00:00", + "2023-01-13T00:00:00", + "2023-01-17T00:00:00", + "2023-01-18T00:00:00", + "2023-01-19T00:00:00", + "2023-01-20T00:00:00", + "2023-01-23T00:00:00", + "2023-01-24T00:00:00", + "2023-01-25T00:00:00", + "2023-01-26T00:00:00", + "2023-01-27T00:00:00", + "2023-01-30T00:00:00", + "2023-01-31T00:00:00", + "2023-02-01T00:00:00", + "2023-02-02T00:00:00", + "2023-02-03T00:00:00", + "2023-02-06T00:00:00", + "2023-02-07T00:00:00", + "2023-02-08T00:00:00", + "2023-02-09T00:00:00", + "2023-02-10T00:00:00", + "2023-02-13T00:00:00", + "2023-02-14T00:00:00", + "2023-02-15T00:00:00", + "2023-02-16T00:00:00", + "2023-02-17T00:00:00", + "2023-02-21T00:00:00", + "2023-02-22T00:00:00", + "2023-02-23T00:00:00", + "2023-02-24T00:00:00", + "2023-02-27T00:00:00", + "2023-02-28T00:00:00", + "2023-03-01T00:00:00", + "2023-03-02T00:00:00", + "2023-03-03T00:00:00", + "2023-03-06T00:00:00", + "2023-03-07T00:00:00", + "2023-03-08T00:00:00", + "2023-03-09T00:00:00", + "2023-03-10T00:00:00", + "2023-03-13T00:00:00", + "2023-03-14T00:00:00", + "2023-03-15T00:00:00", + "2023-03-16T00:00:00", + "2023-03-17T00:00:00", + "2023-03-20T00:00:00", + "2023-03-21T00:00:00", + "2023-03-22T00:00:00", + "2023-03-23T00:00:00", + "2023-03-24T00:00:00", + "2023-03-27T00:00:00", + "2023-03-28T00:00:00", + "2023-03-29T00:00:00", + "2023-03-30T00:00:00", + "2023-03-31T00:00:00", + "2023-04-03T00:00:00", + "2023-04-04T00:00:00", + "2023-04-05T00:00:00", + "2023-04-06T00:00:00", + "2023-04-10T00:00:00", + "2023-04-11T00:00:00", + "2023-04-12T00:00:00", + "2023-04-13T00:00:00", + "2023-04-14T00:00:00", + "2023-04-17T00:00:00", + "2023-04-18T00:00:00", + "2023-04-19T00:00:00", + "2023-04-20T00:00:00", + "2023-04-21T00:00:00", + "2023-04-24T00:00:00", + "2023-04-25T00:00:00", + "2023-04-26T00:00:00", + "2023-04-27T00:00:00", + "2023-04-28T00:00:00" + ], + "xaxis": "x", + "xhoverformat": "%Y-%m-%d", + "y": [ + 198180000, + 310221000, + 228330000, + 243240000, + 427078500, + 487977000, + 288556500, + 254875500, + 166848000, + 172915500, + 241297500, + 247794000, + 238603500, + 285982500, + 205233000, + 157776000, + 174987000, + 144547500, + 109639500, + 183819000, + 149812500, + 121345500, + 173242500, + 108834000, + 176467500, + 224092500, + 203484000, + 119242500, + 133315500, + 117178500, + 212620500, + 170823000, + 278451000, + 238747500, + 251451000, + 235458000, + 210766500, + 148362000, + 146278500, + 130195500, + 95436000, + 95479500, + 164394000, + 138817500, + 132823500, + 135396000, + 253777500, + 199903500, + 258751500, + 308548500, + 322345500, + 244669500, + 175764000, + 350064000, + 584781000, + 351271500, + 245517000, + 214512000, + 139950000, + 256821000, + 241608000, + 212416500, + 364927500, + 290949000, + 240730500, + 237130500, + 141403500, + 114315000, + 183123000, + 132139500, + 126225000, + 74217000, + 89884500, + 133446000, + 112834500, + 129387000, + 327441000, + 306379500, + 188664000, + 303634500, + 247117500, + 183079500, + 309177000, + 322344000, + 300954000, + 159883500, + 213591000, + 355395000, + 301218000, + 355123200, + 269523300, + 288528300, + 262788300, + 330965700, + 346397100, + 238397400, + 254791800, + 182152500, + 249061800, + 291894600, + 216837900, + 230337600, + 259220400, + 328430400, + 238742400, + 285222600, + 289683300, + 201625500, + 149158800, + 150657900, + 144436800, + 152224500, + 214290000, + 134168400, + 147438900, + 129383100, + 121263300, + 86777100, + 116373300, + 103391100, + 143639100, + 107017200, + 98327700, + 108863400, + 94968900, + 97111500, + 119979600, + 101151000, + 84717600, + 68059500, + 76354200, + 67965900, + 127533900, + 87063300, + 103055100, + 96429300, + 85243500, + 65118000, + 104499000, + 90852600, + 52073100, + 59565300, + 59313300, + 80515800, + 183564900, + 234132000, + 187425900, + 98735700, + 150780900, + 160945500, + 146790600, + 112683300, + 189009300, + 120310500, + 143327100, + 127656000, + 88203900, + 168929100, + 192795000, + 213873600, + 201249600, + 139425000, + 156121800, + 135214500, + 126287400, + 168810300, + 666378600, + 174135900, + 155148000, + 99519000, + 68596800, + 96835800, + 68732400, + 128538000, + 148949700, + 145914600, + 96735600, + 134100000, + 154496700, + 225166500, + 177904800, + 138812100, + 99937500, + 93798900, + 116332800, + 76101000, + 76997700, + 61563300, + 60199500, + 123520200, + 69394800, + 82002000, + 79134000, + 104972400, + 76174200, + 73038600, + 55030500, + 47438100, + 55699800, + 60485100, + 45473100, + 108648300, + 64868400, + 71304900, + 59406900, + 77989500, + 53871300, + 56874900, + 111809100, + 199820700, + 110301000, + 117071700, + 123267600, + 81408600, + 71196600, + 90624000, + 197758500, + 268189500, + 155361000, + 202569900, + 181817100, + 108761700, + 100751400, + 88006800, + 96587100, + 121117500, + 99674400, + 128682000, + 118536600, + 91475700, + 101385600, + 117674700, + 101558400, + 85911000, + 118297200, + 100011900, + 105895200, + 125528400, + 84815400, + 78928200, + 71772900, + 64311300, + 87407100, + 133958400, + 147052200, + 83546700, + 83938500, + 119058600, + 106827000, + 93646500, + 106770900, + 85110000, + 93115500, + 88311000, + 66813000, + 86536200, + 122276100, + 81129300, + 89217900, + 65705700, + 83353800, + 70407600, + 94177200, + 139511700, + 101470800, + 132554700, + 100112700, + 97171200, + 110491800, + 118735200, + 92463300, + 78091800, + 103674300, + 84017700, + 85917900, + 79111800, + 68211000, + 54254700, + 69908400, + 90335700, + 72110700, + 67631100, + 78160200, + 49753800, + 71758800, + 48615900, + 61272000, + 53292300, + 66432300, + 68104200, + 73682700, + 74438100, + 57476700, + 93297600, + 137947200, + 97490100, + 64884600, + 52143900, + 56774700, + 55903500, + 81163500, + 69853500, + 56376000, + 68319900, + 54421500, + 77781000, + 62898300, + 64923600, + 60628800, + 49113000, + 63891300, + 46461300, + 41859900, + 45317100, + 43814700, + 76009800, + 98439900, + 48019800, + 91183800, + 88969200, + 100847400, + 64860900, + 51007800, + 38758800, + 46869000, + 44145900, + 40296900, + 29401800, + 52377300, + 50194500, + 68032200, + 71163900, + 61048200, + 42940500, + 44525700, + 60794700, + 39249300, + 37936800, + 39642900, + 41501400, + 55812600, + 62566200, + 39612900, + 38331900, + 45738300, + 60119400, + 56379000, + 42233100, + 45552600, + 68857500, + 55574700, + 46073100, + 41770200, + 84612600, + 74273100, + 48992100, + 45378900, + 35842500, + 64119000, + 84212100, + 76144200, + 62828700, + 53868000, + 51094200, + 91449900, + 55297800, + 43898400, + 57587400, + 50215800, + 42600900, + 66060000, + 42360300, + 36741600, + 56773800, + 72621600, + 52143300, + 42096300, + 94444500, + 68642400, + 188556300, + 187245000, + 115579500, + 81639600, + 89755200, + 168146100, + 128213400, + 103885500, + 76192200, + 64886400, + 100337100, + 177317400, + 128408100, + 67189800, + 76719300, + 104326800, + 79627200, + 94336200, + 62696700, + 64926900, + 99217500, + 108515100, + 67680600, + 35042700, + 58393500, + 81276000, + 68450400, + 73114800, + 92322000, + 81663000, + 56084700, + 41906400, + 59438400, + 59664300, + 78595500, + 70806300, + 75169200, + 82771500, + 100437300, + 56480100, + 71517900, + 93634200, + 92713200, + 71145900, + 60324000, + 56154000, + 47040900, + 40733700, + 103931400, + 100248300, + 80119800, + 90336600, + 84164700, + 91815000, + 66063300, + 83739000, + 97209900, + 72924300, + 66743400, + 75442500, + 70488600, + 103416000, + 151565700, + 86595900, + 104867400, + 147109500, + 134789100, + 104436000, + 73138200, + 66792900, + 78855600, + 73625400, + 60994500, + 50729100, + 52259400, + 66126900, + 79645800, + 67756500, + 57286200, + 51294300, + 55178400, + 68501700, + 83288100, + 95256900, + 135322200, + 76067700, + 99006900, + 74766900, + 74643300, + 61623600, + 66999600, + 72494100, + 80399100, + 59184000, + 58648500, + 67037100, + 71152200, + 66841200, + 84028800, + 66582900, + 100414200, + 81981600, + 105868500, + 120676200, + 68920800, + 62031600, + 102506100, + 73614900, + 59865000, + 48992700, + 54263100, + 82035900, + 80075100, + 89348400, + 79447200, + 55013700, + 59357100, + 65976000, + 55121100, + 58422300, + 51715200, + 49847700, + 70711200, + 105416400, + 69696600, + 68341200, + 136133700, + 76956300, + 124948500, + 88133100, + 75781500, + 63709500, + 81643800, + 92519100, + 72903000, + 90810300, + 84401700, + 97224600, + 140313000, + 92150700, + 86098500, + 80236200, + 87811800, + 90296700, + 144973200, + 88903500, + 89092500, + 92139300, + 106003200, + 89295000, + 101914500, + 77247900, + 93473100, + 112393800, + 84204600, + 72808500, + 76210500, + 96491400, + 97536600, + 102767400, + 97988700, + 119131800, + 107390700, + 92641800, + 122793000, + 101107500, + 104202600, + 95770800, + 89178300, + 90391200, + 82897200, + 94600500, + 74460300, + 84581100, + 71853600, + 81930600, + 101854200, + 99241200, + 87930900, + 97954500, + 78557400, + 69683100, + 82537500, + 80890200, + 88864200, + 142032300, + 103472700, + 64073400, + 66820800, + 88110000, + 84723000, + 95313000, + 117042900, + 95577600, + 80091000, + 72256200, + 113172900, + 98994000, + 86244600, + 94918800, + 70155000, + 79657200, + 89359200, + 88136400, + 68766000, + 47500500, + 61395300, + 55843200, + 63984900, + 57259800, + 53230000, + 57163900, + 41864700, + 50541800, + 52107300, + 54287000, + 50890100, + 55860000, + 50028900, + 53713100, + 54338100, + 48674600, + 68229600, + 72628700, + 64795500, + 87087800, + 60231200, + 61642800, + 62555700, + 70545400, + 63748400, + 58076900, + 61925200, + 54664800, + 77620600, + 67726600, + 98363500, + 109578500, + 86982700, + 69298400, + 83916800, + 67925000, + 77013200, + 66860700, + 91483000, + 94124500, + 79428800, + 75891900, + 66571500, + 117798100, + 75713800, + 100446800, + 96507900, + 85012500, + 61638800, + 69152400, + 61554300, + 62688800, + 63070300, + 56538800, + 98622200, + 93916500, + 128803400, + 127062700, + 132703000, + 114403600, + 92226600, + 91293800, + 66567600, + 64336000, + 76048900, + 92882700, + 78452300, + 109536700, + 50672700, + 92905200, + 83357100, + 109186400, + 80046200, + 73645900, + 93122700, + 92150800, + 84213300, + 97624500, + 104872300, + 109794500, + 175862700, + 140682300, + 122334500, + 139032200, + 139390600, + 159563300, + 145417400, + 210090300, + 166989700, + 208643400, + 221070500, + 221923300, + 157777300, + 231402800, + 180389000, + 157986300, + 220911100, + 190284000, + 167642500, + 183810800, + 169400900, + 180714100, + 186477000, + 195680300, + 170291900, + 138858100, + 203119200, + 158699100, + 192734300, + 234815100, + 306590600, + 230878800, + 196813500, + 213806300, + 217448300, + 232662000, + 186188100, + 186010300, + 180673600, + 215431400, + 204754100, + 172475500, + 216455700, + 181006400, + 229586500, + 213738500, + 180018600, + 191828500, + 146360000, + 142228100, + 161028300, + 153144900, + 156852800, + 181500700, + 154193300, + 128100100, + 148125800, + 151897800, + 170023800, + 191488900, + 167790300, + 143717900, + 145995600, + 121136800, + 133197100, + 129684400, + 153391400, + 150376400, + 144193900, + 116531600, + 120851600, + 98654600, + 123660000, + 110252200, + 169638500, + 169545900, + 126463800, + 133882500, + 123857900, + 142154600, + 115770900, + 150256300, + 112933000, + 96306500, + 116662200, + 92067000, + 125732700, + 210970800, + 123352300, + 140006600, + 121999300, + 153364100, + 127015200, + 122351000 + ], + "yaxis": "y", + "hoverlabel": { + "namelength": 6 + } + } + ], + "layout": { + "annotations": [ + { + "font": { + "color": "gray", + "size": 24 + }, + "opacity": 0.5, + "text": "", + "textangle": -90, + "x": 0, + "xanchor": "left", + "xref": "paper", + "xshift": -110, + "y": 0.5, + "yanchor": "middle", + "yref": "paper" + } + ], + "hoverdistance": 2, + "margin": { + "autoexpand": true, + "b": 95, + "l": 70, + "pad": 0, + "r": 10, + "t": 40 + }, + "modebar": { + "activecolor": "#d1030d", + "bgcolor": "#2A2A2A", + "color": "#FFFFFF", + "orientation": "v" + }, + "newshape": { + "line": { + "color": "gold" + } + }, + "showlegend": false, + "spikedistance": 2, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#f2f5fa" + }, + "error_y": { + "color": "#f2f5fa" + }, + "marker": { + "line": { + "color": "rgb(17,17,17)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "rgb(17,17,17)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "candlestick": [ + { + "decreasing": { + "fillcolor": "#e4003a", + "line": { + "color": "#e4003a" + } + }, + "increasing": { + "fillcolor": "#00ACFF", + "line": { + "color": "#00ACFF" + } + }, + "type": "candlestick" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#A2B1C6", + "gridcolor": "#506784", + "linecolor": "#506784", + "minorgridcolor": "#506784", + "startlinecolor": "#A2B1C6" + }, + "baxis": { + "endlinecolor": "#A2B1C6", + "gridcolor": "#506784", + "linecolor": "#506784", + "minorgridcolor": "#506784", + "startlinecolor": "#A2B1C6" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "line": { + "color": "#283442" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "line": { + "color": "#283442" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#506784" + }, + "line": { + "color": "rgb(17,17,17)" + } + }, + "header": { + "fill": { + "color": "#2a3f5f" + }, + "line": { + "color": "rgb(17,17,17)" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#f2f5fa", + "arrowhead": 0, + "arrowwidth": 1, + "showarrow": false + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#ffed00", + "#ef7d00", + "#e4003a", + "#c13246", + "#822661", + "#48277c", + "#005ca9", + "#00aaff", + "#9b30d9", + "#af005f", + "#5f00af", + "#af87ff" + ], + "dragmode": "pan", + "font": { + "color": "#f2f5fa", + "family": "Fira Code", + "size": 18 + }, + "geo": { + "bgcolor": "rgb(17,17,17)", + "lakecolor": "rgb(17,17,17)", + "landcolor": "rgb(17,17,17)", + "showlakes": true, + "showland": true, + "subunitcolor": "#506784" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "x", + "legend": { + "bgcolor": "rgba(0, 0, 0, 0)", + "font": { + "size": 15 + }, + "x": 0.01, + "xanchor": "left", + "y": 0.99, + "yanchor": "top" + }, + "mapbox": { + "style": "dark" + }, + "paper_bgcolor": "#000000", + "plot_bgcolor": "#000000", + "polar": { + "angularaxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + }, + "bgcolor": "rgb(17,17,17)", + "radialaxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "rgb(17,17,17)", + "gridcolor": "#506784", + "gridwidth": 2, + "linecolor": "#506784", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#C8D4E3" + }, + "yaxis": { + "backgroundcolor": "rgb(17,17,17)", + "gridcolor": "#506784", + "gridwidth": 2, + "linecolor": "#506784", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#C8D4E3" + }, + "zaxis": { + "backgroundcolor": "rgb(17,17,17)", + "gridcolor": "#506784", + "gridwidth": 2, + "linecolor": "#506784", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#C8D4E3" + } + }, + "shapedefaults": { + "line": { + "color": "#f2f5fa" + } + }, + "sliderdefaults": { + "bgcolor": "#C8D4E3", + "bordercolor": "rgb(17,17,17)", + "borderwidth": 1, + "tickwidth": 0 + }, + "ternary": { + "aaxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + }, + "baxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + }, + "bgcolor": "rgb(17,17,17)", + "caxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "updatemenudefaults": { + "bgcolor": "#506784", + "borderwidth": 0 + }, + "xaxis": { + "automargin": true, + "autorange": true, + "gridcolor": "#283442", + "linecolor": "#F5EFF3", + "mirror": true, + "rangeslider": { + "visible": false + }, + "showgrid": true, + "showline": true, + "tick0": 1, + "tickfont": { + "size": 14 + }, + "ticks": "outside", + "title": { + "standoff": 20 + }, + "zeroline": false, + "zerolinecolor": "#283442", + "zerolinewidth": 2 + }, + "yaxis": { + "anchor": "x", + "automargin": true, + "fixedrange": false, + "gridcolor": "#283442", + "linecolor": "#F5EFF3", + "mirror": true, + "showgrid": true, + "showline": true, + "side": "right", + "tick0": 0.5, + "ticks": "outside", + "title": { + "standoff": 20 + }, + "zeroline": false, + "zerolinecolor": "#283442", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "" + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 0.94 + ], + "matches": "x3", + "rangebreaks": [ + { + "bounds": [ + "sat", + "mon" + ] + }, + { + "values": [ + "2023-02-20T00:00:00", + "2021-05-31T00:00:00", + "2022-06-20T00:00:00", + "2021-02-15T00:00:00", + "2021-09-06T00:00:00", + "2021-11-25T00:00:00", + "2021-01-01T00:00:00", + "2022-07-04T00:00:00", + "2020-11-26T00:00:00", + "2022-09-05T00:00:00", + "2020-05-25T00:00:00", + "2020-07-03T00:00:00", + "2022-05-30T00:00:00", + "2021-07-05T00:00:00", + "2020-09-07T00:00:00", + "2021-04-02T00:00:00", + "2023-01-16T00:00:00", + "2022-04-15T00:00:00", + "2022-12-26T00:00:00", + "2021-01-18T00:00:00", + "2023-04-07T00:00:00", + "2022-11-24T00:00:00", + "2022-01-17T00:00:00", + "2022-02-21T00:00:00", + "2020-12-25T00:00:00", + "2021-12-24T00:00:00", + "2023-01-02T00:00:00" + ] + } + ], + "showticklabels": true, + "tickformatstops": [ + { + "dtickrange": [ + null, + 604800000 + ], + "value": "%Y-%m-%d" + }, + { + "dtickrange": [ + 604800000, + "M1" + ], + "value": "%Y-%m-%d" + }, + { + "dtickrange": [ + "M1", + null + ], + "value": "%Y-%m-%d" + } + ], + "type": "date", + "rangeslider": { + "yaxis": {}, + "yaxis2": {} + }, + "range": [ + "2020-04-23 12:00", + "2023-04-28 12:00" + ], + "autorange": false, + "automargin": "t+b" + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "fixedrange": true, + "nticks": 10, + "range": [ + 0, + 4664650200 + ], + "showgrid": false, + "showline": false, + "side": "left", + "tickfont": { + "size": 13 + }, + "tickvals": [ + 130000000, + 260000000, + 390000000, + 520000000 + ], + "zeroline": false, + "type": "linear", + "automargin": "l+r" + }, + "yaxis2": { + "anchor": "x", + "automargin": "l+r", + "autorange": true, + "fixedrange": false, + "layer": "above traces", + "nticks": 15, + "overlaying": "y", + "side": "right", + "tickfont": { + "size": 16 + }, + "type": "linear", + "range": [ + 25.03818405999078, + 434.9944888220893 + ] + }, + "font": { + "family": "Fira Code, monospace, Arial Black", + "size": 18 + }, + "autosize": true, + "dragmode": "pan", + "xaxis3": { + "range": [ + "2020-04-23 12:00", + "2023-04-28 12:00" + ], + "autorange": true, + "automargin": "t+b" + } + }, + "log_id": "7dfe280a-4d58-4847-9621-04090c2f2739", + "posthog": { + "collect_logs": false, + }, + "python_version": "3.10.8", + "pywry_version": "0.5.0", + "terminal_version": "3.0.0", + "theme": "dark" +} diff --git a/frontend-components/plotly/src/fonts/FiraCode-Regular.ttf b/frontend-components/plotly/src/fonts/FiraCode-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bd736851948d2d76483b434113e2d9ee35554446 GIT binary patch literal 289624 zcmdqK3A~QQ`v*KT_so4i=iwa38p7ERap*WW)`V=?vuDemWI2{3Ns=TJO}mb|Nh_q=lA)%=RV(=xv!bIW}mrcx#tm52vH1* z7RgOJUEKn2Qs^5yKo7NO+N^o0!{z3Jlm(n=(V=~(T7TXGH%_t;Ny}Pv>e6J&^(W5= zk-Afe{yW-tx;$rcrTb?Jao244?>k_4zq|v-x@X}12O+K+KVaP08n7^hDUNg&w+o*e!#fy6o|@LcBFZsMC7Lpnd~ORUh%F za9$b)``jTQsPSeX-k0J%eaP^!O=$T4FZue+2$RJ$v zh*<#jgaLmy?1rHhcER6m;5LAIor|1z2fB#Acc(X1INo$`I?OY?*-+77Dj%^EREu-~qRc9wr7~ zKYGxOV(_qjV@HV02{()wA_h;m<(6B-V9`{B8#iyAESfg%(G2QUjXRUtk<`|Wdq8d5 zz75n4ZOBc>_HChdW;dNX5(VuLfBE?wH^gvwztJ~}gyA<1zY(z%K9zJO9Jmb^-cg}c zg}&@d3gml*fk=_8Fi9?li>8QuCHSKHS&8dsWv-vSxn@p5&3sPG6VIc5uH^c;p6lmM zuAd)r{X9hVQ+AibTFs zwNx&oS}K=QErkozQn{LHsa!*~6h2T(<-1f%#oS<>g70q$ zYVs`VZB2Pj<*F9Sq1vlTqTcparBz?mUu96eRh6jTs>`U}s_Im4RWsDvIjXsus~&=D z)Lzv|J*l>;K5CoOQB8C@eXak-dp&eeI$TJZBc154R^I4GYZHhjj zJ;77Z&Bfp1x&}{Zt9`<&Lc7Yf@;2dZwEv8cm_~;tg(ii!hdM`}@OE#gmlv8Ec`5`Z zZ(OKd@PxP1<4v(osB&QPro>I7hiuDN2n~xq8e+B9Nfd-CNivri~J`gjwA zC*uA*pFTa73Ud(mNQz_A9!X7vXNB@H{-bG%P2b;8XL-RhJz|Dtr6q&s%t9?gEu*Dp^RIjbu6uo>bjnju z*M}-o%_KUz$d0-Q<-*Ov(2P)nP!r-9YDabfKQ{LW^+jw3hlW{Ss8Qq5dZxn9?D9=R z^FVD1ePL)xXgQlJgjNT&$+iaT@1Im#Dxu9(%Au_`FG4%02Z`njl|=L{u7ovPTC7cI zAK8Qs(i3&hv}2(Yp&vrOgwDpPxKLa|)HZaU&H24x)a5^$;>yM)$7NpVCN3*3C$3K1 zh`6!VF0Nr*)3{b~9fCd!>FyQRKW<3Wh3~EawR~kNz3}$9)6lb#w?l1t25Q`d^Yb`7 zG;T7v3d*B=<+#)3V@jXg+cL7XgWlt&S$=Ud;}*p&4X4Jfh+7-CF>XuTw(^yuPu!fi z`RCim?Tp(Uw>NHo+@ZMRaVO(WBc3`O4kw07h0BFg!$?zr~$9-!5D;Trb=x z+&tVS+%eoe+$TIRJoLP0Vt7h;dU#fNZg>I5JTE*h9778)4lg5m?DKc_g+w9u0=tIP zhXCuto5HUkU*0Y^4{uPz?}tAQ9|#`_e;qy*J`?_fe3ysRBd<68pbjKeRWNTr?ak^j zQstM1q~V^rJk5flWVIEm zR~eG6hxul>cU(5tW_2#BV_AKM!#d9DaE{gWZ0<>BIgaC8pD6O2dk1*7))k;mW;d-_ zU8^Dcsmg3_$ZC5|MKM-eGNmPRzJbldS?y+3rnfc|z@Z0IdN8Fes|{IwiR1YqtGBUw zAFEwh?aJ!Yto9*Qd}qc$eanm$GXFs{1m+-ui=nFP4 zWi`jG2iuaYj&$oIpAVC&s=8M}twgG9!<0epMy9_AHOs7l`YO|_v#&SVJdu6f%)TCF z%6JZ?5A$!#>O!U`u&TgNMXV;0DxYR^FXqsVIo!&Wxy+##bNGzQv@P?w)qMal>28LyN;SV4 z+g``Mu4SIjvH5=HS%`V|X3EXXvorJT$2rgxD$RI!?t+<1Y0Q7msuFnDn2#;+XJj4l z{&(}32gMZ3VIC7RF`HQ_=8APUgkN?E8>(mE#495q!#bX zuq-D&kqt2mKf$w{Vwi;wlf^O986iv1EL@i4`OOtPziEcq%X-;TZor(S9nW$)@+_w- z&vLr)EN1}Ea)$6M=LVkT4CPtQXrARv=UL7?p5@HvSA6HC0XJ+nBesknhl32Qwthb>#ar*TD=4a~*jIbDbOHVRfUrQ65zz)JS;@^PVyC zxEiO%$#2vIHC3LVIgtFB=0Nfno&)g=9`mOs)fSbYUQw@M&h&=UQ)SWYN4<{OPk*)D z8R#5RJ9!S&jORctcn;K(=RjBU9H1+m@>zyv< z0W-(xW)_$Q&b2&S>cO+6o;+LX#j~Z}JX^wwkPt;Cqm+w5pTC5*+&(7!;D z5%A?B;UxTA1Vu(9%#7a=KPk`?Cd1vo0P#)0TEY1sJ{HligE;(?p3oJ%fcUBLGcLgF z_<8^2_kUv-zYt-@AOWjf7sa83nF;6Ne-rNi)Gw7?;D_QDnE$Pwkco6%1SqRk@k`>D z$FGjx@Nap=Z>I1QT1A08+-gBQ66z#0ycpPSKJ0<`9abkZ;opXxu;03kKL#E#xM-On zpW=5RedpodhV{R77rzJL|4Se*8(s|Y`w|*n3>V8^qQxJ)IJoTnd=Bale7=-2$R4QL4oa2Jab7xQPsN@)7eVFo-oeDpu8$HuwrKl{J1ys6)b z@<}-K_x@wcDmI=}=0TdNT?BCo+_PO)ly5=~+@p=0?=FZ3)BhnKg0QUng7J^#5txH` z1n;EB@(9de!P?mwt?y0n~w#fjDgR`BOUoC)ft}{}WLB{|QJNrSD&1FWmhP5Ss`8 z7v_uQ_5Yi2sIUIlI1ab}18|wg%E+f}y@MJiJ8=80Ac~ZNT_ONI;T&{LZlkm!<%(3o zTPgtmY_0}260^&7P#-3uKXrh-*f5!m)-b8j{mV)Fo2Z)Ei=Qk^zz zMx5b(2C4ELR#Eps=}95V=hbp#_d|I=48LJqVz@a^>ACRj1sdJ!Q z%araED|tPe?;=&&_-<-P}^n2O-9hmb!-B9A`Jf$SjMqy4-SOHyEqn@>{07#O7ONMa+bEsAu6mUtxvC zxt~c>=S?z z44fYz_o_Ron2n?45u<<;e1KCqsF`9K?LD8jL+;@H5$`F4D@4nSpvgsOvF_Tzp7Oj0 z!Zp0g)ScCrSiOwZE>Iopa3>(fs3p7-)}7bz24FRmVvT)zvm@@1-KRGVX`kLSq%SOw)&FAH)&7fNU;bYVJNsXT4atD}mwNvn_ig{KXKUK8->|WA z!2nX14Cpszkjfh{V0fMyH(*?Lbu|fUj+zR!hMEDjrkV}4mYN4OS1p8ETP=ZFM=gh1 zSFIi}u6nlG0JXZ>3^hk>g<3=HfLc@Sf?7-MftsuKL9MM0Lan2YL9MG!3>cS_t$u)7 zUHt+zN1cUQ!%Bow88tILT1!I++8;)yQ_TpjLNspyoJr296jx z+-W#?biV;k(;+wCFwkj-(}}~J&aC!ewJ)oKSsljeXjaFwI*HY(tj-v5)9}&G?2*u% zc_T*;9N{b+gB){~j=5pPU}wdcG1=9fwNP`MjZkYiTcFl-wnMGuybU$i*#otUdUfVRZtlx3W5s)k&;QW_1dyID?4zSV{G6Hs8Z4OQdoZo9}1UO2rS5Ss18} zFN=`>AxtgD>Lsj}X7y55OR~yRDW5NtEDuUZEySxBtJEV%$TCy|3PG+Rt_@gaSz2Df z=7wZ1uau4WjU+xLuaYd0%jW#nQnq3{lH0XxE8EL!WG9$i*+q84>B63}x4e#A_%)3r zRLL?bc8ukNP9=9%$0da-7aCn?aiJdyohw|pa4S6h3$G}=tMI9K6<;S|b;9cSJ@I>> zo`E?hVQj)I=v%PfbGk_LB0Y*6E3u)(h9bWtP9{BZR?%>Y4MocpodI=W(IZ9A7Hd+h zSF!D6S8Px5i6w`X99DcriG)(sN>wXSuEa9Xx0UPz>V#6spfxCUuxhnZXD{iI*8h@W zmz+sIkba=FD!sJQ%t|v$uP>8bX=a%wWk*+@R(V?4$(N>9o_1-?OLtV6cj=*WZPNOe z>r-xbxs&A^l|9Ou&l!Nq?$<`lU}JgKI#4B1~tbgcTI*F`mU6kwHDM` zkkTY&MV$k64y0^KO-`+br%CGU)J3W5Q-4bUr=-tK-;Ma3 z$jHuUm9aQueP*%Dtjw92%QF9{Sfb+CinA&ns`y8xNr>r!O2;alyR7MDeJYPfOy^b! zS4pojy~?~QOS39xHO-olwX|w-)oN86RGm_FVbvp5&sJ+!ZOG-#FYkW&qRZD_{!4aZ zcGv8@>}}Zxs#mMtvigGR8>;`2QzB<@&g7guIVWr6)M!&I|&28)-dJcOIS% z_1t=;>rJk=p#FmT%NbkhA8XX3(ey@(8*OUzexqL+7jB%|xK869jfXVe+<0G;4o!wO zIc1-#_BTJ#LbNE=qE3skE!wo`3w3&nWi3v&IN4IPY>uZ#%f)y$wEUyxA6F+_{R*Bv zttzz2YE`dQyH=-Khgz3vosOpto;Ixqx1QX3TkAt@RGU(5+O!$mW=@-BZBDjz+jeg| zy6xPyZ?`?xu57!S?S{6S+HP~Zz3mg)XSE;EerEe^?GJTG?a-*hxDK;B?C5alnhAK` z@7Mv)l8#3@{?;k6Q>9LAI^}hm+i7Q~k2@Xfbh>l6bGgpdI=AdRy7S!5`#YcNQn*WU zm#$s%x-99kp=)Z_23KB40kN zA+)|N;xl=ZxC1k`DRLZo+^Oh~??!)omn?$buqgV&;^+}e%2M(Y^nTaN(&!z_%1dQA z*K8wKRKR=5R z(#4)-2tW2&j@T4@)*yEO@zEh&ShvtEb%HLU6Lm3NT$j)#bt!#`ZlycvE&65spq{H= z)m!yzdYj&^Uw3cNoAmqo1HDI|(BB$qlyQtU@0k_mQ?ti>Xx=q1o4w{Ev)_DX-ZJl- zkM&6NjrqpC$sOzt)AP*hZjLw2d&qm(d&%44z3jc>ZS`LBwt27PoZ}nb4)0CxJM@3e zP=-{JMes<>5K}>Gg2%xK+Yg!u|!YMw}~h99r_OOw7ys0E0*hddY*Vjuh1*R3cW+`6f5;X z{e@Vq|J3KiT2s+f6dO#A$q~<+)~2=CXl^tk#0zGW87*EiH)9>(WpkUkO}uLEGIxos zW`>y|UNdXV8nMm1W8M+3qlDfQ+ufROE%AnXwR^RA)4jpHLF{zLxMRgz-d)~Z;vG5} zD|Ydh0`KDF$#St9r?pp$_q?^jyTgXPEEwAjm60IEoz6_tv*(V)N%ELQ_e|sDmyt&bEktd-r4LN zan3krHP&Si-c6_xn`L=fN!CE9!(<-D+6s_(YRW5NN$2BK(>IXBBZD*WJ`oRT#iC5 z#CI?9YK-h%Fq)5$qv4{J>>#_!UNE)Bc;8L-hN+Fs3z*u)#rKGE9go(2WAH?K1pAuYrw40_LFsGT@z-5ULZwR z(Y1uquJ(l1aXPFE>3F;s)mIBw_tDqs5qgXsuh$7r57LA6o%$jDq+YLIft#WFIrtf_ z@6t>42AKNmv3i<*UW8ElZ$+)2rytWBQG(zRVUaLPs ztS0Mw^rL!_{#YN;$6&WmKdwK~NA;J8(H;7@KB<2M->>v{CL8(`{k8rHHjn6U^choK zD72^dg+}{(2QBCuQBwENJ<$$pm@#IoxydXsPnxCXDYMKxZI+v7&OaV zeUrW$t$dgnZf-UAm__CZ@LOxv;iHF9B3Vz=GfhoX%jBXz7-~kCk!G|RXU3ZeW}=yF z?ljZPbhF+(XEvDU%|`Qr*<@Zco6SpRi+S0--W`pQ`ho9lW|DcuylS?Z*UUEay4h~t zFgwhfW+(dY-R=-~3`*--{gS!e++prEAGkx&TR3Khd!suJrSKSf5aqqtEpK7o@(#~NMmXO&r=0JdADkbZ)6P$5y+1p@ zpyr-Mt?jJ`>KpVhJzC$QZ`U*QY}ArB^t*bW{#5VRpXmeobCY2*&E<&wN%Om#=~i?r zyIF2kH^*)1j_`0AF^~W-M=PSUbX8pq{cyIfu5)w^T~pUWO*o32FXci?5E^m$1p+zv zi!gB$g~6{f z+W8cHJqEf>3A<^5F*b-ReJiNtO^~GkP_e3x(R&75*clZ@4_eDcuL(QT0KE5Vd{Kv| zF%XF(;zem{8=)zT-i76j&ROR#=Nx)F1cLs|LEmLC8qp{~qqjh;uwN77tCdJ)Y34m& zemSPUMEm~=E&iK8j&TQ{C!4%_5$Oc-h#rM;{0)rLZ|a?~H4~%tS^bwj=hniAIu|49 za*UwQdaJ!PG=^dX-QYd%ZS-Ei*F@jO#0>ca*>n)TiaZUfhEy{UBj}GYF3LfkxdSIX zNs7G-(rSOmrvv36Zh3_uBQ=3k)DyDLe8@Q;iLYfLv;!(no4Zu{#jw6krC1NGk-|V( z>ziT1nO~U87NC&}ftC75In}5G3YQbwF!_tvaP6};4SkLQPxjHI58@GZT>>!(Oa&@VO;X1|MU= zGg5<4U#NbgbVMjKk9s%Gc}kz<8l;r!6lyZp6dOCDkcs%By&_$-XKC~4eEzf(8MFiI zyE=tfvK)oTDWP!v5dE^RejfiZLEV7+2>&{xIR;e!sVwWDSBaEmgkw-I(1ZAO-^QVa zpC0Q&ptTY`nsc=xF_3k_h<^~Os&O3qggJQBl^xL^VQj?Me+#&sG$)asOqa@sYLDZN zhU9_~2WGT5a7aKqt<3T4j&~ZJXq=*)q_FATzF9r6!x+KtY`km3jkU3E>)3cl{MLnu zT%wn&(IEdSj<<_`FCBHgC02R!D4Zsf8LG)-m}mtOKAMaWPLmPzL@2#L>D8o{0s(GR zPUoD?aL4O{pwuT$IgLO;*%LscaglhX3e_YPD$(#AIngLaP2BuzI7S}IJ{@`96g$a- z1-|(gGIv=7evESG36(n!D!t3}S71Ml5!gej%NOJypS~z#BxAFVBAl@BBUzGP0%y*HxMl&Pum)+4c>?0eHdyt3mcIw>+Z@u5HPwr~8dAj|Iq%_-m_c(dUK@l}YOqc@m54xQb^_D}J) zf5&%U2w%BlF&nWyg=kGN!q;1NbjtxJ<}~$vX3dn?DbqSemtvhOAJ*nmsnY-dZ~z62z^m9cA^?0Ej`3gF#$XcV0$?* zf*E}cKZpY!YMH@%)Yis}`oO>rvm-o~E(Gc;zmYxBXzwC$OYi8(n1WhYJsEByxtQ1h zZ(;0(6&P3aK=Q2zVy;Dhl!q|$TTo*HTdCK>Uc!z-=*q6G9ldu06}17Y4&;hBksE8m zXj+8UBG&8cIX(%f`!&%bdY~0g#dlN7v9q=t>s4p4R#lGjr2%*Vs=<1wep_s?SU3$9 z)58>1el$`f8_a^MSy0K9(_nJ>K8ck;odD_ts6 zKU4oqVr7_^SN)y!cM4hm5Z)+HuBABC-vI2g0Ii4bcau={H`Pba3L0)WVIL^X`U}w~ zMoV)pmnO9mJNnk+dMEWT_)vZca(R-uV0rrQj$76569V_PY=bxQZOs&i-dvX;&AFpA z;?1!ls^qtzR`iL)R~0#p65pWnqH)IFD%C*0-+*0|Pu~LR=moBv4)j%YmXFgxW`2v- zOKTgG4&S{WC!WU&j1`;`wxf9Wi^dVLQCK^pcqnim7L9AsRUB8;2(;`{7}I^(6ulXS zU*_nLIr2t*Sq^g^5XmW$N`ssl01kG>WL;6aqj;fh6m5iD9b@i@hAt)|T$*cjh6~%r zMma$mxFAk}WJ__f622`x>U$}i!OSO!L6qjlfckqgnOC9F1Aqh8abjWvd5L3F^CDb^ z*cj@KF=@3lo9nmuF(6t@XjpR`?T;>S5j(m-miznA(2glT%$b;M?E#nkvGLQ6c6GP6C14A-f3gQ?qlW|el2T+S{4aK-wxl3R{AIq4uw|z zf;VeJ{PSRkQ3-3sGG+c{T{i zn_DniX3XdWGrvi!c1K5}(HvLnl0v1{f|Aqg*p-dRXpRrJxVq@UVMo1=jhhsZxe@Ng zL$3-~XI>#Wn%4_QBvSkztwTIjqH znpWfBE~Y1h+3yKs(>FedmEZ6284uql#fl^nKee@UxsUSSDo(yIRGRIf=F_Z?{-{@g znct{AQ0Ws@pbklX!wiw%Z)3XkN%oU`ml(k+miFgultx+M1Z>Vv>kQCPlQqd{94eXl zO<~8=j)}w-G3GZb=LxLJk!$Od?59LStuO^;5y@eS@A;vMeDVu5A3ix$Hq#sJ1Kr^B z5|CBsWDaT_`w+NejYDPE6zVkJB~piZV30@j=0YO0{-QDI4@wAe3uAmq#R(>9CtvSLIVA3c>8x9q0=rU{Zo?z~fX_FqzbRLfIl4;a`2W2eN z-p1NSH0Nz@@M>D|REitVyC}u<-A5iE8f>~bB<{t&Gg5eRx53d-_mN#O5KN1dFAcf=C zpqMqk$0BX88d?mk080HC_z)+By)H6Ky}tmRTu@k#u^LIC$!5Or1wQ{d9kH-xiWevS|=TdS+v1iYBb_S^Iy#p6U)&QS5V1?Vp&iM&wblnD-zw0Q#$f` z2F>#^8)TOhI&z+4A;iV*NlhWEoMq5E+*Ua$RF#vLq;uTp9sGb|0CA#vF^s~kf?Th%jcI~c2g&VP z3sBdb&clvBSBYs7&t`YQ*0M#7>`7PSK5ya>aC3pR7h9;`UBCB zW0Ca;`)+6PHoWIJTl>6BmY68rR)P{Z$zk(D9cMnjB|DQGQO;G9eW{$>=1O%hA&yt%+=6BE1Fh(EX| zBhH*6^osO{lHpx6YsQWmhw|EaVcl%QLQfbCOI6&CoUci{C23nwlH1Y3?MQ<@4853L zpEEow)mXn7LuH9Jh}mZlGERum=!3RHEstkY7;Q0n!W~=&qY|wnmPOxL6Mb(R#0>e4 zC(4CJDYRIo1vYktyPzw|KT0uC$^1H0;)QrI-BSEA%sh^qxfQXF)Qxa8_=`wsF?st2 zpcEbEPt%l#PYXwt`2dtHH>8zlICn|A&W)K zR>l)J=Vkj1TBD&9S&E-W+;6|2?*N@7oc+-G6mqU#9Q7`Bzepm-C2+J>*7~k(*kWyN?x1m#gwq`5W2%KVxls%{GPUb}8>+LaN z#Yiog`>8~19-%`34`6y6flLg=zWlg0#?hXVXHh(wc+O z?ZflJy30??umWlMyE2Nd)J0eAg7vwNE=U(q3Z`qaO;_y7T*0~>Q%0Xqx}0UvoP-1% zq=m*iAwD^e|1>`>qyJS}-u1cBs$*c5FcIfZp%yG7q7+QabWo^nzZ+9V{Xr|R>f*Kp zMM9-NxX1ZLGE1DTwEP6_?;{&>LzDwPJp{c(>^?O@!HkF9Me0P_E>Ji;m2Ou>cy*3e zHo-Gyb@HGM!(Y4mA{s{84C2YQ2r+FUR%;{NC1e=Xcb=OoUYGE>pI;7#!GUs%Bsofp z5JVvpBnY_yxwKCAkMfNjp`B{ncTrzRJuUrN6Zt<1Gx)}=2NK2SODz#=;X^^8-ZDn= zDGsUmyi&0IgT6Odd5q=!r602Gm5)clk;S&gmO`=h`1&uBLzqQS4z;A&Q0j4BTfj;i z>M5mx+P!TXzS)l2Ot-1D{lV98O}Y2HAEv-p3k6cCpVv2m0(tfy`h%$N6EXb($AoJG zg&4ceYgfO8IB{NBV>lk?~-^3?gQ2>2*LqMzNsNOj*d)HaKlD8E2k(mXk=o zIWpUy7txHPGWku!jE8_TPyYM?epKSJ#AW=>=c5zt`lArP!=0la!U^~x9BwhZH-I~e z0oh6YkPVAg0u!mG3Gs&?dI!9bd!kUkLi4d8=Jwo*_MEfz1vM+0HGawdMi1 zp&E+w`H>j(73=Zs4{=1BlGM*qo3a1OKaE`muXHm=3G|1lI14^cJdBmhC&WtFU-(79 zuV$WkIN*rY7|A>MU=EXmuLVLlB`j%;>2G*m^n^J4_;KW&5o-UqPzCv7<0v@HLJ>F3 zVQ<~g$_s^Rkb5B=5@8(=UWLd%VEYnVW9*xYFTW8}X=g;1hSrVzE(^NS@915qDNFG6 z%3{1NflBoyo6p5f$M@i?@%5p?SBceRQ+yeeC#T`JMApjfxL5ZiB8%U$QB80U&QLW8 zzwoh4ZC1O~L3|q(b}I0fQ9Yay&J<^%v)0++eC(XS7d)l$%|b)XbtD089#9E0%k1J> zB5}_eqs(UeuIL^0CSfR4uA8*FRR;Cb`HfO6aqQ0%duqTQKwFJKYS;}AS;F}%( z9)`Y#!B;E%4GO+J;jc{abqRc{xUQ-c{I>xpmwld??8!3NB`lL$2ID33CAZz>2_fUQ z!;W&#cT2zg6So?+tIMF5i@5C}UlB5XwUDJx#kgG#+I+0N%`d$#>Q-gSIVk=^aJwzW z?L^St#yRY_OLNOZ+K^f~7_Jrq^VlV?3d)X%K^ACJVrUH!QZ>*<#L&=3s_~%ph@m0% zh0cN&lX}!du5YE$_BfT)9%-dcg(}h5U%G;y+i{%#NPp?D1zd;OT{W>)$Pk_3Bo5Xc zQW2VF5ph=&Ukk{>(+jvm|5SLaMc@wgHxFs|dnKP=FHlxk`0gYm9eK$lpPOwzxd_o; zslr#4RA17;yF>vus6n!Cgo1WKwT0Yzb-)j~cu6HrM`6$q)Fowwx}@wSwncJF_K@2i z;(||GD80TrZyvr(npf&1)2zFu$Ze#!)V^4Eh0u={np$dm)E&3>-Eg7<@Rf~Tf!^o^^Ex=_$eL=9erfvT-^+b4NnzEHZ#KuuasCKd z6z`5$$zKJdtWX!WM%)CglH6#FY*j=*Nv$9Em;pilqHdCJwsF}1j!1Y-BfMx`l**|% z!Z7&ubsZMJHmK*(8|_kG<9oG`Q$(aVMV->(G73R0j`*w=<5Nd`qRz5UhkYiqpOrDO z!k9!~wu7SZt?f#V5!VOVT_i(lNX8k;%{a4-L5IJ8mi+xQ<$!~)-{H@`>-M@mXtV=I zUsU9BTqp-9EhSlpiQh`GPGhdMy@YsMGuxLY6`!_1fqXEP3-D_N3Z(|{-AS|)naHa?py0bT*rWrrwn}a+1^u=@7@^QO zfzn{N7zY#4pUbb=buv`iv*6LC$PZ|@Kgiu|lM=YbY)Z<_F|J2j*BFN|7Rkj0UDFOM z?Rc|t>IYTiJ;f?=}eJi-_2Nj`py@Y=s+q6BU{9*|@inlSLw+!jou*!rx6G zUXb74=N^(mvkyMR2~5z1%pesA0W<@LEBL0lLBJVb7|Tp>PAATM`i(dbmE$hpT#n~KI}uQEZ*!b)As67Bh;~E0I&rZNwjcu&bZicj3RupZ9_(<% zavlxNIHeGmN1XA^KXbOFhQjSGFNqMt!(GPoS9{PcYai52BvK;DVzI1*;-QI_D7xv3F z#q&WsuKB0sz%?2}Yr>=jG@{#BXS428WObiz)6j!_Bc7B7d)~Mnbh=wq@{AOz0FxR_ zLkq&J-twdtqv)0d+lsJmL2DP}wic-X@lO?0=D}MD<{G@Yq7v+A?}5Umo!V;nUaUJ- zA7*iA=uP+p=^o-BYeQ9Zj{@6KNE?yD9#E}q5a-2sCkRRVHdbbu>BqS)-W}p$R{OEe z0}ua%qO1p7I)B4`0MbcmB|h~@1*i{zbfVY5H^t>$+B=M-Ej1tI6?rR>e>mpN%|D8_ zV8uSDmvq+7gG@eIn{Pa3>D#lc1g>lkS!vw*aLWaw_i9q5E@w21Vn32i))C@7x9{A^D9? z76$D=Lh7d2QSYhIs&k+dKY^P|h(czGn_&V<5EgRRyw9$2(}f%Jiyucxy%5ECl+RBvB_@9EDDwgA zXumn;B;!SP3WpWouVTKC2*PS@!{VM9A5miYt?>Ef{40JmhEsZ3Gmq5z|=yR+_}f0-1#3BV-SsGu6dnK81L0kVJ`zGwvJ9lawaRDB1S!3e@Uq-}>OGi>)MBE2}D^iYnBv>xE zn4p%vEh;wrr~5x5<)LufXB|i|b-=$f#y@;F$+vM8 z{M~N4jZ5M#k#$h%9xlo?jhIZs`$OJCP#^XlhWe8CCdU_C(C1RT?IYx%z(n>W4MkD~ zY4TsBDe*t1D9SMv^TpD*ovJMEp(=+vrz+rnsbt(G^|Ag0cOI2Q+#P#o4CJiHtvitz z(RflAZ;Ed~3%C*$YjvQ{!0m37GFvJ{r=3d|Hip|jWn1yVV<;Hmoj-ITP-uVSY>Z7Yx-HDV|LZ-!1wv+`Kd*hF7wPH@`>j3B)ad?g+XC5H4}c7u?0e zM7MrT#NA$e^B3J*2Oe}IRuB%AWF5Rkr59>*BrAQ4`=+S>q?@N&x+F0KdFbLRWcYyO zcJcmA@>(C~nY;}y14)P_J*EVCNs`bSb{#zzrbS1b;-o%_dW^}yBAfs6cE3MD`@=21 zhz}@1tT5+*v@*(%lii!EgL4hUgGNI_5Ad=5c~hjZ71}?=!=d$9tg(_y8a;wh>kgPn zLOOp0uyiX|RfU_Fv>^Q5ppeuQwV@pDOT5fKjt4wK3po`o(JNx@+j6#)m@u&aIFiD^ zs%q?QLl;PX{>hLx5I^#5=fXl#-VuNFX-v12SpMrY`ZVzG9W(!x7m@r1`dlr4d!IqU zuxRwAu+~SyB1&vn>-Bt4=-gIxu3b>7wsHTQ{K*+miQi8?7fXrd_mh5v`Qg5@n7T>z zn`$-n&cRtZ;%Dbe{qGC{`rv+T6BhLajNFfakzP!BQqlY)-Ay3pgzMt)Eg0&9ZR!Qd&x??5ba#2@Il9S{d{2s}rsy6mox2QMO zTk3PHs26sMI3=8lPOj6$Y3AJQ-0sY9W;(N-C!A-n_xhG|7^7gCuBWfU?H`wyFeSnj z?y9h;!cR$FQjw&RN#&C&CS94-EU9f$x1?*6dM5Qwx-IGMqzy^ilRixPEb05CGfC%? zL&=4b%O+PyPEF2C&Q7kE+%&mWa$fQ+$+suplRPVVRq~qT&B-sPsFe7W;whz4%BGZ0 zNli&lsg}|?rBBLrDfgy4lCmP@xs)$bPT(5VBB{kvOQv3uS~j&pYL(R5sjXA{rw&TJ zH+5m^nlzE-rX{A8PD@FvlvX8edfL5d&!)YXo|!Q>j4w03&G;4fD<@~x&TNp`D6>gs-^>A-gEMceSiIt>iceJhrs7W(^Q(B( z>SxCvatJn5`();VuGKR~`n*Y$N%J%e+0GII8Gl1K_AB_@?lN=~Yj)F`QC zQU^b0uS=SoG(Bl!(vGB$lRi&6o%Bnxhny{zTrN48bGELZvtyGdBu`GB!8!Y4Bxg&e zl!@eQr<5+p*%>LbQ=Um#n{qJa7;;vn7Ui5RgPg6HS~InAYTwj>sZ)@%OOUgQb2d3G z9XWe9a`w@*-Sm?u84qPF&RA6-XLn@0m9abHql`~8zRLJMGZ8tPomn@Mvx72+B4_iE zvtL*Iq2ie;rdqx1!iU76#fR3O63E&9l(QP`#CaL{E1WT;o|}Poj?*Ce8+wC25BK0r z!Tpkr^_7;AUkSf?;N@cs&A*i>f8kd5zYde>`-9(OE&A{_A&w0>y8YOwqi-F~|e)bfguLj$o`j{Cr@0IQj66cpq{2#=}Do4?aBLaKFQ}=fr=9;qu_02TvXR;^4u9 zpB>zP@a2Oq9o&5I@q-DU=Y1g$jDYPDa=3R-#Sbgiu2{LuLDSYu_w3pU*5c%7oP89| z24^$WR{}UYdB?>D0o8fmIp};1{WOtC#mN!$llTr%=w*ge;)0voC*noWd-Ts858L%# z*vs@9d9Az=-e|J(CV8_w>K9}FJj|NC*+lT>24rtmU+XhzG z<3_?=-uvDj*dVVxq!8-45Y!NAMaT_R4rPT9BU~}Lkksg3+}ybNaZBQs!3HJ#_kVF~ z;bKGFrVCwQ=Wv+L*SF*QgO*qg30;4;&&8I;TIIn`M;eIrmqe4XKs$}phuY#=Ct|N{A6mI%e+;l zvb;(E>DJIYOcn11Q`OC;+eW=LZX;7k-|TJDRpmI`30Ys)(G76(GuE6j{)90O#o^>o zQQTfw25WZZvD#J@qf9n#s&0leZ!IAaUL#t&m2fA}jr{u&L&YtS8^06x1M-lQ?Vjv`E2MaF^n4=M1qLv+ifH zw!9WA%4@LR_Z)Vg*Na-1)6~GsrW$U2t%=)StK$aPES%J;jdlIH_-5n{Q6FD1T!Fh^ z8{ihNhS+7h5_6a)xO1l|&bnWP-L&^abMc{Qhm+1%`{)qR4_n7y%deP~iHsklbUE`^joQ}A2x|7q{>7u)+hcPq0Tdmcd)jG9a zJ*S>m8=V%kqwchI+BxkZ6|}-l)mJ;Mot91;^_tTQzcjv0y^h}*?}OhP@2R#pUDeA@ zH}#6sUA^jDtF}5loW4#!r@u2mz2OWrA+^I91bJhpGuXKvQpels9qb6-DObu{<&$!W zd`d2pPs_#f3AtR}E2qnca8B%I+_HU(oFFI5J8;|fT{t^-H+E>}$%o}5az5_Hd{jP; z8@L~nOYz(8E9iIGRUB^LPEe!LK6eDsApBjSS!Mj23 zS3~7z_;vXMY8ZZVez-iSM#wMlJM)KB9)5RzlsuwFK^R&&yatrdm$aolz*xFVWzjrxCwUhn$C<`OYKG0_RbjMSRRzq|T_H z)i3H-^_%)#{h|JJ_Bo$A`<>661J36dF~4xqoeao)6`e}XWw_(LiZjL;>x^@5f@D3~ znT#9YKf!5-kJLWz9_O$(-J9<{=se`ib>=w_I*+Tb)Ys}qbz1%8-Rs@w-S4b)Ryof) zt066}aa_l9v}3%P7(Zt_Z{Sqqn;5ex^*1zjN^w0WN{hR*9)HU_=czdTb-7YQ1(mI#x z(TbP((R}ZGZ5o(|%{=!u_h$DN_g43Icd|Rl9q&$XCz^hyuX~3(#hvBe>&|rVGuOI} z-LQL|n~RIR3cK1(c8%M^O)}?P*S*4R=vFjm-7DR`=1;e++r~|GFEM|(70h4eSGTNN z-7Rl^ar?Pd+&DMIz1*$lc6WQaX>PjP&Ta2r>Xvh_b$hwp+&*q^caZtbE$t3)3%UJW z$5n2IE8Q}tySd7}-^?`kx(RN)JKJ1mdYK-kk4ZCK-KK66_bRuA+stk5mT-%?#oexM zXSa)6)J=4Yn0&XB+tIzo3^2XT_2vOH$Fwu;%{3;~Tw&5pH#5*IFr7^kbHABonwplT zmATrqFoVoPrh{n=8S6pQ(R4Ch%zfq&Gut#XSK?O+2b<<*u6xpJ;C|;_?e+DVc>TPq zyx!iGULUWKd(^ApRrTt-UwYNODqcPJn0K=`%4_K!_ipk=dd=Mv-fdo-na{n~5i4f3+R%H9y~8n3SVjo02A?2Yk;dpCF;y=LxLUI*`b z?^bV^ceyv->+Id=we<#iwY<^ZP_GkYvhH54cdb|3&3AwDJTK(_>Hg^c;GXeZ&$xfM zzq-G;KfAxVzq{w$Q||ZfY0vSr`=JG^dQSFelL)9deD=k@Te z@S1v!y*gemZ-Cd(YvHbRpLCbHPr1w7r`_f5GwuraId{Fg&Ry%SaaX&~x*OcB?rZKg zca?j{J?wtr9&tZ#54zjkJ?`u74);xWr~8(>3*Y{~<9_Jwbw6_Vxu3fG-Ot>Q-A}xV zUM24`FVlU)E9aH>DtJlmyY6oHJ@sPWK=xqh0nn>jU_D1bK4D-LML^DC=o!$nfx3{*zk^=S z0z2~pQVRp$fzS=C46LKk&8rMv@xUww5{WC2N4Kq9q3cMPcqixdFm zSyLY+pf~eT8hUe}1weU5c|o9bU+sg^+R8^Rbjo)^9iWX5N=I9u9nc7%@*oi34n8_T zzXs?CbOGp{&;#h~qaSp#BMb&;cG3;N+z@gZ-6SX=U0Xlo?>3;Pg+2himxZ1Uo$?*P zT9|+=$G{Cf0+JX*zYD#u1tfF<>D_|Ls6RmEIS-(+Av^{Q^6><8ir@9XN??eObSjI0gMCA3s4K z2T(qp1I7cWvr^`;H-nq)7wD*4CYA|yo0_NWx{SbV zfMHHRf6~I7hQ8Fod<*?43qx^RW?^bWf7-%a27S4Ow+i|*7N#=v6&8}xM|lnCKcSO5 zz^wuOSqn}1No5I`D$v(hcrQR-YhkKFr*Z<^Z0PHO=fJZXbSg8zBY)3ZxQ(E1v@p~z zh!=nx>FKTlhDZ8~7Ml2Pwvbc~FInib(6?CV`p{pt&~>1{Vxb#Af7JprHzBtAaG}5E zLqXr>gUXcZ6M@QfyAK2X4IgpPDPIVMfH!>@D5N8pn6Hj0p9gN zY1|FG2T+}P-$zO4ANXhneUFbe&_DFi5<1myLMz}SAJ;(t*hg#VpIBfMnuWA=TFdzzqPkc>?M^W~COLp?~4yJLrde+z&Chnieud%>t0hakKux@~j zW(%w!(ANwMtR>LbCJd}9(02w5tS{ih3k$3?&=(pE+VjG^oPpH``p$uYbqE|LwZMu5 z4!BxiZGz6=GsI%(6doXwp;H(D^;NQj1=cX=+&P2#LP>l9tZUehMZk~xJXzX;WENS* zg8Dg0{sF9i(79y>^`o+!1<5Qp|I4604(EdzB-h~FE`$0)nQTF_jHECC>i=Y_1<5-y z&4T(!N&W$nZzP2QP@gEt9Y8XWBwhgZm$H%t)?$PtJAnEvN&W$>&(Qfy2K93?%YtMg zS=EC2P)Y9q)^UWq+=BW-nQei!9bD{eLH)7Ju^^dCQWyaBsgnEySOcPyi45u^Wv&Iu zTR2-trvl=Kde%q8ntP`@bY9Uz&D&RY|xU&OvUgXA*W5#n8;ozSneAel@yvY@^b z=kpjOqsb-~)St?$EJ!YsO)aP&mCYZoFAlZ(7 zyOe*w^aS+279<18eiqd4;v5fyWH_9g5)@PqXqSya+n3lhLY?6>W}3J3zGGu59(WSGK)d7Ax=>-s6UpYEl5U` zV=SmYmSZhQ1|->tA)$}6AX!h|?8AdT-hyO4d5Z!h<1&z(Bv<1oIs*DAVhpMav$=d2t3mWTG zZ3~iv)QcA0F6f&rymz2)vGC9a@%04*=a+;++a`F=L4V7_TMvDog|`9vrxxC`(Dz$- z&qM#r!lN(`Sa=(uQyKtoE#`7as)M}u9)+$fyhYGq;UI6kCD2_9Z!vU~2fXC{t&qg+kdmvw-_SM|nB3 zeYAl70D!zy^PxWpJOeY}P`<2$`32~!fYm@-V2uyTCkmU;3ZU>%Z=5XPZ6D2{qs}p| zhQ7;3Yv}L#XbF9{k2cWXvrwqR&ilXzKrdhquov;!2K^)8W1tW4iI1MpQCA66#~svF zMpx*ls|58j^v`^BgO0jNP_IBoJ!N!yt}G_1k3g?zA?HJ{ z1Y8C;3!qoFkdH&JVj&kn&$5t@L9c2dmqM=wTn@j_K+gthAP+t0HGx_%Q`~cbx-e7R z>se6$O7l;B73k%lHwBu(OmS>(p%5pH_Crt<$Ckj=FjE{`Stx`}Yj6ZbaY6kiD2iiS z3q^5h2ebzr@z5QBYhW%09sLDCQC!eR{6CC+2Vhji_V=Az)00i_$!1dsp(i19mfjMI z)PR&wq>1#7^j<}(f+ARm3IP;BK@?B~?1K1w*n97lvX}37=Im}3#P|Pv@5kAkojZ5t z%$b=pXU@zL)KJh~3>EdE@q(Z>0PO=ne^u0t{D69Ye5QI2V5p5iZ)MQDp$}xxJfov8 z5mdB?KA54BT%pqhu?Mt*p*8~@$`E@&hcVRVpu-uW3UmZRZ2@{4L+k?`$xvH@j$(-Y zpraY88*~gqU|iA1GSpU}w=={OpyL>7YtTCw;z`i)3>EFCPhj9qBk7CLC!&tjo|72j zDbUFb6>Y3fVTePZQyD6?`80+&3`)8VsAzkA217gzI+LN2F05pT6`-paG>7Y}87lg) zzJ{T$2VKihsZXzCsCR?j#UNWlr*wcC21?%nWM}9b7-|IQMg}4u6@3#!jRf7y5YK>a zVW`ko#MeoPBcS&%RMOvj8R97DHiim4*0(dnv!K-90JRkKeug*(O8pa1Nyi^xi043e zGSsf1G#&xsdC&(LYBx~ow}3bf`Y=Q74*Cc~oB-X;P;UXPWQZ3)A7!XLK_6p?7eOCq zsMK%vFvKZP(p^C94O+zzFM;l3sMMcGF9C5H^Z-Nc3;F~@oB<`B1Jr(?q-TIQ3re~L zsO6xfPk?wC^e{t3|I|ru0PzYawGE(Bf2H;S#H*mx27r1iD9IfVuY;1T0d){4$rliB zfRaoBbucK&5i%2Rf}Uik6`&+9K%4_583F20P?8HE&V!OH0CgBB)gKUVgHoLVbvP*1 z6A%|bscwKe0+i|lh<8A#4uEnj7DhHsB0i|~X;yqA$AE1r}rF;SLJ}Bh{sJDaC^MLpOl%4_9aiEkA z5FdilcYt~aDE$qHk3hXp$K&(I3_S zhB_JaYlfibzG0|SK)+=O%HunRIu-PLhM@d@V5rkTe`E;C`zMAv9rR}g&MzzaFAQ}C z=&uYx@BEFS&IJ9PA?W>oFw|L~e==xor2oZG!$JRM2rA#uQ1d(pjR1! z%I;yPl&8%QRF7*6buR30g&|NULon2NpejS4eul2xX{?LBkjVvN2G9g1Q7Wf*~L$Ba)#m1&v||$jops)McR2 z44lzdj2MQx95j|8AWI{Tp{@XpX9&pENMNWdK@%AQGB%PJ>MGD=2CY$z6o$GQG?hW? zRU?g|t^rMF(E8QLV5nx;|T_>+cTbI(0V@OAcNNM8B`{K*8drY85))4Y2X>W>m5*%-BEmg8}wNQ`B5^C zF)V7M=NPn(%y^z*Q9X_`EGqj6hP45d>JMm}Kwn^J8$n-WXq!P_VrZ29G($uEGtK~K zQJ$|rscoP~>Mx+^R|E@vKjU?VwFdMJh6R~sya}Agdmjg-x&h=H$oLO~`~ewMH^`p+ zHyIa!_wZQ<{eWR%48gtL5*EgXjE@)=wbjSKXGnhv^mE_~e101AONK`EqjCcp>X7j@ z0KL`{K)(gP!)Nq|jPDs*6zC7YkEj>v)lUqIWc4e9dYo(%OT0juyq%zP@2CeHdqZwo;WySy~JK0s4 z@eF+~DC$Na+bA;;NWy2lJ2ROL?`8G2XK)H;@pjixBqh#hXXf2gl zk70HKrF2b@59*QGmO*Rc%+3s2V`NTX&^kMF3NRDtDUVqUvkNHtD8Zz9pq~;<)Ial1 z0CghUCvzS{P#*Jv72s3-NM3+R?_9+&A(u?(4Z$Q?LN7C+J7mvg?qL{c<4ouu!9bg5 zKEp7e+nGlg2HHRK7{mA(;V&vfgMK-~85(rUiMAjZjX?2kf(Bi4qCNzp8E6uKHqfAd zPRO31eFq9T6KI}sW;3+!LF+J#rl386UMN50?d%No9MU%-SuIJYuPw4w7JhKV+F zJ_Sn`++C%8FQEOLxxcSivCM5hJbz!pwF5MKuM;6iFR_5Od%(e>hUeZC|4AS zNx~csinbt_tw1$~83L*^Ovon7V3-X-O@@iK$bwD~%rH>s8NsCIf*B_IK^El&n3P8- z!|V@A&j4lyD0F~e*q{*%lim}_FwsU?4u;tR6#bWA=7B;-2uQAEB`}Ojph*nlDk$`Y zV73HJXPCvH^n3yMC7?wN6Y|WW?*QWpDAgG-%Rng|V3vZCyZ{rz%xcXr>HTdO#%0j9 z43pm3j$wE}+cS*6Kszu@Dq}~6Ss%0$!%PG1%rO20?ZPlCK&h;Ni8^G_-+)Q7AIdPD zpwz~ISr>E!!$hCRTF5Z_fkMv+<^a&ez!H3Rfi4A>;d58e<-iJjP61uXFiDqIG0a;* zw=>Lfpt~4mU(g2`bfP2cA%-~+^kIfc<$8o+{0+LBVJ3oBGR$G1k21_q(8m}i)%9_P zse$fcm@4RAhM5Ce#V`dZ#wvmd9YHlE$PRVk8G-?sxR4jYXalM<%ypm!!&nUpr6U-S zfh&q(b_Yed2?omM%4C=kplA<*30-$(Gfa#tE|ia8ps%@d83yF(f_@T={-8A&24v_e zU>ImG7uttFw!8~%L@@e*Qkek54Z4kCwgp8Sx$Z+5T7%xtFgt+m03HCp9q3Mm84J1# zco2N_Hy7HDU{d}M1CQV{##7gBhKWAvLVFQRk_Xz0U`B$Xy$HrN(8n1j#$y-Si(uXY ziuNLyJwRV)7{fr{U>MLDh)u#635vGNR*~m=Pz})Wxhtr_Fpy6++J`{vo@|R@GzSf0 z(7Go(m|;LyvqKohaL`bOaW7~X!$5tr(S8I2GR#K15)9}@HtI<*)`Ft`1fwk|!{`JGSrZJjMK;DWf-wR#o?&bP#rQ%nx`RT$2u3SV=rO@41I0K(FfbQo zqpxPC;xlBMoyIVFgJL`)7;8W?7{)!I&{cwQ7bx_UV6+1z*#SmNQ0N)KXaP#H1B}~1 za~MW@&|HSGQBlB_Fuw;ydl9T=pen=s0TgXVupoyVonZ|DH5eA;oP#zbSQVgXM}pM` z6zxc`pc^@8M}mcN=Aa!3)*w){Bf)Zmq8$n5XP{_9f>j8LHY8ZJLD7Z;t0^ejkYIiR ziZ&!z^+C~w1giiP?MSeifT9fv=I5YjLxMFO6zxc`CW4|32^RDr2W?0&zXU}a60E79 zXhVWE9u)0Ju-b#7JqhNwplDNqbtfp=lVD8%MVk_=I-qDzf;9^i?MbkTK+&EAYZ|DF zVU>brGtBQm(Rc)F4rngJx&t(iVbuby!LVk6<}<7YpfwrR6i|{8V08hdX8`kSP?9xZ zbp@re0@eu7x(urxs23LHM{)!|DdwkYU{hTEeg< zgEnGV<3QIK@CVT}c)_W@QJD78Ic4F~POu&92dLx432v=hS`1KOEk^#mok z0~Ya08CE|~$``OmHq-`yRSrt>0xXgf)eSJOfs(8N^EXhE3-Y!sP%1ZIUIFdRFnrdmI+Gl11tlyKf}BXI)GvR1$ryP{1bE_!~6qu5HJ|;{Tp-$!?ZzZ zj2H_3kD$XC=C7b6yAgPo26`LA^ni{8pi`CrrM3smtDq!DzzPAS_5iG4P-;s6RabII zZzkaLT+oROi|R`40azph(lfv!*-T+rRKKYV3uVoj#;{PIoaqdU{TSfnGf z7#8Ui=^0=(0-eLKNM?63ERq4053pK*&SO}lNAnrxWlb|aZ<`bZ+ z80G=c)eLh#=o*H(4|FZVtO8xfF!zGq#V`+ot_L>YUB^K;GR!@on}8kQKLz>#fO1)( zp!6N`Fh2&Rd;#+#P`~I!+Z<$Wrq17=qn79o_n2Po&$Y@VZH$RCU744P<|H}=BuFZ0RI7>^7}9F9zG*o z4!sX`GT#NIdVYe>l$PrDIqH=M`US(v1^o*64*UerpBUyT(4T?dz)uCG{`MF0c}-Dr zqkw44*N|r}WJE9`K7XNk+wg1# z=onxuKBK?n#V`!CMcxDe{Y3v5bSJ~y1^PAc4fuUPQU1JNP-f^w-md`aVnQGDP?x-G z_`F$B3Jiw10n`L6@S#(6nlNaut4>pfj<%{7281Jjv>jfpe5^q}=RqF;@P6w*p!?T@-9`6 zPfm`nG~0D++ATEHOo>TxMYS5;Z1j{!`%g-mQBZ)2DXNkWc`h?5Q2P)}mRTV}S5bEz zUU*#@rKoD7GE@(@OLcYNzbGR(r9e0}7p|Uifoj7%AKme|IR2qHe#mpbIQ^*@Z0|HG zF7Lo`(vOin?$eO@Td``cBET@M=b=1)zWIlr|AHOBx6=Il6JS@Tf5*>%ma_BbpW^2~ z7sxjc`}r^V_;xYX*UPu8XDC|RpU)tF`WJoaNj~PEe*P)qE9y1$8U1<4EmDbAnz|cB zq?BfGa0W}$Y2lWXI0;Bq-C&O%c0g=Y ze~z>BZxd7O-6KU`JIyW=T{f_Q*Vwh!*hy<}SobTGoy#I+j9vq?;CW>}sHU7i8B0*c zSS1a*UDsX9A#@F;)D+#&^pPkSX{TxDs>;-1cI$DTYojLCvMrkRp&#?EeWQ;zrlYh) z?)p$WB_>*jSP@@=&lNf(-=YkK)+!*^mReV#B*aBU;3kMPk!A$P7l;P&2^I>LWtwrZ z@$o2UNrH(El&uyQMQ5w8E<1EfMXUAQCLW(U{<*1>w>0eE^5qSc_OJKv6k*2nwyh_Y z)E)cR`PcrwqkZj3&C4GYEx!6%G~Y?OA{r`L>Jd;pLmw zX$)G`=}EUa{Rv-ss<(N`&p)Ot#sjLd8|~Kv?H8sbVZ#cysQKGV)BNpK!+RqFbMW2Uv#&f|cLs)E9utP+y-|u&DRkEhvQ$+U!cfIXsIfK}(!Wk+pv!n~4Jfd~ zksTbI<}Zt@xRA?Z;H$z0Ezl0KT>5Y>)B5#XD!ZlqqAZgvows1>yrt@`RJIjM?JyMV zaVnzSfaECUVv*cqAt%#1`4P*P#u}6x`*_|D!Z7r~imsy$ z&?Tx(W34N`4OK#^S2`>j;~Z2Q2@97I*tV)py85ve5v!lK>#egBRv8s*`JM6|Qa2L8 z!1#sDNy21Ptfqaw3J?1}4>%R6^aqR+$Em#RAshOmM zQerNL)4~-9sh-dGXa#W)So&(uHkKFKWB_!%7=1ilY2$W>h2nmI1fl7vxH3#DrKwdj zcwnkP8PMCI=oKb9eoF=2Jta9QF+Mgj9A}i%MY@G9Z)7QsqG&m7qU+0^9~E8Lpv2+K zb2>~@o&1OW!Qh8pAHVF09;0VJJp9QCM-Hx@W&aW<-W+&7K@1Zko)95V^egK;Zt|Ev zFW7I}f3_A6-Q}53*iOn=mQ}W)3l%l37hvF!>?L2$QOrL9qfPQXFH+qgOXgQL4@fWj zH}j7XAF?1l4wm|v=caqUU_B@!bwTrmiQY!DF46_+C3Mn(5g7j#I<#9ofA8I^2JKbX zcqSVao+E1e%R7*s?s7q#7xIl!5@>D;3$`>PRL7mR2BsujDJVkJkwL;V{d2pbB*4}{ z`WR|T`CmBAO>r)~joyf!TwECE1cbBLsqfiY<@vK}=gulMq{`D#4e|V`&s%cUq=IOd zmwbxjT*7K2fyaKt#3$+vHk6G^e>}5scXs$Cb zHjz-Nim0s9feBBy#FAJ3+rv(H!1LvqGkSF6b=QO_=)M z1Jk3ap0Yl29H5R>ZRbe7)FI~k>>N%{{hj$zF1~zZe`mhW&f$Ehzcc?BL{|M?>hH|= z**~0~>>uX81_mlD)OmaNhN$UhJYTBrchN)UstY|UJn>R)=g?P?ALP?WzUOFd zdXErTJLvWC9z)K!iX!W$4$;snSs@L@a5(hf!~*Jr80jLb)G4t>#g!)8WWMw1d8r39 zSily$hLQBzHE+I?@ILT`X&q^NO$k0A#M9TV?Jp*gQyP>B@8&e9`_YzOK9|Y+tYz&L z<(?t@v}cHXS|~k`rVh#-uGDhphXe;%WI0h=Vd3=8N`x!nadBJ;E3X6<$w@G%GNF?? z9;p%?yV&E@sj+Hehlx|v$34eiop8xcK=r8KV(8K_+F<6b<1UB^v2Z;LUV(uNtuWuv zaaBvBGL;(y>0^~xM|?a_4lypRj#{F*wD@?eZ(K2jF)?~h*WCpMhPtn-F5#9PJ?Fu$ zzkYOq77*$iL(V){<7%5BGqr)_(0j(R{2q5g4;)-A1& zA^J0hXXAZP+*micSmf?jTzo@CcP#2UKD)K6b>W+;#1Sfi4OO)J)DD++yH zbEM`r;@@<&N^vVu(lWouqb-l3-Xidzr@U4kG z(3|tn8~XLxlU?@5b?@hP`4*d@K_r(7m>#r>3&vD$R#>n>8k=2Hy6jIt(uOxA4S|GP zl*#9+m#OApEJ4sIf`cviEO6sa*AzGXD2ZIqhKisdrGlReSS;aH|9Gmr+?|n}BoI54 zl%1R%7vqSEj0nZBX;51wio`H(0W8ep;}ftB!1`DI>&k>`Qxix9cSNaTcjtEMsyI8T zq>UvC?bq~<&DD6%KxdmAyU&FSv!>0OHh0=&V|x6WHlOcV^TdxG)`WzsFN$(8ajpHQ z{W|`4RhXgy{s)%<^}Vk!zV^rX8Vc*h<<9haVgfx0(k{d@-Qkkn7+5M;>cLEFpj!dU z^8PD+-oC#|4Ea-}9qF}U;OXN-Huu(!>^#}e7DmPE?~R#T;yGBfh~EkSo8DK>9SOAZ z#6|sXb!Zd+!gr`<5q-if_(;^uU>c_BErzUhBE9Wa-SEt5NR(_9OUJrRk`3 zmQvH5huH-4ie;)wCu+%?4L>!#!;gg)vaqiF*Fk9B{p%|m9L^uJefs?uCryb20^U~Nm{W-I-9*$*CifO?bsct3qqUePu*NUxg+RHKJ4!tIC~aT#)B2EgEv1G#CnFuUf}F(Rtg3*pvFZ|ji!P^5j(3~Lgmue-#p z!xO}v(+`cjwbzt3-AX3*Z9TY?tHy{8cZ_^sK#$Uit(pxV*{pZR+>C)(&!8T%yt3Z? zQGSd=QCvUfQ@xpgGSth5{{{8)^G{z2OiyzJr$6CKFYT`C^hYT@yZMOG=E5#(bA6a%m|~-n%#)$uqau|^UR*oKOBN&7u}+KqOfJVIVaVL=K_bZh zd$0QJGO=RQCVToaPh0g_*$-ryrR`aP+)V4F*Js`x`i{ClubF?^+dsNPuLJo9P&5%m=P| zd)oB#tF#BN_PuZW_WQI)(P!m5WS_lFmeuF?mwaizG2dsuaeC^T%s+vrsPA)nvfr5R zv)?#9*>BAE*>B7z`;GZN`;GG<`;GZ832*-Je?b<0{xh!zyw{@r08am+FFnal+Vjl! zt&=fp;;!Hd1-?gjG|d2V;fS7r7S}LE=EyCRLfrT{WuIMm&@McBO5c8Y2c8gE(JK0G zd+~@c2_~vBQ zhKDcQ_b@G@^vEl}U}ZB%SFhOmF0Pk+mu#0wU{u?5%qRIX{{+4z`Afd^M=;+fe@;*G zXTFp_>e2#rnS{E8Dw*!I&>#bsfMN|wrKg3uG$Ep+qvb+925WS=Ovl_f>@@w#$+PxM zap<)DsQvI!u^$WepHzousV7Oj!*jR#Ar(j{b&>x9!Qczi&J7pc>=(L3L=|Jzdo&sBSVZDT^6+7P1Hf@$*R*%s*iT@TDx6|18;T z{`4dZ=07KGIiajWS)C}W^q~f0wtyF%PK$co&d?Clh<0E|O}yTV91IA>w(jo#=8th=+u`;oXW}3-TbaEce^iDqi zOko%)oD331s&aQE-kzW&phw2!xPmNfaq)=8+e8@Qd_%E1tfH)L--6l&^SZCDy3$Ab zveA(q?Aj{UF+0w=ZH4xd*Q-tSx$=OwK5@$U>iWP@Mvcw&!5{dUR$qM*$;Zq7PH#nM zwvZJ`z3wYbyP*cuPH{?{tbk?FK7|~T11dl>)pfc*sXec_*%(-*RWO}hf)nL{sB zGO$zI!QD0qTAGNN%VnupQlVA!QcP;}<2Hsau(9dgeQQ-_Vk^KmVK_5$vorIZ`8lra zdz4(${)^$zYtySy3bTkccGax|hhfu_;s*8W6xA)t&&$e8 zOG$`xM1};JhEiM9j*xaATpYB__V3sJtKuXyY?y#p31@DuklG_3$<5V99DGRkd>Juj zOp^iiyEa?Wd(4KCmWzh3e)!_~{)77#_it6F%_{elnQ0k|2lekCE@o-n?4n+G-O-~> zn_>0C!u3M?`=3klo~*2yGr4Y)K|@FPePY8y`}*85G&yx%M)u(DJqE4X^6Vpf?GaNe zMvNSMYw;ARSKJm--!_5)eREJ7smfWjQ4QlFT##wXY#t39DflUAO%F$yh*}Dlfzmm} z?dRd5Z032#x&*maKvu2F49H(pkTZ~Mad%4fH;{N^@7EaH@NKy}A|^U9J~}NXEjl;L zr1{SuOCr5TE=NfWOt&b=&4Nc(Ol*8l|20+J2On8}cvRSi${!c6{kz}Nn)!EX8%ujG z|Lfr$m)0&GXPk<=yyeyNV*6;f=g*d%sD45@jQRyb2a}W%caZ}%iiX2PPHfn}^R6IU zm0`?K1TET8Hlf7D$Zh&0kwn|{Ilg`Q++1Ei^3EMrkLttSRy4V#-N}LXeK2Lphxeb| za?6Tk%lGe}RhWNA)3(e0c=-Oy>t{_E^xB)}kD(~&Ke8-lKKjWPybf*9?}S-8)1WP%CNs;QfAzBmZuTt6!=QZ`F2mj%(?BPdV}AI`s}mJ& z2T3g@S%;?=cgLeCJF}W3Pkq! zb3$K#%N{L5y;nd~zY!GeCNO@)CsT5j3m5iBI? z)ydCGNs7U436^&ym=LfP#7<4xUxPcrTfq1Pd}j$P_59HrD6QzZtHI=UIsG=ZST$nK zle?!~xNGhkv!|VybldhOsmq6K7Y8-1@PUd>cXqvh&YIo&@JAC}5sPE$Iyd&4Kii&W ze^U9^vdQn?zwv|F9b3XMdA2{#D$Y5loSDN&(ak5oPSxa^yaURm3G;m zib*xh?_k^8WvwOUr}n;%CB3q zF5aD&6PsO-6+#g&zUHzb5blMUwZ!t8Z*t#(W|Nz?UjJz$M&;CN*{E%FdgHuF3s0Z_ z;$K>_LuT!=_O9B65lhXWNj>ksB~sM<_8$!^6nHxHUg&cP$}o2b%wh!wG4`9g>`#Y8 zQcUtk!*QkI=V0NZ#IiwYLZe}09WqFwKWRsBbU-rsUAa3>AefAt{NZ7tus&#$CCKY^ zk|ASpaaea@$w+|?aB6BLy;rtqSU9=a2Vz9Dy|?npl@V3O#q^Xrc)Jp#Wgwv zn-v!AVPLFKRo@PUVaV3SW?u?6ME>Pbyw=oJb7Wu^)en}tW12K}w`km^Nt^s4S4>Vx zc2;O`I(|78?dgpu#b82h%)zD@(=ZSha>N`N>iE03sKnc48#Xk^P$yHXxJY*vwcS#F z_^qSG9h`|7&3ZgHrgEr#>F3ImJ-61IJFV)0<+nY%V*Zo^W1gF{!s2u@4W5ukp;v(PLLG zoboI6V<}gY`tcswzYii1xtdS?nE3~;lEr7xg~QkFTk*Z%VA=R zrv~1;wzA)#X1DiAtu!upp1!5mLw9>L_0r(J4ZGL$2;&9$zC7>yQWZq##AvX$MQKX1 zYIer#Vj2SGj0_)@(>&Qz(sP0*Qx|f?ai8X?E?Z#57=k zdP9ly$Cut6{Sag>Wne9UYz{yq6st2FGoldthm-hJ>=$J7S zVJ7{iYQIKp+B7O|+xDo)zxu6cXP+`d+SV^@*RHUBTRZ0Js3l9Zm?daeS!O*Ay-vnh zX>f>Q4r?l76nwrHi1o%OHh#y4zP$A`Uyh`MEC*U^K7~gy_jqFim`^&({Dar=NoSdV zAdoNT80PN@K;5eOauovEwgA3R&I=93)Y=2lOQz~grom08J2X3iQ#Ce#M+6qYZcVYuaTFV zlkJLege8P0aEpcC&|-*34QM@>eOBJ}u~uSYal3ZK4coR=+vA^x!2PSfUfp2u;pz6w z=RKbvJy6}Q0qxs;{i`eMEXo$xWB?Fr;&SqGG5psMmV#(_zgqbU{(y$ViVm>i{WaH*Zi;%(}4R_jnUJvdfI zOOZb|SaqR1b1JowcCPC9z;jugGcI1vHBQ<6>|D<={3;imym;^1*tbCbc<&2%pJ`Rn zJ{{hR@kt+vI@0gdVgD6_A{wF;+i_4^?$KB-!Ht2F_$DHtkj}u0D4{^Umu7dpo}Hz} zeTWyIw^J(hG~4Alt`>{0uY87Fg)&3>@lIjw-d%bjy)HcNN%68p$;|r=?#CFE>b z`>q`kmAt|gl{6&#(ipTq!fB2m5|P$17`1sFLuouO!ryv|(~vy9`^m^(f8WPP{(IF> z&q&VSGg8i&)iOy^y15-mG&%<(u1rxwFs%5@GW>Qr2U6c4nHXruKLm5gk&u%kx9$_H z8@!hkibkWm7SrLc00-=<4(IG+;ydl!xUF`HUq+(5_qYXWt0kVDBz9#4bfXLGX_qp@ z9qder4=1}3HW>Mj<7xVYwP*&RW5cgPyM1!cG8w@nJXzt}AnE$@eOc~K5V&0m5yuI! z(TEKRhQ|t9_}&RAUT#LxtWT3ZAK}4=LU^cPRN-H3UV}l+wkI~OJE-8k#K!e+E!eg= zq+o2fW@C~HZr2NI&7FDmXZ4R^{hGG9`nr$mX|tO5Y*q@M8xBw!gaFF5a?`RPQ)O%ZM)LxxXkF_kV4tMONTEb#M`mMrjbmAkC=3q~B7&MTM$S-{<${Moni$?zyiP## z>a>h?-ZH#dY;x-rcZIb&K43e^s(T9m;^lxA%wWIw^IUUv~a4+0j_avcp+7 zIo6#;-~2}Uo|s<=Eu?;GNCQ@|=68U5a z2}>=f?g_D=kyvufFF)jR#MY*cnB$+7DSpUn$ohn!ebaX3$d>H})Jo{uLz=YEl;>gL zHr}*y6#=mm-{@&5XE?kkwcRzV1K+UR@oFi2gOL&B9gIkd zOv0KhT!izqNDEEVl_kSV;PCaWK62ImAALUR-%U7*fzI?@UcyHgiyz}oh zqSoKLF0ESe^7*&UzI^T+ghw)zWsv%c8Ox`yem>c0%s+^4tJ6~(G5 zda}ouUv(XSnV-METR?hgn{fKWlpbT`2Kx$r3p^ET-b_XA!a!O|PIfxnfez^pprEuH z0|>8^BLxuF$h~O*A=wxZrVJpIYdV%_LQF1Baph?=E2;ep>z1zRHD(foTU@Wx>Rw}~ zkc3wj6@8!nZBc{o)3cXD(80gvUv*#I17U~!UGrKi&*KpI%CqNJRMl25oAzxhs%m+H z%(GH1R39n#_fbFZIN_H&=``1$by~Z21-kM&bR}DjPNUa zHz~q`LN(f@Fer$y6%1HRJHB0t2K94ugi>5ozobD)t(rOYa_eQL!yz6O8jPdv*&>_m zQt86D$zFqZu}dR&z;ZVipJ}&2TU2$QCOp4Jj2P9pPlK{%^LyQ~xkm21X;U|MY`=N> zoVl*-MRt#&J$nuv+O@klLVFB%=pE#~LQ1_D@5aKIiUAYgScl9e4lJL#?6q_6o;>== zxmR@BTadO5Y%S_9v~MuR?TC+ygjs`0R#!`LO2*f{6Dbr=slcfj50Yl>|- z`X2V*^sAP!4T4Yb389RgbKN2w32-rc$U;EKJY zE7wIdd7x2W+9K$(Xt7?%djzxWkT~Pih93Qv(H24T4rj1gfWCj0>H_;P3aiy-?#6Mk zC=`Bj6m3}=g|9nDA}khXGW-kcfB_-ek(A&_jZV$YG7w@f95kH<6p(y}zQT!#GYhO9@rBT|xsGz9O-a6>ZjX&m(m8i(Gz zl2j`&inb&hKNaKWKLqXj8iI~RcvE70Oj>MOScsv+qZjQ9Zz?HtbH z;gwgj2d{4!v97Yo);?<=E4}r}J@%#F`YtNSpQ{(PZ!`IF(>OJ;M;BBIp7~{Vg*~dm z>zEhHdDuNUdJ)Esqg?U`_-I8e{AOxtxKOdx6nPy(bio8n!D*TBtl^OFB#K4z%^2`P zDi)UTmem-6wVa=m(;*P$UlU?GQRc;Iyt9lqQO%_q%OoaM^Wa2)6SLl24UjOJDAYPHKwT&Wwsj(%r>ma^c|!nNTc_V$nMN9@)M zkQv4nDF->`e8yu=^FTh0>CAu9$Hy82a`W;ntMb}pJU}sj-)P@KH)>KOEctrR0VJl=v&b!YyQKECauI{Nufd*dTz-2>7e z@TG^15}3Zy8y|Tb^MJ<59u)-eOPP8j;*JH+v9wQ$c-hFOS+nhlKBc}G4Hm!TzcJ1qC_3SudM&$+L z;sf(K4{qPKZc&#G1D1@Kvf~z4*5tU9(PPVomzIs}*0@{KhVEK9T^lakcI9Qg;O+OI zPdgx^a3d4?j@YgQ1Plur&(+RUb#*W=mtoZULMdF17)J~?a8nC%>Xd~)#oC^Qp0)jMO^qjA_PskpY3^>4 zflWG5ic<)BXH1+3PQf}(Mt1u=Vu-2tl_D*LVq^%|8_2k>DAKh^#fiiJt}oL2@B0cR z`rD6G7fd8Bc#n(r-U9nuDjal^%l0dD@JAFC`)|sl$~<1T&XY?|N`rk_$d1#%|L`?dP1Nv?&z`WSv@U8c3(bGKfqi!A6RIi&LC`QAp_zf$$s#AnsD|nT3$}!3D4Y;-K%eD zPf;CY{<3YZp;Fat!+dH3=KI<}@?{$^-`575p4x!Ql)pL_lEfi>a@B_x zITq3h&lrVql1N0|<6?>Z`03yOI&SX~i(j`t#_!kvV$TrE?Rd{?0_}plXWQj^G4hU7 za@{VhqL48i80&PSuqoy^nNIo%5uuXbuY_e@Y_H9k_|&T8adSJRHnQ(Ji15pr5dQmP zpO_l4G`jQTTOg`o+I_OE<-15u*o_R76Z0V_FW)C8$tO8^`93*uddSJk_sQus^t~@o zmw$OG{tG`K{!{3EmOF&Y9T&)_ax>qz7tHD5 zBlhy;-Y)D##Bb=$VH3nDPGz_|HV)1VoSJ}rjzJv9^)RM;twtHb0rMO)RjS`QmvMb5 zcyp=@*^!o_Gw@r4a3sX1CdWGyoVoc?riI|0LPtOZop*7PUsFag$-_O zRZZ=^e0#gwH;ijAGNa3ceoHs~TLYh%{@CqUw$~b&*(67Zy(=dCkG3W`&|a!Ylx^+X zOO^5=d(X@F?WHmwd#S{id#MlJbT5_DQGell!C3eK2z#lINa9hyb^6E26k2flfl2awlvd{rj(l=Iq0S%F_0`~|X3 z%=gZpbeoU1L)MA;-Z4p_18N(jo-*G%Cf&TO$bTZzH=}q@Zyl<<@9hl!aPr}J`QG_c zq}s&+b;kY@(qn&V1(h`t&+MfACGRtGu0$Wa0(pEW<&-Z|%Y8nK?UD~U@fmcVofsf2 zK7(%20$IlUepqRrB8h2R<-P%)*SbrYalXF&N#ZY-GGo4Pf0FpSq|BJ_+n*%(cN@Tng$KR|xECFRHb0Qvp14*t54&T;wx`5_d>omMp(w5a^ubLw*iA$AtZQ@7~u9lB|H8f%yzic(=BsB-uKq_!2~pQ2hCa zLrd%RDX3j@KEmhiV-W3E{%sp|6*eqUS1t$1n9H$`%HijejG2G%IzGvm`3C~|QpU{R z6Ue`@p8otv#+<$?Fujy9^AG#@*f)l}6iD|E#sAbZyQ|AeGUjIv(KEhr&N$^C=M;fD z-+Y`iPF-$loWd9}5BlEQ!d{=~ge0_5tnndD9#bh?2T~uTOmDc~O0Z z_Vg$XMxaV6(zR>!EbsMspS{UmpJ;&mA4IuB72Gxz8iWh*RAG^23H|U@AudLxaR+;M zE(c#7q21cyugaAj&sEX}ou^Q}jrQeUlG}24?gWkb$kR};FO8)aSagq+PaHRnWP2)U zD-<$ulgQ9scwXx+<~^^6eMw6nXG*EiBxc} zPb6JLLOO)4So8+}Ua+@njyOk*ZsFc2NQ}G*f&0HyzkrQj&(lj-v3zp-1!b`yw_qCY z5z>R~b!{YB-T}kCFRF*$Q5`wtkLrP<9bd9UKe_~ZCi9cB8{pNm;(zEFrHPdNkJB7M zU%H|HDZjusfpS51NJFwKWId*5~#_JNOKnY z@{Np*c}>>mOgpX*e1+KK!Pw{B%L(Aa=SY0^IiBgo>G8Dog`AIg&2@&3iplZeH|<+J z6=RP1BtobgpgKYz>Nrn`5~0l-YyVf|;UD|$v7(mzM^C-(Px&qKIS=`gA3R>Ulg;|D zmQ17NA~96V6P)vj(0n>Z?!X;DQ-iAV(ZZT>WmZqfUA(J zN0uy6PcEi5^TtKVawI9m?gkVX<&S$pC=`sZz7!Ef64TUf{|J5hM-c)dl5Q6IbX_?< ztPXv8lzc=Svs3Y}c1v;@soDRh-4b~04}c`x9D4j6?4)d^t-DpWGd(3S zE-F04(sB0)d3HmB^&pfgNX)0!NyR;G*t>;;00X%zD>EZ4H8}~cD*De66>i~*wL(6^ z8~86D=MDH*>$L08Ps<5$Cp)}-oESAdmlP;@4c_CK6d&( zxd4EVi~L-HfceEfFY4n_Y(kd(ZGcMgmWZ-lmgZzT@L39IAi$egEe&?_@#%=S267`OhY zH(XSEMXK@%;Sb{WMs=%d+xkWA+7;DrOFDivjAH+=x8X!YC2sXe78q&;BHg672WL&` zo>#)SA(*99M{iX!ILGzl^LKBJc~B{F{X>7}+xaORjr;+u?ASnGvbmk%!^)FBg^7BZi5fJEz z36n}4xUJ(~J>6U@)(7nNw2~V@SJSUo3GEfpD%O5{vFB6TVVNX%gfef`2kP@ebW?xV zh8d4wiv#DCbEwB-2v@><`*!$4=ReTn>FWeUaiLGZavv=}3G7=z*}J8K zI{7t4B+!?-=q5Mi=)gq?E>%)uM2s2AQx7V5UBH~Wbxg%NXS3S3B(Ixq=8rWV8CPMa ziY@)SHFMb+>ch9xuY)01d6n!3v}uM?6W%=B(v1^nN-DM+YYGE5H3|c}*1{+a#SU8+ zTzlu;Da2ivXw%U+mjzSI9HtnCoC>nfqpNKzA9gx(Tl9!;u(ou??yp{%I%-hO`5o)@+xFX()pG~*Xf{6Y z*Q-Ao7dI`mr_`<$IxeWBQRC+8r!QUItXIc`q^ViSc1icnWo6BZJe{||5Yv?7_y_3` zPnV2)QgJ@O6bkn2U_c`>8y7Pf`Y@O!zM7<@L?N~Gt z2X@|b&&~(7UTHzagN*`@jJ!h|5&h67j>~Os(A|RxN<&=7g_gh#>bO4&^%zVMDVT&2 z;ztHlii()8z#F7+k5v#Yny|m=yF&`sqx)}=(q3_Rj#XU}87qF-ZtoIPUV3TpraniE zio5I?CokUrY)@PgG05|JojFtPnT@we`$^t;jXQwD!4Lwm26`)$&3B(8@42EtzQtAb z3RE5d(pyD)*6uYbwqC)_*;tp$=jpBmF$?+Ot_7-jD7dld24r6$kuBZjCI6GxB48~hCt8`g zR&1Zzd-kkWKgP388@j~fQa@NCu5GpN!DB*s4Es=B@Q!SytGf%`f{w`_x{0Z<6n6Bw1zIV!74KRRIkcpH|7yG8AB+>=6d`uX@T0vwY`fi&lF0NlaU{Gzn2VUyK zh}H6OtzoNdTx)peoblV+?A1iP=VZHm(+^(QVV8UFG!*BT-qowr^Assfa;I*eowf64 zZrx0Jt3c+XQFgi?9V;%fVYHs`?8_Boa+!qyC0r5&L8a(j;~kD34o5tE`soG5g)P+R z65QpF{b0>i-&r633MXob(+$qv`9--k(u&k4Zd;jF;AvJXZKc-J-khG8li#$q+GlZf^{A!ni^lKvl{f9LpPGbDMf!UMuS~&xG$xKx`v0c;oW%kpFsHt`mvNSFmM@iqTD=FitR!scLdrFc#%xp~b~wI}QKA7!9Er z3H6Akx_8#$hu{5U&ug>prJH`$|EkOB(qV}i zo;>2AC@4dFtPLCEezDqQBNx;}5HPO4&|_odrVHKEflIM)xg0iKOlSapdeCgt0mBXSH%4;cuv!U1I_N$!ip9qL5^DXsFHG*bplhEkgXVqz z;N6${kL~g7_?-uyUio|Mxw7TG_spHVr)=nLUl`K|>>Sg3cBjywZg-EJ{o=&i1`TOn zx@Ezt*&FH(>wd=_9h;Bp4Ic;UvK#Wmy`G3=LqCrsmEhZKlFMM&%kd1!qLe6HIBH-V zBhgVfEw+6y%|(}p-FvL?VDbA$dtyTE2#i)8XC2&Brk}wLr_bCktie~>pv~nwEFEpU z6q%XU5BQhbp83@F%;!6Ha4$Uc_L!xk(`J!v>WsrBJEAl+gf=8`4jXNa$rxcWxU<6; zM&S;!#Z43I+6ZhFM`T50rKQqk+6nPdksNp%64>M9F$Gaw6Rc4X3qiF}dro>ZY-(KJ z_8kVsPY&DT`N&(lgWHz1T}U-FgC~zqYE@FwDrx-WOMg|@_e#FqUF7=e47nbITyg&{ z_V#gt1Xni7oqY)0djobdmg7=IrG8>l6qmI?7fCVYok42Ij;g9%;*n?Vdg9M>>MGAv zyz5!Dtp|!IWhe8O>< z+q=tx?kzXawUQV;c(1*tUShpQZF@H?bvAF*Fc}xf;<}|*?NQI$S05YKC1*iu+l4=# zQ3oL}v}1GBb+YW!?&@}xf7g(I4@7^#eXHp69b_40yF)gXf*1;LymJ5)&NpdQ?_=P~ z8i)mFCg?VBZK(e8m4;LnneSJ4FYb~=zCGpN^1dJW9!$X~S9g3rSbkq2-&>4wEXR9q zj42?wEtP=<$thO*+XL!Ne|mlLsD*v<+SyGGik0FvTn}bVx^GbQs>nv8 z`)XfaU8zlz@0RbPd%(m-yxX*1z{VZfKFQZ!(l;C1u%4$==^0l z7)&6=QMu~g%RkxQJ@&ol=S%7X+crJ&$RnG!8QZ2r+h^=|aV_WR(3vws5IeZBMXYxZMT9|}5jlu@VH_SU z!;PR{zEK00Bg+UQ>7A^OF!Du+Iz-Hx1$W$2w0Cd$j&U;&j(~z+S-Gfvp?VJnkHS_> zhaaA;(#nGF627P}#(P6arxA*&_kwJcWO-oK7-C}AI>o@k2;X~u;Q(Gk8mMRjqbY1R z-6B7GWf~kFb@jJ+W}*;S2WWFfx8&c0;mr$ek^3F>^7G9!>A%5d5;Kn>Ft$+-k>NgZR^fy+f zT`lIfJm|H2eDAqZ4@LCKhT6m{8%Ve#Sd)CRcXOAabGvv+gF zm^Utov=u*ZvlohuUwwJ&hCaRTHY#lO>_-p0&<`pw!*j6y!kJ^{l|XD>{lk_15%7Cr zodEMt$lC{lbPN3zWq>g=1kFa1eN<#9&e6p3w}m}7PN z0TB!*Y=0L={W$l^pSJy-{kmSX-*asJhBaGI6y@TpAHTY3xITJbPUSlS0sbo?p? z=A=Zq2Ec-a?~tXfSpOQp=bQJg0TLqMcVRTw%K!j zRoDOg+ko}GdU=Ji^M$_p*{z=GoUy*EwraQmgStHmE;&W_$KGSU7X% zLe?XU&a%AGh?mE0;8;x~*iD7&h5Sm=Ob-h3H)CuJf~VtRQe#u;u6?rJavbbgYACHF z+$~E@NWB}Ac453Uj?`0s{xRjkUB~Rt9(zory^@*PZ%%6z&vQ|nICtNXTht?-_VkyU z>*?otQ`DL>ecN=5Z}MI@IbV>oUMQ0>KMaRmm#MUIyU7KBu|UMb`k>$LzzFBRm%)TK zz^v1CG=gDd8Zhf9G?y-4fVq(=GQDPrC50B2J!x2&xs{Rx|g@#+EY@S&-S26&rF=WwZW||U)#9H{{5a^BHWnX&ONrU-mT~MuRrwZ=+3n#HW}#u-5!*; z7s^Y&HIhnNkemcN6gw((;nM$QgF?QTJ0ikxq&Zcja$yxmlmef*_XgY;?Cq(3n=|=u zTo(NHwdEgo9o=Eukb@_~J-gIF5zjp|WqXSuUEeXL+m-f1_7;0xMYrLtTK_GA?-s_p z-3v#y#e_lg@aq@@={Fg0k5~2IH~9?+++j(-#ej4TsXea!1-%(3^&EFG(M9~xa1x+) zu%_Va8eP4i!J{_T-gt~OJBI8zxzej%P6c>n@JkI%qV4BP)(kqhziRl*fz$JG08>j6U@yXh`9bKNe`dfD)L%uJ5DdZfZxRlA>peii5RZP_K>JkK3(cwyHgk=fr zwg@4ehxxuVaw$p|mM9hExUK)m%(<%G@tMJ zkJ_W*i*rx>XXV1xtCv!n+rP**m$nfkiOb6AeiVvm!|(=21YLhZ)0%I!?XxyAlngi@ z>$>>bK<^rwmMZcrxZfiOy|%WNudKKSz@4W?1{;)tvA%4q;&QMVJK87|jmgv`{)Z9E>O={bq$K8V~rlx03 z7~XAjMPb{d$^y5mUeA)k(#Lu=cD1ONlIzYhD%!tmUwGkj`{(InM-0DxvWWcV1yS&B z`w8FJe?EBVT>n9{#mjc1>BDnIJiGN_5&q41(rZ{(`UKP^2L6G@?uJlYY;&Pk(Z%R6 zRf5PJj5*e_%ps(`SYF{Cq?CC2A)RR4{f+-Zux`PWip!et(=zy8l5C>Rq*Aqn@+i=+OnQzW&zs7Y3{;nm={>oh0Ax7}Fj`U&~ge z;m$W4sSIDDU!HRNDA&Jy@brMFB6bPeruYjreVmXcnT+m zG9fKuQ?oMRv(7?gqO-_JAkQTz&@+^@Zu8wGwUt>~A@~v;}yW9Td zr+o5jRR2CeJ2qF$P4Cdirxhf5T^90w>!;&9Grf+f? zP88xUOtPpHB{6}{R#QvMUrr*oz7s>M6iq@2!nv!Vh)C^vA*`mUPh6C@>2#F)4sP=6OcKvy2Nd+VW=11`sWx}7i? zvmp*6(Yg_()0NKo(gf77XhfueE{37|%H8s0wQH6mx^6T_Qy8wCk_1gU%uCp_1Y;Ck z7}8@43m0QyEK1M{JKMiaw0|kRJbmu`2OrzE_uegUi$^?Fn#=A~{Lz;apP#aMM3?rK zqxXOQA8FqK5Y?6SKli;U^gaw7hTg1z*c~gPD2f$3Sg`ks4HZF(y_aBDY-o%ni8akc z)1&E$CfO9TscW)nGME4F-1lY}(CmKy@7pZGTrTgO+s-}bciQ`d_W%A>+Uh~$rh9sp zmTW34V*l8 znjRJxgmX%iZirVlX&2iQ=|~g?1@R&eS1L}oXwSV6jldp(N{a|6s!fo>e3jG% z+9}=w_-j{r!6nx2Vc3jON!`P>U+SIH+B`%xfrk_2cV`#)d4XO*kKtA5@E1Uy z!Em^)ly#&05z^DFoA6mcLNnmQhd{F%&Qz>sj>W}HDZH|RfVn7ihk-Ii_k1|w1a-O) z4=W8+RZ;R_#RyvfxsI9`1-2frULR6iMX+JOUtRx-nEfqZ)A%)rdDi9*T02ih!*|QN=%rZ|_v|lslL`B7k+;;79hqdp_UJe*M(U@^$Tj8u-heHmV z*j(1{6K1L5Yxo&n!z)*#Y)w=A=g;r+cktg&*6)e}OG{yIN8rT6PtM(-H4A{Q`x4Gf zpazk!^>{20FPIez$Ubgx8mp?muJHFEzCys912ij)g*YM&pjiPuKL(zCan$ON){jSM zpC-gvptM-K9*C_1MvJv0n+0lA{(^6y_X_CU270|nqpio~bVRI9gA`_C6)p(jhe##t z82=NnxFbL($a4hgHjOV2O>ThG338NoVqZhE1c!qT3tN^QvUaAoYF%)T+Xn`dQXUrhrbG#c0H7ytRxdz4aNGn4;9Zi9sy=a~aq7xmWULGZG zRN=}d`)amst@-lH18n(aK9s#7AWLods%zI)p}3?9ThjcS@P4|3JSb}d@JS&*;TKxW z1hFgSI@c?&R)+6o0EZWoPnGM`7j`Xw@?Y#gB`dwc`?GiN(9Dyfd`0T2K&14p<5+9l zy}SVHJO$kNE0qcFs3&`NQaE1Lj`Hr@!`iX2@9<-lIH}D8R|%ub3V&^mjuHM` zs9UHG)NXWgtg$7mQYgpZ%s;7-isHvwN_HJt0((@~sLm-%vbqc(q`mR5EeO05n{;xW zwbRa>&4TCp2X2$z?%$`EbtLGm$L&b6AqPencJ0KG_pLhjjv$*dAq0aV)J*|>0o^IM zuYJBHO-7xswi0}|2{I~VSu&B)8EB+dYQbb(at!I}Sqbq}Tn9!18J;ZITPhOFmZpj|7Y4j6ER`THz3^4YQD_KkXOTPc6oyJ>#<;P$gydrH3J4)z_&oNms+d@kpaqJD65 z4eU;YPbl?+Bm7|>35P0zEdXx?;K@Y<0BGe2xOJ3xx}m?4DgZr`zc88lk106ZYJf|V z1({3alPNF7^s8N*q>=V8x0AQ*Y09+$*Yu z7%CkM1aak|E7bxc0xP8oCJ$dCxdVrXYAOI%SSa45eg+RhEP$fJIarTjoOZMvduTiq zHdJpphPFfeH-*Vh^13s;?gpQ%6ky=XXw<<15so5Gue^_Gm*JLC>qqc;_L>r7#DJAD64ENQti*Bg zZn6OvhsZ4G1KT4D$`5N~*d31VsqZ&Pq|hWJnEobOL;@7Zzd zLbbQot$TRI5l#;O{dZM*@R02E_^e<@9{ zvZ87L8D48Q8)%EmLsuwvv;{%yU_ zB*5h-9NP$a^PHSv?5HW4r%mIL?j7P3b4OAu z_xD~A77y#g;+1;#6`cvPll81S;e2vMot!$DAS?CPEQaOo&2AHSjP zsZ;Hb2tuAE`HhIl=|!c%tXsN}X$g7{112yXygo*gtN}7h*@E;TaK#A47L$oA>@&rA z2x6`xYJaM@YpY z0|I3&LuPvi6u7xAcxm~w|Bz&BKRIW0zmc<>4M;yQ{|(Mvi&sl;%-ifC`M4I#eY#AD zPmSpoGvOwS*ok9$+$S~o+{a_vm?t*tk5us%R?2E0@Q2L%YoY%z#NJ?Bc*z?WC!*;H zh6caFrv`W_kOJ)vVLyk*i_Ly6)+tw;jCBgtbh5OEcNp+dtsdFe5wnZm>cC(MuuTX@ zAoPatYMJz;Fkuja4{CHw9Arz{yL7&Zr-Apwyl;nr(`ebEypNuGi4A*(Z@hY{s<_Y0 zsLs*2|JR-R9!mrm*t#d+qYJ#Ht;8mKZ&RgpJ;($Fao9&?pwC~^($dTWdk8uVuspl> zk4-(TXYOz{4+BYhm<(ftQJ%a`Y-VW~-O6^Y>As5JY+-8Ax~ttbEftoN@%=I8>4yn| zj-!y9h!^;4I$Jv0{CB{Y0O5ioK=2j}|53LcHC3yUQQ4ot?CR*YV>d&PM}+i^t^TMg zC))jUWG|bv_*X2sC z2IRkli-s_CgbqLtAz2aW3RIm3av}_=z`m-iwv31^QSM%qqv3A@HE<_4!8b|V z4YVUrV>b+NUD)-G%mO1oMYs_s7eUlXzfjE(3g{F%hrT%r6u z48Fv(a>28*!Lv;800UOzij-ayXa=zc5-B-ROL@3-2oq3GB|L5e144oW!UDr$Vj_JF zI0D3{>a8#-Ej8YvR;otVvXw7@$Xvi-9bKN^l-zU+&8Xe)6WyLql-CE${QCQ9E5P2 zISQCYC<`TX6ol}4@iWSfPpP@Gq|~j~bB6ZXG;i15t*alf%hm&OJntHH?2VC&?)qo< znA)P_p4BTBtYpssh3cDsX7-8~rin4ped?@7jWpHY=msq<#;UZ_9F!bc(J-@qq>RUBz83e2((f^2x>-v$=fS9$P^k73Ku{WH;zSdCODUf z#k4CMKDclUl#H#VPrBK^QEg$atJ>ivt#sX9b!5BFx=6q0ks8A+|M#DM`u*WnX87|@ z{wK)9xa#Sr#a8J@yRaMT-^X|lVd>ER9U?k_YMo&KweWkzcZKFj@m;xLRGz1_(>y8d zmmS*;^X=`|XDI!J3?}Aphw}dKm3Cp*7wuI_yO>wfZ*sM;+CpXAw25ZrLFk(vW6M{%}P(4_{v8%9po2E02>Kp4XP6PP~9nQ)2} zS6i2sOBTHHitsgM?fHufs%(Cit88wetF7nwZ{Xyx*MVN*<3Xg48+|<8z|m}EW7mVd zY4sBFiYZbW3{?uHBu5FiP?JBf6)z8Wk+DCB1vR{1(i{bUqEH^)cZPEL_G+L4G{1zh za$`yyC>8bO>J(6(c8N7M;v+LgYQgZui?^>zj+T9ZiQ;Bc-)P1SljCYeCJZ3d2OhSzg zs1W3HZ72dMsK{<0bsqQ>Jbqzm(~<2Jr_3C|G_lbUiRQ#mSW`XR1WDxauJ99z1`{Ot zskW)O6rt%t+KJQ0QJOl1P?njqZpgiR!)sOFLpb+HFII7wu>_^eLHpUzO{n~v9pIxZ&Gy3mf-)S^Tm@4?F|(|41#d3 zBJ$EeWk0>R1;}X}+gO&-SGW@3M8v~M)IZ)F4X+Uht7&8uBsmN}P!VE-udowRTm2A_ z>2mt|Er<4=Id>72cDL?W*EF|F>cEzI?Mba}#DRhphdb|;veztHUp%+`r7N4BO6J!l z49+;YtIMKJZI^bv^4+wuwX7fBtjH#VK#S1fOmqZAWGn142$E6sH^`B;)90YWfm~IX z6gnJP6coDY2SGQ}4k`=n$xHdCtmT$NyY}*}YzT-&k>J*fE~gUs!Zj2K=1oBk=y9q0 zO88Mm(@u;a9f-l>lcWczB&-OuXhx%>unEW{-QphgjrET-k+H)hyjhUO>yaggVipC_ zQm>yeJ~%Nd+^f0dHcMS^-Oz0#79743?HQle!+%jokCI<*Nx6+yyZW@emHXc2wL3(>*{kFpjMJdxFrqd<9{4LPm8!}sSODAr^2rSVTNa7o+@Op`{Y`i3DXF_V z7zo<`?4d{(ht$rvb3CaQh^ml;0%LmKvCcyMWl(SmOO{u9_LSi zrNaG{%*eoTgvMXLxs}v1X=$vO@0L&a^1?xVI?U*y*B;mDdN0|MnY(qElqnVM*ilKsLr=IXoO0nwc4&GMp ztF2;Y0y0Z6C`<$M2<%L$G=lOf=}PHnX?f{CCgk@yK4{YQpqug;Tc-aB=Omu;27U z!|5!9sd`K(;Q@sG*>6ZkO-f1iBQBVrKykG|sM0mK{$QANRI41-m&T62(nY%_qsxB8 z|5sIMK$|nAs2813U$c@FOqQb< z#Cj28K!^4%w&Kp4NBQ@x?b+YIKgL?UJ2wjFF{8=2pv0&MFKC{>N^aI7Yq&Jtx?B2; zeZxb=VQiwDSKK3z__Vt~k2mfqXvc6kLs}$;7vNq7uA`SJ)JUfpt&jx)UeE;(TaCY; zPq1$=8JHt|jAm!Z;kd{M^))Ez%k04`UdYnv@ayJaDaW&ABLrmzAtt zMY5z?zaD2CaRd154Em1>J!rN#^Jnq79OLmLK20u6#Cn`iJ`ZZ9P&XfSeHRAv2Cnbv zap|V?6xn2mgUwdb?1KyZ`Jc0X-GBMx53)W!;@}AX$DWy0clqmUXRiN-{NaHR{erWB zNr%+X#nK7(G-f9K!vu2xrRfAR4j~4T*d&OKwh0w+jEF!YMJ!B0h1w{XMNDLDvfUeY zFCs@oBr1|}gD87-2<=C4d&CZJzjVXVWqoHwb&CQ#Qkc`X=5n-`;}v3kH#YIeQfs`h zlNezqd8;bJIt(sH_Io4^V>pO0#Gn=dy!K^XH01I?NIn4&(lG>h73eTvSeF#T z5+zY!kSyV)gX+xsFmlqt6Jk^wk77Hlw=xm@M!WeDml zv*k@~?6NCYmc8!iOe9f;28s`Wo)${TPpA)IXb3XEav@OafK%#=Fq62Lq#`f{aygj@ z8O&yI5DdW_3s0v=KVg9+(F^%8ar^;^x76y8LLM?01T*l0bnUQV*+;5YPANT8!^Zr^ zLaqO(D(Nt2)5w>u4(}wNpM5f&|9mHgGhN|U+1U};mEdmi{ zUd-U+iPZ*$K;;pqUes{4orTd%taiQ&P(3U+IbTDQ@No-r53>6Rxq`PkF1kasSqjCK zkztLz;%gCLrsx!>s_N~UKyHR0y39XtYsr%BgjvaT-vGmT8FLwmy_KLDVi|~lO?Mw= zK=xbgLl0(vJ7j^EtAzNy0UCFAHd+*#2LtGBT9c$w>mqV;r(bJ_@l~Jl?@zFotbfrs zHIp$;@<$4Se3n3128QOOV_>{lu#UTE3@(HhqK2DrOd_id6cGT@8r>KLK8ucugl95@ z8gEm87uoI8Q_>(2z*vZU&txsM1=g8yI+Mn?f7iceS%$(q(MYzk`qK25qSm&1>6{v23f^Y;2#^)BqmWwqyy9sa4@kjwTOa( zpQLw`m|bwhRcDa%dbQd*FK2$HN9ytECvVSwwRqXB1)Y!X>N9-=4_~(^b79Y=;|CsS zt@~t^xpz|7po3e6Osdm-e(bx#rOf5+k6H8QS_LP!sO@(3^-hO(Uf(lnme?Ejz)up8 zZ_x`fMT`d3q&?t{3am>4(oQboDhh;?At~sVk_J=F2IPYz&dC1|f&#(8KEdv;u&ThV z#FnnaKq`_R@d-)|U=lCDT$u6=JVxsN;{9QT%&qX|B0f9kTz>n3%|D#DWEp?%i;|Ll zg_bY1DeH=J=7$A;JH5=J_4M*9(d+pe-A4}YQTy@0VSV}rfzdJI&wf_nX%>Ju zD8%I?a3eUsNapIxm!-Q#>%G7JV(+hJ&#mRJQBAhjd9M69o*S!y&Jj(SYhXmv6DW#J zBEc{t!688v>_Q%EoQc)M#>K$dTQ$y*G^bwM6cucjMv!aM7CYR+`*o?pxT8MTs(P z=nV~PkA4F@3;ob8YM5gFArWfJFcu?4>Ubfy12_vbaK{+okUlQXK$29GJNdW@BR~Ej zmQ6QJLw7XdgOdBqw~qY!+3}}mZku`K@MpiCcylWIf%{T{Ek2N)6kh?>SE&u;fR3pc zhl|Ly58pWWGNP!IhQVJ)V~#+q1_ZiB)&RjSWEI4S0@I6*5Sp>V1c#2c)tQS%^jwm)^!@VPANT6l>)Zlx>0j?iQ-<~!*spoh z@$I^GT0UmztRO@CNxf%m&l=ipYFeksxhE9bZ-NU`u5nLIw8iWJ2VoeWNqt6&DC}GU z|Im-z1&kstm_a6jwSw+uNR~*a@=djy3%9&h?dHrbQRW`@L&3G4wTDrY%x}WW9pxdU zLx^|iov^M@XRvd5`-1|%%pp*zo zg&`TFv4pTN#TE?i47W>4mkC34umzQw@JnoPkv4<+Ht2v@3=u?Z_JEW^F~o?y`1>GY zGD$TUc#5~wzCjEzd$PE^`#d)T@B8XOFBf+4b)9>C2=T)O@cNBqKUBV#QoD@iX7T5( zPxin&AtG2V^c zn~CpAh6x*UL}%fOT^~nm3nG(itNHu@_qdLudt}74YZ~Q-%27z+x{?3$^xe|IaZ^og zraiZp9ml(%QEG?dT_Ud3*F}$@3Q~rl!!{=2=y>EPTFaey%j#~;<=;<)oZ?2t2BT&wVQcDN?@iX!HBKQo|ch^&%JB()) z=CcjvQ@n@f&7Lgw(f2TtKmomJ+xYR)YQ9_>T3I_o-dIWJP~@7m%SrCzsbnumbAi2sUwoM_RPrW3A8G{ zBYUDnMqIQdIkT??W#YLu9rb?>9r>edCigQ+tWA2^A4d-TzNUGrudUR3AIzjc=9m5Z1HS+ ztTgdd2n1v7gK&H<6QUf6b8y?puJx&6u6vj(Q4arcdMv((<~-1R7tcjD4EW6w&B9q6 zZu0-1vC?-zdy?{&Do65dL!ficKN5GEt0u}4feTG4A(t+!0=D27tPf2OiF)1&C*J&m#G?T$Z}cz{zm7HA z;-pnWlr1q33I2!PJam2F+-D~6acu5upHE&h1Dxet?*6IE_VvL}&3W6rm9u7Jx|ZPG zsdzWVNShpEq$epc(s)0dqHLqH$4HyJOpRltnSyc>zCkR3u5v{O3CVc-r+?qNFF$?2 z`eAmTW$RXefa3=*UO%O*CU3&qj459@9#et2=mL7Wf*xD0B-pwd#z`yFt?EP#b0vBI z=QwHh)snkRyY$0K{>eirWyAV@MZLCyl=FwKmF@2??_SAU@HR2yMlT*mbQpj~?*knH zkQETigSzt&6%Z+%`Dl!E1BwvKgBZ6!bC4N-8sJSfI7+510AKtQ zOV{qW8)7YEI(H07ZDMvZNv)#e=PjEL0#6)1f9WZCJOA#)y~^QnvrHYPU*E-!@TRZhk9yAlvF>5%it{4kqkZ9o=Z73+F>~kLK_SA~LtGf5id~VRbyYuGW)uyy=Kebunk?Pf# zjx}jEwPVN9e;=;;3zO+cYY5Sb?1q{^>_d2oQ_VSK!6T~_OhENndO&ME-heO#H9{Je zAA5wf4RL^H3Qk5k%vDNw5rlFn`N4NHKHQssJu_#;_L6Eh?!kWctXk1~UFUuoFQ8K1 z2frPDSZV1nW6ZHjt4|zk(sFvc4w&D6Vcn@_vtDyf+#%vK<@#3ZU)%Djt96>u@4Dy* z{YFMDcYFrwj#;09`+p|%3_nf8e~M4W5GmxC7~LcB$svgL05UG(lhIH3!ck}38A^Pz zzmXw#fHA^9g5+T}(%p~w+2WJM#SD;(z){Gb0>uE_rLYj0T{_q2K+(e8eRU;Aj+D68 zoSK@IIb%+*0hpRkdEKGkD~j%}<;mEAT|anO{_5M;KK|tTTerm6CSk0v;%pFa#o3_6 zLm@j{vhZ}5#PX4O1b3V&L^WiwNFG4vH^o<2|AnL@Q|cm--)_>wOZT2*E35g}U$DS` z+?~B}D!VrL))V`otnA!X^V}jWChzvv_`)1JL1$YcF+pfct?^=CSGK3X@Dx|SlEJv+q-@SYS)g&D%we! zyf2YViSGd~>tQ{>0Y8gPLe>9|QtZu45(M3ZRA%E|p{6kV7e< z_^k5^_etkh46N)js6~Fq1&h2{1)rl|H?`BqWSs+7wtXCo*cD-g$prpCof?5(uS7vO5zm=EY=kmCVMcER80f>6NgD9 zfxgQ-hzgqpyR*A{em(5=eXZSA+`vwP5R{g1KH=-7e3r|Y}=77M_J`te6%!( zO&u|UZ?T?WZ}VpKg_fS6qX+1C8Fc*jnBS299`j4H^EWZSJr1)K?@2G+nSX2V=FB~r zTlVd{FZrG2D6Ga?+ey2{TOmwee1SZKMoXIgi1~HXC&4}?Vt$cxkRsw?b-^KF{~_i# zM8y0yZ4mPtjZ0Mx`8C@@e#x*cKy|WB$Z1*pSA_ib`=gToRsC%BfzjFgDBEv6Be&q4 zwj6wM>h-15<|Oy;txp>G!w&;5{PEe0Bjcv~c=sMRymt{Bwtgkwv36%cX>WJe;JC1a z%oyTH1E3qu5$NMMOl#dU5Drwaa9;S!4aYXSydg zuPp#g;+^_Z;7eG2=&^_Q;2UgQb+Er)0$=ik2V%TthQ%cS*@j4Jw8ioUkt{u0=<5{6 zOBw!vA8Byyg5g9Gm0&aILf0nP47vL#y~yPcolvJcEK~$y#fQZQ1yU3&O4WKYPt`X^ zNIhUVVoiJ@SJ=XLC8qdNiF=Es%vjT*W7&*pr5!r0Sr)K!uetZtvn4A}KAT}()IYsd zzy9som{3ad<&~HR3fuje&tX5`diT9sw?4RY6O-H=`qxv~|AAy7 zt;b5S5{=_`vHxA2!I=~t5}w%<#cPL6DdZh@LnGJ}S1my^1f9Ne_`45I)&M#^cjSX7 zrxk`~+;|Ln$_El0ED%(z(^SOp0zbt%k)x^J@HA$T_RMY2ybUya5xz_Q;{q3h0|i{_ zlqf@mmm&PomKuyQ7%G-V3VO5yWP(0NkgQc{MOY69oJ=JMSQ)(+dzJ7w5y$H)-i!I5 z`;^`cokIs3sG?HhO0vD0;40O~Dee{Va^%YpF=RmK5Gn+e?)b1#ty$O^{w!PiG=Hk~ zs9|6XL%;r-Rr6r$EA0O7zjJtGg9bnb+Ofb|gr5Z}ZEAbLs{u}#P9)44(7^yX#L3By zm*Le){H`+=2sZ`>t4JH^LLvbX(oMGOHGZhNx~i(0CBg#$aG{i@0EF5ZC2twOD&bmz z(|O|EU|7&JksSt^xTxv{%o$n<4(*_g5+lQ$gity)F9JGxC>w+v8A)=0GEI?eL%f#qWwy*|t87O8ie56-kw(Y?%$_G;iq#J`G^tX7-9V|5yEs z%9(&sFs92GlY-HZZ(PHe*#81I(pWH(mI4qwSfOHq4r6Ey{)Nh7nn?1T#g)!NAxL$@hkL~*?_6yCVmpF^XZQtX^p`?*#mDdeQ}N=N~MyQaxE{U3G1FaCo7w@%6WEzsPcT^z2_YaR2K0 zw>u?`Z7ucayfQms>xf>1M~eM*5wW|#XfaOM1f!rcM`LtaZv!q93a^7o3Q-&m;~J?5 zvw~TeKxRm?1(~&ou8WI_j4=9oxM`AD62%$dTJgy~H?x;0tU+a9FbVSWoA7X2+$ z>cW|$FhrP3fh}YI61M#KI9*(Swo~E=1~!P(&8`eRz?aJxfHw=A4q$U-?H}~)Igk}P z;MqOd|4pYp(@W|H$E2@^KO2ST;Nm=*t1C^pK|DX)Q~zkQVNR9~_4$UAt+lcn-n z@s>HI92gVopJFcZL9bE^2p*4+qrnnwR}e8n(yx@)z~PZzV~#>Bukd+P?jF|cI;$^+ z8dFpen&DUvl@Asd;)`MrQ7rEu@ji;>#pDQlS4lsp9%cuWw;@ARa9(g=HJ(>Hs4~== z{ZKmW^CMe#Tv>>n#l^M12*j6Zw&7iQc$bNEUPzn`V|gdre8I`F*DQ*idNBXr~m zfpvcs!s3140lpe!)%F4KfDML!pj?BaL2jMoVA1gYT|}t z)ptDuNUnqtPV9$0WukLeGwhN`#{A0)CBv zQ-acvb^uHpX$D9^!3T=WCEc44H-m_alGsbSBlCJsYMs;e$mmyp@F-c;B6O-xK!LB@ z)boq3z9TU{Z%TzL`^ms=pQ}!an%uk#^SCE1&g+n$oEqCTW@7mVOZfLc2RHX-A5_<{ z!JrKCr4jMB7!%~nQD{K?Eew&=uGHLlNz!X>*zh)OnXpp>d$rrWnC3nBdAy4=684|t zZy)dC5vD<$-+zg}MKU-F{P2FSx|9W<=kJ&A+P_kbGi{eKZXRr!yghr7w{t(ZgDsyXm*^Xj#s6=kejD+~D423|aQxFwz4A`=z8e-g$D2nzmxh*R`+ zg-3S7*jsu(GBRkjA+|&UAc-n|c^i?>tUl}(R(5D|b{l(&ulD%r((d^Q2Ceqo(N~et zB5Yr;yO)oD)>Ui=7}}p+WQ~_T7=O!dXvdDg*%E$$be4o4AbdW4!24|N0{bqfIWeep zmg{~6-?<`e+gn6G;Tt5*qPOVxo$$4h$X0=5Y$@1h;hL@%3)QgpgVc+iX46neUGvh%-{|iz^*r=O-X9;l_C4P5 zy4%{)?A6`+W}KZ-fja_d!q-SC(S@OLp8UljW)thY7_yTK*4dU}7pF`o z`FO+6NbxzdD`^nWu+vo85~%kAnOwkViVYTYZY?8bqM&VuJHYe z?Qis**nQiyimHQ8)UciGw{@$y=H`u6FHRjkYYq!-)3QJ+6 zc<(RZC@lF8U@GPOEbGgYpFR%B1nW{yFX36B7jO`@3tO2ON2=2PZ>3$S9gq1?eJE`6 zp|sO{L@WLAFFi-`xhS=_pUGC*g8~khb z#{yQv$Fto$X90I2Zx7lVs0)v?^%3NhC(uB#vlNH;u_i{-Qpt&>M=m&7pBx3>YMD~# zqI!mm5GxrvrX8iEWbOzVQ(;V|Y0)e(-W(nn;Nt~oGKRr^Cc^P;(4@)R)Hp;>IIF}V z7pvU^2YM$PGI?XK{@V&NM@Jp&+PZmWf=+i_s~@y2Z)kaRo5D8-^=>t)d1Q9GL1Rs8 z{(W%Y!}aZ(NqIeH#>GMNQ}9*# zftn4b`WRd70o6vH6hxB3T$nf?rh1lX%r&kW0 zJT`abfhVSKh`E^CzWed*7zt?Ji95InXcjTGYAmol23UoFFcJy{wg~~CmfR1#{Xs8L z>+2XzD=4IxE*O5kVojzjS-FxQVx!*ve9^4e4pfAW;I(XLu}aF!^)dWSp+oM(GnvMf z_6TT+CA^(tX$ixFCBY$<7Bt`&1U(>@)-TpSs$ncGN$dohI0PSyXj%_BCnKV1WRP2g zQ8?;4^@w7GuWiwk72yc(4eQbB?*&v?wvAqP>b9kr{Pa71dd)&QE_JB zXomEm@L*WH@KEo(jtl$sU7NeDWPbiFAGR{%h57IQUJ5^pZf&PFYtsM8bzfd>%Hm77 zF2Tb5nP2s#`?BC$j`!HCUQqmqMJu$t|I z%Bq{;iulL`O2;-l&(FyH{P^WDecMm%u9Z*9+QKWrPal=~R90HA&Yjxh=;mH?+qPcN z_xx8=6nc(87VL((OVli~ct(I2Gfc|Jz(Sg;lKv|Od=SadW(ybtVeRBdU{hK_b{^(3 zLV`^vR_UiH`p+GeY+#9+gqT?Wm?&{znIS4d@qcjiXsHJw9iU0Mv+L{p*Nq$JUWAkO z7dy+|T|8)6hY^crT$wxLZg#((r}`~exp-dVpV)0Tf_aW zuR}3zFD0|d{1=6NBfVwN&dIrGtGITO_) zDG_my5;%;E6f%*Hn^ekE=@&*ol1A#SeySM|y=0Z6!U#x82l7tF1jhIQ(}ky_$e2b9 z1+`vH%AiHyJ9)Yy%&--*{i`mm!sp_L9px@BpL)RDpLx$|XxV_id2y$=dnC?m+aWJG zF*l`IPD-XWrS1;9!kP68_Rfxv=XXrw-bUR^%R3KTlheccy`^XNQ`_$X&y{f>Am2LX z#Ehtk=9)j1AtG0oP6_}752qk3@lB!fYd zrz|R6!+EY`4MG++u;wI8Ufak2iICdOeUv{}9C~11qnu^+dEA06>5u%e8&jQ>FwHJ5 zBCt24&m(^c4j!Hm9~G(5G)anYp3potCNeH64nsBrhKe@FdEkPDi;yDXm|Lm1Qv-jr zxF}i0p;BO!C0O0{-P|$b&(CL}tt}@{$jo|AzkE#A#4cGWC#LOxIbiG!scP6%7gnOT z9!ruZuAMrcJsn?JFm6kZzk)+us!nX0pE%&>YkZ=7s`?BY%BTIhW&Gr4gie9lyx$0& z_X{ECML{QAOEz@mUnG9}20oKr%#W~H4;*3S+=GDW>5fw+Ea&9UQ2=&Feo^%y0>W<| zO1(Wqph37bOmc5j-=1)$=TpnCTshhEOm2O^z`EH}=RL(A&YUv4P%#T4-uegC)|9MK zoGHytSLJ2R?lRF@WH zaT*kR>Jxu(g8ucK;O~r28|q~Zo6RiN7IPi*Ut_K*c8JW5jbg45v-STGb8R1(6v}U$ zIKkSUe4GtUMU)^T{GB0<^!A)CsVEGb`fa{I~CrI8~B zU&r2*5c@V%8wq}5goIgU35f6o0ugHtko8&*6dH!^k>!Pe05vyyv^@+P5PAtV2%-W= z5y5E&SIxKG!to8e35x^uC8erC*IeK}8WCd&{L04qr!e1Qj(Oov}e;OEdm1$@A@_4 z!CCJ@?gEawx&Kh>s^6O)EMj{mS**Wx$bbpHZYm!lFwbBW^F+2+fq5e5k4`4fJDZ%Z zXxB6haUFw1RkH?O0ojNs_pQ%_hQLFzGehnt^b_mT$F8R`a@w!vE!lnw+*ZQ-01k^# z6xu_Jp;F6r-$4&~LC6QOkc|dd`ceEg!n*!GemmsR`0YdlaR2Y(w?R0<0>NiejLl5Z z!T!!cY*XHzmb-VH`{?Mo=5vaJ`1p|4e@^gnHijm$_wo=Kz|NaGOgXoft%LQgT6|I9 z(zo2ChHsyj_?Me5PVbKB&?C6Z5b&)XkMRXyI-^Mg4)l}^PWlGH+jJi}MsLHv3>H|8 zPL1ByXd-EFh)h@XFK=Ujw;SnS2uznqdcy&M-B_)SYKF@R#m^u}z^vC7WJP9m@vAJV zZr3_kvJ|fiwGIhkZ6OA0AAA6}uJ3|JgY2`$zS~y?Jh}7isZsfUY(?!1-k0JZQm+(b_yb3c~yXCTn7Q&Q#h7%K()U%65DF00$XTM ziwU0-z+*~9z7OnHe0~m})5T|Z`phVwNoV>j>Im1@HNl?Ov{CMUZ&C^330BgK!59xVFPUe`qFBnKMV%uPefN@g`{~bw4Ax-VB1t8GdCpsoJ zO78@?pi#CygTRJSWdYJc9CR1$fZ3l{SARZR`S;?snwo99kJW5j$S1H}k0k4R7nK#F z`A7T*{v)d6M1H&hq+u+$*Bj)0eFwCQdKpxS0{4Ckd|nD2Pp@fv9xMe%SD9FM5*n0hd$C8AZroVwz#q3-x#N~xx06#XAldf@_J%gax(r)fsD*B@H&XhBB@yayTX zF=v)WbJ!UjWDSr6#O_0!g~O4nX1qc~1Z;qi29YNWeHcpO(OQ!nETEVKNPw15dl$5W zr;BXxYFBcO3vxoZo<`&3>V)JmS_6FJm7U;BI|1G`@I)40S~;-xw5+#|l7nhj>hkvP zwI1KU-@4=ALCm4Zc_?yGWi+InVUqFtZ$P`fW+>)#6F!GwEN+PBcX6XP;+?jMHA4Ip zuncxB4GOqO0>eOj=#z$xwf|b~n|r|x!SqR%4NCI z+JU_;E#N^LH%Z}A$d*kUk{xL32O5z39P^C@z~^T8yh40lDCQg9Zz8{#QZsb2GT&xs zaWIAJ4H`XC8Br`VY_XGEFyZ2eC6N01_&(U_$RtD^X>$bGs*45(1(=iyqZo*vx0@5p zv#2o&BZ#Oms-Xh8X}(Hr7++YjDe~o1?Ss0Xj{k^I2CHK*%Zc~x%ww?FDM z{NGLo4mdFckN(bF-KzNK^2xhzTymDfYd?3s{QA99Vyw2Dgti)^!5Ay{Jh*RXi?hkY z6$%Ja=P5(>AfvY?UburMP$;hlfvZ%Jhnlel#65^_8;$-tCyJp&9xlS4{Z0566w}WV z^4w^u-=A=1&FPxs6=%NxofWySc)bV?CE6`DUUJ{sb6zL5B4Nm1&vC1fFQbJX37Sy9 z7W`uHg&;lNW+Ny-&u|_{uWKq|;gIzN+g@xDBl#*|P1xA_KD5VunQ)x+_9P%lgY<+3 zCx|B~;o|3G!nR34J_|3@oT5~(2FPM*t$fnFBx&fr!zD}jsGpXXFyH(4nQ!^hfAKL( zR~^-UjcLB~BY)6gMP+B^^(pJmrt&TP^r!rnZj~!KFpnQuGDyUpQuy~u*xm3MqF@Q% zLG5)fU~IuUY6t(McI&UAop5bu(N27m+V_d}ZGuNp|0K2jWzk*(J#v8Pk8>yb-xKZN zJ=n|CpY}362R;;dFIHdaFP&D~?^3(M11UGCcz%7(QgJ3kJ3R;OPWXngdwSN5VG8Nl=%gz7=aiKx;fMn+uS9y~L4K5j^=d>q|(B(@xEVa|zGy2|6d^ z`L3G&%JYM9(!e8_u83e1l{+9pR+pf|jtsK@mYRy|yNFU_pxEvfh2sUOL6PO~U6T3T zo!ZEq{GRqEFP8kQKeEDy>G%W8$x*QubhnnE0rd#^bg>_OAm{YCKq=t`$7%xon$mg* z#9LfrN}B&B#Ii5}WPJzEvUQ-t??J(CCLvMzOBFwEuc_I-=UB~lKAo-bf0iXb|2FG#@hrdg?p1#0s);YtcDCPhKk(0)nbvD7 zAE@nv`7~>gg9L|#BFcr{js-!?m6t@v0iMs`F0pZxMh|`uxtl(Mt|fR`ylrwHT`o5a3<0`O;;{l>os&$&n% zRHTl$CE`THfBW{!gko7vQYvE4{%)Gvy?a04jV zlacsm%64hAb^mtjR`K2xyq9DNSK_lS&Int^0Bw90J@9H-!e$oC%tQIvwoVG4#ZLC| z_Mz9NusEs&C&w{*`zKjPCEv5}oIAoi2k;7Q^)smY*4BChK+@;6#A77H;pU2W%iuW^ zEFO>wm^TCh_SC%cPaoGV4*w zo{MBy#-MGhuwK0}Z%1(#_-U3XSectU^jexbxEu5ewzxZdWW80Oj9e8IkkHPNlwnc< zGa*~Z$|YiBSLAJu?bhIz;2@}M=HnMBIF=HV#K1o=DqC%{BDYZA_;w-uvon0~b=LFU zw)00vwhGXGA?sRpwC=S2AbHFEtXb^->XELl;K3ncEa1)3^B~Y**lvZG1AZgMNW50G zgV!4H>jtv(-{rk-3PUG>{pb!!^f7s_NdRpmNef)Qu#?^UqwznGA>DK0I{-EkH zWpFy=+Uxg%&IWQe=2s(wDf^$i93JVV+R0W+8 zBsEYHQbec%&QO>rp&Q_*><^@qYgxq~RByi3X;`c6bLL&0k$-+k--9_h!=6Kd*lqmK zH~jg7xgBOV=`sC}*KhwmrCIu{F5Sd@s`H2afV-Y~8g^+GT31;XQzbn1v~`t|HX7qm z=|?|!cTm5&!pHVgWRX?qw*&nQhBbU$U28l|Vo%q#rl;XqN}pnTpK?C4u8rEKjnbzM z9wN|5C)xW{SU;<4LVcvC>zb&2XpcMgskDCZNT2?V`mE(XkMtQM`b@FEYaI`Nqz|M| zyla-d&wA@${E|WszogRRF8a)|_u0TTjr#z_qvw#!geAwh+{!b>Iw*5e-@cvCs&Ci- zTX`mAqZhbx4n%*-cTe+-_8as#np<9q=jYkmiy`IKx6``3Ci*vQr?q(9vAr%_Jcs5V znk$~K_OA=Ex4+q-y}!Nvtp@F5L_5vx+YQ>?L_5tVG+~G5yNh<3Lqy~_w1aBMvPAzL zWnWpp75fUi)V8mL-09e--1bt>f&UNs(Absdth3H<+^6o0=tJvH_b2v)RmjSZ$nM)!*?l4UJBxX!Qs-f7 z<1y9^Yt*OQIPCn@G@puYv(*ZpL)?dr zb)N0ked1gk#eO3UNjwwtU#wXv`Y#miwBNoJ>tbskW^ezeV>?e1?KGd?HE3^ZZ~wkQ z`v80U4-MMKiguc-9~-nY(N6R8lViKJPPEgU{Os6Xw@>JDL_dBaK5V_xcn{Pa6Mg9H zD}BnXFA6?PXG-P6{Icjn<5K!mSeHJscIO)PskF{~q)%a^K5MP*9_fRX0!Bt-SKhVm zG3O4eias;W%DMYktb1b}c)Rswu}=hk zC-^X)3BF|G!%92xVWnN=!*x#!otftUh&uo8iurfA2kT~uJ~aPIpK@zu<9m=(tpVT@ z_C6K0zleErxCeQ9qdt|7=`*=epS9McN1jvIsLwiUo5p?W`iMR>ZyD;mEf(`u(x`pA z72FT!ZWqquFu|{?#XOW-&p$E`BrC1Z(L9_``wV?#A7b6nhxVb;r?U3T#`}k|yrK{7 zAEnQ_+Gif=gWD2)Xm2QeHq=%;vNu|YJ~T#fTfvh@i?O&iYTvHl9SWu=_6D9wdqanB zxQi8BgZ75fe#1$$*U`N&K+MT$G2S)SJCB^rx#%-cSFDMZPD5QV7|N~dADI)<^OU`z zJg1`e*T&=JtsC{Jd`zFojr!R3hU1-x^V{HEw!Pulr&FUo>#a>1&n@rRsLuv#i^hHG z`iMT5e-%I4YE}1Gqjq(V0W&GBr%mwiVzFKqMLW)*jKn_n(2L^Y$W=u+k-<$x@p+;O2#l8;GN zyHD_-<+)G2I<#iP)OpjVw3swHGNjK$ZOZyfEYPWFeC53rJ7SLRD6PNlIFuNy3y& zz(67?cJ&HVa$;O%gZ&IKrI5a9<{UK7yn09e` zPFYUI#zmRSZp}SXQvF`j2^SU|f3{|t-=u=g6%)VLeK@FU#-z2`u7>2?t+R@+7fj?K zCf(;Re#%GI9xB+p?!b{1OV=)j(9Sf2F_vN4G{lhUpF-~OmdJ4jhZma9^jJwE4bI2M zB%eOPvycwAfnTv9Ff;kKwZ`5iRd=r)`IRyq2H8j5#U= zk4-~-cr>g|##TL^aq0Op}~wGQ!>*&7vDBy8>?ulayIeoMTk? zHN^;^OiQe^Wb*FrgSsu~KBS=8#35^*%ANVnmaVsE4&InMb@13@sp}W+C@b6Ec8%_% zj%~)J#$xGvh zdz>qszjgJT3z@^S9_(EC`ogm1(`U?nZtl2G`VZ=MAbU~i;we|z7XyY4ozf|FX4`>T znoLKUFXvXo)Ib zl}Hv)A0Ss~7(xIR0c=c@tyt{fPZAR;6aHX=@veR~NSn8#qduB+oIZ29);-{T{>c_g z`HX_ieRuEcK4f-M{=o8Qkp?E|+u*75;`tpoE6jd|fA(-?{`@{M=1!yf&N`W~FgZUf zwrN6WvuQ_5%8|$*{G_X^77`YS*aRP>``DjB@DuR!18D&sI7m_!mY^3UFH{HPEg%%& zU&K08rs56Dq*PM>3&JT;`4PG2oHeL&rBxsmBV5}kdp?j|^6r5@F+dCWV@TI`t*bWm z&1pAvNJw>*&l8?ua<}W+ltY^y&NONhrWSV;DUYNVC!gu;A3QU5a4yZc8Xtmv?*WT> z$m8Qfuu-Tl&#TAiTc%L)(@OYOG;MjKH@WZ)qQ^S>a%Rf_xIU=XV!8K>uv;-tV8(+{5R%8 z^STu0(+_rikyq6PhAY&0pmZnr9hn!C9Dyh#B2vv0>8fX}x{1@+=X{SJ`y;PU;_##< zQR{oIJ0Y)MSNl!h&VJsDeWUiSr#X={r|_;kZ7MKcqsC%!hwB5tZEQw3oY?jv?K-?u zwZ_+P%_Oo{xVpKy8QqLX3@&ydgUh^N_)G>2udJE8aUJi-VmpuS*mlUm_Iz%KNZ;z< z0BveMFW|SjcJe59%dxN;c7M!A!>kLWV+Bu9KCL|5StE7#!24hWfP!TF#0Hm*h+=4}KmiP6;7HW1fTCL4*Z;?T|MFAd1)zOPSF<%$^({C>_|nUP&xvS4%9C!XjrdP>&J znb+56cN#mrNrxHT7rmnUs7?Fv$;k!d#!ueSt1xrQqCN?+J;r1aUuZg^cWP=>bib)j z%*rhq)Xd4$bzi}CNzwk^o2u5LJvTPF=h)MYSc?Nm~DhxtzV-Pk$!OMq49z|C0lE#1a=CF$u zr>9hZ`1-n;L!MY!hRCrm_+MN8+Odec8s(Rmo_Vdl_d5T*_|D4=@C5CXSCQW-9CXEK zVlD77B}0PAAM%^9i{(i~5$z1TAF(*%95zIwP2z@ba3_F=K0Wimph1?oLkDddnzCla zxb=Ou@9i~oR@{_=SifZk^!U|%%VXHURd){7BTFPnIab~f$kF(gYi_w+}p@+UZG}*S?62`V;#yka7h1V_zEK zv#9~YWpWl>SN8o_FEwC20yP0q;JV7*Ys7OYYoJKLF8`Ysj>$?Kk=QhPea8A@!!joh z2=2ZEf!3AQId%>#6}p>B0u)D)H!zREpv9y?-e-{;K%4`cnFQ~paDCrcvZXPyyNZY^ zd(ba#dnr!-CLpBZqXqlkuAZKkQ9jHRq75zPb-ONoH{;|f>0@i^%;_0t_s?L?JFsqD zvDc?zPX%FD^|Clem_*QuO&x&K1et)b_p!IgOT-6DmL&Wal%&jP#BzlMsYiI-jPq~!N$zjlFCMjfIQQ{=>y`JfV@j}w zQ~7XhhPDOvpZ+OlAtU2HATErg197Y=?2XkzYQ{iaQq!8TemMq&?P2!O|}qZd6QfjpwR4$zTtPu!M$CEF;q+I|#OhxPS0͹< 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 JVW8mO{{dG|E=m9Z literal 0 HcmV?d00001 diff --git a/frontend-components/plotly/src/fonts/FiraCode-VF.ttf b/frontend-components/plotly/src/fonts/FiraCode-VF.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c05ac827c5847d8e6e8fc2f425b1c0e5f4ad7d0d GIT binary patch literal 286320 zcmc$n1$Y%l+xKT?cV`k@LxSX-I1sEraMu7ya7lm=9D=(;u;T6x!HWecZl$=p6THO= z6fZ=+|9$3!^7QHRzWv_sdatj!e*9-=XGiY)p4r(wCn@8MF*p2UvZyNcYgES(XJ%vv zs7v)KRjcjKc|HRZ8}>3LmRGM+yZ&DHyJeV&i(<@weD(SbD~)LX;vExLUoh6{XmF#7 z^(v$f&d!XI+i-oMP#ouYmeU`{k8oVNcKw2dzdt``CYpGH>vl(OS^ zVavWPdq!@J;y6Zo%)51$mfdeZYU0P3*I>pf_iu;uW2f|(j`R0$zES&@y}CoGf7G5! z`_2Q}wcK;uow44x8NU+O9_7tJpT1{C=@N|l6zI^lWgEBBU6as$XOu720U6?Zs|}7< z;MliAm)`xi`bVV0Sc4g}74F=vb<3m4^#x;X5*SM#-=$^$?k>&52$VmL^7gJRyR>b2 zyyI&oYEEQK73tosSMQ3OCk$tz?m@YSnW6996<3C)dToTv7NpWuizeKs#an$5INut(K zj(RC1i(>s*s=u5!n88dlj^|?*>Ud{P$0gIXigm0oFNYDQc5%f?!OVM1yvoG?_#&9S z1l3)+L6u7EAWNH^toxu`M3X4SmfXFDy0Tl5C}L-p8OQ2?GXIR^CuSVMZh)!(f!)Y2 z2%O5(VFdq#09@1YZ=iZ$1xI~%p&o$rzhfoJ5Wi`7Zs-*B1)2hDgS@JM+W0#iu<^eUhP+CDLoD*Xg?vflr?FBW=^Ub# zNa$zAefa_DMgNTCcZd#JMJHH6y@gr4b)bC0Oj((hGOj7GVC0# zOW`Tf1l2e8KhVp0p30ytM_EdzunOsaNOIC&uKR1u{3rik!FB8ZhLk@16P<|b1OJAR z$iqDOH~u=`$cO(!_-ivxWQQMMV_q6~gTes$d?;uDvH}~(@V`VF)cX%{^mT@_&o7)> z7307BANUWk^KIOHn|90-@)^Yq`J8Nh3OMJWLn$_pN7p&x6>WU%iuvjGukdi3zY0zQ zTGt{uVY1`9A~H_wD-3JdxKJ{B=E~I*9^+#-6fXKppGeROCf~U?=b$qxGi` zpt7xBP{lgd(G zsgHo}n`CF!!AVM=7UP(%C8*yikR4KNNlNuq0WrWIP`|o^jG#D}4=`6)7eMz>FE9!e z0B(S;%L>R3)Q{s%dlo|){UaYHqfN*CovtUp(3(%{^BbJ6`>#0S3vuNbUmP?As&5FO zcuwII(!V&NakX-uTjf+LN4}T_Qr4b|NRI>u0mVxVK+4>5 z%oBd#<6Y4QivOXF$)hJhf^6s&M6^=q6H0i|oGj+8MpN19^rCvXOw2j##ZkTQ-j zNE6f+#m{;`W4R4zJnl}$Ldj-WS6F*MwzvJ9{m`{egf8ut=_{wKpm z$uE%(2egK)1Z2A#@CjXmv||p?{78v+nm@k*itVb-{MFD-I_+3n$OaLh5}-bYft-NK zpiWvNlF?Q&*1Y8F0I`#N1?Q-4x`z5hzD{Wq@j~|(hi%J4e+8&NIYg_YUfRb^1=J^M zkJ6+x9%>WoRdN@w0Bi-Nfb(2RnZN3Px+eJ(u8lY2l8%830QN|h;1@t+LtG}0M}98= z8z;>J@J$lpHmNAiO$TIajPJiKdje&y0T*1G1oi_QCt>_a;mC(A$c`y%u%qlOoWod? z`UCVOX)nrDgU-|3p?0ZFYCA7D56EsuoJwWk7uvtD10WQP0UN+FK=a84Mg!^-U3bo@ zG?$BjR)E_2--gEWUqR#i-y+4%|5GJ9|5uQ0i4-6HPnG=szXZqpBEHs7aXl4aO>wMQ z6gRB_DdvvjK1KHsirGPc*6Yn64p2U=^D_YE>c6lU$34Icuntfg-vf$0y7m}wUds!h zPry;0u1R5nPIEt;UkFO-a*n+v)>6lHm7s`iN8bOZa*1crPhTLgro07Pk;aYAC)5YpBf^KHaPs2xE*cPMEWk)OxX6*L)29a z&j9cr<&p0a`ydbL1d0jxnA+jwH>}-XUZLz2=ti8kkWcfiH`0jduOKfW1>}E0opkOa zmF*2YF$QWg0rsW-C*WKH{K3xv8gN5v z$}uVRFXfmuM}MeK)Zf+L_mPyt(L06ou{PX<76M`4K<#b&Zy;NK z19!u5e}MKKkPRswVnG&A8f|8PdH{;$JkZtvV_?-mG@!f~fU*KUON2cVA7W0l!kjo{ z#=XC8#(fSz-Wr_uLOJBIqfYWdgPox5K|7r4#eDrM z9DO6$bCkP^H0GJ({VM88jzS;d6HF8%P^pb|t{e8Ui821snC(t=s--Hcmf3V*Pji)5eA&=(+C@U%^A?IjWDYM|pY|;F!}TkY4I!Bb1=^jQU?3tOnFCYU{+m_TOQbrpPA{ zk1RL(L9q&`4!TEw9SijlYZhI@(`$7+Yac`zs+-1~GH%3yWBj$8N;X{#sQ)Q_q5k2# zV+@E{$2&3dAB_)dBE7eA%qhwv8zCP56SS9MnE#G-2KsNusKb#*_9zWX0jx0&ZU3hx zcR;zTI7VCa%=cCE;+W#e*$2n-Aljrl9nax3_vsp_qtAbn{`T6G^#6;BCT5(OUAIf= zzpLwC^2x5w{(pO~`n$B_I`Yr|C3M}tT?^mwoPX9uY2l(F-~Salmy-8wIwg;klb`-_ zEtRGG6jILrUD{`tci@DJ86i8t9Q-p2Wv z{c&bvZIVAEe{lXgNi^Y`^cCnuSx^c+#Bu=);H%T=%isu~=nnv33118G13_6jVwlhQOu}hR5kh;!;JC9L}RM4 z%vfv087GYUSkHXSQf6gyfK@Pyl_izuXwSu-Z*9t!-j>yt%NAfOZ>wqxwKcYd+nU;% z+lJW2*tXdY+b-E|*}+>tlrtY zvwM4b2YMIxuI1gzyRG*G?}gr*e3*~)$>8JegvC(viC&jg{bu?t@muG& z$#09_cE8x<_NQoSt)~)(GAR^yHsm z*=@#d{JTE|H(Q%W%;x5JvyItN=9hV8 zKC`Fg2S21`=~x!#&b*lq%gq8=F;)VrNCj4rRcG~CL)M5zu$HVH>%n@me)w+I5c9S< z)x0B%nrGBTHlEF9bJ!xbjICqq*=Dwl9b`YVqwF+0!!EOX>;Zeoeq}G&Tb9I$ShzMRGVZ4E4SHC z?KJcAzGec}s1jxwv#;a(WhU-27IS5(Sw`HkJXlVaixp=1ahEB?va+fygaxyjtS+l1 zbFDdHDJH7DQp6p#AdL`Y&x6C=Cd^{maSx~*dDf>?PR;yVs??;U{}~R z7SFEBJnT06#NM$F>?4=#K6kf#160`Y#%FtJAYBOpMA%E zWck=$R-7HeJ@YU-!b-DatSmdh%CO_C96QO%vs0`RJIkuD3#>9b&(5)G>=FxOw^$8! zm4&jKtRB0|8nZ_%oc)5k?_<`KJz&m{c-kh_6T(Lp8Z>MH4JS`i>)37vb7OTVVuomnEYs=ms;!ml~YOC6& zHmD!fF1207sRfuBi&d;zu2!g}YQCDMmZ?Q*iP&Y-5xb4Lmb8@EW7IPq81;GKwrBt8f$9M0VjX0z@8>TjUjiqM#@s@{6LP zq$njaiOiz3NG*zp!Xii%!(F?O_)e6-&d6Q(iF|y$D8o01vV5Z`$2W=cJWf>Ln?*&w zMO5NjMPjk7WMgI(SRQj4f#>gh#wP;`El(1PKa=RQbh1m zqA5Qun(?zDlAjYTu$R0bTJnpc6~81}^UIF&hyNn_@?S+i{zUZWPsITK zObp~hXlE-1@fTt+|4j_xFU3&)N(|$#MGXI44Cime2>w=#Mg&}4LQ_K{Wm?fl`&H8eK z^}@}n4;O4OcNI^?Gx1!!5Wk6+;+1%9EXCe57JH}_#!6$Av05aEM3E$tvE$-~FbwQw zPa3C;)5aO&tZ@$au?vQWk=@8)_o`%h^8{Lf_#u#HPc4E_wHQ48FH+C3@jGv8* z#wBq>+!VLOZE;7$i@V~UF~^u|%roX23yg)vB4e?5C*F$>;-mN^{t%zV7vs8d!?97m+GQ15RHCv50PnyTf!~AT%H$R%6%nw#ctCZPa){<`0#e85s?a4vL2{UkkwayFIZzI^T3S(ZxEvuT%L#I#oMeT|iZYdKA&bc}GL1B)U0O0i+N>lg zWm#EH23QHQyo|EG$WR#~y=6A*v-GqQt&cLh{7&YwKFF3bP`XMlSx^>`O=MH)BYkC< ztSxiMoHATClZ|DhY%becpQO8NEmO-@(vU*>NiIFCCRSxR#hPeMkm+PvIn`=mHM1hD zNXy4+B&*0uva+l$tIBFJi_9c5%SN(+Y$!9z3^KiyEbGg9vaZ$IYHqc+rdiXiFsrsz z*YdW?TE13etBp0^YG75erdX4$Dps&n)2d-rx7u2>tU6Xj?6GE8^{o0gm%E;eT4Hcy-sg|m;YOczwNL4{TR7F&NRa!n)->E=VNe?dRUOq{4N{#|LDgS1P@Pn$YNLWwPZh1|V^7vZ6;t7=xJ;IBl~OM9 zi~L=_mhY5Qmi#O~$`A6r{3QR7N%Ez9CEqARnKDsvC1e8jb*_qbbHlJN8?G9wMyjD| zs#>WQDngZ2Ra8Y)LN!yZRXJ5%u9M5<3b|6QlB?w!xmNxlx5_PYvy79QP z*Kk5(t?8r~lcUqjao0ZldLZD=!%ITcEF2j(3pJ@Eip6xu>#o`FVbutR6qy=%xv ztpNFRHXz>+i$Gf^%b?W1_Fx_8;AAtD{6}m9(M}FRJ309o+S$obXcy2GoCe*TT!wac zat})5CqF*`^n6YH3VJ(v3GL(LEwnEnJ0*es05Qu==s*om1*NBMVBUld)>ss$Lp0_s z=unL;3|*=*$)7ZSU{b$gHP$oea*g!{xxX-qfzUjYc*D0 z=nooB<0D%G^9z*90a*mPL1U6V$(O(igl^KP9nd(9l^;re0PJY;xO0-!n)HF&z$>q`=p?3b*;6F**; zXz=XM@Ko#oZvhyd4jkZp0K*f51H2hbn_xVn zhAo9sdw|)Y)CQonif7T_9R}l=0|c#woazO5ufaIg1!&FV?i$*&a1RZwbDXXRc>lq; z6Iw@kP7Uo>crFdCah&P}w5M@=ZbI{T1JZU4?PWN%0cic>-WuBPa32k=k({mvw7=oh z2B0;OQ#n9;AWn4wS}%ES4c^5tPUirvTb!;3ct68E zd1Vdl%Xk$Ht)slEhW2Q@nugXd9mL;E&fUqkCCZ=j+58E>eeHPZ3Ex)JIRN1Dz7 zS|fQA4ejGNoddLv@(2y>B4XvA;jsflMcnb}!sXR(UdqCb&L+dVY zrJ+3>Z>^zq6rbTapnV>1tD&`)x6{xbkhj;+TFg6WXkW%VYG^Iw(Hh#v@lG0AJ9%df z?F~7d1GFCVt{U3waVNC4a;g{5-jMgu(0a^!YG{whdueDr=Djtv2c*4`0}k!0p}ijO z=R`sKYiQ5M2WV)2$Eh5V8qhhwVxWVaq=gRAuwhWThDZaZYb*;&V*vET#>p-K?>-q% z($I4NPu9@AS-5LxKQ25pbUzf?HMG|jIW%;y6U8;O4-&gH>NIq>MxBE0)hNtCaa5x= zLov4rwH10oqqab=Yt%OA4UO6Wy{S<@LT_mlwRu~kwnJ$QK*ix%4ns9yd$j;6G-@#v zCk)s|#X_Yt?qf@@BiLJ_M3#khf3 zbyN?1v&w9W;T)Ys3NQT_@qtdm3>Ndf!O|^fh=3qQE3IM#>}P@&=QlZkmm(As38 z5W(S3)6(!*s03)AuY|gSR7fv{rq=K^&@>u80g82vpzoKM=`?&66!VMV3!xbR<`}J` zW)_eY=@_UR@IZPLG`oh6hvoo2$e#%H1%61+hWcyxJZON1&xPg&c~E9PG_Qs)fd*>$ zVrV`MUj)ssp}%86&#PuZT)P%p2o!-06|^V_LYn$s43tEg`d&&y>nlBfnw62C6IumS zMVk6pO(W1J6Z3}<)W={@18M4GO^ra?^bU>?)EC4zA*hd`8bN&t1GSNlewcMYU8FNX zv0e~@`hqor5UHUJGy>zH^@0$Ep^X6IS72=P9?*8AA z1pHyP&y~iZ@IOqfo-NVg^8i6@%PSS{J(8(G> zb9#zKOovX@&|br&azLbk(m6o;40DD?q=U}X@L|wd8j&74Tf=uj=V%1t)tsy0yP@+m zg5r0+hVOwc&r9F>z)wIawtxtSQak~E61qbpFh5O-8^BLN z$u~gId?kMXei}+X0HPU`><;)@DA^i_NGRDC@N-bIDG)87WJlPHpNAgOh?Y>Y7vLA6 zWFsJ2LCG$FUxJb?fM^Y+@dJJtN@E714V1{{+Ck4~_%$ev z0f_cc>NgNkQ0gn-*P$0Qq63ur3iu5u^$&=SQ0f!lH=)!IAflnvHsH6Q)E*F>pj0p5 zx1m%Q5S^iPJ>YksbPW()pi~aHfGlf^Y+7*uFD#%CEC5d$?f9Al;DG(rrA zN)5-jEu|47pe`B?8(6LyF%p_e!(k6AwMLABrqOWN#=`gsF&dgq!(k^Yy+(Ww&7k41 znUzr^#y~S^IP7O-)`+ptEE*15T3Iz>9Mnz2VOJ}gMvRBLYdCCdd1%B0Xm$-fqgpvM zVj?uBhMrfgTpBS6>ZzgUSIedmlc9DEJJrNTG>jfRD;W+dhrJ>KAJV$Fd2Jg98!=j*wErKD=JrPd? zy|0BinGG>#bbun>Y={qW8j9Gk!N&&Lw!x1!_(R->+5v22!0$HL$AFj7>Gd|d_d5%wXKDQp0RCFpgrlN^NXH8gXZf1DlaXpKMz+^xSUS zs-fq3+cph7!`rA&fS&(tJ2VFMWhdB$wyr|Sc6*S%4Be}t_b9e~8bvibU`H3LfH2gWSu&l+PU^svU54LzzcsQfXFf$`gpgA?e_uTb(0;z;}s#k?XE z=DzK$MoogA(UBXMnmroY;QI6F2VLrL+=u7A2jr?!S+#OP#-^mKhRb>=x2aAWOzXnHEK3A zNu$OyW>>%k_oPs0Y7ITt*)wTqpJdMr(0AHb+1)heP$bYe6wb2}$F?JS8N?Zyy3MCffVhhiN#~5d+2{pT=$&!Mn0LH8LiUybnsT0mo!hSmoS(0|z5 zt09O)x-7JX#w-qn4G3!v6m}r2+0dyPIRuKBCS*S-d_ze1!)t~{!UtY6!7Sv%-d=P) zknn*Q)e9uz!E3HY!iQe-G!j1ZS_^(a8QjOb;=opPIgsccPG%^*`)JWLI+tSElP^ppdg*Re?kZGWZ zGeXjJt{RDX;7xS_Np+;w$OtH11EdX#7$B@9XgZCgcG7DkeB_-`Bg;WCe+d}?MT`(A z&b+f}tUsV08Y=;ccp+qYsHa8-LFxKHjSiwMz(}fUxCCJ zyy+N7vVAL!^n#L)fh-7ZtC5%!-Xk=!2^4Wg$fnRyU^LP`(C@(*q{EB=u{R#`*+Zt~H5%C(x>h4oLx0dn z8tXcZG@$D>Qb0Foq#tynMsg_DDncSgFiZ!u5B0${gaw=Upf19y3^g@!3e?hA6QKw? z!h#KaGH7HSDEduU=$nsSBhx|Q4?-f=eS9?%>xvKhM_8C^KK>dD_Vht~5>^B>x5k1E zeF8NW{N)4x5VV)~fsY8Q5tRA_tP0Qt8d(JjANedoA1Xl?Yh-ok60j8cRiVo?G7B^o zEJr@(n-6?PNUDD&ScNp!Q=ioui8<;6e-V=G0e=xPJrw>TtYqjqjl_EF1Ah^+9u)o} zWL@Z4jnx`@PGccvU^WLZY+~L9xCNRvjqfi?Av}5yylT3dK4?ShyGYVy^n;L>jjB z&84v#La`nZ)+DG+W6gsiRtak=6md#eRiR`%V3mg=&IqdD zgnR^r4++%|3O^F62NXUe6ym`TJ|yHXQ23BgeW36mp}IlgM?zJD!k>hE28B-vH3SNO z5~@2CJ|$EEDEvvNfl&C9P(`8eC!zX6eKaZr>Z_5@p>Q6d21ETdsw*@=qw+y>Yt#T} z9*rst&8tzpp=2YVYC-85AfG_V)La@Y)d5Ov096-C{sXEc zl*R_+Q)rMz)rJ<+sCLle8r2J0LZiAs>3X0#Ldlmv)q_$T096%Au?ys{(6Sm;2a5SX zsP<5bKcEIdDdvFc46Ue9G(L)Hp!!28j)7_bt)fw#pwu2vp-}QYP;H>qHHyYZF$7dk zXbp{uhSt=m`cSevP?Q&ksI11Pcq#Tig!o8B5lX7%K zR4+vy&B~WJ*ZJW(8C(#2R#aoq0ZaT6B>B|dQv0f zp{F#Gt~;xd7oq1g@@MFIa0&HLeOEN{H1sOChJ32;2DpVZ%K1@y7?ZpXrE%Uzn#$7H z9${Po(8n6(5B(K9M}9WwD~&t?eGT3sKPQyt+eg%MhB5yPAQSG_u%|z4L|Eydg+Otn z(?d&wGDxFN{|Xu_2egvLLY@9m8Y>sHwZ`&-qW=NEqtA$ofHweRk%-3tj3po$>Di10S{gY6DuF^iVyZwX4Sm*C zptQz>uL`9BX;D9Xho;#*1NONDT?){?x(1B{TamuW*h`do2|Fp2PePl78G^45w*nY5 zea@4NwS!P2@X=dI2h4cP`0r@}Y^lybyMS&;pNDR6z^u89zs=x)Ss^=l^5{7F7@Dy< ztTXG!MzBe2E?dqvvfb@cXN4_%{5WWoF@t-$E@fYKn#;N^}x^ z#c(lE%n{4+cOu@1MEv!Q%=nGOVn#zF%IJ^ZE?i@5HTL7T`7Y!42%i}rOpd?2QNXNj z)-zj~UCjaJDEt=qTJy5`(Gpf#%N@Vd)(pRkHqTmNZL)S-N38SKE&LW-Az2!~owr(^ zQ)%%#Se5ZRV&V9W;I;TI;REWVy5f?_#m}X@OHG%CE>SKcTqe29by@DR(Pfv*VV83* zH(egPymmERy&nhGHu7Sz0;mZ`zBp@x;E*$r5l`XOuBXHuBCgB-X*KUfVswJ=(pGdyM-8_u1~t z+}FGBa6jUH-u;&QOZPuKOpo*)***L`3VD?FsNvDTqlL#XkMSO}JeGQ_^Vsh3lgDX~ zn;wrn-g+cwPo3Q@yLa}I*=uBPn7w88F4+fUpPqeX_RZP%Wj~(%a`x9bWR6TZJagp9 z5tO4rj;I`+a`eqHJjcWw8=OCva@@+vbLP((nsa*2%eivos+((8t{u6OJ&Smj_H5_b z)pMBVc+XhReV*5B9=3+~D=!^vy=)6?_wC%C#-7a{Vee}nZeL+vZ{KF$Yd>edX1{Cy z)hm@(RBucQ@}<-q*bE`egN~;ZxVAnNJ&^i9RQN-un9c z_Vius8}G;czVmDC7wh-lFVWxf55(VP8ScN;f4~2ufYbp60zw121xyJz8}K}Lh1`>K zugkqP_odtkd3^HJ&od&=sytWn`sFQ@w?y8`d57iQkoQ*J#K3%ktpd9Q_798+oDg_8 z@Lb@{z{mM=<_pMIIA7U(ee(^^H! z2x=A7CFp3-*`U|O(iZbCR-;(!V&jT!FLtlETk+uHb&8KDzODG);>U`gD}Jp+`Vyr| z^eQo^#JUnsN~SJZxMZ7>%S%2h`KILOQnpfgOLZ?5TWUk8%cVY*_AFhgbeqznOUIVJ zU#3u*0cB>F*;M9SnNMXs%hoL0yX>5@hs&iem%W^Kx%}lil$%xV=W>tBXDna2d|3JL z@-54EF2B6|#`3$$A1?o;f~=6SLe2_xDm1Oou0oFrgDZ@wFulT}3g;`Pu2`sIiHcJz zp01cwsY0azmDX2!SlPF7)5_B-U#U`{O0g>CsiMx9ar^6HScO+)f!cc ztk$kt*J`7yO{zAl+M;S#tHoFQr5gS?Wc4)F1F9FSUc7qw>dmXSt=^^jn(A@YZvp;~8a-K_OXtv9ujLQ;jeg?NV)2q_g(Eu>yZWJq*K-;fa@lSAf*tP0r@vOnZx z$kmVsAumHdhsw}Qp`M|6LyLu03JnX52yGYIGjvGk*wC4wOGDR(?hHK~dOq}a=#$WQ zVJs|7n0uISSfQ{oVb#Oxg++!%hxH8`5jHt&e%Pw8En)k^PKI3#dl2?A>~n2dJ5z1X z+Iedit39yx&$VCHDOG1cot<@lsq0g>a^3EA7uH=-_i#P;diHv?>kY5Bx8B?O_WHr~ z$JXCb|7n9l4N5nt)}U^KW)0dm=-FUMgRu=}G+5kVZG)o?ercGgVTFdF4I>&(YIvsM z$42=YwQ97zajM3_ji)yLrHN0IE=?9RS>9w_ldVl|g=Y=7hX;li3$GX+65cqxRd|>1 z{^29TCx_1qUlG13d|&vf@EhU3hQE(6A~HtUBJxL+j;ImQAfiP?bVQ$sn1~4xvm=&8 ztdH0caVX+U#Px`W5icYDXlgc1-!ywu|E57rt2C|Ov{lm{O=Fr)X}Y-ShNgR)o@#ov z>HVfJntp61nx$>#-pr?2fo3I}RcThcSwyqgW>1?3H?QA3vU$hmy_*kfKEC;^=1ZHe zYrehtPt8v^zt;Rg^WU0(iZmkAMS4W~Miz`L6ZB)*vz^GDDHKLkCwU6o>H8kq`s0C50qF%Sm+p-@1 z4`Lfzer{E&RYa?qtv0s0-P)^l+15Q+Pwcpx)e+QQi89FrVFucQz4tqL$=$Nr%#g4-|PV0Ch zI$dlrwg5nb#B-BKo_%1WS3K2J-T-4daGOUZhN~I>ps2v z{_e-RpYML-Z+`A~f7(5%hii|VJ!@-P^x+)!y}b&+EOt_s!ma^a<)Syw8We75WbDJGyUd-=lpm_I=pTt)EZ7 zLj5}QJJi2;{~`Sk53mhrJK)AZ+rTCRw+%cr@a(`B13wLN9ppJE|DY0sY7L4Wv}(}C zK|2QB9Gq&feQ?deod!=FJah1(!K(&u9=w0>sUc~HR2edK$nGKUhGraEU}&wOJ%+9v zdTQwPp^t~Y`S+h;d|1~#I_OpMjRb+cEr^Y z@gsg2@p8n65lJKE$f_gjj2t*}^fy1tMqU~vN0l7aXjHFJb4KkMb$-<2QC~)<8l7o$ z_R-#>^Nx-j-EMUE(fvoS9DQx{Z{KJ5zTy~jjBQNCF|EdoAG3bUl`%zWl@twofpL{ny_feqP2^*E>6GLb8-H~r5D#(+ymLxRxa7K9?~of*40c1`S-*uBo5+p)hauef~wii|6YtZ2Pr-io^`p0D_{ z(q(1ml^0h9uWG)k=c+NQmajUz>h5Z`y3p!+tGlcoyL!dyoom#ZvTMeyxxO~*+6HT5 z)^1(<>Ic6c>fmR^4yp=}TmRkqu=U;7FIfNc`U~rC zu79{bX@lzq-wg#fgl*`wVZ?^D8-ChwV#AFM&o;c>kgze|#_Ah;Y}~x@@h108T{f-S zbR#ZJT%ovDaZ}><#NCbiwAtEh+Z?*N<>sNAXKr4*`RL{cTf~;yTLx?yw`IwecUvoN zZM?PB)^S^BZauX1+1wmI82Z#%Q?`nHGLUjA6~$CE!^`tkO5-|hLf zH{RZAd(Z7dwvXLDWBcOmYqxLPeti3j9kv~LcLeR|uw(F!F+0}mxVN*;&Yn9b?VP)F z`ObAa5AHm*^YYF+yVCBewQKsW`MYBO^7HeqN4wSTJi9}7cila8_m4A+0_8vHS;M#%52i_j!2h$(S zbujQ?$%EAoHayt+V2^_%4$eNf`ryukM-SdU_}d}h!{d)EIdbsGhokw9MjRb`boQc-dw2Z1gH9|wvE{_^6Y(eBo-|J8JXz*s&67<| zb~!oXg>X^yUyM| zn|!X|xn}1kox6JO(Ya6O)1CJ{U-EqD`A+92p5Ji(^!eY;f4N{>$aulyLcoQf3zaX_ zxzPMVrwc@x{gD zOJ0|%T&j1e%cXIb=3H8LY44?Tm+oD9dD-Q1&dY@^hg@!Tx&P&9mseljclp}oH{4=S5sZ}zgp&My{nzB4!=6*>gKDbuRgx| z=~}vLwrfGxs$Gk^*8AFoYYVS!y>|H8ool~ex31f+7r9>jdaLV$ug|`|`TE=IUv9YF z@Vim;Myng0ZuGt}^~Sav*KZ`;wBHQBIql|wo4?&Ee5=&08n^1+3cuCzR>xaCZpGZ1 za%;}5b+`84x_#@>trxf6-4?gg-gdj~b-T>%D!1$1j=KH*?M1iO-`;ck;_b(`-`{zB_ z@AOF@sHiP4kO_wOK4x!x!l+m(d;`wQ@Zm+c57g+FxP3r>erzp2J}R*TfBy&XmNbp3 zCmhWa4Z%jRqj5PuMqb$Cb@R!-zQD$!P_PUCi(ELOL>>18CGPUq||*9KlI_h8Y($i z*XOVc-X!5w`2jWoYB0R>GkwucYL*@&P>u6iB?E zwM2VyJEl`ouD(fT*Vz#PR-`@b`?e8-YotqC6`kO0D*j@7E2{^?J3L<4Et^6Yyd~Po zu)^OR*t9~Um+mer$Th47O3 zyCx;yy^)mEvr7JECF(Edr5``xrIwNh9j!PlfcK0J3rux*<*)gN*!Ma=={xEb{6giW zI@aoIEsmJcwfvM)n#LgSJ4-9IkB!Gw0`JZ6`$Dj98kU``TR=E$T22(tlFo1#)y*xF zv8&;NEXjBnlF-E`y{^VW<~Z)PS#gA>UDS2 zdmsq)I&*23>fE1m|CviOTIU`L{F>|VgUIwt>Ar@0My~*`j8clu^PY@|Tym_#h&6Q^mY*ITGNW(x zh|Mu!Qz|E2$;5w(IGJSuFZFT@ca3WtT(e1;5~aU?u;xtCm%)C1{7}Ed0R^hSPmUHP z*%NIdf`2XvYv^2u<#g^(WgNMQH>h`C%dV;LwXDN(y6nCR7$`-B@j?3=zRrk60{<4t zh^6_^uwkOyFcF&=X+z5Nj)L}GUB%=>5!}_N9qzm^OCq9Wwe1849DT<6u zI6f)E{0AbAC}9$2B`tr+kYAB^E46>S9GEv?~d^m)4st+5`z5(el6^bv+tlTkTNCqqNi|1gv zY6_iqcml;~MNh^jLRd%ib?s3b{%ckTiwShNJjKUb&pl z%$dzxVIzx}$~1WL+@x3BH1fxUU3vG^5%TY=E}RyfDIuHjG*kCk^GYYWz}l6Kec#MA z>;k;F#2uKX8!zVXA4D_myF`2+(RE7xrsMucEe7(>>fu9=^7}8bncNaj=Nh@lw&1G&%80}KLaSJ z2zCm_zx7wVuhGf&oqx4r<*E#uQtV&*o)lHUJ<>f#NZ72Yi&& zxT=okfB5b>=Yk~`M8K|yfDJ4N2r7c2pa?1`UF;}GSDJu;AOZ@Aie2nAVz0zrVo9PY zCNWVH6Q3j|G0nsng}eN}yL<2Df+oMu`+lBBBf~knv$Hd^({|1%XwgaOUOI7v4E^Xf z@i={qUiz4{Cyw+6{eeEAACdu#0(=fmEiXYWZbJ$vlW+kQ63(Gq0t8e@xOkRHxPS@? z7tbKAG_TG|L0?C{dSbg1iOU_|mF{cemFwG;__i-PyVGY=`q`b{8`X)7Ach3` zv@4}fHKA@#y8SsqSu#D6-lRW%R+oTA|Lr~}xRl1J#c*Qh^Z3`O#rQ?wFRa=Z*uAf@ zdmZ6(a9a;Xt+}}cYzEks{BO2@I2kQ;+sKe7Te^94llGcu{&MqaLPp`cmg7C8A)29G zhjsh-v+3uG^9zb|it=4j)rn1-Cy#u7F8M0;PHx(qM38Au$j}|B^cQ-CUZsDLR@ipJ z%HJho3~BX)v^L}N%B)^)>pD5Z!o@#vMh#Tt%TqQ_`{t85+ovus{B`~595VVTF_X_F z7r1DaJ1)!Hc0NG!OdW9(+Tu@)=7Z5%sF15BW)1@tW-0S=h!_{n6iIya8);tnbH&Gt zNb1YKXIF+^QAhlI=i%0Cq4Xbh1l_Aia4BDWa1F+rNq0jZCc=v8!ML0o-4@0$9{-Km zy__@WPRS4Jwz*eyWy*%n6B57LvGZYK{-FyO4jw;q{;*V4@pttQQ@_PCM$B6^?htXU z=l%}h{+skW@c&2Pe$4$H))IxawB&1Hb3=7&DPpYi2^8yyt+UAPtu*Pg95UtwQI+hd zdi?daWAYDC8)uqnDx~R}E$WDir%E$4UuQEe;iGac2{ho6#?Z@L*L(*}4Gh3L;@Njz zfC#E+@J<)d#7y5o9~jjbc$P7^yF202N-c~9ohg71Ht^Uk6%3wrhJ z5j3p0^1H_*$L~O7X=U02b%yT{e;U*7-NPA&r?xi>ZehB5#io^S%^*8_46N8z+gHAK z1tlVcVXRC9CqP!X)#hkvEUnI_qvRJYl_xdrlqV@E;1}IfGJHt%k+L+?Jxh$?r2a0R zmp)2MlPttLpdf#TQ*b(`;AJ#%2Nblze4v$pUT@B!po$^%9m;Uq0d8mk+=TVQTtsms zwiO19(jwvA#rap}E!tna{B0bjVax8!PyVn_-c{Rg^{Q2?<&W6Nd<>37qybL~DAV%- zD)c;u@*NXUq36Z3OwS9b(DUM1rsoAz=y?HUdR{<Gnuyk>eK+Tw+Fw(z)g_?26G!2Ye{6n&HFW<@AG{sgJdA zD5sQw3QCD*8KneNP)a<@C?%kv6maqbPSb%C_{kK8Bexx)gOb;iv1IIWI-guzPnXjr z%g9++k)KJunH4D&Yf_|#?ClYFI}UF*!4D7z_PT?#elhJ+ipJ|J@+5Q3Pf}ZXtj0n5 z0Bhh+^EKdDU~4dCE8|eU1_8a)R1f9erGTDop@(umQb5n6w1=p+0}B&i0Snj~hnyp^ zWRhVkJvOP`C;g%clWmiex^$)G|fF{scwW)Pa z;9S`w@*T=(I?ATzmT5~9shGV_rss-9;GdvQi*r~dzdV}(9c{ItEs|Oqp4i4Iw zrY%1y%m~6uCWtlRsE~K|weLPO!qj=!+)YPc{<@`Pp<{u6kEt8SoH<9Q2Cf-&@SW8$ zcie}x3~M^tdyMblRa^H*X3T8YInt`ri3&~3Bp=c@FD5pgQH*0?WCc312#}HSq2KDE z#(L;+187G*^hiBaeOnJbP!Ba~s)rt|hpJEOp{E3t+A}I>p)6i;qV8usZh`uzPZ*3* zqlcdS4Yp?8U(m3ZKuJ4zQQ#gj5T+)x*6KI=-{@-LLJqCmQ8goRddJR5U3$!(95hq&bWvnn{M^}t z)5*ha*AAXW)RV7)?*;1j*j|9aB-MSa%tC!v#lGyJBKpWS&JbH;D-&mM1+yqv?AyfL zoCFQs7*Tp~{M6G+&qlu$lSzzMZXA{#Hejo{N%#tJ1YM!S(2!}V)82g{)6S0 zBa=sH9*vv`9dHd?T>}cjE49`IGI2^ZFjJV7B5j^j=ISx(;-vMT#>aoUVQSTw5nju@ z%FhL^jTqExlB>s(zjki=XT{JVAp-_H_;S^`Fvd@OY$G%5*;=u(;AeVh3qAChfYJdB z4?Xm>U;PO6&mO5CLCsDRF>Y1xGf-?jR`Mw*)<)G06tgg~5?ildi#3-a&Kf4z=#b2q z*26dYFFO`E{nX-VE1c-dl^cg=PMNjL&b~-}*W}f(@=%|m=UX?wC>!a~{^6I!S0WQe zO5MHuFw+|BO-I~JvsA$tC14(AJ@pN&h@HoLdF z|0J4h+AKQO#?GVL;9jk}y7Y=$5O9dT{eRH0RjUCLMs@Eq$f!w*QIj}tkNN)O!M{@$ z+TvYU48y@g?XZjbEQpyIj0fh8I$AQemtDp!8frHn$!&fbiE2T2X3|=s%-*BE+o{8B z3ybjZpQCGc%c0Sar!Mt^EUlvvsH;s^4O5N5m@JP{?>cb*$U)@v6fRW`JX#>qegI%P zNFSFqH%ZOq8=M8jsI<5DS{E1+9J()k$XKiPRvrPDXYZO$>mF~eo|xp2pOL<0!iJd3 zi_%tX-a&Q^0tPuf~Y+*a6OY$A7JdG9DAqBL+|p zEwq*KUS+e=;iCR|HRCApeATZYjp{yF<(~Qua$vAOgl)h)DRu_n5P%UGH0*3d zqvy$({(}eiw;McI=}_w*6C;m^A@^N-^&K*#Z!cHGTKQN?2Yn`kk5vD*{w2^*Jj->! z384d6q*@DQ`y-&o4WMj)1oTKfluNsS9x#Biy%Er=dMKB60X@hgVNoTwLtz2M?A8+q<~f+dDgB zxqTL$&Fej@qi1NUpFF?z3@GL`r=DUu%IVh4^^U;rl)xIXc!g?DFz$69uC}u`%=PqHFjg616OegUC5qc_; zpLOtUno3qpB?ySplM-pzG0k=IT=RFP(t%oQF5&A^4@vc_zUnI&?MHa=cnhOl;XJdq z6}QANRxog5Us_{h5yF(6(q5yHMjXdre~ZCvH5Vio@(ujX4p@Y$kb4VPV85{y85pFD zSPeV{TCKiP(?{=eC{ZzNW&C~P_kjy^E>?D^?gH7TgRAS|)wuUCoxu?if26*mecs4; zZe%XFCU5o*%Qyw9LlJ^vFE#>oPcV|5%q z?CL#k6$|KIS&ucBO#wX#tZ_cj>Filnpg7|65mX|=bAo!z^ITu?Smrt zNdbhfhgUAQDcL>SF4WR%ak?}aG~y?Q7Fp0_H!Qej7+vHvM464=(zP%+dZn-x7pKm+ zRJP*M^ch!HtX{un_3AYhie159yEpw^R`h(^w!fFfe)jd3pMU<~;b+(ZJ}%#ZyJ81; zOh7=Ho)*yK22e&L0mV6^8-eR-0mYfAgK~{5pa%`03-u!$9;bhnYe(_yDPSV2cGEhg z8SZtl75CC|wSjdn@))wMDbHi@NUpFwY^1QFi;F6m>bq)XY;fC{ppMAOMd>~s5!-Z4nL1QX$ zJ`i}HWO&z6?9?aNsUE_b1Z^l!?$JO(ct%)%gGH?}hZgo^GE7|QGbZptN zd6|(d2k#g^eYIWR<^C(n1}7_a!oSU;MkeaB8z)3WGw;^J?=$A;at+Sr!D%4o5w;F9 zKfu3iF6MRA&jT}RYnXm2QdvKb`mW~OxC!-h8PBGwMlYTBz#b4I%fwHTU1Ku zTtXoz{4{_MD)pbW+PUT2%wbys%HAFua=3CunQKbej1~5MOBA~?qcdN5nn+f`eoOz_ z0WWkOe9%j?Vst(z%SyCS`XRan&)q>3323#es7(S5%}gDg9pvxcew#G2aI0F?%cF;t zm1Fnpql545ZL+B4TzO1XZBF@HO_Q57t$K&Hn=5_zK^8p;ZsTKfZhI`a&7Db!fHLV5 z&|?CMGZT1dp~l90>r(L!kA2IZgA&N*Bd+kq><0@gAo(FSg8R^tUBPE)4f|+dgH^q(Q#JI(G7m3k%Bd7|}1hms9Y_K_eYH zcO18Hdi;_h{?1{8h67*3oaN8?Dt-{Fc#EwDeRVS?FZL zXZOBf>-`i`Hvv2b|Bau2D4jBE+Xa94=IgT{_KM>m7=S`8YcnB}rd0&?_xA2TDKl$Q z4whnaH(+Ru8W{_Rl|=B*}zsnVCE^vhTp|J@#fxTjoA%MeF8jW`)h{gaIV|Xlh;w z$Gr#gZ=)`u8|k*kQt<18OYg+QXj0!W19nK@djop`w}-_qRLfOU7#w?qb?D)zRTW&P zAHaSX!uP7ya1KNS4YJrln|%>7hguqKKoIWI)HyQ_*k{gd>3%wV-8!X%#w1}*ytmw{ z=KEC>g0_@P_y{(O!pWa<9zyn%#pd{o0?JM&0X=R2W%voGIGy;j{B#mfaXN_+Se#Tq z#p%SL4~*F9B%tDS5+ktaseqmmv%z-9>a?P>Woo0-4IDF`D)PeB1?v=UH3D-Pwf5>P=a@hqd2fMT7% zClC180iWg!AD({^DH!urWI5fto-`w^E9efgY#Y5P^&!8}D6*DXXzq}^c(;sBRV?u? z%zG3DO3a0E7R$G!McrrZUSb}X<<+SdU0OhVh&$-;aQeaY)-i1-WKPE7Cdh}eElU99E5n5(N#c24njN&Dbhkk4q`pEXY1EOnH2rNa}Z(-NRjqwk%JIp)aaos z2LT%5%)bvB+OP_B;$UK7j;dLNfNh;woD<%$BiE05YpYQlIx0qy>;qylho_cJv76Av zCvE!hdE@*17ikYqULNgbJV(LzFw;z z;ULq5WD=ku%+}YA%e5&nqazL0f=CF~!fF%a`8!?l&T6JTweLWCVx-ns>21D#cn56# zh>#Eg#rmNY*!tn?-_E4x84cuvG2$)Ro6|tNb%;k|FqWLkX&|5?F2$g$I1L0;#HAQC zo6|r*MO^9)*l1_#$7vv*MO;b?ox*7#pduR78Z@Y1Ps3;sn{yqffOrGZAniCjeni0e zh7^$NKmlHn!7Hsn12TXHFft&lS5JpJP6zRBJss*e9R#$V4t1Ok0$NXpI!*@x)zd-5 zwCZuvVan+so~@@t9jAkU>gixG!s~RX<8%;j2s*q4+iw=E;5Eo-62(T7U^Q|$U9l2OAD`7y<(9r@>KJMbb-aRI2@5KRwv4y7LhLP)7nTE z8HG{G_{@wSd8EtAM4lvKTba6e7RLpa!Cj`k@N~WOuE}KaIs85d(#w9Y#dW+Pt{g6K z6>u%Cs=KgFmvUSMe6P0V0pn<~6>wc#j*Ty{ZCZ~l3Y~TM)<@ttM!=Zq)Pum-P};_l zS+pBRdtZ#en?J>AJXzqaizf278I1+pFq()_wQzkjQIEBFT8Fg`2T@(cX)NSk7ef^I z=!wm-f`qU*TODv`Yi0K_8pZQL_I)ui%FkRH__KTkVOq+MWL%;hgRMZot8qp!E-?b- zF}4}f6C#nU=2(P1L<2()em93OeP;1ykt!eA9z+(e#R{RJ%4wH&t_s*QCl z(|sT7yT|j?B2IT>1aJ@$FAl|SLu=k(G9~;{4i$dsjqwcnHAeW9LA6%fjZlzE^`1&2 zf32ACS~d$pjB&?<5N9G62BAK(Ul9F}-U>p+RNw&o1n$nc=<~CJ5?tHu{W@e6@COOpNqv zH2FrCw}5RW@(sKG|KuAm;8}gXL3(UBt}Z$s@h`gBuqp^*)Sw{fRSFjMA`biV6?8k| z!^A<9q#6D#%F_(~mS<$1|FHbnj~Tho3ReGAT=s0~*6X(lH=a4RXWyCKZ=c@0`%KBl z$M$n80Ui|dq747wbPygD^QsK~Kv~tAa~Zme`&FnV(n*muw>)?@mWA6zK*$WGM6V~^ zYCN_1*_ryRt#U=1h12fIQ%Rq&)unI^Hi_W?%P|_U4}F$Pm%sVH(Wp=GyxRL3BI;4v z+)<;wd>x%fdY&P*=J28)sju;B|3>F73v)J1Ry#CE#nc{an6sX#zE;yqe=aNYNO<@I zk-fglve#m+TCBV;qrG87gvAqqN!-+AYwv*(9g?Hez2eooW2e(jq&zaz zvj?@1_Dt^IA1Cu?;G_pwOIPG@>@g@C=Ra!G2=q0nub`4fZr)~P*~NKm+W{+l3imv@ zm6kBIPwtqWL95Aw+E-GaytPGr3}+R8f>m6S zh5VejkPPg!&@9l0pPI%drrNjj^4R-ES@fH>#DRVzhQagnC+$3llt3@YR<>e3sngsJ z)=i}M*;@-}3Nc@x{3Koi4Jv?LI>!!gfzqfE5O2x-=vlh|Gr1*uO`egIL~6xLis}lT zp?KgO8T)0WvgPZteeJ%DA$K|>4+vJ3x0z^;`b!fG?%n*p|I_THd3h%SRN$FQh>DNW)N=r*G7JN;Y-7hJX$~E!Q zM^cHVS{lv&%-8f|FpL)jZ=^5oAh5x;IThmuQFd)Y#mdSV|I(KcqTE#KUv@iT{35UM ztEXlDZ_~2pAt3=55)Zx;wtnhAtv;VnJ|%EPaQeZC6Xx7kCx&i~n!IpyQ={=KW74n9 zkBk`WJz?jvnHhuA2hIze809d|ee$G9z@-{8%x+=Ae`IT7X-Py#SpB~Uztn&2Lc3HKeW>SqMvn}}hMig``;B@?jQCC1Ybp@1FWXq~*?EQWt z3W+jDEJkGwQd&8y8_#OWBQx4$SW8LSUpm#JyHxwY5Sd3KG6I^+Y!~R|HMQN0CV^QY zw49iSguDSqqb@yzz1xi(G-zZy@8F(nH=#xOy~4NHZepcaHZKmBRQq#s4v`xbw3TGB zTUxJ~gW--!ej02XTN8heOM9`9cBX<=_I1B;`nACi7|c>`$&Oap*;M{Jn@)3SKfrO= zSi51Jp-DRdJ=DMdKnI-FY@0p0$D9ss3%|dFPZ(ir_(1H|A9Rm{#>vs)41uCW4yyD)hJXHCPX(xVPPj@>BZw2sCczrh?1=4^~VXE>w5k~x`1W|c| zFVh4sAnGa`L|xP9=&nAIWi!p@<^=U}r4CET9+C&K`_X%TkZY@?*2Cscm%pxEC>LN< zJ_@@pOjdI`U4eTotGd>`uav7-!=7u;D-6w0iP>6ZY-Z(Xqrz1?XGd02*V^2|6v;o9 z6PI??{6RH8Zup7PXRqYs&3^k&Zaul*Z?k&!JX88E{hZ#SH=D=DHz9-Zzh1=Eblz9e z>_=zmt3O*R&1(K``6n?t`)D>>r5{#_djOz9D)5n1P||$IOqe{I>g*4Gb5&~&Jl|B9 zcig3eZ+3p*f+I8KT&OqA%aWq7;R!>>TFyL}Bv}Y;hI{$oXr_gY*_pxQhuttmF*wv$ zHM_%{$FvmaWTO1`YP-n=LfbX6W^TJ=&(yeGA@sdc>w?s_Y1fo5^@^I^g zN%%*hrg*@zB@33if)hM3Vhl!Xh8!%$G{ueX+UjH_b0Nw?`g4xo$hz zQGrpOeR1uJFZgK7RvjQtQX1a|31bS07WRMvj_krjJ(eYZ0?Vbptf$44O1tQH#AeEx z5Cc4wM~gH|G%E%cFJ7<&O=Bfhi@M*G!@$&nbF7I#6DmXIvH=;dw>G3pHGkDT-1G6E z*4F)o^_*zY%c@I@5t32&F4LF!Y+;nR{>3lvDvvd#)!#1ivJCGuGVxr6^oJ&2Q(?b! zNmV|Z4gM~ltqsc;6O$gomSUpKbd;ruDgI;5PXp;JA%CXcU4D>WT(N?DaoV1^&N@xNa(vu5C;aSCDL2r93<0y8cEw#I=~q5s zUR$SKd9S6WKw8-PW>xwYkMZ6gs}t!#y6ac^&aRohzN1EwmZU>EY4>E3qrb--wnpZU zf5fF7)|u{Se%l5=!iyL!>%!8@=`f3ooxC z{jX}~V{`WqJ2E^ik=EV2M`>aLA@}aFo3xlaP^;fs@H?ptcVrHkMc%`~LhB7!vcqX7 zy}gQzS(rxT7au-7uzO`G>B97m8joI2cE)6#|+3cRpT z@5W#gjmaIC_0vvPjVYhkHDp>39i8L>EtMZ>O9x+2>XW>^bJ4zZd~z5u*OLr1BdQ*d zwo>c?G6=YwsJoHOGhOUfW*aAG2Q;)`B?-(tf=IB4Es{4No~=U6M-K8`J}o?}n`P2m zr-Ui4PM&7V`j71HG|kO5Wc4g}+tE&4ZASK0M-073Ke+ZieV!CMcTU`p;-^Qi5r=z2 z6Q9!Ol@}gH%qt~V>G0yD9&@hm*hX6Z5)XQ|)$)cpyDQE#wbmv>r3N&YkW%7kiF;Y2 zvUf)Bo_2Bj$G6sfn_2wlR?P=w0J#cf+QxBN&cXb+(38tHUkq0I#K&`a2ajw9kFd^3 zObePZ-Vm93zTA3m)IcP^{r>x<%7{S)DJvf>TKu>?GJVK|e*UATtef42{6&qL&)7IE za8^%sxMp95CPf|o>YqNtbTZhtPiW`PQy-pBzx-R=fcDUtTCWPZT(dxm$jn4fj;Wvy6dYF3Qs{G?O(l!* zoVDYTeWzBf+UiR}_L7iQ^jrGv!^L!dFUhNy6sS1>gp)P!=wKc_sOdq_(IH2goQ11m zvT7Q}pMddMXCc_+4yKmEGXLsdg zljd$7HBe|Z;qq^h)6Cm4oz2HGJ`W4>B*r#2-c`4Rc!C!?qbgtrB!<=dA(p1=e*;0` z+QJr13YeN@ts4kV5@&G>RcHWnly8`+pJl`N0Im1OrB#l{9xhI z)Y5%zCgir=MO?prK!zXKORqk9Ot0-oB%Q&-4#bi^z@Fa5?RF`{ys!|lJ`@<#JWSZm z>U6unGP?}kQ8VqJ_1@p;BPy4fji#Zmdy2wblRCfIUj#jZaHARiBIvOM^gs`(7fgSA zhM9}_%%Hh$W^OA8e?}={6H*&PuSPqSbpzi9yZ0G(uLNU3*D>RZJ4H;>VfENXsHLk> zOO`~LA%xL7mBOyOoYfNpw+ToM0*Nem~GnT&J+)gFr|cvJxg7S-yr;p*(=R zJRq&rL^12_gyh4$HQ;a!)XCt~(Ob;MdQ-~5M9E;p8LMqIB*?O$amS%ez~BhRka-;n zim_ya5#&5#{}%lzlQzxCAur$}#MQKxc51>wk^NF2957ksig?Rjyl)H(644f&r)JtH z!UBg^7(z~tyyJ<~jvj-q`efO*@<5+4h5jvF^HLFcak3fV=;m3zMft3zH&c~zPF1<) zyfiLs()g)`{vofvwQm<`(SDp?arWvG#veN0M9q8?!5@MGmL^I%TYUglFAvqOUGF#I z&GB_Tl;x1+_N?=bPRgA0=Mfw=b_f%DRLODi#u*6r$(a=qas#7_WFe*Qd07~`?)>cJ zjpN6RC>-m(JZWUqxkbco?7D2f$rV%MSB&ypawEUl;dgcf1&)l*cQ@HihJ0T|j1Pwl zbDQSW&$Zyup4)ZF^mxRPgGVA}?V2@p%d{!)Y@CvN@5KM|;v%<~t_)&pTtV%4&o@)1 zH?8?$jKU5bHF2vCwAKdKb=FpcPH@EwH)qcq9p2HVy}R?^AyWe*{-ZNozuuKIr>1pp z9oV9yyR&zG|Nrb12i!uzf#^5@&7h~hDWrgzNwNi_e_zqmKx}}rK-&rd@;(B5hr8#n zPSYUolI~}W#AJcT`fw>w+)0h^E`0E$rwW$5n=z2W-EsPk+M{Ld`+Qybv@U?IzTRF0L4zrS^^XSA_#-3Z)-dZ!a zoZKi!=rp~?Ttwy6-D`ZAQ_RlzWIV;ZXf@=dUW>lTGZ&1j>C@Oj*CYA{Hyz_^En)>0 zaR;H{O!NtVL&slAPoPg5kFE5ny+kIHpNPYof&ij7-(XlD2C-5( z^-ZBs5gj|E9f#fBdBaGY!nV@(v!CXau3xx!wCr}`n{4?x+djilD+8vAfUB0+jK&JA z%_y9m9T53t7B(768G3p3-H%XfjbGVI1Q9^wNX*(gz%uP_qeMxPrk@hFYVw@qe%=E% zXBB;snQ|w8L3J#h8Mws1xiqQS*tFUw&RwRPc8uO$lAkBtYSFjDg`cB`bPMk3zm^R6 z{t+2{WEK5{j9c*2(X&rtsP~9DJ^S|@Z8Lk}BJjL|iUr_@GwwD&n?&0lJOR#Qe%tlc%=paWmm?Bg6&!$VEPS+z2&kD@_l-xx=e zc?AEpXxd_J(EbhLRAbJ<^^&RwFx&?W&3P%XpqqeM=rbaiKyG`e;tnZ1Yqck{=`$3GSUkGbMq1Q{gNT*#U`WUU>`ZZ2PD`q+nrYagbTZOrFN zvh3UJ;*Q9*-d06HPgtfKc+ToAo|q^D8pA|4FtYC z_RaAv6Khi#|7j!Q(7NV4rex5+49K<-#BF2RUBXQnsbLp4YIm-WYcUS)os5Ju_fe0(amqAPOr8nNVC@LiO+S$ zicIRhV?HjoLL7t?a0{0mfZEOw>_{}l*vw|fe|XU#OVHUmXa!{S#FC(Cx3;7#TDoK2 zIRCi=Z0y&sT(@Y!nzz=uyZ7}QpjNL{)M2YS1|43q`fk$v!)MlHrX*y~kCA^MD`{M9 z$I6uw)%1#8FzU!wuM~IJg`VeroQE|!gUgtOWTEwYZ4rFtaj*t+BOb+m=7A~JI?mWx z?w(#b;%NCQ$4Fn-sV-{u5=9-pvG&FCZO7ieeB$&ALcadfs%>!@Ni(JgQX+lM?DkA` zcU{CLm6GFg)-KOTxP0Q+xh_qZhS&g|JRUfhF&oVkjqTXY8Rq3fC5U+~g?+Mt1f!K3 z>+H5?D@~+#iPN@YJF94^e1aJ&te=~%yIWlL`qGS=d~Ok9hSqgIC}jq#)CKu?&|61g zYo1+W=O5zmitL-bZQXDK%GTbQW?^I5&BTekTK8$M7F~Pv8PI<3QR!}DqBfb`(Iflm zyHb`$jd0UR zKMQ}>Z##k;t7(Z`*^I1`)++EY$%0I{%ijyrLGlk%!5}9bNrzCDl;_QYcD5euWlQt|RTI5MtIbTIim{^q_ zTpk!!?*C(}rx6>%&K{1xIC*lQX8DG17f!428=XCV!EJToq)C(A#|?_|pBz0f-6dmo z(T)k;W2erJyO0)F5zw^RnDp^6+d{Bvd%eZe9jk7ny}0M3&#gAFdCFePvo_LSZ%n#M zDs!B8EOOJF+Ze1AjKwT;mLR&d_NsSNGJ4^;RbEQrjv6Kx(X zQ6dN=ay~D<9O<38B`793pk(rn{9x%%S}~A#tfU15=4R|WDbd^G@R6(Hg&Wq?m`asX zq?wv<&1j~bp#ilq6AQ*m4%$#6)FBfWg8y(u2A*QZu^IbgM%v_O#C@^lLHVv4(x!A~ z`L>lrmWGYCBDWgD3Oo zApBI;4-P-$(7@_%;OB){J?k@$emuljZ5R+D=Y1qMAI;x}kt*ftG#WW|WrLuQT=x>E z52IomtPUF5qJb`G%rj8bA~^v+4D>cL3DK#Bm+S5d)gaL^@m*bcU}eMDoc^OdMrQi9 zbWIMT`Qc7Fa#TW zaE;?U*af|Iku#U=SoM0eXVn(kQmbA5E8GKAMC1vY1}?Su?m;Xtc`awbbhS9CtPnki zDc2_Z5zkrBXGFbTWG$Y4Mi2{Zl(gs@8>^CeMFDzhVy&XT1X2cQ@Q)LRB}ELIo=W2@ zNoHjmbUwXz>*UdjCBJOeH9kGBSt-p)D?;q~Xzw=*|8f<8{ ze4z7prW&|rWLpD&$EfZJPA;Tj5MOAHy=jj)J9tMnVcv-)GWFQS)&a7&~l3NXM zG(a8ZM(Rs^Oxitc*T1XOqFevAU#)I`Rnx19iM6$53oEjeP9(iEEt+<;?oUeN3tbBG zHov!Fn`0sUiR8!OFY`E>iNE6F9AY>Bc3f)xYI~fLLTBy#d3OqVT8w}t3tGl%9Hk;n zs#F9VqkwG?ux$eGtgFhJagqZ#xQ(emP83PW>>x15269tfI9lTL-D}i))(q>Rl7*(P zl!6N$msa1JBlY6$m;5U`j8ko{qrYtvvKrM1N(}wqcl7S5xyr3y z63a%;Clk-@sBH>=j1-Fl8hq6PxVZqgH+j4)`eQ4fgo)MAd!uQG_ho{&M!fLLZk@s!HE#J&XX7Txy|++*j(AX z$S>D#$=s2p3vDHv8zuAig~wjbnSVKD`1aM~VuIA4$C>nZ?$T~p zb_}jqzBT9Vq)%4ueVUO$)OYTa{#Tqj_3e+;TEhvw61`vS+0*)BEnMV@5)PyHD|T2x4?B3cKIugKabrNv%tIM5o2cy{)Uti z*TK`YwRk6%W)X8V#OLp@8c<~-FjEkHVX;X^2h=G5LHRAs`RkeD4Jj}&QG?p)I6U7Y)ZDaz-UqXTlr6wRQiyj1&0RMe{@_U(erJ9zuATTxgDWK~14N(*4nlyfmoV^kno zvJ0jtKxAxYX^A{JtBt{5&hkg2G%lkZJo~n=kkmA`Mbi$wJ^D)#wSSy3_3RKQ-)D3| zLMR|MwolHJcgduLduwkm4eA~XsmbGXV)mW3w;FhR8$TUIpEKNhlMsKwZW(qSWBnTO z6rku`201`|0={P3f%`TLqt}WLC5y!m^8R|T>|E~R+{*Q4^x zKOHphGZ-5$3$@p*vn4y91gk=p3`EKJ4TXqSR;1)y!jh7_@ke}ykNaY7+=ewKp0zcWm6+abd23PM*orr-icl z??dyl+q13k15Q6yX2>jTI4eZ{G}p+8TJ6m>Qpjg)`=pLjj*qG>!^Q6>)6YA|(TtY- zeIp69Gv`$LnSX;vKp8~^^dNpGtKP#-dl|v6z&VI|!-n%=LJ>uR*`Nz{I78FO)fr6` zYP%=HsHuX^L(YkjBSy8QXB!n93iL`ov9Aqc=ml&}?<8-ob)zeZd9ZS;LCGOeeUCky zi#4O-kRK|{$YWWx?=ycOqc@;+-?3dZ|2wohnm`Uywpag9-pQH2$E6xkYbMnY7gkC0 zoBRx;fp^%75OZXedaU9Q_30x!wX$&u9PZd-NdF!!x^o%WPtPCxJZHT1M04kuYdgpp zHpUEKz7NqgSoUBo*~;8V8(&k1Z`J@~<0g;S)HRXRYO5@t>VJOVYwkbsKs4?- zKc0AboCb2N=^}k=u&ZD(*p&5FO^AjDHh@jc_g-`(!CQ~G9P#dzxEpN5Z}kvWIabvNtHLM*_AO}RsPt(`(=(Yi zNT>~z_p`4}@LS!umv6*wb?bg+9HqVG4UPiucwnx0)V5oq(tZfWvuMzi1kS&)LDLW@ zE(>FQhyZ;L;#RG3Lr6XQrubLZ~sON^>P-dk4NM4zUesH!R`GW>Q6m(GGJ~<*+#2Uf{nK zbG7APnyRNV@YgB~R^cdCA$`<2?@CO}g{%Yghh@u1`+Ys^C#H{BifQ78Ell$CT0Y!$ zs)IxIt)%K>{TxGGhGAXoRwTdiY@|BQbe8sKW-FY)I$n^fQah=rJ>m+9Ll`fbZfUGJ-2Sy)(Z?7u!S zJ;*9FAaIJ+RK+g$ueZ_Kwcy)gij#&8S@lU$%BP=aUyP2vl=Jx~m@gCaALl!c{20y! zp&>ziG}}dB)d3)4AECxmrWHC z;NH_?c~`ZA2i14>r_%d=foMC|X;yK>XncWvOn!#+$-G&jx7xwfjf{>%LAM1=v&x9S zV_i(s_Ewu}IT_d0tnjT4y&u3Q)pIgALzmkFl;#(cD`cYPyZ2I|1<^KPWo;ZRfjV3@(!gYq zRoNJ26-Hq?xDDHRtqR6ou>u}M*rapmnlUA^T&tN*M(!a)%jiq`94_mRK(Toy4dTPD ztDVb6bHr#1G1~uC0qFQhDtwrJVRzBacSs1m9Y}0QkBPV@P~K8Xl_qHpFdKybsU@HI zP*?J<549sziHR7V*IvJaIgGhq(oNWDjJJ4=p{b}bG$sb+fMF%9?1|iZ@b9DX@wJnsiJC*?GyH@F=$<#!6) zuZyDb-aq_%60DMsMZxt|M@B}rBJ&`knm?E%tqpJI`TpB$N_SmtpYu6AkeEN%r64gT z&vjV-yg*0CfXS}TbZVOEh-5H1ui|^LxH_8TiVk?90b=%@Pd@$d!_Pmu!*+)Gif~+E z7j$HN{3icP_{p&GK41Ln=gUvQ3p=~?-ml9(&XP=Kb{N(6-+VD)zc6}dp=%cJvM<5< z02NNde3Mk)V`g|hu!cZqF$b%x(O2XtWy~DXv~J)+=w0&$o&@#`V#z&_wptGac?8`^ zxPb#tB!7CS8yQ**KB_FCg>IqK!Mq{ge^2(%&YGL#*P0p%G$hp&j57&V@mmZl;l!ZT zJ;TZx(t=hhTgh?wGG{Y0&%?8+{f?Z(U7a7KLBgj&bNkvg^k82nq3>I(d4< zeCorfmw{S8H%MDo7HLrHKYygF=;QfBE?wppqOO<69gXY7&_d2HKji1RWLm-cu|*eB zl>8lIy*$0gj@+0}zqOq-Xz7~KMYEN{>oK#==6TL{ez4}znUL`%A$xMd_T>6RP2D4*@LhsS)1tC|dwbu@!uH*O-8E{*zkOhePML44??cg{p%n)`sZC-r zG^LbA<$WXn?F$KwYy1A?iwVG}9Q(|C%=)T6WHb1VIm*M?K9gO-;}knBR|&rpGPo3a zwHMxO!p?N2I30+I)RD&Ik^nMpF^!=SmP;G8WdpCWx<3{-V5?_- zC9nIl)E@7sNkqg~ z%$rWbC~BN1`ZXJClT_;-T}5rKS!zAr|sZ#JId5l$Y_!|8$3_81|YxjCT96Bsy(d75$qjM}yd~q?&^r8jV>^ zbi7j^UDKAFozA2=om<(uOm=hXF_gvFq*@*!k)BJSQ3p9H|08C zh>>*10OxkvW2*t8(Bg*SG)eUhu=WAg|5nfEK|A5(`d?-#$JFrUU>>k!_+3QYL_~{t z)Z%rCk$F@cQKO;9XY#1gq|*+?JPOX1PVNk5v7@y#HEFiD8~G9uaTM}l+)UuM1-OZf z5sx*Z%23uv8aY{Q<$HdM2N)|xA5=V1D{8A;pXx8JlSN5!BixPI=u-cQhmtj|q(8#m z)kht5v;_x=ZzUmur~Ova&rca&aVYDprG@g|gSzh#f%{f-?h~xbXyRbgE%))NMFqIIL0S*UV>g9q% zgtbE>c2bC|jz(;>ub zLqf%_y;VCVjaz>&DfKqJOs;E+5E@}Sarj7|;kzp<7S9Vkn!osbr0gu2CPixw zIRRfDZD&2lw9)oc95VrBs}M1GfiL$S_$p8>#@2?v(YYHd7QMH*C|bIe4wQTH15!$YG{|>StddW|tUcc~pqwG)O>s zZJp==%K8o>E(}b?s`Q;fCGdj4A0vp)pv-d-P|*kWB0G8bxIM+QJZfDI+p;T%+UrJu z$GH_&AIqDGnmxph-c++EQfa0vt41`LnZ*X0p{Gc#)gj9k8{0@d;IyUt;n>QEsm@Sb zw6lQzZ<>R-<2s8#PP%^G-Cz<;#2ajb#qC-UIeYyBRasPHDdw1!>(3+Tlb;b=E5NXW(-u?cJ0&m*H6(*r(dw zO5)xq%kVgxSeVE`KB+#<3dgxS`rE6OVnyv=rr9&E%-e6xyqWX*n)RGAE+V1N1ZVFI zkKO~K=bkET@3Asf`k%%nF?-bEE#9ci%kVt+WS+Y4&&sVY%VrKw84`8>lj8F;Q`d~l zEq16=em1RfW_qMO@XZ4K!4J68%HzNY4chXeA9jqP_<)C8jVfXJ-C?~-=-gC%YceNt@E@m&vxHfxAa?I4Z8#l(T>~VAY@X<%N12sk` zR;$++^RgZXIB!h#6?(QP|KJBdig0+J0_XpcQJ7>U-9X5^ckh3GnAp;5*<>uY4N28p z?F4I9x1a&!dxe?{GXy$^t!*uz13`=il{hjhN^k^~8`Y{A8Tk(C-p{H-i!S8%l1J@L ztQ~x%%U+B8N<2mn402Q}D^Q)d&Lq6!u%r*(CMC2znNR;d^`sX6|0; zmhAdN3o?J?`M3{%%|mx`cbDJ+c9Tw3{C%TcCo(#bwy+&W%!%pFUl(ItO|dStHHMXl z3c!D%CW0Z_(m?5G*vi1ngy0eBzOuYTQoNE&@ENiVvS%w=)!u)@JZXL}%_jv}V@~ZH z8|Uhr>|1hU(GZD{i@0?MZXv3p(8dlp?O61QRsD(M&CsvXeZxt=V)lsa(Dc2MicOo- z&wIO#{%URh2gyMT2l=N)pNO0LVBBz@V-prHTaqBnObMMfJ=xPa$TiG&P3(ji7t%Ry z@{~pHqg*HUcL)ymfoUkIX2UvSIn7o)5225qi~DfQE2y`_q^AZ7YIWm`X9G>BK8@gH zW19@Kp=XP-n{y3h!xHLG)c(mb8WFJ?APY7dxk_y6RIAQj%crkM?}~4~r|k!Iw72dC z=AAK!K5f^!#~{Cks*mNkNj0;J`7lz>7+aaRbo@)Ua6;qC;2wMp1H*^(V2LML^O*dQ zNG_W$f4*h!UrRD<70 zuVDiY#V2I9`Q-ksQ}+EPT2C(f zXVaFymT8@bN5@YeJHvFp_Dc=W{oiu?0^G^^o8#v?oCOl=^q?S21sZE>3X!?1kB^am zyvZ$ZP3H#jF*z%Oo|>Y04}>#JwaazSaZWNlVgmjf&{&(jZmmOe>x(ALOnN&qzG&G+ zYFhfTU8^3BezJ{E41zMF1~v}L==lSDxm)NqI`+TfGxgD-=FsDy08%E92H`0*u99mU zA(Hygtx$E-NeSeexm8k4Zh zB>~GP(Wh5$-28CfN9$?$SrTo5VC$qFv!;C%`*wNE27kF#ULJPsDI}v4IFePZGCP~q z66(d`^)HNYsUR9wR(MZ*{NreB<{a^z5&OQ&eBu{5I46*knw83T^&bE+{Md-!`Q74c zBXwwRSMQ58rlMiwPv7ti)kU~tENU6h8?WAJBwG#LDV4hJSDd^TKqppf$TFS%a2(@X zDZJ7UITV8JV?{=eqS#Od2>+|EGHmln3$M=PVSDeEw>4i9K`{>9aw=9BYcS&1%}zkNms}wFVj`n{6U|aHtjXobH$Q< z6INx$lhJgh)VKCdmocLpn$Zu>bQ;xO?$E*0;(UtSy)Nr??j*8wOl9t-)yrn(N=nW5 zDJ@(R&#$PBBg<15-YFDDxrE#8KPj`g>}lgQ^|~IB8&-q$P9}}*(%N?LWH)VHi`<9B zN8apm2k-zB^hbjpFZg*VI2gBNpg#!LCtu*_9{guSY>`uC`USO(sGnHK^^5j-@TU>D zlOR<|ETseFM$HX!eIhNA&=HOGAIhpJVsE#^+pYL$$aP}2?fBV*|D45tt_B~V&l+ZD zzCr!{CG9;LmgZ46y2E7LTHDOPVPG415FJgbiAmi3ojV@H#XZ=u^L|{(whI@w?KyLP zyOgzL@(1+Ni6dm_N4JT`>0|WL$H3MZvG*TQwSJonVi-YRHt3A=3otC?7!3wSgx@WS zMr|iwEsS<6g4LeSr?GV2LUMs$SmZa)*;u3S?wk9SdGOWk!S9=5EE!Sl=I}dMCrb7Q zpRiV%)>cYSHA&J>X0;#W<>g5W3k#*`xw#m%L6JJU|mm$k+0Bi(X}raO5eE!4bPkSYz82BxQ=4i007;$7U%##qz& z{*1uS^>?mirsb5iSb@G@nSw)5+pi4GXq+8oehr@YD`V%iw2MGGG{0^5nZEq9PF_$s z{=kW?Ck{+NTc*ku^w~2FecoipjwS>te`3<2lKw7@JyQ9_JI!U++IO3u`+UpMF$^nK z<5AzMjOe;EYR>1f8)vk`?q9lBAHZu6}@WnrFG}Fton&@p{$sx7-TE0^W*(aB1O&gkyU7m*-M&ZVX6=)_}5Lqzyvi|@4D1V&EQxchj-xcU0hZeoXHBF*YHST z-7U_+3=Uc4@Spkf_h8$M;^TN};V(HHyofzz&!=hOsC&b_pK=-iE*;Xs|7LI@A?$V? zA76LFk8=ixvQYqqx*+V!H}WO$2Y8a{bZmyDd`VN4lOqL4TQ$>gC8P@6KM6BM@TXYi zIXk@>gCZi0+iCbCq0UEXMu%wL$&y=VDUUNUYC6kdWETySkiMVHaH^Mq0?ZD*LFe=R z)9DS2LjFTzlY9;i#1 z3cKIl9V0zQ@%MdFKO|U4HZ`xJM;~S^Nm`GN-V^*6f4Ztlu?W2 zn?Nu49HN7&Jg=Ld2Yr`#dj;5+vkQyToaU`k+q9LIYrCS#EJ}cHa_jXD)7fYaWMOR! z>*6S>iKdP;uCqL)Q|<3jh_@A-j?gJkBxwG^6e<45 zU(uOaWm1=#+vL|2YWF^|kHZ(=>`8x=wcjwW@l(rgcD0CjDykn~OR`(xO!u|m-}-}z zZ3zxBWpS3*?q$js&YaQg$@IigN5=! zHgfdPEZ6pk=r1Xu(|f$t9C9&^kI3ZWGM9_BnpiFud?qFV91aO+#yOEo9g8xF?!VY7 zi~rz6rB&@dImpS77ymyTV334Aft?T6*pMo$U)#-6bd=M1;&1Ho@&12w_4v;&9+@`VO)09&5v`TxDuq1M<)Q7fUzMf3}xh9^&n^Atm#@w3y3_eRcl=nl00tXH`>|p zo15Y{|Bt!%0E_DA;>LIGz02AK0l|g>!m0=;ZD}gf5er><69wsAQ9wjR1XQfC$Eb-K zYt(3pNlY=tBu0&IsxiI$n(~@NW%u&`&D?DumOS70f1WRK*}dn^oH=u5=FB-~&dhX{ zYu`vRwgGRpu(oR!4|YZ%hXh}$hqs99I;Wwn^TEwZId&au)3=INol^lvi+6#yiKYy` zy&HVB7|!4)89YyqXN{P|;JyrApogy&O~qe9P^jmq96)t{6cj$|#RMG=km+M+eF&y*mI^D4NCo zw1qpbcZ0WRZcw<0zJv6XW+{EErjoV{ZWrhZ$60O+{@-r!)tYUrC7}-j52akfvqp26 z!GBW_&-8GIjv#@~$oT@wA8=NbJi-QX>nEsXvO2B-8(>033U z7@g3kfyV%E)55oQgRjHGOGM6g?Q6a$kbCYphw% zUC-dOzLHk5N%J(TS9fjYF-cp&2_EfCE3Er-m#M<#k2B+;PX_1>Wovd9hbb~*pVcMluE2NT! z;?YSOW=%0kBSD#@>HL_@iIg`_AuYzJG!{EIF*xOo1aHyorMwY~q&ZX%Z`BNCbz0aB z-liGG;QPA4S8Jjf{A@S)8cjBZchZPoW6gMzW)rI`UG+4EKc<0HKzi^P78a%d0HdF_ zA(b%&fEUXt{fD&h8b*I1gVVN^;BA_Lj2!PV|($p||x@+){X|gF?IuVOWe~Jff0;ix3N~OO9eX~EU(^cROVRbsDZIho_ov5xD zCSNLp6~NK9YSA2Gb%NZX8aA*<>2-3az8kzvW6SEgryG2=W)_3L&<(yulgZ$7yTR9L z{8)d@=>~7tgfrei-brnxrAOC>N4vov(_j_?7YZ<^7}LL8wu15UDubhK`5}xCI`~e& z!3V%0rNz+rgBjMrUC1-GkN37Swhj)SR(Zit|8Ks9D)Z($}0-vjgkL&`^(Zfd> z;P4YI>->e?gg8`p*RvIMo6-9aVUQ^4FSw`*is*qr|Ke!8RrFF#!pnx1{U zBza9#$y_}Ob zmo0m7j^E_+5Z}<|tRv6P^{Jb;e8G+PsJ zh@b}Or8sJszpzA%9NXV+-bkxKBSvOc)%h(AZ(B58m^fVBE9?A9i%Gi=OluuwPUv4vG1TF(XoV^>^XbJ?_70o)297XHp;L1`OfljjGpEm;N_rN_0HCe zQ|$XGO7*?ys;i0F+svg&>+&Rs$_N9AT zYhIid8T$K{#pf$l)yyw0d$Bb2lj*_X`=c8-G?$$r|4q!!tPWG9`y@_ZKfh*y>EN2U z^u?3iyc3)q6H{lV(9(YtLj+UYh~W$+;G8On^tK!ubABi7r4_RNH zxjuH|7Vor06N=N9pG@6ICjLCMsA!n@0+6M=CVnP1=he-0819!AU3egPj?4TQC-?EA z#^>){)`p8x$2{MspFnSp*oiog57E*Xk+42kr(!WE*lk8Hl%W?|TA`O6+|^b)Br!c` zQTp)O(H2#GaQbxM+k*4HbsY=L1WVo3@!ZLZ)4^tgLL#gaQ(?tPu@dw)7il+;_Ec3^ zH!$`Gc_Aia5M3D>1h)}8Ag*gz#!1Zyd0<0U){?2>H#v=g0vE$iZIE9*Egt{zD{=p8 zFOh^Fz9BI$sy}^Kyt8BpQSeI^Y0jV5ETTMZLr?3?JiszytI}P0EUiF!Vl(8%LFA+P zQBD~yqix!ztk}yxRjK|@Oo+vxOf%cftI$(l>-?_}hnu$hVP^{+0a(Ifm!uLNt85Zu z_$Lamp6nl<7c|~8A<{vdImvNgt&Nr7nufUEvk@Vt^Lvl+8AVt%@RzruBT9k6r6fwC_8k_}Tx?yivuwst-;&0-Ws%D(CWvdQgrPYt zaf6D?Ld%~l`CVKr{xr)g39Gx6->bcbP#OKQn8yE3*Ro6kAmfNE0( zUs)eJHD|ukry!*ARrytwfAj?B;=*~AE2A4D%9qYiI)99@-^qF|)+B+yuL>fwX{^E89kn07T#>`uy- zai^Sp+zTSe1og`CZewljhIr?s@NcWV`L~H?V(ipD#Usm$xa%?He6K#a{rj6x3HB~l znB?HJ2!wVVCx1ZSL7 zEwZ0xApP=w`#}6YX!>^-*StO#oc|QE*A!(q7<2x9QURPkS+sR_NKjQq z()J9uww3eN&s?*`KYiiYiju|yG4%)waGsPjer(o@tLD|jPjraLo{`@km~EdN?d;*E zbX{R^!L>p_uHcN1=r5$PF#~xWv)rM?c z*S;wuVs1>$oL5@gUdyTc6l)-SjRnuyBp+(M_Q|K$pT6Q{GWzndLwB27{@(M%?<>H^ zL_}<2XAWX9p&`JJ&sqiBKC}TI+O=X&GyXfxF4fHF$%AL?Nj;exH7-*cuuov~t%;dg z;m|=*8VCKj!B+zmp%4oZB4#+MV7y%jWD!X zv*m@Ki=TXo`&Q#rRjtf;x-pL^9tWk<(c(F1jp6jXU7P{O?z2I2)3CBZ^!#`>d(oK~ z&5!nH5}SA2x2^g=?JK|hIAY9dUmuUgD$j=EnN$0}vUWN;z~AEkUifuEUvar5S!dSq z%?o5m{?nZWb*JX{=Z39(eST^Ffi!WzpieJd!zm`RMzKJcC^%t{CM1zLgfWioCQ27x z>A-$qNhYAQDlCRn)rcpfBMTDav5c@(JQOYNuOUmL1gA+`zd97D?lk8PX6(AKe6F{P zsb+40CapjB*KBZ0yE8}HKPhoXd+eA3bu=swa66k0uWg%4jnJUlRHnoWNt zqTiFnZ{Pk}{Ij;QWGNATeVf=MRljm9Gyllk(x+z=6EpGqoTui@J(8b!?3HRNC)vzk z;tkytRyp+i73{=32Bi^oTIk{H`m~C^dgw|9Wj%~xppq6CSPU|QG7J**Fw>kFlwpvd zOb?dkMT&vREFA{MCx$oJ2rtu78Fah^?M*3T@ih!OL4u}GD4WX}6#5mV41oun>_^N5 zrkLTSdoJNqrQ<@H!vs@J5w}4TI>f1Vlok1|ihSaE;-DsjJK4A=0y)Q_@0VaKNqbn( zA?USQ?1UH-6K+ebs2pPFKGlO?tX@3U*@=Jo?lWfc%<)D2`U)jH-y8WaVJzCSQI63_ zm!)ZZxVwVL>EOXsL7Us^(o(scT-#G7I^wL{NM6xbQRX}moBw{wJRZpBpHy$Pu-&-C zwPEXl*(cT4V*>}HM_qvQxXH#Ojbze#N|}PJkD*}FiZjiAY=&=eQR4hvU4{@2klv%zA<6#7N5B#fz?q_+v=ue9jlBf53?2O`WDs&S`7B9 zD4bt2Yy5~Qb7FGW1!s&+jqvlcA3Qi<-s9C(d*@jX8Z|x~{fL-iUa~}MN;(l!1GF}X zVOfO>A(t$~fH^U>p)KU)QIWyoByuGz8e8*=qO&^6&4iY+mHrz0z5@%*VOsFASHSH* zS52}p zDe67Mb)1D+aAoaGa>+qVEm&8;IaPmA@k|(LENm}u$D75oP|^%UX#9%Pf9M(t?Tyfc z*jkPtlSH}_tCOajOgV#dkH>**GBQ00D^}@bAjvv9c(moJp`+J}@BbkbRjL)-om@?^ z{NuIaW1@rjX3@9r%`~khZYPK}IZEQzVZCOhI7b+V{xFcmp}1q-(DzbL8bN46lvn^# zn6qKPE7>q$lhpv;if-Oe@^<0bw%&IBu6`kFHi$#tts?v1sd%C^(xi89fvdn?$2Iuf ztCzr4IlGB-T!+M242_umm(|r(YsotAx%@`eJawt<$`$s_d$$$$pQq_FD`YVLrS1AA zyXL*yi~G;z{*DeBjPZE{2zk(t%5MgOxGh6Dx4ri zJM)p;YPY#tXG|QDwlTr8;PLs7pN&c0{A^sx{(S%X?DWQ<(fRX(sv`^Kg&$uIlV6=) z?whtX->OgaD^JGkTN!MUGHWUzqeZc#MZ5k#|pbQ zZrn|Fypvgc;V;6GMTFx83vSg<>-YRpU#7VF^2skqWwHE|v(JCZRSK(q+VI5B_2dO{ z*hKYCH!;$Tyy?cznMgiDn~el7Xry5us+pVX<*~zqXI4)YRa2w@EBH1%2irzeXYrxx zfXM;;Zr9)q8|T*du~?F^p?QjHj@`&!!$T%d4j#UKSg?OUm`y)>dwyGfpWb{P*DEGP z{OkBn;_qy>Rs3;`^iD23`BaKD+g`W$TbgTA_n#`FyjuZU={S(XkAUa^`9pd=IfjmY z;6l}2L+4hv8GiSpJ=-%+onyCN+q3gDy@B%tHI9sG9-*h+!jx z17+kYMtvAwAET_j`5Cd+KaU_ z3yr{V=pGKq>=UUc59W5>Z%^TU_7GxjlI~14oYSD2#Y{LzAH4sZ&QS8Ju#&#U+(l&W zc#cCaf)GZeD*b2AgG<;(LnjvAeesK5{{31UJqp`|?_6<9FcG4}bop8Jb>0qpXQGv} zD`u*%@iyM`vt89A(9+q!Hw`T<0HYnE9Wfg1waW5+%%g0sM)W+&h4f@3wN}er9%3e; zPLgJ%!h9@gM$ObWdk?gQ#!_ja4*ImMXM2LSZS4uVn%y8Hm4-9lw56^2uOTh!{cW2QStsdwjR~o_9K4J1W5IZut!F!0~SHbbNPIfbaKx2kzhZ z9onGVJ6%gSD$o+$-s#%IQGxd8_D4YUO$XgiZl5|q|W zf*xfj%}Y>PHwk*o0A=kYLAMy7!bELatY>xx7-81oKyUwtts>m#?dBfd>bQs=kHy{Y zm)!_+Oov}rL~vRw!YgFwCzAo(AD+^D6OT0VU5}VrL~iwYi}8# zv{n+d{YL|o_9+Q^)L_pu=_f&t8KA7@5_F3J%4DqsJ!OD0St~)$T!(S3<-=RBV(4u% z&P#wJI2#fd=hG<5)V_q@>ZYg?xdDKqf(CX z@*1O5>AuNe@h{Jtnu%SU*Z+zhD}|E3haOT%$rz(jkwcU)JXpqc`1F4idSY&RYJTZL zj*dGYGVVCjh&aOd0-XyyvNih6BV3%C7ATM^WYAWrAFv1d7LE1v9E-?ulB@LaP~xH9 zeMYdO?L_Mo+d08rky9No8aO)C4S;WCuf&g zQ#ISW5RX32{L3b^=lf#3m?)Yj)Be>R+VX+{N_)PPww37!Qd$GF?Ltp!SBDs&wC770 z*4P-Jv^Psotkddgpwdl(9%E4Ep=R_#a8P=~Y1;14mNzK$d+6tVSz5?Tecif4rMgK_ zS_>(yRJZO>sczk&Qr#pdt($~Fs+$C*qgsNl9c-YCj%o?o&b(eyTFM6rD)B*rQa(sf zi4P3QMzsXp!nh-)Rp`^6GC)s1S5cUZ{x9o6^sH4o`&Y;#Mxd!X+- zxSza_XZqjJhf#h%`pD*<#yUCiDD+{li|O|vPtQNyxDWle;~wkq;5HMY)N=@NAo-`s zjz=5)?{=@k!$-e3@IJM{SdqN5R1QeqSxF9bhe~5bg3_@frIp4?cc?U0xbMB4YVy5#4R68Cdob&`3atuyfA?|?Z^7LMyaku< zd8^|#v?_#^bjPgYIi3{9$+M-f;pn9f{KtuFW5tD}(Y-XwU$v`I z+(hb^tT~ss?wMqqGIuKBz^d43Ra0lIOV@Z{?Y*YF#zphBrFSlOt)W01Q7sC^o0FCD z^ieaL<|fxh4Co)y%DZ-$)71!Fj5W{p<)S1=Rk}EfiC^bqlve+wTf)h9+=V&u0nygN zj~z+!iBkiTe4G(J|K+EmSRU-0>K&`Qq?r1lFh2^_j1SU{dZ?}Le;VLUH(PLj!yDKj zz9BY{2I4OUH}L)q?6$AHnluE=AJ)tj8af*22X#QVq;Z(cYmJzGwwst>Po9~QZgF~2 zY&5GU-ejwJeXeM_jQqquF7^}S<>~5pa*Ld~yQe@{)v zPrMvUZ$C&n^8}?;yjazQOA$O<$u&(FEl+!=1~{USjgrAHKwFx9sMiN;i*RGwYlAbW z8`XHb7>Pndti>l!RhyT#JZ03*vH82Iw|!h%c75-@FUpo5d*zj*r=EZLxFB}q2s=7* zxX4X^zu;#+voSlcV8ird#MiKoY$&#ayo0-Me-tlcI|%wVV@A3N)?M+63wIo+y=U1h}97J(7J@Ji8wd~c>c zNN$SB+-T9Nfnb|nNk>yvv9P$KO{fIbG={PtBKYZ!TH1<6w+34wgv`PQyC*@x{jK+k+o!_Mve}ALD>IB z%I%K+1qJZ>H6qXJpmR8-QSx{yXjLZ*aO7(>Z_aAbGg-l#|2WERHB;Ys;;Z(kk*gOM zHHD-QYh5ZWkSH)}ypDxKi(O zMQ_I8F>K{PUtsN-xseM)rms$^y0kLy%Ngmu2jX`eifWE4HJurf-k-Qke7 zJuPNcVqYO@{rrV57sX_RhJ@^E&98AUP*o(>HB1hQi-MBD$#$bP2Z0iHqaI!6q1*T{ z#LYS1d14cHL%oJOwGas=sF&qslE)!I_mMNG!854APvEF6YJl_Cx?BZeTme`p_GbJ` zgEjvNDi12(pHlc{bJdyXsGv>h?YqKjB7!rgmdexfMF)prb6#21{BB8fM0CL9qsJDk z^syeyJx+N=V`Y1RLdjCpNk1zq77c}_(6xo+mZmxoU0xXE#ciJ6=<7DIc+!GBQ5;7$ zJ-K#W@S>=i;~w&mYJ}0U(oEcu4KiM z;^db$?D(i8^_cqcZ%M>SO3T&GKlpE0KZ1W=IvVu(a$G%B!Vef|Cwx(yi~hY1^o|6* zBM{&0jZ9d^)hlOo&4tCs(JewYbXsvl17R$N@Q`rX3qONuLJ zEpG7*Zd(vBEC1QD$;H9Dw(mHkITo`yC$G4@v7ueCp0{a=`}51nk7dt2THJWlZ^Gt^ z%%(U;$C%~ne{#wr9f!s=WG-2=ogb2z;WNs+dVX2s3e;vp=jZ%Qd9f6$L22Yn1lW_K zy*yPCTP4C&mQ1l^>qXoYti?th6#sr<y=l|hWo3IpeV?hRJdsoRn!I?G z=JMXQ zhN6}3Uw%(zK0;a0Gjt_{@&DE98C`2mV<_)mvVw^nBj)R6p`rHacB2Oj7;R_kFkpbg zBT)61-`3TuxB2;PTfKU#AGIB|_fBHh^;a_5E@kMwQ-mt4#!53wwTh-ZArX0l1G7P312!|!}ARaEyaEJXiBlsW$+ zXhpoURzlYq;iwl>Uab7ji58Hus42vx~D=X&OrHtjF0 zEU7!Sd|sMIVM9dfwCr3Ugzhz*zX2~rqOtkrcM`O63V|Afd`dy)Y-0G^zg}Wn>rVJ`cJzLgph% z=F66vE8h8G3y)=#ytSh4nORX&*UoF(Grb`yG}WV2$Se>;M-It;Va2lZ#ZeLQL6Z+X zRlZy`#FB#&^8c1(eyh`l|BUq?M93jB)Yg;#OdL>3e!$K2S@Sy_mBNt{+Q0vQkk0uF zA10miH~AS$XSa+eJdK6Hzeourr^-v@69an;VI1 za~kAlBrUkamTOBPDO#^JEWNhEJ3QRmD?HpU<%zj-pGaYUg{tME_%an1D~NEG3JY;k zgs0cEX4FHokPf(aHaomwH0wduWIJjFs+|j*3f6QJy>#E>7r2v^Sv`-qqEcFV>6ZnuFT7A z4hm|{&085rf)?Zzl^4~NEQsHlm9;fKadTSQV=_W^pi5eEjgXSq-LFtOU{n8|3;twe zGWo4^_F+vu8ipYDgRex{R(PPc8=E7bBWg8AD2{w~@b*ShF+lU#zGowXCVLdPCNDl% z*G!(9nv)Y$m^QB}#??*b>KoEtN%3h%h*odHlpra17y$;&S2r){^!EJf=E*S$@jKSd z*f}}cb%Ad}R8(YAzo|jfo4rdsft_qQvGn(ETh(gbqZRjfXCtQfhb zfbV7C51cd(Y>~x?M5ddA8J0|Y=gan1PG3K1*4R9snX@8-hDFN_Uj6ueWM(}nxjW^QngYRMt=o;3Fx5NAiYX*Gh%^jlM za^~<8N}?wfht6u4me&>*yr#%|k;jL{g#(--C(n$HBpQoB`Nd=1#wLY_=Xs~@%#7QR zJbYBAEZr`|Im}~{FX|T9`6pi_wY^pw=SD8Xt(hsD(*Sq!zkHnkMMk3j>sZ^{F>A}H zv2?mPT|a>)uGDr&=-~!6yd=RdA?@($_4^a2PY!sza_Q!@6?rR@(~@$;r{m{Oni3fs z9Z7x;o5~H1oSa%%G+Q;xbU=8(^zv`ssD+cN4@7ek?iDI z8M8C25;BI38=n*sKF59CvgeKtC9_5hj*0j4Qn^t%?jV-)&7>cv5YS`9dO&uF^}HpK z0Wwev@d2cgr7_h)T##!SgP3U{PDrziSR&UTEo2JPlrcPTQZdXlS0l@1p@jsBrF;=f zgGE=CW+c+AV`<Ya%7?}*>zl zNTgZE(tu_y=1=%m1_8|s;=tvDW&ydtXReyjT+Leww*dj48N`RH2F)}LrJ1I2L9S&C zLTRQDC!|>>?~gR#GlNV)nlgrm(yYtX$Z}DdDI}1~6GSb8NpHIRh%3DA!c(KbR{d%#9MIjB30>}EFJUeXi|lfi8ApP-V$@XM~p6&tf@4W z`hX-}S>ng^QWp0{K!ZQ7&1Kgm-+hGcbcU{-q2uj)7QkIf5kH%Hk2vN#|JQj-cv)L6 z;v9_Vm9qi$aN+F72wBev;d~w%3A9g^2d8DbN zmQt(n=#gJsuScSu*xtiP&E|*Hgr1u(9Mtl8NEbenuG3K*W9J%)ohOW@rmn2htT&#i zc-Rv%;V9#j6ZJvUc6?NpbR%FsBjCV8Siy(fLmK(#K}_fnj0whtP+y~M-_vpg!riFn zp^3X{16`-uArgU7&o6wywA+niV$ZWM-+8d}mRzCjWjfyVtm!<2vSik|ruW#nc+ZDY z+C#_c_^wBy`OZt=-WS^Tp7t->`@!tR9et2f#~;%E!mx)|=fVA<^gcB^hnoG4qqlgR zx(=5;>la;z$U|CT25W_}M*Wlf8uRl^*#t<&~dCB28)sMlhr2~}4g zs=h@s{vMSEc*`TGa$ThO*ALO_BpP=x8to7P6DiU75bgC*RnHj4+P5CW&7U5%Mj<^h zS##|n^^ncd#EqYsEU5HKKk!k z)`fM|&mYiLx%5Y^e9v9=?SE6}+oqhEB_;5UPtm$MxdW{B)U#uz;snPKtYY8UJ5A&xZm}NMomhk25K! z{tUT-z{V$hT$orzTEoQWzQJ8j+58G?^&FZr6)9biGE7L&d!;z_InJ98;0~je6zG%m zv_pK7xgYK{a6fR~mG}>(sAI_${xEOKcCup27+o^6x5GCQPv+^$6zp_9BzMTHg^8ha zW1=RwPW27kn@TcLIRZa(QBCz6@q2Eh z$p&o{1xT&Qdbrd-~7s;ld0`g8FyU!4J z8Wz&K3b{9Kzfo=yUxgm=Z08N`4w--z8JPoiO~Ff`_bZZT$A!C0m^NHv5H6+&7ktWO*e_G9M_QXswQh`}4A5X+?$w_!oa zggYa!y36qytQT1^9?)fB`sqeNcZzsU{Tv^ze(ug3W6JpDU7j*3D#Ue_mEvwAf?bS$ zQyMRW`aEH)OljgQmNMGXJFelI*CgQ$J$JD$JWd|qiIKk<_5ye_fVYIUsE*g@qBDiog=#zhy;o|%}jBsDrKG$S`WIyg7Eqd=F2j@-TCe(q;*6S<@}$H>wEO44W)EyiA*U1T&uI4?HSmI` zv1s=W>CHdwc!LxjQBn%pGh`;W<7G*FvXIQ$-5egO@$5tkL)+_#=}OuCNamC8-j$o& zy{oakhjjH<_keg^zYy=KmS)a9Aeo?%$-d<;@PBKmwFTd`l*;cVh>jU>l)un%P6+5Y zr>TyeGBqx4>XcZ=z;RANO8QGz{z7e8oYUAqr800V*h*Vz7jFBbt<;~L!XO#zw1uI{ z7Dr5U&-NQR$zEJcRyob`pUpkX8fy|-4eg>i4a`!D&8IDe z7Mssnj+aftO$qa4KcQz>(KsKKQN4`&iSh4gp`PBMq28XMq&>pZGc?o_D<>Otup;;H zaCgs$2+wZcw0>Wr-+aL4cSsss3&k7PirdzAVgE=vG~9!N5S%reKiE;P@BKKf3Og;y zm&mOY3boRvko76~?Qek>UNzK#?pkL1Lc5IFZY6auncUJ2*MF`Vks!Qb^k5jOja>;7 zx;;a-dv(s^FUZ%iK0{{&>SfUO8nGmwZ=Xvp-7ZvYyj{4>Q~tNRNF-4OnfOmrmz>~{ zabAi;ZAJ47WBzxxU$FF%aJ*1nuCcAGBqbFUjL+gC?gRb{P(b-?Zg1X&&#NuBn0r&f z13q(>>bd-O@^*;(#IUf5?uf$VWN$$-UxM_L{Oyk-@3^D~i8*=MqewSiQ-xM6`9F}l z=YJwg_j-e?ZN$Lt}^je-q2hn~NE`vDL&H;k)9Dq&n*ne%z=SP|;$U2bf5uFn4 zp`9VDV#-=(xftdM&EyBwg|T*4eq=yI?hMQvbxF~4A~JFZ_%5sZ)p+iBwE0C))0nY& zs43O#M$0BJX{Vz7PP(<>A+sJoujA5wepScxCm%$zP6YBxAEj3yY6GV%{Dr59hzo^>xv^>s)J~ z2NIJ!3oZH%KOG+JGz^O2n0?F0d43ANj*Th(y(yBW#3csiO`4P!7&zbGe?B?yKR+-q z&rkXbqGd(04}~C{6hY^0a|eZ-w=y?Z@eWEkb|nkqA|+}5EBB8-a{nUDN^y}O)QQ?u+F;8arRa-44w{lkwWnhabPntJN}PVk7*e2cF)Sly=5`h5J9HRD+ zf;Yj|ElZeRDswM*-#iiQspK6eqZ(-NlRa1C&kieA4f)qI8p2JSdkqis^9vu=%h@Ds z>5SmD3#RrNudr?2v}x5S#rWP+tJglbZrsiMk<$XipvZZC{g^owG}GmvagstCZjHfn#^MR5kZ=wYn`yNFp^kJKdJkq^Z^B>lm}b~H<-noLl)fzts@ zTTwtWqE?za6bXEct+lRwMzYqptS_CubihY*>S5hg@E1Q6)#8WTa}P4rFhm$N^qv8# z!F#Z%Po}9^4W>FLZi6*w@eU6eMC6YI|Db4&ix2Wo2z3mU6#ZDuoQKg$Hc_oLAU>W; z(%AwIk3cnti$&OsBJt230~#U659MLVhMJ8}o^?E{Nq#6@AMk7M?zzqFdLS_Z`j({E zP)RdYHiM2MgVo)&9c>Y%469qxeY(%{xIxT#o_ott8Jn~{lVK@m6E($-asU}k$#g|N8R%i1?_$b61`QieyihlBmMIrfB zw4|Rx@dmL-M40@6d>Xp}$+bn84q8UgSV1`kD|2ylWj1XDd>rsjd`7K{2s`6TA~*%)9N8*%1xMr$4RnEN3DdvOM3fy z{%!RTI(qFkiQRfW-?jGop}8El=x50JCklKYK;36Y#cTh&5Fe0qv4i-%)kVk?*@8}$ z;Dfmn>*ZFk7_R5?X>;FkHu=RJ^J*^U)%V%F+Jdtn*}UH}0o+{+_-(-1o&%l+CHBUd zl~!)TIL&}a?nAXqlSk3W<1|G(L}eCvgIjtxM2pi2dH%VL<5_G`vYwX|Died*Wh0~w_}-Ry=Gk_w}V|GbgQEu-gl{!IqpzjFqcou zH5ul9XRtF$(&Gse)}o!#17zo@u5?)};VZjyy_qw^>JFRi8Ve?zB~m+7#J z?hn!_Uzg3}eid>N=a?f~gs8tFa$X3Mmq5qdiP{FDMK6&x{1KjdM-Y#}!>`KDS2FU5 z1@Qm9+s8=Rqz>1oyXu=f^I9B%*P<`(I2r-WMmD|HtD^N)$WekucCVj;JIDW*^x&lU zjrw*u^<~V`u9&5n2N-iOZo9EH<6ZCUk^g+R%_NyRIq!Ix#NUCBSbdSy!h@po^BMdn z-85);OTXgjK&(d`%rbfVf>h)s}poL9oc zi3whD-a$4*RkWim!Ex5c6SZ|GHqBBdv>}|2kW0YuwH5>2A)%7uuIWjn+h42Y&R7xdpctg-qgy&ynuS_~`$i5Zc z(6_KHB6txU@St`^2%jgUJwELF{Jm{1D$kxh%V*+GPc5&4GqoKahEnMpGN|(g;`rad zIH$dUdS2KaF%)~3lDhd`EKZy_!B^ss<|8Bb3io?g^!#;oSN9Kx8sEoG=*eH+#ZJKO zXaQ5irDXNLv=yW>X$`fuiNR9nTBc+vpiFF8EY&I0_moOJ)mJ6k;DK&=bQNY3^;oWb z7n`WZa=T2Mk6b2?)|@BA7`#?g_OL#O`NV=+h2)m_BXvIMno9En^iyly zF_Zz^w9e#h31>%diu2C%_az!KgX&eC{i(J4ZAZC&H`Q&+&P3hEB_L2N6P$Qx`R?Pwwed~ zlAd=bt>rQ4%ijlnrjqls3V^y%yJ~^#p}7(ai@d?J~BsrM@f`Ht?`p3Mt3=3+kpQ zejNV%9;N<>UxYuL4`n-_(^Vj8%B9|-xW`9JdkfZmyL)O;lC+wo_u6)}tK+a97^k@1 z^;`1bnshBs*M}et$m_B;Xbr2G<=2ypmzEuRSi2#%_bzEbo9rjsi<_92z!!5z@*>Ia zFfY=dfTzk2F*x%g$?r&-pZt#2i}W+|B7FRcm6G20^^f>Z>8+dPm}Av; z&_$U)36ys6CozrqsIf*YzXOe!dP=_MmttL*O6)Ln-iLU1sHX%D66z;`zeIAAD0vs2 zEgGxLC-aZwB>AqQNEjseB>7Dq%3H|uD}omyjMaiO^{Fc@t@APEECp5S!Ur38oaUYd z=OF==$z4{QlZt#SFv4Y*p+$Tt=?iomU*-qs^aTgJX_ekE`Q^aPW3O=YCp3vdL!Mw^ zj5ZHCn743TdSeD`_zmR)`b{v`j2vp{H*d+JP-+C{4$bu`CL@q8Lcj_>RvVB~ivcO$ zroO(e&&WyTj#gGNxx@b?NhA($Vub0iJ(wPe*_DkLVY=Fy|4D7VbEo**&Yi$_nQKOU zDJAD+QP8U#@Z8Ft-=xo7DP`q1qZTy%+wA>i?D+qZOJ(_)rl#4)U5Bh?ni`9$xCF@8 z3<6C}tcT{M(0U1>g_Czs_t?T8=`t&IC_YxK^m*S9rf5!(HXs<`#XS>zIgs%;{y&j5u zI4=Yj(Z5Z`i&t^%1peX}i)c+Wt|mH${N#OteF*Y%TKj><@mvDrYX+hA1BEEW>+oHd zqbGkNyMgEVcs|IUKc&y;8DGIqT#EOfvG;CxewjUg&YqWc_JMab6z{LG=Ttnqvga@8 zvyKaRf1QnFZLRVAB}OTceXW(QN<2JFa`H!$yTZ=X0J zzIC&y_%YItWWDna$s~Orqiw0f87AB`lti8vH*$Z;erLO*bQZOO1z?cR5>!6%eJq}? zoMky=zR%2=KGx&MiCam7%KZzUp^DG~1as4{Fl(X9-=@akm6W7Q55D;0Dy$LGc z=-y`Zp&M2kR>lNJLmB)<{%w2Kcrc)r)?&gqk}Iwr=*bGvKcNfCzUSXWDfZe@y7HiVO%y;J-{0auF8@IiEMm z*_Ar-Ia-KOfSmF@KC@=|SUa&M8UQCDCp#ls!T&7`gJy#hM;xT6IIN7(;5csH4C-y1 zA^yl6oPkYnIrw$Pjcmy#JKS)yOrHMdJ$MKXO@T4PYritYA7+poamS2G`U62(Gq_n~ zo12)E&5-DS(wek^p3#gR9X0&uF!30P4io=8?!*coFJ^X2sV$G&F8&ctmkz^$fA@HX z-wAqTD*qNAhkK1AuMPAz`afA@^W2EnN1U+ zf{u?fvM<4{D#(QnS#peJ!A2+o-7Ix%x>(hMRu{cHH-{F%-nv&SAh7`j}3)oOUQm09$xBl+re ziNzK*f8)F(K|8t;>0= z3efunOgIlF<359LaGzj9b$TLQvZ7F8=bln~vkYi*2gzpKzVzg9%YnWVf?cMRMr4(( zn{TfgEZ9u;&yRARHOhKHxs#1X7!&Ig77{ssKtIGm64`{#pKtL`)A7vIR$N8^bFn$8;uSciiAxGyn>Y z9XAAvYV{{n=aSM=ZN3j%nI`T8j(ALOEE6}A@Gau$mB*U6rMm3oL*7(9n_MQtbZB%~ z9JL-Gb~h7SQAVfNq2lLciML3K5nRu zM}jCOxQ!eZzy2AIHj@#y*2DV@9p*H0h{YJYVC5)<_dI_`b9=|(Lrn*h+on!^LxcN_ zeR8C$>qvWNXR>6C{W$ZX!^aLA-p|I`c7#bwxSflO-KYr@h>Mk_>Cj;gc7q%z&-3mz zO7MzmNt{qPA#e2N&7<@1Be5k)V;7g;KErNs|6vnshggmnXhyC^jvZAz&T;VIp~zr9 z%xvUQe;eNc1AJ}#_c`0!PMm0K?<_8#X*O_#WTvS&X&O4yBSNy^K`_0<1t(gWY9 zXH3T}eCu%PxJPjsS!7~7(-ricVGZ_KkmTF=pC0>`ue80xJ|E@mcFqmHg?k+WKE)ZT0(r9MPl#ii)PJQ zG+hiE=jAmHpNk7$DJgknVf8CzWv@7DVS-oeMt#=O($_b}sy~~VlQT17QAETd@~np= zJ@?nq+-#!2DXf?Q>^&Wo3MIC~E1_|Csgx>A04h%$D`KFu*)iB=Pxv0Ue%G(}bJ-QX zYs!qwXg_>gjx+&e!tU_hHX+IhnTr->X4cjUHXjKiEcb=)o*a`N<+~$%_qcx7uJs$Y zJA4NcrAGzq4&P@vLik9$(vX>1U!R%T0L^SLrsFLb2iAzXGt6or64X&WNSfJj+=zju zgrxPecT}D`mwE17)y{-dKXR?=6U**ehqRPfA*sfMO>kIgkn5c(=Dt zYYE^l4i@8tHz&Gs;+1i^eo1Z7(QQc}Vwe?i5qQ3rxI<43ZiNIjqglOWge|~fLN&*N zy~@^HJ5_seiEA#F<|l8A8b!RL)Ok_FdsNiM=ds*^%Q|`pnC3x{OoMRO%UAF^%MUUFu^0=o97Zqv$#-1 za?N$kRc<`q??FkS(i*%2)!T?WH->C%5gk^FFR$DxoWHw=pG&n{3-Y?~IKLUvl>qGp zOL~sX0MgEW4U~EFqv$WB!#EbIfGXcsSXR z&KWo*vJ5*s11Ya24e-T{!+t8eUZHd8u%7ALse_ zN6SO3oolNDQhluXUSbk5@=kocu(jj0(%{Oum2)&( z{_|SS?(~qP;hfDNs1ckD5y!$pc?nieu_pyBrak!&ql|7LvNzLK15=Hsw8Bgv!RR2Q zl&d(GsO_;)p4HJ6tn<+tTMd&3=-s7QZfOnL1@vY1(ENd5J1z z`egq_=~GHWN;IE3BnB*gF>A}aHge0tOy*F8}2GqLT$^_wPIF__xt>J?VJ~U0J0y`Scs0 z3}@LmDj9lqwj#!|)DJLOU@mjy78Y-q67E}_lw3KkXzsz5j6koT%%}1To|rPtw>~kc zZd~DaMHvi zC#RSQw?LJx--^mvOUI0zAC$Z#P;-4uw#$^z0IxAw6Z}I0AsfO-KViQ7B6u*4o@aoX zbU7ai3X!2l(;jQ3wTv+84E3(AvylN^1= zR3@}MpR!@rx>vKZUR~GzYG&3s`Ne(WuLt&vzdrdSvD|-vSnm7TVRWMXh@~5wo0Rqm zc0RA1u6rtWUE7UyYj3o+-dMZtMjJHwd~#C=2EC@TQP`90$tb4!92NF7c$>o%ryE|3 zEQK2t;8ylZ%!FoE_Lisw&TE|A{MCvTUp24%s%b{^$+;D0^7GGBRG!YyKfU_*D8FYG zKklD*ARxp)NPe;To95=Pnwq|9o_DHcW=z>j<>fDymcCeC{!-bp{ed$F-ne#+bBlR) zoX2cP$FbaOVTnAI?YzO|OH>~~=z=}ghG=9k`WMbaGB+18M$H{U1kNPAX0aT*2rW}a z{E~HrJhV5}>N^;l za*gUuZO|8D*J93$jcQL$ZjW-A?c+1sCA_*?el=`WcJ`{!uvIx(E5mZeC51<%I%O9W z%t24^ldTu3g!k}^>e4dYW(Obream3H_2aLns_n?DwHIn?F4WduSh(;)ZQ7QUlr3qg zTT@cD-ej-&Yc=mKu6=jm!gp&Izgtt1vNctoL`FEfPA{&_WICOt=z*?WTfWKk+rKF2 zjR6|!E8YojZ7BA7u}BxdzNKDtc-cdR6dg>=?(`x%fI}&FWxIJ4a#y;$r?d0+Yg+7h z!y?b{{r7H&Z4pLF72By9{pfAlFv1Ks6m3$GiFmnG!yxLU!YmcJpa?x=uf zX5aCJeBGTFOhV~LGhv6u(IoV4B)17CUh#L8osrxOhOIZwf0l6R@Z8;7%Wv(Dq$>jK z13dr?&j5p*`YebpuQ=K`W7kX^XWOabR+~`!nypWOYRbpeg@uJCk(w#os~tz^U!cPc z*f;oR(SIB6+xsewbMAEQ{(a3=OD7bcY04`Od}qh; z2tvx!!{Fykf6~FIjDuLU6aw}GUU|f z)?zqRD7qGi&yvUja=DPi)0uf3d}V9oix9tN3ry(AR&Yy6(=M*~Wp}e!s$6qFBFuQcX(sMrY?%{?BwWK3y!B z72o{V-d%sMUQs50-R$o2&#$$;Hm@pB^HmUzFW@@=mYo*@<#cx=S`~LEL!7fxr0_ef zJ&YYGX0{6Qb-(#fWaS;sP1umiEjnK@edROrmRw!gk9;8R{*`mNL9)2|w9T{U9iE@D zyP$tb|5aD&=bdPpUiDV(Ad-25bNN+#oN{df^xqPu!P31qlKxBdT$`%be{Vz6eP5eS zr|BkWHC-Yb$9*d_$;V=3V_Z}3CYQ*$%n(P4BWK9RisngVr#L4GrAr12Qq_#9lr)|N3`c{QhMXx*#9Y>0=let69hpJCE@3_CQoIl#ANnOt8bwqJL zG_o%B&r9lY=LB~9@g&q6AqVI!h7$C8KmUgjB|84}l#Gn6>>2uUYz$;>*lJHL_7lz)WTcPMOl7wpiO z44D!wOOj>D=F7@ui)G7Xt7VVLcB7_lf~2Mi_I9JC15HQs^n6DvN8T2HQBg-nIrI+v zb{p(&W($zY%FNBnoxLG=W2^tA|6vO!0kNeH4!B%cUVPh9EEHe|pE$)w(OTLfB~DYP zE)PdLiViO*jO7KCOWZ{UU9PISEZ*F;Q~WReMa*AK4-GzNm6i7U9bli7-i+vr6 zf))KSFQmGmWMU!&iUHmkw$AZ(LC?rPT5wss0aAaxykNm)V!3k{vADdTW6em{>BZKI z$(?!6%^W&@(3G|hh=p15-bjvXZdy3nBv@?cBKIbnS#a-8e}3+?mViM{8uOU-{?^6Q zt(DwC|N7u7yp{OgRbn;BuYv3I*k!FWi(Ri-8qqez-gD-2yayNYWb!}@-g=NVcO|%< zyn(wz%uSP@jNruYhByrhXqh(md6F<`eXN<%dPX5+5iI-*kTFz(TkEaq07=F`b|gV2 ztk=HP$&M_&>{y^5VM!R-tJw%c43<{Lgz3{|8Ku+77(+S(zWzq(615%zL%OMYeDOx< zUI%@2WE;{Y>(dR;r6XhYJ_9>_Eww%a@L()>@FJ_F;jNvX2fym`+IP>3dF!LjcZAR6 zJF&t&5&L&!#NE=&0p2{h9F9B(Gsp`wIUIQo4shYg&CKD4pcVy z`Oa^}sB4As#n(SCNhtkDOuuoH?7o(tQ1r#u1@ZI0Bu6^lWI5m8K701|_ZfzHbyt=& zT&}CTOfi5Da`53iDsrmuxSXVp*QpJYIb__tBAJ}6K8Nn2hY89b%>@(8#{XJg}{)cdH-#Z^9_D6W}n z?6DxJUT>pbteoB)tJgTI_-pD$zFwRvHgam=v?ly*UAyo%#PM(vVpr{Sd86?YGpl3_Tp@qoekmz?uN#Ke)yL;6V2_8G-0o1S}{3Y zOh@gHvS^&G=8T=Ju)Yz2K%JOqeGFXPx&j)7HkGy~NJra93j&g9zz$W?0kk0t(vpF# zv020iNBjClNBe39(Z9M6cT@UR5?mG%QWlKAnnBWcNO@3DxfaIV)WXVw1$T|LE;Ie+ zelmX2Co`b4z84*>_Zu=B;fDMgb_)$P8VgjUy0g&@7GgKNr>)RT`-rApbC`>}h%Ol_ z9vADyCbEdTBEN<%G!LC;9~Z|Z;BP-?Rib9ib+J)wr1y}Lar$}9S1->E^BUFnA7|2@ z&RgBB5WN?k%?hWr>2y|zuYPuX*oNRzmzj`I|2$jTDZN{;{&t4ipT3{lv?5(6w$!c#0=F@bfo@8OKA@9NZ> z^a#7+?1I;To9p<2#gU&wZyp3YkQp?@L5q;O2@E0Re~@3q!FA#=^1X4)c#3FNLid}N zkl(Ny&C6(q8P@ouwS4}9bjFHq3mJBXHX(xH!hIqbE*MT!FiasGnzHJUF~Z&2}G>I>@W`k%rQamrRPFq<482j&@mq84X?>HlNz zO~9)vvVHMgwf7kkLPF+&gv>b!Nr22Ffj~&Y96~0LnLro=goH_kfHDY(f{3W7aYhBT zaX@LML2b1ay|%WtZKF-wINP?@5y&|^@3(62eTF2U_rCtW_kZ7am6Nki?W$F)R;^mK zYSpS$Lv%=3vx!rmPFOm~;Z8ViAl)7>1KqtMN%<}n7N?`a!cJ!#U@1Veu`olwW2JzJ zmktkh52f=%L8E#+G&C%X?{zGV8XUw%H{t@c+xvX>eU964FXdE?dLSYqpkHgipb+&y z4WCfh+A1e?Kl5c@CPgXLM$`(#6&IZ18MUIuk&c6|FPes4CT7LyJ!*-XznfbR@${ZC zD?rcRIU{5A758xIwTP;^hsd~O*J`sKbjHf?`o(%#*A>HNKzcYP!g5HbnaWMrr9Oq_ zFd}Kmux_Rxt-_Q;)=w?A77VqYfj#o?{@?0->ya=d=X@gg63$Z-t4azVA?^w1JW z$_tQ`8~jDJCv$0?J!`0@_p1##rb*dOg`2oGEI3+O6{WCi&WV z%B}O&634;meC;87V!EX$i^g$0$_^3d`TNq@W?ijvge%Tp= zv=o6$@g3|7(;W_p#rfg`D;fn|fIW>oNtq)vvAH01WJ$&J;ic0mN=Bv*99~>DZFp8i z(J(|KM9PRXdONLj^!C~Q$|mmX_^y$Sjvo*eH6UI+&c7(1nOt0)OrN-{%(yL9+u*dQ z)M3L?DWz&bA`f&Na~!K-i;@Nev<3`FV&pAi--B4IE$}f;#}D^dtFVEfD_mWqnM0uV z%Y9sdSBFfho?k9PuzHYu(739F@hLuk*)p|k8RdSUmA<~CWNAJw+PX98Z`gNAX^wda$>hW2b@rk*4iN3dq0TpbjeS9AkaQ%Gf@Wl4$q_t6K49;!UZ;Mvo2^^IhRL5mU**@R ze!RI8r|ltSIuCVys9a^*j3}j*o$DlcWtuDB0}yE-JB~ex0YWb&of1&#|3tArk*SR9 ze3Cvq$+=N6p!q=aBxADz>moq-LWcmkO69d!V4|!?xy{Z}Sn0r{NcRbOWod1cD{{w?&M%Uxrf~|*|0xKluxr$y7IZ~o-R8o z<=d#&X25f;rd;;XbI^jnfUih}(qfzi!YaKtY}Po}Vy=Cqt+>te6U=9R^0&D8c@E7i z(j7?q$TSCO|I*T6+k6w_=VMbo>~_iIvxvjA-8>Mo0t4xAwWmqb@TsEvJ#p1%V|U+# z*aw!>&)oji6Z7Uh@zr+YyZO|<>gs)`n)Pobv%BAdY$BJ1&hOj{QQx)AR?E(tcesY#NhPA`PnzMD%9e8s|j1aLdByVNB zufR#J3U;Zb%XFhjm;ieu5`1y~j_`VPjk9lzq5->Zdi@H!l_y zb&LO@Bswuwx?zg8(kWttVubG{9OKW$r_~*l8wiTL;_R)X&fcQP74DdeND2mA(Pzs0 z)EPQ%8bC?*=sEI?aKi>R+a-?uS|55ABi^9+3r^mkQd$1-sK+rK@v;!T!P58Q05BJ# z+_pnkYt(s2haM!Kwhu%27agje4>4f6=hGr?xaEVnqTQ9xi7jHucmPDb(0Ptx4yRkc zB^H|#>#opKKOEl`;+GBzJ!r8mPBri927`MTn&t?naFFOkP%j!P` zoa@62Gb&fEtjs73zuq9BJX|1kYgAtU){Prm`{zgA3Se$66wsM&ck+a;yhPzoI+NKa zJ-{0gCit12;1#zvYq532_@p}W;%VV&L-QS9@KDDWH$J33*oeT{l0HA01bzldo7Mq?XQK=+vH-%JyB(I=zG(H26a_4rJ>5R_S*k z)maC>-u2j9gNSt`(GqR`d*LU& zU7~J_2Ng-S(=Ew17Y4m^8Wc*w7oEjQUFX9}ohj3PhdkGQhaJXlGrMf|Q%9Scc58+U5g1Vtu z5u80#ZhF>8vrpFRFE>47q`8%S-aSp!U2b~LNOLRuTP;o4o$ujACKIHwSTzW{GufO2 zL2BLZJeVxbgE}9AU6zc_@;AcT?3lB5Ei5U&@45$;6cg}%!+?pixIZdCn63st4blCD zXvK-Lp$$Hoj4R zzU=K8tyAx7-u~=_l7-94>vmR6-B6!dJ8NXcuBr2uI`)(wT5$EvvuZHUNmjK?ISdWF zT!L$$$?SH%KtGF12+}1V2(5wTt`-7-u+-e0H5VK5mL#_uUzw2yfN&)gXAk6e$BvJJ zmBue`dgZj1?57SE%^mGCFg4m1WEuC$@#~(Lmon*x<9wo%rm~SUYx~)%a+;oO{q%3KHkFku8qR9A9US=soA=Vn zchwJ`_+Gv9R9N(qjF4--XA{r-o>g`3-ujdJ*qQ2kZ&)@=9zNmL6~yh2c=D+OF)UcE(Cx?HR!1^X}U zi14TBAx>SCq?D{n1&XpHud{FK(7ud;?}~9`{&`zB7@7{Lmp3Gy@!gr}89~X2sMH;> zvjWW?8lvcti*$P^;^cMMPEAyIJFV376E%oveeW-UREx;?6a~da(F$tU=W|j>GIuEgm;{TT?u4?dFyXFX*c> zMCvB1Cj7E*r=13FHr?qT3cGK423Xe=m1g*eDXVnjbWp?P>};so9} zvcmjr~&wRK~UPNDX6?9|#bs`c7qs;cf$9sDzY z$9_9&{O<0SIY+4}vkBMv6AWA@jGj?eOf8x@&Zf7>96fgDUpo%5oA;?lZ+d-mMYP3S zT1MaZg*?Mr9O_U^+puCH+}wz z=imOBW&BP!S)Nf}>^l1=Y~#4-uDsWK(+=%X@6np(NsXvsb9WtIc}U%Gl*O(6-SyMc zX?5hZ8d%U$(q*v%*6UhR1PH9x zJs^nnK(Fg{w?d@Hdfd&65f2~4V{d<-Y+(K&ugJV2b|9UZF_3z}yo~wWB@}Hsn$xa=uKP-XTsYFdj!(rwB zl5WO7__aEjqwd%0VoW-(zAc|IO_E~3`#2ZS<9Hbz#3O|ZDu_S-sAP4)s8P#`cHPyn zYv{_dVfkxHHl93L^KiRqlKPHm(4dCQxU(Oe{g34A85!wT^(;#aV&R|M`1!tmY!K;v z71DlXq4EN>Rh;(;gbGUMb?NxFAPAk_7PE{vyp0<3Y>4PVzDvTZ>7nCUn<^_dW*ndM zM0`qW{8MvIWL#Y_dSlk{ImhFYlVhIZf!lWP-nM<`PUVGXW0Kk3By3>FoBgV>V?xyZPQ5ZoKE78*jLmdgnIv9mR%OBLSZ487>;YYaJ$7=wQ@* zG4X}EIjy^N=TQEe)yE4P3b#+Z>XGG>AK0*I_v@v#L+_raIjVo$DBRQ`GT-hyEq`i$ zc^@?_YW}@fPrY}Azxp@U-)rUYt4gO@c{TZ^Uq8POONU?jx%7Wb+rsbkYa*|7Y#CZ{ zm-_wU%s>n%2Lovq9G&#TLK?xu&I{p0+jRbNEXuHmMJ(KLV*9FV+H+S-8QK^lht4RP zGJIS`eO@u!^%Ad>t@aD{WIpb`!^iG!xOIAZW@C2IruEmY-g1rO4~PT^#hgi%I9C!6 zJ)PF7&Xb3hSaKM#z-5Fq@?gS%+YtXh51-rw{^gwgBgf{gDcW^Bit})_FMBOatqy5U07N6*ZEdBGbeML-LYA$eFhsiJG7D6$N^8Q(`pF`354vrIPl zYZkoYn}heNf9D4ri{Qz5a{j$Drr$B^b<>R3{(ShQ8dd(jsfl?nTed83@3z+Mg{TF( znUaKB=={+DDUNKM8XvK6S5|~<{ zyNytztIrUL3BFxe7^2^Du&$z5Okkm0{+q^QrBidR9^Zms0BTLz1b)=d{@Y1qeh)oV z-(gxYwxPVFaO;MyCiSbyd(&1fji{Pmz~Y)%zj+HtIkv;zU^v zPAP#;vzRhLU3p18$70lTJJjink{@W&i&d>8fm zB8O04EE_Xlc`a|MgKwrYD%m0xp2{=J}XRB_bc;bC+74Vzu&{NX=r z&Isp^?r&HDf_C2XP?bo_}HapVcL7|DTt?@O%r+H1A-4_Cxs^(KniA)oagOxeplZd+es3 zEyFI^orp{rq?Ae(=2@^{%oq+k5_Xx48>Y<4YKb^m;}DJZv1sNMsZO|Dnd1DR%TpV* zC$dy|rwl)1v&m)c;?dBg_F6yZX7dQ(#H1wFrtFm80e0e?;0(GiSi3PEgIPM+wMH3g z+9G;P(`pgNT1YAM9Q`kUJxOhvl*#+5$xBWxF>MLDExFuGE7r!1fhazY_5LnjPw zr}E8mf!*GtH0qx!&4eGl#xYv`B#-sFg=Y3Vf7dY!RkOMLUH%n1Xb)9NABRjajyO)A zy`l_4q&=B@n`jr@Mh?#S))!CWF)3-C{G@$c>B`fq_*lnNwb$3wTwhC1t4^=v_bz#a5~#Zi)Rl#_^MESctHu4aYzBN1-^s7tKb=LZf1kQ$%~blH zzQ2}0&bX;|(Uz%Gw=AmN4{-?>fB9N4Kl*`T0%B>Taa*D-Yl-)MPDJH728x^w*b#)9UmQ8mTsnPXE*$}MmGd~Nm8 zywLD@A%0_rTQOu9_d=v#)qIz*`#UubIAY7I}zWPMk?zMrjeBozE!(l8%=-Dy(Q_&mg_o|JYJCG(ey)uQ z(U&wYVmhWuVDu1|3!~i7hN9B&7ThAdZ287QKkMh0&a7w?cL#T#SNb?_4K_ibqHf1w z`EJC{rMeMC6`%rfP)WXftnKF)N%Cyy+9hXoso;-0B<)`5 z4e~V*q(5mX;24sLvmq1d-i|23^K!G*m1Uwl6Ef(7o-z@7s=Kr&O6Vh3?CokYKaV}+ z8nR-zny@-rqwI6a3N5a?o4g<%BuMg0LTG3Z;+<)sWV{Rf`JZ7rIj+M5g_>BJsyMJRpy;ocRIhsPaqAs*c_bu5vCyV7!o4vwxXU-QH|p%K2{TW^aO!7+F8k} z7hGcRw4;3i)#9S2rssf`z3UCVr)rdKysSQRc}+*3U2cy{iz`mfimu3vON}dr(o>nq z*7U}KZkSp`lmWfhuY?!%_~o@Q9Rpk)(3>6r+R%L$tKq#(8V*Jk-Sb4WMu6U4df^qi zhaeJO`#<*93F6iON5!H=*&dxhdPD(gF>dnEYhfNUkkEhic}>(}PrmHzX4KPdic_Rd zF=}3OjvDenaT_%>dOXJn%`O^!l-+I-A`t@~kxRxYnZTRm4DQ&Fd)2-89g}{T)K~XM zOmcZI>OPA~W{|x#m@gDwo%)^enwz4SUZ40C8LtXAwPb zwWgZb47#<;?ZfX|u|j=eR0iGXnlXxZ;;F0*Pel7qdq4N1$z<2LALu@#aPH?;;2_T8 zx$~*Kbd2M=v6v==F0I^})cN*6{;hr?Gn0M`AMgt(X@+KqjSl!QbaIEdTFsHJ+^QyP zm#QHE0O;nH7d4RAw|pEf+Weid4qxHyt>#Z>e>nuaKf@q>P3Z%u-Y7_Ly*SY&mOtQ_ zTFAFK*71KhMk#&N(>JScFJXOHu>JhnwbbH&pyVsglDbQIMk-B=mv}Jx846b__s_(_2}T`j0K@KUfsI%TcD-)DM=^CdqP^WS_Wd z71jF=tAZ|Y7v`rdl<#$X_AWKqEB_5a&TYR^goEmh>}_QnJfAW8ddG_$x~$BQ`}HO* zFalUKM!T$M5)kxLQ4E1?oJk3{b4*-NY5-$BTb_4_mia{hRROHSc!p zWB*AWydXLvo_wo3Bdd^Ysp8H~*D*;O>{24?m1fs0;ZEx%?Y-j%shL@sIFc#vUV2S& zQTzO*Hy6a!t(>^@+M=TNdChx=Ce*b!J{&WC-1w4)5d*?Xrtu*qQ%VPf4V_kg%UD@m z@SA1JAD_Q_&xH1I3yw9@F+ zUR(%zcSy}jKdgP+=zWyUy+(aqeQgVyt3+Tkc!d3=e1v>!jl30R?3gP%hGV4-2#*2+ zSLO=+9o#FFcX3LAly85uk~d7bt!+dr7In~cT1T|qrp(2kDW0kiWuZDAl?niD5LPk; zsN;}c2Uap-EfPtbXjq!)V7xF=>o!-Z3U5E%X=2Ie~6-o-%9@8}SX0>#e z`a}~;W>1+l{IrQd(Kj4uNi{HzQ7f1q&8Ee4@YnSZc`H zz-ZHu!;>1OCo*~ShVYt(#RrFAZJx5=ft-+tfBI+5y;n^Vwt(`^&{gb3bIC^N?0pe%|t3A?r&xFRO)-5=`qUp%| zIR^&G>Yr4Vc`v$Q|El`-3RZrDsXlxAOX?Rd9s1X{`KNbmIlXvh+50TL((%oGH{JGB z{j>X$=YSky{YEwtj2V&-fqZWZvwr@=sXoK$o%)?ptFJ3@Zwy+GYbX$HVejJCZYaL@ zX(r6y(?Nj#+{-Mt;BsWm%cUyd0ZIk zS{H&3M;NPf@XA%{cLKW#^GNqptYB|M9Tny>BNg&34rdFt;%tF7JEzi_bul{{grnF1 zZqGKC^b&LipVL%M3@&~vF;hFc>gD2++0#dq%$VVLPJbwwdCjO%*UX%;t-O32Z*==% z+FX9=o^tl}oRte(np#_D^B?9nFKTIOYn|0R?WW1q2WHMZP+fb|REN*Bn`)|Wo;ma8 z>bjezVir&C`b4=FR%?oON6`+7q_I-HhC2yPazii-^1#`tZCvRc+IiV>%BYOaPqJ8k zQAtQ}N%7F3K|w=@F1h*UB};C(h3^|WEHq^J(88f1Awvrn-hA`IrMKOtju~1K99%NA zxHvetxOmb2{fm~~daIJSP#wSMt?cUb)cS(_y7biQ+=jjD*57c$`VD&;dQFuFWFd21 zK^|q!X}IC)^?UZL-*7$F?^sjI#nN+Ftsm0Y@2&i8xmbBpOTqeGk&dw_MN*0(Bk1fd zcF^4QF860dG;>nOJ)NcGl$GUVjvB>p)E_eSZ^xgEH+@HCWK~pTK{Fd{JURYoJh{@y z=AhqVhC3lnLWYsuO>)`Y@*t4pUhQsMXiYo1HkM@{nQ`yG2>^H(#DtkD#mh!xt}YQ`H?LM)|(2mzbnAk5}~mP>i;E zq&66-z+($ATHOmqy{?X37_qB+TUR+T@?2SQNQw?+p3+aWThKWXbRMfjs3}Y2L#?g- z>_5mpG|O+nZp3%6a#on@oj7vo?kPD9*ZRvKJ4LTY}GREc+j7J zY475j9T&K@%inT+sM^?a>7HfWzYXQ?#JCJ{j?2rAN{^8ktdBR=*8PEBaRicH_l~q* z>^qU}KAxliX_eZx=r8R#{Tp@q%bRWZ*`CH3^~RoQ{BJ$eFxW4@2O!qE=v)4U*g;Zp zN%=vyeI&9=(}!r}KK7tf2^%Cz(ziAOvBK_ViUfzij;&d=F)E$AI^eH0$~>9I{B*n* z8Yq00e`3RxXOs!tY|at4>FtunDT7@rODJQz>7A4S9bNeL4aujdB-mS|7?SW_XS8bhN6i>vg3NzJD|W^uL1qC%aAd z*yYQ|PF&u`_m5q%V(i3at#cY3nX^rWxS@Xib(^-Xv!7YHd)NBwHeR<%zCP#DQf#y; zWUoQ{3&pCkKkfRv&m=gsY!g?d=qvqLw^`=AQCZhm`w6)((gz{NnL9eo`DEqu!7v zV?S~*d?YW@UC^+)%uph5=b+h~Bt4EhS-%9OUPk;#U-SYj1JH=UU0C3WK$6Yl)$1Y( zLfgahBh;OUC+YZb3abk$NbTIJtWPfpQXiQD{+cNrQzj`#2?FBvo6WYwJOuBTlXCNp zH^_aR50`^CrrF=Ou$Q7|f>9ZCq%xe)Jx6kjPGi6`0ul@H z78!5S{PRZ#4UV$kATJ9G3k_9|E9dkB9wCDQTKfe=M2M5dz+)cpm_>L5q8)jGp)xjI za}f{ZxZKx=^T-Wp_J5h#p2F%f`}fK$`^UvIquGmQ`}=7dgJtd`M-nx(Aih3ldV34wb+T(@^ z0KiinTflN&V2IfwUu>{{50bDwX8XT1k|?w4?dLU`$jN4PXiu5|hI?!iK3b1sA}_Pw zV8k&|&UFu4;@LBaXap^Zu^(;5QE>U9{dv|6AO|=_$BMcs&y=JNX=Hu;Gow0xB8&nX)nxY9dFmITVWDA)8NC*! z{%aoJ=lG_UrK8sB6>6E;u4zuRtG{!DZ8Gs_*{u_cZR>>f7pnh6s(k6XX=*%d3ES;{`L zpJ4X_!(2dJ1*jF~YYYsLT8J?_+H@OIx4TLACZw)Hs-Jl~MP@xknk->88mn9@0&Ue|LsY22%ny5yx7YZm6Y!t(h+Oi?-PU zEkqk!Kn3~1sSeInwoZXxD129EAr4n^dfv8=)Ked^jYMs!3oBSe^U`p`tb*NeU`T-n zG2_D;$1fq4VYMh-jnZS($KPWc*~a%o46hgp?j@f?^sdem6xs_AJ@JEelweYW{k>pt z_mAZYKPUo&EpQyc5haQT20w1)HMIlnM`S~_183AXib!B=I7y~~{6S@#@=swuq(fPu z*sFhgJo`KQ`*{8!`{xvOF1uq2Y=cknlS-#44P(GUvXDHKDL$M{vnh^c$J7b(e){`c zmvzxJpt-quz01M~&7(_;`bgFT_ny)MJQ`g@@f?k=Ask&)6dI_LhMvUpBpJ%N(F(Q- z7p0gxkvvI*!Q-6&D1wV|VvMAlEe|6<(Cq`Ho5wr;=J?zA=hm;kVEohO#BbGpQ*O1- zR@QcIr;mJ>eKw7nFS~w&+2jL^n*A7?9|&ul()B)0V|}b3qKmK(z-sL|=gBV1tFT~n zj}A&W@jtod#m>(ZNLdKjjL0wzktPEvMV+c2AzXyRP>7$&;@S-MCRX3Q2utz0?z`dViZgprIU{ORQXzX2ik`jF^;EON10#~xm+UW|;5k{=2P_V-ag zF_|4p9E;1?X@s^7NDWtqjpY0J{&ID0YEEds@cseplxJIRceVvqGQBOt=b?z;10JXU zJx@}~U)V$Gqqoof45i%IYH#i3)Fisw*+PQdS4bhzZF z+S?W1 z9!%m%xejMNi0JC9hjy-@!&6kyI4?VWt>r3B12`a9%ud#5~p;Q~DR^>@hS_Re(n=QGx9VPZM+lSYaT6k)d%xG`rIgoNEVM9&C{q!6PrP4 zf@Aca2GjLUdEE7mDBZJt2Br1-Od5}2cN}>;t1Q;es?I8}S#Eu3F>+{mNXI~~>Q2}i zUHk*gosb9zk*7PP9yxx(xF;A?x2yHU)mnMH!#H(PM#qH4gw}4Otr#KI%A;;LyVZo7 z0?@~LO+%zcf@W?3ElIj)Cwuzqr_E_iodw;U&iIXl|KC`|6P^qk`&C$X%|*Ph#fUAu zQd*6;_L~sde!H|wx)WVri?b-M? z-Wk7*ZzJ9K{y&j!)Is0w&&uPC_VtY{t+BC@{h<9(eY8jZ9DZv*@aQOO{I?}EYM}Hg z%`FEG{CwsB{$pte4yb=}ee(v_Z^vOR-AJR~^0fyJ{GUoE+>E;1@sy-l9=!YiCAYmO zy&}CX{Rixxf0q6#{S7`7pGjXy|H7@$KTDkw%(u`C`Y=Bhh_!Wp77b=Q+N8D823YX7 zO4s4`m%Y->(yh`R@T$LGdPq7d{YH99dRBT~IxS?1h;l}e&U*Xc8d!|lZXf?ZWX{7! z#>eFL&D?&|Grj+Jr@7ZjIAD&v?0>H|HfsOajpB*E9EUNpX+L>`Nd0%Epeh|Oo-9_H zGkgEfYu1H1c*9;W{_tJt8GvtW3%C2se>X;8gOg>TvtPYc9M(tT+b7cSQcXw)ylX0f_kOApxWYoqZ!yV!AFbTCLvRKeOJUs&Az zT}-ImkFMl*zG}3VRv|F1wCZ^co^#dfs>T!R@Lqb7%+$Ecq}z4uL=Lvz1;?nG2u&+` zR}aS0jfXw>-al4sV+$UEdzqzY4X4!Nz(u!D17#=f_;Kl7VJx9%Z4av@bvq`2Z>HY9 zI4G=RiD%7Wz118@J2Mnm!xF1qM%J^dW7M-@cP*{D>h{Hf?4{Zr6MO4)$Nr@qq5Rv4 zJ8FUE;@htx2KePx>n4BPg*b@A){7Ilz0q~Tjym>2z~b9+HPA;(?(ErWqVcrb7iq|; z+3MNQj$ctX#TeD2CLwqP?hETtcZ`#k0cuGHO9<=eS@*-hYbyF);7I6s)EuuxJn)p0 z&f%(y1dFlPBRt4^CxIdI78ExYOth z{n9&DKw9%X#8yoYLb(fNHw=e{$H#|^QGg$0NT*8UfR#Hjl*44t$#k`z*tcFWzu6 zRDf@lhO3SWk93?jS|G5VOp;E=3f5U6Ib3Kt=Utto9S}SkXNY-afi~;v^EPlH2*#Z4 zL`P{gCh882(Rifi1cE|@gHzh#l%F{`UepcV*Xkq$^x9za(WvO{j<3cxl+B4CUTcyW zm{DHBEQc6S!w5~#Fd?)A4kYolyn#eZu~m2$F9}^9spGQTO;3RZlkS@*syfb7HxYG> zzQKGzwj#;PV&veF>dUN<pAQ56$6dpAc6p)4Dlg0SGY_)pbA@v5f zqSmUu!LqCj7os{QJ0|i+`Qx)4k2{{^l`m@3~68synrq732}wS z2L`6%oo*weOV22We9&R#7qomGXK_Z?RfCZeSG`g_?6ymnw7NPRbd@i++QXC+a0??_ zn(!Y~PB^~lkbOEX9x?ww@A(qtgyk*W?uQ(>f-Jx>!SYsTafhi9g}Q#Shw;NY1Tx|0 z@WUOBZ)Bf~KIWPZde4{e!%hg;cEtA31Rh{{>(ZePW4}VG0|2*P3k?=r<_3KB%h8BtrkHA(XUiP2bBY8H`t>60(OputAKCRVS2Ko zqeDr+t}ZApR|;HQCBQ3yYVA<>uoiYs02fHP)gf1cViacbX`Dv^c%DL-rJ08ItQA`GdA2`)*{_}gX672| zb7wtzpHoYS*D-QIFT#&nPh*U_T{KI1350W!S?~=;iPoFMH=<^ZBMFjnLbOobg9x|9 ze2J)8bSfK;p(M$~HF{e$97K7UdRMeqFRwLOFR$~RXt>530t1cj2zya4buC8h5e$k` zs7fIYcT&}#c6dE-6)pCtQ{AIA+oNus@dcAzr;3XXGpu{ZXAsX?Ted!>u~+7Y!jCFin*kUeo_9kgQ`aGkx&V{wkc}`+dJN0?TIqr3y zFretTq5tTA_c5&@D<&Ii*rjoX2sh?=mkvO)xUK`Z*7&+qgsuxFbItQ^^S3K6d5iX3 zOU7x}C*bxG*kuO6E_3AFmXws1caI!-Z$(PViuaDJy=7ul)WloXu02o{6;*XW$#;KA znLCiW);*Wos)q2>cu`;|>-vhOjdZA$PDJ5FRmq-lTYG3F#hjtFjza%}-=OUo+DyHD zzI>Z~z6-{zg9p{O4j#M`6x{9(YoLFY3(7&QkQ2%zf+^pIyGESrAOjaIE-TtV)HWcI zU#%xzIz%4b4L=?77dn=vUf>hg3Fvti?8wA3cOVh%J`a4yW9kQ1@>6Uu_UI08;NNojvV&RcAM?Lq!KHQezj`|N#3 zsS7y4er+&6`JNia!`Ww!5fV`*IEJfy0BIO*V99 zmtIV|tf3b(q3wF;#bg=QwOyB1?9nPG#WXTecy1?6+$}#uV~@O87hFCso#UiFX1xwq z*Jzc&e+E>epIp_utR-3x8#!^yswM~68S<9U{yK~C3#8GzmnDxhXIc2c>80g^@H5Hg z7hoR&6umtCK+>N)A&}>hfIwyG<5|B065W8{*slRlv#*2$1hkVhJzBudbO?VK7x!JJ z1=MoFzZ(TKfI!&U)9@>R=O8WVH1P_5B;y@7TcCn^=Jn!AtF}6%>>ha&yXVC{1H~Hc zsDvjR_{dVP(rd8gW#2*kcYh~{L*=@?31qQ)ZFtqKePWTQp@LG{EazGqf#5=;Qe#Nb z*B3`3msk&&P=vY_YXL2XwrtbjxO8E1jn!ti4$7u2phQ+$LpkSQf<|5JPxG%Dqt*8V z5}i7mG4~@+mY6FkpP|i~e;{bidD_r(oOSa6%57BdTo4*J3ua4k!afNMY{$J%NLi9qSFxmJYwxEYJ_Uiqt$>! z5H%fHXh&x?6&Z?(uvl+<$@%CylMv3`=Opi#|2dz?~Aw0xFYiP={M9_$=_#7av& zh<06Y&@ z=ION4qDR03k?yT=epYKPCx)wui=Z0SB!w+-T#zfRm4d1QMj|!D?SHJxL>Cxcp~eKk z`1HQ(0~9sA*u9<3w#XhmEXD)%u=ZiYzvb=p&l54RLK1i#)bWxu$*tkl4Wlp|Za=4e zsOR|-!ToMMPisaPdi35fEFfAFi8pEGL7F?YkVb{ux?7Vh;9y!m(^6Z@L9#&9B6x^K z1dR#w3sptRHmW0BoGVQy9M)ogRI7_dj1!IrwqiZp%V=_8tjQ1qYu9)tx#Pmi$WL5L zd4H%RAwn&5$}+bxK$IZ38g^n8@4`XMp&}}%&Ki(9T6SHOVRb-@L;;>CC~R`BwU6j; zje{YEh=sM>pptVvZpc+3eGP8s0l)_iYKZ7!e^jF&@d&L>jTVBJ^woo)wVu0s?|9n$P)5^8Fs@zFS+j}g zA`Y39;qj^RH?$^IswZ>-k&UVzEH#pQ0Cv*S+&=a zUh&gim9V~6VWm3@^QtCmu`YzI=Hx=9~^5{aA=tDMBQ5Q)tSl=KKP=!Hd$O?`3h{os-#{}v;>J5PfWE*gu zr{k*2w&3_gxL+6_)?K!V256=AHn>YQNJUK7&JQem`hUGiGqMP{a3|~p?vQ0}6r`Sq z-v@bW(Z?mrbVMM*t;7!t3#MDi!Pcw0kk%Ez>^^9h}b{i;0AA*y$F{_UhF=jB!B8e8BHf=;ua7`KLeqFLH0J}x6Yw7i&(GquR=nyC%GaQ2bG z7l3Sx1igoxJ1}mRRpjbzW)!2$jZP%L4W2Xd>$9j+Suj=!Mm}nrVfS}ZO5i~AfsmVY zk~&x%fkaL^{HUBbfbGu?+L(nP#il7;yr=K4679rHL8q3c>mMMJc`Ahi!eU^wBhRQtO#av+MUJyexf4GR>Z+t8M>`Wl)$!YRMadu@4rd>iYE{e$w%q3Wh6)}EG=9BPX>`?c@Dkd$nK zGyO7foLCT?$K5c|;q-=2t`i>-Pm`!l)&OqrK~U`bI72A^A^2Ey%R;9mb~6;yuUsnF(@}VB|opa_Zl~smJJO|&dE;6NqD|n zeKN}h=dL!t0zJJ)oDFxb4Ggr{gHcfc z*z0};Y((Q^2aOT&2vvd~!8M%)y}_>j2AnIiMCH7EoB17qcRKn;_)}?pLr1iYexkFo zJ$s2AO3BGdfn;D!w(M*her)WWbmy~d)K|7Fc8k=}kaCBHn+e zJk3v;+VT4+u8?5P+DR@Uhy;6*Z5XIFo8#XpzaMXn+Jw|H*<@w7+C0!4-+F&J)g7a3 zm2WVc0PFECf)%SgDep18ESUu?9H30(TbWnM#h-?=KBkvntGx5h%GaocvC1~&J1Fvn zn&J}?MzyL${dtP|AnbFJ>u%gmN_8} z6=PX+o>#;6HR{yW>0nP!tXdp_*;a8e_AHY>y?k> zX{M2Qe_RIU(sBH@<2SVviiK>q|5hHQd^AsMZeTyp3}cL4-g*Qi1A5MX1r zJR|=DP<(l^d?%;KOB#N6I+pVrdGc!f?0SbME9YGAlyjH9H}w_oxU=_ZbY7On*^S+~ z*%WH9E-Ytd6rhsUMI_GM8<7J&+$E5@~5Vc_nkevdgOwFf<;L~BFDw%maAVD z#{Tsd%bc9jYFlW?WWRpNRL=wINZE$_YJhVh2D9cVnr9Kfz)!idU)Z9hN$I6A`6>OP z3sRa}%kIp`$fz0>mzr(1t}1(8XZ4Tup%zsD9QAz=3YfWFugDgxyBw6?$Y-XCe+QQx* zbr0UI#M^B11+6}ljsG}Iott33(01!6f*)o2RNifw4``3;(Be!NEN`V9Pg!Ce|oGNhsTLggR+PEaEq~S)>cip7n zcGDR-&N2eHJ*Bt3zd0Hs>@%c1t*2C(hsm|(`;c;6Ptp4vGYeeMfWh<1M*f}YGbg=o zobz*u>9djQ2T9_s=^_53MRvZuY0jk*i#$U8T)cftiA7(%>!x2?;sZ4eahxsBFTSpN zqD}Cc!Fl7JV_yC?D2AZw5P7!T4nInppa8owIB`q$9g}Bs2i}lG48&EY z$By3lu{@hOR3w<35whq8l2n}Jtw1jDNZ>EU$<5NTWcE*OrL&>Tf{GpSp7LTZzZure~WS3TYOxcIX)*hGn3HNM`couScB2xP(Q(7 z(>*-mb&n5R)#dxr=BuW)w@*_B4Km?II%URf)27`v1AkeK(LUq5TRY_kKT^vEU$vRa zvo%aBg};uSzt}{{?Cc%7*_+Ne=bzg9B&v6G`_nv zl$T7JKO}y9QDU4eGtpL%R@Goj7?Tkd8JC_oa47r!uDcu~Z@DFfC(m}ARY(1D+g-8S zC?a76PL$Jni^2qpRvN1SZDxi3e3>_N>#=8i>TdDgZb>fBO^qw+Ke!+}J3b?N$l#Gf z8n52U{@H8tdZX>ecQ+cy&s!22`dg+n%&GJZs*Ce)-@ECio+x&{RHSd{geQfpr6GSGPG$d@$P>#gTLp)d*Yc7qE zF)n|p*SK;xwV?5EW5K4BqM{V~7+4$M-LRMI3sTRiKQpg$sRj93iIgJy&A$R~lT_0+ zz^lsijkKOMvpwuS_9$#G2!p1{i!4p#0q2Y%A-I2!{*h=wkT{yAwdn1z575d;q|vpM zVggUH4dNMjLy~M*f#uoKk<|? zgfgKZ-F}I4PZW$LZvaO!BE{1akj=@pW>ezoi(Aqwa?&?1J;Q8#4pWJjl;6WSI3xRX4Hp{ zx~14`+p=|_`T_fNK<)ruIKtQ3KisM)R_-07FgYo}FE_P+e{=STAggafV~o!cb9?nG zCx!-O`B@R{F4(JoQM$z%Fmhyo)f~qICx`hA9vU*ilsq^tD7>a+RM6D<<1O)Ri-Mv` z!;=e|rZmhAHS@f19yl_UWzGJfm%SQf7p=S8~d@XDWT<0eyMwj#2eD zEH3qCb^T{$l<>@9!MQwpbSw|d_R2L69u+fU+8#^F%qan zJUS&|k$fh8^SF_FX7^9%ZwehhtAAksNw(CXMJZmn#eqXI{JqE2k1{LV>_0fcYWA`X z^s$X=s*0WB8<1^gmcW9-thVZWnfV4M1@}wv?Uytue1Y$T=D0QeO4|!qXoAhJU+&DZ zzTtUczL{+cqQ@Nb@{zpnm}PcbuF>}gth*E!Y|6k=x$jWS0SMg4!ZppLxeOJizSrC5(XSC6)^N5 ze`p1PyI7Enf6&@!m}?nG6q5|Y2!;&6C>HvW#YUnAIt2-}P+_Rd%fb_cz!0+qLd936 zzc$Jc8VvZ56L~=)!4?=2$q)f41iS=P$i2{DVVr=q0}>6A5$S{)MJa?VpeXa=h1WJnH_-}|AI66WnPV~8P#qbf^Y{Yq(#1E_ zkJ^D7=LX0=mCuYzN%r!N$V^(^HX~TMtzS}1SV+LY{Gdoh@fjF*(=MgKT6F!adHVvR zqS69c!WD9aKsGLVPoadYV0hAB-2$>F6@ zL5terE#v1;4I0%_6CM;dIN3BIWawa@u*rcu&a4f6OL|d%ui*5;K&xL?z|a$~RJWUt z_{20e_*#QTWSjf;(V;$iJ?5AIMuIT zRC1!#J0h(hFk(=EE!j`8%Kf4vGRAr@;u$ru3Aqsg1EK>%h6VeDc!l~6>z|PA9q8vf zaq+6$f#x+{1O59CGY@YLyehMBQdR_L#;u__7~_c}V`3tG{DTu^B_Taf4h|1sUIi6V z=D0B0-O!BoxPYO~7Hk6IS(DfUf6>OCi z)+dlgHI428O$A=T-Wc${8GgZ~LDuxVs+|M9WgoBSe7wBOb1-BSYkXR;wM_Byvc{Rc zQo|k{;$4vI*FQXSl$`DBJ#uo`x?~=ksF<;P;AQ%hJ!ySY*@yjHe?+^Bmj+?QGaNfB z@Ml0o^E^@`ha{P@GHGp)VZ)3L4g+_Fgk*rJx3Yh9@$|BUTGje0&npxy)plc}MyLO1_Q{x(1lvbJu6s zGwd|`1ACi&$UbHN$u4o)UBp=X9}VaK9~utMWM)A2LK2(6k?5GDq)=!}Ioa{?HppzK zZ9|emAp?;_8dD-kT#*Uo=mAm`F_`0V*-1_|I5jv(6OO9)uhyI@#{3&Jr)#eLAI&LY z(MDdZMEhAxtk@(6^=E;J4+jPL#{9qo5@PnqvR9%UWAag7lNp3~R3VS|@gQz*_#gG_|AzXdwt5GonFG9nYIFSkY-W>bQFye~C(~SL%CKbk`TNL8 zUfevxCl}E$`wWuP6MTFWX5p14mKbg|M~{jQ^ojI_9LAoS^nl~AsaeD>jFjRaZE@id zON3=Y^Bu5|sz%NSxw!~_OQGO1uS4jufMFTdYx@qKQ}^=lRpYKL+rcx`*{SR`_IfI! z3x>@xjky%EGiLVs3U*QrnY?aBb!ubm$mT|MAp5*^$4vQl^}7nTR^1K*A7_nShvZS_ zD)^Cvpmw;iSYolPqdK$5*hv0qtg($P@KVzja4*Y>hu@U_S{^Z1IY!R?I&@z9aCN^N z<7h}Yx)iZ%&jAYW+OIrn9*$d<(h=#1q8v$#mb_3N>2fD1W4JpMx?K(&DxmAdlVe3Z zN!LLC>?};T{$$gl-9!q|OuM15(UU?bv``y-?O4f-K~)0=BqR(NP&J5uGkB8rJZbQ> z-7WboyKh<-v5t+-O>%@JWh0Wpmr1$mkixpU!lKEOui3XxZbh+)gB@qxKqL&F2oUVe zmfgEs)J*o_x^-&2-I17`oye2uuliz5anX3Qd3;fEO|~7)p=eI>=jbzz_^OP_pWDN< z(2x2%Wv>>|5oZ~2fc+tQ|B(EVJxGI(J{fo#?yoE^+B%vnLa>HE zCSv8T6MHIoSR)808Cnu)F_+k5(IYA;>txhDpNiKMwgwQeX2Ry1ZDe3V#hPW7KPqBS zkh>2V-?Fd{5)hS-4a?FRQ55j_quotY*b5;jQ1xlY^izW_l*$(J2DGrk@`;fO%!iud zu&=={zpoKiS5YxDY>u^VgDEb#p)zb_cJ|1y%7$d@4iuUP$Sr0Sy8>TzIV7;Nl*~RQ zp2mOSM1SoW31<8f>5O4q2kOrpTo|T5(|N0C{aL~JwnY8egmVDt`m-4&GxTQ*XjG;@ zTcsexKGWcPLG~=wpS|G~a}DGoQ{V?D9YF*%?U_jfSgHQZC0{mEf0m_8wp4#s-13;D z2u6Fq1jj5zvS;;Yi?o2ft3O+%C48vFGXh&wW`8e_c=am9pip^yhw3 zfD)}g`%B(RhW;EbMJPquGaBln)auX7m4~^tg~`Y>ThF6N{S>`j4EF@!3JcK|W|oqa zt@^V?8mK&?KU<|_MQ<1LlF}51p6)Frm{Q6Yw#**6tZ`oTvZb?|>*p6eG&s(~1#Ihxg^zkT=F7kRN=_NfAH8`GW22{^fssmdX%cSK9c-JB= zM1a@@QmYgL^Y#$1OE%bto-*+qBh}#DJbafUUkife#fXxPBCQH3%cMnko-4|iB7|Nm z@-IXBO5{uya9dH&N?gz|82>i`3gu{%=3vn`7de+AwH4pZ$g>#u40hH;7*ahc&J_2$ z$2sw?MxG`>TmtM`q+GxqBCsz4rZr&s5eSQGU~j-omt5uRP@eEzD6oiegK(u%#=96y zvV{FIw0EIsHPNUQ5N8YQmkO*FBW;;9AAb#cQmJ()u|(jlwX6k{BHGPHc@3LEXalv1 z=&V7f7P#k|C#3=EC{Y*Da5?hL10|_VRChD}kAa!LLgbr(w~O&<#hVyhZA5S>I55?_ zsz-0R_sbwan@F+)#X26L-pkZoRE5ZvCro<~+jwSe>i{FIRJm43DK57Q#RR(&SJ{nzntJlD0Hrh8E@Q6$1;4js^8ovpT z7(tD4P-&8QZUwi-IH{p=?n+=nV`Vu?tVE5(FH7)Ez0m}&od~?g{kO`vILY8n7jGKx zj5pP&PwUlsw7?j-vwE0(@u#nNxtP-!SD!9Cl<*lngnItV^a#qDAfwfn%YH0@*X}z=#dwR>HyV-KYU;PbO_!|hCTDAgVe^yF$ ztX29%va>d}3UOKM5!ZPQTZ^k;8l;WvYN;LZS~s!vYy&Qh*~HqR)l6lZ*%o#UyB2%Z z(3r0HzC^cma1u46mdF1DLpk3Ga2*o|y2+sAHV``OLx0K0`9WVf>0*zLFh z=ni%#yNh+OyKxWEz1VHMpFO}H#2s%Bv4`0s>;k*UF0oE#XAY*aE{FDBebY=PIi7x(6UxDPzi zeYqd+$NdqRC6EX4U>?FlIYK7z2;Lv@(4zPN9u1psERTaupTMys<2IhmQ}{rh%F}o{ zAH)aqAv}X;@+_Xsb9gS#hDyrFOaax@==WM6l>2NxoE@zdq+F9eQb=EoGbIx(jbI2Sq> zITt&ZI2)YrJC{0_IUAiHIGdawI+r^?!l}d`J6AYY;sYsHJ6oJ9oTr_A&NI%l&U4Q5&I`_q&d;2eoR^*b&MVHV&TG!=&d;4U zoL}G@B)@dta(?B!?flw#$N7!(uJc>xJ?D4M0q6J5`_3Pn51cK5{;G4my8! z4mp2uK5_o)eCmAWeD3_sIqZDleChlh?@arL^R@F&=Nso+=ZJF@2b^r?Fvd6&Ofr`x zuter#Ni3PAFh5IWX)K*(uwE>a^=4VD56i~Kq;pt5mdpCH0qg`eke$c|vB4~loy3N) zp==mCnGI(n*hn^t<+IT&z=ABq!mNNrSRpH7#jJ#lVPn}ib_yHMPGu8VDJx^;tb$dt zDmD>MVNYgL*i<%+O=mOMOg4+1#%8lQY%ZI}=CcKCAv>KdVrQ_$>`b|%Ba+rYlhE@hXojqC?(6Z;{%oc)MxW}s}!UBj+r*RieadbW+- zz;0wWvF+?;wu9ZmZe_Qzo$PjY2fLHq#qMVJuzT5k?0)tDdyqZE9=5J$yVy_IZuSV< z!yaXiv7fTN>~Z!4dy+lHo@V>lGwfOR9DAO@fR+eaZgLzGDAiU$cL*Z`il&2);9EaT{MiXPk4vC3krOPvkzH#FKdn z_w!VItv#J*@Lu@NX>Xpz`|xbum*?<)JeT+9xDmn!@)P+WJ{aFjJc$qCL-{a%G9S)I z@R58JzDYZp2Y8T&c$gRP2ruMCyqK5pF?=i^$4}wo`Kf#YFXd&toLBHlUd1Q!NqjP& z!l&|Sd^(@OXYyJ2M&WEehtK8n_-8%j~ zehxpEpU2PV>-h!zLVgjym|wy-@bB|W`DJ_~{{i2`f5-_Gygck;XV-TWSYFTao9 zkNu_x`9u6+zKj2a@8*wioL1$J^2hj3`Ck4we}X^BpW;vRef$~zEPu{Q$G5Rw;4ku@ z;rnZ;R)797-_Kv+uUZ56YxqV7=dbgh^Edb}@Xd}v{7wE#{+6}FdIsO~Na4TYZ}VT{ zdvw3CB!8FxmcPe;#}Dw|^Y{55_y_!tSR;SP|HMDyAM=COsr=9U5dRDRg#VR)%0J_u za~wP7U+^#a-}zVkAN*_nPyP-6mLK6q@o=v#9Ki$^xYs3IksuOCw~$zr$| zAx4T(IG>$tEwRqRds`=nd@))CL{Nl8SQLneC=^AaSd@q{VyqY^P7&k9sbYdC6=kAa zR9Mei&sn?hUiRJicFCRAUHCHWlh`fsiAqr=CW=YcPBB?b5mUu9FB!mGnpusTbEiJ@Wqsk)+XyB z(P%9dE5u6CB$`EwXccYNNBFY&h1NdNE;>Y~=n|{MYOzMF73;+J#5v+zah^C|tQQxE z3&lm^VsVMsAiggy6_<&P;s;`r_@TI5{77sTKNeSrE5%jfYOzIJBd!(KiLK&#u}$0{ zZWK3(?c!#!L);>66}O3<;&yR|xKrFE?iTlmd&Pa?e(`{KP&_0a7Q4hx#BTA3*drbl zkBOg(z2b54gm_XsC7u@h#53Yq@tk;GydYi_KNByBm&JbZig;DLCSDgm7jKAPh&RPA z#arT6;%)J3@s9Y7cvt*ZyeEDq4v622_r)K?2jY+7L-8l^k@#2~6n_?n#9zcG;;-UU z@tOEs{7oDdUx+Wo-^EwrAL48APw|cTRvZyWr6q0YNG7=yQerzgK_*I{Op?hmMfzo` zOq1y{L-vxHvbW5VePp)mD|2K&nJfFt0rCVn(7G6J-go7Ra*!M>^YFaXCDs->L=Kh1 z<(%8G zV7wK}#Vh1OdAeLA&yb6)ZTN!lR(vtwHo3&QRxXui$!b|6Yh@kw=AM`JvOzAB%Vncn zAy>*K*(_URt89~J%XZlzJ7t$#C0ENea;;n^zbDU;=gRZs`EtFyKwc;>k{8QM~rNp6=n%N_C- zd8@ol?v%I7JLH}6E_t`SN8T&%llRL93-P zDgTZ$<&VmL$gkx;(u5?{D!A*31Zjzhqrnr7L)lGBL-3+&v zo9Xs;vvBAw+wJS-xc%H*x4%2UJ;5F5p6Cv82fKOhN$wDLs5{I(*&XhVa7VhM+~b;r4go%=oa9QR!JJokKey?cRsp?i^g zv3rTT!Tr8_se75b(fxtD$^D^wx%(q`v-@NB3inF)D)(x4i+hcGt$Urj)xF-`=HB4m z=-%XRcW-ugxVN~sy0^JI-P_$e+&kU7+`HX-+o-22@J+y~u<+=ty=?oZs^?j!CV z_fhvT_owb&_i^_L_eu9D_i1;Z`;7an`mBPo z>wx=$`=a|Z_a*mbcfb3J`>Okz`?~vc_YL$29C`ju{JWp!;=XMIw6ZDV_FS93#C{Tg3+U2A7` zZEbx^r>v;01~t6)*6L1Ksd>msjr3JU$=pifT4}f@O^k7KyIL9p!BEIIF-p!S)l|19 zO^VStlc&hZM!(6#X|mxYCwDeB)zv3Wi4hxy;X*l0Yc8j0Z3tV&r$LOIVWMWlMHNI? zWy>--Q;SKNxxA}oS#^6?b5nI!r#sUKO`6%!RNb-Mq@7J(9E(VyoTITxb9$%~3KlB` zf|Vted@eF4=f))~3~A*;!BRQTNT1hD`aH_=JdKg0Y z>pL1d_qGj$c*O>gK*4n07)28}O2}Qw~-D6EQqp^mY z2PRbIceGX4*0(3jr9ev6(x&{T#%0y{9UZ|y%G`KJR-1~grd(E2!>g`0IjfB+@2icf zE9-Ot%6gqx)@#UDAB}hGiCsOlxMeXmrYVHNzGYEzzFf7qP*d@J=JMk z;WiS_MrwPFx(ZC?g^Q9_#F85k;iBY~%i8PfTbim{>Kbchlg^QBimUr@Id6g%vc+V! zrMj)PqqDuWZF#+Hi6bj0Wc8@?R?|FMyEPBo{7^kMsWq-~wi`+9aV#Q5vcm}J=%HsQ zSi(D1qwI_$FAP(oER$VEYF9U@T~rob)F``jqwF$`aToi(F9M9#8t_#s)hU72 zUx%eeg_4#<<%QDX8j+$2B^%on)<9~kIcZonDleRZ+%(m9bQmb9F`AWdl4)a_Dy^}5 zR>JC!`d}sDDL)~S8zQ+O(lg}c zhv-A3Z;12_kzOIvGer7@JpDZWBtJy@ggiYxIuG{B!IMM!28e%v%r7xoNB?OmvF!3uPekH`Ol=zhr zzf$5?YSKr%@+~DkrNpPSJaHao9o3DUwQEx;q-G&2>ucAVnk*xZWyGJ z!9w(;Ss7_oPMVcd3n-_WFQ*zQr;;zH8Y`!gFQ*!+p!5}_M+NCoLGmg{j|$3B1<9`< z`IVHulG0aF`btV)N$D#oeI=!@r1VvkzKYUUQTi%MS4HWnC|#9F7oi>(p%xPfm~;_p zaS>{1kpPt+^{hyM(vu~K1dZHCkkSW@-Vw8`2t95f!CpCda!B6@@sE(a2+4_f{5<_gUWD{7r2NpVy`Yfz5C|R5v4C7xWt2rUkULmA%3OAuax+e8h#PavX>H{QsPre zd`c@4yP}qeLOm=IaV#SZ%ZO7MaVj&MBHq|hMw*q8X62qwC09;0P);RZP9?rLUy)m6X1c(pOUYN=jcv>8mJx z6{WADbXAnDiqch?bP*c!BQ$r21WdXJjd_uPNgtsxFA^~6BLPYuG;$*}2Z;nJJsDZ99zFPGwt1V^eDjUxX-DiRih@5#p1vO(mvQx3yJcFQ~buuG*R2<;>`E7B*r> zr%^4Momq`+_VQLSr*T_E}(hMO?GlVeB48kU6dNYpzO#I3yeX;J1!Kz}yo0%wJN@vD1z$C|vYk)}(ZM#*O z))}la<0O1aZ^lc&l-~6IV3nDN1gp&W2%qGeaS|}4H{&H>N^izZz$D*T5%42=V@-lp zW+n%p_?A%ll@Oho*&&|zni(Eo;%mmoV3ipk;Zu4u4g#j~3sZVC4gyc! z%Gp@2V3ir);FEr490N@H6%hXd;&0|b!79^!f>mbz6s(F+dNY0jCi)2JVdh()C%$GL z2AI;B8FaA9j9>66pJp5bOnR8{3^27bGp<1&qBm9%FwvVCFy5a;a?DH^FzHe1(UHET z#J99cRBIzt1N$PDDI+B6>YF;N-Fh-X>kz?IWT!SkjmiYA)F!A&n;_G#%gUXWE@w@n z+iL6(YhT`KV#-6JLmQ(`7^5ySMr|-ewYUI^R%JgD6<=dqRLCG6PxCKeh;an;q>=`FTAB&!j2jZltOgR0SsfsYWyXmx%_PD_MSazMh4zm6x~8s{>Q3xS!_;=H zZLVo;>VwUT&g0-u@KXGXcq55M+Axi@VH#<}G}4A?qz%)^9Huoym`3n0joe{cLxgFL zAEpsDOmqD(jkIAJX~Q(<57S5+_S%%0>%+$B5`eE~81VH-4PVbR;OmhSzMgTw*CT(h z%Gi4Nl-{hdU=#J66~2cjer8PuJn=0ix?-X$Ci%rgU+mG5{9=+{O!Cc43bv5=m=PZ^ z@i8MmVB%wD0MM7>O^w6$QF=4t1EzR0@&l&yW-bVr^e{6v@S}J$2ZimVc(Y~%O#IBu z4K|VFl~BITE(q|HZ?hW$nDT8_(|{@8X6*^vNPNs%2QbMoYaPI(ms!IACcVs>1$q-~ z=FG6E1ek5+F|CUmZDHM^CDOhqO( zw05;?WMV_(Dx&LXTw~}uV3k`;P(L|i2wNJ7VQNfVeqBpzb3EMA)!gons;v_mP)Su9 z2D^iy?qHaBdDI1Q(Xnz+LUs0ZKxIz_s1#JtWY2_D_B5T!o~AR|(?OFxO{lY{LTU&J z1&qmrubVP_-DKeFrVL*<8Th)3z}HO%zHTb;br*zRV(Lj1jMiBPl+G$ZI;)`3*@TqN znojAg>5R@gXmr+uT4xn9I@6LMKnvagZOsMBNM~a{v6)Od8?ywMbT(!KFttcC6$=H8 zS%7cy95iMDu*q}Km<7Nl&p|V_16-PjMyT~&o~#><33nu^Mn~afoizfe`c*aP=B(}o zpbXVrv|s^6s{BSH1IU~PobuVK5UMK8IwTY@V<&vAR3Kn%0N^s8z6G7%fIFc+%|B3- z-`S8@-O}1w-&EgNZRQX~y03?d%)AqRNyhTExcS<$)OdP_K8sM*xN%DNY19^fMh$p_ zS3~Dg+&tBknF_VC9{2m=khz3xSC6JGMaF6{8){tEqElqF)wegc)-5%jM)mE6ijT?e z9#emISGBpL(5HKZy4`5>A^h20^&Op!twv;8Z7bHwOSP-1vf>c`3LTS0$zzD@4m@FJ zSVTi6Z}n?xG3i}uJd?L>sQA34doi(0#bcJn{Q3ZPo2K27qQ^iXkp0 z+KO~czaBBvn2ZK-ak1KqmlDG+ZLe?6ildLKgX}o8S3Jk?j}>=L9C=qu9olYfYkR#; zkaygu9(nDh3#NNnW*A(2L8cj0tQ5225KCj|OoOgLKZ`>~!8l4&4F#pCChv8vt6TDG zt2^q`y-Y_j$)?=Yfu{QQ6t6~=#ffFBI(?^Fot>{^+nF}gn8I$I2%5m&_|q<0)DMwl6gjS8c>H^L}6)oV`$dYgJR=qQ7} z1{)toY;uo{i7C_X*vKf$j94RH>g6a76=RYahmEFAF_lSojH%(6(@tqI>t_%t)aeYA z>NPt`n;NZU6Q3R{K##l51p#T%CQb-{9HJvom_-#BH%Q@Tc2Re;3QTeLn%3p5ZhIFe zm`>1D+s{+1d!JR^p)l{5xZ@DzM2X@%xK5uPjWT)Dx5^dcY*S-iv^Fm~#ei6`EbVS8 zRp-)k7!3PnHXR5?d<~7uy4vgOa7<74|4OqX7OD)Fro`&AuBIu;>%XuF`Y-~RX!DSS zMuF56ZjOc%DM3?h3WccNVr;2qjNvg`l9<=%DMmP8wnX6@U5m^-E>vWe`7W@L~EcYMpPi_aSRQKo;!JCn?d#JrY4as>uPLjs&7^&s4#S@?DmSHV)@BXxDFiR z0&P5*M#acfwgX|h$sVR#T;Zz1q~@-U#@gy8H8u3dh0#iMRpRwi0Gla!VYno*qqz~fV?LSO*s>}Lu#T=4*?^;r zP4!$k0>x5S&ug2yYQ*w-SacVw)8^KeI;~$(Fr0y5v88o&Q+?gC`r6hO+`~6n2p1O_ z1ES7lQbcxjGmKdWjwUXRhIGHv%+OGKVOneYoGC-qS$lgpR9+05tg$o+h9D#}m*$rp zhgceK5;DDrc%)7qkI?D_gW*Iqhi%5p%j7l~EKI7YZ)%FqW`Wsb3Kf_=r%<@KECp+L z%+iUfH%=h6H&!pJpIzVC)!q`HHXI1|uB+~>p4Qm1va+MLy3H%66m0O;cY08!fvQ^D zo9C`>^@_5tepO>_eYq*|DlEGxqEEMonJpfdzTNP1)yn?3DPkge)wN;|qP<)BWh`rI zt*Kwo*tvWg(}_i0&EtlVYAN| z3YvXk_-4%)Hur`?;quDVChU5|>6z1_ZqZ@&T6#=x^0(BlR@9_dQcG8~1^U~Xx;mCB zN4NT3Q80!}*SPq`oknw`=&C0x4iUF#$)H4Ws7wzP&o8$JvRiu@pcaO-9HRwp{5m&7 zM|T^7bGo6rF-y@==)pR-=^hka3-^x490wb(b(*F%E!>!lI7Bz8ejO1lHuBAZwnjH-m z)b|3BtakK`_PU;(+~2Xhv7vLa*Pl~0IJ3($Ny&P=_soQzZO?3&RFBQqmSu#^AZ(l= zOYi8a!I;pA=TnF%JBI0Qp|d*Hw$v`i9e>!7$ygf^y|F0fZZe+HD8*hb?h#jD>fhMe zGYfrj7pqgv6OOS?391)hVHZf$4O6Y*e9et5Fa$bi+Mx=Xc+6 zdf%sej-uo}bJeFid6dln5AXTi>-$6x?fJ*l{Xj3q^Ly4_e=oxGyOr26$$Kh(f|tzm zdz5G|ZMC{86w+?5T;dz&*rgYw^d?q2DnPu}U@LSbU;reHbIG zqq?aSm!zj&ePfb(D3=JkY?dx*u{pIt_|O?BuE$`G)psa<#8R+7E_ny;AS=Edfkuh-b#xJBEdRPWln>v**zeT?B(F~z!vtBlb?J{*Xe zj&9iOIJ6a<3@gs?XL^?U!~FJrhEI-);C9)n`7Fbj?(6&XFJp}{Zyj3gk&^z z+<+c&vG$~+`}c^BHYpvewNVt^T2=RiJsXye&Gp#!Xj?i`+xTNS>iiv-n>O0V=HDnn=sz}welpO8&_eujfG=U{hCJHE@oQf^GTP^msKg+e2kZas#~$vEK6?YxjVB@hY)%6;ZmS1jY^20TcEiHK4& zrFtq#y1yAJtw^YEZtGl&2wzj{GBw%3_CO*9TidZY0UOa#U#pg80&M{g3ab_oqVwzl zb1F9!Hs{yin??~f=h^_9T!iU9UD%v!L+(wT1d6C`XlEo8E=+E(SI-<9ZT%jgHZJNr zQ*cg*bVG)y+({zUe%PGoLV26k5jJ=I0aIfv4JEhXc}wt%FOSlMj;`9}oy)5`{a&mQ zX|hX|6^b%3l^F^YB;wc?lth0ql;*%38X;w@v^Wt3rp`k}+fyV34X_at&b4}j%kP68$xM-;`Bw$w#gcwwD*z`rEb(Z}VaxthX@V>{w_oQ@^c>7u!a#dlZaKX5-Lx?7&y zrcS(wpbk62%602j8ebXXNO_f1y|2lbpon>LAQUm@(BPY0>WDdq2G|&{h&itY*fiOQ zIUgB{P!o+%6OB+4jZhPfn6uIlTbYQx>v+lLlrcD(F)dPX2*2X;fN?+dJ6fufraLu>ujg^An-rF=Fnrgy=yj_@=+ngHoZ0IT#(H2b}<$ z{ueO^!GR~(9OewsgIl49Im8Cv*og?8iiyxEnTR>m7K)g|cJN7MbKn^;Wz`&n225F{ z(>IZb>DLiDeG@SUo*~cJgNQjyhjf%5bMP7QB*z?-22A>!Lv^4xb}B-rb|U5wAn;V_ z<{&lFmEw$;D%zUXHO3B<2K%pG-q=|`2W`GxZ!*trRnx_~^49hij9)}Wd}t($&@daJ zVKze3o(N5YB4mdnWQQX(JV(gBM##QK$i7Bsvo}&%Hn4{_(SCm#*^izCQDfi{oY;ed zCeYpNUs1%mu1ArIyB^icy4vQ#!~G`eVr7NN3a=2+At+KFNb!*E$_l$WX;VWVZJ1-M zJyr%EQ_90m&>bmyZV=6ynu&Q11Kq;R!y@LaDdGt>XMO=wv!OY5 z#GK^~MQHXJG3WjPQ#zWpM(B<#bLlA~@bmQc@<+{)rd<)bH$YDvL0=l&%<~%P{sf!nBmh(QHqTRlp1LKiMk3~n zGvpE--Mo#M=OI8(-I@;D;bVlRKFnEG^t>ndQ1_d z0zC;f&vgJMn@-12BeWWb&}txJ&K84?sPgRd6>IMS=xGAK3(UGZU zVW8G@hM3+70b(D$WCOuO^GX(lq!(i#m}Fi#qmw1q;^qF>WzaxMw^u>n9yo3Y=m_uq z4<=*gp|U`T9##*PmFVsMK!x!tjaQ|;LW3+cNYgwk17=nLU$+PNy4l0mW~Y*lpTehj zv)Hc;nAHY+!kg6wV3Q6El!ld+#J7_8RubPzV;&H%>l?oA{_wTggRi?QeBC|aYqJHv zj7^(7(beTzyOyh)mB|F?^0DxB3L9T-Nrlhwg$n(%-vIh6ybXK`u)}Z-$CsIHe7ayM z+-kfZ(8hZkFGKuByd~MTZnAy~_i^hDxNqW(Wwv!deL>y&#ICn&ypehZ+$OsPZY$n7 z?cgob>Ko?U?c3qrY2OX^Ui%TakJ@|TK50J*_i1}S+*hHAjW;;I3HL4gEx2#nzk~aG z`%AcAIRf8Gah(LXJ_q0Kz`K?6;Rc+EaHlxa;Ldbr!adEYfm`R)!EJCF;4XJs;hybW z40nUG0q&*F)o`zIZiagcJHxW^j@&chE@cPc{*iqM_aHlH*?3PUB;qZd$#C)RO}Kd? z5AG@A6u75~Q{mz*ns6&bCESSu<%qXr&V#!^EPz{w_g~t0KjoEhuNIK2-bo4fpa6fo zz0n6ZS%N>_tvC+uQi+n6b$H*Qt=?B>F}$npQiM0Uo8eyNUIllHy9MrbF23*K-s9eb z^0)Q-+>=qISqL+{=MHbE1I_`Di}3mM>s-_T{+5-dDRU4)sVK|@{M8qZRCxUbo37q| z&x5-j-TU~nFTD8DE3d!x>vw%XKk}&Mb)&qRzvOD z_9m+V`z0%_1{@b?v4*T`Y*}tKtXsQwEk2x3Vfjj{rVg|!N*7haEiav`+}X;VTDl1C z^qJG(;$<>$XV07tcdn+v>%I`i*Iw{L?@;f>M`<=!x39GP%`2N%s&7gWR{0M44!3;i z1M=48y{A*zcr&G)_dedfYUh1p-vNpWaKPtHbzd5$`_gdTm(J9^=tA_Ohmq-@pfBC6 z`_e{YLe3^&8dCx6z~Ues=UIyont>3U6XZ zkHVYR(WCI*b@V8_dmTLrZ(2u>0tI>$-n5P$g}1GvMLh8QTA_CkFtM@9@XDI zgg2EBvp-dDCdZc(M>+ZSH|S#p_7S|3d?Ma{j-H11o1cbvif21#IW>5fIr9o|cveQdUK4&G8d7w^rUkM~piRo}x~ zv(fkP=4|vmygM3wk6oww9^0z=9=jfW??kpu^*45d>ND&{)o0jEs?V_Ps?V^SRi9xy zRBvIosNTYERlSAXt$GVXFLCctZ<-#o*NXUb#wDGE>b zXpZCZj`wWR-{U!WcRbfvp5pWOFR+L3=1uc|KN>pZei{2Gz+8C$Sg9mlk&qVqC$^}P zL9QQ57?_-wFx=F!FUR~73KVQwCTeu6*8&pS6WYD7@=@b667EaTZ9ZX7d`yCB3AZYY zFD)K#!U;2!pRh2YMsZg>6V5R)ilb^*I(|=go}kh)5;ph_C2UUEtkRlPn)+6y3I3o- z*q5+B7NcX|>H#0<4kvE&?@c&J|HG=5bbWI8vrL^OE=pV!t38yTZdbbPofpHaG9A3z zzaueQwM>QA6oXzQg|D(ju6TdO-$S1wlWO_qP+P?~!TJh!RTJ~xmwXS-w_g6LHg%zC%8(g=T zg(}8Zqy8~^jcf8<=-cGm=DWwY*SFvIZYAA^i zJl{vrN2oc}!k<=yiJntu_WIwf`P zF>zlh8-i@9Vjn5ULVO zEMM-0m<8pp$2UUl6=I3IKDQkqydxel%MnwkVw^njO!lO{+Yo9L&-6Xg_X>nQ5YOOK zewQjfJg4v6+%X8%@SJ`h<_5sweUY6z9_g7gk>`lBa&r+{%yV*+b2AXSUbI-nxrHjk zbFBP+M-ZwN&+xLo#U^C=`sO2brj~v^B>DOd0Gy=ZYk5x2fPOE5vJdjIrQcH)KKh|F z?zbB>DVpXiv83P5emg-^1e%(DO7~L`x}qO+xBuZj0_y#s_G#*KK)t5l8ZCQCpKbkG z5c;)P(kHK99YRx)ZeTx@i*q_cL;B4^XtJp3BaxmtO^|H$8;4M(Sdx8fzYs!4K$qQb z7(xNDBgPk~F689veu~RMl!GtlOK{B58nud+?1lXlbscC9 z=eV$qVbUs2oN6WQ4}YUxEhr_YNyPayUTgx<^9g-{>a0bc6sP)zfh#Rv3305R(! z#md=?&~#9Lm7`W#5AbBb!*$FmgvRSo6GF4ZGdYX`p@s9$`G}glbJI^g`kZu zN0mx5c-7^o`fo*OM-J-WIgRJ^ek*5)3W=89`*WrsG)uH+eT5Z+Wfg0^7HLVCtvid* z9xP2gS+rz*m6HqHc#X?I=rNRLLf>}~dPdc9-`Bw*U2|BE63^`W6k=}BF{=I(b<9k$ zr1$*3O85Dy+;!W%7r5EF?Jm(cv|ZaLnxPRs)o$UFO86DPW!49f{S~{Mfsr z9##vwEUg{*4uZ-7mQ9*+dK4B4KDt8F&j7_F9e4gon9oC zWIdaW_HPv<=3<6YJi1Ktz^c=7G>>pp23PRWFBK1_bWTw4k^PDuZzs2{WF3ERlwOy` z(fLu>ujxB9{av6>)AakbPET1_J8AglD7~xTZ~vz0*MVM_`jKxHJyub+m8#;MYLx3e z*-G;xn$s$9;wt9I8#?6#Q0jhm^x-IHsp5~$CD_8cR?(lW>C-@;0obxeDy*_9ectJ# z>c3F5^!ccdvKH_0oUFrro=50*v?5=hy`UbTsfY5M%uoB=gP4#UjO1AeWyryOu4Ss7 zx5&J#z0N+={JS!*_r(srQep##I=K%V#%T^C46L#yX-YFNS`q zLn&_SvpSuP2#t^zWv+8n&l)Oj={>TKYVS|Uygs?ke1!6m?j!7gFdMk6XPq+O&V`hh zoIwb!)Kan`WrE^r&(cx`KuT{dWi4{FJxk?(CeO)OpY=LIi;y>;GX`l!Ynm}~a8{Eu z95Gu|YWo0ULOO;6UThdA`Q9->q4fb70H^%l9l zR|V=?rMW1B+vpR{OmU0l%TlAmSWR=TPJ%Fk75Id8x|-m?*!jCz>edlEwD$y<9}(d$~+(S>3K z;Du^b%urTwlvt8^uy-Cp)iN(*lcj9t9GRE)6!spN{gBMdEWpPXnRA8KMD6zU*YboM zowf}cSk@E;+vz$Fs!wDAwybFi>s+R_R5n2MB%4M`)KTUtq_wSHnyOX~&d9)*gqTw< z2WKwUT&E&N?WE{E5$uR$V-N5fN3}MNJ*lmV!7Fi@$z#-95lSK=!$Td>!-3A-eB z<0~N#;>$EQwS|`^u9?Yc10etC*hlOkJvNx?#XPudoo||o-EM2C$)O_ zWVzlwY1F$XEA;M3yWTyyRPUZ_(Yq(t>fMvuv3oMuz8l|n%eNoEzDdM>6yI?xv!BFQ z+bZmr)OXwLmmTb(VCMyUDE8}W4+T3f*h8@os4ueFzsDEZR@#41Uu3gCz|4$?91GO@1*(howTR17xNrD!x^b|Rh(zAt5V}U zi*J4%a9-4VE0ub0Wuo3&nWXntChNVGDQZWPP1QRr)6^~|n~pF2%wnfu|FVwFRbTO8 z^TdzE6>I^%sI!%wu6JP;>0OvJ^e)U|y$f@u-i2AB+Ccgy)G~IN)33m#M)yUcFX~*i zy^8e~TbjDrvcAiez7FZ>O52W(bDS%EUFs7l=cQcg`Kfn-_jkAyU;mzCFU7}PG1;CD z|ISaH2D!LWu1MK&%ym!7?tho|e-oGT6lBI-{x;<4I9J-{)F*mg{~Njg)3mDYyfjKb zFZ^A7{}JTtI2Y=bulPj0*$zU1cld zulX!S`uOW0;Nx9csUd%l>$}SO-_rSqK&S6`p)3a+@A4O>4mjR*yz*5zf7QRZRNYfK zt8((nQ2Ck{Y>JoP)N#PYUH%3$=&G`hw+))dRk3tl`eS`%6Jm7Q4xvBAMNS z>~YWdc-X%$R*x|}?3&6e^(%$<@9%NFb-Z*&Rw`yAF<$>Ztn81X?I!EMe@H`ZH6}yZ zofx0AxOVH|JwIMfyq^BUvHZmA136us)R+K;xiSRYekYfql>uo~OqVa?}l@C0wucDu)?BCaRBf|X9G zarWHP(a@%zMgDr&x;9+vy*~1t{jK2tpDyG--cI!lLoV|ApRd$isZac;>v(1G{~M>u zKJ`Uh%KvxQA;hceeeyjx&QC*|@!FHpI}LTGVc7hh`S9w}^ELf(`h&+$`~RkY>hy@$ zIw-j$)8h|}L_K|}{CJ-KPHy_Tw5<5}w2{PL<@0}XRe}D0aw+})-G#iV{C%gZ4Rrs5 zOXc_f=jE0C|5k>w)!+Hr0^0w;@IQDX&VdQqF21~;BGJ>$8Vj(9s^GC4{2N@R;I(4+7C*==76C?8^Z3GN?Q-t z$c(I4@L!^EmV(*BD6IDb*+7D^!=U1^E9RwFyJoht2r#o>1%H*2+4sOzdktD&yFiC( z;bxkU^8j``m3*@srtiJ4dX=Iu@?INrx7qbS-Bw5VvH^)XzDWnBgcsO416l=hYDus^2X?xWe6EVxvk*KDZ8BgRd#MV05L91TY8Uu1z@KQ` zdG;9aR66CZhhyp8cy3I?Vv2 znXg0GJ!1oONa>uXXt2wNeA;UN551LI&>Y~tM(dT(0{h*d#eTe{&U)oq6X1F$zHsNj zy%>ARC{0|djbrZ(r|A^m1#oxc!fv8+u}8z46{<{h&W5fB(#nAA$xw&4lEL4$hFJS> zs;TE$GKRBd*SWXp)HO(}uG!?Pa2dfK&htH5)rME$+JIU*qW0OXxqyn+Yh5*50r(^h zFI0DPEVaYC2ca_T9KynAnt{;I(lqlmtZL~*z}Q`c%W%|UfRzvGg=$|}>pDWmma14_ zTR^GG^Artts=Hg7$^~p$mD+^_d=2~g!~^Cmni#LnqKWb9ESeY}JBud9tFvhMwstO^ zMVp|{qU}{@(d=S%7R}zJ&Z0R1br#LJN1a7u!_-+ccB?vz#s{jiXndPKhc*^6agPQ$ z;P@7|v|QvQ5xS|be5asxQ=w%#_Sbr$mV2Wm^ubpLV)&`n1bm0N4Bw?yXW;&?We@u=%0BtO zD0}#SQTB-cqU@3XMcJeNi?Z|oi?T=m7i9;&qihbFrtHg@|6|+s-7H&0HJ)*>x8gDP zPJ4%XyP(rnTie{`tWsZ{brAP+%S%*tO^yd1h^6Ahg--p;TEwRxW#NB+!8iKy?Tg^gd1cb^?q4atX?+6#;ccK zvx?=b8|&B%^%YGvSG$X}dzN+^wA-ZJcI~dw?s?k1Si2k5tBKg=R(Na+-tE-Fwy95F zvRl=g6WCpNFGP?%05`;Tt9L}Oy>JWIvv4EqCAfv`4Y)<@ZMenk0NfJxq52Rs`&>PA z&z%l@hlD3|fUboU`6!{mA;Ub)|JR4wrAmDe@bw z?bZ(5h23f0iTjH8S`Szc;a=h+)}z*5>j~>A%y6Eyp0{4KUb6OEuUfC;e&d_gTh`k+ z`S4rofc3uhf%PZrW9!eD5q@U<&H4g!#D7}fT1Rbe3p>ruz#YcE_F#L6eX>2$9&Ly0 zLY*Tu8*%JvyG}ti)yKUM%Tf6Pr?a*$gcDuBz=1#V~ zTDxnsyH>mFwEI2no}*ng&$aFK+PzS_7isqr?S5aomudG0+Pz%6SkoZYX6^o1xtNEj z8I_rfs5rGAQZrEH_R(&(cKd0!w|0AJH%q&!rg6?gyBXS576B(c;5wMuq$tQ9r(HFV zx9wB3J07lMpK4FgP??6x?FtQ5X=su?MMKlza(lWx(>~3{dd8CWJbM97(4S$SX)je2 z)Y6y^`?cHOzLE`-m(SjjG(4#tXAnP4I+C26JO%$6obubB{7H(FQtZFae_zTQDR00% zjBv=`>AxKQUjG6A=c!exi&8(x+?Ba2^~<#N%1^sI-Iuv5JvV(L+->Rar+<@Cma#bF zSrwP@Mz3>vH}!7nwK3D5m7kTLnVY#2_ zyNcf}e)q&Zg9Z-D$G>dQ=0P_OdT7vBgEI!t9b7ZGZScOq@8%848<%%s-c@<8LZ5>t z1x}iB()N=c8j>+&Nvc;ZS&5_{Q*_0$Gq*Fsxt&^0J{|f5Cf^ zyvX>-CgkXjLSJEC;i|&Th3^#}Dzb`Z6fG`lD|)Z!tKuoeb;YkDuLn!E;J<5(9Fsj} z{g|y|w~oC-Uwg-XFk#VzODAlfuxG;S6TU1>E*(@_T)L=qdFf-NZ7M+#LkJ+CY}ZN(uq4K9-4S)k~OIc|3#Cw-27SdH_YEY|HB2=g4qk27VKECcfltMK3V829JsJ<;kt$U(R)-6N;;S1+s?B4!1^t-vtb=`?0$BxU1P7Z zYjHlK&N_rA#6Gv{?Ui<$eYW$6v&XsC+2-8nY)@{ z@4plBQ;__O>O*~s_s*ZI%+8~h;uv#^CDnBd|yahLeDctiX`ydoYKZ;D@vcf@bR&&2EE zE#4|V79Yzl*&v(v7V(S>xf|T8-D}*Rx_jNn-6!0q+^5}r?lX91;yL$u_XYPauzz?? zP1j^9?5>R!;vnG4@MjodCt+ny+vsh{m<_8#4lQ5=Ui*@JS z7)5(yw0sq-&Nr=JVkGzj{sVAM>LaW_58^)%|jv+dA3V&qi1Q_ILJoYco5_j#@wF={()Kg7@S7tSk8-o@ZUfhwu^B zHGDK5ZQa19^Xb-&yp^AA-NaY%Rn`u^j-PAY!Y|+#Shw>Z@E=%r@GX3cbtk`z-(}s! zpXV=Hck}o7@2vayKlu^s0WnkzwRVY+2w6W7Q^izkw^%7!tVhJzqTTwbSS{9AkBf7~ zxz>~75^;(3l-MXXT2G7n#r@Vk@v?Z?dImN0n)R$KkP+)SIayA&UXYEl(RxvK$WH5L z?j`Oe*30_Iz5V*hy;pDw>JIBwJdt#t^%|a|dC+>pec0V&z3Kkh{WInpW^BSUWjq11 zp389t>Q@tJ~*`w@YyBwjxcD`ML(VN?Om?@31D-k-$4%lPuDujmEL3^A% z5uu@&MV*3uFb7Y;osCwA=TPm*7}@7xG;gunK{3UiWzV-4BQzD`{Q~<;gr=FYKxjH1 zB|IIYKF9g4x%MLaEO2VX{K`QKT!}WXo@-4+OZ$rbgME!W`gu0m*GNmSZ_#7>^1*x* z!bi||b9f%lwzV=67(_Bktz+@O$|laUpgrf5ac<~#Un z{1^O9(Izeiw@dkb{C@rb|0T3q&oATG^BehF{C)lb;?*(Vx2fgtQQxF4dPPqka$?^50+KJkorRy-%37cYnxVY^?I%dyj#z)$Bt73Yf!#P`L|z3!O7qDvi8P+W?>(xjL z`wRPo{gr*nK4YJ=zoGYj!M;Sx{RXY}OkT$uc@uBvYx((nBj1cx@*IDKzs-Nm-{HUE z@ABV@lf)1)8rmNc|ByrEP&r(Vl%r%wPLeI|{d(NcGXSj7Qu#sPZY3WH?dWx2=Mm;l+u?xl> zy(b1)S72{cBF@1$HwboEonN#uGAe4E{fBFFoE;|oaKigQZ$m4y0wT_qJbFmu2VtyI zd+LTO?hzpMNX@};O-2~$QNtczv!1fB&kMZCiKdx|G1k-EK^bzp3v(%4z;av@!Q)MY zJPk5|!zh9tfK$%an;cKL<6nx)qma-`LC0kN?=4$H;~rbCV~JGdsb2grALZ{5g!% zFYp)RTP8;9Z}_+Th>T!Fy$U1g9T-9Hb?f=BIUbz3zEQm?M>8R&)mDKG$NN^GoX^ zI|=qtOix< zGcn_dqsLR@%a%Zo7 zDxD3hgnE^#g<6=yDV!trYpmgO0`Asq#r?IZoS(l8{$*2nZY5h)ZLlR8MJ@i-`*2P+<0zDaAe zMoLYIHtgU6Uv)3d=&SDhDcx|#4Y|sJZc6+3Jf9RT1EaB}>RXoyG|_pmaDPRm&c@D_ zEk{9`)(LUyN4e6p2KHi=RwqSuv+ey>RZK5?iPq~ZU1mApT!>hsfhmC~FW6{Renzqv zXUfW}%ac`nT*(brTIrHdC92}^gaw6EPk&#>8GEQ(n;p>FC|BZsQ} zRJAFzWZhCsz7$4<6kqgL)NUalQ%*hktNWc^KQO6-N@DL^B~j-@$t8)D+h7m=9bVf2 zeUyK3yVgLpe^r;oXm8QFjB@na1uO`)eWOE|@?%n{JE006E4fHi1H0G<{XMBp_(R+$ z4B_vbIve%~VvO?;_Bc7(-iZ^p2)2K}b=;%7w=rE!TQW*wZ|;^-0*}ZBuf}*6YhD zTaS?1fkcY37K@d&sDBiLa}i~W%N9F8fW`^U4b26e-WLRBtl|`!01WD0UBIbvQSlmN zIc0<3DjeSHqHs#1GI{hgt&xkm&qJA4V7Ag=;Ym)*F5DTtNTb3nmQ%O|u7d5nClJ3u zUtT;-lH#%{tnRJ5qe+K zL&xB?77JcG;gb)|U z3$fls?j~%CUZlr_b1Y}VIdDC=32+lyw~~w%fH;Jxyfk#vwX z4Y8gDaWIp4PN$fJejs5F8Gn=S()Pi~1D;@;C?_Me4>n>r+9!=An6oQB>IdEi(y)WM z{M*2>ZWJD*G@YcSD}5bk$M`PMrlo6|c>9!M?7Mze%W`BVRwE{-mNivrB-YXB76RVE ziolFGipsORQ?-63PNh{PVam!$egoF(Qt(tQ)zrV59VK8#Aq{iRk+4mZa9?LRW}~o9 zC=+F+)KAwfK{nrb+_;UPbNFt)8?h>dI`Ly`$Z)f)nHq1ns`$8C3_PT3hV%^XOG^mm zrVY28F@vC40&LMh+=&{GyezU-SnI%DC>``4j1Y#cAxQbEXL@if*65{dpcjYLk!mHH zgE}{(+l-D^ICbyBqgC)+qC~3;4g`;ADdIG!8q;c`a|AuE@H&;6*I})teyR)+){xg? zyjYt*gm@cqO3r*uZQ>M+H&{VS2fGf6N^w#&CWIE1s`ert;>)x?ezg4p^oT|1#TVll zzB_Pd?N#ho9mZZ&t}2&t;DO5-_Yhp_i{rLiY}|JB*BGaNJ91=?yBt)P!&Ovl-1`1Y z(uM)M4%l^Y71rrLY1|6n>VT_*t8jMO5MVG*7&i;9!a(D3Qha zLp7-DQ-!<1`sJ>3>=cw^r zye+0P?yag8NOl8pF+OK?%g17H)%k#}QfCHrK2%skv36-<*Lv~jR^ru1;Yy(y+^`aN1#vRVWx3Ii?~c>Z;7qBnB@GlVP8#+c z+jR=HBL{ikQ5yQODi3iuPMX1KX&Bi}-V`oQ8utFy7-@>)J4;h-P?f$J2NgfdGB_;_ zb7CV+;o_vpHnGk~Qxx5#dG&g{l58>3_@21DVeZ0dCB_(RnN-owtZWg%u^lA_@Z{35@Gvh`lgf(Piw>vf(wQF4srIM<8 z3u=x(sHu!5?OGq*<4Rz`5vQz<(apyBQe~TtFMSlK6di*mqfnm+lXSISwJd$gLRk>R zDR>p!p3=K?jFzsg&VyXpA(JMmMbVAGCG;4f)ovW<;w&M;WC`Q*x5m?o?4Ca3K`E71 zYDPl2Eh^MDilCwEkCm!cduaJ;)u(>SDj=*O)gM&tE35@eWorm4L=B&-@g}8;KaVIe zf(^~4b(_kgJ>Vc>dggT_aA?U~&C|4071of0JDz4tR9vC4hRi(A!mga6HYrv7g)ylE zE<{~KOIYdKQ>t}TrG5q;4Qe5CZu@&0Aa)V|8e&&a8Xs= z-}pImgMq`qa2r4r#8DIkQILxl1RO;aMG-Yg6hrZb7feMH#c@!=EPKqfe6lRd^3h0o zD55A0DU{SG3?-4GD8x_-DHOwbzw4YcFyp1C_kEw=|NsB|JK6|gr-fOSD_S$Rj zp*|v!=kuk>HZb#z4Ly%sJU@QKkrr@hq@!;qj;^EnD_yQ-}c)F0&V!X4gsUBRr z372ypzNQ4;OuE=Kui1SM{OtmK=xMX@)cTQ!@Iv!h>tUbw!0(>PnPz-@df;0-g2P<% zd6L!<@Hled$#yk#iNZm2#OSlaa0G}GDF4U6qZ`rFjTY`;qQHhOAas14qm z=Hx@P@$)X?nEp`<3!~tRxTg`JXKqC)l!IoJWNE!Gquz(P6-so&ccgU~8_Zzg?{XUE zGyu9EvLoP-ne>1JTEH~RGxhm@-iMD;M0}1Dczm0B@Sq109#MkKe0~SI`(Pk?40!-q z*=1slr}Z*_&&s~FNT(cx>j3}V&7nMqhbxg?2ApmVABy>v2VlO^jrod%h*yMA-J?Za=B>(3ef~p9{s8 zJ&rVdaQ_bfOU&eNKplJifactaGQY=Lff0>&cajA%vpG* zZ&Oa5Q~sI3$x4Eh6p5IH6v|=J>_xJbc#_C6P@s^r@#sVkp6Vxfe^|dLY}LHR&|lO0Z}C1zY;y&*lxzpBKElQaJe)nq`U&#D zpUQ<&tjAjnJLoP?jcE)N>qovED<-HPSWIRkpZPkKcMU(Xeui9v#l-UqtATj?0N>P0 zFYr&M6oF@d12q1y%9Xzmbs|@h+|5n`&0NPSfGnf7gEGF9Pl%0W+SNX zmJORgliT(i-?g%#Z9TBebD&S_D!xd#twEoQCRuEkIvu1Dy z5Lg~AMiSgr^uVPNQNDpMO*7n{c48k2{|rxeau0l&$)+{gv1jgqzg2(_Z;d&8LFU2< znjm4k%|h0kKrL*s?t8(;V-V*h=neAG5Jy6aSV#QmUM$lioh+Phd)ff2sniDduZQY`t}BJgGInX{B_ zvo^X&eBr!??wW)JY~qE+JBGP<5B%*SFRT9+FXu#PNF zY@ai0qsNeD;dN0=Knja*`iK08U!;2$v6TWm24_jq8_Gi|bz(Y3ImX$1of=p$v854h=}9+9FGicwrbyp*vV8Y!PayQ1)04T=NlH8c1+??;dGd`Uec6&ixVh zfNSOtq!bY@^+fo>mm-CDDBp+@nLR1cf<*fgGyc}|?P$`iWDyeWI8q9_R24!)$xS7aU?K=(BE zntV&9JSKlwn+Vf1r+JF^Fbk!6_`YB7@))~&2H8{h_L6o$Ci&^1no@{<6RrQg0G}#>;$S=^qTFr$-_B>66 z9wRC!nrSd{&wP9| zoo~crxs7kB?0H1MFXr(&;(3(WJ686*fQvkV4kT#|(y}RUh~n|(qVJ=3IFiogc~U&aNF2{&rby4M`~|%G1os5@PccUn(vFEK zJ@|6bW*^9Q@wFx3h(y!_)ulJ`KLI={6As6vupRI6^+vWdD~ktNNmkeKm-2%rxiAJW zI8%mNvP8h_I1Fz-=P?U&%O0uu2lDVzBYU=+f>h>R?EN8#=u<4|S?V*we~B24?T$w} z8N?a-&2O9Y8A=`Q@L z8i*BUL_!+ICDgYE(j~GlWM?5MuVMGfK|H;NZ<3cFJ}&M_><2Hv?n4Q7B?huO>{*DE@iL-9pT|d{+Ub6lml9S5iJ_1Chr+Xjo*_4?rTFG$le}B*kWc9? z;+RF`3I0NM+;j1sQmpXpjNL!4^SgGiXNTVpL%U(HYlYu~g1smFE)(o7L1~F{ro0<0TK5@;<^|V_0Q5-cjv|dFhwCsh_5yrwFSuRm$txMa?nd)}kGy4Od9#sLi8$;^H@@eAH*m|QBiBp#?B#Rv zUO_ey6bwe%RW}29lUNU= zvEQwaSlddz{=vVSjqpKk8$MqkbCO}LDTb3E2>HN;^>*RYoi7Bt1z7G$i+s>e+#2Cy z$_M#f1>QxiB*L46lz#~yF&|4&e45Q7G@<{50;A}u!mdh^7cF2rTjYTRv8mlD=ocg{ zl-DX8@KB4Ifjl1^(tt|i!ALY78fX|i@IBcIwQU7ju(gHK#C%qJu`_9}Yl~Sv9cmjK zyIwNSXA3=Qo9kNMlaIFu&LiJ(F(0+S2Lg8Z|0GP2tI+<09SE%kGg8;Bu1~ri+~|j{wRChyZ^FQQ0O>7eR?a`Vs7cqdw2~DG~ZWq#wmDxkBth zGxuybh;Rx;IC9?Gc`r7^N66m7?z;EnpPEsO^(E+;e?hO9`!cjh1!ecpg9ZYt6AnHx1F;BjJ7*>sEDRY$H6^yomES&7lW9pTZM~0Ej zpPA26?`QelHm3T8Y*K0djg&9{c{e^?H!SjtQad>Tha7uf3*r1KlDr3PbXIZ|`_-(a z_Do-?TI$B{g>u!AWIcQv$zK&L`;p-mf0^%<;h4fjz4d8sovx@fE%4x4F?R2GG zrL>!r_Kjk{C`w4!9VFH2Ehsm)2M#2NRl|x_3tG+MSnWuEA!|4VdEk5L1r946kT0>UfokHUTT7%DvanJ$! zoW08D_Qp4@S@5Ha{jcb^zq04~H+@aHF`Hu956yC~7II@8!dS!}w9HK_uvB}Xgolkf z=V8mHfQBh7_{JN8jX(BVkXLAX9}y<#X5;xhKKLfjjZoSF=^M0UUc)}= zPw;HY7lO1mA>F*hi21yccJFusZI1p>BtMBf*b~(~;}d9)XSXm8_(*Iv^Q++e`Wm*X zmg789iZUc@!i9}EraSy)*#7j5k2O9t14k}IgPqO9a;-at73*#Z6LUdVp@I}>DoJoV7b^Me&G zbI7X!8Bq$#RRkG({&~pE`_OjxLgqbTB0Po-w17;$E-Kvv`F+51z(=BVrTLr?Z2;M! znPDFO?tqoZV#jPczE|R81(scddcv7h5(V_Im1HmUz&@PkA(0N2l9u^N`UhnD65=j| zoof<)J}8W9VzeBf67>Sd!W||pc&2orri1vuVhTG{Oc&}s8Batf@gPJukHB9#!Ib4^ zq~HQTg84M`Ak69onABq=bV`EIi{Q5)-v#9zPT%+td>@9|-1OwkLp41qn1OglYY&8* zR%!#WU+fWhAD-c{L7VUqq+b&RHVoeqI!A$jN0{CRhspRB-kNAWh-dmREUnuJHq%a# z<_J7X35L8tq%19Vwx67VddNXQt4b0XThyYK-y^6se__ zfh2>>XnYHik}UEIywF?v2yY33`8pA44xEXD^CU=f44|_mC@((5G3->Fr9Ny5NsAF!w^N3V#0;ml~?h( zangmtZ08dq7zAqglXhkNh=Ed6j{o5F6B87oht~!&!51Xdw%LjoA%)hP%_12euu_S8W zP$U6GlbC8yY!NyOiOx472y{9Joy_r&+9!Adw+uUl@}uTW(E~z?8Ai-p-XVfaN4f|X0XbdNQ-|mJ-DdzCr z7U5y;$@5E6OZI}$UrgQz(gUQwdwSC``3X&EN`sSV;H5I|&cL68?7PNnGfwpwt|`U`=9VflWg6Fl@32nPkyXOd*&> zETx#yjPu4;vBVQ*l>FO=(>w>cSa#8UH1p}aCXg^EaZ=U2@H25DkpQ3G{)KD_b5!1T zL)!t90ErQ-IXsDa7&NcOlLR=0d8^RV%{32k$l^3Ds*6;7Tf(Ch%FzRl{00Q?22UUP zvAr?EWQe@dh!{#`*vG^aS{?G>Eo6pG!y6W}Xz+;N?R(4W2;R|o-v%rnyl8a@o|!kS z-sI(jWp&_7C$&S$}CV>tbjjb>w5 zocqa+!`wZVodC+nQ}hui`xr4^M6ZeNAe`pX^W<~So{C*&?-V#8mN@(zaWzz0fFObO zCXwEfDa}$mk#bvRW0ryuUfLakxmN}&;N^)O~e}oPGssiJ*)>0dCqV? z9e-jRjei?t2XOMz3Nu*VjGg>;_c?($B~Y<~P60$tobrWycDSQczp`<*7k}~>om>YP zbRw1s54CVOp2X1_ccOlm*WkP<(w}tl)C5J3eLy9qQwdmZ57uui@9X31jNOEsCQFF7 z^!OB0U6LjA4xhUxE=YXf36}gX#{+(ZX4qWhgjR&_TYxO2nBlz&F9WDMAra%;DXXy~xAEd1Yp@N%BonP1@NMD@X8z z`I5M|gMC_rDrmP}crry~boU9I#n~dejyF=7p3X(*3p^uix=^K`4ab)6R`sz?t~G9@R9z2_RLzecnwd2aNd+~zKevQ zvMf6o-}IS_M@o}mefC-5nJp93;6h;Ak%niW!wIoJ$)SKx$BZvt+O8ny=<#7NsS}~L}HazVjjXVszz*@OLvw{Uy zo?0swdW5IZnuR_j%2*{U7wEw15FYstzU|wDTDAvA_~(o>RDCc59s;XuG&~2BpdXiG zcK14BFzI)Xf57SEzv4{YF&O*eahml4_@pv%-e(ThuAgT2u>XV?`yyMoEVSL{?ARJ^GuP`sxo zReYtmr1(zpv*NmkLsmzv-nA;RmRKvTgREy- zr&uqrUTU3bz25qu_4n4z%6`gt<#c7Ta=vo0a;0*ea+5MwS*~of3AY(zGu~#3%?z7N zo9Ary+Z5Y;W^>l2+U8rE2Aiukt+oSghuDVMM%t#?X4@KU_u3w?eaH5U?N_$7w%^-c zh zxa9Di!_N*k9DaAWgX3{+)DCJ_oHp*G9;gmf4_A*=$EYW(lhlu@A5$+;uTp2JH>ORxE>)jWSE|2K*Q&o)H#xG7){gd$u8zGOwT}Ld!yF?Vqa5QLr#a4c zOm$rBnB}$Ni44IsV)6gky!{myR`#^^U(f-gQzqshnJ#dOHnuig1c@iglXe zl;o5yUQaqb<8;)i%ITW3t8={bcIQIppPcWygt$EFGT&vp%TAXUTwZZG?sCfIlBDqFCK$Erg?1lIOuW85Kqc~10P=()x7ea|m?+xL#|J-_#&-iF?<^!~W_ zPkn6r4D2(d&(1#2^?9++D}BD~^ShVEE7WVA*E3#wy#DF+s@GdyUwU2is`vWI+sWI* zyRY{^@5$at-gCUuyq9`sdaw7+@qXL;TkjwGvVBMOUEBBNz88ELABE3IpVc^B{d1q| z{XF`4_Z!eJvfmT^iu!%q?~b;&Hd(t*`?2qbil{~GY6y$NE@(!z&iup8&EZ%&6oAH@^$ic_x17(@D27I;k(J#;QO*~k?$$r zI^P=u?FI%7Oczc;vYaASZZKpQYN zU|xVe;NyVufXaZc0_A~zf$@RM0-p&i2|O8C5qK`}!VqSN)eyTOE<>VlwtM`L#35Nj zHVw%gvSY}zL-q|hFyzpXGedq2QUq~9Q-TaZ{|dS?)MjY#(D_4O9C~`_FT?r_n>%d5 zu%*Kc!#)~zJy;za75rH6i@_IzZwDJgJT5C{vH?-67p!s{E$TeiM2*OcrJn792J*Y;4%1u<2oshNXoq3wu0lV_0t3&agdU z{|tLA>`2)0u;Q>!!afT-8&)0mZCFECbJ%ZTx5L?RWw<)rJ-l!DpzxvL5#iC{apBX# zXNNx)zBGJw`1?` z{ix}qX5%cKS4Mp~s&jPj(UGH;#?;6BjPv*Zh`BpfF;+F! zb!?xp1I7l94IMjr?AWmr$4(pj$k=&f)5k6!yJqahv0KOHk9~IR8J$EoMK?n?N0+8s zs>{@6={D&Mx*fWI=w8shqC2d6TUVs}Q1_|swC=p_g6>=0_qw0Q^&hujT*K<}iJK=LnbQYNKMS~6+hq)#T5Pr4J&#t(^~7M~KoG5)RikK(_d zY(Kg8Do{xQA(^ik7ercaojHGR|clIdSg zZ=L@8^gBtTlG2j4B|Vk&e$u(5>KTd|ZZiUA=w_^$aeSuT%n38s&&-**cjmE~@6P;S z<~K7h&-`JQa+Yq^o>`}6wLLQQk<>@tf8?jxs@Vy%lV_*SUOjvL?9H=x&fYis<=Jn~ zE}#9!?5<>Ka_{8mpmC%>M2H2K}+50XzNpGm&`sMn+8A6@?Fo<|Qo`tGCU zk6wB7?i|e=uQ|SRhCJXJF=yMHgL6KaQ$MG1&b1Vq6o(Yol;tVwQgTwBOnEkCZ^|nv zZ=@Ve`FG04DW_7-q66W{+RjG=BLl!IRCi^UWeu%nSXr# z`;Re?jd`s2u`knlrOiouG3{j9PYWaqY!|2(XcqKd&~HKHf*A`IFIcnSjRi#u&MY{y zkXz`u&}-qug{v2?U$}YU&V{=dzOb-hVbQ`57oJ@BdAdC=m-Jrgebar@1JZ-jBhtsD zk4t|l{U2u6JL&JFf1F;PUb`q9SL7nyqKS*9E?T%~%cA{@4ljCd(V0aJi`m6ti<1_w zU%Yv7?&2Mb-&*|JlISImF3Dc9b;)x}UR?6Zk~fwdT~fH@)RMX-KP*jLdSL0-%br;F z%(CZ~9bNXxvhrn>%c_>uEUR1g!?LT(ZY*nG)|tU%^v&?i2*?XS_C%vqVoGe64wJoBr}hRpWW($%i3{Z~h>p0xUr)eBc=u0Fo{(&P4z zPk4Ow<8MA*@p#*szH26}S%T}WHBD}wPhP)y{h{?AtiQ7U?gp<7p&Q0+n6e>tgJHw24X!6MsJ$1Y09RgP05>5H>GdN*tCAr^P4{3bavC%n~a-nH>)@MZJx3D=;jlf z&u{)_^X1JAn}6N>$L2qCq&fX_QgW8$tjt+^&-GkRK~7ap%NA~n@0JN$7HoNG%egJp zTN?F@UZLmoj{4sEe)>WBb2sE3 z&HXa>=C*)s!P_FY>9$SWHf`IiZF9FR*|ug|_O>0{_HQfPR3>{^o)W!%7~AIN1(OZ62xl3Ac}P=5YfRrRTq&e&*Hl=pex$A%D76o_lsLhR#w;VXZA)JSJ_2Gj12R4>?|ngu<{OyFsKz@ zzp@Mea&mH>NE@cGwX>0Jm4i? zhm+UMbLHjbXTI(79G09cmG%t^O?o^A%LKT%Wy4gzeXxJOMj0O;>2B!P)^=B^v{t!z zdU`6PN8UJe=+K)VG${H^&dA7^8(&co8p?IHnahN!&)nbdEM>sd@4Bg#;54nQf~@>R z`C*2O=Y)Dh5WTe(U(;~UF*=`a4-_-` zQB3X@eAs*uGOe|`)_?YLUS3{eBFA-f6c%=LL`FvTSNzs)u9{ z6C79l?^j-VG0$M$y8nHBW2zHD->k8a1JgS?M_rwekl=Uc+xnt^A8GpXc*Q>Oz;`2q z6Bnwydaa|QqpNGh`mC(15!#(QIrG*r^~zp=B1_EAPfXMqH!~5;A54UCfkBU6rQkS? zxgM<$sc=LI`R?7x$)Q>R-68^F&Sg}qdqnLe%);lRU-x7YwF5$cj6 z)#Y^so^hq6(O6K;WmBgZ6a`(;?T}b=98t*U>f@7lF!;GVitJt=-anLJK#*xNkV}>zFFXgy6PHephKvL#w2S>!j#>N&D zL^01=)qQ!gq@*M<(XfTd)fpEVCmUmo!;QW)%;>_E;u#b!k zbYyOPT~=21^$o@`Ff!V>&bSUg6E;!o;F9sohf&6LhF;1}DD}3sKRFLCbZ##<<*(@6 zZJZW8dw{vj{5Ry>Qj3{nc^>H9GSI3&x*ce~eVM1ZCOEWdl#g#^wNFD06OAEg4t`1< z68_pngCkF-8QDyIYc$TA--=&e(Z)tGXYFgaW5;fDA+yuc(!7=5e{k&Ke3)o>6g2eq z8Ih3MP?b4-NI+d(P+-D}%F2{!BYf;pEl$qbgcyhbE~{zUHVl(r$!M5#q+$Kd>ol-? zEyU37@+Yd&fwNM378Nycp~=a~!OHftMFM_`&W<)NH!in&?$dLTkuB%ZSWf`f
) => void; + setModal: (modal: { modal: string; data?: any }) => void; + onAnnotationClick: any; + setOnAnnotationClick: (onAnnotationClick: any) => void; + setAnnotations: (annotations: Partial[]) => void; + annotations: Annotations[]; + plotDiv: PlotlyHTMLElement; +}) { + if (popupData.text != undefined && popupData.text != "") { + popupData.text = popupData.text.replace(/\n/g, "
"); + let popup_data: Partial; + + if (popupData.annotation) { + console.log("data", popupData); + popup_data = { + x: popupData.annotation.x, + y: popupData.annotation.y, + yref: popupData.annotation.yref, + yanchor: + popupData.annotation.y < popupData.annotation.ay ? "above" : "below", + ...popupData, + }; + console.log("popup_data", popup_data); + let to_update = plot_text({ + plotData, + popup_data: popup_data as PopupData, + current_text: popupData.annotation.text, + }); + setAnnotations( + [...annotations, to_update.annotation].filter((a) => a != undefined) + ); + plotData.layout.dragmode = "pan"; + setPlotData({ ...plotData, ...to_update.update }); + setOnAnnotationClick({}); + + return; + } + + plotDiv.on("plotly_clickannotation", (eventData) => { + console.log("plotly_clickannotation", eventData); + let annotation = eventData.annotation; + + if (annotation.text == undefined) { + console.log("annotation.text is undefined"); + return; + } + console.log("annotation.text", annotation.text); + // we replace
with \n so that the textarea can display the text properly + annotation.text = annotation.text.replace(/
/g, "\n"); + + let popup_data = { + x: annotation.x, + y: annotation.y, + yanchor: annotation.y < annotation.ay ? "above" : "below", + text: annotation.text, + color: annotation.font.color, + size: annotation.font.size, + bordercolor: annotation.bordercolor, + annotation: annotation, + }; + console.log("popup_data", popup_data); + setOnAnnotationClick(popup_data); + setModal({ modal: "textDialog", data: popup_data }); + setOnAnnotationClick({}); + }); + + function clickHandler(eventData: PlotMouseEvent) { + console.log("plotly_click", eventData); + let x = eventData.points[0].x; + let yaxis = eventData.points[0].fullData.yaxis; + let y = 0; + + // We need to check if the trace is a candlestick or not + // this is because the y value is stored in the high or low + if (eventData.points[0].y != undefined) { + y = eventData.points[0].y; + } else if (eventData.points[0].low != undefined) { + if (popup_data?.yanchor == "below") { + y = eventData.points[0].low; + } else { + y = eventData.points[0].high; + } + } + + popup_data = { + x: onAnnotationClick?.annotation?.x ?? x, + y: onAnnotationClick?.annotation?.y ?? y, + yref: onAnnotationClick?.annotation?.yref ?? yaxis, + ...popupData, + }; + let to_update = plot_text({ + plotData, + popup_data: popup_data as PopupData, + current_text: onAnnotationClick?.annotation?.text, + }); + setAnnotations( + [...annotations, to_update.annotation].filter((a) => a != undefined) + ); + plotData.layout.dragmode = "pan"; + setPlotData({ ...plotData, ...to_update.update }); + + plotDiv.removeAllListeners("plotly_click"); + } + plotData.layout.dragmode = "select"; + setPlotData({ ...plotData }); + plotDiv.on("plotly_click", clickHandler); + } +} diff --git a/frontend-components/plotly/src/utils/useClickOutside.tsx b/frontend-components/plotly/src/utils/useClickOutside.tsx new file mode 100644 index 00000000000..b6a056502e4 --- /dev/null +++ b/frontend-components/plotly/src/utils/useClickOutside.tsx @@ -0,0 +1,42 @@ +import { RefObject, useEffect } from "react"; + +export default function useOnClickOutside( + ref: RefObject, + handler: (event: MouseEvent | TouchEvent) => void +) { + useEffect(() => { + const listener = (event: MouseEvent | TouchEvent) => { + // Do nothing if clicking ref's element or descendent elements + if (!ref.current || ref.current.contains(event.target as Node)) { + return; + } + handler(event); + }; + document.addEventListener("mousedown", listener); + document.addEventListener("touchstart", listener); + return () => { + document.removeEventListener("mousedown", listener); + document.removeEventListener("touchstart", listener); + }; + }, [ref, handler]); +} + +export function useOnClickInside( + ref: RefObject, + handler: (event: MouseEvent | TouchEvent) => void +) { + useEffect(() => { + const listener = (event: MouseEvent | TouchEvent) => { + // Do nothing if clicking ref's element or descendent elements + if (ref.current && ref.current.contains(event.target as Node)) { + handler(event); + } + }; + document.addEventListener("mousedown", listener); + document.addEventListener("touchstart", listener); + return () => { + document.removeEventListener("mousedown", listener); + document.removeEventListener("touchstart", listener); + }; + }, [ref, handler]); +} diff --git a/frontend-components/plotly/src/utils/utils.ts b/frontend-components/plotly/src/utils/utils.ts new file mode 100644 index 00000000000..f539cfeba55 --- /dev/null +++ b/frontend-components/plotly/src/utils/utils.ts @@ -0,0 +1,338 @@ +// @ts-nocheck +import domtoimage from "dom-to-image"; +import { Figure } from "react-plotly.js"; + +const exportNativeFileSystem = async ({ + fileHandle, + blob, +}: { + fileHandle?: FileSystemFileHandle | null; + blob: Blob; +}) => { + if (!fileHandle) { + return; + } + + return writeFileHandler({ fileHandle, blob }); +}; + +const writeFileHandler = async ({ + fileHandle, + blob, +}: { + fileHandle: FileSystemFileHandle; + blob: Blob; +}) => { + const writer = await fileHandle.createWritable(); + await writer.write(blob); + await writer.close(); +}; + +const IMAGE_TYPE: FilePickerAcceptType[] = [ + { + description: "PNG Image", + accept: { + "image/png": [".png"], + }, + }, + { + description: "JPEG Image", + accept: { + "image/jpeg": [".jpeg"], + }, + }, +]; + +const getNewFileHandle = ({ + filename, + is_image, +}: { + filename: string; + is_image?: boolean; +}): Promise => { + if ("showSaveFilePicker" in window) { + const opts: SaveFilePickerOptions = { + suggestedName: filename, + types: is_image + ? IMAGE_TYPE + : [ + { + description: "CSV File", + accept: { + "image/csv": [".csv"], + }, + }, + ], + excludeAcceptAllOption: true, + }; + + return showSaveFilePicker(opts); + } + + return new Promise((resolve) => { + resolve(null); + }); +}; + +export const saveToFile = ( + blob: Blob, + fileName: string, + fileHandle?: FileSystemFileHandle | null +) => { + try { + if (fileHandle === null) { + throw new Error("Cannot access filesystem"); + } + return exportNativeFileSystem({ fileHandle, blob }); + } catch (error) { + console.error("oops, something went wrong!", error); + const url = URL.createObjectURL(blob); + const link = document.createElement("a"); + link.setAttribute("href", url); + link.setAttribute("download", fileName); + link.style.visibility = "hidden"; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + } + return new Promise((resolve) => { + resolve(true); + }); +}; + +export async function downloadCSV(gd: Figure) { + let data = gd.data; + let columns: string[] = []; + let rows: any[] = []; + + let xaxis = + "title" in gd.layout["xaxis"] && + gd.layout["xaxis"]["title"]["text"] != undefined + ? gd.layout["xaxis"]["title"]["text"] + : "x"; + + let yaxis = + "title" in gd.layout["yaxis"] && + gd.layout["yaxis"]["title"]["text"] != undefined + ? gd.layout["yaxis"]["title"]["text"] + : "y"; + + data.forEach(function (trace) { + if (trace.type == "candlestick") { + if (columns.length == 0) { + columns = ["Date", "Open", "High", "Low", "Close"]; + } + trace.x.forEach(function (x, i) { + rows.push([ + x, + trace.open[i], + trace.high[i], + trace.low[i], + trace.close[i], + ]); + }); + } + + if (trace.type == "scatter") { + if (columns.length == 0) { + columns.push(xaxis); + } + columns.push(trace.name); + trace.x.forEach(function (x, i) { + if (rows[i] == undefined) { + rows[i] = [x]; + } + rows[i].push(trace.y[i]); + }); + } + }); + + return await downloadData(columns, rows); +} + +export async function downloadData(columns: any, data: any) { + const headers = columns; + const rows = data.map((row: any) => + row.map((cell: any) => { + if (cell == null) { + return ""; + } else if (typeof cell === "object") { + return JSON.stringify(cell); + } else { + return cell.toString().replace(/"/g, '""'); + } + }) + ); + const csvData = [headers, ...rows]; + + const csvContent = csvData.map((e) => e.join(",")).join("\n"); + const blob = new Blob([csvContent], { type: "text/csv;charset=utf-8;" }); + const filename = `${window.title}.csv`; + try { + let fileHandle = await getNewFileHandle({ + filename: filename, + }); + let ext: string = "png"; + if (fileHandle !== null) { + // @ts-ignore + ext = fileHandle.name.split(".").pop(); + } + await loadingOverlay(`Saving ${ext.toUpperCase()}`); + non_blocking(async function () { + // @ts-ignore + saveToFile(blob, filename, fileHandle).then(async function () { + await loadingOverlay("", true); + }); + }, 2)(); + } catch (error) { + console.error(error); + } +} + +function loadingOverlay(message?: string, is_close?: boolean) { + const loading = window.document.getElementById("loading") as HTMLElement; + const loading_text = window.document.getElementById( + "loading_text" + ) as HTMLElement; + return new Promise((resolve) => { + if (is_close) { + loading.classList.remove("show"); + } else { + // @ts-ignore + loading_text.innerHTML = message; + loading.classList.add("show"); + } + + let is_loaded = setInterval(function () { + if ( + is_close + ? !loading.classList.contains("show") + : loading.classList.contains("show") + ) { + clearInterval(is_loaded); + resolve(true); + } + }, 0.1); + }); +} + +export const non_blocking = (func: Function, delay: number) => { + let timeout: number; + return function () { + // @ts-ignore + const context = this; + const args = arguments; + clearTimeout(timeout); + timeout = setTimeout(() => func.apply(context, args), delay); + }; +}; + +const openbb_watermark = { + yref: "paper", + xref: "paper", + x: 1, + y: 0, + text: "OpenBB Terminal", + font_size: 17, + font_color: "gray", + opacity: 0.5, + xanchor: "right", + yanchor: "bottom", + yshift: -80, + xshift: 40, +}; + +async function setWatermarks(margin, old_index, init = false) { + if (init) { + globals.CHART_DIV.layout.annotations.push(openbb_watermark); + if (globals.cmd_idx && globals.cmd_src) { + globals.CHART_DIV.layout.annotations[globals.cmd_idx].text = + globals.cmd_src; + } + + Plotly.relayout(globals.CHART_DIV, { + "title.text": globals.title, + margin: globals.old_margin, + }); + } + + if (!init) { + if (globals.cmd_idx && globals.cmd_src) { + globals.CHART_DIV.layout.annotations[globals.cmd_idx].text = ""; + } + globals.CHART_DIV.layout.annotations.splice(old_index, 1); + + Plotly.relayout(globals.CHART_DIV, { + "title.text": "", + margin: margin, + }); + } +} + +export async function saveImage( + id: string, + filename: string, + extension: string +) { + const chart = document.getElementById(id) as HTMLElement; + + if (["svg", "pdf"].includes(extension)) { + const margin = globals.CHART_DIV.layout.margin; + const old_index = globals.CHART_DIV.layout.annotations.length; + + await setWatermarks(margin, old_index, true); + + Plotly.downloadImage(globals.CHART_DIV, { + format: "svg", + height: globals.CHART_DIV.clientHeight, + width: globals.CHART_DIV.clientWidth, + filename: filename, + }); + + await setWatermarks(margin, old_index, false); + + return; + } + + non_blocking(async function () { + domtoimage.toBlob(chart).then(function (blob: Blob) { + saveToFile(blob, filename, null); + }); + }, 2)(); +} + +export async function downloadImage( + id: string, + hidemodebar: () => void, + loading: (bool: boolean) => void +) { + const chart = document.getElementById(id) as HTMLElement; + const filename = `${window.title}.png`; + + try { + let fileHandle = await getNewFileHandle({ + filename: filename, + is_image: true, + }); + let ext: string = "png"; + if (fileHandle !== null) { + // @ts-ignore + ext = fileHandle.name.split(".").pop(); + } + loading(true); + await loadingOverlay(`Saving ${ext.toUpperCase()}`); + + non_blocking(async function () { + domtoimage.toBlob(chart).then(function (blob: Blob) { + saveToFile(blob, filename, fileHandle).then(async function () { + await loadingOverlay("", true); + hidemodebar(false); + }); + }); + }, 2)(); + loading(false); + } catch (error) { + console.error(error); + hidemodebar(false); + } +} diff --git a/frontend-components/plotly/tailwind.config.cjs b/frontend-components/plotly/tailwind.config.cjs new file mode 100644 index 00000000000..28b50c45df6 --- /dev/null +++ b/frontend-components/plotly/tailwind.config.cjs @@ -0,0 +1,30 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + darkMode: "class", + content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"], + theme: { + extend: { + screens: { + smh: { raw: "(max-height: 450px)" }, + }, + colors: { + "grey-50": "#f6f6f6ff", + "grey-100": "#eaeaeaff", + "grey-200": "#dcdcdcff", + "grey-300": "#c8c8c8ff", + "grey-400": "#a2a2a2ff", + "grey-500": "#808080ff", + "grey-600": "#5a5a5aff", + "grey-700": "#474747ff", + "grey-800": "#2a2a2aff", + "grey-850": "#131313ff", + "grey-900": "#070707ff", + "burgundy-300": "#B47DA0", + "burgundy-400": "#9B5181", + "burgundy-500": "#822661", + "burgundy-900": "#340F27", + }, + }, + }, + plugins: [], +}; diff --git a/frontend-components/plotly/tsconfig.json b/frontend-components/plotly/tsconfig.json new file mode 100644 index 00000000000..6f563e9a0e4 --- /dev/null +++ b/frontend-components/plotly/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "target": "ESNext", + "typeRoots": ["node_modules/@types"], + "useDefineForClassFields": true, + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "allowJs": false, + "skipLibCheck": true, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/frontend-components/plotly/tsconfig.node.json b/frontend-components/plotly/tsconfig.node.json new file mode 100644 index 00000000000..9d31e2aed93 --- /dev/null +++ b/frontend-components/plotly/tsconfig.node.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/frontend-components/plotly/vite.config.ts b/frontend-components/plotly/vite.config.ts new file mode 100644 index 00000000000..97090b8a6ef --- /dev/null +++ b/frontend-components/plotly/vite.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react"; +import { viteSingleFile } from "vite-plugin-singlefile"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react(), viteSingleFile()], +}); diff --git a/openbb_terminal/base_helpers.py b/openbb_terminal/base_helpers.py index 2b74460f464..a8ae42ce3a0 100644 --- a/openbb_terminal/base_helpers.py +++ b/openbb_terminal/base_helpers.py @@ -18,7 +18,7 @@ console = Console() menus = Literal["", "featflags", "settings"] openbb_posthog = Posthog( - "phc_vhssDAMod5qIplznQ75Kdgz4aB1qPFmeVmfEOZ4hkRw", + "phc_w3vscAiNobDjUM9gYw2ffAFPUc8COciilsvvp3tAPi", host="https://app.posthog.com", ) diff --git a/openbb_terminal/core/plots/backend.py b/openbb_terminal/core/plots/backend.py index d8cc85d7598..569ae67ae61 100644 --- a/openbb_terminal/core/plots/backend.py +++ b/openbb_terminal/core/plots/backend.py @@ -76,9 +76,8 @@ class Backend(PyWry): super().__init__(**init_kwargs) - self.plotly_html: Path = (PLOTS_CORE_PATH / "plotly_temp.html").resolve() + self.plotly_html: Path = (PLOTS_CORE_PATH / "plotly.html").resolve() self.table_html: Path = (PLOTS_CORE_PATH / "table.html").resolve() - self.inject_path_to_html() self.isatty = ( not JUPYTER_NOTEBOOK and sys.stdin.isatty() @@ -102,28 +101,6 @@ class Backend(PyWry): self.WIDTH, self.HEIGHT = int(width), int(height) - def inject_path_to_html(self): - """Update the script tag in html with local path.""" - try: - with open(PLOTS_CORE_PATH / "plotly.html", encoding="utf-8") as file: # type: ignore - html = file.read() - html = html.replace( - "{{MAIN_PATH}}", str(PLOTS_CORE_PATH.as_uri()) - ).replace("{{PLOTLYJS_PATH}}", str(PLOTLYJS_PATH.as_uri())) - - # We create a temporary file to inject the path to the script tag - # This is so we don't have to modify the original file - # The file is deleted at program exit. - with open(self.plotly_html, "w", encoding="utf-8") as file: # type: ignore - file.write(html) - except FileNotFoundError as error: - console.print( - "[bold red]plotly.html file not found, check the path:[/]" - f"[green]{PLOTS_CORE_PATH / 'plotly.html'}[/]" - ) - self.max_retries = 0 # pylint: disable=W0201 - raise error - def get_pending(self) -> list: """Get the pending data that has not been sent to the backend.""" # pylint: disable=W0201,E0203 @@ -135,11 +112,15 @@ class Backend(PyWry): def get_plotly_html(self) -> str: """Get the plotly html file.""" self.set_window_dimensions() - if not self.plotly_html.exists(): - self.inject_path_to_html() - return self.get_plotly_html() + if self.plotly_html.exists(): + return str(self.plotly_html) - return str(self.plotly_html) + console.print( + "[bold red]plotly.html file not found, check the path:[/]" + f"[green]{PLOTS_CORE_PATH / 'plotly.html'}[/]" + ) + self.max_retries = 0 # pylint: disable=W0201 + raise FileNotFoundError def get_table_html(self) -> str: """Get the table html file.""" @@ -387,10 +368,6 @@ class Backend(PyWry): "download_path": str(get_current_user().preferences.USER_EXPORTS_DIRECTORY), } - def del_temp(self): - """Delete the temporary html file.""" - self.plotly_html.unlink(missing_ok=True) - def start(self, debug: bool = False): """Start the backend WindowManager process.""" if self.isatty: @@ -425,8 +402,6 @@ class Backend(PyWry): """Close the backend.""" if reset: self.max_retries = 50 # pylint: disable=W0201 - elif self.isatty: - self.del_temp() super().close(reset) diff --git a/openbb_terminal/core/plots/plotly.html b/openbb_terminal/core/plots/plotly.html index e3f4b6b616c..c06a9e1ee55 100644 --- a/openbb_terminal/core/plots/plotly.html +++ b/openbb_terminal/core/plots/plotly.html @@ -1,344 +1,3713 @@ - + + - - - - - - - - - - + + + + OpenBB Interactive Charts - + + } + 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)); +} +`]),s=_([`precision highp float; +#define GLSLIFY 1 + +varying vec4 fragColor; + +void main() { + gl_FragColor = fragColor; +} +`]),T=e(25706).maxDimensionCount,m=e(71828),f=new Uint8Array(4),l=new Uint8Array(4),t={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function a(d,v,b,g,y){var k=d._gl;k.enable(k.SCISSOR_TEST),k.scissor(v,b,g,y),d.clear({color:[0,0,0,0],depth:1})}function r(d,v,b,g,y,k){var h=k.key;b.drawCompleted||(function(M){M.read({x:0,y:0,width:1,height:1,data:f})}(d),b.drawCompleted=!0),function M(A){var C=Math.min(g,y-A*g);A===0&&(window.cancelAnimationFrame(b.currentRafs[h]),delete b.currentRafs[h],a(d,k.scissorX,k.scissorY,k.scissorWidth,k.viewBoxSize[1])),b.clearOnly||(k.count=2*C,k.offset=2*A*g,v(k),A*g+C>>8*v)%256/255}function i(d,v,b){for(var g=new Array(8*v),y=0,k=0;kie&&(ie=V[Q].dim1.canvasX,Y=Q);K===0&&a(C,0,0,b.canvasWidth,b.canvasHeight);var oe=function(Ae){var Me,Ce,ne,ue=[[],[]];for(ne=0;ne<64;ne++){var me=!Ae&&neoe._length&&(ze=ze.slice(0,oe._length));var Te,Ae=oe.tickvals;function Me(we,Ee){return{val:we,text:Te[Ee]}}function Ce(we,Ee){return we.val-Ee.val}if(Array.isArray(Ae)&&Ae.length){Te=oe.ticktext,Array.isArray(Te)&&Te.length?Te.length>Ae.length?Te=Te.slice(0,Ae.length):Ae.length>Te.length&&(Ae=Ae.slice(0,Te.length)):Te=Ae.map(s(oe.tickformat));for(var ne=1;ne=Ue||be>=De)return;var Se=we.lineLayer.readPixel(ge,De-1-be),Ne=Se[3]!==0,Ye=Ne?Se[2]+256*(Se[1]+256*Se[0]):null,Ze={x:ge,y:be,clientX:Ee.clientX,clientY:Ee.clientY,dataIndex:we.model.key,curveNumber:Ye};Ye!==xe&&(Ne?V.hover(Ze):V.unhover&&V.unhover(Ze),xe=Ye)}}),ce.style("opacity",function(we){return we.pick?0:1}),Q.style("background","rgba(255, 255, 255, 0)");var pe=Q.selectAll("."+c.cn.parcoords).data(se,o);pe.exit().remove(),pe.enter().append("g").classed(c.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),pe.attr("transform",function(we){return l(we.model.translateX,we.model.translateY)});var de=pe.selectAll("."+c.cn.parcoordsControlView).data(i,o);de.enter().append("g").classed(c.cn.parcoordsControlView,!0),de.attr("transform",function(we){return l(we.model.pad.l,we.model.pad.t)});var he=de.selectAll("."+c.cn.yAxis).data(function(we){return we.dimensions},o);he.enter().append("g").classed(c.cn.yAxis,!0),de.each(function(we){R(he,we,Y)}),ce.each(function(we){if(we.viewModel){!we.lineLayer||V?we.lineLayer=d(this,we):we.lineLayer.update(we),(we.key||we.key===0)&&(we.viewModel[we.key]=we.lineLayer);var Ee=!we.context||V;we.lineLayer.render(we.viewModel.panels,Ee)}}),he.attr("transform",function(we){return l(we.xScale(we.xIndex),0)}),he.call(_.behavior.drag().origin(function(we){return we}).on("drag",function(we){var Ee=we.parent;oe.linePickActive(!1),we.x=Math.max(-c.overdrag,Math.min(we.model.width+c.overdrag,_.event.x)),we.canvasX=we.x*we.model.canvasPixelRatio,he.sort(function(Ue,De){return Ue.x-De.x}).each(function(Ue,De){Ue.xIndex=De,Ue.x=we===Ue?Ue.x:Ue.xScale(Ue.xIndex),Ue.canvasX=Ue.x*Ue.model.canvasPixelRatio}),R(he,Ee,Y),he.filter(function(Ue){return Math.abs(we.xIndex-Ue.xIndex)!==0}).attr("transform",function(Ue){return l(Ue.xScale(Ue.xIndex),0)}),_.select(this).attr("transform",l(we.x,0)),he.each(function(Ue,De,je){je===we.parent.key&&(Ee.dimensions[De]=Ue)}),Ee.contextLayer&&Ee.contextLayer.render(Ee.panels,!1,!A(Ee)),Ee.focusLayer.render&&Ee.focusLayer.render(Ee.panels)}).on("dragend",function(we){var Ee=we.parent;we.x=we.xScale(we.xIndex),we.canvasX=we.x*we.model.canvasPixelRatio,R(he,Ee,Y),_.select(this).attr("transform",function(Ue){return l(Ue.x,0)}),Ee.contextLayer&&Ee.contextLayer.render(Ee.panels,!1,!A(Ee)),Ee.focusLayer&&Ee.focusLayer.render(Ee.panels),Ee.pickLayer&&Ee.pickLayer.render(Ee.panels,!0),oe.linePickActive(!0),V&&V.axesMoved&&V.axesMoved(Ee.key,Ee.dimensions.map(function(Ue){return Ue.crossfilterDimensionIndex}))})),he.exit().remove();var ye=he.selectAll("."+c.cn.axisOverlays).data(i,o);ye.enter().append("g").classed(c.cn.axisOverlays,!0),ye.selectAll("."+c.cn.axis).remove();var ze=ye.selectAll("."+c.cn.axis).data(i,o);ze.enter().append("g").classed(c.cn.axis,!0),ze.each(function(we){var Ee=we.model.height/we.model.tickDistance,Ue=we.domainScale,De=Ue.domain();_.select(this).call(_.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(Ee,we.tickFormat).tickValues(we.ordinal?De:null).tickFormat(function(je){return p.isOrdinal(we)?je:U(we.model.dimensions[we.visibleIndex],je)}).scale(Ue)),a.font(ze.selectAll("text"),we.model.tickFont)}),ze.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),ze.selectAll("text").style("text-shadow",t.makeTextShadow(K)).style("cursor","default");var Te=ye.selectAll("."+c.cn.axisHeading).data(i,o);Te.enter().append("g").classed(c.cn.axisHeading,!0);var Ae=Te.selectAll("."+c.cn.axisTitle).data(i,o);Ae.enter().append("text").classed(c.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",H?"none":"auto"),Ae.text(function(we){return we.label}).each(function(we){var Ee=_.select(this);a.font(Ee,we.model.labelFont),t.convertToTspans(Ee,G)}).attr("transform",function(we){var Ee=I(we.model.labelAngle,we.model.labelSide),Ue=c.axisTitleOffset;return(Ee.dir>0?"":l(0,2*Ue+we.model.height))+f(Ee.degrees)+l(-Ue*Ee.dx,-Ue*Ee.dy)}).attr("text-anchor",function(we){var Ee=I(we.model.labelAngle,we.model.labelSide);return 2*Math.abs(Ee.dx)>Math.abs(Ee.dy)?Ee.dir*Ee.dx<0?"start":"end":"middle"});var Me=ye.selectAll("."+c.cn.axisExtent).data(i,o);Me.enter().append("g").classed(c.cn.axisExtent,!0);var Ce=Me.selectAll("."+c.cn.axisExtentTop).data(i,o);Ce.enter().append("g").classed(c.cn.axisExtentTop,!0),Ce.attr("transform",l(0,-c.axisExtentOffset));var ne=Ce.selectAll("."+c.cn.axisExtentTopText).data(i,o);ne.enter().append("text").classed(c.cn.axisExtentTopText,!0).call(P),ne.text(function(we){return B(we,!0)}).each(function(we){a.font(_.select(this),we.model.rangeFont)});var ue=Me.selectAll("."+c.cn.axisExtentBottom).data(i,o);ue.enter().append("g").classed(c.cn.axisExtentBottom,!0),ue.attr("transform",function(we){return l(0,we.model.height+c.axisExtentOffset)});var me=ue.selectAll("."+c.cn.axisExtentBottomText).data(i,o);me.enter().append("text").classed(c.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(P),me.text(function(we){return B(we,!1)}).each(function(we){a.font(_.select(this),we.model.rangeFont)}),x.ensureAxisBrush(ye,K,G)}},21341:function(D,E,e){var _=e(17171),w=e(79749),s=e(1602).isVisible,T={};function m(f,l,t){var a=l.indexOf(t),r=f.indexOf(a);return r===-1&&(r+=l.length),r}(D.exports=function(f,l){var t=f._fullLayout;if(w(f,[],T)){var a={},r={},n={},o={},i=t._size;l.forEach(function(u,p){var c=u[0].trace;n[p]=c.index;var x=o[p]=c._fullInput.index;a[p]=f.data[x].dimensions,r[p]=f.data[x].dimensions.slice()}),_(f,l,{width:i.w,height:i.h,margin:{t:i.t,r:i.r,b:i.b,l:i.l}},{filterChanged:function(u,p,c){var x=r[u][p],d=c.map(function(h){return h.slice()}),v="dimensions["+p+"].constraintrange",b=t._tracePreGUI[f._fullData[n[u]]._fullInput.uid];if(b[v]===void 0){var g=x.constraintrange;b[v]=g||null}var y=f._fullData[n[u]].dimensions[p];d.length?(d.length===1&&(d=d[0]),x.constraintrange=d,y.constraintrange=d.slice(),d=[d]):(delete x.constraintrange,delete y.constraintrange,d=null);var k={};k[v]=d,f.emit("plotly_restyle",[k,[o[u]]])},hover:function(u){f.emit("plotly_hover",u)},unhover:function(u){f.emit("plotly_unhover",u)},axesMoved:function(u,p){var c=function(x,d){return function(v,b){return m(x,d,v)-m(x,d,b)}}(p,r[u].filter(s));a[u].sort(c),r[u].filter(function(x){return!s(x)}).sort(function(x){return r[u].indexOf(x)}).forEach(function(x){a[u].splice(a[u].indexOf(x),1),a[u].splice(r[u].indexOf(x),0,x)}),f.emit("plotly_restyle",[{dimensions:[a[u]]},[o[u]]])}})}}).reglPrecompiled=T},34e3:function(D,E,e){var _=e(9012),w=e(27670).Y,s=e(41940),T=e(22399),m=e(5386).fF,f=e(5386).si,l=e(1426).extendFlat,t=s({editType:"plot",arrayOk:!0,colorEditType:"plot"});D.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:T.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},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:l({},_.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:m({},{keys:["label","color","value","percent","text"]}),texttemplate:f({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:l({},t,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:l({},t,{}),outsidetextfont:l({},t,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:l({},t,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:w({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"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:l({},t,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},13584:function(D,E,e){var _=e(74875);E.name="pie",E.plot=function(w,s,T,m){_.plotBasePlot(E.name,w,s,T,m)},E.clean=function(w,s,T,m){_.cleanBasePlot(E.name,w,s,T,m)}},32354:function(D,E,e){var _=e(92770),w=e(84267),s=e(7901),T={};function m(l){return function(t,a){return!!t&&!!(t=w(t)).isValid()&&(t=s.addOpacity(t,t.getAlpha()),l[a]||(l[a]=t),t)}}function f(l,t){var a,r=JSON.stringify(l),n=t[r];if(!n){for(n=l.slice(),a=0;a=0}),(t.type==="funnelarea"?y:t.sort)&&n.sort(function(C,L){return L.v-C.v}),n[0]&&(n[0].vTotal=g),n},crossTraceCalc:function(l,t){var a=(t||{}).type;a||(a="pie");var r=l._fullLayout,n=l.calcdata,o=r[a+"colorway"],i=r["_"+a+"colormap"];r["extend"+a+"colors"]&&(o=f(o,T));for(var u=0,p=0;p0){o=!0;break}}o||(n=0)}return{hasLabels:a,hasValues:r,len:n}}D.exports={handleLabelsAndValues:f,supplyDefaults:function(l,t,a,r){function n(b,g){return w.coerce(l,t,s,b,g)}var o=f(n("labels"),n("values")),i=o.len;if(t._hasLabels=o.hasLabels,t._hasValues=o.hasValues,!t._hasLabels&&t._hasValues&&(n("label0"),n("dlabel")),i){t._length=i,n("marker.line.width")&&n("marker.line.color"),n("marker.colors"),n("scalegroup");var u,p=n("text"),c=n("texttemplate");if(c||(u=n("textinfo",Array.isArray(p)?"text+percent":"percent")),n("hovertext"),n("hovertemplate"),c||u&&u!=="none"){var x=n("textposition");m(l,t,r,n,x,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(x)||x==="auto"||x==="outside")&&n("automargin"),(x==="inside"||x==="auto"||Array.isArray(x))&&n("insidetextorientation")}T(t,r,n);var d=n("hole");if(n("title.text")){var v=n("title.position",d?"middle center":"top center");d||v!=="middle center"||(t.title.position="top center"),w.coerceFont(n,"title.font",r.font)}n("sort"),n("direction"),n("rotation"),n("pull")}else t.visible=!1}}},20007:function(D,E,e){var _=e(23469).appendArrayMultiPointValues;D.exports=function(w,s){var T={curveNumber:s.index,pointNumbers:w.pts,data:s._input,fullData:s,label:w.label,color:w.color,value:w.v,percent:w.percent,text:w.text,bbox:w.bbox,v:w.v};return w.pts.length===1&&(T.pointNumber=T.i=w.pts[0]),_(T,s,w.pts),s.type==="funnelarea"&&(delete T.v,delete T.i),T}},53581:function(D,E,e){var _=e(71828);function w(s){return s.indexOf("e")!==-1?s.replace(/[.]?0+e/,"e"):s.indexOf(".")!==-1?s.replace(/[.]?0+$/,""):s}E.formatPiePercent=function(s,T){var m=w((100*s).toPrecision(3));return _.numSeparate(m,T)+"%"},E.formatPieValue=function(s,T){var m=w(s.toPrecision(10));return _.numSeparate(m,T)},E.getFirstFilled=function(s,T){if(Array.isArray(s))for(var m=0;m"),name:ie.hovertemplate||oe.indexOf("name")!==-1?ie.name:void 0,idealAlign:K.pxmid[0]<0?"left":"right",color:u.castOption(ye.bgcolor,K.pts)||K.color,borderColor:u.castOption(ye.bordercolor,K.pts),fontFamily:u.castOption(ze.family,K.pts),fontSize:u.castOption(ze.size,K.pts),fontColor:u.castOption(ze.color,K.pts),nameLength:u.castOption(ye.namelength,K.pts),textAlign:u.castOption(ye.align,K.pts),hovertemplate:u.castOption(ie.hovertemplate,K.pts),hovertemplateLabels:K,eventData:[p(K,ie)]},{container:te._hoverlayer.node(),outerContainer:te._paper.node(),gd:j,inOut_bbox:Te}),K.bbox=Te[0],X._hasHoverLabel=!0}X._hasHoverEvent=!0,j.emit("plotly_hover",{points:[p(K,ie)],event:_.event})}}),N.on("mouseout",function(K){var te=j._fullLayout,ie=j._fullData[X.index],oe=_.select(this).datum();X._hasHoverEvent&&(K.originalEvent=_.event,j.emit("plotly_unhover",{points:[p(oe,ie)],event:_.event}),X._hasHoverEvent=!1),X._hasHoverLabel&&(s.loneUnhover(te._hoverlayer.node()),X._hasHoverLabel=!1)}),N.on("click",function(K){var te=j._fullLayout,ie=j._fullData[X.index];j._dragging||te.hovermode===!1||(j._hoverdata=[p(K,ie)],s.click(j,_.event))})}function d(N,j,V){var H=u.castOption(N.insidetextfont.color,j.pts);!H&&N._input.textfont&&(H=u.castOption(N._input.textfont.color,j.pts));var ee=u.castOption(N.insidetextfont.family,j.pts)||u.castOption(N.textfont.family,j.pts)||V.family,Q=u.castOption(N.insidetextfont.size,j.pts)||u.castOption(N.textfont.size,j.pts)||V.size;return{color:H||T.contrast(j.color),family:ee,size:Q}}function v(N,j){for(var V,H,ee=0;eeUe&&Ue>je||De=-4;de-=2)he(Math.PI*de,"tan");for(de=4;de>=-4;de-=2)he(Math.PI*(de+1),"tan")}if(oe||ce){for(de=4;de>=-4;de-=2)he(Math.PI*(de+1.5),"rad");for(de=4;de>=-4;de-=2)he(Math.PI*(de+.5),"rad")}}if(Y||xe||oe){var ye=Math.sqrt(N.width*N.width+N.height*N.height);if((Q={scale:ee*H*2/ye,rCenter:1-ee,rotate:0}).textPosAngle=(j.startangle+j.stopangle)/2,Q.scale>=1)return Q;pe.push(Q)}(xe||ce)&&((Q=g(N,H,X,K,te)).textPosAngle=(j.startangle+j.stopangle)/2,pe.push(Q)),(xe||se)&&((Q=y(N,H,X,K,te)).textPosAngle=(j.startangle+j.stopangle)/2,pe.push(Q));for(var ze=0,Te=0,Ae=0;Ae=1)break}return pe[ze]}function g(N,j,V,H,ee){j=Math.max(0,j-2*i);var Q=N.width/N.height,X=M(Q,H,j,V);return{scale:2*X/N.height,rCenter:k(Q,X/j),rotate:h(ee)}}function y(N,j,V,H,ee){j=Math.max(0,j-2*i);var Q=N.height/N.width,X=M(Q,H,j,V);return{scale:2*X/N.width,rCenter:k(Q,X/j),rotate:h(ee+Math.PI/2)}}function k(N,j){return Math.cos(j)-N*j}function h(N){return(180/Math.PI*N+720)%180-90}function M(N,j,V,H){var ee=N+1/(2*Math.tan(j));return V*Math.min(1/(Math.sqrt(ee*ee+.5)+ee),H/(Math.sqrt(N*N+H/2)+N))}function A(N,j){return N.v!==j.vTotal||j.trace.hole?Math.min(1/(1+1/Math.sin(N.halfangle)),N.ring/2):1}function C(N,j){var V=j.pxmid[0],H=j.pxmid[1],ee=N.width/2,Q=N.height/2;return V<0&&(ee*=-1),H<0&&(Q*=-1),{scale:1,rCenter:1,rotate:0,x:ee+Math.abs(Q)*(ee>0?1:-1)/2,y:Q/(1+V*V/(H*H)),outside:!0}}function L(N,j){var V,H,ee,Q=N.trace,X={x:N.cx,y:N.cy},Y={tx:0,ty:0};Y.ty+=Q.title.font.size,ee=I(Q),Q.title.position.indexOf("top")!==-1?(X.y-=(1+ee)*N.r,Y.ty-=N.titleBox.height):Q.title.position.indexOf("bottom")!==-1&&(X.y+=(1+ee)*N.r);var K,te=N.r/((K=N.trace.aspectratio)===void 0?1:K),ie=j.w*(Q.domain.x[1]-Q.domain.x[0])/2;return Q.title.position.indexOf("left")!==-1?(ie+=te,X.x-=(1+ee)*te,Y.tx+=N.titleBox.width/2):Q.title.position.indexOf("center")!==-1?ie*=2:Q.title.position.indexOf("right")!==-1&&(ie+=te,X.x+=(1+ee)*te,Y.tx-=N.titleBox.width/2),V=ie/N.titleBox.width,H=P(N,j)/N.titleBox.height,{x:X.x,y:X.y,scale:Math.min(V,H),tx:Y.tx,ty:Y.ty}}function P(N,j){var V=N.trace,H=j.h*(V.domain.y[1]-V.domain.y[0]);return Math.min(N.titleBox.height,H/2)}function I(N){var j,V=N.pull;if(!V)return 0;if(Array.isArray(V))for(V=0,j=0;jV&&(V=N.pull[j]);return V}function R(N,j){for(var V=[],H=0;H1?Ae=(Te=ce.r)/pe.aspectratio:Te=(Ae=ce.r)*pe.aspectratio,ze=(Te*=(1+pe.baseratio)/2)*Ae}he=Math.min(he,ze/ce.vTotal)}for(xe=0;xe")}if(Q){var de=f.castOption(ee,j.i,"texttemplate");if(de){var he=function(ze){return{label:ze.label,value:ze.v,valueLabel:u.formatPieValue(ze.v,H.separators),percent:ze.v/V.vTotal,percentLabel:u.formatPiePercent(ze.v/V.vTotal,H.separators),color:ze.color,text:ze.text,customdata:f.castOption(ee,ze.i,"customdata")}}(j),ye=u.getFirstFilled(ee.text,j.pts);(c(ye)||ye==="")&&(he.text=ye),j.text=f.texttemplateString(de,he,N._fullLayout._d3locale,he,ee._meta||{})}else j.text=""}}function G(N,j){var V=N.rotate*Math.PI/180,H=Math.cos(V),ee=Math.sin(V),Q=(j.left+j.right)/2,X=(j.top+j.bottom)/2;N.textX=Q*H-X*ee,N.textY=Q*ee+X*H,N.noCenter=!0}D.exports={plot:function(N,j){var V=N._context.staticPlot,H=N._fullLayout,ee=H._size;o("pie",H),v(j,N),R(j,ee);var Q=f.makeTraceGroups(H._pielayer,j,"trace").each(function(X){var Y=_.select(this),K=X[0],te=K.trace;(function(ie){var oe,se,ce,xe=ie[0],pe=xe.r,de=xe.trace,he=u.getRotationAngle(de.rotation),ye=2*Math.PI/xe.vTotal,ze="px0",Te="px1";if(de.direction==="counterclockwise"){for(oe=0;oexe.vTotal/2?1:0,se.halfangle=Math.PI*Math.min(se.v/xe.vTotal,.5),se.ring=1-de.hole,se.rInscribed=A(se,xe))})(X),Y.attr("stroke-linejoin","round"),Y.each(function(){var ie=_.select(this).selectAll("g.slice").data(X);ie.enter().append("g").classed("slice",!0),ie.exit().remove();var oe=[[[],[]],[[],[]]],se=!1;ie.each(function(Te,Ae){if(Te.hidden)_.select(this).selectAll("path,g").remove();else{Te.pointNumber=Te.i,Te.curveNumber=te.index,oe[Te.pxmid[1]<0?0:1][Te.pxmid[0]<0?0:1].push(Te);var Me=K.cx,Ce=K.cy,ne=_.select(this),ue=ne.selectAll("path.surface").data([Te]);if(ue.enter().append("path").classed("surface",!0).style({"pointer-events":V?"none":"all"}),ne.call(x,N,X),te.pull){var me=+u.castOption(te.pull,Te.pts)||0;me>0&&(Me+=me*Te.pxmid[0],Ce+=me*Te.pxmid[1])}Te.cxFinal=Me,Te.cyFinal=Ce;var we=te.hole;if(Te.v===K.vTotal){var Ee="M"+(Me+Te.px0[0])+","+(Ce+Te.px0[1])+be(Te.px0,Te.pxmid,!0,1)+be(Te.pxmid,Te.px0,!0,1)+"Z";we?ue.attr("d","M"+(Me+we*Te.px0[0])+","+(Ce+we*Te.px0[1])+be(Te.px0,Te.pxmid,!1,we)+be(Te.pxmid,Te.px0,!1,we)+"Z"+Ee):ue.attr("d",Ee)}else{var Ue=be(Te.px0,Te.px1,!0,1);if(we){var De=1-we;ue.attr("d","M"+(Me+we*Te.px1[0])+","+(Ce+we*Te.px1[1])+be(Te.px1,Te.px0,!1,we)+"l"+De*Te.px0[0]+","+De*Te.px0[1]+Ue+"Z")}else ue.attr("d","M"+Me+","+Ce+"l"+Te.px0[0]+","+Te.px0[1]+Ue+"Z")}B(N,Te,K);var je=u.castOption(te.textposition,Te.pts),ge=ne.selectAll("g.slicetext").data(Te.text&&je!=="none"?[0]:[]);ge.enter().append("g").classed("slicetext",!0),ge.exit().remove(),ge.each(function(){var Se=f.ensureSingle(_.select(this),"text","",function(Et){Et.attr("data-notex",1)}),Ne=f.ensureUniformFontSize(N,je==="outside"?function(Et,Tt,xt){return{color:u.castOption(Et.outsidetextfont.color,Tt.pts)||u.castOption(Et.textfont.color,Tt.pts)||xt.color,family:u.castOption(Et.outsidetextfont.family,Tt.pts)||u.castOption(Et.textfont.family,Tt.pts)||xt.family,size:u.castOption(Et.outsidetextfont.size,Tt.pts)||u.castOption(Et.textfont.size,Tt.pts)||xt.size}}(te,Te,H.font):d(te,Te,H.font));Se.text(Te.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(m.font,Ne).call(a.convertToTspans,N);var Ye,Ze=m.bBox(Se.node());if(je==="outside")Ye=C(Ze,Te);else if(Ye=b(Ze,Te,K),je==="auto"&&Ye.scale<1){var st=f.ensureUniformFontSize(N,te.outsidetextfont);Se.call(m.font,st),Ye=C(Ze=m.bBox(Se.node()),Te)}var ot=Ye.textPosAngle,ft=ot===void 0?Te.pxmid:U(K.r,ot);if(Ye.targetX=Me+ft[0]*Ye.rCenter+(Ye.x||0),Ye.targetY=Ce+ft[1]*Ye.rCenter+(Ye.y||0),G(Ye,Ze),Ye.outside){var yt=Ye.targetY;Te.yLabelMin=yt-Ze.height/2,Te.yLabelMid=yt,Te.yLabelMax=yt+Ze.height/2,Te.labelExtraX=0,Te.labelExtraY=0,se=!0}Ye.fontSize=Ne.size,n(te.type,Ye,H),X[Ae].transform=Ye,f.setTransormAndDisplay(Se,Ye)})}function be(Se,Ne,Ye,Ze){var st=Ze*(Ne[0]-Se[0]),ot=Ze*(Ne[1]-Se[1]);return"a"+Ze*K.r+","+Ze*K.r+" 0 "+Te.largeArc+(Ye?" 1 ":" 0 ")+st+","+ot}});var ce=_.select(this).selectAll("g.titletext").data(te.title.text?[0]:[]);if(ce.enter().append("g").classed("titletext",!0),ce.exit().remove(),ce.each(function(){var Te,Ae=f.ensureSingle(_.select(this),"text","",function(Ce){Ce.attr("data-notex",1)}),Me=te.title.text;te._meta&&(Me=f.templateString(Me,te._meta)),Ae.text(Me).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(m.font,te.title.font).call(a.convertToTspans,N),Te=te.title.position==="middle center"?function(Ce){var ne=Math.sqrt(Ce.titleBox.width*Ce.titleBox.width+Ce.titleBox.height*Ce.titleBox.height);return{x:Ce.cx,y:Ce.cy,scale:Ce.trace.hole*Ce.r*2/ne,tx:0,ty:-Ce.titleBox.height/2+Ce.trace.title.font.size}}(K):L(K,ee),Ae.attr("transform",t(Te.x,Te.y)+l(Math.min(1,Te.scale))+t(Te.tx,Te.ty))}),se&&function(Te,Ae){var Me,Ce,ne,ue,me,we,Ee,Ue,De,je,ge,be,Se;function Ne(ot,ft){return ot.pxmid[1]-ft.pxmid[1]}function Ye(ot,ft){return ft.pxmid[1]-ot.pxmid[1]}function Ze(ot,ft){ft||(ft={});var yt,Et,Tt,xt,Dt=ft.labelExtraY+(Ce?ft.yLabelMax:ft.yLabelMin),It=Ce?ot.yLabelMin:ot.yLabelMax,Ft=Ce?ot.yLabelMax:ot.yLabelMin,qt=ot.cyFinal+me(ot.px0[1],ot.px1[1]),Nt=Dt-It;if(Nt*Ee>0&&(ot.labelExtraY=Nt),Array.isArray(Ae.pull))for(Et=0;Et=(u.castOption(Ae.pull,Tt.pts)||0)||((ot.pxmid[1]-Tt.pxmid[1])*Ee>0?(Nt=Tt.cyFinal+me(Tt.px0[1],Tt.px1[1])-It-ot.labelExtraY)*Ee>0&&(ot.labelExtraY+=Nt):(Ft+ot.labelExtraY-qt)*Ee>0&&(yt=3*we*Math.abs(Et-je.indexOf(ot)),(xt=Tt.cxFinal+ue(Tt.px0[0],Tt.px1[0])+yt-(ot.cxFinal+ot.pxmid[0])-ot.labelExtraX)*we>0&&(ot.labelExtraX+=xt)))}for(Ce=0;Ce<2;Ce++)for(ne=Ce?Ne:Ye,me=Ce?Math.max:Math.min,Ee=Ce?1:-1,Me=0;Me<2;Me++){for(ue=Me?Math.max:Math.min,we=Me?1:-1,(Ue=Te[Ce][Me]).sort(ne),De=Te[1-Ce][Me],je=De.concat(Ue),be=[],ge=0;geMath.abs(Ue)?me+="l"+Ue*Me.pxmid[0]/Me.pxmid[1]+","+Ue+"H"+(ue+Me.labelExtraX+we):me+="l"+Me.labelExtraX+","+Ee+"v"+(Ue-Ee)+"h"+we}else me+="V"+(Me.yLabelMid+Me.labelExtraY)+"h"+we;f.ensureSingle(Ce,"path","textline").call(T.stroke,Ae.outsidetextfont.color).attr({"stroke-width":Math.min(2,Ae.outsidetextfont.size/8),d:me,fill:"none"})}else Ce.select("path.textline").remove()})}(ie,te),se&&te.automargin){var xe=m.bBox(Y.node()),pe=te.domain,de=ee.w*(pe.x[1]-pe.x[0]),he=ee.h*(pe.y[1]-pe.y[0]),ye=(.5*de-K.r)/ee.w,ze=(.5*he-K.r)/ee.h;w.autoMargin(N,"pie."+te.uid+".automargin",{xl:pe.x[0]-ye,xr:pe.x[1]+ye,yb:pe.y[0]-ze,yt:pe.y[1]+ze,l:Math.max(K.cx-K.r-xe.left,0),r:Math.max(xe.right-(K.cx+K.r),0),b:Math.max(xe.bottom-(K.cy+K.r),0),t:Math.max(K.cy-K.r-xe.top,0),pad:5})}})});setTimeout(function(){Q.selectAll("tspan").each(function(){var X=_.select(this);X.attr("dy")&&X.attr("dy",X.attr("dy"))})},0)},formatSliceLabel:B,transformInsideText:b,determineInsideTextFont:d,positionTitleOutside:L,prerenderTitles:v,layoutAreas:R,attachFxHandlers:x,computeTransform:G}},68357:function(D,E,e){var _=e(39898),w=e(63463),s=e(72597).resizeText;D.exports=function(T){var m=T._fullLayout._pielayer.selectAll(".trace");s(T,m,"pie"),m.each(function(f){var l=f[0].trace,t=_.select(this);t.style({opacity:l.opacity}),t.selectAll("path.surface").each(function(a){_.select(this).call(w,a,l)})})}},63463:function(D,E,e){var _=e(7901),w=e(53581).castOption;D.exports=function(s,T,m){var f=m.marker.line,l=w(f.color,T.pts)||_.defaultLine,t=w(f.width,T.pts)||0;s.style("stroke-width",t).call(_.fill,T.color).call(_.stroke,l)}},10959:function(D,E,e){var _=e(82196);D.exports={x:_.x,y:_.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:_.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"},transforms:void 0}},42743:function(D,E,e){var _=e(9330).gl_pointcloud2d,w=e(78614),s=e(71739).findExtremes,T=e(34603);function m(l,t){this.scene=l,this.uid=t,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=_(l.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var f=m.prototype;f.handlePick=function(l){var t=this.idToIndex[l.pointId];return{trace:this,dataCoord:l.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*t],this.pickXYData[2*t+1]]:[this.pickXData[t],this.pickYData[t]],textLabel:Array.isArray(this.textLabels)?this.textLabels[t]:this.textLabels,color:this.color,name:this.name,pointIndex:t,hoverinfo:this.hoverinfo}},f.update=function(l){this.index=l.index,this.textLabels=l.text,this.name=l.name,this.hoverinfo=l.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(l),this.color=T(l,{})},f.updateFast=function(l){var t,a,r,n,o,i,u=this.xData=this.pickXData=l.x,p=this.yData=this.pickYData=l.y,c=this.pickXYData=l.xy,x=l.xbounds&&l.ybounds,d=l.indices,v=this.bounds;if(c){if(r=c,t=c.length>>>1,x)v[0]=l.xbounds[0],v[2]=l.xbounds[1],v[1]=l.ybounds[0],v[3]=l.ybounds[1];else for(i=0;iv[2]&&(v[2]=n),ov[3]&&(v[3]=o);if(d)a=d;else for(a=new Int32Array(t),i=0;iv[2]&&(v[2]=n),ov[3]&&(v[3]=o);this.idToIndex=a,this.pointcloudOptions.idToIndex=a,this.pointcloudOptions.positions=r;var b=w(l.marker.color),g=w(l.marker.border.color),y=l.opacity*l.marker.opacity;b[3]*=y,this.pointcloudOptions.color=b;var k=l.marker.blend;k===null&&(k=u.length<100||p.length<100),this.pointcloudOptions.blend=k,g[3]*=y,this.pointcloudOptions.borderColor=g;var h=l.marker.sizemin,M=Math.max(l.marker.sizemax,l.marker.sizemin);this.pointcloudOptions.sizeMin=h,this.pointcloudOptions.sizeMax=M,this.pointcloudOptions.areaRatio=l.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var A=this.scene.xaxis,C=this.scene.yaxis,L=M/2||.5;l._extremes[A._id]=s(A,[v[0],v[2]],{ppad:L}),l._extremes[C._id]=s(C,[v[1],v[3]],{ppad:L})},f.dispose=function(){this.pointcloud.dispose()},D.exports=function(l,t){var a=new m(l,t.uid);return a.update(t),a}},33876:function(D,E,e){var _=e(71828),w=e(10959);D.exports=function(s,T,m){function f(l,t){return _.coerce(s,T,w,l,t)}f("x"),f("y"),f("xbounds"),f("ybounds"),s.xy&&s.xy instanceof Float32Array&&(T.xy=s.xy),s.indices&&s.indices instanceof Int32Array&&(T.indices=s.indices),f("text"),f("marker.color",m),f("marker.opacity"),f("marker.blend"),f("marker.sizemin"),f("marker.sizemax"),f("marker.border.color",m),f("marker.border.arearatio"),T._length=null}},20593:function(D,E,e){D.exports={attributes:e(10959),supplyDefaults:e(33876),calc:e(36563),plot:e(42743),moduleType:"trace",name:"pointcloud",basePlotModule:e(4796),categories:["gl","gl2d","showLegend"],meta:{}}},39953:function(D,E,e){var _=e(41940),w=e(9012),s=e(22399),T=e(77914),m=e(27670).Y,f=e(5386).fF,l=e(50693),t=e(44467).templatedArray,a=e(12663).descriptionOnlyNumbers,r=e(1426).extendFlat,n=e(30962).overrideAll;(D.exports=n({hoverinfo:r({},w.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:T.hoverlabel,domain:m({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s",description:a("value")},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:_({}),customdata:void 0,node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:s.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:T.hoverlabel,hovertemplate:f({},{keys:["value","label"]})},link:{arrowlen:{valType:"number",min:0,dflt:0},label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:s.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:T.hoverlabel,hovertemplate:f({},{keys:["value","label"]}),colorscales:t("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:r(l().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},75536:function(D,E,e){var _=e(30962).overrideAll,w=e(27659).a0,s=e(60436),T=e(528),m=e(6964),f=e(28569),l=e(47322).prepSelect,t=e(71828),a=e(73972),r="sankey";function n(o,i){var u=o._fullData[i],p=o._fullLayout,c=p.dragmode,x=p.dragmode==="pan"?"move":"crosshair",d=u._bgRect;if(d&&c!=="pan"&&c!=="zoom"){m(d,x);var v={_id:"x",c2p:t.identity,_offset:u._sankey.translateX,_length:u._sankey.width},b={_id:"y",c2p:t.identity,_offset:u._sankey.translateY,_length:u._sankey.height},g={gd:o,element:d.node(),plotinfo:{id:i,xaxis:v,yaxis:b,fillRangeItems:t.noop},subplot:i,xaxes:[v],yaxes:[b],doneFnCompleted:function(y){var k,h=o._fullData[i],M=h.node.groups.slice(),A=[];function C(R){for(var U=h._sankey.graph.nodes,B=0;Bk&&(k=i.source[n]),i.target[n]>k&&(k=i.target[n]);var h,M=k+1;r.node._count=M;var A=r.node.groups,C={};for(n=0;n0&&m(B,M)&&m(G,M)&&(!C.hasOwnProperty(B)||!C.hasOwnProperty(G)||C[B]!==C[G])){C.hasOwnProperty(G)&&(G=C[G]),C.hasOwnProperty(B)&&(B=C[B]),G=+G,x[B=+B]=x[G]=!0;var N="";i.label&&i.label[n]&&(N=i.label[n]);var j=null;N&&d.hasOwnProperty(N)&&(j=d[N]),u.push({pointNumber:n,label:N,color:p?i.color[n]:i.color,customdata:c?i.customdata[n]:i.customdata,concentrationscale:j,source:B,target:G,value:+U}),R.source.push(B),R.target.push(G)}}var V=M+A.length,H=T(o.color),ee=T(o.customdata),Q=[];for(n=0;nM-1,childrenNodes:[],pointNumber:n,label:X,color:H?o.color[n]:o.color,customdata:ee?o.customdata[n]:o.customdata})}var Y=!1;return function(K,te,ie){for(var oe=w.init2dArray(K,0),se=0;se1})}(V,R.source,R.target)&&(Y=!0),{circular:Y,links:u,nodes:Q,groups:A,groupLookup:C}}(t);return s({circular:a.circular,_nodes:a.nodes,_links:a.links,_groups:a.groups,_groupLookup:a.groupLookup})}},85247:function(D){D.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeLabel:"node-label"}}},26857:function(D,E,e){var _=e(71828),w=e(39953),s=e(7901),T=e(84267),m=e(27670).c,f=e(38048),l=e(44467),t=e(85501);function a(r,n){function o(i,u){return _.coerce(r,n,w.link.colorscales,i,u)}o("label"),o("cmin"),o("cmax"),o("colorscale")}D.exports=function(r,n,o,i){function u(M,A){return _.coerce(r,n,w,M,A)}var p=_.extendDeep(i.hoverlabel,r.hoverlabel),c=r.node,x=l.newContainer(n,"node");function d(M,A){return _.coerce(c,x,w.node,M,A)}d("label"),d("groups"),d("x"),d("y"),d("pad"),d("thickness"),d("line.color"),d("line.width"),d("hoverinfo",r.hoverinfo),f(c,x,d,p),d("hovertemplate");var v=i.colorway;d("color",x.label.map(function(M,A){return s.addOpacity(function(C){return v[C%v.length]}(A),.8)})),d("customdata");var b=r.link||{},g=l.newContainer(n,"link");function y(M,A){return _.coerce(b,g,w.link,M,A)}y("label"),y("arrowlen"),y("source"),y("target"),y("value"),y("line.color"),y("line.width"),y("hoverinfo",r.hoverinfo),f(b,g,y,p),y("hovertemplate");var k,h=T(i.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)";y("color",_.repeat(h,g.value.length)),y("customdata"),t(b,g,{name:"colorscales",handleItemDefaults:a}),m(n,i,u),u("orientation"),u("valueformat"),u("valuesuffix"),x.x.length&&x.y.length&&(k="freeform"),u("arrangement",k),_.coerceFont(u,"textfont",_.extendFlat({},i.font)),n._length=null}},29396:function(D,E,e){D.exports={attributes:e(39953),supplyDefaults:e(26857),calc:e(92930),plot:e(60436),moduleType:"trace",name:"sankey",basePlotModule:e(75536),selectPoints:e(84564),categories:["noOpacity"],meta:{}}},60436:function(D,E,e){var _=e(39898),w=e(71828),s=w.numberFormat,T=e(3393),m=e(30211),f=e(7901),l=e(85247).cn,t=w._;function a(b){return b!==""}function r(b,g){return b.filter(function(y){return y.key===g.traceId})}function n(b,g){_.select(b).select("path").style("fill-opacity",g),_.select(b).select("rect").style("fill-opacity",g)}function o(b){_.select(b).select("text.name").style("fill","black")}function i(b){return function(g){return b.node.sourceLinks.indexOf(g.link)!==-1||b.node.targetLinks.indexOf(g.link)!==-1}}function u(b){return function(g){return g.node.sourceLinks.indexOf(b.link)!==-1||g.node.targetLinks.indexOf(b.link)!==-1}}function p(b,g,y){g&&y&&r(y,g).selectAll("."+l.sankeyLink).filter(i(g)).call(x.bind(0,g,y,!1))}function c(b,g,y){g&&y&&r(y,g).selectAll("."+l.sankeyLink).filter(i(g)).call(d.bind(0,g,y,!1))}function x(b,g,y,k){var h=k.datum().link.label;k.style("fill-opacity",function(M){if(!M.link.concentrationscale)return .4}),h&&r(g,b).selectAll("."+l.sankeyLink).filter(function(M){return M.link.label===h}).style("fill-opacity",function(M){if(!M.link.concentrationscale)return .4}),y&&r(g,b).selectAll("."+l.sankeyNode).filter(u(b)).call(p)}function d(b,g,y,k){var h=k.datum().link.label;k.style("fill-opacity",function(M){return M.tinyColorAlpha}),h&&r(g,b).selectAll("."+l.sankeyLink).filter(function(M){return M.link.label===h}).style("fill-opacity",function(M){return M.tinyColorAlpha}),y&&r(g,b).selectAll(l.sankeyNode).filter(u(b)).call(c)}function v(b,g){var y=b.hoverlabel||{},k=w.nestedProperty(y,g).get();return!Array.isArray(k)&&k}D.exports=function(b,g){for(var y=b._fullLayout,k=y._paper,h=y._size,M=0;M"),color:v(G,"bgcolor")||f.addOpacity(H.color,1),borderColor:v(G,"bordercolor"),fontFamily:v(G,"font.family"),fontSize:v(G,"font.size"),fontColor:v(G,"font.color"),nameLength:v(G,"namelength"),textAlign:v(G,"align"),idealAlign:_.event.x"),color:v(G,"bgcolor")||B.tinyColorHue,borderColor:v(G,"bordercolor"),fontFamily:v(G,"font.family"),fontSize:v(G,"font.size"),fontColor:v(G,"font.color"),nameLength:v(G,"namelength"),textAlign:v(G,"align"),idealAlign:"left",hovertemplate:G.hovertemplate,hovertemplateLabels:X,eventData:[B.node]},{container:y._hoverlayer.node(),outerContainer:y._paper.node(),gd:b});n(te,.85),o(te)}}},unhover:function(U,B,G){b._fullLayout.hovermode!==!1&&(_.select(U).call(c,B,G),B.node.trace.node.hoverinfo!=="skip"&&(B.node.fullData=B.node.trace,b.emit("plotly_unhover",{event:_.event,points:[B.node]})),m.loneUnhover(y._hoverlayer.node()))},select:function(U,B,G){var N=B.node;N.originalEvent=_.event,b._hoverdata=[N],_.select(U).call(c,B,G),m.click(b,{target:!0})}}})}},3393:function(D,E,e){var _=e(49887),w=e(81684).k4,s=e(39898),T=e(30838),m=e(86781),f=e(85247),l=e(84267),t=e(7901),a=e(91424),r=e(71828),n=r.strTranslate,o=r.strRotate,i=e(28984),u=i.keyFun,p=i.repeat,c=i.unwrap,x=e(63893),d=e(73972),v=e(18783),b=v.CAP_SHIFT,g=v.LINE_SPACING;function y(V,H,ee){var Q,X=c(H),Y=X.trace,K=Y.domain,te=Y.orientation==="h",ie=Y.node.pad,oe=Y.node.thickness,se=V.width*(K.x[1]-K.x[0]),ce=V.height*(K.y[1]-K.y[0]),xe=X._nodes,pe=X._links,de=X.circular;(Q=de?m.sankeyCircular().circularLinkGap(0):T.sankey()).iterations(f.sankeyIterations).size(te?[se,ce]:[ce,se]).nodeWidth(oe).nodePadding(ie).nodeId(function(we){return we.pointNumber}).nodes(xe).links(pe);var he,ye,ze,Te=Q();for(var Ae in Q.nodePadding()be+oe&&(ge+=1,Ee=Se.x0),be=Se.x0,je[ge]||(je[ge]=[]),je[ge].push(Se),Ue=Ee-Se.x0,Se.x0+=Ue,Se.x1+=Ue}return je}(xe=Te.nodes).forEach(function(we){var Ee,Ue,De,je=0,ge=we.length;for(we.sort(function(be,Se){return be.y0-Se.y0}),De=0;De=je||(Ue=je-Ee.y0)>1e-6&&(Ee.y0+=Ue,Ee.y1+=Ue),je=Ee.y1+ie}),Q.update(Te)}return{circular:de,key:ee,trace:Y,guid:r.randstr(),horizontal:te,width:se,height:ce,nodePad:Y.node.pad,nodeLineColor:Y.node.line.color,nodeLineWidth:Y.node.line.width,linkLineColor:Y.link.line.color,linkLineWidth:Y.link.line.width,linkArrowLength:Y.link.arrowlen,valueFormat:Y.valueformat,valueSuffix:Y.valuesuffix,textFont:Y.textfont,translateX:K.x[0]*V.width+V.margin.l,translateY:V.height-K.y[1]*V.height+V.margin.t,dragParallel:te?ce:se,dragPerpendicular:te?se:ce,arrangement:Y.arrangement,sankey:Q,graph:Te,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function k(V,H,ee){var Q=l(H.color),X=H.source.label+"|"+H.target.label+"__"+ee;return H.trace=V.trace,H.curveNumber=V.trace.index,{circular:V.circular,key:X,traceId:V.key,pointNumber:H.pointNumber,link:H,tinyColorHue:t.tinyRGB(Q),tinyColorAlpha:Q.getAlpha(),linkPath:h,linkLineColor:V.linkLineColor,linkLineWidth:V.linkLineWidth,linkArrowLength:V.linkArrowLength,valueFormat:V.valueFormat,valueSuffix:V.valueSuffix,sankey:V.sankey,parent:V,interactionState:V.interactionState,flow:H.flow}}function h(){return function(V){var H=V.linkArrowLength;if(V.link.circular)return function(ye,ze){var Te=ye.width/2,Ae=ye.circularPathData;return ye.circularLinkType==="top"?"M "+(Ae.targetX-ze)+" "+(Ae.targetY+Te)+" L"+(Ae.rightInnerExtent-ze)+" "+(Ae.targetY+Te)+"A"+(Ae.rightLargeArcRadius+Te)+" "+(Ae.rightSmallArcRadius+Te)+" 0 0 1 "+(Ae.rightFullExtent-Te-ze)+" "+(Ae.targetY-Ae.rightSmallArcRadius)+"L"+(Ae.rightFullExtent-Te-ze)+" "+Ae.verticalRightInnerExtent+"A"+(Ae.rightLargeArcRadius+Te)+" "+(Ae.rightLargeArcRadius+Te)+" 0 0 1 "+(Ae.rightInnerExtent-ze)+" "+(Ae.verticalFullExtent-Te)+"L"+Ae.leftInnerExtent+" "+(Ae.verticalFullExtent-Te)+"A"+(Ae.leftLargeArcRadius+Te)+" "+(Ae.leftLargeArcRadius+Te)+" 0 0 1 "+(Ae.leftFullExtent+Te)+" "+Ae.verticalLeftInnerExtent+"L"+(Ae.leftFullExtent+Te)+" "+(Ae.sourceY-Ae.leftSmallArcRadius)+"A"+(Ae.leftLargeArcRadius+Te)+" "+(Ae.leftSmallArcRadius+Te)+" 0 0 1 "+Ae.leftInnerExtent+" "+(Ae.sourceY+Te)+"L"+Ae.sourceX+" "+(Ae.sourceY+Te)+"L"+Ae.sourceX+" "+(Ae.sourceY-Te)+"L"+Ae.leftInnerExtent+" "+(Ae.sourceY-Te)+"A"+(Ae.leftLargeArcRadius-Te)+" "+(Ae.leftSmallArcRadius-Te)+" 0 0 0 "+(Ae.leftFullExtent-Te)+" "+(Ae.sourceY-Ae.leftSmallArcRadius)+"L"+(Ae.leftFullExtent-Te)+" "+Ae.verticalLeftInnerExtent+"A"+(Ae.leftLargeArcRadius-Te)+" "+(Ae.leftLargeArcRadius-Te)+" 0 0 0 "+Ae.leftInnerExtent+" "+(Ae.verticalFullExtent+Te)+"L"+(Ae.rightInnerExtent-ze)+" "+(Ae.verticalFullExtent+Te)+"A"+(Ae.rightLargeArcRadius-Te)+" "+(Ae.rightLargeArcRadius-Te)+" 0 0 0 "+(Ae.rightFullExtent+Te-ze)+" "+Ae.verticalRightInnerExtent+"L"+(Ae.rightFullExtent+Te-ze)+" "+(Ae.targetY-Ae.rightSmallArcRadius)+"A"+(Ae.rightLargeArcRadius-Te)+" "+(Ae.rightSmallArcRadius-Te)+" 0 0 0 "+(Ae.rightInnerExtent-ze)+" "+(Ae.targetY-Te)+"L"+(Ae.targetX-ze)+" "+(Ae.targetY-Te)+(ze>0?"L"+Ae.targetX+" "+Ae.targetY:"")+"Z":"M "+(Ae.targetX-ze)+" "+(Ae.targetY-Te)+" L"+(Ae.rightInnerExtent-ze)+" "+(Ae.targetY-Te)+"A"+(Ae.rightLargeArcRadius+Te)+" "+(Ae.rightSmallArcRadius+Te)+" 0 0 0 "+(Ae.rightFullExtent-Te-ze)+" "+(Ae.targetY+Ae.rightSmallArcRadius)+"L"+(Ae.rightFullExtent-Te-ze)+" "+Ae.verticalRightInnerExtent+"A"+(Ae.rightLargeArcRadius+Te)+" "+(Ae.rightLargeArcRadius+Te)+" 0 0 0 "+(Ae.rightInnerExtent-ze)+" "+(Ae.verticalFullExtent+Te)+"L"+Ae.leftInnerExtent+" "+(Ae.verticalFullExtent+Te)+"A"+(Ae.leftLargeArcRadius+Te)+" "+(Ae.leftLargeArcRadius+Te)+" 0 0 0 "+(Ae.leftFullExtent+Te)+" "+Ae.verticalLeftInnerExtent+"L"+(Ae.leftFullExtent+Te)+" "+(Ae.sourceY+Ae.leftSmallArcRadius)+"A"+(Ae.leftLargeArcRadius+Te)+" "+(Ae.leftSmallArcRadius+Te)+" 0 0 0 "+Ae.leftInnerExtent+" "+(Ae.sourceY-Te)+"L"+Ae.sourceX+" "+(Ae.sourceY-Te)+"L"+Ae.sourceX+" "+(Ae.sourceY+Te)+"L"+Ae.leftInnerExtent+" "+(Ae.sourceY+Te)+"A"+(Ae.leftLargeArcRadius-Te)+" "+(Ae.leftSmallArcRadius-Te)+" 0 0 1 "+(Ae.leftFullExtent-Te)+" "+(Ae.sourceY+Ae.leftSmallArcRadius)+"L"+(Ae.leftFullExtent-Te)+" "+Ae.verticalLeftInnerExtent+"A"+(Ae.leftLargeArcRadius-Te)+" "+(Ae.leftLargeArcRadius-Te)+" 0 0 1 "+Ae.leftInnerExtent+" "+(Ae.verticalFullExtent-Te)+"L"+(Ae.rightInnerExtent-ze)+" "+(Ae.verticalFullExtent-Te)+"A"+(Ae.rightLargeArcRadius-Te)+" "+(Ae.rightLargeArcRadius-Te)+" 0 0 1 "+(Ae.rightFullExtent+Te-ze)+" "+Ae.verticalRightInnerExtent+"L"+(Ae.rightFullExtent+Te-ze)+" "+(Ae.targetY+Ae.rightSmallArcRadius)+"A"+(Ae.rightLargeArcRadius-Te)+" "+(Ae.rightSmallArcRadius-Te)+" 0 0 1 "+(Ae.rightInnerExtent-ze)+" "+(Ae.targetY+Te)+"L"+(Ae.targetX-ze)+" "+(Ae.targetY+Te)+(ze>0?"L"+Ae.targetX+" "+Ae.targetY:"")+"Z"}(V.link,H);var ee=Math.abs((V.link.target.x0-V.link.source.x1)/2);H>ee&&(H=ee);var Q=V.link.source.x1,X=V.link.target.x0-H,Y=w(Q,X),K=Y(.5),te=Y(.5),ie=V.link.y0-V.link.width/2,oe=V.link.y0+V.link.width/2,se=V.link.y1-V.link.width/2,ce=V.link.y1+V.link.width/2,xe="M"+Q+","+ie,pe="C"+K+","+ie+" "+te+","+se+" "+X+","+se,de="C"+te+","+ce+" "+K+","+oe+" "+Q+","+oe,he=H>0?"L"+(X+H)+","+(se+V.link.width/2):"";return xe+pe+(he+="L"+X+","+ce)+de+"Z"}}function M(V,H){var ee=l(H.color),Q=f.nodePadAcross,X=V.nodePad/2;H.dx=H.x1-H.x0,H.dy=H.y1-H.y0;var Y=H.dx,K=Math.max(.5,H.dy),te="node_"+H.pointNumber;return H.group&&(te=r.randstr()),H.trace=V.trace,H.curveNumber=V.trace.index,{index:H.pointNumber,key:te,partOfGroup:H.partOfGroup||!1,group:H.group,traceId:V.key,trace:V.trace,node:H,nodePad:V.nodePad,nodeLineColor:V.nodeLineColor,nodeLineWidth:V.nodeLineWidth,textFont:V.textFont,size:V.horizontal?V.height:V.width,visibleWidth:Math.ceil(Y),visibleHeight:K,zoneX:-Q,zoneY:-X,zoneWidth:Y+2*Q,zoneHeight:K+2*X,labelY:V.horizontal?H.dy/2+1:H.dx/2+1,left:H.originalLayer===1,sizeAcross:V.width,forceLayouts:V.forceLayouts,horizontal:V.horizontal,darkBackground:ee.getBrightness()<=128,tinyColorHue:t.tinyRGB(ee),tinyColorAlpha:ee.getAlpha(),valueFormat:V.valueFormat,valueSuffix:V.valueSuffix,sankey:V.sankey,graph:V.graph,arrangement:V.arrangement,uniqueNodeLabelPathId:[V.guid,V.key,te].join("_"),interactionState:V.interactionState,figure:V}}function A(V){V.attr("transform",function(H){return n(H.node.x0.toFixed(3),H.node.y0.toFixed(3))})}function C(V){V.call(A)}function L(V,H){V.call(C),H.attr("d",h())}function P(V){V.attr("width",function(H){return H.node.x1-H.node.x0}).attr("height",function(H){return H.visibleHeight})}function I(V){return V.link.width>1||V.linkLineWidth>0}function R(V){return n(V.translateX,V.translateY)+(V.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function U(V,H,ee){V.on(".basic",null).on("mouseover.basic",function(Q){Q.interactionState.dragInProgress||Q.partOfGroup||(ee.hover(this,Q,H),Q.interactionState.hovered=[this,Q])}).on("mousemove.basic",function(Q){Q.interactionState.dragInProgress||Q.partOfGroup||(ee.follow(this,Q),Q.interactionState.hovered=[this,Q])}).on("mouseout.basic",function(Q){Q.interactionState.dragInProgress||Q.partOfGroup||(ee.unhover(this,Q,H),Q.interactionState.hovered=!1)}).on("click.basic",function(Q){Q.interactionState.hovered&&(ee.unhover(this,Q,H),Q.interactionState.hovered=!1),Q.interactionState.dragInProgress||Q.partOfGroup||ee.select(this,Q,H)})}function B(V,H,ee,Q){var X=s.behavior.drag().origin(function(Y){return{x:Y.node.x0+Y.visibleWidth/2,y:Y.node.y0+Y.visibleHeight/2}}).on("dragstart",function(Y){if(Y.arrangement!=="fixed"&&(r.ensureSingle(Q._fullLayout._infolayer,"g","dragcover",function(te){Q._fullLayout._dragCover=te}),r.raiseToTop(this),Y.interactionState.dragInProgress=Y.node,N(Y.node),Y.interactionState.hovered&&(ee.nodeEvents.unhover.apply(0,Y.interactionState.hovered),Y.interactionState.hovered=!1),Y.arrangement==="snap")){var K=Y.traceId+"|"+Y.key;Y.forceLayouts[K]?Y.forceLayouts[K].alpha(1):function(te,ie,oe,se){(function(xe){for(var pe=0;pe0&&he.forceLayouts[pe].alpha(0)}}(0,ie,ce,oe)).stop()}(0,K,Y),function(te,ie,oe,se,ce){window.requestAnimationFrame(function xe(){var pe;for(pe=0;pe0)window.requestAnimationFrame(xe);else{var de=oe.node.originalX;oe.node.x0=de-oe.visibleWidth/2,oe.node.x1=de+oe.visibleWidth/2,G(oe,ce)}})}(V,H,Y,K,Q)}}).on("drag",function(Y){if(Y.arrangement!=="fixed"){var K=s.event.x,te=s.event.y;Y.arrangement==="snap"?(Y.node.x0=K-Y.visibleWidth/2,Y.node.x1=K+Y.visibleWidth/2,Y.node.y0=te-Y.visibleHeight/2,Y.node.y1=te+Y.visibleHeight/2):(Y.arrangement==="freeform"&&(Y.node.x0=K-Y.visibleWidth/2,Y.node.x1=K+Y.visibleWidth/2),te=Math.max(0,Math.min(Y.size-Y.visibleHeight/2,te)),Y.node.y0=te-Y.visibleHeight/2,Y.node.y1=te+Y.visibleHeight/2),N(Y.node),Y.arrangement!=="snap"&&(Y.sankey.update(Y.graph),L(V.filter(j(Y)),H))}}).on("dragend",function(Y){if(Y.arrangement!=="fixed"){Y.interactionState.dragInProgress=!1;for(var K=0;Kd&&B[b].gap;)b--;for(y=B[b].s,v=B.length-1;v>b;v--)B[v].s=y;for(;dL[o]&&o=0;o--){var i=T[o];if(i.type==="scatter"&&i.xaxis===r.xaxis&&i.yaxis===r.yaxis){i.opacity=void 0;break}}}}}},17438:function(D,E,e){var _=e(71828),w=e(73972),s=e(82196),T=e(47581),m=e(34098),f=e(67513),l=e(73927),t=e(565),a=e(49508),r=e(11058),n=e(94039),o=e(82410),i=e(28908),u=e(71828).coercePattern;D.exports=function(p,c,x,d){function v(C,L){return _.coerce(p,c,s,C,L)}var b=f(p,c,d,v);if(b||(c.visible=!1),c.visible){l(p,c,d,v),v("xhoverformat"),v("yhoverformat");var g=t(p,c,d,v);d.scattermode==="group"&&c.orientation===void 0&&v("orientation","v");var y=!g&&b=Math.min(de,he)&&p<=Math.max(de,he)?0:1/0}var ye=Math.max(3,pe.mrc||0),ze=1-1/ye,Te=Math.abs(i.c2p(pe.x)-p);return Te=Math.min(de,he)&&c<=Math.max(de,he)?0:1/0}var ye=Math.max(3,pe.mrc||0),ze=1-1/ye,Te=Math.abs(u.c2p(pe.y)-c);return Tece!=(Q=N[B][1])>=ce&&(V=N[B-1][0],H=N[B][0],Q-ee&&(j=V+(H-V)*(ce-ee)/(Q-ee),te=Math.min(te,j),ie=Math.max(ie,j)));te=Math.max(te,0),ie=Math.min(ie,i._length);var xe=m.defaultLine;return m.opacity(o.fillcolor)?xe=o.fillcolor:m.opacity((o.line||{}).color)&&(xe=o.line.color),_.extendFlat(l,{distance:l.maxHoverDistance,x0:te,x1:ie,y0:ce,y1:ce,color:xe,hovertemplate:!1}),delete l.index,o.text&&!Array.isArray(o.text)?l.text=String(o.text):l.text=o.name,[l]}}}},67368:function(D,E,e){var _=e(34098);D.exports={hasLines:_.hasLines,hasMarkers:_.hasMarkers,hasText:_.hasText,isBubble:_.isBubble,attributes:e(82196),layoutAttributes:e(21479),supplyDefaults:e(17438),crossTraceDefaults:e(34936),supplyLayoutDefaults:e(79334),calc:e(47761).calc,crossTraceCalc:e(72626),arraysToCalcdata:e(75225),plot:e(32663),colorbar:e(4898),formatLabels:e(8225),style:e(16296).style,styleOnSelect:e(16296).styleOnSelect,hoverPoints:e(33720),selectPoints:e(98002),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:e(93612),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},21479:function(D){D.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}},79334:function(D,E,e){var _=e(71828),w=e(21479);D.exports=function(s,T){var m,f=T.barmode==="group";T.scattermode==="group"&&(m=f?T.bargap:.2,_.coerce(s,T,w,"scattergap",m))}},11058:function(D,E,e){var _=e(71828).isArrayOrTypedArray,w=e(52075).hasColorscale,s=e(1586);D.exports=function(T,m,f,l,t,a){a||(a={});var r=(T.marker||{}).color;t("line.color",f),w(T,"line")?s(T,m,l,t,{prefix:"line.",cLetter:"c"}):t("line.color",!_(r)&&r||f),t("line.width"),a.noDash||t("line.dash"),a.backoff&&t("line.backoff")}},34621:function(D,E,e){var _=e(91424),w=e(50606),s=w.BADNUM,T=w.LOG_CLIP,m=T+.5,f=T-.5,l=e(71828),t=l.segmentsIntersect,a=l.constrain,r=e(47581);D.exports=function(n,o){var i,u,p,c,x,d,v,b,g,y,k,h,M,A,C,L,P,I,R=o.trace||{},U=o.xaxis,B=o.yaxis,G=U.type==="log",N=B.type==="log",j=U._length,V=B._length,H=o.backoff,ee=R.marker,Q=o.connectGaps,X=o.baseTolerance,Y=o.shape,K=Y==="linear",te=R.fill&&R.fill!=="none",ie=[],oe=r.minTolerance,se=n.length,ce=new Array(se),xe=0;function pe(Nt){var Je=n[Nt];if(!Je)return!1;var Ke=o.linearized?U.l2p(Je.x):U.c2p(Je.x),Ge=o.linearized?B.l2p(Je.y):B.c2p(Je.y);if(Ke===s){if(G&&(Ke=U.c2p(Je.x,!0)),Ke===s)return!1;N&&Ge===s&&(Ke*=Math.abs(U._m*V*(U._m>0?m:f)/(B._m*j*(B._m>0?m:f)))),Ke*=1e3}if(Ge===s){if(N&&(Ge=B.c2p(Je.y,!0)),Ge===s)return!1;Ge*=1e3}return[Ke,Ge]}function de(Nt,Je,Ke,Ge){var nt=Ke-Nt,ht=Ge-Je,Oe=.5-Nt,Be=.5-Je,Qe=nt*nt+ht*ht,ut=nt*Oe+ht*Be;if(ut>0&&utEe||Nt[1]De)return[a(Nt[0],we,Ee),a(Nt[1],Ue,De)]}function be(Nt,Je){return Nt[0]===Je[0]&&(Nt[0]===we||Nt[0]===Ee)||Nt[1]===Je[1]&&(Nt[1]===Ue||Nt[1]===De)||void 0}function Se(Nt,Je,Ke){return function(Ge,nt){var ht=ge(Ge),Oe=ge(nt),Be=[];if(ht&&Oe&&be(ht,Oe))return Be;ht&&Be.push(ht),Oe&&Be.push(Oe);var Qe=2*l.constrain((Ge[Nt]+nt[Nt])/2,Je,Ke)-((ht||Ge)[Nt]+(Oe||nt)[Nt]);return Qe&&((ht&&Oe?Qe>0==ht[Nt]>Oe[Nt]?ht:Oe:ht||Oe)[Nt]+=Qe),Be}}function Ne(Nt){var Je=Nt[0],Ke=Nt[1],Ge=Je===ce[xe-1][0],nt=Ke===ce[xe-1][1];if(!Ge||!nt)if(xe>1){var ht=Je===ce[xe-2][0],Oe=Ke===ce[xe-2][1];Ge&&(Je===we||Je===Ee)&&ht?Oe?xe--:ce[xe-1]=Nt:nt&&(Ke===Ue||Ke===De)&&Oe?ht?xe--:ce[xe-1]=Nt:ce[xe++]=Nt}else ce[xe++]=Nt}function Ye(Nt){ce[xe-1][0]!==Nt[0]&&ce[xe-1][1]!==Nt[1]&&Ne([Ae,Me]),Ne(Nt),Ce=null,Ae=Me=0}Y==="linear"||Y==="spline"?ue=function(Nt,Je){for(var Ke=[],Ge=0,nt=0;nt<4;nt++){var ht=je[nt],Oe=t(Nt[0],Nt[1],Je[0],Je[1],ht[0],ht[1],ht[2],ht[3]);Oe&&(!Ge||Math.abs(Oe.x-Ke[0][0])>1||Math.abs(Oe.y-Ke[0][1])>1)&&(Oe=[Oe.x,Oe.y],Ge&&ye(Oe,Nt)Ee?Ee:0,Te=Nt[1]De?De:0,ze||Te){if(xe)if(Ce){var Je=ue(Ce,Nt);Je.length>1&&(Ye(Je[0]),ce[xe++]=Je[1])}else ne=ue(ce[xe-1],Nt)[0],ce[xe++]=ne;else ce[xe++]=[ze||Nt[0],Te||Nt[1]];var Ke=ce[xe-1];ze&&Te&&(Ke[0]!==ze||Ke[1]!==Te)?(Ce&&(Ae!==ze&&Me!==Te?Ne(Ae&&Me?(Ge=Ce,ht=(nt=Nt)[0]-Ge[0],Oe=(nt[1]-Ge[1])/ht,(Ge[1]*nt[0]-nt[1]*Ge[0])/ht>0?[Oe>0?we:Ee,De]:[Oe>0?Ee:we,Ue]):[Ae||ze,Me||Te]):Ae&&Me&&Ne([Ae,Me])),Ne([ze,Te])):Ae-ze&&Me-Te&&Ne([ze||Ae,Te||Me]),Ce=Nt,Ae=ze,Me=Te}else Ce&&Ye(ue(Ce,Nt)[0]),ce[xe++]=Nt;var Ge,nt,ht,Oe}for(i=0;ihe(d,ot))break;p=d,(M=g[0]*b[0]+g[1]*b[1])>k?(k=M,c=d,v=!1):M=n.length||!d)break;st(d),u=d}}else st(c)}Ce&&Ne([Ae||Ce[0],Me||Ce[1]]),ie.push(ce.slice(0,xe))}var ft=Y.slice(Y.length-1);if(H&&ft!=="h"&&ft!=="v"){for(var yt=!1,Et=-1,Tt=[],xt=0;xt=0?l=o:(l=o=n,n++),l0?Math.max(a,f):0}}},4898:function(D){D.exports={container:"marker",min:"cmin",max:"cmax"}},49508:function(D,E,e){var _=e(7901),w=e(52075).hasColorscale,s=e(1586),T=e(34098);D.exports=function(m,f,l,t,a,r){var n=T.isBubble(m),o=(m.line||{}).color;r=r||{},o&&(l=o),a("marker.symbol"),a("marker.opacity",n?.7:1),a("marker.size"),r.noAngle||(a("marker.angle"),r.noAngleRef||a("marker.angleref"),r.noStandOff||a("marker.standoff")),a("marker.color",l),w(m,"marker")&&s(m,f,t,a,{prefix:"marker.",cLetter:"c"}),r.noSelect||(a("selected.marker.color"),a("unselected.marker.color"),a("selected.marker.size"),a("unselected.marker.size")),r.noLine||(a("marker.line.color",o&&!Array.isArray(o)&&f.marker.color!==o?o:n?_.background:_.defaultLine),w(m,"marker.line")&&s(m,f,t,a,{prefix:"marker.line.",cLetter:"c"}),a("marker.line.width",n?1:0)),n&&(a("marker.sizeref"),a("marker.sizemin"),a("marker.sizemode")),r.gradient&&a("marker.gradient.type")!=="none"&&a("marker.gradient.color")}},73927:function(D,E,e){var _=e(71828).dateTick0,w=e(50606).ONEWEEK;function s(T,m){return _(m,T%w==0?1:0)}D.exports=function(T,m,f,l,t){if(t||(t={x:!0,y:!0}),t.x){var a=l("xperiod");a&&(l("xperiod0",s(a,m.xcalendar)),l("xperiodalignment"))}if(t.y){var r=l("yperiod");r&&(l("yperiod0",s(r,m.ycalendar)),l("yperiodalignment"))}}},32663:function(D,E,e){var _=e(39898),w=e(73972),s=e(71828),T=s.ensureSingle,m=s.identity,f=e(91424),l=e(34098),t=e(34621),a=e(68687),r=e(61082).tester;function n(o,i,u,p,c,x,d){var v,b=o._context.staticPlot;(function(ue,me,we,Ee,Ue){var De=we.xaxis,je=we.yaxis,ge=_.extent(s.simpleMap(De.range,De.r2c)),be=_.extent(s.simpleMap(je.range,je.r2c)),Se=Ee[0].trace;if(l.hasMarkers(Se)){var Ne=Se.marker.maxdisplayed;if(Ne!==0){var Ye=Ee.filter(function(ft){return ft.x>=ge[0]&&ft.x<=ge[1]&&ft.y>=be[0]&&ft.y<=be[1]}),Ze=Math.ceil(Ye.length/Ne),st=0;Ue.forEach(function(ft,yt){var Et=ft[0].trace;l.hasMarkers(Et)&&Et.marker.maxdisplayed>0&&yt0;function y(ue){return g?ue.transition():ue}var k=u.xaxis,h=u.yaxis,M=p[0].trace,A=M.line,C=_.select(x),L=T(C,"g","errorbars"),P=T(C,"g","lines"),I=T(C,"g","points"),R=T(C,"g","text");if(w.getComponentMethod("errorbars","plot")(o,L,u,d),M.visible===!0){var U,B;y(C).style("opacity",M.opacity);var G=M.fill.charAt(M.fill.length-1);G!=="x"&&G!=="y"&&(G=""),p[0][u.isRangePlot?"nodeRangePlot3":"node3"]=C;var N,j,V="",H=[],ee=M._prevtrace;ee&&(V=ee._prevRevpath||"",B=ee._nextFill,H=ee._polygons);var Q,X,Y,K,te,ie,oe,se="",ce="",xe=[],pe=s.noop;if(U=M._ownFill,l.hasLines(M)||M.fill!=="none"){for(B&&B.datum(p),["hv","vh","hvh","vhv"].indexOf(A.shape)!==-1?(Q=f.steps(A.shape),X=f.steps(A.shape.split("").reverse().join(""))):Q=X=A.shape==="spline"?function(ue){var me=ue[ue.length-1];return ue.length>1&&ue[0][0]===me[0]&&ue[0][1]===me[1]?f.smoothclosed(ue.slice(1),A.smoothing):f.smoothopen(ue,A.smoothing)}:function(ue){return"M"+ue.join("L")},Y=function(ue){return X(ue.reverse())},xe=t(p,{xaxis:k,yaxis:h,trace:M,connectGaps:M.connectgaps,baseTolerance:Math.max(A.width||1,3)/4,shape:A.shape,backoff:A.backoff,simplify:A.simplify,fill:M.fill}),oe=M._polygons=new Array(xe.length),v=0;v0,y=a(o,i,u);(d=p.selectAll("g.trace").data(y,function(k){return k[0].trace.uid})).enter().append("g").attr("class",function(k){return"trace scatter trace"+k[0].trace.uid}).style("stroke-miterlimit",2),d.order(),function(k,h,M){h.each(function(A){var C=T(_.select(this),"g","fills");f.setClipUrl(C,M.layerClipId,k);var L=A[0].trace,P=[];L._ownfill&&P.push("_ownFill"),L._nexttrace&&P.push("_nextFill");var I=C.selectAll("g").data(P,m);I.enter().append("g"),I.exit().each(function(R){L[R]=null}).remove(),I.order().each(function(R){L[R]=T(_.select(this),"path","js-fill")})})}(o,d,i),g?(x&&(v=x()),_.transition().duration(c.duration).ease(c.easing).each("end",function(){v&&v()}).each("interrupt",function(){v&&v()}).each(function(){p.selectAll("g.trace").each(function(k,h){n(o,h,i,k,y,this,c)})})):d.each(function(k,h){n(o,h,i,k,y,this,c)}),b&&d.exit().remove(),p.selectAll("path:not([d])").remove()}},98002:function(D,E,e){var _=e(34098);D.exports=function(w,s){var T,m,f,l,t=w.cd,a=w.xaxis,r=w.yaxis,n=[],o=t[0].trace;if(!_.hasMarkers(o)&&!_.hasText(o))return[];if(s===!1)for(T=0;T0){var u=f.c2l(o);f._lowerLogErrorBound||(f._lowerLogErrorBound=u),f._lowerErrorBound=Math.min(f._lowerLogErrorBound,u)}}else t[a]=[-r[0]*m,r[1]*m]}return t}D.exports=function(s,T,m){var f=[w(s.x,s.error_x,T[0],m.xaxis),w(s.y,s.error_y,T[1],m.yaxis),w(s.z,s.error_z,T[2],m.zaxis)],l=function(i){for(var u=0;u-1?-1:h.indexOf("right")>-1?1:0}function d(h){return h==null?0:h.indexOf("top")>-1?-1:h.indexOf("bottom")>-1?1:0}function v(h,M){return M(4*h)}function b(h){return n[h]}function g(h,M,A,C,L){var P=null;if(f.isArrayOrTypedArray(h)){P=[];for(var I=0;I=0){var B=function(G,N,j){var V,H=(j+1)%3,ee=(j+2)%3,Q=[],X=[];for(V=0;V=0&&o("surfacecolor",u||p);for(var c=["x","y","z"],x=0;x<3;++x){var d="projection."+c[x];o(d+".show")&&(o(d+".opacity"),o(d+".scale"))}var v=_.getComponentMethod("errorbars","supplyDefaults");v(t,a,u||p||r,{axis:"z"}),v(t,a,u||p||r,{axis:"y",inherit:"z"}),v(t,a,u||p||r,{axis:"x",inherit:"z"})}else a.visible=!1}},13551:function(D,E,e){D.exports={plot:e(58925),attributes:e(44542),markerSymbols:e(87381),supplyDefaults:e(21428),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:e(36563),moduleType:"trace",name:"scatter3d",basePlotModule:e(58547),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},97001:function(D,E,e){var _=e(82196),w=e(9012),s=e(5386).fF,T=e(5386).si,m=e(50693),f=e(1426).extendFlat,l=_.marker,t=_.line,a=l.line;D.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:f({},_.mode,{dflt:"markers"}),text:f({},_.text,{}),texttemplate:T({editType:"plot"},{keys:["a","b","text"]}),hovertext:f({},_.hovertext,{}),line:{color:t.color,width:t.width,dash:t.dash,backoff:t.backoff,shape:f({},t.shape,{values:["linear","spline"]}),smoothing:t.smoothing,editType:"calc"},connectgaps:_.connectgaps,fill:f({},_.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:_.fillcolor,marker:f({symbol:l.symbol,opacity:l.opacity,maxdisplayed:l.maxdisplayed,angle:l.angle,angleref:l.angleref,standoff:l.standoff,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,line:f({width:a.width,editType:"calc"},m("marker.line")),gradient:l.gradient,editType:"calc"},m("marker")),textfont:_.textfont,textposition:_.textposition,selected:_.selected,unselected:_.unselected,hoverinfo:f({},w.hoverinfo,{flags:["a","b","text","name"]}),hoveron:_.hoveron,hovertemplate:s()}},34618:function(D,E,e){var _=e(92770),w=e(36922),s=e(75225),T=e(66279),m=e(47761).calcMarkerSize,f=e(22882);D.exports=function(l,t){var a=t._carpetTrace=f(l,t);if(a&&a.visible&&a.visible!=="legendonly"){var r;t.xaxis=a.xaxis,t.yaxis=a.yaxis;var n,o,i=t._length,u=new Array(i),p=!1;for(r=0;r")}return l}function v(b,g){var y;y=b.labelprefix&&b.labelprefix.length>0?b.labelprefix.replace(/ = $/,""):b._hovertitle,x.push(y+": "+g.toFixed(3)+b.labelsuffix)}}},46858:function(D,E,e){D.exports={attributes:e(97001),supplyDefaults:e(98965),colorbar:e(4898),formatLabels:e(48953),calc:e(34618),plot:e(1913),style:e(16296).style,styleOnSelect:e(16296).styleOnSelect,hoverPoints:e(22931),selectPoints:e(98002),eventData:e(16165),moduleType:"trace",name:"scattercarpet",basePlotModule:e(93612),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},1913:function(D,E,e){var _=e(32663),w=e(89298),s=e(91424);D.exports=function(T,m,f,l){var t,a,r,n=f[0][0].carpet,o=w.getFromId(T,n.xaxis||"x"),i=w.getFromId(T,n.yaxis||"y"),u={xaxis:o,yaxis:i,plot:m.plot};for(t=0;t")}function B(G){return G+"°"}}(r,c,f,a[0].t.labels),f.hovertemplate=r.hovertemplate,[f]}}},17988:function(D,E,e){D.exports={attributes:e(19316),supplyDefaults:e(10659),colorbar:e(4898),formatLabels:e(82719),calc:e(84622),calcGeoJSON:e(89171).calcGeoJSON,plot:e(89171).plot,style:e(33095),styleOnSelect:e(16296).styleOnSelect,hoverPoints:e(14977),eventData:e(84084),selectPoints:e(20548),moduleType:"trace",name:"scattergeo",basePlotModule:e(44622),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},89171:function(D,E,e){var _=e(39898),w=e(71828),s=e(90973).getTopojsonFeatures,T=e(18214),m=e(41327),f=e(71739).findExtremes,l=e(50606).BADNUM,t=e(47761).calcMarkerSize,a=e(34098),r=e(33095);D.exports={calcGeoJSON:function(n,o){var i,u,p=n[0].trace,c=o[p.geo],x=c._subplot,d=p._length;if(Array.isArray(p.locations)){var v=p.locationmode,b=v==="geojson-id"?m.extractTraceFeature(n):s(p,x.topojson);for(i=0;i=u,M=2*k,A={},C=b.makeCalcdata(x,"x"),L=g.makeCalcdata(x,"y"),P=m(x,b,"x",C),I=m(x,g,"y",L),R=P.vals,U=I.vals;x._x=R,x._y=U,x.xperiodalignment&&(x._origX=C,x._xStarts=P.starts,x._xEnds=P.ends),x.yperiodalignment&&(x._origY=L,x._yStarts=I.starts,x._yEnds=I.ends);var B=new Array(M),G=new Array(k);for(d=0;d1&&w.extendFlat(te.line,n.linePositions(H,Q,X)),te.errorX||te.errorY){var ie=n.errorBarPositions(H,Q,X,Y,K);te.errorX&&w.extendFlat(te.errorX,ie.x),te.errorY&&w.extendFlat(te.errorY,ie.y)}return te.text&&(w.extendFlat(te.text,{positions:X},n.textPosition(H,Q,te.text,te.marker)),w.extendFlat(te.textSel,{positions:X},n.textPosition(H,Q,te.text,te.markerSel)),w.extendFlat(te.textUnsel,{positions:X},n.textPosition(H,Q,te.text,te.markerUnsel))),te}(c,0,x,B,R,U),V=o(c,y);return a(v,x),h?j.marker&&(N=j.marker.sizeAvg||Math.max(j.marker.size,3)):N=l(x,k),t(c,x,b,g,R,U,N),j.errorX&&p(x,b,j.errorX),j.errorY&&p(x,g,j.errorY),j.fill&&!V.fill2d&&(V.fill2d=!0),j.marker&&!V.scatter2d&&(V.scatter2d=!0),j.line&&!V.line2d&&(V.line2d=!0),!j.errorX&&!j.errorY||V.error2d||(V.error2d=!0),j.text&&!V.glText&&(V.glText=!0),j.marker&&(j.marker.snap=k),V.lineOptions.push(j.line),V.errorXOptions.push(j.errorX),V.errorYOptions.push(j.errorY),V.fillOptions.push(j.fill),V.markerOptions.push(j.marker),V.markerSelectedOptions.push(j.markerSel),V.markerUnselectedOptions.push(j.markerUnsel),V.textOptions.push(j.text),V.textSelectedOptions.push(j.textSel),V.textUnselectedOptions.push(j.textUnsel),V.selectBatch.push([]),V.unselectBatch.push([]),A._scene=V,A.index=V.count,A.x=R,A.y=U,A.positions=B,V.count++,[{x:!1,y:!1,t:A,trace:x}]}},78232:function(D){D.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},19635:function(D,E,e){var _=e(92770),w=e(82019),s=e(25075),T=e(73972),m=e(71828),f=e(91424),l=e(41675),t=e(81697).formatColor,a=e(34098),r=e(39984),n=e(68645),o=e(78232),i=e(37822).DESELECTDIM,u={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},p=e(23469).appendArrayPointValue;function c(C,L){var P,I=C._fullLayout,R=L._length,U=L.textfont,B=L.textposition,G=Array.isArray(B)?B:[B],N=U.color,j=U.size,V=U.family,H={},ee=C._context.plotGlPixelRatio,Q=L.texttemplate;if(Q){H.text=[];var X=I._d3locale,Y=Array.isArray(Q),K=Y?Math.min(Q.length,R):R,te=Y?function(de){return Q[de]}:function(){return Q};for(P=0;Po.TOO_MANY_POINTS||a.hasMarkers(L)?"rect":"round";if(j&&L.connectgaps){var H=I[0],ee=I[1];for(R=0;R1?N[R]:N[0]:N,Q=Array.isArray(j)?j.length>1?j[R]:j[0]:j,X=u[ee],Y=u[Q],K=V?V/.8+1:0,te=-Y*K-.5*Y;B.offset[R]=[X*K/H,te/H]}}return B}}},47148:function(D,E,e){var _=e(71828),w=e(73972),s=e(68645),T=e(42341),m=e(47581),f=e(34098),l=e(67513),t=e(73927),a=e(49508),r=e(11058),n=e(28908),o=e(82410);D.exports=function(i,u,p,c){function x(M,A){return _.coerce(i,u,T,M,A)}var d=!!i.marker&&s.isOpenSymbol(i.marker.symbol),v=f.isBubble(i),b=l(i,u,c,x);if(b){t(i,u,c,x),x("xhoverformat"),x("yhoverformat");var g=b100},E.isDotSymbol=function(w){return typeof w=="string"?_.DOT_RE.test(w):w>200}},20794:function(D,E,e){var _=e(73972),w=e(71828),s=e(34603);function T(m,f,l,t){var a=m.xa,r=m.ya,n=m.distance,o=m.dxy,i=m.index,u={pointNumber:i,x:f[i],y:l[i]};u.tx=Array.isArray(t.text)?t.text[i]:t.text,u.htx=Array.isArray(t.hovertext)?t.hovertext[i]:t.hovertext,u.data=Array.isArray(t.customdata)?t.customdata[i]:t.customdata,u.tp=Array.isArray(t.textposition)?t.textposition[i]:t.textposition;var p=t.textfont;p&&(u.ts=w.isArrayOrTypedArray(p.size)?p.size[i]:p.size,u.tc=Array.isArray(p.color)?p.color[i]:p.color,u.tf=Array.isArray(p.family)?p.family[i]:p.family);var c=t.marker;c&&(u.ms=w.isArrayOrTypedArray(c.size)?c.size[i]:c.size,u.mo=w.isArrayOrTypedArray(c.opacity)?c.opacity[i]:c.opacity,u.mx=w.isArrayOrTypedArray(c.symbol)?c.symbol[i]:c.symbol,u.ma=w.isArrayOrTypedArray(c.angle)?c.angle[i]:c.angle,u.mc=w.isArrayOrTypedArray(c.color)?c.color[i]:c.color);var x=c&&c.line;x&&(u.mlc=Array.isArray(x.color)?x.color[i]:x.color,u.mlw=w.isArrayOrTypedArray(x.width)?x.width[i]:x.width);var d=c&&c.gradient;d&&d.type!=="none"&&(u.mgt=Array.isArray(d.type)?d.type[i]:d.type,u.mgc=Array.isArray(d.color)?d.color[i]:d.color);var v=a.c2p(u.x,!0),b=r.c2p(u.y,!0),g=u.mrc||1,y=t.hoverlabel;y&&(u.hbg=Array.isArray(y.bgcolor)?y.bgcolor[i]:y.bgcolor,u.hbc=Array.isArray(y.bordercolor)?y.bordercolor[i]:y.bordercolor,u.hts=w.isArrayOrTypedArray(y.font.size)?y.font.size[i]:y.font.size,u.htc=Array.isArray(y.font.color)?y.font.color[i]:y.font.color,u.htf=Array.isArray(y.font.family)?y.font.family[i]:y.font.family,u.hnl=w.isArrayOrTypedArray(y.namelength)?y.namelength[i]:y.namelength);var k=t.hoverinfo;k&&(u.hi=Array.isArray(k)?k[i]:k);var h=t.hovertemplate;h&&(u.ht=Array.isArray(h)?h[i]:h);var M={};M[m.index]=u;var A=t._origX,C=t._origY,L=w.extendFlat({},m,{color:s(t,u),x0:v-g,x1:v+g,xLabelVal:A?A[i]:u.x,y0:b-g,y1:b+g,yLabelVal:C?C[i]:u.y,cd:M,distance:n,spikeDistance:o,hovertemplate:u.ht});return u.htx?L.text=u.htx:u.tx?L.text=u.tx:t.text&&(L.text=t.text),w.fillText(u,t,L),_.getComponentMethod("errorbars","hoverInfo")(u,t,L),L}D.exports={hoverPoints:function(m,f,l,t){var a,r,n,o,i,u,p,c,x,d,v=m.cd,b=v[0].t,g=v[0].trace,y=m.xa,k=m.ya,h=b.x,M=b.y,A=y.c2p(f),C=k.c2p(l),L=m.distance;if(b.tree){var P=y.p2c(A-L),I=y.p2c(A+L),R=k.p2c(C-L),U=k.p2c(C+L);a=t==="x"?b.tree.range(Math.min(P,I),Math.min(k._rl[0],k._rl[1]),Math.max(P,I),Math.max(k._rl[0],k._rl[1])):b.tree.range(Math.min(P,I),Math.min(R,U),Math.max(P,I),Math.max(R,U))}else a=b.ids;var B=L;if(t==="x"){var G=!!g.xperiodalignment,N=!!g.yperiodalignment;for(u=0;u=Math.min(j,V)&&A<=Math.max(j,V)?0:1/0}if(p=Math.min(H,ee)&&C<=Math.max(H,ee)?0:1/0}d=Math.sqrt(p*p+c*c),n=a[u]}}}else for(u=a.length-1;u>-1;u--)o=h[r=a[u]],i=M[r],p=y.c2p(o)-A,c=k.c2p(i)-C,(x=Math.sqrt(p*p+c*c))v.glText.length){var h=y-v.glText.length;for(c=0;cse&&(isNaN(oe[ce])||isNaN(oe[ce+1]));)ce-=2;ie.positions=oe.slice(se,ce+2)}return ie}),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=m.repeat(null,y),v.fill2d&&(v.fillOptions=v.fillOptions.map(function(ie,oe){var se=p[oe];if(ie&&se&&se[0]&&se[0].trace){var ce,xe,pe=se[0],de=pe.trace,he=pe.t,ye=v.lineOptions[oe],ze=[];de._ownfill&&ze.push(oe),de._nexttrace&&ze.push(oe+1),ze.length&&(v.fillOrder[oe]=ze);var Te,Ae,Me=[],Ce=ye&&ye.positions||he.positions;if(de.fill==="tozeroy"){for(Te=0;TeTe&&isNaN(Ce[Ae+1]);)Ae-=2;Ce[Te+1]!==0&&(Me=[Ce[Te],0]),Me=Me.concat(Ce.slice(Te,Ae+2)),Ce[Ae+1]!==0&&(Me=Me.concat([Ce[Ae],0]))}else if(de.fill==="tozerox"){for(Te=0;TeTe&&isNaN(Ce[Ae]);)Ae-=2;Ce[Te]!==0&&(Me=[0,Ce[Te+1]]),Me=Me.concat(Ce.slice(Te,Ae+2)),Ce[Ae]!==0&&(Me=Me.concat([0,Ce[Ae+1]]))}else if(de.fill==="toself"||de.fill==="tonext"){for(Me=[],ce=0,ie.splitNull=!0,xe=0;xe-1;for(c=0;c")}function x(d){return d+"°"}}D.exports={hoverPoints:function(t,a,r){var n=t.cd,o=n[0].trace,i=t.xa,u=t.ya,p=t.subplot,c=[],x=f+o.uid+"-circle",d=o.cluster&&o.cluster.enabled;if(d){var v=p.map.queryRenderedFeatures(null,{layers:[x]});c=v.map(function(I){return I.id})}var b=360*(a>=0?Math.floor((a+180)/360):Math.ceil((a-180)/360)),g=a-b;if(_.getClosest(n,function(I){var R=I.lonlat;if(R[0]===m||d&&c.indexOf(I.i+1)===-1)return 1/0;var U=w.modHalf(R[0],360),B=R[1],G=p.project([U,B]),N=G.x-i.c2p([g,B]),j=G.y-u.c2p([U,r]),V=Math.max(3,I.mrc||0);return Math.max(Math.sqrt(N*N+j*j)-V,1-3/V)},t),t.index!==!1){var y=n[t.index],k=y.lonlat,h=[w.modHalf(k[0],360)+b,k[1]],M=i.c2p(h),A=u.c2p(h),C=y.mrc||1;t.x0=M-C,t.x1=M+C,t.y0=A-C,t.y1=A+C;var L={};L[o.subplot]={_subplot:p};var P=o._module.formatLabels(y,o,L);return t.lonLabel=P.lonLabel,t.latLabel=P.latLabel,t.color=s(o,y),t.extraText=l(o,y,n[0].t.labels),t.hovertemplate=o.hovertemplate,[t]}},getExtraText:l}},20467:function(D,E,e){D.exports={attributes:e(99181),supplyDefaults:e(76645),colorbar:e(4898),formatLabels:e(15636),calc:e(84622),plot:e(86951),hoverPoints:e(28178).hoverPoints,eventData:e(53353),selectPoints:e(86387),styleOnSelect:function(_,w){w&&w[0].trace._glTrace.update(w)},moduleType:"trace",name:"scattermapbox",basePlotModule:e(50101),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},86951:function(D,E,e){var _=e(71828),w=e(15790),s=e(77734).traceLayerPrefix,T={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function m(l,t,a,r){this.type="scattermapbox",this.subplot=l,this.uid=t,this.clusterEnabled=a,this.isHidden=r,this.sourceIds={fill:"source-"+t+"-fill",line:"source-"+t+"-line",circle:"source-"+t+"-circle",symbol:"source-"+t+"-symbol",cluster:"source-"+t+"-circle",clusterCount:"source-"+t+"-circle"},this.layerIds={fill:s+t+"-fill",line:s+t+"-line",circle:s+t+"-circle",symbol:s+t+"-symbol",cluster:s+t+"-cluster",clusterCount:s+t+"-cluster-count"},this.below=null}var f=m.prototype;f.addSource=function(l,t,a){var r={type:"geojson",data:t.geojson};a&&a.enabled&&_.extendFlat(r,{cluster:!0,clusterMaxZoom:a.maxzoom});var n=this.subplot.map.getSource(this.sourceIds[l]);n?n.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[l],r)},f.setSourceData=function(l,t){this.subplot.map.getSource(this.sourceIds[l]).setData(t.geojson)},f.addLayer=function(l,t,a){var r={type:t.type,id:this.layerIds[l],source:this.sourceIds[l],layout:t.layout,paint:t.paint};t.filter&&(r.filter=t.filter);for(var n,o=this.layerIds[l],i=this.subplot.getMapLayers(),u=0;u=0;h--){var M=k[h];r.removeLayer(p.layerIds[M])}y||r.removeSource(p.sourceIds.circle)}(g):function(y){for(var k=T.nonCluster,h=k.length-1;h>=0;h--){var M=k[h];r.removeLayer(p.layerIds[M]),y||r.removeSource(p.sourceIds[M])}}(g)}function x(g){i?function(y){y||p.addSource("circle",n.circle,t.cluster);for(var k=T.cluster,h=0;h=0;a--){var r=t[a];l.removeLayer(this.layerIds[r]),l.removeSource(this.sourceIds[r])}},D.exports=function(l,t){var a,r,n,o=t[0].trace,i=o.cluster&&o.cluster.enabled,u=o.visible!==!0,p=new m(l,o.uid,i,u),c=w(l.gd,t),x=p.below=l.belowLookup["trace-"+o.uid];if(i)for(p.addSource("circle",c.circle,o.cluster),a=0;a")}}D.exports={hoverPoints:function(s,T,m,f){var l=_(s,T,m,f);if(l&&l[0].index!==!1){var t=l[0];if(t.index===void 0)return l;var a=s.subplot,r=t.cd[t.index],n=t.trace;if(a.isPtInside(r))return t.xLabelVal=void 0,t.yLabelVal=void 0,w(r,n,a,t),t.hovertemplate=n.hovertemplate,l}},makeHoverPointText:w}},91271:function(D,E,e){D.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:e(23580),categories:["polar","symbols","showLegend","scatter-like"],attributes:e(81245),supplyDefaults:e(22184).supplyDefaults,colorbar:e(4898),formatLabels:e(98608),calc:e(26442),plot:e(45162),style:e(16296).style,styleOnSelect:e(16296).styleOnSelect,hoverPoints:e(59150).hoverPoints,selectPoints:e(98002),meta:{}}},45162:function(D,E,e){var _=e(32663),w=e(50606).BADNUM;D.exports=function(s,T,m){for(var f=T.layers.frontplot.select("g.scatterlayer"),l=T.xaxis,t=T.yaxis,a={xaxis:l,yaxis:t,plot:T.framework,layerClipId:T._hasClipOnAxisFalse?T.clipIds.forTraces:null},r=T.radialAxis,n=T.angularAxis,o=0;o=l&&(y.marker.cluster=d.tree),y.marker&&(y.markerSel.positions=y.markerUnsel.positions=y.marker.positions=M),y.line&&M.length>1&&f.extendFlat(y.line,m.linePositions(t,x,M)),y.text&&(f.extendFlat(y.text,{positions:M},m.textPosition(t,x,y.text,y.marker)),f.extendFlat(y.textSel,{positions:M},m.textPosition(t,x,y.text,y.markerSel)),f.extendFlat(y.textUnsel,{positions:M},m.textPosition(t,x,y.text,y.markerUnsel))),y.fill&&!i.fill2d&&(i.fill2d=!0),y.marker&&!i.scatter2d&&(i.scatter2d=!0),y.line&&!i.line2d&&(i.line2d=!0),y.text&&!i.glText&&(i.glText=!0),i.lineOptions.push(y.line),i.fillOptions.push(y.fill),i.markerOptions.push(y.marker),i.markerSelectedOptions.push(y.markerSel),i.markerUnselectedOptions.push(y.markerUnsel),i.textOptions.push(y.text),i.textSelectedOptions.push(y.textSel),i.textUnselectedOptions.push(y.textUnsel),i.selectBatch.push([]),i.unselectBatch.push([]),d.x=A,d.y=C,d.rawx=A,d.rawy=C,d.r=b,d.theta=g,d.positions=M,d._scene=i,d.index=i.count,i.count++}}),s(t,a,r)}},D.exports.reglPrecompiled={}},48300:function(D,E,e){var _=e(5386).fF,w=e(5386).si,s=e(1426).extendFlat,T=e(82196),m=e(9012),f=T.line;D.exports={mode:T.mode,real:{valType:"data_array",editType:"calc+clearAxisTypes"},imag:{valType:"data_array",editType:"calc+clearAxisTypes"},text:T.text,texttemplate:w({editType:"plot"},{keys:["real","imag","text"]}),hovertext:T.hovertext,line:{color:f.color,width:f.width,dash:f.dash,backoff:f.backoff,shape:s({},f.shape,{values:["linear","spline"]}),smoothing:f.smoothing,editType:"calc"},connectgaps:T.connectgaps,marker:T.marker,cliponaxis:s({},T.cliponaxis,{dflt:!1}),textposition:T.textposition,textfont:T.textfont,fill:s({},T.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:T.fillcolor,hoverinfo:s({},m.hoverinfo,{flags:["real","imag","text","name"]}),hoveron:T.hoveron,hovertemplate:_(),selected:T.selected,unselected:T.unselected}},30621:function(D,E,e){var _=e(92770),w=e(50606).BADNUM,s=e(36922),T=e(75225),m=e(66279),f=e(47761).calcMarkerSize;D.exports=function(l,t){for(var a=l._fullLayout,r=t.subplot,n=a[r].realaxis,o=a[r].imaginaryaxis,i=n.makeCalcdata(t,"real"),u=o.makeCalcdata(t,"imag"),p=t._length,c=new Array(p),x=0;x")}}D.exports={hoverPoints:function(s,T,m,f){var l=_(s,T,m,f);if(l&&l[0].index!==!1){var t=l[0];if(t.index===void 0)return l;var a=s.subplot,r=t.cd[t.index],n=t.trace;if(a.isPtInside(r))return t.xLabelVal=void 0,t.yLabelVal=void 0,w(r,n,a,t),t.hovertemplate=n.hovertemplate,l}},makeHoverPointText:w}},85956:function(D,E,e){D.exports={moduleType:"trace",name:"scattersmith",basePlotModule:e(7504),categories:["smith","symbols","showLegend","scatter-like"],attributes:e(48300),supplyDefaults:e(65269),colorbar:e(4898),formatLabels:e(62047),calc:e(30621),plot:e(12480),style:e(16296).style,styleOnSelect:e(16296).styleOnSelect,hoverPoints:e(11350).hoverPoints,selectPoints:e(98002),meta:{}}},12480:function(D,E,e){var _=e(32663),w=e(50606).BADNUM,s=e(23893).smith;D.exports=function(T,m,f){for(var l=m.layers.frontplot.select("g.scatterlayer"),t=m.xaxis,a=m.yaxis,r={xaxis:t,yaxis:a,plot:m.framework,layerClipId:m._hasClipOnAxisFalse?m.clipIds.forTraces:null},n=0;n"),l.hovertemplate=i.hovertemplate,f}function b(g,y){d.push(g._hovertitle+": "+y)}}},52979:function(D,E,e){D.exports={attributes:e(50413),supplyDefaults:e(46008),colorbar:e(4898),formatLabels:e(93645),calc:e(54337),plot:e(7507),style:e(16296).style,styleOnSelect:e(16296).styleOnSelect,hoverPoints:e(47250),selectPoints:e(98002),eventData:e(4524),moduleType:"trace",name:"scatterternary",basePlotModule:e(61639),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},7507:function(D,E,e){var _=e(32663);D.exports=function(w,s,T){var m=s.plotContainer;m.select(".scatterlayer").selectAll("*").remove();for(var f=s.xaxis,l=s.yaxis,t={xaxis:f,yaxis:l,plot:m,layerClipId:s._hasClipOnAxisFalse?s.clipIdRelative:null},a=s.layers.frontplot.select("g.scatterlayer"),r=0;rr?g.sizeAvg||Math.max(g.size,3):s(o,b),u=0;uM&&L||h-1,B=!0;if(T(g)||p.selectedpoints||U){var G=p._length;if(p.selectedpoints){x.selectBatch=p.selectedpoints;var N=p.selectedpoints,j={};for(r=0;r1&&(u=v[y-1],c=b[y-1],d=g[y-1]),l=0;lu?"-":"+")+"x")).replace("y",(p>c?"-":"+")+"y")).replace("z",(x>d?"-":"+")+"z");var B=function(){y=0,I=[],R=[],U=[]};(!y||y2?i.slice(1,u-1):u===2?[(i[0]+i[1])/2]:i}function n(i){var u=i.length;return u===1?[.5,.5]:[i[1]-i[0],i[u-1]-i[u-2]]}function o(i,u){var p=i.fullSceneLayout,c=i.dataScale,x=u._len,d={};function v(Q,X){var Y=p[X],K=c[l[X]];return s.simpleMap(Q,function(te){return Y.d2l(te)*K})}if(d.vectors=f(v(u._u,"xaxis"),v(u._v,"yaxis"),v(u._w,"zaxis"),x),!x)return{positions:[],cells:[]};var b=v(u._Xs,"xaxis"),g=v(u._Ys,"yaxis"),y=v(u._Zs,"zaxis");if(d.meshgrid=[b,g,y],d.gridFill=u._gridFill,u._slen)d.startingPositions=f(v(u._startsX,"xaxis"),v(u._startsY,"yaxis"),v(u._startsZ,"zaxis"));else{for(var k=g[0],h=r(b),M=r(y),A=new Array(h.length*M.length),C=0,L=0;L=0};k?(p=Math.min(y.length,M.length),c=function(se){return R(y[se])&&U(se)},x=function(se){return String(y[se])}):(p=Math.min(h.length,M.length),c=function(se){return R(h[se])&&U(se)},x=function(se){return String(h[se])}),C&&(p=Math.min(p,A.length));for(var B=0;B1){for(var V=s.randstr(),H=0;H"),name:I||ee("name")?k.name:void 0,color:P("hoverlabel.bgcolor")||h.color,borderColor:P("hoverlabel.bordercolor"),fontFamily:P("hoverlabel.font.family"),fontSize:P("hoverlabel.font.size"),fontColor:P("hoverlabel.font.color"),nameLength:P("hoverlabel.namelength"),textAlign:P("hoverlabel.align"),hovertemplate:I,hovertemplateLabels:j,eventData:y};d&&(Y.x0=B-b.rInscribed*b.rpx1,Y.x1=B+b.rInscribed*b.rpx1,Y.idealAlign=b.pxmid[0]<0?"left":"right"),v&&(Y.x=B,Y.idealAlign=B<0?"left":"right");var K=[];T.loneHover(Y,{container:g._hoverlayer.node(),outerContainer:g._paper.node(),gd:o,inOut_bbox:K}),y[0].bbox=K[0],c._hasHoverLabel=!0}if(v){var te=r.select("path.surface");u.styleOne(te,b,k,{hovered:!0})}c._hasHoverEvent=!0,o.emit("plotly_hover",{points:y||[a(b,k,u.eventDataKeys)],event:_.event})}}),r.on("mouseout",function(b){var g=o._fullLayout,y=o._fullData[c.index],k=_.select(this).datum();if(c._hasHoverEvent&&(b.originalEvent=_.event,o.emit("plotly_unhover",{points:[a(k,y,u.eventDataKeys)],event:_.event}),c._hasHoverEvent=!1),c._hasHoverLabel&&(T.loneUnhover(g._hoverlayer.node()),c._hasHoverLabel=!1),v){var h=r.select("path.surface");u.styleOne(h,k,y,{hovered:!1})}}),r.on("click",function(b){var g=o._fullLayout,y=o._fullData[c.index],k=d&&(l.isHierarchyRoot(b)||l.isLeaf(b)),h=l.getPtId(b),M=l.isEntry(b)?l.findEntryWithChild(x,h):l.findEntryWithLevel(x,h),A=l.getPtId(M),C={points:[a(b,y,u.eventDataKeys)],event:_.event};k||(C.nextLevel=A);var L=f.triggerHandler(o,"plotly_"+c.type+"click",C);if(L!==!1&&g.hovermode&&(o._hoverdata=[a(b,y,u.eventDataKeys)],T.click(o,_.event)),!k&&L!==!1&&!o._dragging&&!o._transitioning){w.call("_storeDirectGUIEdit",y,g._tracePreGUI[y.uid],{level:y.level});var P={data:[{level:A}],traces:[c.index]},I={frame:{redraw:!1,duration:u.transitionTime},transition:{duration:u.transitionTime,easing:u.transitionEasing},mode:"immediate",fromcurrent:!0};T.loneUnhover(g._hoverlayer.node()),w.call("animate",o,P,I)}})}},2791:function(D,E,e){var _=e(71828),w=e(7901),s=e(6964),T=e(53581);function m(f){return f.data.data.pid}E.findEntryWithLevel=function(f,l){var t;return l&&f.eachAfter(function(a){if(E.getPtId(a)===l)return t=a.copy()}),t||f},E.findEntryWithChild=function(f,l){var t;return f.eachAfter(function(a){for(var r=a.children||[],n=0;n0)},E.getMaxDepth=function(f){return f.maxdepth>=0?f.maxdepth:1/0},E.isHeader=function(f,l){return!(E.isLeaf(f)||f.depth===l._maxDepth-1)},E.getParent=function(f,l){return E.findEntryWithLevel(f,m(l))},E.listPath=function(f,l){var t=f.parent;if(!t)return[];var a=l?[t.data[l]]:[t];return E.listPath(t,l).concat(a)},E.getPath=function(f){return E.listPath(f,"label").join("/")+"/"},E.formatValue=T.formatPieValue,E.formatPercent=function(f,l){var t=_.formatPercent(f,0);return t==="0%"&&(t=T.formatPiePercent(f,l)),t}},87619:function(D,E,e){D.exports={moduleType:"trace",name:"sunburst",basePlotModule:e(66888),categories:[],animatable:!0,attributes:e(57564),layoutAttributes:e(2654),supplyDefaults:e(17094),supplyLayoutDefaults:e(57034),calc:e(52147).calc,crossTraceCalc:e(52147).crossTraceCalc,plot:e(24714).plot,style:e(29969).style,colorbar:e(4898),meta:{}}},2654:function(D){D.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},57034:function(D,E,e){var _=e(71828),w=e(2654);D.exports=function(s,T){function m(f,l){return _.coerce(s,T,w,f,l)}m("sunburstcolorway",T.colorway),m("extendsunburstcolors")}},24714:function(D,E,e){var _=e(39898),w=e(674),s=e(81684).sX,T=e(91424),m=e(71828),f=e(63893),l=e(72597),t=l.recordMinTextSize,a=l.clearMinTextSize,r=e(14575),n=e(53581).getRotationAngle,o=r.computeTransform,i=r.transformInsideText,u=e(29969).styleOne,p=e(16688).resizeText,c=e(83523),x=e(7055),d=e(2791);function v(g,y,k,h){var M=g._context.staticPlot,A=g._fullLayout,C=!A.uniformtext.mode&&d.hasTransition(h),L=_.select(k).selectAll("g.slice"),P=y[0],I=P.trace,R=P.hierarchy,U=d.findEntryWithLevel(R,I.level),B=d.getMaxDepth(I),G=A._size,N=I.domain,j=G.w*(N.x[1]-N.x[0]),V=G.h*(N.y[1]-N.y[0]),H=.5*Math.min(j,V),ee=P.cx=G.l+G.w*(N.x[1]+N.x[0])/2,Q=P.cy=G.t+G.h*(1-N.y[0])-V/2;if(!U)return L.remove();var X=null,Y={};C&&L.each(function(Ce){Y[d.getPtId(Ce)]={rpx0:Ce.rpx0,rpx1:Ce.rpx1,x0:Ce.x0,x1:Ce.x1,transform:Ce.transform},!X&&d.isEntry(Ce)&&(X=Ce)});var K=function(Ce){return w.partition().size([2*Math.PI,Ce.height+1])(Ce)}(U).descendants(),te=U.height+1,ie=0,oe=B;P.hasMultipleRoots&&d.isHierarchyRoot(U)&&(K=K.slice(1),te-=1,ie=1,oe+=1),K=K.filter(function(Ce){return Ce.y1<=oe});var se=n(I.rotation);se&&K.forEach(function(Ce){Ce.x0+=se,Ce.x1+=se});var ce=Math.min(te,B),xe=function(Ce){return(Ce-ie)/ce*H},pe=function(Ce,ne){return[Ce*Math.cos(ne),-Ce*Math.sin(ne)]},de=function(Ce){return m.pathAnnulus(Ce.rpx0,Ce.rpx1,Ce.x0,Ce.x1,ee,Q)},he=function(Ce){return ee+b(Ce)[0]*(Ce.transform.rCenter||0)+(Ce.transform.x||0)},ye=function(Ce){return Q+b(Ce)[1]*(Ce.transform.rCenter||0)+(Ce.transform.y||0)};(L=L.data(K,d.getPtId)).enter().append("g").classed("slice",!0),C?L.exit().transition().each(function(){var Ce=_.select(this);Ce.select("path.surface").transition().attrTween("d",function(ne){var ue=function(me){var we,Ee=d.getPtId(me),Ue=Y[Ee],De=Y[d.getPtId(U)];if(De){var je=(me.x1>De.x1?2*Math.PI:0)+se;we=me.rpx1ze?2*Math.PI:0)+se;Se={x0:Ze,x1:Ze}}else Se={rpx0:H,rpx1:H},m.extendFlat(Se,Me(be));else Se={rpx0:0,rpx1:0};else Se={x0:se,x1:se};return s(Se,Ye)}(je);return function(be){return de(ge(be))}}):ue.attr("d",de),ne.call(c,U,g,y,{eventDataKeys:x.eventDataKeys,transitionTime:x.CLICK_TRANSITION_TIME,transitionEasing:x.CLICK_TRANSITION_EASING}).call(d.setSliceCursor,g,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:g._transitioning}),ue.call(u,Ce,I);var me=m.ensureSingle(ne,"g","slicetext"),we=m.ensureSingle(me,"text","",function(je){je.attr("data-notex",1)}),Ee=m.ensureUniformFontSize(g,d.determineTextFont(I,Ce,A.font));we.text(E.formatSliceLabel(Ce,U,I,y,A)).classed("slicetext",!0).attr("text-anchor","middle").call(T.font,Ee).call(f.convertToTspans,g);var Ue=T.bBox(we.node());Ce.transform=i(Ue,Ce,P),Ce.transform.targetX=he(Ce),Ce.transform.targetY=ye(Ce);var De=function(je,ge){var be=je.transform;return o(be,ge),be.fontSize=Ee.size,t(I.type,be,A),m.getTextTransform(be)};C?we.transition().attrTween("transform",function(je){var ge=function(be){var Se,Ne=Y[d.getPtId(be)],Ye=be.transform;if(Ne)Se=Ne;else if(Se={rpx1:be.rpx1,transform:{textPosAngle:Ye.textPosAngle,scale:0,rotate:Ye.rotate,rCenter:Ye.rCenter,x:Ye.x,y:Ye.y}},X)if(be.parent)if(ze){var Ze=be.x1>ze?2*Math.PI:0;Se.x0=Se.x1=Ze}else m.extendFlat(Se,Me(be));else Se.x0=Se.x1=se;else Se.x0=Se.x1=se;var st=s(Se.transform.textPosAngle,be.transform.textPosAngle),ot=s(Se.rpx1,be.rpx1),ft=s(Se.x0,be.x0),yt=s(Se.x1,be.x1),Et=s(Se.transform.scale,Ye.scale),Tt=s(Se.transform.rotate,Ye.rotate),xt=Ye.rCenter===0?3:Se.transform.rCenter===0?1/3:1,Dt=s(Se.transform.rCenter,Ye.rCenter);return function(It){var Ft=ot(It),qt=ft(It),Nt=yt(It),Je=function(Ge){return Dt(Math.pow(Ge,xt))}(It),Ke={pxmid:pe(Ft,(qt+Nt)/2),rpx1:Ft,transform:{textPosAngle:st(It),rCenter:Je,x:Ye.x,y:Ye.y}};return t(I.type,Ye,A),{transform:{targetX:he(Ke),targetY:ye(Ke),scale:Et(It),rotate:Tt(It),rCenter:Je}}}}(je);return function(be){return De(ge(be),Ue)}}):we.attr("transform",De(Ce,Ue))})}function b(g){return y=g.rpx1,k=g.transform.textPosAngle,[y*Math.sin(k),-y*Math.cos(k)];var y,k}E.plot=function(g,y,k,h){var M,A,C=g._fullLayout,L=C._sunburstlayer,P=!k,I=!C.uniformtext.mode&&d.hasTransition(k);a("sunburst",C),(M=L.selectAll("g.trace.sunburst").data(y,function(R){return R[0].trace.uid})).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),M.order(),I?(h&&(A=h()),_.transition().duration(k.duration).ease(k.easing).each("end",function(){A&&A()}).each("interrupt",function(){A&&A()}).each(function(){L.selectAll("g.trace").each(function(R){v(g,R,this,k)})})):(M.each(function(R){v(g,R,this,k)}),C.uniformtext.mode&&p(g,C._sunburstlayer.selectAll(".trace"),"sunburst")),P&&M.exit().remove()},E.formatSliceLabel=function(g,y,k,h,M){var A=k.texttemplate,C=k.textinfo;if(!(A||C&&C!=="none"))return"";var L=M.separators,P=h[0],I=g.data.data,R=P.hierarchy,U=d.isHierarchyRoot(g),B=d.getParent(R,g),G=d.getValue(g);if(!A){var N,j=C.split("+"),V=function(oe){return j.indexOf(oe)!==-1},H=[];if(V("label")&&I.label&&H.push(I.label),I.hasOwnProperty("v")&&V("value")&&H.push(d.formatValue(I.v,L)),!U){V("current path")&&H.push(d.getPath(g.data));var ee=0;V("percent parent")&&ee++,V("percent entry")&&ee++,V("percent root")&&ee++;var Q=ee>1;if(ee){var X,Y=function(oe){N=d.formatPercent(X,L),Q&&(N+=" of "+oe),H.push(N)};V("percent parent")&&!U&&(X=G/d.getValue(B),Y("parent")),V("percent entry")&&(X=G/d.getValue(y),Y("entry")),V("percent root")&&(X=G/d.getValue(R),Y("root"))}}return V("text")&&(N=m.castOption(k,I.i,"text"),m.isValidTextValue(N)&&H.push(N)),H.join("
")}var K=m.castOption(k,I.i,"texttemplate");if(!K)return"";var te={};I.label&&(te.label=I.label),I.hasOwnProperty("v")&&(te.value=I.v,te.valueLabel=d.formatValue(I.v,L)),te.currentPath=d.getPath(g.data),U||(te.percentParent=G/d.getValue(B),te.percentParentLabel=d.formatPercent(te.percentParent,L),te.parent=d.getPtLabel(B)),te.percentEntry=G/d.getValue(y),te.percentEntryLabel=d.formatPercent(te.percentEntry,L),te.entry=d.getPtLabel(y),te.percentRoot=G/d.getValue(R),te.percentRootLabel=d.formatPercent(te.percentRoot,L),te.root=d.getPtLabel(R),I.hasOwnProperty("color")&&(te.color=I.color);var ie=m.castOption(k,I.i,"text");return(m.isValidTextValue(ie)||ie==="")&&(te.text=ie),te.customdata=m.castOption(k,I.i,"customdata"),m.texttemplateString(K,te,M._d3locale,te,k._meta||{})}},29969:function(D,E,e){var _=e(39898),w=e(7901),s=e(71828),T=e(72597).resizeText;function m(f,l,t){var a=l.data.data,r=!l.children,n=a.i,o=s.castOption(t,n,"marker.line.color")||w.defaultLine,i=s.castOption(t,n,"marker.line.width")||0;f.style("stroke-width",i).call(w.fill,a.color).call(w.stroke,o).style("opacity",r?t.leaf.opacity:null)}D.exports={style:function(f){var l=f._fullLayout._sunburstlayer.selectAll(".trace");T(f,l,"sunburst"),l.each(function(t){var a=_.select(this),r=t[0].trace;a.style("opacity",r.opacity),a.selectAll("path.surface").each(function(n){_.select(this).call(m,n,r)})})},styleOne:m}},54532:function(D,E,e){var _=e(7901),w=e(50693),s=e(12663).axisHoverFormat,T=e(5386).fF,m=e(9012),f=e(1426).extendFlat,l=e(30962).overrideAll;function t(r){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:_.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:_.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var a=D.exports=l(f({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:T(),xhoverformat:s("x"),yhoverformat:s("y"),zhoverformat:s("z"),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},w("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:t(),y:t(),z:t()},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},_deprecated:{zauto:f({},w.zauto,{}),zmin:f({},w.zmin,{}),zmax:f({},w.zmax,{})},hoverinfo:f({},m.hoverinfo),showlegend:f({},m.showlegend,{dflt:!1})}),"calc","nested");a.x.editType=a.y.editType=a.z.editType="calc+clearAxisTypes",a.transforms=void 0},18396:function(D,E,e){var _=e(78803);D.exports=function(w,s){s.surfacecolor?_(w,s,{vals:s.surfacecolor,containerStr:"",cLetter:"c"}):_(w,s,{vals:s.z,containerStr:"",cLetter:"c"})}},43768:function(D,E,e){var _=e(9330).gl_surface3d,w=e(9330).ndarray,s=e(9330).ndarray_linear_interpolate.d2,T=e(824),m=e(43907),f=e(71828).isArrayOrTypedArray,l=e(81697).parseColorScale,t=e(78614),a=e(21081).extractOpts;function r(k,h,M){this.scene=k,this.uid=M,this.surface=h,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var n=r.prototype;n.getXat=function(k,h,M,A){var C=f(this.data.x)?f(this.data.x[0])?this.data.x[h][k]:this.data.x[k]:k;return M===void 0?C:A.d2l(C,0,M)},n.getYat=function(k,h,M,A){var C=f(this.data.y)?f(this.data.y[0])?this.data.y[h][k]:this.data.y[h]:h;return M===void 0?C:A.d2l(C,0,M)},n.getZat=function(k,h,M,A){var C=this.data.z[h][k];return C===null&&this.data.connectgaps&&this.data._interpolatedZ&&(C=this.data._interpolatedZ[h][k]),M===void 0?C:A.d2l(C,0,M)},n.handlePick=function(k){if(k.object===this.surface){var h=(k.data.index[0]-1)/this.dataScaleX-1,M=(k.data.index[1]-1)/this.dataScaleY-1,A=Math.max(Math.min(Math.round(h),this.data.z[0].length-1),0),C=Math.max(Math.min(Math.round(M),this.data._ylength-1),0);k.index=[A,C],k.traceCoordinate=[this.getXat(A,C),this.getYat(A,C),this.getZat(A,C)],k.dataCoordinate=[this.getXat(A,C,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(A,C,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(A,C,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var L=0;L<3;L++)k.dataCoordinate[L]!=null&&(k.dataCoordinate[L]*=this.scene.dataScale[L]);var P=this.data.hovertext||this.data.text;return Array.isArray(P)&&P[C]&&P[C][A]!==void 0?k.textLabel=P[C][A]:k.textLabel=P||"",k.data.dataCoordinate=k.dataCoordinate.slice(),this.surface.highlight(k.data),this.scene.glplot.spikes.position=k.dataCoordinate,!0}};var o=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function i(k,h){if(k0){M=o[A];break}return M}function c(k,h){if(!(k<1||h<1)){for(var M=u(k),A=u(h),C=1,L=0;Lv;)M--,M/=p(M),++M1?A:1},n.refineCoords=function(k){for(var h=this.dataScaleX,M=this.dataScaleY,A=k[0].shape[0],C=k[0].shape[1],L=0|Math.floor(k[0].shape[0]*h+1),P=0|Math.floor(k[0].shape[1]*M+1),I=1+A+1,R=1+C+1,U=w(new Float32Array(I*R),[I,R]),B=[1/h,0,0,0,1/M,0,0,0,1],G=0;G0&&this.contourStart[k]!==null&&this.contourEnd[k]!==null&&this.contourEnd[k]>this.contourStart[k]))for(C[k]=!0,h=this.contourStart[k];hC&&(this.minValues[h]=C),this.maxValues[h]",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"}}},51018:function(D,E,e){var _=e(49850),w=e(1426).extendFlat,s=e(92770);function T(n){if(Array.isArray(n)){for(var o=0,i=0;i=o||b===n.length-1)&&(u[p]=x,x.key=v++,x.firstRowIndex=d,x.lastRowIndex=b,x={firstRowIndex:null,lastRowIndex:null,rows:[]},p+=c,d=b+1,c=0);return u}D.exports=function(n,o){var i=f(o.cells.values),u=function(U){return U.slice(o.header.values.length,U.length)},p=f(o.header.values);p.length&&!p[0].length&&(p[0]=[""],p=f(p));var c=p.concat(u(i).map(function(){return l((p[0]||[""]).length)})),x=o.domain,d=Math.floor(n._fullLayout._size.w*(x.x[1]-x.x[0])),v=Math.floor(n._fullLayout._size.h*(x.y[1]-x.y[0])),b=o.header.values.length?c[0].map(function(){return o.header.height}):[_.emptyHeaderHeight],g=i.length?i[0].map(function(){return o.cells.height}):[],y=b.reduce(m,0),k=r(g,v-y+_.uplift),h=a(r(b,y),[]),M=a(k,h),A={},C=o._fullInput.columnorder.concat(u(i.map(function(U,B){return B}))),L=c.map(function(U,B){var G=Array.isArray(o.columnwidth)?o.columnwidth[Math.min(B,o.columnwidth.length-1)]:o.columnwidth;return s(G)?Number(G):1}),P=L.reduce(m,0);L=L.map(function(U){return U/P*d});var I=Math.max(T(o.header.line.width),T(o.cells.line.width)),R={key:o.uid+n._context.staticPlot,translateX:x.x[0]*n._fullLayout._size.w,translateY:n._fullLayout._size.h*(1-x.y[1]),size:n._fullLayout._size,width:d,maxLineWidth:I,height:v,columnOrder:C,groupHeight:v,rowBlocks:M,headerRowBlocks:h,scrollY:0,cells:w({},o.cells,{values:i}),headerCells:w({},o.header,{values:c}),gdColumns:c.map(function(U){return U[0]}),gdColumnsOriginalOrder:c.map(function(U){return U[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:c.map(function(U,B){var G=A[U];return A[U]=(G||0)+1,{key:U+"__"+A[U],label:U,specIndex:B,xIndex:C[B],xScale:t,x:void 0,calcdata:void 0,columnWidth:L[B]}})};return R.columns.forEach(function(U){U.calcdata=R,U.x=t(U)}),R}},56269:function(D,E,e){var _=e(1426).extendFlat;E.splitToPanels=function(w){var s=[0,0],T=_({},w,{key:"header",type:"header",page:0,prevPages:s,currentRepaint:[null,null],dragHandle:!0,values:w.calcdata.headerCells.values[w.specIndex],rowBlocks:w.calcdata.headerRowBlocks,calcdata:_({},w.calcdata,{cells:w.calcdata.headerCells})});return[_({},w,{key:"cells1",type:"cells",page:0,prevPages:s,currentRepaint:[null,null],dragHandle:!1,values:w.calcdata.cells.values[w.specIndex],rowBlocks:w.calcdata.rowBlocks}),_({},w,{key:"cells2",type:"cells",page:1,prevPages:s,currentRepaint:[null,null],dragHandle:!1,values:w.calcdata.cells.values[w.specIndex],rowBlocks:w.calcdata.rowBlocks}),T]},E.splitToCells=function(w){var s=function(T){var m=T.rowBlocks[T.page],f=m?m.rows[0].rowIndex:0;return[f,m?f+m.rows.length:0]}(w);return(w.values||[]).slice(s[0],s[1]).map(function(T,m){return{keyWithinBlock:m+(typeof T=="string"&&T.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:s[0]+m,column:w,calcdata:w.calcdata,page:w.page,rowBlocks:w.rowBlocks,value:T}})}},39754:function(D,E,e){var _=e(71828),w=e(44464),s=e(27670).c;D.exports=function(T,m,f,l){function t(a,r){return _.coerce(T,m,w,a,r)}s(m,l,t),t("columnwidth"),t("header.values"),t("header.format"),t("header.align"),t("header.prefix"),t("header.suffix"),t("header.height"),t("header.line.width"),t("header.line.color"),t("header.fill.color"),_.coerceFont(t,"header.font",_.extendFlat({},l.font)),function(a,r){for(var n=a.columnorder||[],o=a.header.values.length,i=n.slice(0,o),u=i.slice().sort(function(x,d){return x-d}),p=i.map(function(x){return u.indexOf(x)}),c=p.length;c/i),se=!ie||oe;X.mayHaveMarkup=ie&&te.match(/[<&>]/);var ce,xe=typeof(ce=te)=="string"&&ce.match(_.latexCheck);X.latex=xe;var pe,de,he=xe?"":g(X.calcdata.cells.prefix,Y,K)||"",ye=xe?"":g(X.calcdata.cells.suffix,Y,K)||"",ze=xe?null:g(X.calcdata.cells.format,Y,K)||null,Te=he+(ze?s(ze)(X.value):X.value)+ye;if(X.wrappingNeeded=!X.wrapped&&!se&&!xe&&(pe=b(Te)),X.cellHeightMayIncrease=oe||xe||X.mayHaveMarkup||(pe===void 0?b(Te):pe),X.needsConvertToTspans=X.mayHaveMarkup||X.wrappingNeeded||X.latex,X.wrappingNeeded){var Ae=(_.wrapSplitCharacter===" "?Te.replace(/
de&&pe.push(he),de+=Te}return pe}(X,ie,te);oe.length===1&&(oe[0]===X.length-1?oe.unshift(oe[0]-1):oe.push(oe[0]+1)),oe[0]%2&&oe.reverse(),H.each(function(se,ce){se.page=oe[ce],se.scrollY=ie}),H.attr("transform",function(se){var ce=B(se.rowBlocks,se.page)-se.scrollY;return t(0,ce)}),V&&(L(V,ee,H,oe,Q.prevPages,Q,0),L(V,ee,H,oe,Q.prevPages,Q,1),x(ee,V))}}function C(V,H,ee,Q){return function(X){var Y=X.calcdata?X.calcdata:X,K=H.filter(function(se){return Y.key===se.key}),te=ee||Y.scrollbarState.dragMultiplier,ie=Y.scrollY;Y.scrollY=Q===void 0?Y.scrollY+te*w.event.dy:Q;var oe=K.selectAll("."+_.cn.yColumn).selectAll("."+_.cn.columnBlock).filter(k);return A(V,oe,K),Y.scrollY===ie}}function L(V,H,ee,Q,X,Y,K){Q[K]!==X[K]&&(clearTimeout(Y.currentRepaint[K]),Y.currentRepaint[K]=setTimeout(function(){var te=ee.filter(function(ie,oe){return oe===K&&Q[oe]!==X[oe]});d(V,H,te,ee),X[K]=Q[K]}))}function P(V,H,ee,Q){return function(){var X=w.select(H.parentNode);X.each(function(Y){var K=Y.fragments;X.selectAll("tspan.line").each(function(de,he){K[he].width=this.getComputedTextLength()});var te,ie,oe=K[K.length-1].width,se=K.slice(0,-1),ce=[],xe=0,pe=Y.column.columnWidth-2*_.cellPad;for(Y.value="";se.length;)xe+(ie=(te=se.shift()).width+oe)>pe&&(Y.value+=ce.join(_.wrapSpacer)+_.lineBreaker,ce=[],xe=0),ce.push(te.text),xe+=ie;xe&&(Y.value+=ce.join(_.wrapSpacer)),Y.wrapped=!0}),X.selectAll("tspan.line").remove(),v(X.select("."+_.cn.cellText),ee,V,Q),w.select(H.parentNode.parentNode).call(U)}}function I(V,H,ee,Q,X){return function(){if(!X.settledY){var Y=w.select(H.parentNode),K=j(X),te=X.key-K.firstRowIndex,ie=K.rows[te].rowHeight,oe=X.cellHeightMayIncrease?H.parentNode.getBoundingClientRect().height+2*_.cellPad:ie,se=Math.max(oe,ie);se-K.rows[te].rowHeight&&(K.rows[te].rowHeight=se,V.selectAll("."+_.cn.columnCell).call(U),A(null,V.filter(k),0),x(ee,Q,!0)),Y.attr("transform",function(){var ce=this,xe=ce.parentNode.getBoundingClientRect(),pe=w.select(ce.parentNode).select("."+_.cn.cellRect).node().getBoundingClientRect(),de=ce.transform.baseVal.consolidate(),he=pe.top-xe.top+(de?de.matrix.f:_.cellPad);return t(R(X,w.select(ce.parentNode).select("."+_.cn.cellTextHolder).node().getBoundingClientRect().width),he)}),X.settledY=!0}}}function R(V,H){switch(V.align){case"left":default:return _.cellPad;case"right":return V.column.columnWidth-(H||0)-_.cellPad;case"center":return(V.column.columnWidth-(H||0))/2}}function U(V){V.attr("transform",function(H){var ee=H.rowBlocks[0].auxiliaryBlocks.reduce(function(X,Y){return X+G(Y,1/0)},0),Q=G(j(H),H.key);return t(0,Q+ee)}).selectAll("."+_.cn.cellRect).attr("height",function(H){return(ee=j(H),Q=H.key,ee.rows[Q-ee.firstRowIndex]).rowHeight;var ee,Q})}function B(V,H){for(var ee=0,Q=H-1;Q>=0;Q--)ee+=N(V[Q]);return ee}function G(V,H){for(var ee=0,Q=0;Q","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:t({},m.textfont,{}),editType:"calc"},text:m.text,textinfo:f.textinfo,texttemplate:w({editType:"plot"},{keys:l.eventDataKeys.concat(["label","value"])}),hovertext:m.hovertext,hoverinfo:f.hoverinfo,hovertemplate:_({},{keys:l.eventDataKeys}),textfont:m.textfont,insidetextfont:m.insidetextfont,outsidetextfont:t({},m.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:m.sort,root:f.root,domain:T({name:"treemap",trace:!0,editType:"calc"})}},78018:function(D,E,e){var _=e(74875);E.name="treemap",E.plot=function(w,s,T,m){_.plotBasePlot(E.name,w,s,T,m)},E.clean=function(w,s,T,m){_.cleanBasePlot(E.name,w,s,T,m)}},65039:function(D,E,e){var _=e(52147);E.y=function(w,s){return _.calc(w,s)},E.T=function(w){return _._runCrossTraceCalc("treemap",w)}},43473:function(D){D.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},91174:function(D,E,e){var _=e(71828),w=e(45802),s=e(7901),T=e(27670).c,m=e(90769).handleText,f=e(97313).TEXTPAD,l=e(21081),t=l.hasColorscale,a=l.handleDefaults;D.exports=function(r,n,o,i){function u(k,h){return _.coerce(r,n,w,k,h)}var p=u("labels"),c=u("parents");if(p&&p.length&&c&&c.length){var x=u("values");x&&x.length?u("branchvalues"):u("count"),u("level"),u("maxdepth"),u("tiling.packing")==="squarify"&&u("tiling.squarifyratio"),u("tiling.flip"),u("tiling.pad");var d=u("text");u("texttemplate"),n.texttemplate||u("textinfo",Array.isArray(d)?"text+label":"label"),u("hovertext"),u("hovertemplate");var v=u("pathbar.visible");m(r,n,i,u,"auto",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),u("textposition");var b=n.textposition.indexOf("bottom")!==-1;u("marker.line.width")&&u("marker.line.color",i.paper_bgcolor);var g=u("marker.colors");(n._hasColorscale=t(r,"marker","colors")||(r.marker||{}).coloraxis)?a(r,n,i,u,{prefix:"marker.",cLetter:"c"}):u("marker.depthfade",!(g||[]).length);var y=2*n.textfont.size;u("marker.pad.t",b?y/4:y),u("marker.pad.l",y/4),u("marker.pad.r",y/4),u("marker.pad.b",b?y:y/4),u("marker.cornerradius"),n._hovered={marker:{line:{width:2,color:s.contrast(i.paper_bgcolor)}}},v&&(u("pathbar.thickness",n.pathbar.textfont.size+2*f),u("pathbar.side"),u("pathbar.edgeshape")),u("sort"),u("root.color"),T(n,i,u),n._length=null}else n.visible=!1}},80694:function(D,E,e){var _=e(39898),w=e(2791),s=e(72597).clearMinTextSize,T=e(16688).resizeText,m=e(46650);D.exports=function(f,l,t,a,r){var n,o,i=r.type,u=r.drawDescendants,p=f._fullLayout,c=p["_"+i+"layer"],x=!t;s(i,p),(n=c.selectAll("g.trace."+i).data(l,function(d){return d[0].trace.uid})).enter().append("g").classed("trace",!0).classed(i,!0),n.order(),!p.uniformtext.mode&&w.hasTransition(t)?(a&&(o=a()),_.transition().duration(t.duration).ease(t.easing).each("end",function(){o&&o()}).each("interrupt",function(){o&&o()}).each(function(){c.selectAll("g.trace").each(function(d){m(f,d,this,t,u)})})):(n.each(function(d){m(f,d,this,t,u)}),p.uniformtext.mode&&T(f,c.selectAll(".trace"),i)),x&&n.exit().remove()}},66209:function(D,E,e){var _=e(39898),w=e(71828),s=e(91424),T=e(63893),m=e(37210),f=e(96362).styleOne,l=e(43473),t=e(2791),a=e(83523),r=!0;D.exports=function(n,o,i,u,p){var c=p.barDifY,x=p.width,d=p.height,v=p.viewX,b=p.viewY,g=p.pathSlice,y=p.toMoveInsideSlice,k=p.strTransform,h=p.hasTransition,M=p.handleSlicesExit,A=p.makeUpdateSliceInterpolator,C=p.makeUpdateTextInterpolator,L={},P=n._context.staticPlot,I=n._fullLayout,R=o[0],U=R.trace,B=R.hierarchy,G=x/U._entryDepth,N=t.listPath(i.data,"id"),j=m(B.copy(),[x,d],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(j=j.filter(function(H){var ee=N.indexOf(H.data.id);return ee!==-1&&(H.x0=G*ee,H.x1=G*(ee+1),H.y0=c,H.y1=c+d,H.onPathbar=!0,!0)})).reverse(),(u=u.data(j,t.getPtId)).enter().append("g").classed("pathbar",!0),M(u,r,L,[x,d],g),u.order();var V=u;h&&(V=V.transition().each("end",function(){var H=_.select(this);t.setSliceCursor(H,n,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})})),V.each(function(H){H._x0=v(H.x0),H._x1=v(H.x1),H._y0=b(H.y0),H._y1=b(H.y1),H._hoverX=v(H.x1-Math.min(x,d)/2),H._hoverY=b(H.y1-d/2);var ee=_.select(this),Q=w.ensureSingle(ee,"path","surface",function(te){te.style("pointer-events",P?"none":"all")});h?Q.transition().attrTween("d",function(te){var ie=A(te,r,L,[x,d]);return function(oe){return g(ie(oe))}}):Q.attr("d",g),ee.call(a,i,n,o,{styleOne:f,eventDataKeys:l.eventDataKeys,transitionTime:l.CLICK_TRANSITION_TIME,transitionEasing:l.CLICK_TRANSITION_EASING}).call(t.setSliceCursor,n,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:n._transitioning}),Q.call(f,H,U,{hovered:!1}),H._text=(t.getPtLabel(H)||"").split("
").join(" ")||"";var X=w.ensureSingle(ee,"g","slicetext"),Y=w.ensureSingle(X,"text","",function(te){te.attr("data-notex",1)}),K=w.ensureUniformFontSize(n,t.determineTextFont(U,H,I.font,{onPathbar:!0}));Y.text(H._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(s.font,K).call(T.convertToTspans,n),H.textBB=s.bBox(Y.node()),H.transform=y(H,{fontSize:K.size,onPathbar:!0}),H.transform.fontSize=K.size,h?Y.transition().attrTween("transform",function(te){var ie=C(te,r,L,[x,d]);return function(oe){return k(ie(oe))}}):Y.attr("transform",k(H))})}},52583:function(D,E,e){var _=e(39898),w=e(71828),s=e(91424),T=e(63893),m=e(37210),f=e(96362).styleOne,l=e(43473),t=e(2791),a=e(83523),r=e(24714).formatSliceLabel,n=!1;D.exports=function(o,i,u,p,c){var x=c.width,d=c.height,v=c.viewX,b=c.viewY,g=c.pathSlice,y=c.toMoveInsideSlice,k=c.strTransform,h=c.hasTransition,M=c.handleSlicesExit,A=c.makeUpdateSliceInterpolator,C=c.makeUpdateTextInterpolator,L=c.prevEntry,P=o._context.staticPlot,I=o._fullLayout,R=i[0].trace,U=R.textposition.indexOf("left")!==-1,B=R.textposition.indexOf("right")!==-1,G=R.textposition.indexOf("bottom")!==-1,N=!G&&!R.marker.pad.t||G&&!R.marker.pad.b,j=m(u,[x,d],{packing:R.tiling.packing,squarifyratio:R.tiling.squarifyratio,flipX:R.tiling.flip.indexOf("x")>-1,flipY:R.tiling.flip.indexOf("y")>-1,pad:{inner:R.tiling.pad,top:R.marker.pad.t,left:R.marker.pad.l,right:R.marker.pad.r,bottom:R.marker.pad.b}}).descendants(),V=1/0,H=-1/0;j.forEach(function(K){var te=K.depth;te>=R._maxDepth?(K.x0=K.x1=(K.x0+K.x1)/2,K.y0=K.y1=(K.y0+K.y1)/2):(V=Math.min(V,te),H=Math.max(H,te))}),p=p.data(j,t.getPtId),R._maxVisibleLayers=isFinite(H)?H-V+1:0,p.enter().append("g").classed("slice",!0),M(p,n,{},[x,d],g),p.order();var ee=null;if(h&&L){var Q=t.getPtId(L);p.each(function(K){ee===null&&t.getPtId(K)===Q&&(ee={x0:K.x0,x1:K.x1,y0:K.y0,y1:K.y1})})}var X=function(){return ee||{x0:0,x1:x,y0:0,y1:d}},Y=p;return h&&(Y=Y.transition().each("end",function(){var K=_.select(this);t.setSliceCursor(K,o,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),Y.each(function(K){var te=t.isHeader(K,R);K._x0=v(K.x0),K._x1=v(K.x1),K._y0=b(K.y0),K._y1=b(K.y1),K._hoverX=v(K.x1-R.marker.pad.r),K._hoverY=b(G?K.y1-R.marker.pad.b/2:K.y0+R.marker.pad.t/2);var ie=_.select(this),oe=w.ensureSingle(ie,"path","surface",function(pe){pe.style("pointer-events",P?"none":"all")});h?oe.transition().attrTween("d",function(pe){var de=A(pe,n,X(),[x,d]);return function(he){return g(de(he))}}):oe.attr("d",g),ie.call(a,u,o,i,{styleOne:f,eventDataKeys:l.eventDataKeys,transitionTime:l.CLICK_TRANSITION_TIME,transitionEasing:l.CLICK_TRANSITION_EASING}).call(t.setSliceCursor,o,{isTransitioning:o._transitioning}),oe.call(f,K,R,{hovered:!1}),K.x0===K.x1||K.y0===K.y1?K._text="":K._text=te?N?"":t.getPtLabel(K)||"":r(K,u,R,i,I)||"";var se=w.ensureSingle(ie,"g","slicetext"),ce=w.ensureSingle(se,"text","",function(pe){pe.attr("data-notex",1)}),xe=w.ensureUniformFontSize(o,t.determineTextFont(R,K,I.font));ce.text(K._text||" ").classed("slicetext",!0).attr("text-anchor",B?"end":U||te?"start":"middle").call(s.font,xe).call(T.convertToTspans,o),K.textBB=s.bBox(ce.node()),K.transform=y(K,{fontSize:xe.size,isHeader:te}),K.transform.fontSize=xe.size,h?ce.transition().attrTween("transform",function(pe){var de=C(pe,n,X(),[x,d]);return function(he){return k(de(he))}}):ce.attr("transform",k(K))}),ee}},14102:function(D){D.exports=function E(e,_,w){var s;w.swapXY&&(s=e.x0,e.x0=e.y0,e.y0=s,s=e.x1,e.x1=e.y1,e.y1=s),w.flipX&&(s=e.x0,e.x0=_[0]-e.x1,e.x1=_[0]-s),w.flipY&&(s=e.y0,e.y0=_[1]-e.y1,e.y1=_[1]-s);var T=e.children;if(T)for(var m=0;m-1?R+G:-(B+G):0,j={x0:U,x1:U,y0:N,y1:N+B},V=function(ge,be,Se){var Ne=d.tiling.pad,Ye=function(ft){return ft-Ne<=be.x0},Ze=function(ft){return ft+Ne>=be.x1},st=function(ft){return ft-Ne<=be.y0},ot=function(ft){return ft+Ne>=be.y1};return ge.x0===be.x0&&ge.x1===be.x1&&ge.y0===be.y0&&ge.y1===be.y1?{x0:ge.x0,x1:ge.x1,y0:ge.y0,y1:ge.y1}:{x0:Ye(ge.x0-Ne)?0:Ze(ge.x0-Ne)?Se[0]:ge.x0,x1:Ye(ge.x1+Ne)?0:Ze(ge.x1+Ne)?Se[0]:ge.x1,y0:st(ge.y0-Ne)?0:ot(ge.y0-Ne)?Se[1]:ge.y0,y1:st(ge.y1+Ne)?0:ot(ge.y1+Ne)?Se[1]:ge.y1}},H=null,ee={},Q={},X=null,Y=function(ge,be){return be?ee[r(ge)]:Q[r(ge)]};x.hasMultipleRoots&&M&&C++,d._maxDepth=C,d._backgroundColor=c.paper_bgcolor,d._entryDepth=g.data.depth,d._atRootLevel=M;var K=-I/2+L.l+L.w*(P.x[1]+P.x[0])/2,te=-R/2+L.t+L.h*(1-(P.y[1]+P.y[0])/2),ie=function(ge){return K+ge},oe=function(ge){return te+ge},se=oe(0),ce=ie(0),xe=function(ge){return ce+ge},pe=function(ge){return se+ge};function de(ge,be){return ge+","+be}var he=xe(0),ye=function(ge){ge.x=Math.max(he,ge.x)},ze=d.pathbar.edgeshape,Te=d[v?"tiling":"marker"].pad,Ae=function(ge){return d.textposition.indexOf(ge)!==-1},Me=Ae("top"),Ce=Ae("left"),ne=Ae("right"),ue=Ae("bottom"),me=function(ge,be){var Se=ge.x0,Ne=ge.x1,Ye=ge.y0,Ze=ge.y1,st=ge.textBB,ot=Me||be.isHeader&&!ue?"start":ue?"end":"middle",ft=Ae("right"),yt=Ae("left")||be.onPathbar?-1:ft?1:0;if(be.isHeader){if((Se+=(v?Te:Te.l)-m)>=(Ne-=(v?Te:Te.r)-m)){var Et=(Se+Ne)/2;Se=Et,Ne=Et}var Tt;ue?Ye<(Tt=Ze-(v?Te:Te.b))&&Tt"?(ft.x-=Ze,yt.x-=Ze,Et.x-=Ze,Tt.x-=Ze):ze==="/"?(Et.x-=Ze,Tt.x-=Ze,st.x-=Ze/2,ot.x-=Ze/2):ze==="\\"?(ft.x-=Ze,yt.x-=Ze,st.x-=Ze/2,ot.x-=Ze/2):ze==="<"&&(st.x-=Ze,ot.x-=Ze),ye(ft),ye(Tt),ye(st),ye(yt),ye(Et),ye(ot),"M"+de(ft.x,ft.y)+"L"+de(yt.x,yt.y)+"L"+de(ot.x,ot.y)+"L"+de(Et.x,Et.y)+"L"+de(Tt.x,Tt.y)+"L"+de(st.x,st.y)+"Z"},toMoveInsideSlice:me,makeUpdateSliceInterpolator:Ee,makeUpdateTextInterpolator:Ue,handleSlicesExit:De,hasTransition:A,strTransform:je}):k.remove()}},96362:function(D,E,e){var _=e(39898),w=e(7901),s=e(71828),T=e(2791),m=e(72597).resizeText;function f(l,t,a,r){var n,o,i=(r||{}).hovered,u=t.data.data,p=u.i,c=u.color,x=T.isHierarchyRoot(t),d=1;if(i)n=a._hovered.marker.line.color,o=a._hovered.marker.line.width;else if(x&&c===a.root.color)d=100,n="rgba(0,0,0,0)",o=0;else if(n=s.castOption(a,p,"marker.line.color")||w.defaultLine,o=s.castOption(a,p,"marker.line.width")||0,!a._hasColorscale&&!t.onPathbar){var v=a.marker.depthfade;if(v){var b,g=w.combine(w.addOpacity(a._backgroundColor,.75),c);if(v===!0){var y=T.getMaxDepth(a);b=isFinite(y)?T.isLeaf(t)?0:a._maxVisibleLayers-(t.data.depth-a._entryDepth):t.data.height+1}else b=t.data.depth-a._entryDepth,a._atRootLevel||b++;if(b>0)for(var k=0;k0){var g,y,k,h,M,A=f.xa,C=f.ya;p.orientation==="h"?(M=l,g="y",k=C,y="x",h=A):(M=t,g="x",k=A,y="y",h=C);var L=u[f.index];if(M>=L.span[0]&&M<=L.span[1]){var P=w.extendFlat({},f),I=h.c2p(M,!0),R=m.getKdeValue(L,p,M),U=m.getPositionOnKdePath(L,p,I),B=k._offset,G=k._length;P[g+"0"]=U[0],P[g+"1"]=U[1],P[y+"0"]=P[y+"1"]=I,P[y+"Label"]=y+": "+s.hoverLabelText(h,M,p[y+"hoverformat"])+", "+u[0].t.labels.kde+" "+R.toFixed(3);for(var N=0,j=0;j")),o.color=function(C,L){var P=C[L.dir].marker,I=P.color,R=P.line.color,U=P.line.width;return w(I)?I:w(R)&&U?R:void 0}(u,d),[o]}function A(C){return _(x,C,u[c+"hoverformat"])}}},19990:function(D,E,e){D.exports={attributes:e(43037),layoutAttributes:e(13494),supplyDefaults:e(83266).supplyDefaults,crossTraceDefaults:e(83266).crossTraceDefaults,supplyLayoutDefaults:e(5176),calc:e(52752),crossTraceCalc:e(70766),plot:e(30436),style:e(55750).style,hoverPoints:e(61326),eventData:e(58593),selectPoints:e(81974),moduleType:"trace",name:"waterfall",basePlotModule:e(93612),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},13494:function(D){D.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"}}},5176:function(D,E,e){var _=e(71828),w=e(13494);D.exports=function(s,T,m){var f=!1;function l(r,n){return _.coerce(s,T,w,r,n)}for(var t=0;t0&&(R+=y?"M"+P[0]+","+I[1]+"V"+I[0]:"M"+P[1]+","+I[0]+"H"+P[0]),k!=="between"&&(A.isSum||C path").each(function(p){if(!p.isBlank){var c=u[p.dir].marker;_.select(this).call(s.fill,c.color).call(s.stroke,c.line.color).call(w.dashLine,c.line.dash,c.line.width).style("opacity",u.selectedpoints&&!p.selected?T:1)}}),l(i,u,t),i.selectAll(".lines").each(function(){var p=u.connector.line;w.lineGroupStyle(_.select(this).selectAll("path"),p.width,p.color,p.dash)})})}}},82887:function(D,E,e){var _=e(89298),w=e(71828),s=e(86281),T=e(79344).p,m=e(50606).BADNUM;E.moduleType="transform",E.name="aggregate";var f=E.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},editType:"calc"},l=f.aggregations;function t(o,i,u,p){if(p.enabled){for(var c=p.target,x=w.nestedProperty(i,c),d=x.get(),v=function(y,k){var h=y.func,M=k.d2c,A=k.c2d;switch(h){case"count":return a;case"first":return r;case"last":return n;case"sum":return function(C,L){for(var P=0,I=0;II&&(I=G,R=B)}}return I?A(R):m};case"rms":return function(C,L){for(var P=0,I=0,R=0;R":return function(H){return V(H)>N};case">=":return function(H){return V(H)>=N};case"[]":return function(H){var ee=V(H);return ee>=N[0]&&ee<=N[1]};case"()":return function(H){var ee=V(H);return ee>N[0]&&ee=N[0]&&eeN[0]&&ee<=N[1]};case"][":return function(H){var ee=V(H);return ee<=N[0]||ee>=N[1]};case")(":return function(H){var ee=V(H);return eeN[1]};case"](":return function(H){var ee=V(H);return ee<=N[0]||ee>N[1]};case")[":return function(H){var ee=V(H);return ee=N[1]};case"{}":return function(H){return N.indexOf(V(H))!==-1};case"}{":return function(H){return N.indexOf(V(H))===-1}}}(n,s.getDataToCoordFunc(a,r,i,o),p),y={},k={},h=0;x?(v=function(L){y[L.astr]=_.extendDeep([],L.get()),L.set(new Array(u))},b=function(L,P){var I=y[L.astr][P];L.get()[P]=I}):(v=function(L){y[L.astr]=_.extendDeep([],L.get()),L.set([])},b=function(L,P){var I=y[L.astr][P];L.get().push(I)}),C(v);for(var M=T(r.transforms,n),A=0;A1?"%{group} (%{trace})":"%{group}");var o=f.styles,i=r.styles=[];if(o)for(a=0;av)throw new RangeError('The value "'+ge+'" is invalid for option "size"');var be=new Uint8Array(ge);return Object.setPrototypeOf(be,g.prototype),be}function g(ge,be,Se){if(typeof ge=="number"){if(typeof be=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return h(ge)}return y(ge,be,Se)}function y(ge,be,Se){if(typeof ge=="string")return function(Ze,st){if(typeof st=="string"&&st!==""||(st="utf8"),!g.isEncoding(st))throw new TypeError("Unknown encoding: "+st);var ot=0|L(Ze,st),ft=b(ot),yt=ft.write(Ze,st);return yt!==ot&&(ft=ft.slice(0,yt)),ft}(ge,be);if(ArrayBuffer.isView(ge))return function(Ze){if(we(Ze,Uint8Array)){var st=new Uint8Array(Ze);return A(st.buffer,st.byteOffset,st.byteLength)}return M(Ze)}(ge);if(ge==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+p(ge));if(we(ge,ArrayBuffer)||ge&&we(ge.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(we(ge,SharedArrayBuffer)||ge&&we(ge.buffer,SharedArrayBuffer)))return A(ge,be,Se);if(typeof ge=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var Ne=ge.valueOf&&ge.valueOf();if(Ne!=null&&Ne!==ge)return g.from(Ne,be,Se);var Ye=function(Ze){if(g.isBuffer(Ze)){var st=0|C(Ze.length),ot=b(st);return ot.length===0||Ze.copy(ot,0,0,st),ot}return Ze.length!==void 0?typeof Ze.length!="number"||Ee(Ze.length)?b(0):M(Ze):Ze.type==="Buffer"&&Array.isArray(Ze.data)?M(Ze.data):void 0}(ge);if(Ye)return Ye;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof ge[Symbol.toPrimitive]=="function")return g.from(ge[Symbol.toPrimitive]("string"),be,Se);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+p(ge))}function k(ge){if(typeof ge!="number")throw new TypeError('"size" argument must be of type number');if(ge<0)throw new RangeError('The value "'+ge+'" is invalid for option "size"')}function h(ge){return k(ge),b(ge<0?0:0|C(ge))}function M(ge){for(var be=ge.length<0?0:0|C(ge.length),Se=b(be),Ne=0;Ne=v)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+v.toString(16)+" bytes");return 0|ge}function L(ge,be){if(g.isBuffer(ge))return ge.length;if(ArrayBuffer.isView(ge)||we(ge,ArrayBuffer))return ge.byteLength;if(typeof ge!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+p(ge));var Se=ge.length,Ne=arguments.length>2&&arguments[2]===!0;if(!Ne&&Se===0)return 0;for(var Ye=!1;;)switch(be){case"ascii":case"latin1":case"binary":return Se;case"utf8":case"utf-8":return ne(ge).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*Se;case"hex":return Se>>>1;case"base64":return ue(ge).length;default:if(Ye)return Ne?-1:ne(ge).length;be=(""+be).toLowerCase(),Ye=!0}}function P(ge,be,Se){var Ne=!1;if((be===void 0||be<0)&&(be=0),be>this.length||((Se===void 0||Se>this.length)&&(Se=this.length),Se<=0)||(Se>>>=0)<=(be>>>=0))return"";for(ge||(ge="utf8");;)switch(ge){case"hex":return K(this,be,Se);case"utf8":case"utf-8":return ee(this,be,Se);case"ascii":return X(this,be,Se);case"latin1":case"binary":return Y(this,be,Se);case"base64":return H(this,be,Se);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return te(this,be,Se);default:if(Ne)throw new TypeError("Unknown encoding: "+ge);ge=(ge+"").toLowerCase(),Ne=!0}}function I(ge,be,Se){var Ne=ge[be];ge[be]=ge[Se],ge[Se]=Ne}function R(ge,be,Se,Ne,Ye){if(ge.length===0)return-1;if(typeof Se=="string"?(Ne=Se,Se=0):Se>2147483647?Se=2147483647:Se<-2147483648&&(Se=-2147483648),Ee(Se=+Se)&&(Se=Ye?0:ge.length-1),Se<0&&(Se=ge.length+Se),Se>=ge.length){if(Ye)return-1;Se=ge.length-1}else if(Se<0){if(!Ye)return-1;Se=0}if(typeof be=="string"&&(be=g.from(be,Ne)),g.isBuffer(be))return be.length===0?-1:U(ge,be,Se,Ne,Ye);if(typeof be=="number")return be&=255,typeof Uint8Array.prototype.indexOf=="function"?Ye?Uint8Array.prototype.indexOf.call(ge,be,Se):Uint8Array.prototype.lastIndexOf.call(ge,be,Se):U(ge,[be],Se,Ne,Ye);throw new TypeError("val must be string, number or Buffer")}function U(ge,be,Se,Ne,Ye){var Ze,st=1,ot=ge.length,ft=be.length;if(Ne!==void 0&&((Ne=String(Ne).toLowerCase())==="ucs2"||Ne==="ucs-2"||Ne==="utf16le"||Ne==="utf-16le")){if(ge.length<2||be.length<2)return-1;st=2,ot/=2,ft/=2,Se/=2}function yt(Dt,It){return st===1?Dt[It]:Dt.readUInt16BE(It*st)}if(Ye){var Et=-1;for(Ze=Se;Zeot&&(Se=ot-ft),Ze=Se;Ze>=0;Ze--){for(var Tt=!0,xt=0;xtYe&&(Ne=Ye):Ne=Ye;var Ze,st=be.length;for(Ne>st/2&&(Ne=st/2),Ze=0;Ze>8,ft=st%256,yt.push(ft),yt.push(ot);return yt}(be,ge.length-Se),ge,Se,Ne)}function H(ge,be,Se){return be===0&&Se===ge.length?c.fromByteArray(ge):c.fromByteArray(ge.slice(be,Se))}function ee(ge,be,Se){Se=Math.min(ge.length,Se);for(var Ne=[],Ye=be;Ye239?4:Ze>223?3:Ze>191?2:1;if(Ye+ot<=Se){var ft=void 0,yt=void 0,Et=void 0,Tt=void 0;switch(ot){case 1:Ze<128&&(st=Ze);break;case 2:(192&(ft=ge[Ye+1]))==128&&(Tt=(31&Ze)<<6|63&ft)>127&&(st=Tt);break;case 3:ft=ge[Ye+1],yt=ge[Ye+2],(192&ft)==128&&(192&yt)==128&&(Tt=(15&Ze)<<12|(63&ft)<<6|63&yt)>2047&&(Tt<55296||Tt>57343)&&(st=Tt);break;case 4:ft=ge[Ye+1],yt=ge[Ye+2],Et=ge[Ye+3],(192&ft)==128&&(192&yt)==128&&(192&Et)==128&&(Tt=(15&Ze)<<18|(63&ft)<<12|(63&yt)<<6|63&Et)>65535&&Tt<1114112&&(st=Tt)}}st===null?(st=65533,ot=1):st>65535&&(st-=65536,Ne.push(st>>>10&1023|55296),st=56320|1023&st),Ne.push(st),Ye+=ot}return function(xt){var Dt=xt.length;if(Dt<=Q)return String.fromCharCode.apply(String,xt);for(var It="",Ft=0;Ft"u"||typeof console.error!="function"||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(g.prototype,"parent",{enumerable:!0,get:function(){if(g.isBuffer(this))return this.buffer}}),Object.defineProperty(g.prototype,"offset",{enumerable:!0,get:function(){if(g.isBuffer(this))return this.byteOffset}}),g.poolSize=8192,g.from=function(ge,be,Se){return y(ge,be,Se)},Object.setPrototypeOf(g.prototype,Uint8Array.prototype),Object.setPrototypeOf(g,Uint8Array),g.alloc=function(ge,be,Se){return function(Ne,Ye,Ze){return k(Ne),Ne<=0?b(Ne):Ye!==void 0?typeof Ze=="string"?b(Ne).fill(Ye,Ze):b(Ne).fill(Ye):b(Ne)}(ge,be,Se)},g.allocUnsafe=function(ge){return h(ge)},g.allocUnsafeSlow=function(ge){return h(ge)},g.isBuffer=function(ge){return ge!=null&&ge._isBuffer===!0&&ge!==g.prototype},g.compare=function(ge,be){if(we(ge,Uint8Array)&&(ge=g.from(ge,ge.offset,ge.byteLength)),we(be,Uint8Array)&&(be=g.from(be,be.offset,be.byteLength)),!g.isBuffer(ge)||!g.isBuffer(be))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(ge===be)return 0;for(var Se=ge.length,Ne=be.length,Ye=0,Ze=Math.min(Se,Ne);YeNe.length?(g.isBuffer(Ze)||(Ze=g.from(Ze)),Ze.copy(Ne,Ye)):Uint8Array.prototype.set.call(Ne,Ze,Ye);else{if(!g.isBuffer(Ze))throw new TypeError('"list" argument must be an Array of Buffers');Ze.copy(Ne,Ye)}Ye+=Ze.length}return Ne},g.byteLength=L,g.prototype._isBuffer=!0,g.prototype.swap16=function(){var ge=this.length;if(ge%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var be=0;bebe&&(ge+=" ... "),""},d&&(g.prototype[d]=g.prototype.inspect),g.prototype.compare=function(ge,be,Se,Ne,Ye){if(we(ge,Uint8Array)&&(ge=g.from(ge,ge.offset,ge.byteLength)),!g.isBuffer(ge))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+p(ge));if(be===void 0&&(be=0),Se===void 0&&(Se=ge?ge.length:0),Ne===void 0&&(Ne=0),Ye===void 0&&(Ye=this.length),be<0||Se>ge.length||Ne<0||Ye>this.length)throw new RangeError("out of range index");if(Ne>=Ye&&be>=Se)return 0;if(Ne>=Ye)return-1;if(be>=Se)return 1;if(this===ge)return 0;for(var Ze=(Ye>>>=0)-(Ne>>>=0),st=(Se>>>=0)-(be>>>=0),ot=Math.min(Ze,st),ft=this.slice(Ne,Ye),yt=ge.slice(be,Se),Et=0;Et>>=0,isFinite(Se)?(Se>>>=0,Ne===void 0&&(Ne="utf8")):(Ne=Se,Se=void 0)}var Ye=this.length-be;if((Se===void 0||Se>Ye)&&(Se=Ye),ge.length>0&&(Se<0||be<0)||be>this.length)throw new RangeError("Attempt to write outside buffer bounds");Ne||(Ne="utf8");for(var Ze=!1;;)switch(Ne){case"hex":return B(this,ge,be,Se);case"utf8":case"utf-8":return G(this,ge,be,Se);case"ascii":case"latin1":case"binary":return N(this,ge,be,Se);case"base64":return j(this,ge,be,Se);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return V(this,ge,be,Se);default:if(Ze)throw new TypeError("Unknown encoding: "+Ne);Ne=(""+Ne).toLowerCase(),Ze=!0}},g.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;function X(ge,be,Se){var Ne="";Se=Math.min(ge.length,Se);for(var Ye=be;YeNe)&&(Se=Ne);for(var Ye="",Ze=be;ZeSe)throw new RangeError("Trying to access beyond buffer length")}function oe(ge,be,Se,Ne,Ye,Ze){if(!g.isBuffer(ge))throw new TypeError('"buffer" argument must be a Buffer instance');if(be>Ye||bege.length)throw new RangeError("Index out of range")}function se(ge,be,Se,Ne,Ye){Te(be,Ne,Ye,ge,Se,7);var Ze=Number(be&BigInt(4294967295));ge[Se++]=Ze,Ze>>=8,ge[Se++]=Ze,Ze>>=8,ge[Se++]=Ze,Ze>>=8,ge[Se++]=Ze;var st=Number(be>>BigInt(32)&BigInt(4294967295));return ge[Se++]=st,st>>=8,ge[Se++]=st,st>>=8,ge[Se++]=st,st>>=8,ge[Se++]=st,Se}function ce(ge,be,Se,Ne,Ye){Te(be,Ne,Ye,ge,Se,7);var Ze=Number(be&BigInt(4294967295));ge[Se+7]=Ze,Ze>>=8,ge[Se+6]=Ze,Ze>>=8,ge[Se+5]=Ze,Ze>>=8,ge[Se+4]=Ze;var st=Number(be>>BigInt(32)&BigInt(4294967295));return ge[Se+3]=st,st>>=8,ge[Se+2]=st,st>>=8,ge[Se+1]=st,st>>=8,ge[Se]=st,Se+8}function xe(ge,be,Se,Ne,Ye,Ze){if(Se+Ne>ge.length)throw new RangeError("Index out of range");if(Se<0)throw new RangeError("Index out of range")}function pe(ge,be,Se,Ne,Ye){return be=+be,Se>>>=0,Ye||xe(ge,0,Se,4),x.write(ge,be,Se,Ne,23,4),Se+4}function de(ge,be,Se,Ne,Ye){return be=+be,Se>>>=0,Ye||xe(ge,0,Se,8),x.write(ge,be,Se,Ne,52,8),Se+8}g.prototype.slice=function(ge,be){var Se=this.length;(ge=~~ge)<0?(ge+=Se)<0&&(ge=0):ge>Se&&(ge=Se),(be=be===void 0?Se:~~be)<0?(be+=Se)<0&&(be=0):be>Se&&(be=Se),be>>=0,be>>>=0,Se||ie(ge,be,this.length);for(var Ne=this[ge],Ye=1,Ze=0;++Ze>>=0,be>>>=0,Se||ie(ge,be,this.length);for(var Ne=this[ge+--be],Ye=1;be>0&&(Ye*=256);)Ne+=this[ge+--be]*Ye;return Ne},g.prototype.readUint8=g.prototype.readUInt8=function(ge,be){return ge>>>=0,be||ie(ge,1,this.length),this[ge]},g.prototype.readUint16LE=g.prototype.readUInt16LE=function(ge,be){return ge>>>=0,be||ie(ge,2,this.length),this[ge]|this[ge+1]<<8},g.prototype.readUint16BE=g.prototype.readUInt16BE=function(ge,be){return ge>>>=0,be||ie(ge,2,this.length),this[ge]<<8|this[ge+1]},g.prototype.readUint32LE=g.prototype.readUInt32LE=function(ge,be){return ge>>>=0,be||ie(ge,4,this.length),(this[ge]|this[ge+1]<<8|this[ge+2]<<16)+16777216*this[ge+3]},g.prototype.readUint32BE=g.prototype.readUInt32BE=function(ge,be){return ge>>>=0,be||ie(ge,4,this.length),16777216*this[ge]+(this[ge+1]<<16|this[ge+2]<<8|this[ge+3])},g.prototype.readBigUInt64LE=De(function(ge){Ae(ge>>>=0,"offset");var be=this[ge],Se=this[ge+7];be!==void 0&&Se!==void 0||Me(ge,this.length-8);var Ne=be+this[++ge]*Math.pow(2,8)+this[++ge]*Math.pow(2,16)+this[++ge]*Math.pow(2,24),Ye=this[++ge]+this[++ge]*Math.pow(2,8)+this[++ge]*Math.pow(2,16)+Se*Math.pow(2,24);return BigInt(Ne)+(BigInt(Ye)<>>=0,"offset");var be=this[ge],Se=this[ge+7];be!==void 0&&Se!==void 0||Me(ge,this.length-8);var Ne=be*Math.pow(2,24)+this[++ge]*Math.pow(2,16)+this[++ge]*Math.pow(2,8)+this[++ge],Ye=this[++ge]*Math.pow(2,24)+this[++ge]*Math.pow(2,16)+this[++ge]*Math.pow(2,8)+Se;return(BigInt(Ne)<>>=0,be>>>=0,Se||ie(ge,be,this.length);for(var Ne=this[ge],Ye=1,Ze=0;++Ze=(Ye*=128)&&(Ne-=Math.pow(2,8*be)),Ne},g.prototype.readIntBE=function(ge,be,Se){ge>>>=0,be>>>=0,Se||ie(ge,be,this.length);for(var Ne=be,Ye=1,Ze=this[ge+--Ne];Ne>0&&(Ye*=256);)Ze+=this[ge+--Ne]*Ye;return Ze>=(Ye*=128)&&(Ze-=Math.pow(2,8*be)),Ze},g.prototype.readInt8=function(ge,be){return ge>>>=0,be||ie(ge,1,this.length),128&this[ge]?-1*(255-this[ge]+1):this[ge]},g.prototype.readInt16LE=function(ge,be){ge>>>=0,be||ie(ge,2,this.length);var Se=this[ge]|this[ge+1]<<8;return 32768&Se?4294901760|Se:Se},g.prototype.readInt16BE=function(ge,be){ge>>>=0,be||ie(ge,2,this.length);var Se=this[ge+1]|this[ge]<<8;return 32768&Se?4294901760|Se:Se},g.prototype.readInt32LE=function(ge,be){return ge>>>=0,be||ie(ge,4,this.length),this[ge]|this[ge+1]<<8|this[ge+2]<<16|this[ge+3]<<24},g.prototype.readInt32BE=function(ge,be){return ge>>>=0,be||ie(ge,4,this.length),this[ge]<<24|this[ge+1]<<16|this[ge+2]<<8|this[ge+3]},g.prototype.readBigInt64LE=De(function(ge){Ae(ge>>>=0,"offset");var be=this[ge],Se=this[ge+7];be!==void 0&&Se!==void 0||Me(ge,this.length-8);var Ne=this[ge+4]+this[ge+5]*Math.pow(2,8)+this[ge+6]*Math.pow(2,16)+(Se<<24);return(BigInt(Ne)<>>=0,"offset");var be=this[ge],Se=this[ge+7];be!==void 0&&Se!==void 0||Me(ge,this.length-8);var Ne=(be<<24)+this[++ge]*Math.pow(2,16)+this[++ge]*Math.pow(2,8)+this[++ge];return(BigInt(Ne)<>>=0,be||ie(ge,4,this.length),x.read(this,ge,!0,23,4)},g.prototype.readFloatBE=function(ge,be){return ge>>>=0,be||ie(ge,4,this.length),x.read(this,ge,!1,23,4)},g.prototype.readDoubleLE=function(ge,be){return ge>>>=0,be||ie(ge,8,this.length),x.read(this,ge,!0,52,8)},g.prototype.readDoubleBE=function(ge,be){return ge>>>=0,be||ie(ge,8,this.length),x.read(this,ge,!1,52,8)},g.prototype.writeUintLE=g.prototype.writeUIntLE=function(ge,be,Se,Ne){ge=+ge,be>>>=0,Se>>>=0,Ne||oe(this,ge,be,Se,Math.pow(2,8*Se)-1,0);var Ye=1,Ze=0;for(this[be]=255≥++Ze>>=0,Se>>>=0,Ne||oe(this,ge,be,Se,Math.pow(2,8*Se)-1,0);var Ye=Se-1,Ze=1;for(this[be+Ye]=255≥--Ye>=0&&(Ze*=256);)this[be+Ye]=ge/Ze&255;return be+Se},g.prototype.writeUint8=g.prototype.writeUInt8=function(ge,be,Se){return ge=+ge,be>>>=0,Se||oe(this,ge,be,1,255,0),this[be]=255&ge,be+1},g.prototype.writeUint16LE=g.prototype.writeUInt16LE=function(ge,be,Se){return ge=+ge,be>>>=0,Se||oe(this,ge,be,2,65535,0),this[be]=255&ge,this[be+1]=ge>>>8,be+2},g.prototype.writeUint16BE=g.prototype.writeUInt16BE=function(ge,be,Se){return ge=+ge,be>>>=0,Se||oe(this,ge,be,2,65535,0),this[be]=ge>>>8,this[be+1]=255&ge,be+2},g.prototype.writeUint32LE=g.prototype.writeUInt32LE=function(ge,be,Se){return ge=+ge,be>>>=0,Se||oe(this,ge,be,4,4294967295,0),this[be+3]=ge>>>24,this[be+2]=ge>>>16,this[be+1]=ge>>>8,this[be]=255&ge,be+4},g.prototype.writeUint32BE=g.prototype.writeUInt32BE=function(ge,be,Se){return ge=+ge,be>>>=0,Se||oe(this,ge,be,4,4294967295,0),this[be]=ge>>>24,this[be+1]=ge>>>16,this[be+2]=ge>>>8,this[be+3]=255&ge,be+4},g.prototype.writeBigUInt64LE=De(function(ge){var be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return se(this,ge,be,BigInt(0),BigInt("0xffffffffffffffff"))}),g.prototype.writeBigUInt64BE=De(function(ge){var be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return ce(this,ge,be,BigInt(0),BigInt("0xffffffffffffffff"))}),g.prototype.writeIntLE=function(ge,be,Se,Ne){if(ge=+ge,be>>>=0,!Ne){var Ye=Math.pow(2,8*Se-1);oe(this,ge,be,Se,Ye-1,-Ye)}var Ze=0,st=1,ot=0;for(this[be]=255≥++Ze>0)-ot&255;return be+Se},g.prototype.writeIntBE=function(ge,be,Se,Ne){if(ge=+ge,be>>>=0,!Ne){var Ye=Math.pow(2,8*Se-1);oe(this,ge,be,Se,Ye-1,-Ye)}var Ze=Se-1,st=1,ot=0;for(this[be+Ze]=255≥--Ze>=0&&(st*=256);)ge<0&&ot===0&&this[be+Ze+1]!==0&&(ot=1),this[be+Ze]=(ge/st>>0)-ot&255;return be+Se},g.prototype.writeInt8=function(ge,be,Se){return ge=+ge,be>>>=0,Se||oe(this,ge,be,1,127,-128),ge<0&&(ge=255+ge+1),this[be]=255&ge,be+1},g.prototype.writeInt16LE=function(ge,be,Se){return ge=+ge,be>>>=0,Se||oe(this,ge,be,2,32767,-32768),this[be]=255&ge,this[be+1]=ge>>>8,be+2},g.prototype.writeInt16BE=function(ge,be,Se){return ge=+ge,be>>>=0,Se||oe(this,ge,be,2,32767,-32768),this[be]=ge>>>8,this[be+1]=255&ge,be+2},g.prototype.writeInt32LE=function(ge,be,Se){return ge=+ge,be>>>=0,Se||oe(this,ge,be,4,2147483647,-2147483648),this[be]=255&ge,this[be+1]=ge>>>8,this[be+2]=ge>>>16,this[be+3]=ge>>>24,be+4},g.prototype.writeInt32BE=function(ge,be,Se){return ge=+ge,be>>>=0,Se||oe(this,ge,be,4,2147483647,-2147483648),ge<0&&(ge=4294967295+ge+1),this[be]=ge>>>24,this[be+1]=ge>>>16,this[be+2]=ge>>>8,this[be+3]=255&ge,be+4},g.prototype.writeBigInt64LE=De(function(ge){var be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return se(this,ge,be,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),g.prototype.writeBigInt64BE=De(function(ge){var be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return ce(this,ge,be,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),g.prototype.writeFloatLE=function(ge,be,Se){return pe(this,ge,be,!0,Se)},g.prototype.writeFloatBE=function(ge,be,Se){return pe(this,ge,be,!1,Se)},g.prototype.writeDoubleLE=function(ge,be,Se){return de(this,ge,be,!0,Se)},g.prototype.writeDoubleBE=function(ge,be,Se){return de(this,ge,be,!1,Se)},g.prototype.copy=function(ge,be,Se,Ne){if(!g.isBuffer(ge))throw new TypeError("argument should be a Buffer");if(Se||(Se=0),Ne||Ne===0||(Ne=this.length),be>=ge.length&&(be=ge.length),be||(be=0),Ne>0&&Ne=this.length)throw new RangeError("Index out of range");if(Ne<0)throw new RangeError("sourceEnd out of bounds");Ne>this.length&&(Ne=this.length),ge.length-be>>=0,Se=Se===void 0?this.length:Se>>>0,ge||(ge=0),typeof ge=="number")for(Ze=be;Ze"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var Et,Tt=u(st);if(ot){var xt=u(this).constructor;Et=Reflect.construct(Tt,arguments,xt)}else Et=Tt.apply(this,arguments);return o(this,Et)});function yt(){var Et;return a(this,yt),Et=ft.call(this),Object.defineProperty(i(Et),"message",{value:be.apply(i(Et),arguments),writable:!0,configurable:!0}),Et.name="".concat(Et.name," [").concat(ge,"]"),Et.stack,delete Et.name,Et}return Ye=yt,(Ze=[{key:"code",get:function(){return ge},set:function(Et){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:Et,writable:!0})}},{key:"toString",value:function(){return"".concat(this.name," [").concat(ge,"]: ").concat(this.message)}}])&&r(Ye.prototype,Ze),Object.defineProperty(Ye,"prototype",{writable:!1}),yt}(Se)}function ze(ge){for(var be="",Se=ge.length,Ne=ge[0]==="-"?1:0;Se>=Ne+4;Se-=3)be="_".concat(ge.slice(Se-3,Se)).concat(be);return"".concat(ge.slice(0,Se)).concat(be)}function Te(ge,be,Se,Ne,Ye,Ze){if(ge>Se||ge3?be===0||be===BigInt(0)?">= 0".concat(ot," and < 2").concat(ot," ** ").concat(8*(Ze+1)).concat(ot):">= -(2".concat(ot," ** ").concat(8*(Ze+1)-1).concat(ot,") and < 2 ** ")+"".concat(8*(Ze+1)-1).concat(ot):">= ".concat(be).concat(ot," and <= ").concat(Se).concat(ot),new he.ERR_OUT_OF_RANGE("value",st,ge)}(function(ft,yt,Et){Ae(yt,"offset"),ft[yt]!==void 0&&ft[yt+Et]!==void 0||Me(yt,ft.length-(Et+1))})(Ne,Ye,Ze)}function Ae(ge,be){if(typeof ge!="number")throw new he.ERR_INVALID_ARG_TYPE(be,"number",ge)}function Me(ge,be,Se){throw Math.floor(ge)!==ge?(Ae(ge,Se),new he.ERR_OUT_OF_RANGE(Se||"offset","an integer",ge)):be<0?new he.ERR_BUFFER_OUT_OF_BOUNDS:new he.ERR_OUT_OF_RANGE(Se||"offset",">= ".concat(Se?1:0," and <= ").concat(be),ge)}ye("ERR_BUFFER_OUT_OF_BOUNDS",function(ge){return ge?"".concat(ge," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"},RangeError),ye("ERR_INVALID_ARG_TYPE",function(ge,be){return'The "'.concat(ge,'" argument must be of type number. Received type ').concat(p(be))},TypeError),ye("ERR_OUT_OF_RANGE",function(ge,be,Se){var Ne='The value of "'.concat(ge,'" is out of range.'),Ye=Se;return Number.isInteger(Se)&&Math.abs(Se)>Math.pow(2,32)?Ye=ze(String(Se)):typeof Se=="bigint"&&(Ye=String(Se),(Se>Math.pow(BigInt(2),BigInt(32))||Se<-Math.pow(BigInt(2),BigInt(32)))&&(Ye=ze(Ye)),Ye+="n"),Ne+" It must be ".concat(be,". Received ").concat(Ye)},RangeError);var Ce=/[^+/0-9A-Za-z-_]/g;function ne(ge,be){var Se;be=be||1/0;for(var Ne=ge.length,Ye=null,Ze=[],st=0;st55295&&Se<57344){if(!Ye){if(Se>56319){(be-=3)>-1&&Ze.push(239,191,189);continue}if(st+1===Ne){(be-=3)>-1&&Ze.push(239,191,189);continue}Ye=Se;continue}if(Se<56320){(be-=3)>-1&&Ze.push(239,191,189),Ye=Se;continue}Se=65536+(Ye-55296<<10|Se-56320)}else Ye&&(be-=3)>-1&&Ze.push(239,191,189);if(Ye=null,Se<128){if((be-=1)<0)break;Ze.push(Se)}else if(Se<2048){if((be-=2)<0)break;Ze.push(Se>>6|192,63&Se|128)}else if(Se<65536){if((be-=3)<0)break;Ze.push(Se>>12|224,Se>>6&63|128,63&Se|128)}else{if(!(Se<1114112))throw new Error("Invalid code point");if((be-=4)<0)break;Ze.push(Se>>18|240,Se>>12&63|128,Se>>6&63|128,63&Se|128)}}return Ze}function ue(ge){return c.toByteArray(function(be){if((be=(be=be.split("=")[0]).trim().replace(Ce,"")).length<2)return"";for(;be.length%4!=0;)be+="=";return be}(ge))}function me(ge,be,Se,Ne){var Ye;for(Ye=0;Ye=be.length||Ye>=ge.length);++Ye)be[Ye+Se]=ge[Ye];return Ye}function we(ge,be){return ge instanceof be||ge!=null&&ge.constructor!=null&&ge.constructor.name!=null&&ge.constructor.name===be.name}function Ee(ge){return ge!=ge}var Ue=function(){for(var ge="0123456789abcdef",be=new Array(256),Se=0;Se<16;++Se)for(var Ne=16*Se,Ye=0;Ye<16;++Ye)be[Ne+Ye]=ge[Se]+ge[Ye];return be}();function De(ge){return typeof BigInt>"u"?je:ge}function je(){throw new Error("BigInt not supported")}},2321:function(f){f.exports=r,f.exports.isMobile=r,f.exports.default=r;var l=/(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,t=/CrOS/,a=/android|ipad|playbook|silk/i;function r(n){n||(n={});var o=n.ua;if(o||typeof navigator>"u"||(o=navigator.userAgent),o&&o.headers&&typeof o.headers["user-agent"]=="string"&&(o=o.headers["user-agent"]),typeof o!="string")return!1;var i=l.test(o)&&!t.test(o)||!!n.tablet&&a.test(o);return!i&&n.tablet&&n.featureDetect&&navigator&&navigator.maxTouchPoints>1&&o.indexOf("Macintosh")!==-1&&o.indexOf("Safari")!==-1&&(i=!0),i}},3910:function(f,l){l.byteLength=function(c){var x=u(c),d=x[0],v=x[1];return 3*(d+v)/4-v},l.toByteArray=function(c){var x,d,v=u(c),b=v[0],g=v[1],y=new r(function(M,A,C){return 3*(A+C)/4-C}(0,b,g)),k=0,h=g>0?b-4:b;for(d=0;d>16&255,y[k++]=x>>8&255,y[k++]=255&x;return g===2&&(x=a[c.charCodeAt(d)]<<2|a[c.charCodeAt(d+1)]>>4,y[k++]=255&x),g===1&&(x=a[c.charCodeAt(d)]<<10|a[c.charCodeAt(d+1)]<<4|a[c.charCodeAt(d+2)]>>2,y[k++]=x>>8&255,y[k++]=255&x),y},l.fromByteArray=function(c){for(var x,d=c.length,v=d%3,b=[],g=16383,y=0,k=d-v;yk?k:y+g));return v===1?(x=c[d-1],b.push(t[x>>2]+t[x<<4&63]+"==")):v===2&&(x=(c[d-2]<<8)+c[d-1],b.push(t[x>>10]+t[x>>4&63]+t[x<<2&63]+"=")),b.join("")};for(var t=[],a=[],r=typeof Uint8Array<"u"?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,i=n.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var d=c.indexOf("=");return d===-1&&(d=x),[d,d===x?0:4-d%4]}function p(c,x,d){for(var v,b,g=[],y=x;y>18&63]+t[b>>12&63]+t[b>>6&63]+t[63&b]);return g.join("")}a["-".charCodeAt(0)]=62,a["_".charCodeAt(0)]=63},3187:function(f,l){l.read=function(t,a,r,n,o){var i,u,p=8*o-n-1,c=(1<>1,d=-7,v=r?o-1:0,b=r?-1:1,g=t[a+v];for(v+=b,i=g&(1<<-d)-1,g>>=-d,d+=p;d>0;i=256*i+t[a+v],v+=b,d-=8);for(u=i&(1<<-d)-1,i>>=-d,d+=n;d>0;u=256*u+t[a+v],v+=b,d-=8);if(i===0)i=1-x;else{if(i===c)return u?NaN:1/0*(g?-1:1);u+=Math.pow(2,n),i-=x}return(g?-1:1)*u*Math.pow(2,i-n)},l.write=function(t,a,r,n,o,i){var u,p,c,x=8*i-o-1,d=(1<>1,b=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:i-1,y=n?1:-1,k=a<0||a===0&&1/a<0?1:0;for(a=Math.abs(a),isNaN(a)||a===1/0?(p=isNaN(a)?1:0,u=d):(u=Math.floor(Math.log(a)/Math.LN2),a*(c=Math.pow(2,-u))<1&&(u--,c*=2),(a+=u+v>=1?b/c:b*Math.pow(2,1-v))*c>=2&&(u++,c/=2),u+v>=d?(p=0,u=d):u+v>=1?(p=(a*c-1)*Math.pow(2,o),u+=v):(p=a*Math.pow(2,v-1)*Math.pow(2,o),u=0));o>=8;t[r+g]=255&p,g+=y,p/=256,o-=8);for(u=u<0;t[r+g]=255&u,g+=y,u/=256,x-=8);t[r+g-y]|=128*k}},1152:function(f,l,t){f.exports=function(u){var p=(u=u||{}).eye||[0,0,1],c=u.center||[0,0,0],x=u.up||[0,1,0],d=u.distanceLimits||[0,1/0],v=u.mode||"turntable",b=a(),g=r(),y=n();return b.setDistanceLimits(d[0],d[1]),b.lookAt(0,p,c,x),g.setDistanceLimits(d[0],d[1]),g.lookAt(0,p,c,x),y.setDistanceLimits(d[0],d[1]),y.lookAt(0,p,c,x),new o({turntable:b,orbit:g,matrix:y},v)};var a=t(3440),r=t(7774),n=t(9298);function o(u,p){this._controllerNames=Object.keys(u),this._controllerList=this._controllerNames.map(function(c){return u[c]}),this._mode=p,this._active=u[p],this._active||(this._mode="turntable",this._active=u.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 i=o.prototype;i.flush=function(u){for(var p=this._controllerList,c=0;c"u"?t(5346):WeakMap,r=t(5827),n=t(2944),o=new a;f.exports=function(i){var u=o.get(i),p=u&&(u._triangleBuffer.handle||u._triangleBuffer.buffer);if(!p||!i.isBuffer(p)){var c=r(i,new Float32Array([-1,-1,-1,4,4,-1]));(u=n(i,[{buffer:c,type:i.FLOAT,size:2}]))._triangleBuffer=c,o.set(i,u)}u.bind(),i.drawArrays(i.TRIANGLES,0,3),u.unbind()}},8008:function(f,l,t){var a=t(4930);f.exports=function(r,n,o){n=typeof n=="number"?n:1,o=o||": ";var i=r.split(/\r?\n/),u=String(i.length+n-1).length;return i.map(function(p,c){var x=c+n,d=String(x).length;return a(x,u-d)+o+p}).join(` +`)}},2153:function(f,l,t){f.exports=function(n){var o=n.length;if(o===0)return[];if(o===1)return[0];for(var i=n[0].length,u=[n[0]],p=[0],c=1;c0?d=d.ushln(b):b<0&&(v=v.ushln(-b)),i(d,v)}},234:function(f,l,t){var a=t(3218);f.exports=function(r){return Array.isArray(r)&&r.length===2&&a(r[0])&&a(r[1])}},4275:function(f,l,t){var a=t(1928);f.exports=function(r){return r.cmp(new a(0))}},9958:function(f,l,t){var a=t(4275);f.exports=function(r){var n=r.length,o=r.words,i=0;if(n===1)i=o[0];else if(n===2)i=o[0]+67108864*o[1];else for(var u=0;u20?52:i+32}},3218:function(f,l,t){t(1928),f.exports=function(a){return a&&typeof a=="object"&&!!a.words}},5514:function(f,l,t){var a=t(1928),r=t(8362);f.exports=function(n){var o=r.exponent(n);return o<52?new a(n):new a(n*Math.pow(2,52-o)).ushln(o-52)}},8524:function(f,l,t){var a=t(5514),r=t(4275);f.exports=function(n,o){var i=r(n),u=r(o);if(i===0)return[a(0),a(1)];if(u===0)return[a(0),a(0)];u<0&&(n=n.neg(),o=o.neg());var p=n.gcd(o);return p.cmpn(1)?[n.div(p),o.div(p)]:[n,o]}},2813:function(f,l,t){var a=t(1928);f.exports=function(r){return new a(r)}},3962:function(f,l,t){var a=t(8524);f.exports=function(r,n){return a(r[0].mul(n[0]),r[1].mul(n[1]))}},4951:function(f,l,t){var a=t(4275);f.exports=function(r){return a(r[0])*a(r[1])}},4354:function(f,l,t){var a=t(8524);f.exports=function(r,n){return a(r[0].mul(n[1]).sub(r[1].mul(n[0])),r[1].mul(n[1]))}},7999:function(f,l,t){var a=t(9958),r=t(1112);f.exports=function(n){var o=n[0],i=n[1];if(o.cmpn(0)===0)return 0;var u=o.abs().divmod(i.abs()),p=u.div,c=a(p),x=u.mod,d=o.negative!==i.negative?-1:1;if(x.cmpn(0)===0)return d*c;if(c){var v=r(c)+4,b=a(x.ushln(v).divRound(i));return d*(c+b*Math.pow(2,-v))}var g=i.bitLength()-x.bitLength()+53;return b=a(x.ushln(g).divRound(i)),g<1023?d*b*Math.pow(2,-g):d*(b*=Math.pow(2,-1023))*Math.pow(2,1023-g)}},5070:function(f){function l(i,u,p,c,x){for(var d=x+1;c<=x;){var v=c+x>>>1,b=i[v];(p!==void 0?p(b,u):b-u)>=0?(d=v,x=v-1):c=v+1}return d}function t(i,u,p,c,x){for(var d=x+1;c<=x;){var v=c+x>>>1,b=i[v];(p!==void 0?p(b,u):b-u)>0?(d=v,x=v-1):c=v+1}return d}function a(i,u,p,c,x){for(var d=c-1;c<=x;){var v=c+x>>>1,b=i[v];(p!==void 0?p(b,u):b-u)<0?(d=v,c=v+1):x=v-1}return d}function r(i,u,p,c,x){for(var d=c-1;c<=x;){var v=c+x>>>1,b=i[v];(p!==void 0?p(b,u):b-u)<=0?(d=v,c=v+1):x=v-1}return d}function n(i,u,p,c,x){for(;c<=x;){var d=c+x>>>1,v=i[d],b=p!==void 0?p(v,u):v-u;if(b===0)return d;b<=0?c=d+1:x=d-1}return-1}function o(i,u,p,c,x,d){return typeof p=="function"?d(i,u,p,c===void 0?0:0|c,x===void 0?i.length-1:0|x):d(i,u,void 0,p===void 0?0:0|p,c===void 0?i.length-1:0|c)}f.exports={ge:function(i,u,p,c,x){return o(i,u,p,c,x,l)},gt:function(i,u,p,c,x){return o(i,u,p,c,x,t)},lt:function(i,u,p,c,x){return o(i,u,p,c,x,a)},le:function(i,u,p,c,x){return o(i,u,p,c,x,r)},eq:function(i,u,p,c,x){return o(i,u,p,c,x,n)}}},2288:function(f,l){function t(r){var n=32;return(r&=-r)&&n--,65535&r&&(n-=16),16711935&r&&(n-=8),252645135&r&&(n-=4),858993459&r&&(n-=2),1431655765&r&&(n-=1),n}l.INT_BITS=32,l.INT_MAX=2147483647,l.INT_MIN=-2147483648,l.sign=function(r){return(r>0)-(r<0)},l.abs=function(r){var n=r>>31;return(r^n)-n},l.min=function(r,n){return n^(r^n)&-(r65535)<<4,n|=o=((r>>>=n)>255)<<3,n|=o=((r>>>=o)>15)<<2,(n|=o=((r>>>=o)>3)<<1)|(r>>>=o)>>1},l.log10=function(r){return r>=1e9?9:r>=1e8?8:r>=1e7?7:r>=1e6?6:r>=1e5?5:r>=1e4?4:r>=1e3?3:r>=100?2:r>=10?1:0},l.popCount=function(r){return 16843009*((r=(858993459&(r-=r>>>1&1431655765))+(r>>>2&858993459))+(r>>>4)&252645135)>>>24},l.countTrailingZeros=t,l.nextPow2=function(r){return r+=r===0,--r,r|=r>>>1,r|=r>>>2,r|=r>>>4,1+((r|=r>>>8)|r>>>16)},l.prevPow2=function(r){return r|=r>>>1,r|=r>>>2,r|=r>>>4,r|=r>>>8,(r|=r>>>16)-(r>>>1)},l.parity=function(r){return r^=r>>>16,r^=r>>>8,r^=r>>>4,27030>>>(r&=15)&1};var a=new Array(256);(function(r){for(var n=0;n<256;++n){var o=n,i=n,u=7;for(o>>>=1;o;o>>>=1)i<<=1,i|=1&o,--u;r[n]=i<>>8&255]<<16|a[r>>>16&255]<<8|a[r>>>24&255]},l.interleave2=function(r,n){return(r=1431655765&((r=858993459&((r=252645135&((r=16711935&((r&=65535)|r<<8))|r<<4))|r<<2))|r<<1))|(n=1431655765&((n=858993459&((n=252645135&((n=16711935&((n&=65535)|n<<8))|n<<4))|n<<2))|n<<1))<<1},l.deinterleave2=function(r,n){return(r=65535&((r=16711935&((r=252645135&((r=858993459&((r=r>>>n&1431655765)|r>>>1))|r>>>2))|r>>>4))|r>>>16))<<16>>16},l.interleave3=function(r,n,o){return r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2),(r|=(n=1227133513&((n=3272356035&((n=251719695&((n=4278190335&((n&=1023)|n<<16))|n<<8))|n<<4))|n<<2))<<1)|(o=1227133513&((o=3272356035&((o=251719695&((o=4278190335&((o&=1023)|o<<16))|o<<8))|o<<4))|o<<2))<<2},l.deinterleave3=function(r,n){return(r=1023&((r=4278190335&((r=251719695&((r=3272356035&((r=r>>>n&1227133513)|r>>>2))|r>>>4))|r>>>8))|r>>>16))<<22>>22},l.nextCombination=function(r){var n=r|r-1;return n+1|(~n&-~n)-1>>>t(r)+1}},1928:function(f,l,t){(function(a,r){function n(B,G){if(!B)throw new Error(G||"Assertion failed")}function o(B,G){B.super_=G;var N=function(){};N.prototype=G.prototype,B.prototype=new N,B.prototype.constructor=B}function i(B,G,N){if(i.isBN(B))return B;this.negative=0,this.words=null,this.length=0,this.red=null,B!==null&&(G!=="le"&&G!=="be"||(N=G,G=10),this._init(B||0,G||10,N||"be"))}var u;typeof a=="object"?a.exports=i:r.BN=i,i.BN=i,i.wordSize=26;try{u=typeof window<"u"&&window.Buffer!==void 0?window.Buffer:t(6601).Buffer}catch{}function p(B,G){var N=B.charCodeAt(G);return N>=65&&N<=70?N-55:N>=97&&N<=102?N-87:N-48&15}function c(B,G,N){var j=p(B,N);return N-1>=G&&(j|=p(B,N-1)<<4),j}function x(B,G,N,j){for(var V=0,H=Math.min(B.length,N),ee=G;ee=49?Q-49+10:Q>=17?Q-17+10:Q}return V}i.isBN=function(B){return B instanceof i||B!==null&&typeof B=="object"&&B.constructor.wordSize===i.wordSize&&Array.isArray(B.words)},i.max=function(B,G){return B.cmp(G)>0?B:G},i.min=function(B,G){return B.cmp(G)<0?B:G},i.prototype._init=function(B,G,N){if(typeof B=="number")return this._initNumber(B,G,N);if(typeof B=="object")return this._initArray(B,G,N);G==="hex"&&(G=16),n(G===(0|G)&&G>=2&&G<=36);var j=0;(B=B.toString().replace(/\s+/g,""))[0]==="-"&&(j++,this.negative=1),j=0;j-=3)H=B[j]|B[j-1]<<8|B[j-2]<<16,this.words[V]|=H<>>26-ee&67108863,(ee+=24)>=26&&(ee-=26,V++);else if(N==="le")for(j=0,V=0;j>>26-ee&67108863,(ee+=24)>=26&&(ee-=26,V++);return this.strip()},i.prototype._parseHex=function(B,G,N){this.length=Math.ceil((B.length-G)/6),this.words=new Array(this.length);for(var j=0;j=G;j-=2)V=c(B,G,j)<=18?(H-=18,ee+=1,this.words[ee]|=V>>>26):H+=8;else for(j=(B.length-G)%2==0?G+1:G;j=18?(H-=18,ee+=1,this.words[ee]|=V>>>26):H+=8;this.strip()},i.prototype._parseBase=function(B,G,N){this.words=[0],this.length=1;for(var j=0,V=1;V<=67108863;V*=G)j++;j--,V=V/G|0;for(var H=B.length-N,ee=H%j,Q=Math.min(H,H-ee)+N,X=0,Y=N;Y1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},i.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var d=["","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"],v=[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],b=[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 g(B,G,N){N.negative=G.negative^B.negative;var j=B.length+G.length|0;N.length=j,j=j-1|0;var V=0|B.words[0],H=0|G.words[0],ee=V*H,Q=67108863&ee,X=ee/67108864|0;N.words[0]=Q;for(var Y=1;Y>>26,te=67108863&X,ie=Math.min(Y,G.length-1),oe=Math.max(0,Y-B.length+1);oe<=ie;oe++){var se=Y-oe|0;K+=(ee=(V=0|B.words[se])*(H=0|G.words[oe])+te)/67108864|0,te=67108863&ee}N.words[Y]=0|te,X=0|K}return X!==0?N.words[Y]=0|X:N.length--,N.strip()}i.prototype.toString=function(B,G){var N;if(G=0|G||1,(B=B||10)===16||B==="hex"){N="";for(var j=0,V=0,H=0;H>>24-j&16777215)!=0||H!==this.length-1?d[6-Q.length]+Q+N:Q+N,(j+=2)>=26&&(j-=26,H--)}for(V!==0&&(N=V.toString(16)+N);N.length%G!=0;)N="0"+N;return this.negative!==0&&(N="-"+N),N}if(B===(0|B)&&B>=2&&B<=36){var X=v[B],Y=b[B];N="";var K=this.clone();for(K.negative=0;!K.isZero();){var te=K.modn(Y).toString(B);N=(K=K.idivn(Y)).isZero()?te+N:d[X-te.length]+te+N}for(this.isZero()&&(N="0"+N);N.length%G!=0;)N="0"+N;return this.negative!==0&&(N="-"+N),N}n(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var B=this.words[0];return this.length===2?B+=67108864*this.words[1]:this.length===3&&this.words[2]===1?B+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-B:B},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(B,G){return n(u!==void 0),this.toArrayLike(u,B,G)},i.prototype.toArray=function(B,G){return this.toArrayLike(Array,B,G)},i.prototype.toArrayLike=function(B,G,N){var j=this.byteLength(),V=N||Math.max(1,j);n(j<=V,"byte array longer than desired length"),n(V>0,"Requested array length <= 0"),this.strip();var H,ee,Q=G==="le",X=new B(V),Y=this.clone();if(Q){for(ee=0;!Y.isZero();ee++)H=Y.andln(255),Y.iushrn(8),X[ee]=H;for(;ee=4096&&(N+=13,G>>>=13),G>=64&&(N+=7,G>>>=7),G>=8&&(N+=4,G>>>=4),G>=2&&(N+=2,G>>>=2),N+G},i.prototype._zeroBits=function(B){if(B===0)return 26;var G=B,N=0;return!(8191&G)&&(N+=13,G>>>=13),!(127&G)&&(N+=7,G>>>=7),!(15&G)&&(N+=4,G>>>=4),!(3&G)&&(N+=2,G>>>=2),!(1&G)&&N++,N},i.prototype.bitLength=function(){var B=this.words[this.length-1],G=this._countBits(B);return 26*(this.length-1)+G},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var B=0,G=0;GB.length?this.clone().ior(B):B.clone().ior(this)},i.prototype.uor=function(B){return this.length>B.length?this.clone().iuor(B):B.clone().iuor(this)},i.prototype.iuand=function(B){var G;G=this.length>B.length?B:this;for(var N=0;NB.length?this.clone().iand(B):B.clone().iand(this)},i.prototype.uand=function(B){return this.length>B.length?this.clone().iuand(B):B.clone().iuand(this)},i.prototype.iuxor=function(B){var G,N;this.length>B.length?(G=this,N=B):(G=B,N=this);for(var j=0;jB.length?this.clone().ixor(B):B.clone().ixor(this)},i.prototype.uxor=function(B){return this.length>B.length?this.clone().iuxor(B):B.clone().iuxor(this)},i.prototype.inotn=function(B){n(typeof B=="number"&&B>=0);var G=0|Math.ceil(B/26),N=B%26;this._expand(G),N>0&&G--;for(var j=0;j0&&(this.words[j]=~this.words[j]&67108863>>26-N),this.strip()},i.prototype.notn=function(B){return this.clone().inotn(B)},i.prototype.setn=function(B,G){n(typeof B=="number"&&B>=0);var N=B/26|0,j=B%26;return this._expand(N+1),this.words[N]=G?this.words[N]|1<B.length?(N=this,j=B):(N=B,j=this);for(var V=0,H=0;H>>26;for(;V!==0&&H>>26;if(this.length=N.length,V!==0)this.words[this.length]=V,this.length++;else if(N!==this)for(;HB.length?this.clone().iadd(B):B.clone().iadd(this)},i.prototype.isub=function(B){if(B.negative!==0){B.negative=0;var G=this.iadd(B);return B.negative=1,G._normSign()}if(this.negative!==0)return this.negative=0,this.iadd(B),this.negative=1,this._normSign();var N,j,V=this.cmp(B);if(V===0)return this.negative=0,this.length=1,this.words[0]=0,this;V>0?(N=this,j=B):(N=B,j=this);for(var H=0,ee=0;ee>26,this.words[ee]=67108863&G;for(;H!==0&&ee>26,this.words[ee]=67108863&G;if(H===0&&ee>>13,oe=0|ee[1],se=8191&oe,ce=oe>>>13,xe=0|ee[2],pe=8191&xe,de=xe>>>13,he=0|ee[3],ye=8191&he,ze=he>>>13,Te=0|ee[4],Ae=8191&Te,Me=Te>>>13,Ce=0|ee[5],ne=8191&Ce,ue=Ce>>>13,me=0|ee[6],we=8191&me,Ee=me>>>13,Ue=0|ee[7],De=8191&Ue,je=Ue>>>13,ge=0|ee[8],be=8191&ge,Se=ge>>>13,Ne=0|ee[9],Ye=8191&Ne,Ze=Ne>>>13,st=0|Q[0],ot=8191&st,ft=st>>>13,yt=0|Q[1],Et=8191&yt,Tt=yt>>>13,xt=0|Q[2],Dt=8191&xt,It=xt>>>13,Ft=0|Q[3],qt=8191&Ft,Nt=Ft>>>13,Je=0|Q[4],Ke=8191&Je,Ge=Je>>>13,nt=0|Q[5],ht=8191&nt,Oe=nt>>>13,Be=0|Q[6],Qe=8191&Be,ut=Be>>>13,pt=0|Q[7],bt=8191&pt,Lt=pt>>>13,Ct=0|Q[8],mt=8191&Ct,Ot=Ct>>>13,_t=0|Q[9],Pt=8191&_t,Bt=_t>>>13;N.negative=B.negative^G.negative,N.length=19;var Wt=(Y+(j=Math.imul(te,ot))|0)+((8191&(V=(V=Math.imul(te,ft))+Math.imul(ie,ot)|0))<<13)|0;Y=((H=Math.imul(ie,ft))+(V>>>13)|0)+(Wt>>>26)|0,Wt&=67108863,j=Math.imul(se,ot),V=(V=Math.imul(se,ft))+Math.imul(ce,ot)|0,H=Math.imul(ce,ft);var Gt=(Y+(j=j+Math.imul(te,Et)|0)|0)+((8191&(V=(V=V+Math.imul(te,Tt)|0)+Math.imul(ie,Et)|0))<<13)|0;Y=((H=H+Math.imul(ie,Tt)|0)+(V>>>13)|0)+(Gt>>>26)|0,Gt&=67108863,j=Math.imul(pe,ot),V=(V=Math.imul(pe,ft))+Math.imul(de,ot)|0,H=Math.imul(de,ft),j=j+Math.imul(se,Et)|0,V=(V=V+Math.imul(se,Tt)|0)+Math.imul(ce,Et)|0,H=H+Math.imul(ce,Tt)|0;var Xt=(Y+(j=j+Math.imul(te,Dt)|0)|0)+((8191&(V=(V=V+Math.imul(te,It)|0)+Math.imul(ie,Dt)|0))<<13)|0;Y=((H=H+Math.imul(ie,It)|0)+(V>>>13)|0)+(Xt>>>26)|0,Xt&=67108863,j=Math.imul(ye,ot),V=(V=Math.imul(ye,ft))+Math.imul(ze,ot)|0,H=Math.imul(ze,ft),j=j+Math.imul(pe,Et)|0,V=(V=V+Math.imul(pe,Tt)|0)+Math.imul(de,Et)|0,H=H+Math.imul(de,Tt)|0,j=j+Math.imul(se,Dt)|0,V=(V=V+Math.imul(se,It)|0)+Math.imul(ce,Dt)|0,H=H+Math.imul(ce,It)|0;var Kt=(Y+(j=j+Math.imul(te,qt)|0)|0)+((8191&(V=(V=V+Math.imul(te,Nt)|0)+Math.imul(ie,qt)|0))<<13)|0;Y=((H=H+Math.imul(ie,Nt)|0)+(V>>>13)|0)+(Kt>>>26)|0,Kt&=67108863,j=Math.imul(Ae,ot),V=(V=Math.imul(Ae,ft))+Math.imul(Me,ot)|0,H=Math.imul(Me,ft),j=j+Math.imul(ye,Et)|0,V=(V=V+Math.imul(ye,Tt)|0)+Math.imul(ze,Et)|0,H=H+Math.imul(ze,Tt)|0,j=j+Math.imul(pe,Dt)|0,V=(V=V+Math.imul(pe,It)|0)+Math.imul(de,Dt)|0,H=H+Math.imul(de,It)|0,j=j+Math.imul(se,qt)|0,V=(V=V+Math.imul(se,Nt)|0)+Math.imul(ce,qt)|0,H=H+Math.imul(ce,Nt)|0;var nn=(Y+(j=j+Math.imul(te,Ke)|0)|0)+((8191&(V=(V=V+Math.imul(te,Ge)|0)+Math.imul(ie,Ke)|0))<<13)|0;Y=((H=H+Math.imul(ie,Ge)|0)+(V>>>13)|0)+(nn>>>26)|0,nn&=67108863,j=Math.imul(ne,ot),V=(V=Math.imul(ne,ft))+Math.imul(ue,ot)|0,H=Math.imul(ue,ft),j=j+Math.imul(Ae,Et)|0,V=(V=V+Math.imul(Ae,Tt)|0)+Math.imul(Me,Et)|0,H=H+Math.imul(Me,Tt)|0,j=j+Math.imul(ye,Dt)|0,V=(V=V+Math.imul(ye,It)|0)+Math.imul(ze,Dt)|0,H=H+Math.imul(ze,It)|0,j=j+Math.imul(pe,qt)|0,V=(V=V+Math.imul(pe,Nt)|0)+Math.imul(de,qt)|0,H=H+Math.imul(de,Nt)|0,j=j+Math.imul(se,Ke)|0,V=(V=V+Math.imul(se,Ge)|0)+Math.imul(ce,Ke)|0,H=H+Math.imul(ce,Ge)|0;var yn=(Y+(j=j+Math.imul(te,ht)|0)|0)+((8191&(V=(V=V+Math.imul(te,Oe)|0)+Math.imul(ie,ht)|0))<<13)|0;Y=((H=H+Math.imul(ie,Oe)|0)+(V>>>13)|0)+(yn>>>26)|0,yn&=67108863,j=Math.imul(we,ot),V=(V=Math.imul(we,ft))+Math.imul(Ee,ot)|0,H=Math.imul(Ee,ft),j=j+Math.imul(ne,Et)|0,V=(V=V+Math.imul(ne,Tt)|0)+Math.imul(ue,Et)|0,H=H+Math.imul(ue,Tt)|0,j=j+Math.imul(Ae,Dt)|0,V=(V=V+Math.imul(Ae,It)|0)+Math.imul(Me,Dt)|0,H=H+Math.imul(Me,It)|0,j=j+Math.imul(ye,qt)|0,V=(V=V+Math.imul(ye,Nt)|0)+Math.imul(ze,qt)|0,H=H+Math.imul(ze,Nt)|0,j=j+Math.imul(pe,Ke)|0,V=(V=V+Math.imul(pe,Ge)|0)+Math.imul(de,Ke)|0,H=H+Math.imul(de,Ge)|0,j=j+Math.imul(se,ht)|0,V=(V=V+Math.imul(se,Oe)|0)+Math.imul(ce,ht)|0,H=H+Math.imul(ce,Oe)|0;var ln=(Y+(j=j+Math.imul(te,Qe)|0)|0)+((8191&(V=(V=V+Math.imul(te,ut)|0)+Math.imul(ie,Qe)|0))<<13)|0;Y=((H=H+Math.imul(ie,ut)|0)+(V>>>13)|0)+(ln>>>26)|0,ln&=67108863,j=Math.imul(De,ot),V=(V=Math.imul(De,ft))+Math.imul(je,ot)|0,H=Math.imul(je,ft),j=j+Math.imul(we,Et)|0,V=(V=V+Math.imul(we,Tt)|0)+Math.imul(Ee,Et)|0,H=H+Math.imul(Ee,Tt)|0,j=j+Math.imul(ne,Dt)|0,V=(V=V+Math.imul(ne,It)|0)+Math.imul(ue,Dt)|0,H=H+Math.imul(ue,It)|0,j=j+Math.imul(Ae,qt)|0,V=(V=V+Math.imul(Ae,Nt)|0)+Math.imul(Me,qt)|0,H=H+Math.imul(Me,Nt)|0,j=j+Math.imul(ye,Ke)|0,V=(V=V+Math.imul(ye,Ge)|0)+Math.imul(ze,Ke)|0,H=H+Math.imul(ze,Ge)|0,j=j+Math.imul(pe,ht)|0,V=(V=V+Math.imul(pe,Oe)|0)+Math.imul(de,ht)|0,H=H+Math.imul(de,Oe)|0,j=j+Math.imul(se,Qe)|0,V=(V=V+Math.imul(se,ut)|0)+Math.imul(ce,Qe)|0,H=H+Math.imul(ce,ut)|0;var kn=(Y+(j=j+Math.imul(te,bt)|0)|0)+((8191&(V=(V=V+Math.imul(te,Lt)|0)+Math.imul(ie,bt)|0))<<13)|0;Y=((H=H+Math.imul(ie,Lt)|0)+(V>>>13)|0)+(kn>>>26)|0,kn&=67108863,j=Math.imul(be,ot),V=(V=Math.imul(be,ft))+Math.imul(Se,ot)|0,H=Math.imul(Se,ft),j=j+Math.imul(De,Et)|0,V=(V=V+Math.imul(De,Tt)|0)+Math.imul(je,Et)|0,H=H+Math.imul(je,Tt)|0,j=j+Math.imul(we,Dt)|0,V=(V=V+Math.imul(we,It)|0)+Math.imul(Ee,Dt)|0,H=H+Math.imul(Ee,It)|0,j=j+Math.imul(ne,qt)|0,V=(V=V+Math.imul(ne,Nt)|0)+Math.imul(ue,qt)|0,H=H+Math.imul(ue,Nt)|0,j=j+Math.imul(Ae,Ke)|0,V=(V=V+Math.imul(Ae,Ge)|0)+Math.imul(Me,Ke)|0,H=H+Math.imul(Me,Ge)|0,j=j+Math.imul(ye,ht)|0,V=(V=V+Math.imul(ye,Oe)|0)+Math.imul(ze,ht)|0,H=H+Math.imul(ze,Oe)|0,j=j+Math.imul(pe,Qe)|0,V=(V=V+Math.imul(pe,ut)|0)+Math.imul(de,Qe)|0,H=H+Math.imul(de,ut)|0,j=j+Math.imul(se,bt)|0,V=(V=V+Math.imul(se,Lt)|0)+Math.imul(ce,bt)|0,H=H+Math.imul(ce,Lt)|0;var Wn=(Y+(j=j+Math.imul(te,mt)|0)|0)+((8191&(V=(V=V+Math.imul(te,Ot)|0)+Math.imul(ie,mt)|0))<<13)|0;Y=((H=H+Math.imul(ie,Ot)|0)+(V>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,j=Math.imul(Ye,ot),V=(V=Math.imul(Ye,ft))+Math.imul(Ze,ot)|0,H=Math.imul(Ze,ft),j=j+Math.imul(be,Et)|0,V=(V=V+Math.imul(be,Tt)|0)+Math.imul(Se,Et)|0,H=H+Math.imul(Se,Tt)|0,j=j+Math.imul(De,Dt)|0,V=(V=V+Math.imul(De,It)|0)+Math.imul(je,Dt)|0,H=H+Math.imul(je,It)|0,j=j+Math.imul(we,qt)|0,V=(V=V+Math.imul(we,Nt)|0)+Math.imul(Ee,qt)|0,H=H+Math.imul(Ee,Nt)|0,j=j+Math.imul(ne,Ke)|0,V=(V=V+Math.imul(ne,Ge)|0)+Math.imul(ue,Ke)|0,H=H+Math.imul(ue,Ge)|0,j=j+Math.imul(Ae,ht)|0,V=(V=V+Math.imul(Ae,Oe)|0)+Math.imul(Me,ht)|0,H=H+Math.imul(Me,Oe)|0,j=j+Math.imul(ye,Qe)|0,V=(V=V+Math.imul(ye,ut)|0)+Math.imul(ze,Qe)|0,H=H+Math.imul(ze,ut)|0,j=j+Math.imul(pe,bt)|0,V=(V=V+Math.imul(pe,Lt)|0)+Math.imul(de,bt)|0,H=H+Math.imul(de,Lt)|0,j=j+Math.imul(se,mt)|0,V=(V=V+Math.imul(se,Ot)|0)+Math.imul(ce,mt)|0,H=H+Math.imul(ce,Ot)|0;var wn=(Y+(j=j+Math.imul(te,Pt)|0)|0)+((8191&(V=(V=V+Math.imul(te,Bt)|0)+Math.imul(ie,Pt)|0))<<13)|0;Y=((H=H+Math.imul(ie,Bt)|0)+(V>>>13)|0)+(wn>>>26)|0,wn&=67108863,j=Math.imul(Ye,Et),V=(V=Math.imul(Ye,Tt))+Math.imul(Ze,Et)|0,H=Math.imul(Ze,Tt),j=j+Math.imul(be,Dt)|0,V=(V=V+Math.imul(be,It)|0)+Math.imul(Se,Dt)|0,H=H+Math.imul(Se,It)|0,j=j+Math.imul(De,qt)|0,V=(V=V+Math.imul(De,Nt)|0)+Math.imul(je,qt)|0,H=H+Math.imul(je,Nt)|0,j=j+Math.imul(we,Ke)|0,V=(V=V+Math.imul(we,Ge)|0)+Math.imul(Ee,Ke)|0,H=H+Math.imul(Ee,Ge)|0,j=j+Math.imul(ne,ht)|0,V=(V=V+Math.imul(ne,Oe)|0)+Math.imul(ue,ht)|0,H=H+Math.imul(ue,Oe)|0,j=j+Math.imul(Ae,Qe)|0,V=(V=V+Math.imul(Ae,ut)|0)+Math.imul(Me,Qe)|0,H=H+Math.imul(Me,ut)|0,j=j+Math.imul(ye,bt)|0,V=(V=V+Math.imul(ye,Lt)|0)+Math.imul(ze,bt)|0,H=H+Math.imul(ze,Lt)|0,j=j+Math.imul(pe,mt)|0,V=(V=V+Math.imul(pe,Ot)|0)+Math.imul(de,mt)|0,H=H+Math.imul(de,Ot)|0;var on=(Y+(j=j+Math.imul(se,Pt)|0)|0)+((8191&(V=(V=V+Math.imul(se,Bt)|0)+Math.imul(ce,Pt)|0))<<13)|0;Y=((H=H+Math.imul(ce,Bt)|0)+(V>>>13)|0)+(on>>>26)|0,on&=67108863,j=Math.imul(Ye,Dt),V=(V=Math.imul(Ye,It))+Math.imul(Ze,Dt)|0,H=Math.imul(Ze,It),j=j+Math.imul(be,qt)|0,V=(V=V+Math.imul(be,Nt)|0)+Math.imul(Se,qt)|0,H=H+Math.imul(Se,Nt)|0,j=j+Math.imul(De,Ke)|0,V=(V=V+Math.imul(De,Ge)|0)+Math.imul(je,Ke)|0,H=H+Math.imul(je,Ge)|0,j=j+Math.imul(we,ht)|0,V=(V=V+Math.imul(we,Oe)|0)+Math.imul(Ee,ht)|0,H=H+Math.imul(Ee,Oe)|0,j=j+Math.imul(ne,Qe)|0,V=(V=V+Math.imul(ne,ut)|0)+Math.imul(ue,Qe)|0,H=H+Math.imul(ue,ut)|0,j=j+Math.imul(Ae,bt)|0,V=(V=V+Math.imul(Ae,Lt)|0)+Math.imul(Me,bt)|0,H=H+Math.imul(Me,Lt)|0,j=j+Math.imul(ye,mt)|0,V=(V=V+Math.imul(ye,Ot)|0)+Math.imul(ze,mt)|0,H=H+Math.imul(ze,Ot)|0;var _n=(Y+(j=j+Math.imul(pe,Pt)|0)|0)+((8191&(V=(V=V+Math.imul(pe,Bt)|0)+Math.imul(de,Pt)|0))<<13)|0;Y=((H=H+Math.imul(de,Bt)|0)+(V>>>13)|0)+(_n>>>26)|0,_n&=67108863,j=Math.imul(Ye,qt),V=(V=Math.imul(Ye,Nt))+Math.imul(Ze,qt)|0,H=Math.imul(Ze,Nt),j=j+Math.imul(be,Ke)|0,V=(V=V+Math.imul(be,Ge)|0)+Math.imul(Se,Ke)|0,H=H+Math.imul(Se,Ge)|0,j=j+Math.imul(De,ht)|0,V=(V=V+Math.imul(De,Oe)|0)+Math.imul(je,ht)|0,H=H+Math.imul(je,Oe)|0,j=j+Math.imul(we,Qe)|0,V=(V=V+Math.imul(we,ut)|0)+Math.imul(Ee,Qe)|0,H=H+Math.imul(Ee,ut)|0,j=j+Math.imul(ne,bt)|0,V=(V=V+Math.imul(ne,Lt)|0)+Math.imul(ue,bt)|0,H=H+Math.imul(ue,Lt)|0,j=j+Math.imul(Ae,mt)|0,V=(V=V+Math.imul(Ae,Ot)|0)+Math.imul(Me,mt)|0,H=H+Math.imul(Me,Ot)|0;var fn=(Y+(j=j+Math.imul(ye,Pt)|0)|0)+((8191&(V=(V=V+Math.imul(ye,Bt)|0)+Math.imul(ze,Pt)|0))<<13)|0;Y=((H=H+Math.imul(ze,Bt)|0)+(V>>>13)|0)+(fn>>>26)|0,fn&=67108863,j=Math.imul(Ye,Ke),V=(V=Math.imul(Ye,Ge))+Math.imul(Ze,Ke)|0,H=Math.imul(Ze,Ge),j=j+Math.imul(be,ht)|0,V=(V=V+Math.imul(be,Oe)|0)+Math.imul(Se,ht)|0,H=H+Math.imul(Se,Oe)|0,j=j+Math.imul(De,Qe)|0,V=(V=V+Math.imul(De,ut)|0)+Math.imul(je,Qe)|0,H=H+Math.imul(je,ut)|0,j=j+Math.imul(we,bt)|0,V=(V=V+Math.imul(we,Lt)|0)+Math.imul(Ee,bt)|0,H=H+Math.imul(Ee,Lt)|0,j=j+Math.imul(ne,mt)|0,V=(V=V+Math.imul(ne,Ot)|0)+Math.imul(ue,mt)|0,H=H+Math.imul(ue,Ot)|0;var hn=(Y+(j=j+Math.imul(Ae,Pt)|0)|0)+((8191&(V=(V=V+Math.imul(Ae,Bt)|0)+Math.imul(Me,Pt)|0))<<13)|0;Y=((H=H+Math.imul(Me,Bt)|0)+(V>>>13)|0)+(hn>>>26)|0,hn&=67108863,j=Math.imul(Ye,ht),V=(V=Math.imul(Ye,Oe))+Math.imul(Ze,ht)|0,H=Math.imul(Ze,Oe),j=j+Math.imul(be,Qe)|0,V=(V=V+Math.imul(be,ut)|0)+Math.imul(Se,Qe)|0,H=H+Math.imul(Se,ut)|0,j=j+Math.imul(De,bt)|0,V=(V=V+Math.imul(De,Lt)|0)+Math.imul(je,bt)|0,H=H+Math.imul(je,Lt)|0,j=j+Math.imul(we,mt)|0,V=(V=V+Math.imul(we,Ot)|0)+Math.imul(Ee,mt)|0,H=H+Math.imul(Ee,Ot)|0;var In=(Y+(j=j+Math.imul(ne,Pt)|0)|0)+((8191&(V=(V=V+Math.imul(ne,Bt)|0)+Math.imul(ue,Pt)|0))<<13)|0;Y=((H=H+Math.imul(ue,Bt)|0)+(V>>>13)|0)+(In>>>26)|0,In&=67108863,j=Math.imul(Ye,Qe),V=(V=Math.imul(Ye,ut))+Math.imul(Ze,Qe)|0,H=Math.imul(Ze,ut),j=j+Math.imul(be,bt)|0,V=(V=V+Math.imul(be,Lt)|0)+Math.imul(Se,bt)|0,H=H+Math.imul(Se,Lt)|0,j=j+Math.imul(De,mt)|0,V=(V=V+Math.imul(De,Ot)|0)+Math.imul(je,mt)|0,H=H+Math.imul(je,Ot)|0;var Cn=(Y+(j=j+Math.imul(we,Pt)|0)|0)+((8191&(V=(V=V+Math.imul(we,Bt)|0)+Math.imul(Ee,Pt)|0))<<13)|0;Y=((H=H+Math.imul(Ee,Bt)|0)+(V>>>13)|0)+(Cn>>>26)|0,Cn&=67108863,j=Math.imul(Ye,bt),V=(V=Math.imul(Ye,Lt))+Math.imul(Ze,bt)|0,H=Math.imul(Ze,Lt),j=j+Math.imul(be,mt)|0,V=(V=V+Math.imul(be,Ot)|0)+Math.imul(Se,mt)|0,H=H+Math.imul(Se,Ot)|0;var Nn=(Y+(j=j+Math.imul(De,Pt)|0)|0)+((8191&(V=(V=V+Math.imul(De,Bt)|0)+Math.imul(je,Pt)|0))<<13)|0;Y=((H=H+Math.imul(je,Bt)|0)+(V>>>13)|0)+(Nn>>>26)|0,Nn&=67108863,j=Math.imul(Ye,mt),V=(V=Math.imul(Ye,Ot))+Math.imul(Ze,mt)|0,H=Math.imul(Ze,Ot);var Hn=(Y+(j=j+Math.imul(be,Pt)|0)|0)+((8191&(V=(V=V+Math.imul(be,Bt)|0)+Math.imul(Se,Pt)|0))<<13)|0;Y=((H=H+Math.imul(Se,Bt)|0)+(V>>>13)|0)+(Hn>>>26)|0,Hn&=67108863;var qn=(Y+(j=Math.imul(Ye,Pt))|0)+((8191&(V=(V=Math.imul(Ye,Bt))+Math.imul(Ze,Pt)|0))<<13)|0;return Y=((H=Math.imul(Ze,Bt))+(V>>>13)|0)+(qn>>>26)|0,qn&=67108863,X[0]=Wt,X[1]=Gt,X[2]=Xt,X[3]=Kt,X[4]=nn,X[5]=yn,X[6]=ln,X[7]=kn,X[8]=Wn,X[9]=wn,X[10]=on,X[11]=_n,X[12]=fn,X[13]=hn,X[14]=In,X[15]=Cn,X[16]=Nn,X[17]=Hn,X[18]=qn,Y!==0&&(X[19]=Y,N.length++),N};function k(B,G,N){return new h().mulp(B,G,N)}function h(B,G){this.x=B,this.y=G}Math.imul||(y=g),i.prototype.mulTo=function(B,G){var N,j=this.length+B.length;return N=this.length===10&&B.length===10?y(this,B,G):j<63?g(this,B,G):j<1024?function(V,H,ee){ee.negative=H.negative^V.negative,ee.length=V.length+H.length;for(var Q=0,X=0,Y=0;Y>>26)|0)>>>26,K&=67108863}ee.words[Y]=te,Q=K,K=X}return Q!==0?ee.words[Y]=Q:ee.length--,ee.strip()}(this,B,G):k(this,B,G),N},h.prototype.makeRBT=function(B){for(var G=new Array(B),N=i.prototype._countBits(B)-1,j=0;j>=1;return j},h.prototype.permute=function(B,G,N,j,V,H){for(var ee=0;ee>>=1)V++;return 1<>>=13,N[2*H+1]=8191&V,V>>>=13;for(H=2*G;H>=26,G+=j/67108864|0,G+=V>>>26,this.words[N]=67108863&V}return G!==0&&(this.words[N]=G,this.length++),this},i.prototype.muln=function(B){return this.clone().imuln(B)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(B){var G=function(H){for(var ee=new Array(H.bitLength()),Q=0;Q>>Y}return ee}(B);if(G.length===0)return new i(1);for(var N=this,j=0;j=0);var G,N=B%26,j=(B-N)/26,V=67108863>>>26-N<<26-N;if(N!==0){var H=0;for(G=0;G>>26-N}H&&(this.words[G]=H,this.length++)}if(j!==0){for(G=this.length-1;G>=0;G--)this.words[G+j]=this.words[G];for(G=0;G=0),j=G?(G-G%26)/26:0;var V=B%26,H=Math.min((B-V)/26,this.length),ee=67108863^67108863>>>V<H)for(this.length-=H,X=0;X=0&&(Y!==0||X>=j);X--){var K=0|this.words[X];this.words[X]=Y<<26-V|K>>>V,Y=K&ee}return Q&&Y!==0&&(Q.words[Q.length++]=Y),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(B,G,N){return n(this.negative===0),this.iushrn(B,G,N)},i.prototype.shln=function(B){return this.clone().ishln(B)},i.prototype.ushln=function(B){return this.clone().iushln(B)},i.prototype.shrn=function(B){return this.clone().ishrn(B)},i.prototype.ushrn=function(B){return this.clone().iushrn(B)},i.prototype.testn=function(B){n(typeof B=="number"&&B>=0);var G=B%26,N=(B-G)/26,j=1<=0);var G=B%26,N=(B-G)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=N)return this;if(G!==0&&N++,this.length=Math.min(N,this.length),G!==0){var j=67108863^67108863>>>G<=67108864;G++)this.words[G]-=67108864,G===this.length-1?this.words[G+1]=1:this.words[G+1]++;return this.length=Math.max(this.length,G+1),this},i.prototype.isubn=function(B){if(n(typeof B=="number"),n(B<67108864),B<0)return this.iaddn(-B);if(this.negative!==0)return this.negative=0,this.iaddn(B),this.negative=1,this;if(this.words[0]-=B,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var G=0;G>26)-(Q/67108864|0),this.words[j+N]=67108863&V}for(;j>26,this.words[j+N]=67108863&V;if(ee===0)return this.strip();for(n(ee===-1),ee=0,j=0;j>26,this.words[j]=67108863&V;return this.negative=1,this.strip()},i.prototype._wordDiv=function(B,G){var N=(this.length,B.length),j=this.clone(),V=B,H=0|V.words[V.length-1];(N=26-this._countBits(H))!=0&&(V=V.ushln(N),j.iushln(N),H=0|V.words[V.length-1]);var ee,Q=j.length-V.length;if(G!=="mod"){(ee=new i(null)).length=Q+1,ee.words=new Array(ee.length);for(var X=0;X=0;K--){var te=67108864*(0|j.words[V.length+K])+(0|j.words[V.length+K-1]);for(te=Math.min(te/H|0,67108863),j._ishlnsubmul(V,te,K);j.negative!==0;)te--,j.negative=0,j._ishlnsubmul(V,1,K),j.isZero()||(j.negative^=1);ee&&(ee.words[K]=te)}return ee&&ee.strip(),j.strip(),G!=="div"&&N!==0&&j.iushrn(N),{div:ee||null,mod:j}},i.prototype.divmod=function(B,G,N){return n(!B.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:this.negative!==0&&B.negative===0?(H=this.neg().divmod(B,G),G!=="mod"&&(j=H.div.neg()),G!=="div"&&(V=H.mod.neg(),N&&V.negative!==0&&V.iadd(B)),{div:j,mod:V}):this.negative===0&&B.negative!==0?(H=this.divmod(B.neg(),G),G!=="mod"&&(j=H.div.neg()),{div:j,mod:H.mod}):this.negative&B.negative?(H=this.neg().divmod(B.neg(),G),G!=="div"&&(V=H.mod.neg(),N&&V.negative!==0&&V.isub(B)),{div:H.div,mod:V}):B.length>this.length||this.cmp(B)<0?{div:new i(0),mod:this}:B.length===1?G==="div"?{div:this.divn(B.words[0]),mod:null}:G==="mod"?{div:null,mod:new i(this.modn(B.words[0]))}:{div:this.divn(B.words[0]),mod:new i(this.modn(B.words[0]))}:this._wordDiv(B,G);var j,V,H},i.prototype.div=function(B){return this.divmod(B,"div",!1).div},i.prototype.mod=function(B){return this.divmod(B,"mod",!1).mod},i.prototype.umod=function(B){return this.divmod(B,"mod",!0).mod},i.prototype.divRound=function(B){var G=this.divmod(B);if(G.mod.isZero())return G.div;var N=G.div.negative!==0?G.mod.isub(B):G.mod,j=B.ushrn(1),V=B.andln(1),H=N.cmp(j);return H<0||V===1&&H===0?G.div:G.div.negative!==0?G.div.isubn(1):G.div.iaddn(1)},i.prototype.modn=function(B){n(B<=67108863);for(var G=67108864%B,N=0,j=this.length-1;j>=0;j--)N=(G*N+(0|this.words[j]))%B;return N},i.prototype.idivn=function(B){n(B<=67108863);for(var G=0,N=this.length-1;N>=0;N--){var j=(0|this.words[N])+67108864*G;this.words[N]=j/B|0,G=j%B}return this.strip()},i.prototype.divn=function(B){return this.clone().idivn(B)},i.prototype.egcd=function(B){n(B.negative===0),n(!B.isZero());var G=this,N=B.clone();G=G.negative!==0?G.umod(B):G.clone();for(var j=new i(1),V=new i(0),H=new i(0),ee=new i(1),Q=0;G.isEven()&&N.isEven();)G.iushrn(1),N.iushrn(1),++Q;for(var X=N.clone(),Y=G.clone();!G.isZero();){for(var K=0,te=1;!(G.words[0]&te)&&K<26;++K,te<<=1);if(K>0)for(G.iushrn(K);K-- >0;)(j.isOdd()||V.isOdd())&&(j.iadd(X),V.isub(Y)),j.iushrn(1),V.iushrn(1);for(var ie=0,oe=1;!(N.words[0]&oe)&&ie<26;++ie,oe<<=1);if(ie>0)for(N.iushrn(ie);ie-- >0;)(H.isOdd()||ee.isOdd())&&(H.iadd(X),ee.isub(Y)),H.iushrn(1),ee.iushrn(1);G.cmp(N)>=0?(G.isub(N),j.isub(H),V.isub(ee)):(N.isub(G),H.isub(j),ee.isub(V))}return{a:H,b:ee,gcd:N.iushln(Q)}},i.prototype._invmp=function(B){n(B.negative===0),n(!B.isZero());var G=this,N=B.clone();G=G.negative!==0?G.umod(B):G.clone();for(var j,V=new i(1),H=new i(0),ee=N.clone();G.cmpn(1)>0&&N.cmpn(1)>0;){for(var Q=0,X=1;!(G.words[0]&X)&&Q<26;++Q,X<<=1);if(Q>0)for(G.iushrn(Q);Q-- >0;)V.isOdd()&&V.iadd(ee),V.iushrn(1);for(var Y=0,K=1;!(N.words[0]&K)&&Y<26;++Y,K<<=1);if(Y>0)for(N.iushrn(Y);Y-- >0;)H.isOdd()&&H.iadd(ee),H.iushrn(1);G.cmp(N)>=0?(G.isub(N),V.isub(H)):(N.isub(G),H.isub(V))}return(j=G.cmpn(1)===0?V:H).cmpn(0)<0&&j.iadd(B),j},i.prototype.gcd=function(B){if(this.isZero())return B.abs();if(B.isZero())return this.abs();var G=this.clone(),N=B.clone();G.negative=0,N.negative=0;for(var j=0;G.isEven()&&N.isEven();j++)G.iushrn(1),N.iushrn(1);for(;;){for(;G.isEven();)G.iushrn(1);for(;N.isEven();)N.iushrn(1);var V=G.cmp(N);if(V<0){var H=G;G=N,N=H}else if(V===0||N.cmpn(1)===0)break;G.isub(N)}return N.iushln(j)},i.prototype.invm=function(B){return this.egcd(B).a.umod(B)},i.prototype.isEven=function(){return(1&this.words[0])==0},i.prototype.isOdd=function(){return(1&this.words[0])==1},i.prototype.andln=function(B){return this.words[0]&B},i.prototype.bincn=function(B){n(typeof B=="number");var G=B%26,N=(B-G)/26,j=1<>>26,ee&=67108863,this.words[H]=ee}return V!==0&&(this.words[H]=V,this.length++),this},i.prototype.isZero=function(){return this.length===1&&this.words[0]===0},i.prototype.cmpn=function(B){var G,N=B<0;if(this.negative!==0&&!N)return-1;if(this.negative===0&&N)return 1;if(this.strip(),this.length>1)G=1;else{N&&(B=-B),n(B<=67108863,"Number is too big");var j=0|this.words[0];G=j===B?0:jB.length)return 1;if(this.length=0;N--){var j=0|this.words[N],V=0|B.words[N];if(j!==V){jV&&(G=1);break}}return G},i.prototype.gtn=function(B){return this.cmpn(B)===1},i.prototype.gt=function(B){return this.cmp(B)===1},i.prototype.gten=function(B){return this.cmpn(B)>=0},i.prototype.gte=function(B){return this.cmp(B)>=0},i.prototype.ltn=function(B){return this.cmpn(B)===-1},i.prototype.lt=function(B){return this.cmp(B)===-1},i.prototype.lten=function(B){return this.cmpn(B)<=0},i.prototype.lte=function(B){return this.cmp(B)<=0},i.prototype.eqn=function(B){return this.cmpn(B)===0},i.prototype.eq=function(B){return this.cmp(B)===0},i.red=function(B){return new R(B)},i.prototype.toRed=function(B){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),B.convertTo(this)._forceRed(B)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(B){return this.red=B,this},i.prototype.forceRed=function(B){return n(!this.red,"Already a number in reduction context"),this._forceRed(B)},i.prototype.redAdd=function(B){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,B)},i.prototype.redIAdd=function(B){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,B)},i.prototype.redSub=function(B){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,B)},i.prototype.redISub=function(B){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,B)},i.prototype.redShl=function(B){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,B)},i.prototype.redMul=function(B){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,B),this.red.mul(this,B)},i.prototype.redIMul=function(B){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,B),this.red.imul(this,B)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(B){return n(this.red&&!B.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,B)};var M={k256:null,p224:null,p192:null,p25519:null};function A(B,G){this.name=B,this.p=new i(G,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function C(){A.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function L(){A.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function P(){A.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function I(){A.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function R(B){if(typeof B=="string"){var G=i._prime(B);this.m=G.p,this.prime=G}else n(B.gtn(1),"modulus must be greater than 1"),this.m=B,this.prime=null}function U(B){R.call(this,B),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(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)}A.prototype._tmp=function(){var B=new i(null);return B.words=new Array(Math.ceil(this.n/13)),B},A.prototype.ireduce=function(B){var G,N=B;do this.split(N,this.tmp),G=(N=(N=this.imulK(N)).iadd(this.tmp)).bitLength();while(G>this.n);var j=G0?N.isub(this.p):N.strip!==void 0?N.strip():N._strip(),N},A.prototype.split=function(B,G){B.iushrn(this.n,0,G)},A.prototype.imulK=function(B){return B.imul(this.k)},o(C,A),C.prototype.split=function(B,G){for(var N=4194303,j=Math.min(B.length,9),V=0;V>>22,H=ee}H>>>=22,B.words[V-10]=H,H===0&&B.length>10?B.length-=10:B.length-=9},C.prototype.imulK=function(B){B.words[B.length]=0,B.words[B.length+1]=0,B.length+=2;for(var G=0,N=0;N>>=26,B.words[N]=V,G=j}return G!==0&&(B.words[B.length++]=G),B},i._prime=function(B){if(M[B])return M[B];var G;if(B==="k256")G=new C;else if(B==="p224")G=new L;else if(B==="p192")G=new P;else{if(B!=="p25519")throw new Error("Unknown prime "+B);G=new I}return M[B]=G,G},R.prototype._verify1=function(B){n(B.negative===0,"red works only with positives"),n(B.red,"red works only with red numbers")},R.prototype._verify2=function(B,G){n((B.negative|G.negative)==0,"red works only with positives"),n(B.red&&B.red===G.red,"red works only with red numbers")},R.prototype.imod=function(B){return this.prime?this.prime.ireduce(B)._forceRed(this):B.umod(this.m)._forceRed(this)},R.prototype.neg=function(B){return B.isZero()?B.clone():this.m.sub(B)._forceRed(this)},R.prototype.add=function(B,G){this._verify2(B,G);var N=B.add(G);return N.cmp(this.m)>=0&&N.isub(this.m),N._forceRed(this)},R.prototype.iadd=function(B,G){this._verify2(B,G);var N=B.iadd(G);return N.cmp(this.m)>=0&&N.isub(this.m),N},R.prototype.sub=function(B,G){this._verify2(B,G);var N=B.sub(G);return N.cmpn(0)<0&&N.iadd(this.m),N._forceRed(this)},R.prototype.isub=function(B,G){this._verify2(B,G);var N=B.isub(G);return N.cmpn(0)<0&&N.iadd(this.m),N},R.prototype.shl=function(B,G){return this._verify1(B),this.imod(B.ushln(G))},R.prototype.imul=function(B,G){return this._verify2(B,G),this.imod(B.imul(G))},R.prototype.mul=function(B,G){return this._verify2(B,G),this.imod(B.mul(G))},R.prototype.isqr=function(B){return this.imul(B,B.clone())},R.prototype.sqr=function(B){return this.mul(B,B)},R.prototype.sqrt=function(B){if(B.isZero())return B.clone();var G=this.m.andln(3);if(n(G%2==1),G===3){var N=this.m.add(new i(1)).iushrn(2);return this.pow(B,N)}for(var j=this.m.subn(1),V=0;!j.isZero()&&j.andln(1)===0;)V++,j.iushrn(1);n(!j.isZero());var H=new i(1).toRed(this),ee=H.redNeg(),Q=this.m.subn(1).iushrn(1),X=this.m.bitLength();for(X=new i(2*X*X).toRed(this);this.pow(X,Q).cmp(ee)!==0;)X.redIAdd(ee);for(var Y=this.pow(X,j),K=this.pow(B,j.addn(1).iushrn(1)),te=this.pow(B,j),ie=V;te.cmp(H)!==0;){for(var oe=te,se=0;oe.cmp(H)!==0;se++)oe=oe.redSqr();n(se=0;j--){for(var X=G.words[j],Y=Q-1;Y>=0;Y--){var K=X>>Y&1;V!==N[0]&&(V=this.sqr(V)),K!==0||H!==0?(H<<=1,H|=K,(++ee==4||j===0&&Y===0)&&(V=this.mul(V,N[H]),ee=0,H=0)):ee=0}Q=26}return V},R.prototype.convertTo=function(B){var G=B.umod(this.m);return G===B?G.clone():G},R.prototype.convertFrom=function(B){var G=B.clone();return G.red=null,G},i.mont=function(B){return new U(B)},o(U,R),U.prototype.convertTo=function(B){return this.imod(B.ushln(this.shift))},U.prototype.convertFrom=function(B){var G=this.imod(B.mul(this.rinv));return G.red=null,G},U.prototype.imul=function(B,G){if(B.isZero()||G.isZero())return B.words[0]=0,B.length=1,B;var N=B.imul(G),j=N.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),V=N.isub(j).iushrn(this.shift),H=V;return V.cmp(this.m)>=0?H=V.isub(this.m):V.cmpn(0)<0&&(H=V.iadd(this.m)),H._forceRed(this)},U.prototype.mul=function(B,G){if(B.isZero()||G.isZero())return new i(0)._forceRed(this);var N=B.mul(G),j=N.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),V=N.isub(j).iushrn(this.shift),H=V;return V.cmp(this.m)>=0?H=V.isub(this.m):V.cmpn(0)<0&&(H=V.iadd(this.m)),H._forceRed(this)},U.prototype.invm=function(B){return this.imod(B._invmp(this.m).mul(this.r2))._forceRed(this)}})(f=t.nmd(f),this)},2692:function(f){f.exports=function(l){var t,a,r,n=l.length,o=0;for(t=0;t>>1;if(!(M<=0)){var A,C=r.mallocDouble(2*M*k),L=r.mallocInt32(k);if((k=u(v,M,C,L))>0){if(M===1&&y)n.init(k),A=n.sweepComplete(M,g,0,k,C,L,0,k,C,L);else{var P=r.mallocDouble(2*M*h),I=r.mallocInt32(h);(h=u(b,M,P,I))>0&&(n.init(k+h),A=M===1?n.sweepBipartite(M,g,0,k,C,L,0,h,P,I):o(M,g,y,k,C,L,h,P,I),r.free(P),r.free(I))}r.free(C),r.free(L)}return A}}}function c(v,b){a.push([v,b])}function x(v){return a=[],p(v,v,c,!0),a}function d(v,b){return a=[],p(v,b,c,!1),a}},7333:function(f,l){function t(a){return a?function(r,n,o,i,u,p,c,x,d,v,b){return u-i>d-x?function(g,y,k,h,M,A,C,L,P,I,R){for(var U=2*g,B=h,G=U*h;Bv-d?i?function(y,k,h,M,A,C,L,P,I,R,U){for(var B=2*y,G=M,N=B*M;G0;){var Q=6*(H-=1),X=k[Q],Y=k[Q+1],K=k[Q+2],te=k[Q+3],ie=k[Q+4],oe=k[Q+5],se=2*H,ce=h[se],xe=h[se+1],pe=1&oe,de=!!(16&oe),he=U,ye=B,ze=N,Te=j;if(pe&&(he=N,ye=j,ze=U,Te=B),!(2&oe&&(K=v(L,X,Y,K,he,ye,xe),Y>=K)||4&oe&&(Y=b(L,X,Y,K,he,ye,ce))>=K)){var Ae=K-Y,Me=ie-te;if(de){if(L*Ae*(Ae+Me)<4194304){if((V=u.scanComplete(L,X,P,Y,K,he,ye,te,ie,ze,Te))!==void 0)return V;continue}}else{if(L*Math.min(Ae,Me)<128){if((V=o(L,X,P,pe,Y,K,he,ye,te,ie,ze,Te))!==void 0)return V;continue}if(L*Ae*Me<4194304){if((V=u.scanBipartite(L,X,P,pe,Y,K,he,ye,te,ie,ze,Te))!==void 0)return V;continue}}var Ce=x(L,X,Y,K,he,ye,ce,xe);if(Y=p0)&&!(p1>=hi)"),d=c("lo===p0"),v=c("lo>>1,b=2*n,g=v,y=p[b*v+o];x=C?(g=A,y=C):M>=P?(g=h,y=M):(g=L,y=P):C>=P?(g=A,y=C):P>=M?(g=h,y=M):(g=L,y=P);for(var I=b*(d-1),R=b*g,U=0;Ui&&p[y+o]>b;--g,y-=x){for(var k=y,h=y+x,M=0;Mb;++b,c+=p)if(o[c+v]===u)if(d===b)d+=1,x+=p;else{for(var g=0;p>g;++g){var y=o[c+g];o[c+g]=o[x],o[x++]=y}var k=i[b];i[b]=i[d],i[d++]=k}return d},"lob;++b,c+=p)if(o[c+v]g;++g){var y=o[c+g];o[c+g]=o[x],o[x++]=y}var k=i[b];i[b]=i[d],i[d++]=k}return d},"lo<=p0":function(t,a,r,n,o,i,u){for(var p=2*t,c=p*r,x=c,d=r,v=t+a,b=r;n>b;++b,c+=p)if(o[c+v]<=u)if(d===b)d+=1,x+=p;else{for(var g=0;p>g;++g){var y=o[c+g];o[c+g]=o[x],o[x++]=y}var k=i[b];i[b]=i[d],i[d++]=k}return d},"hi<=p0":function(t,a,r,n,o,i,u){for(var p=2*t,c=p*r,x=c,d=r,v=t+a,b=r;n>b;++b,c+=p)if(o[c+v]<=u)if(d===b)d+=1,x+=p;else{for(var g=0;p>g;++g){var y=o[c+g];o[c+g]=o[x],o[x++]=y}var k=i[b];i[b]=i[d],i[d++]=k}return d},"log;++g,c+=p){var y=o[c+v],k=o[c+b];if(yh;++h){var M=o[c+h];o[c+h]=o[x],o[x++]=M}var A=i[g];i[g]=i[d],i[d++]=A}}return d},"lo<=p0&&p0<=hi":function(t,a,r,n,o,i,u){for(var p=2*t,c=p*r,x=c,d=r,v=a,b=t+a,g=r;n>g;++g,c+=p){var y=o[c+v],k=o[c+b];if(y<=u&&u<=k)if(d===g)d+=1,x+=p;else{for(var h=0;p>h;++h){var M=o[c+h];o[c+h]=o[x],o[x++]=M}var A=i[g];i[g]=i[d],i[d++]=A}}return d},"!(lo>=p0)&&!(p1>=hi)":function(t,a,r,n,o,i,u,p){for(var c=2*t,x=c*r,d=x,v=r,b=a,g=t+a,y=r;n>y;++y,x+=c){var k=o[x+b],h=o[x+g];if(!(k>=u||p>=h))if(v===y)v+=1,d+=c;else{for(var M=0;c>M;++M){var A=o[x+M];o[x+M]=o[d],o[d++]=A}var C=i[y];i[y]=i[v],i[v++]=C}}return v}}},309:function(f){function l(p,c,x){for(var d=2*(p+1),v=p+1;v<=c;++v){for(var b=x[d++],g=x[d++],y=v,k=d-2;y-- >p;){var h=x[k-2],M=x[k-1];if(hx[c+1])}function i(p,c,x,d){var v=d[p*=2];return v>1,y=g-d,k=g+d,h=v,M=y,A=g,C=k,L=b,P=p+1,I=c-1,R=0;o(h,M,x)&&(R=h,h=M,M=R),o(C,L,x)&&(R=C,C=L,L=R),o(h,A,x)&&(R=h,h=A,A=R),o(M,A,x)&&(R=M,M=A,A=R),o(h,C,x)&&(R=h,h=C,C=R),o(A,C,x)&&(R=A,A=C,C=R),o(M,L,x)&&(R=M,M=L,L=R),o(M,A,x)&&(R=M,M=A,A=R),o(C,L,x)&&(R=C,C=L,L=R);for(var U=x[2*M],B=x[2*M+1],G=x[2*C],N=x[2*C+1],j=2*h,V=2*A,H=2*L,ee=2*v,Q=2*g,X=2*b,Y=0;Y<2;++Y){var K=x[j+Y],te=x[V+Y],ie=x[H+Y];x[ee+Y]=K,x[Q+Y]=te,x[X+Y]=ie}a(y,p,x),a(k,c,x);for(var oe=P;oe<=I;++oe)if(i(oe,U,B,x))oe!==P&&t(oe,P,x),++P;else if(!i(oe,G,N,x))for(;;){if(i(I,G,N,x)){i(I,U,B,x)?(r(oe,P,I,x),++P,--I):(t(oe,I,x),--I);break}if(--I>>1;n(b,X);var Y=0,K=0;for(V=0;V=o)g(c,x,K--,te=te-o|0);else if(te>=0)g(u,p,Y--,te);else if(te<=-268435456){te=-te-o|0;for(var ie=0;ie>>1;n(b,X);var Y=0,K=0,te=0;for(V=0;V>1==b[2*V+3]>>1&&(oe=2,V+=1),ie<0){for(var se=-(ie>>1)-1,ce=0;ce>1)-1,oe===0?g(u,p,Y--,se):oe===1?g(c,x,K--,se):oe===2&&g(d,v,te--,se)}},scanBipartite:function(k,h,M,A,C,L,P,I,R,U,B,G){var N=0,j=2*k,V=h,H=h+k,ee=1,Q=1;A?Q=o:ee=o;for(var X=C;X>>1;n(b,ie);var oe=0;for(X=0;X=o?(ce=!A,Y-=o):(ce=!!A,Y-=1),ce)y(u,p,oe++,Y);else{var xe=G[Y],pe=j*Y,de=B[pe+h+1],he=B[pe+h+1+k];e:for(var ye=0;ye>>1;n(b,Y);var K=0;for(H=0;H=o)u[K++]=ee-o;else{var ie=B[ee-=1],oe=N*ee,se=U[oe+h+1],ce=U[oe+h+1+k];e:for(var xe=0;xe=0;--xe)if(u[xe]===ee){for(ye=xe+1;ye0;){for(var y=i.pop(),k=(v=-1,b=-1,x=p[c=i.pop()],1);k=0||(o.flip(c,y),r(n,o,i,v,c,b),r(n,o,i,c,b,v),r(n,o,i,b,y,v),r(n,o,i,y,v,b))}}},7098:function(f,l,t){var a,r=t(5070);function n(i,u,p,c,x,d,v){this.cells=i,this.neighbor=u,this.flags=c,this.constraint=p,this.active=x,this.next=d,this.boundary=v}function o(i,u){return i[0]-u[0]||i[1]-u[1]||i[2]-u[2]}f.exports=function(i,u,p){var c=function(P,I){for(var R=P.cells(),U=R.length,B=0;B0||v.length>0;){for(;d.length>0;){var h=d.pop();if(b[h]!==-x){b[h]=x,g[h];for(var M=0;M<3;++M){var A=k[3*h+M];A>=0&&b[A]===0&&(y[3*h+M]?v.push(A):(d.push(A),b[A]=x))}}}var C=v;v=d,d=C,v.length=0,x=-x}var L=function(P,I,R){for(var U=0,B=0;B1&&r(g[L[P-2]],g[L[P-1]],y)>0;)v.push([L[P-1],L[P-2],k]),P-=1;L.length=P,L.push(k);var I=C.upperIds;for(P=I.length;P>1&&r(g[I[P-2]],g[I[P-1]],y)<0;)v.push([I[P-2],I[P-1],k]),P-=1;I.length=P,I.push(k)}}function c(v,b){var g;return(g=v.a[0]C[0]&&k.push(new o(C,A,2,h),new o(A,C,1,h))}k.sort(i);for(var L=k[0].a[0]-(1+Math.abs(k[0].a[0]))*Math.pow(2,-52),P=[new n([L,1],[L,0],-1,[],[])],I=[],R=(h=0,k.length);h=0}}(),n.removeTriangle=function(i,u,p){var c=this.stars;o(c[i],u,p),o(c[u],p,i),o(c[p],i,u)},n.addTriangle=function(i,u,p){var c=this.stars;c[i].push(u,p),c[u].push(p,i),c[p].push(i,u)},n.opposite=function(i,u){for(var p=this.stars[u],c=1,x=p.length;cA[2]?1:0)}function k(M,A,C){if(M.length!==0){if(A)for(var L=0;L=0;--H){var se=G[ee=(Te=j[H])[0]],ce=se[0],xe=se[1],pe=B[ce],de=B[xe];if((pe[0]-de[0]||pe[1]-de[1])<0){var he=ce;ce=xe,xe=he}se[0]=ce;var ye,ze=se[1]=Te[1];for(V&&(ye=se[2]);H>0&&j[H-1][0]===ee;){var Te,Ae=(Te=j[--H])[1];V?G.push([ze,Ae,ye]):G.push([ze,Ae]),ze=Ae}V?G.push([ze,xe,ye]):G.push([ze,xe])}return Q}(M,A,P,I,C),U=b(M,R);return k(A,U,C),!!U||P.length>0||I.length>0}},5528:function(f,l,t){f.exports=function(x,d,v,b){var g=i(d,x),y=i(b,v),k=c(g,y);if(o(k)===0)return null;var h=c(y,i(x,v)),M=r(h,k),A=p(g,M);return u(x,A)};var a=t(3962),r=t(9189),n=t(4354),o=t(4951),i=t(6695),u=t(7584),p=t(4469);function c(x,d){return n(a(x[0],d[1]),a(x[1],d[0]))}},5692:function(f){f.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]}]}},9156:function(f,l,t){var a=t(5692),r=t(3578);function n(u){return[u[0]/255,u[1]/255,u[2]/255,u[3]]}function o(u){for(var p,c="#",x=0;x<3;++x)c+=("00"+(p=(p=u[x]).toString(16))).substr(p.length);return c}function i(u){return"rgba("+u.join(",")+")"}f.exports=function(u){var p,c,x,d,v,b,g,y,k,h;if(u||(u={}),y=(u.nshades||72)-1,g=u.format||"hex",(b=u.colormap)||(b="jet"),typeof b=="string"){if(b=b.toLowerCase(),!a[b])throw Error(b+" not a supported colorscale");v=a[b]}else{if(!Array.isArray(b))throw Error("unsupported colormap option",b);v=b.slice()}if(v.length>y+1)throw new Error(b+" map requires nshades to be at least size "+v.length);k=Array.isArray(u.alpha)?u.alpha.length!==2?[1,1]:u.alpha.slice():typeof u.alpha=="number"?[u.alpha,u.alpha]:[1,1],p=v.map(function(P){return Math.round(P.index*y)}),k[0]=Math.min(Math.max(k[0],0),1),k[1]=Math.min(Math.max(k[1],0),1);var M=v.map(function(P,I){var R=v[I].index,U=v[I].rgb.slice();return U.length===4&&U[3]>=0&&U[3]<=1||(U[3]=k[0]+(k[1]-k[0])*R),U}),A=[];for(h=0;h0||u(p,c,d)?-1:1:b===0?g>0||u(p,c,x)?1:-1:r(g-b)}var k=a(p,c,x);return k>0?v>0&&a(p,c,d)>0?1:-1:k<0?v>0||a(p,c,d)>0?1:-1:a(p,c,d)>0||u(p,c,x)?1:-1};var a=t(417),r=t(7538),n=t(87),o=t(2019),i=t(9662);function u(p,c,x){var d=n(p[0],-c[0]),v=n(p[1],-c[1]),b=n(x[0],-c[0]),g=n(x[1],-c[1]),y=i(o(d,b),o(v,g));return y[y.length-1]>=0}},7538:function(f){f.exports=function(l){return l<0?-1:l>0?1:0}},9209:function(f){f.exports=function(a,r){var n=a.length,o=a.length-r.length;if(o)return o;switch(n){case 0:return 0;case 1:return a[0]-r[0];case 2:return a[0]+a[1]-r[0]-r[1]||l(a[0],a[1])-l(r[0],r[1]);case 3:var i=a[0]+a[1],u=r[0]+r[1];if(o=i+a[2]-(u+r[2]))return o;var p=l(a[0],a[1]),c=l(r[0],r[1]);return l(p,a[2])-l(c,r[2])||l(p+a[2],i)-l(c+r[2],u);case 4:var x=a[0],d=a[1],v=a[2],b=a[3],g=r[0],y=r[1],k=r[2],h=r[3];return x+d+v+b-(g+y+k+h)||l(x,d,v,b)-l(g,y,k,h,g)||l(x+d,x+v,x+b,d+v,d+b,v+b)-l(g+y,g+k,g+h,y+k,y+h,k+h)||l(x+d+v,x+d+b,x+v+b,d+v+b)-l(g+y+k,g+y+h,g+k+h,y+k+h);default:for(var M=a.slice().sort(t),A=r.slice().sort(t),C=0;Cl[a][0]&&(a=r);return ta?[[a],[t]]:[[t]]}},8722:function(f,l,t){f.exports=function(r){var n=a(r),o=n.length;if(o<=2)return[];for(var i=new Array(o),u=n[o-1],p=0;p=x[h]&&(k+=1);g[y]=k}}return c}(a(u,!0),i)}};var a=t(2183),r=t(2153)},9680:function(f){f.exports=function(l,t,a,r,n,o){var i=n-1,u=n*n,p=i*i,c=(1+2*n)*p,x=n*p,d=u*(3-2*n),v=u*i;if(l.length){o||(o=new Array(l.length));for(var b=l.length-1;b>=0;--b)o[b]=c*l[b]+x*t[b]+d*a[b]+v*r[b];return o}return c*l+x*t+d*a+v*r},f.exports.derivative=function(l,t,a,r,n,o){var i=6*n*n-6*n,u=3*n*n-4*n+1,p=-6*n*n+6*n,c=3*n*n-2*n;if(l.length){o||(o=new Array(l.length));for(var x=l.length-1;x>=0;--x)o[x]=i*l[x]+u*t[x]+p*a[x]+c*r[x];return o}return i*l+u*t+p*a[x]+c*r}},4419:function(f,l,t){var a=t(2183),r=t(1215);function n(i,u){this.point=i,this.index=u}function o(i,u){for(var p=i.point,c=u.point,x=p.length,d=0;d=2)return!1;R[B]=G}return!0}):I.filter(function(R){for(var U=0;U<=c;++U){var B=A[R[U]];if(B<0)return!1;R[U]=B}return!0}),1&c)for(v=0;v>>31},f.exports.exponent=function(n){return(f.exports.hi(n)<<1>>>21)-1023},f.exports.fraction=function(n){var o=f.exports.lo(n),i=f.exports.hi(n),u=1048575&i;return 2146435072&i&&(u+=1048576),[o,u]},f.exports.denormalized=function(n){return!(2146435072&f.exports.hi(n))}},3094:function(f){function l(t,a,r){var n=0|t[r];if(n<=0)return[];var o,i=new Array(n);if(r===t.length-1)for(o=0;o0)return function(r,n){var o,i;for(o=new Array(r),i=0;i=x-1){h=b.length-1;var A=p-c[x-1];for(M=0;M=x-1)for(var k=b.length-1,h=(c[x-1],0);h=0;--x)if(p[--c])return!1;return!0},i.jump=function(p){var c=this.lastT(),x=this.dimension;if(!(p0;--M)d.push(n(y[M-1],k[M-1],arguments[M])),v.push(0)}},i.push=function(p){var c=this.lastT(),x=this.dimension;if(!(p1e-6?1/g:0;this._time.push(p);for(var A=x;A>0;--A){var C=n(k[A-1],h[A-1],arguments[A]);d.push(C),v.push((C-d[b++])*M)}}},i.set=function(p){var c=this.dimension;if(!(p0;--y)x.push(n(b[y-1],g[y-1],arguments[y])),d.push(0)}},i.move=function(p){var c=this.lastT(),x=this.dimension;if(!(p<=c||arguments.length!==x+1)){var d=this._state,v=this._velocity,b=d.length-this.dimension,g=this.bounds,y=g[0],k=g[1],h=p-c,M=h>1e-6?1/h:0;this._time.push(p);for(var A=x;A>0;--A){var C=arguments[A];d.push(n(y[A-1],k[A-1],d[b++]+C)),v.push(C*M)}}},i.idle=function(p){var c=this.lastT();if(!(p=0;--M)d.push(n(y[M],k[M],d[b]+h*v[b])),v.push(0),b+=1}}},7080:function(f){function l(b,g,y,k,h,M){this._color=b,this.key=g,this.value=y,this.left=k,this.right=h,this._count=M}function t(b){return new l(b._color,b.key,b.value,b.left,b.right,b._count)}function a(b,g){return new l(b,g.key,g.value,g.left,g.right,g._count)}function r(b){b._count=1+(b.left?b.left._count:0)+(b.right?b.right._count:0)}function n(b,g){this._compare=b,this.root=g}f.exports=function(b){return new n(b||v,null)};var o=n.prototype;function i(b,g){var y;return g.left&&(y=i(b,g.left))?y:(y=b(g.key,g.value))||(g.right?i(b,g.right):void 0)}function u(b,g,y,k){if(g(b,k.key)<=0){var h;if(k.left&&(h=u(b,g,y,k.left))||(h=y(k.key,k.value)))return h}if(k.right)return u(b,g,y,k.right)}function p(b,g,y,k,h){var M,A=y(b,h.key),C=y(g,h.key);if(A<=0&&(h.left&&(M=p(b,g,y,k,h.left))||C>0&&(M=k(h.key,h.value))))return M;if(C>0&&h.right)return p(b,g,y,k,h.right)}function c(b,g){this.tree=b,this._stack=g}Object.defineProperty(o,"keys",{get:function(){var b=[];return this.forEach(function(g,y){b.push(g)}),b}}),Object.defineProperty(o,"values",{get:function(){var b=[];return this.forEach(function(g,y){b.push(y)}),b}}),Object.defineProperty(o,"length",{get:function(){return this.root?this.root._count:0}}),o.insert=function(b,g){for(var y=this._compare,k=this.root,h=[],M=[];k;){var A=y(b,k.key);h.push(k),M.push(A),k=A<=0?k.left:k.right}h.push(new l(0,b,g,null,null,1));for(var C=h.length-2;C>=0;--C)k=h[C],M[C]<=0?h[C]=new l(k._color,k.key,k.value,h[C+1],k.right,k._count+1):h[C]=new l(k._color,k.key,k.value,k.left,h[C+1],k._count+1);for(C=h.length-1;C>1;--C){var L=h[C-1];if(k=h[C],L._color===1||k._color===1)break;var P=h[C-2];if(P.left===L)if(L.left===k){if(!(I=P.right)||I._color!==0){P._color=0,P.left=L.right,L._color=1,L.right=P,h[C-2]=L,h[C-1]=k,r(P),r(L),C>=3&&((R=h[C-3]).left===P?R.left=L:R.right=L);break}L._color=1,P.right=a(1,I),P._color=0,C-=1}else{if(!(I=P.right)||I._color!==0){L.right=k.left,P._color=0,P.left=k.right,k._color=1,k.left=L,k.right=P,h[C-2]=k,h[C-1]=L,r(P),r(L),r(k),C>=3&&((R=h[C-3]).left===P?R.left=k:R.right=k);break}L._color=1,P.right=a(1,I),P._color=0,C-=1}else if(L.right===k){if(!(I=P.left)||I._color!==0){P._color=0,P.right=L.left,L._color=1,L.left=P,h[C-2]=L,h[C-1]=k,r(P),r(L),C>=3&&((R=h[C-3]).right===P?R.right=L:R.left=L);break}L._color=1,P.left=a(1,I),P._color=0,C-=1}else{var I;if(!(I=P.left)||I._color!==0){var R;L.left=k.right,P._color=0,P.right=k.left,k._color=1,k.right=L,k.left=P,h[C-2]=k,h[C-1]=L,r(P),r(L),r(k),C>=3&&((R=h[C-3]).right===P?R.right=k:R.left=k);break}L._color=1,P.left=a(1,I),P._color=0,C-=1}}return h[0]._color=1,new n(y,h[0])},o.forEach=function(b,g,y){if(this.root)switch(arguments.length){case 1:return i(b,this.root);case 2:return u(g,this._compare,b,this.root);case 3:return this._compare(g,y)>=0?void 0:p(g,y,this._compare,b,this.root)}},Object.defineProperty(o,"begin",{get:function(){for(var b=[],g=this.root;g;)b.push(g),g=g.left;return new c(this,b)}}),Object.defineProperty(o,"end",{get:function(){for(var b=[],g=this.root;g;)b.push(g),g=g.right;return new c(this,b)}}),o.at=function(b){if(b<0)return new c(this,[]);for(var g=this.root,y=[];;){if(y.push(g),g.left){if(b=g.right._count)break;g=g.right}return new c(this,[])},o.ge=function(b){for(var g=this._compare,y=this.root,k=[],h=0;y;){var M=g(b,y.key);k.push(y),M<=0&&(h=k.length),y=M<=0?y.left:y.right}return k.length=h,new c(this,k)},o.gt=function(b){for(var g=this._compare,y=this.root,k=[],h=0;y;){var M=g(b,y.key);k.push(y),M<0&&(h=k.length),y=M<0?y.left:y.right}return k.length=h,new c(this,k)},o.lt=function(b){for(var g=this._compare,y=this.root,k=[],h=0;y;){var M=g(b,y.key);k.push(y),M>0&&(h=k.length),y=M<=0?y.left:y.right}return k.length=h,new c(this,k)},o.le=function(b){for(var g=this._compare,y=this.root,k=[],h=0;y;){var M=g(b,y.key);k.push(y),M>=0&&(h=k.length),y=M<0?y.left:y.right}return k.length=h,new c(this,k)},o.find=function(b){for(var g=this._compare,y=this.root,k=[];y;){var h=g(b,y.key);if(k.push(y),h===0)return new c(this,k);y=h<=0?y.left:y.right}return new c(this,[])},o.remove=function(b){var g=this.find(b);return g?g.remove():this},o.get=function(b){for(var g=this._compare,y=this.root;y;){var k=g(b,y.key);if(k===0)return y.value;y=k<=0?y.left:y.right}};var x=c.prototype;function d(b,g){b.key=g.key,b.value=g.value,b.left=g.left,b.right=g.right,b._color=g._color,b._count=g._count}function v(b,g){return bg?1:0}Object.defineProperty(x,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(x,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),x.clone=function(){return new c(this.tree,this._stack.slice())},x.remove=function(){var b=this._stack;if(b.length===0)return this.tree;var g=new Array(b.length),y=b[b.length-1];g[g.length-1]=new l(y._color,y.key,y.value,y.left,y.right,y._count);for(var k=b.length-2;k>=0;--k)(y=b[k]).left===b[k+1]?g[k]=new l(y._color,y.key,y.value,g[k+1],y.right,y._count):g[k]=new l(y._color,y.key,y.value,y.left,g[k+1],y._count);if((y=g[g.length-1]).left&&y.right){var h=g.length;for(y=y.left;y.right;)g.push(y),y=y.right;var M=g[h-1];for(g.push(new l(y._color,M.key,M.value,y.left,y.right,y._count)),g[h-1].key=y.key,g[h-1].value=y.value,k=g.length-2;k>=h;--k)y=g[k],g[k]=new l(y._color,y.key,y.value,y.left,g[k+1],y._count);g[h-1].left=g[h]}if((y=g[g.length-1])._color===0){var A=g[g.length-2];for(A.left===y?A.left=null:A.right===y&&(A.right=null),g.pop(),k=0;k=0;--B){if(P=L[B],B===0)return void(P._color=1);if((I=L[B-1]).left===P){if((R=I.right).right&&R.right._color===0)return U=(R=I.right=t(R)).right=t(R.right),I.right=R.left,R.left=I,R.right=U,R._color=I._color,P._color=1,I._color=1,U._color=1,r(I),r(R),B>1&&((G=L[B-2]).left===I?G.left=R:G.right=R),void(L[B-1]=R);if(R.left&&R.left._color===0)return U=(R=I.right=t(R)).left=t(R.left),I.right=U.left,R.left=U.right,U.left=I,U.right=R,U._color=I._color,I._color=1,R._color=1,P._color=1,r(I),r(R),r(U),B>1&&((G=L[B-2]).left===I?G.left=U:G.right=U),void(L[B-1]=U);if(R._color===1){if(I._color===0)return I._color=1,void(I.right=a(0,R));I.right=a(0,R);continue}R=t(R),I.right=R.left,R.left=I,R._color=I._color,I._color=0,r(I),r(R),B>1&&((G=L[B-2]).left===I?G.left=R:G.right=R),L[B-1]=R,L[B]=I,B+11&&((G=L[B-2]).right===I?G.right=R:G.left=R),void(L[B-1]=R);if(R.right&&R.right._color===0)return U=(R=I.left=t(R)).right=t(R.right),I.left=U.right,R.right=U.left,U.right=I,U.left=R,U._color=I._color,I._color=1,R._color=1,P._color=1,r(I),r(R),r(U),B>1&&((G=L[B-2]).right===I?G.right=U:G.left=U),void(L[B-1]=U);if(R._color===1){if(I._color===0)return I._color=1,void(I.left=a(0,R));I.left=a(0,R);continue}var G;R=t(R),I.left=R.right,R.right=I,R._color=I._color,I._color=0,r(I),r(R),B>1&&((G=L[B-2]).right===I?G.right=R:G.left=R),L[B-1]=R,L[B]=I,B+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(x,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(x,"index",{get:function(){var b=0,g=this._stack;if(g.length===0){var y=this.tree.root;return y?y._count:0}g[g.length-1].left&&(b=g[g.length-1].left._count);for(var k=g.length-2;k>=0;--k)g[k+1]===g[k].right&&(++b,g[k].left&&(b+=g[k].left._count));return b},enumerable:!0}),x.next=function(){var b=this._stack;if(b.length!==0){var g=b[b.length-1];if(g.right)for(g=g.right;g;)b.push(g),g=g.left;else for(b.pop();b.length>0&&b[b.length-1].right===g;)g=b[b.length-1],b.pop()}},Object.defineProperty(x,"hasNext",{get:function(){var b=this._stack;if(b.length===0)return!1;if(b[b.length-1].right)return!0;for(var g=b.length-1;g>0;--g)if(b[g-1].left===b[g])return!0;return!1}}),x.update=function(b){var g=this._stack;if(g.length===0)throw new Error("Can't update empty node!");var y=new Array(g.length),k=g[g.length-1];y[y.length-1]=new l(k._color,k.key,b,k.left,k.right,k._count);for(var h=g.length-2;h>=0;--h)(k=g[h]).left===g[h+1]?y[h]=new l(k._color,k.key,k.value,y[h+1],k.right,k._count):y[h]=new l(k._color,k.key,k.value,k.left,y[h+1],k._count);return new n(this.tree._compare,y[0])},x.prev=function(){var b=this._stack;if(b.length!==0){var g=b[b.length-1];if(g.left)for(g=g.left;g;)b.push(g),g=g.right;else for(b.pop();b.length>0&&b[b.length-1].left===g;)g=b[b.length-1],b.pop()}},Object.defineProperty(x,"hasPrev",{get:function(){var b=this._stack;if(b.length===0)return!1;if(b[b.length-1].left)return!0;for(var g=b.length-1;g>0;--g)if(b[g-1].right===b[g])return!0;return!1}})},7453:function(f,l,t){f.exports=function(A,C){var L=new c(A);return L.update(C),L};var a=t(9557),r=t(1681),n=t(1011),o=t(2864),i=t(8468),u=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function p(A,C){return A[0]=C[0],A[1]=C[1],A[2]=C[2],A}function c(A){this.gl=A,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.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",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=n(A)}var x=c.prototype;function d(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}x.update=function(A){function C(ee,Q,X){if(X in A){var Y,K=A[X],te=this[X];(ee?Array.isArray(K)&&Array.isArray(K[0]):Array.isArray(K))?this[X]=Y=[Q(K[0]),Q(K[1]),Q(K[2])]:this[X]=Y=[Q(K),Q(K),Q(K)];for(var ie=0;ie<3;++ie)if(Y[ie]!==te[ie])return!0}return!1}A=A||{};var L,P=C.bind(this,!1,Number),I=C.bind(this,!1,Boolean),R=C.bind(this,!1,String),U=C.bind(this,!0,function(ee){if(Array.isArray(ee)){if(ee.length===3)return[+ee[0],+ee[1],+ee[2],1];if(ee.length===4)return[+ee[0],+ee[1],+ee[2],+ee[3]]}return[0,0,0,1]}),B=!1,G=!1;if("bounds"in A)for(var N=A.bounds,j=0;j<2;++j)for(var V=0;V<3;++V)N[j][V]!==this.bounds[j][V]&&(G=!0),this.bounds[j][V]=N[j][V];if("ticks"in A)for(L=A.ticks,B=!0,this.autoTicks=!1,j=0;j<3;++j)this.tickSpacing[j]=0;else P("tickSpacing")&&(this.autoTicks=!0,G=!0);if(this._firstInit&&("ticks"in A||"tickSpacing"in A||(this.autoTicks=!0),G=!0,B=!0,this._firstInit=!1),G&&this.autoTicks&&(L=i.create(this.bounds,this.tickSpacing),B=!0),B){for(j=0;j<3;++j)L[j].sort(function(ee,Q){return ee.x-Q.x});i.equal(L,this.ticks)?B=!1:this.ticks=L}I("tickEnable"),R("tickFont")&&(B=!0),P("tickSize"),P("tickAngle"),P("tickPad"),U("tickColor");var H=R("labels");R("labelFont")&&(H=!0),I("labelEnable"),P("labelSize"),P("labelPad"),U("labelColor"),I("lineEnable"),I("lineMirror"),P("lineWidth"),U("lineColor"),I("lineTickEnable"),I("lineTickMirror"),P("lineTickLength"),P("lineTickWidth"),U("lineTickColor"),I("gridEnable"),P("gridWidth"),U("gridColor"),I("zeroEnable"),U("zeroLineColor"),P("zeroLineWidth"),I("backgroundEnable"),U("backgroundColor"),this._text?this._text&&(H||B)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=a(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&B&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=r(this.gl,this.bounds,this.ticks))};var v=[new d,new d,new d];function b(A,C,L,P,I){for(var R=A.primalOffset,U=A.primalMinor,B=A.mirrorOffset,G=A.mirrorMinor,N=P[C],j=0;j<3;++j)if(C!==j){var V=R,H=B,ee=U,Q=G;N&1<0?(ee[j]=-1,Q[j]=0):(ee[j]=0,Q[j]=1)}}var g=[0,0,0],y={model:u,view:u,projection:u,_ortho:!1};x.isOpaque=function(){return!0},x.isTransparent=function(){return!1},x.drawTransparent=function(A){};var k=[0,0,0],h=[0,0,0],M=[0,0,0];x.draw=function(A){A=A||y;for(var C=this.gl,L=A.model||u,P=A.view||u,I=A.projection||u,R=this.bounds,U=A._ortho||!1,B=o(L,P,I,R,U),G=B.cubeEdges,N=B.axis,j=P[12],V=P[13],H=P[14],ee=P[15],Q=(U?2:1)*this.pixelRatio*(I[3]*j+I[7]*V+I[11]*H+I[15]*ee)/C.drawingBufferHeight,X=0;X<3;++X)this.lastCubeProps.cubeEdges[X]=G[X],this.lastCubeProps.axis[X]=N[X];var Y=v;for(X=0;X<3;++X)b(v[X],X,this.bounds,G,N);C=this.gl;var K,te,ie,oe=g;for(X=0;X<3;++X)this.backgroundEnable[X]?oe[X]=N[X]:oe[X]=0;for(this._background.draw(L,P,I,R,oe,this.backgroundColor),this._lines.bind(L,P,I,this),X=0;X<3;++X){var se=[0,0,0];N[X]>0?se[X]=R[1][X]:se[X]=R[0][X];for(var ce=0;ce<2;++ce){var xe=(X+1+ce)%3,pe=(X+1+(1^ce))%3;this.gridEnable[xe]&&this._lines.drawGrid(xe,pe,this.bounds,se,this.gridColor[xe],this.gridWidth[xe]*this.pixelRatio)}for(ce=0;ce<2;++ce)xe=(X+1+ce)%3,pe=(X+1+(1^ce))%3,this.zeroEnable[pe]&&Math.min(R[0][pe],R[1][pe])<=0&&Math.max(R[0][pe],R[1][pe])>=0&&this._lines.drawZero(xe,pe,this.bounds,se,this.zeroLineColor[pe],this.zeroLineWidth[pe]*this.pixelRatio)}for(X=0;X<3;++X){this.lineEnable[X]&&this._lines.drawAxisLine(X,this.bounds,Y[X].primalOffset,this.lineColor[X],this.lineWidth[X]*this.pixelRatio),this.lineMirror[X]&&this._lines.drawAxisLine(X,this.bounds,Y[X].mirrorOffset,this.lineColor[X],this.lineWidth[X]*this.pixelRatio);var de=p(k,Y[X].primalMinor),he=p(h,Y[X].mirrorMinor),ye=this.lineTickLength;for(ce=0;ce<3;++ce){var ze=Q/L[5*ce];de[ce]*=ye[ce]*ze,he[ce]*=ye[ce]*ze}this.lineTickEnable[X]&&this._lines.drawAxisTicks(X,Y[X].primalOffset,de,this.lineTickColor[X],this.lineTickWidth[X]*this.pixelRatio),this.lineTickMirror[X]&&this._lines.drawAxisTicks(X,Y[X].mirrorOffset,he,this.lineTickColor[X],this.lineTickWidth[X]*this.pixelRatio)}function Te(me){(ie=[0,0,0])[me]=1}function Ae(me,we,Ee){var Ue=(me+1)%3,De=(me+2)%3,je=we[Ue],ge=we[De],be=Ee[Ue],Se=Ee[De];je>0&&Se>0||je>0&&Se<0||je<0&&Se>0||je<0&&Se<0?Te(Ue):(ge>0&&be>0||ge>0&&be<0||ge<0&&be>0||ge<0&&be<0)&&Te(De)}for(this._lines.unbind(),this._text.bind(L,P,I,this.pixelRatio),X=0;X<3;++X){var Me=Y[X].primalMinor,Ce=Y[X].mirrorMinor,ne=p(M,Y[X].primalOffset);for(ce=0;ce<3;++ce)this.lineTickEnable[X]&&(ne[ce]+=Q*Me[ce]*Math.max(this.lineTickLength[ce],0)/L[5*ce]);var ue=[0,0,0];if(ue[X]=1,this.tickEnable[X]){for(this.tickAngle[X]===-3600?(this.tickAngle[X]=0,this.tickAlign[X]="auto"):this.tickAlign[X]=-1,te=1,(K=[this.tickAlign[X],.5,te])[0]==="auto"?K[0]=0:K[0]=parseInt(""+K[0]),ie=[0,0,0],Ae(X,Me,Ce),ce=0;ce<3;++ce)ne[ce]+=Q*Me[ce]*this.tickPad[ce]/L[5*ce];this._text.drawTicks(X,this.tickSize[X],this.tickAngle[X],ne,this.tickColor[X],ue,ie,K)}if(this.labelEnable[X]){for(te=0,ie=[0,0,0],this.labels[X].length>4&&(Te(X),te=1),(K=[this.labelAlign[X],.5,te])[0]==="auto"?K[0]=0:K[0]=parseInt(""+K[0]),ce=0;ce<3;++ce)ne[ce]+=Q*Me[ce]*this.labelPad[ce]/L[5*ce];ne[X]+=.5*(R[0][X]+R[1][X]),this._text.drawLabel(X,this.labelSize[X],this.labelAngle[X],ne,this.labelColor[X],[0,0,0],ie,K)}}this._text.unbind()},x.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},1011:function(f,l,t){f.exports=function(u){for(var p=[],c=[],x=0,d=0;d<3;++d)for(var v=(d+1)%3,b=(d+2)%3,g=[0,0,0],y=[0,0,0],k=-1;k<=1;k+=2){c.push(x,x+2,x+1,x+1,x+2,x+3),g[d]=k,y[d]=k;for(var h=-1;h<=1;h+=2){g[v]=h;for(var M=-1;M<=1;M+=2)g[b]=M,p.push(g[0],g[1],g[2],y[0],y[1],y[2]),x+=1}var A=v;v=b,b=A}var C=a(u,new Float32Array(p)),L=a(u,new Uint16Array(c),u.ELEMENT_ARRAY_BUFFER),P=r(u,[{buffer:C,type:u.FLOAT,size:3,offset:0,stride:24},{buffer:C,type:u.FLOAT,size:3,offset:12,stride:24}],L),I=n(u);return I.attributes.position.location=0,I.attributes.normal.location=1,new o(u,C,P,I)};var a=t(5827),r=t(2944),n=t(1943).bg;function o(u,p,c,x){this.gl=u,this.buffer=p,this.vao=c,this.shader=x}var i=o.prototype;i.draw=function(u,p,c,x,d,v){for(var b=!1,g=0;g<3;++g)b=b||d[g];if(b){var y=this.gl;y.enable(y.POLYGON_OFFSET_FILL),y.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:u,view:p,projection:c,bounds:x,enable:d,colors:v},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),y.disable(y.POLYGON_OFFSET_FILL)}},i.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},2864:function(f,l,t){f.exports=function(h,M,A,C,L){r(i,M,h),r(i,A,i);for(var P=0,I=0;I<2;++I){c[2]=C[I][2];for(var R=0;R<2;++R){c[1]=C[R][1];for(var U=0;U<2;++U)c[0]=C[U][0],d(u[P],c,i),P+=1}}var B=-1;for(I=0;I<8;++I){for(var G=u[I][3],N=0;N<3;++N)p[I][N]=u[I][N]/G;L&&(p[I][2]*=-1),G<0&&(B<0||p[I][2]ee&&(B|=1<ee&&(B|=1<p[I][1])&&(se=I);var ce=-1;for(I=0;I<3;++I)(pe=se^1<p[xe][0]&&(xe=pe))}var de=g;de[0]=de[1]=de[2]=0,de[a.log2(ce^se)]=se&ce,de[a.log2(se^xe)]=se&xe;var he=7^xe;he===B||he===oe?(he=7^ce,de[a.log2(xe^he)]=he&xe):de[a.log2(ce^he)]=he&ce;var ye=y,ze=B;for(j=0;j<3;++j)ye[j]=ze&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ? + b - PI : + b; +} + +float look_horizontal_or_vertical(float a, float ratio) { + // ratio controls the ratio between being horizontal to (vertical + horizontal) + // if ratio is set to 0.5 then it is 50%, 50%. + // when using a higher ratio e.g. 0.75 the result would + // likely be more horizontal than vertical. + + float b = positive_angle(a); + + return + (b < ( ratio) * HALF_PI) ? 0.0 : + (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI : + (b < (2.0 + ratio) * HALF_PI) ? 0.0 : + (b < (4.0 - ratio) * HALF_PI) ? HALF_PI : + 0.0; +} + +float roundTo(float a, float b) { + return float(b * floor((a + 0.5 * b) / b)); +} + +float look_round_n_directions(float a, int n) { + float b = positive_angle(a); + float div = TWO_PI / float(n); + float c = roundTo(b, div); + return look_upwards(c); +} + +float applyAlignOption(float rawAngle, float delta) { + return + (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions + (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical + (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis + (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards + (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal + rawAngle; // otherwise return back raw input angle +} + +bool isAxisTitle = (axis.x == 0.0) && + (axis.y == 0.0) && + (axis.z == 0.0); + +void main() { + //Compute world offset + float axisDistance = position.z; + vec3 dataPosition = axisDistance * axis + offset; + + float beta = angle; // i.e. user defined attributes for each tick + + float axisAngle; + float clipAngle; + float flip; + + if (enableAlign) { + axisAngle = (isAxisTitle) ? HALF_PI : + computeViewAngle(dataPosition, dataPosition + axis); + clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir); + + axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0; + clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0; + + flip = (dot(vec2(cos(axisAngle), sin(axisAngle)), + vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0; + + beta += applyAlignOption(clipAngle, flip * PI); + } + + //Compute plane offset + vec2 planeCoord = position.xy * pixelScale; + + mat2 planeXform = scale * mat2( + cos(beta), sin(beta), + -sin(beta), cos(beta) + ); + + vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution; + + //Compute clip position + vec3 clipPosition = project(dataPosition); + + //Apply text offset in clip coordinates + clipPosition += vec3(viewOffset, 0.0); + + //Done + gl_Position = vec4(clipPosition, 1.0); +}`]),u=a([`precision highp float; +#define GLSLIFY 1 + +uniform vec4 color; +void main() { + gl_FragColor = color; +}`]);l.f=function(x){return r(x,i,u,null,[{name:"position",type:"vec3"}])};var p=a([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position; +attribute vec3 normal; + +uniform mat4 model, view, projection; +uniform vec3 enable; +uniform vec3 bounds[2]; + +varying vec3 colorChannel; + +void main() { + + vec3 signAxis = sign(bounds[1] - bounds[0]); + + vec3 realNormal = signAxis * normal; + + if(dot(realNormal, enable) > 0.0) { + vec3 minRange = min(bounds[0], bounds[1]); + vec3 maxRange = max(bounds[0], bounds[1]); + vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0)); + gl_Position = projection * view * model * vec4(nPosition, 1.0); + } else { + gl_Position = vec4(0,0,0,0); + } + + colorChannel = abs(realNormal); +}`]),c=a([`precision highp float; +#define GLSLIFY 1 + +uniform vec4 colors[3]; + +varying vec3 colorChannel; + +void main() { + gl_FragColor = colorChannel.x * colors[0] + + colorChannel.y * colors[1] + + colorChannel.z * colors[2]; +}`]);l.bg=function(x){return r(x,p,c,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},9557:function(f,l,t){f.exports=function(d,v,b,g,y,k){var h=a(d),M=r(d,[{buffer:h,size:3}]),A=o(d);A.attributes.position.location=0;var C=new p(d,A,h,M);return C.update(v,b,g,y,k),C};var a=t(5827),r=t(2944),n=t(875),o=t(1943).f,i=window||w.global||{},u=i.__TEXT_CACHE||{};function p(d,v,b,g){this.gl=d,this.shader=v,this.buffer=b,this.vao=g,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}i.__TEXT_CACHE={};var c=p.prototype,x=[0,0];c.bind=function(d,v,b,g){this.vao.bind(),this.shader.bind();var y=this.shader.uniforms;y.model=d,y.view=v,y.projection=b,y.pixelScale=g,x[0]=this.gl.drawingBufferWidth,x[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=x},c.unbind=function(){this.vao.unbind()},c.update=function(d,v,b,g,y){var k=[];function h(U,B,G,N,j,V){var H=u[G];H||(H=u[G]={});var ee=H[B];ee||(ee=H[B]=function(ce,xe){try{return n(ce,xe)}catch(pe){return console.warn('error vectorizing text:"'+ce+'" error:',pe),{cells:[],positions:[]}}}(B,{triangles:!0,font:G,textAlign:"center",textBaseline:"middle",lineSpacing:j,styletags:V}));for(var Q=(N||12)/12,X=ee.positions,Y=ee.cells,K=0,te=Y.length;K=0;--oe){var se=X[ie[oe]];k.push(Q*se[0],-Q*se[1],U)}}for(var M=[0,0,0],A=[0,0,0],C=[0,0,0],L=[0,0,0],P={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},I=0;I<3;++I){C[I]=k.length/3|0,h(.5*(d[0][I]+d[1][I]),v[I],b[I],12,1.25,P),L[I]=(k.length/3|0)-C[I],M[I]=k.length/3|0;for(var R=0;R=0&&(i=n.length-o-1);var u=Math.pow(10,i),p=Math.round(a*r*u),c=p+"";if(c.indexOf("e")>=0)return c;var x=p/u,d=p%u;p<0?(x=0|-Math.ceil(x),d=0|-d):(x=0|Math.floor(x),d|=0);var v=""+x;if(p<0&&(v="-"+v),i){for(var b=""+d;b.length=a[0][o];--u)i.push({x:u*r[o],text:t(r[o],u)});n.push(i)}return n},l.equal=function(a,r){for(var n=0;n<3;++n){if(a[n].length!==r[n].length)return!1;for(var o=0;ov)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return x.bufferSubData(d,y,g),v}function c(x,d){for(var v=a.malloc(x.length,d),b=x.length,g=0;g=0;--A){if(h[A]!==M)return!1;M*=k[A]}return!0}(x.shape,x.stride))x.offset===0&&x.data.length===x.shape[0]?this.length=p(this.gl,this.type,this.length,this.usage,x.data,d):this.length=p(this.gl,this.type,this.length,this.usage,x.data.subarray(x.offset,x.shape[0]),d);else{var b=a.malloc(x.size,v),g=n(b,x.shape);r.assign(g,x),this.length=p(this.gl,this.type,this.length,this.usage,d<0?b:b.subarray(0,x.size),d),a.free(b)}}else if(Array.isArray(x)){var y;y=this.type===this.gl.ELEMENT_ARRAY_BUFFER?c(x,"uint16"):c(x,"float32"),this.length=p(this.gl,this.type,this.length,this.usage,d<0?y:y.subarray(0,x.length),d),a.free(y)}else if(typeof x=="object"&&typeof x.length=="number")this.length=p(this.gl,this.type,this.length,this.usage,x,d);else{if(typeof x!="number"&&x!==void 0)throw new Error("gl-buffer: Invalid data type");if(d>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(x|=0)<=0&&(x=1),this.gl.bufferData(this.type,0|x,this.usage),this.length=x}},f.exports=function(x,d,v,b){if(v=v||x.ARRAY_BUFFER,b=b||x.DYNAMIC_DRAW,v!==x.ARRAY_BUFFER&&v!==x.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(b!==x.DYNAMIC_DRAW&&b!==x.STATIC_DRAW&&b!==x.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 g=x.createBuffer(),y=new i(x,v,g,0,b);return y.update(d),y}},1140:function(f,l,t){var a=t(2858);f.exports=function(n,o){var i=n.positions,u=n.vectors,p={positions:[],vertexIntensity:[],vertexIntensityBounds:n.vertexIntensityBounds,vectors:[],cells:[],coneOffset:n.coneOffset,colormap:n.colormap};if(n.positions.length===0)return o&&(o[0]=[0,0,0],o[1]=[0,0,0]),p;for(var c=0,x=1/0,d=-1/0,v=1/0,b=-1/0,g=1/0,y=-1/0,k=null,h=null,M=[],A=1/0,C=!1,L=0;Lc&&(c=a.length(I)),L){var R=2*a.distance(k,P)/(a.length(h)+a.length(I));R?(A=Math.min(A,R),C=!1):C=!0}C||(k=P,h=I),M.push(I)}var U=[x,v,g],B=[d,b,y];o&&(o[0]=U,o[1]=B),c===0&&(c=1);var G=1/c;isFinite(A)||(A=1),p.vectorScale=A;var N=n.coneSize||.5;n.absoluteConeSize&&(N=n.absoluteConeSize*G),p.coneScale=N,L=0;for(var j=0;L=1},v.isTransparent=function(){return this.opacity<1},v.pickSlots=1,v.setPickBase=function(y){this.pickId=y},v.update=function(y){y=y||{};var k=this.gl;this.dirty=!0,"lightPosition"in y&&(this.lightPosition=y.lightPosition),"opacity"in y&&(this.opacity=y.opacity),"ambient"in y&&(this.ambientLight=y.ambient),"diffuse"in y&&(this.diffuseLight=y.diffuse),"specular"in y&&(this.specularLight=y.specular),"roughness"in y&&(this.roughness=y.roughness),"fresnel"in y&&(this.fresnel=y.fresnel),y.tubeScale!==void 0&&(this.tubeScale=y.tubeScale),y.vectorScale!==void 0&&(this.vectorScale=y.vectorScale),y.coneScale!==void 0&&(this.coneScale=y.coneScale),y.coneOffset!==void 0&&(this.coneOffset=y.coneOffset),y.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=k.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=k.LINEAR,this.texture.setPixels(function(se){for(var ce=c({colormap:se,nshades:256,format:"rgba"}),xe=new Uint8Array(1024),pe=0;pe<256;++pe){for(var de=ce[pe],he=0;he<3;++he)xe[4*pe+he]=de[he];xe[4*pe+3]=255*de[3]}return p(xe,[256,256,4],[4,0,1])}(y.colormap)),this.texture.generateMipmap());var h=y.cells,M=y.positions,A=y.vectors;if(M&&h&&A){var C=[],L=[],P=[],I=[],R=[];this.cells=h,this.positions=M,this.vectors=A;var U=y.meshColor||[1,1,1,1],B=y.vertexIntensity,G=1/0,N=-1/0;if(B)if(y.vertexIntensityBounds)G=+y.vertexIntensityBounds[0],N=+y.vertexIntensityBounds[1];else for(var j=0;j0){var G=this.triShader;G.bind(),G.uniforms=P,this.triangleVAO.bind(),k.drawArrays(k.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},v.drawPick=function(y){y=y||{};for(var k=this.gl,h=y.model||x,M=y.view||x,A=y.projection||x,C=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],L=0;L<3;++L)C[0][L]=Math.max(C[0][L],this.clipBounds[0][L]),C[1][L]=Math.min(C[1][L],this.clipBounds[1][L]);this._model=[].slice.call(h),this._view=[].slice.call(M),this._projection=[].slice.call(A),this._resolution=[k.drawingBufferWidth,k.drawingBufferHeight];var P={model:h,view:M,projection:A,clipBounds:C,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},I=this.pickShader;I.bind(),I.uniforms=P,this.triangleCount>0&&(this.triangleVAO.bind(),k.drawArrays(k.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},v.pick=function(y){if(!y||y.id!==this.pickId)return null;var k=y.value[0]+256*y.value[1]+65536*y.value[2],h=this.cells[k],M=this.positions[h[1]].slice(0,3),A={position:M,dataCoordinate:M,index:Math.floor(h[1]/48)};return this.traceType==="cone"?A.index=Math.floor(h[1]/48):this.traceType==="streamtube"&&(A.intensity=this.intensity[h[1]],A.velocity=this.vectors[h[1]].slice(0,3),A.divergence=this.vectors[h[1]][3],A.index=k),A},v.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()},f.exports=function(y,k,h){var M=h.shaders;arguments.length===1&&(y=(k=y).gl);var A=b(y,M),C=g(y,M),L=o(y,p(new Uint8Array([255,255,255,255]),[1,1,4]));L.generateMipmap(),L.minFilter=y.LINEAR_MIPMAP_LINEAR,L.magFilter=y.LINEAR;var P=r(y),I=r(y),R=r(y),U=r(y),B=r(y),G=n(y,[{buffer:P,type:y.FLOAT,size:4},{buffer:B,type:y.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:R,type:y.FLOAT,size:4},{buffer:U,type:y.FLOAT,size:2},{buffer:I,type:y.FLOAT,size:4}]),N=new d(y,L,A,C,P,I,B,R,U,G,h.traceType||"cone");return N.update(k),N}},7234:function(f,l,t){var a=t(6832),r=a([`precision highp float; + +precision highp float; +#define GLSLIFY 1 + +vec3 getOrthogonalVector(vec3 v) { + // Return up-vector for only-z vector. + // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0). + // From the above if-statement we have ||a|| > 0 U ||b|| > 0. + // Assign z = 0, x = -b, y = a: + // a*-b + b*a + c*0 = -ba + ba + 0 = 0 + if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { + return normalize(vec3(-v.y, v.x, 0.0)); + } else { + return normalize(vec3(0.0, v.z, -v.y)); + } +} + +// Calculate the cone vertex and normal at the given index. +// +// The returned vertex is for a cone with its top at origin and height of 1.0, +// pointing in the direction of the vector attribute. +// +// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices. +// These vertices are used to make up the triangles of the cone by the following: +// segment + 0 top vertex +// segment + 1 perimeter vertex a+1 +// segment + 2 perimeter vertex a +// segment + 3 center base vertex +// segment + 4 perimeter vertex a +// segment + 5 perimeter vertex a+1 +// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment. +// To go from index to segment, floor(index / 6) +// To go from segment to angle, 2*pi * (segment/segmentCount) +// To go from index to segment index, index - (segment*6) +// +vec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) { + + const float segmentCount = 8.0; + + float index = rawIndex - floor(rawIndex / + (segmentCount * 6.0)) * + (segmentCount * 6.0); + + float segment = floor(0.001 + index/6.0); + float segmentIndex = index - (segment*6.0); + + normal = -normalize(d); + + if (segmentIndex > 2.99 && segmentIndex < 3.01) { + return mix(vec3(0.0), -d, coneOffset); + } + + float nextAngle = ( + (segmentIndex > 0.99 && segmentIndex < 1.01) || + (segmentIndex > 4.99 && segmentIndex < 5.01) + ) ? 1.0 : 0.0; + float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount); + + vec3 v1 = mix(d, vec3(0.0), coneOffset); + vec3 v2 = v1 - d; + + vec3 u = getOrthogonalVector(d); + vec3 v = normalize(cross(u, d)); + + vec3 x = u * cos(angle) * length(d)*0.25; + vec3 y = v * sin(angle) * length(d)*0.25; + vec3 v3 = v2 + x + y; + if (segmentIndex < 3.0) { + vec3 tx = u * sin(angle); + vec3 ty = v * -cos(angle); + vec3 tangent = tx + ty; + normal = normalize(cross(v3 - v1, tangent)); + } + + if (segmentIndex == 0.0) { + return mix(d, vec3(0.0), coneOffset); + } + return v3; +} + +attribute vec3 vector; +attribute vec4 color, position; +attribute vec2 uv; + +uniform float vectorScale, coneScale, coneOffset; +uniform mat4 model, view, projection, inverseModel; +uniform vec3 eyePosition, lightPosition; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + // Scale the vector magnitude to stay constant with + // model & view changes. + vec3 normal; + vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal); + vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); + + //Lighting geometry parameters + vec4 cameraCoordinate = view * conePosition; + cameraCoordinate.xyz /= cameraCoordinate.w; + f_lightDirection = lightPosition - cameraCoordinate.xyz; + f_eyeDirection = eyePosition - cameraCoordinate.xyz; + f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz); + + // vec4 m_position = model * vec4(conePosition, 1.0); + vec4 t_position = view * conePosition; + gl_Position = projection * t_position; + + f_color = color; + f_data = conePosition.xyz; + f_position = position.xyz; + f_uv = uv; +} +`]),n=a([`#extension GL_OES_standard_derivatives : enable + +precision highp float; +#define GLSLIFY 1 + +float beckmannDistribution(float x, float roughness) { + float NdotH = max(x, 0.0001); + float cos2Alpha = NdotH * NdotH; + float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha; + float roughness2 = roughness * roughness; + float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha; + return exp(tan2Alpha / roughness2) / denom; +} + +float cookTorranceSpecular( + vec3 lightDirection, + vec3 viewDirection, + vec3 surfaceNormal, + float roughness, + float fresnel) { + + float VdotN = max(dot(viewDirection, surfaceNormal), 0.0); + float LdotN = max(dot(lightDirection, surfaceNormal), 0.0); + + //Half angle vector + vec3 H = normalize(lightDirection + viewDirection); + + //Geometric term + float NdotH = max(dot(surfaceNormal, H), 0.0); + float VdotH = max(dot(viewDirection, H), 0.000001); + float LdotH = max(dot(lightDirection, H), 0.000001); + float G1 = (2.0 * NdotH * VdotN) / VdotH; + float G2 = (2.0 * NdotH * LdotN) / LdotH; + float G = min(1.0, min(G1, G2)); + + //Distribution term + float D = beckmannDistribution(NdotH, roughness); + + //Fresnel term + float F = pow(1.0 - VdotN, fresnel); + + //Multiply terms and done + return G * F * D / max(3.14159265 * VdotN, 0.000001); +} + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity; +uniform sampler2D texture; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + vec3 N = normalize(f_normal); + vec3 L = normalize(f_lightDirection); + vec3 V = normalize(f_eyeDirection); + + if(gl_FrontFacing) { + N = -N; + } + + float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel))); + float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); + + vec4 surfaceColor = f_color * texture2D(texture, f_uv); + vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); + + gl_FragColor = litColor * opacity; +} +`]),o=a([`precision highp float; + +precision highp float; +#define GLSLIFY 1 + +vec3 getOrthogonalVector(vec3 v) { + // Return up-vector for only-z vector. + // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0). + // From the above if-statement we have ||a|| > 0 U ||b|| > 0. + // Assign z = 0, x = -b, y = a: + // a*-b + b*a + c*0 = -ba + ba + 0 = 0 + if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { + return normalize(vec3(-v.y, v.x, 0.0)); + } else { + return normalize(vec3(0.0, v.z, -v.y)); + } +} + +// Calculate the cone vertex and normal at the given index. +// +// The returned vertex is for a cone with its top at origin and height of 1.0, +// pointing in the direction of the vector attribute. +// +// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices. +// These vertices are used to make up the triangles of the cone by the following: +// segment + 0 top vertex +// segment + 1 perimeter vertex a+1 +// segment + 2 perimeter vertex a +// segment + 3 center base vertex +// segment + 4 perimeter vertex a +// segment + 5 perimeter vertex a+1 +// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment. +// To go from index to segment, floor(index / 6) +// To go from segment to angle, 2*pi * (segment/segmentCount) +// To go from index to segment index, index - (segment*6) +// +vec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) { + + const float segmentCount = 8.0; + + float index = rawIndex - floor(rawIndex / + (segmentCount * 6.0)) * + (segmentCount * 6.0); + + float segment = floor(0.001 + index/6.0); + float segmentIndex = index - (segment*6.0); + + normal = -normalize(d); + + if (segmentIndex > 2.99 && segmentIndex < 3.01) { + return mix(vec3(0.0), -d, coneOffset); + } + + float nextAngle = ( + (segmentIndex > 0.99 && segmentIndex < 1.01) || + (segmentIndex > 4.99 && segmentIndex < 5.01) + ) ? 1.0 : 0.0; + float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount); + + vec3 v1 = mix(d, vec3(0.0), coneOffset); + vec3 v2 = v1 - d; + + vec3 u = getOrthogonalVector(d); + vec3 v = normalize(cross(u, d)); + + vec3 x = u * cos(angle) * length(d)*0.25; + vec3 y = v * sin(angle) * length(d)*0.25; + vec3 v3 = v2 + x + y; + if (segmentIndex < 3.0) { + vec3 tx = u * sin(angle); + vec3 ty = v * -cos(angle); + vec3 tangent = tx + ty; + normal = normalize(cross(v3 - v1, tangent)); + } + + if (segmentIndex == 0.0) { + return mix(d, vec3(0.0), coneOffset); + } + return v3; +} + +attribute vec4 vector; +attribute vec4 position; +attribute vec4 id; + +uniform mat4 model, view, projection; +uniform float vectorScale, coneScale, coneOffset; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + vec3 normal; + vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal); + vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); + gl_Position = projection * view * conePosition; + f_id = id; + f_position = position.xyz; +} +`]),i=a([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float pickId; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + + gl_FragColor = vec4(pickId, f_id.xyz); +}`]);l.meshShader={vertex:r,fragment:n,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},l.pickShader={vertex:o,fragment:i,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},1950:function(f){f.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"}},6603:function(f,l,t){var a=t(1950);f.exports=function(r){return a[r]}},3110:function(f,l,t){f.exports=function(d){var v=d.gl,b=a(v),g=r(v,[{buffer:b,type:v.FLOAT,size:3,offset:0,stride:40},{buffer:b,type:v.FLOAT,size:4,offset:12,stride:40},{buffer:b,type:v.FLOAT,size:3,offset:28,stride:40}]),y=n(v);y.attributes.position.location=0,y.attributes.color.location=1,y.attributes.offset.location=2;var k=new i(v,b,g,y);return k.update(d),k};var a=t(5827),r=t(2944),n=t(7667),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function i(d,v,b,g){this.gl=d,this.shader=g,this.buffer=v,this.vao=b,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 u=i.prototype;function p(d,v){for(var b=0;b<3;++b)d[0][b]=Math.min(d[0][b],v[b]),d[1][b]=Math.max(d[1][b],v[b])}u.isOpaque=function(){return!this.hasAlpha},u.isTransparent=function(){return this.hasAlpha},u.drawTransparent=u.draw=function(d){var v=this.gl,b=this.shader.uniforms;this.shader.bind();var g=b.view=d.view||o,y=b.projection=d.projection||o;b.model=d.model||o,b.clipBounds=this.clipBounds,b.opacity=this.opacity;var k=g[12],h=g[13],M=g[14],A=g[15],C=(d._ortho?2:1)*this.pixelRatio*(y[3]*k+y[7]*h+y[11]*M+y[15]*A)/v.drawingBufferHeight;this.vao.bind();for(var L=0;L<3;++L)v.lineWidth(this.lineWidth[L]*this.pixelRatio),b.capSize=this.capSize[L]*C,this.lineCount[L]&&v.drawArrays(v.LINES,this.lineOffset[L],this.lineCount[L]);this.vao.unbind()};var c=function(){for(var d=new Array(3),v=0;v<3;++v){for(var b=[],g=1;g<=2;++g)for(var y=-1;y<=1;y+=2){var k=[0,0,0];k[(g+v)%3]=y,b.push(k)}d[v]=b}return d}();function x(d,v,b,g){for(var y=c[g],k=0;k0&&((P=C.slice())[M]+=I[1][M],y.push(C[0],C[1],C[2],R[0],R[1],R[2],R[3],0,0,0,P[0],P[1],P[2],R[0],R[1],R[2],R[3],0,0,0),p(this.bounds,P),h+=2+x(y,P,R,M)))}this.lineCount[M]=h-this.lineOffset[M]}this.buffer.update(y)}},u.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},7667:function(f,l,t){var a=t(6832),r=t(5158),n=a([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position, offset; +attribute vec4 color; +uniform mat4 model, view, projection; +uniform float capSize; +varying vec4 fragColor; +varying vec3 fragPosition; + +void main() { + vec4 worldPosition = model * vec4(position, 1.0); + worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0); + gl_Position = projection * view * worldPosition; + fragColor = color; + fragPosition = position; +}`]),o=a([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float opacity; +varying vec3 fragPosition; +varying vec4 fragColor; + +void main() { + if ( + outOfRange(clipBounds[0], clipBounds[1], fragPosition) || + fragColor.a * opacity == 0. + ) discard; + + gl_FragColor = opacity * fragColor; +}`]);f.exports=function(i){return r(i,n,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},4234:function(f,l,t){var a=t(8931);f.exports=function(k,h,M,A){r||(r=k.FRAMEBUFFER_UNSUPPORTED,n=k.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=k.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,i=k.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var C=k.getExtension("WEBGL_draw_buffers");if(!u&&C&&function(G,N){var j=G.getParameter(N.MAX_COLOR_ATTACHMENTS_WEBGL);u=new Array(j+1);for(var V=0;V<=j;++V){for(var H=new Array(j),ee=0;eeL||M<0||M>L)throw new Error("gl-fbo: Parameters are too large for FBO");var P=1;if("color"in(A=A||{})){if((P=Math.max(0|A.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(P>1){if(!C)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(P>k.getParameter(C.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+P+" draw buffers")}}var I=k.UNSIGNED_BYTE,R=k.getExtension("OES_texture_float");if(A.float&&P>0){if(!R)throw new Error("gl-fbo: Context does not support floating point textures");I=k.FLOAT}else A.preferFloat&&P>0&&R&&(I=k.FLOAT);var U=!0;"depth"in A&&(U=!!A.depth);var B=!1;return"stencil"in A&&(B=!!A.stencil),new b(k,h,M,I,P,U,B,C)};var r,n,o,i,u=null;function p(k){return[k.getParameter(k.FRAMEBUFFER_BINDING),k.getParameter(k.RENDERBUFFER_BINDING),k.getParameter(k.TEXTURE_BINDING_2D)]}function c(k,h){k.bindFramebuffer(k.FRAMEBUFFER,h[0]),k.bindRenderbuffer(k.RENDERBUFFER,h[1]),k.bindTexture(k.TEXTURE_2D,h[2])}function x(k){switch(k){case r:throw new Error("gl-fbo: Framebuffer unsupported");case n:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case i:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function d(k,h,M,A,C,L){if(!A)return null;var P=a(k,h,M,C,A);return P.magFilter=k.NEAREST,P.minFilter=k.NEAREST,P.mipSamples=1,P.bind(),k.framebufferTexture2D(k.FRAMEBUFFER,L,k.TEXTURE_2D,P.handle,0),P}function v(k,h,M,A,C){var L=k.createRenderbuffer();return k.bindRenderbuffer(k.RENDERBUFFER,L),k.renderbufferStorage(k.RENDERBUFFER,A,h,M),k.framebufferRenderbuffer(k.FRAMEBUFFER,C,k.RENDERBUFFER,L),L}function b(k,h,M,A,C,L,P,I){this.gl=k,this._shape=[0|h,0|M],this._destroyed=!1,this._ext=I,this.color=new Array(C);for(var R=0;R1&&X.drawBuffersWEBGL(u[Q]);var oe=j.getExtension("WEBGL_depth_texture");oe?Y?G.depth=d(j,H,ee,oe.UNSIGNED_INT_24_8_WEBGL,j.DEPTH_STENCIL,j.DEPTH_STENCIL_ATTACHMENT):K&&(G.depth=d(j,H,ee,j.UNSIGNED_SHORT,j.DEPTH_COMPONENT,j.DEPTH_ATTACHMENT)):K&&Y?G._depth_rb=v(j,H,ee,j.DEPTH_STENCIL,j.DEPTH_STENCIL_ATTACHMENT):K?G._depth_rb=v(j,H,ee,j.DEPTH_COMPONENT16,j.DEPTH_ATTACHMENT):Y&&(G._depth_rb=v(j,H,ee,j.STENCIL_INDEX,j.STENCIL_ATTACHMENT));var se=j.checkFramebufferStatus(j.FRAMEBUFFER);if(se!==j.FRAMEBUFFER_COMPLETE){for(G._destroyed=!0,j.bindFramebuffer(j.FRAMEBUFFER,null),j.deleteFramebuffer(G.handle),G.handle=null,G.depth&&(G.depth.dispose(),G.depth=null),G._depth_rb&&(j.deleteRenderbuffer(G._depth_rb),G._depth_rb=null),ie=0;ieC||M<0||M>C)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");k._shape[0]=h,k._shape[1]=M;for(var L=p(A),P=0;P>8*U&255;this.pickOffset=g,k.bind();var B=k.uniforms;B.viewTransform=v,B.pickOffset=b,B.shape=this.shape;var G=k.attributes;return this.positionBuffer.bind(),G.position.pointer(),this.weightBuffer.bind(),G.weight.pointer(A.UNSIGNED_BYTE,!1),this.idBuffer.bind(),G.pickId.pointer(A.UNSIGNED_BYTE,!1),A.drawArrays(A.TRIANGLES,0,M),g+this.shape[0]*this.shape[1]}}}(),x.pick=function(v,b,g){var y=this.pickOffset,k=this.shape[0]*this.shape[1];if(g=y+k)return null;var h=g-y,M=this.xData,A=this.yData;return{object:this,pointId:h,dataCoord:[M[h%this.shape[0]],A[h/this.shape[0]|0]]}},x.update=function(v){var b=(v=v||{}).shape||[0,0],g=v.x||r(b[0]),y=v.y||r(b[1]),k=v.z||new Float32Array(b[0]*b[1]),h=v.zsmooth!==!1;this.xData=g,this.yData=y;var M,A,C,L,P=v.colorLevels||[0],I=v.colorValues||[0,0,0,1],R=P.length,U=this.bounds;h?(M=U[0]=g[0],A=U[1]=y[0],C=U[2]=g[g.length-1],L=U[3]=y[y.length-1]):(M=U[0]=g[0]+(g[1]-g[0])/2,A=U[1]=y[0]+(y[1]-y[0])/2,C=U[2]=g[g.length-1]+(g[g.length-1]-g[g.length-2])/2,L=U[3]=y[y.length-1]+(y[y.length-1]-y[y.length-2])/2);var B=1/(C-M),G=1/(L-A),N=b[0],j=b[1];this.shape=[N,j];var V=(h?(N-1)*(j-1):N*j)*(d.length>>>1);this.numVertices=V;for(var H=n.mallocUint8(4*V),ee=n.mallocFloat32(2*V),Q=n.mallocUint8(2*V),X=n.mallocUint32(V),Y=0,K=h?N-1:N,te=h?j-1:j,ie=0;ie max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform sampler2D dashTexture; +uniform float dashScale; +uniform float opacity; + +varying vec3 worldPosition; +varying float pixelArcLength; +varying vec4 fragColor; + +void main() { + if ( + outOfRange(clipBounds[0], clipBounds[1], worldPosition) || + fragColor.a * opacity == 0. + ) discard; + + float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r; + if(dashWeight < 0.5) { + discard; + } + gl_FragColor = fragColor * opacity; +} +`]),i=a([`precision highp float; +#define GLSLIFY 1 + +#define FLOAT_MAX 1.70141184e38 +#define FLOAT_MIN 1.17549435e-38 + +// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl +vec4 packFloat(float v) { + float av = abs(v); + + //Handle special cases + if(av < FLOAT_MIN) { + return vec4(0.0, 0.0, 0.0, 0.0); + } else if(v > FLOAT_MAX) { + return vec4(127.0, 128.0, 0.0, 0.0) / 255.0; + } else if(v < -FLOAT_MAX) { + return vec4(255.0, 128.0, 0.0, 0.0) / 255.0; + } + + vec4 c = vec4(0,0,0,0); + + //Compute exponent and mantissa + float e = floor(log2(av)); + float m = av * pow(2.0, -e) - 1.0; + + //Unpack mantissa + c[1] = floor(128.0 * m); + m -= c[1] / 128.0; + c[2] = floor(32768.0 * m); + m -= c[2] / 32768.0; + c[3] = floor(8388608.0 * m); + + //Unpack exponent + float ebias = e + 127.0; + c[0] = floor(ebias / 2.0); + ebias -= c[0] * 2.0; + c[1] += floor(ebias) * 128.0; + + //Unpack sign bit + c[0] += 128.0 * step(0.0, -v); + + //Scale back to range + return c / 255.0; +} + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform float pickId; +uniform vec3 clipBounds[2]; + +varying vec3 worldPosition; +varying float pixelArcLength; +varying vec4 fragColor; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard; + + gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz); +}`]),u=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];l.createShader=function(p){return r(p,n,o,null,u)},l.createPickShader=function(p){return r(p,n,i,null,u)}},6086:function(f,l,t){f.exports=function(M){var A=M.gl||M.scene&&M.scene.gl,C=x(A);C.attributes.position.location=0,C.attributes.nextPosition.location=1,C.attributes.arcLength.location=2,C.attributes.lineWidth.location=3,C.attributes.color.location=4;var L=d(A);L.attributes.position.location=0,L.attributes.nextPosition.location=1,L.attributes.arcLength.location=2,L.attributes.lineWidth.location=3,L.attributes.color.location=4;for(var P=a(A),I=r(A,[{buffer:P,size:3,offset:0,stride:48},{buffer:P,size:3,offset:12,stride:48},{buffer:P,size:1,offset:24,stride:48},{buffer:P,size:1,offset:28,stride:48},{buffer:P,size:4,offset:32,stride:48}]),R=p(new Array(1024),[256,1,4]),U=0;U<1024;++U)R.data[U]=255;var B=n(A,R);B.wrap=A.REPEAT;var G=new k(A,C,L,P,I,B);return G.update(M),G};var a=t(5827),r=t(2944),n=t(8931),o=new Uint8Array(4),i=new Float32Array(o.buffer),u=t(5070),p=t(5050),c=t(248),x=c.createShader,d=c.createPickShader,v=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function b(M,A){for(var C=0,L=0;L<3;++L){var P=M[L]-A[L];C+=P*P}return Math.sqrt(C)}function g(M){for(var A=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],C=0;C<3;++C)A[0][C]=Math.max(M[0][C],A[0][C]),A[1][C]=Math.min(M[1][C],A[1][C]);return A}function y(M,A,C,L){this.arcLength=M,this.position=A,this.index=C,this.dataCoordinate=L}function k(M,A,C,L,P,I){this.gl=M,this.shader=A,this.pickShader=C,this.buffer=L,this.vao=P,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=I,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var h=k.prototype;h.isTransparent=function(){return this.hasAlpha},h.isOpaque=function(){return!this.hasAlpha},h.pickSlots=1,h.setPickBase=function(M){this.pickId=M},h.drawTransparent=h.draw=function(M){if(this.vertexCount){var A=this.gl,C=this.shader,L=this.vao;C.bind(),C.uniforms={model:M.model||v,view:M.view||v,projection:M.projection||v,clipBounds:g(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[A.drawingBufferWidth,A.drawingBufferHeight],pixelRatio:this.pixelRatio},L.bind(),L.draw(A.TRIANGLE_STRIP,this.vertexCount),L.unbind()}},h.drawPick=function(M){if(this.vertexCount){var A=this.gl,C=this.pickShader,L=this.vao;C.bind(),C.uniforms={model:M.model||v,view:M.view||v,projection:M.projection||v,pickId:this.pickId,clipBounds:g(this.clipBounds),screenShape:[A.drawingBufferWidth,A.drawingBufferHeight],pixelRatio:this.pixelRatio},L.bind(),L.draw(A.TRIANGLE_STRIP,this.vertexCount),L.unbind()}},h.update=function(M){var A,C;this.dirty=!0;var L=!!M.connectGaps;"dashScale"in M&&(this.dashScale=M.dashScale),this.hasAlpha=!1,"opacity"in M&&(this.opacity=+M.opacity,this.opacity<1&&(this.hasAlpha=!0));var P=[],I=[],R=[],U=0,B=0,G=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],N=M.position||M.positions;if(N){var j=M.color||M.colors||[0,0,0,1],V=M.lineWidth||1,H=!1;e:for(A=1;A0){for(var te=0;te<24;++te)P.push(P[P.length-12]);B+=2,H=!0}continue e}G[0][C]=Math.min(G[0][C],Y[C],K[C]),G[1][C]=Math.max(G[1][C],Y[C],K[C])}Array.isArray(j[0])?(ee=j.length>A-1?j[A-1]:j.length>0?j[j.length-1]:[0,0,0,1],Q=j.length>A?j[A]:j.length>0?j[j.length-1]:[0,0,0,1]):ee=Q=j,ee.length===3&&(ee=[ee[0],ee[1],ee[2],1]),Q.length===3&&(Q=[Q[0],Q[1],Q[2],1]),!this.hasAlpha&&ee[3]<1&&(this.hasAlpha=!0),X=Array.isArray(V)?V.length>A-1?V[A-1]:V.length>0?V[V.length-1]:[0,0,0,1]:V;var ie=U;if(U+=b(Y,K),H){for(C=0;C<2;++C)P.push(Y[0],Y[1],Y[2],K[0],K[1],K[2],ie,X,ee[0],ee[1],ee[2],ee[3]);B+=2,H=!1}P.push(Y[0],Y[1],Y[2],K[0],K[1],K[2],ie,X,ee[0],ee[1],ee[2],ee[3],Y[0],Y[1],Y[2],K[0],K[1],K[2],ie,-X,ee[0],ee[1],ee[2],ee[3],K[0],K[1],K[2],Y[0],Y[1],Y[2],U,-X,Q[0],Q[1],Q[2],Q[3],K[0],K[1],K[2],Y[0],Y[1],Y[2],U,X,Q[0],Q[1],Q[2],Q[3]),B+=4}}if(this.buffer.update(P),I.push(U),R.push(N[N.length-1].slice()),this.bounds=G,this.vertexCount=B,this.points=R,this.arcLength=I,"dashes"in M){var oe=M.dashes.slice();for(oe.unshift(0),A=1;A1.0001)return null;C+=A[g]}return Math.abs(C-1)>.001?null:[y,i(u,A),A]}},2056:function(f,l,t){var a=t(6832),r=a([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position, normal; +attribute vec4 color; +attribute vec2 uv; + +uniform mat4 model + , view + , projection + , inverseModel; +uniform vec3 eyePosition + , lightPosition; + +varying vec3 f_normal + , f_lightDirection + , f_eyeDirection + , f_data; +varying vec4 f_color; +varying vec2 f_uv; + +vec4 project(vec3 p) { + return projection * view * model * vec4(p, 1.0); +} + +void main() { + gl_Position = project(position); + + //Lighting geometry parameters + vec4 cameraCoordinate = view * vec4(position , 1.0); + cameraCoordinate.xyz /= cameraCoordinate.w; + f_lightDirection = lightPosition - cameraCoordinate.xyz; + f_eyeDirection = eyePosition - cameraCoordinate.xyz; + f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz); + + f_color = color; + f_data = position; + f_uv = uv; +} +`]),n=a([`#extension GL_OES_standard_derivatives : enable + +precision highp float; +#define GLSLIFY 1 + +float beckmannDistribution(float x, float roughness) { + float NdotH = max(x, 0.0001); + float cos2Alpha = NdotH * NdotH; + float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha; + float roughness2 = roughness * roughness; + float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha; + return exp(tan2Alpha / roughness2) / denom; +} + +float cookTorranceSpecular( + vec3 lightDirection, + vec3 viewDirection, + vec3 surfaceNormal, + float roughness, + float fresnel) { + + float VdotN = max(dot(viewDirection, surfaceNormal), 0.0); + float LdotN = max(dot(lightDirection, surfaceNormal), 0.0); + + //Half angle vector + vec3 H = normalize(lightDirection + viewDirection); + + //Geometric term + float NdotH = max(dot(surfaceNormal, H), 0.0); + float VdotH = max(dot(viewDirection, H), 0.000001); + float LdotH = max(dot(lightDirection, H), 0.000001); + float G1 = (2.0 * NdotH * VdotN) / VdotH; + float G2 = (2.0 * NdotH * LdotN) / LdotH; + float G = min(1.0, min(G1, G2)); + + //Distribution term + float D = beckmannDistribution(NdotH, roughness); + + //Fresnel term + float F = pow(1.0 - VdotN, fresnel); + + //Multiply terms and done + return G * F * D / max(3.14159265 * VdotN, 0.000001); +} + +//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float roughness + , fresnel + , kambient + , kdiffuse + , kspecular; +uniform sampler2D texture; + +varying vec3 f_normal + , f_lightDirection + , f_eyeDirection + , f_data; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + if (f_color.a == 0.0 || + outOfRange(clipBounds[0], clipBounds[1], f_data) + ) discard; + + vec3 N = normalize(f_normal); + vec3 L = normalize(f_lightDirection); + vec3 V = normalize(f_eyeDirection); + + if(gl_FrontFacing) { + N = -N; + } + + float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel))); + //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d + + float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); + + vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv); + vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); + + gl_FragColor = litColor * f_color.a; +} +`]),o=a([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position; +attribute vec4 color; +attribute vec2 uv; + +uniform mat4 model, view, projection; + +varying vec4 f_color; +varying vec3 f_data; +varying vec2 f_uv; + +void main() { + gl_Position = projection * view * model * vec4(position, 1.0); + f_color = color; + f_data = position; + f_uv = uv; +}`]),i=a([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform sampler2D texture; +uniform float opacity; + +varying vec4 f_color; +varying vec3 f_data; +varying vec2 f_uv; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard; + + gl_FragColor = f_color * texture2D(texture, f_uv) * opacity; +}`]),u=a([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute vec4 color; +attribute vec2 uv; +attribute float pointSize; + +uniform mat4 model, view, projection; +uniform vec3 clipBounds[2]; + +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0); + } else { + gl_Position = projection * view * model * vec4(position, 1.0); + } + gl_PointSize = pointSize; + f_color = color; + f_uv = uv; +}`]),p=a([`precision highp float; +#define GLSLIFY 1 + +uniform sampler2D texture; +uniform float opacity; + +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5); + if(dot(pointR, pointR) > 0.25) { + discard; + } + gl_FragColor = f_color * texture2D(texture, f_uv) * opacity; +}`]),c=a([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position; +attribute vec4 id; + +uniform mat4 model, view, projection; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + gl_Position = projection * view * model * vec4(position, 1.0); + f_id = id; + f_position = position; +}`]),x=a([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float pickId; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + + gl_FragColor = vec4(pickId, f_id.xyz); +}`]),d=a([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute float pointSize; +attribute vec4 id; + +uniform mat4 model, view, projection; +uniform vec3 clipBounds[2]; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0.0, 0.0, 0.0, 0.0); + } else { + gl_Position = projection * view * model * vec4(position, 1.0); + gl_PointSize = pointSize; + } + f_id = id; + f_position = position; +}`]),v=a([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position; + +uniform mat4 model, view, projection; + +void main() { + gl_Position = projection * view * model * vec4(position, 1.0); +}`]),b=a([`precision highp float; +#define GLSLIFY 1 + +uniform vec3 contourColor; + +void main() { + gl_FragColor = vec4(contourColor, 1.0); +} +`]);l.meshShader={vertex:r,fragment:n,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},l.wireShader={vertex:o,fragment:i,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},l.pointShader={vertex:u,fragment:p,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},l.pickShader={vertex:c,fragment:x,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},l.pointPickShader={vertex:d,fragment:x,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},l.contourShader={vertex:v,fragment:b,attributes:[{name:"position",type:"vec3"}]}},8116:function(f,l,t){var a=t(5158),r=t(5827),n=t(2944),o=t(8931),i=t(115),u=t(104),p=t(7437),c=t(5050),x=t(9156),d=t(7212),v=t(5306),b=t(2056),g=t(4340),y=b.meshShader,k=b.wireShader,h=b.pointShader,M=b.pickShader,A=b.pointPickShader,C=b.contourShader,L=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function P(H,ee,Q,X,Y,K,te,ie,oe,se,ce,xe,pe,de,he,ye,ze,Te,Ae,Me,Ce,ne,ue,me,we,Ee,Ue){this.gl=H,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=ee,this.dirty=!0,this.triShader=Q,this.lineShader=X,this.pointShader=Y,this.pickShader=K,this.pointPickShader=te,this.contourShader=ie,this.trianglePositions=oe,this.triangleColors=ce,this.triangleNormals=pe,this.triangleUVs=xe,this.triangleIds=se,this.triangleVAO=de,this.triangleCount=0,this.lineWidth=1,this.edgePositions=he,this.edgeColors=ze,this.edgeUVs=Te,this.edgeIds=ye,this.edgeVAO=Ae,this.edgeCount=0,this.pointPositions=Me,this.pointColors=ne,this.pointUVs=ue,this.pointSizes=me,this.pointIds=Ce,this.pointVAO=we,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=Ee,this.contourVAO=Ue,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=L,this._view=L,this._projection=L,this._resolution=[1,1]}var I=P.prototype;function R(H,ee){if(!ee||!ee.length)return 1;for(var Q=0;QH&&Q>0){var X=(ee[Q][0]-H)/(ee[Q][0]-ee[Q-1][0]);return ee[Q][1]*(1-X)+X*ee[Q-1][1]}}return 1}function U(H){var ee=a(H,y.vertex,y.fragment);return ee.attributes.position.location=0,ee.attributes.color.location=2,ee.attributes.uv.location=3,ee.attributes.normal.location=4,ee}function B(H){var ee=a(H,k.vertex,k.fragment);return ee.attributes.position.location=0,ee.attributes.color.location=2,ee.attributes.uv.location=3,ee}function G(H){var ee=a(H,h.vertex,h.fragment);return ee.attributes.position.location=0,ee.attributes.color.location=2,ee.attributes.uv.location=3,ee.attributes.pointSize.location=4,ee}function N(H){var ee=a(H,M.vertex,M.fragment);return ee.attributes.position.location=0,ee.attributes.id.location=1,ee}function j(H){var ee=a(H,A.vertex,A.fragment);return ee.attributes.position.location=0,ee.attributes.id.location=1,ee.attributes.pointSize.location=4,ee}function V(H){var ee=a(H,C.vertex,C.fragment);return ee.attributes.position.location=0,ee}I.isOpaque=function(){return!this.hasAlpha},I.isTransparent=function(){return this.hasAlpha},I.pickSlots=1,I.setPickBase=function(H){this.pickId=H},I.highlight=function(H){if(H&&this.contourEnable){for(var ee=d(this.cells,this.intensity,H.intensity),Q=ee.cells,X=ee.vertexIds,Y=ee.vertexWeights,K=Q.length,te=v.mallocFloat32(6*K),ie=0,oe=0;oe0&&((se=this.triShader).bind(),se.uniforms=ie,this.triangleVAO.bind(),ee.drawArrays(ee.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&this.lineWidth>0&&((se=this.lineShader).bind(),se.uniforms=ie,this.edgeVAO.bind(),ee.lineWidth(this.lineWidth*this.pixelRatio),ee.drawArrays(ee.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((se=this.pointShader).bind(),se.uniforms=ie,this.pointVAO.bind(),ee.drawArrays(ee.POINTS,0,this.pointCount),this.pointVAO.unbind()),this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((se=this.contourShader).bind(),se.uniforms=ie,this.contourVAO.bind(),ee.drawArrays(ee.LINES,0,this.contourCount),this.contourVAO.unbind())},I.drawPick=function(H){H=H||{};for(var ee=this.gl,Q=H.model||L,X=H.view||L,Y=H.projection||L,K=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],te=0;te<3;++te)K[0][te]=Math.max(K[0][te],this.clipBounds[0][te]),K[1][te]=Math.min(K[1][te],this.clipBounds[1][te]);this._model=[].slice.call(Q),this._view=[].slice.call(X),this._projection=[].slice.call(Y),this._resolution=[ee.drawingBufferWidth,ee.drawingBufferHeight];var ie,oe={model:Q,view:X,projection:Y,clipBounds:K,pickId:this.pickId/255};(ie=this.pickShader).bind(),ie.uniforms=oe,this.triangleCount>0&&(this.triangleVAO.bind(),ee.drawArrays(ee.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),ee.lineWidth(this.lineWidth*this.pixelRatio),ee.drawArrays(ee.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((ie=this.pointPickShader).bind(),ie.uniforms=oe,this.pointVAO.bind(),ee.drawArrays(ee.POINTS,0,this.pointCount),this.pointVAO.unbind())},I.pick=function(H){if(!H||H.id!==this.pickId)return null;for(var ee=H.value[0]+256*H.value[1]+65536*H.value[2],Q=this.cells[ee],X=this.positions,Y=new Array(Q.length),K=0;KA[Y]&&(h.uniforms.dataAxis=p,h.uniforms.screenOffset=c,h.uniforms.color=G[y],h.uniforms.angle=N[y],C.drawArrays(C.TRIANGLES,A[Y],A[K]-A[Y]))),j[y]&&X&&(c[1^y]-=te*R*V[y],h.uniforms.dataAxis=x,h.uniforms.screenOffset=c,h.uniforms.color=H[y],h.uniforms.angle=ee[y],C.drawArrays(C.TRIANGLES,Q,X)),c[1^y]=te*L[2+(1^y)]-1,U[y+2]&&(c[1^y]+=te*R*B[y+2],YA[Y]&&(h.uniforms.dataAxis=p,h.uniforms.screenOffset=c,h.uniforms.color=G[y+2],h.uniforms.angle=N[y+2],C.drawArrays(C.TRIANGLES,A[Y],A[K]-A[Y]))),j[y+2]&&X&&(c[1^y]+=te*R*V[y+2],h.uniforms.dataAxis=x,h.uniforms.screenOffset=c,h.uniforms.color=H[y+2],h.uniforms.angle=ee[y+2],C.drawArrays(C.TRIANGLES,Q,X))}),g.drawTitle=function(){var y=[0,0],k=[0,0];return function(){var h=this.plot,M=this.shader,A=h.gl,C=h.screenBox,L=h.titleCenter,P=h.titleAngle,I=h.titleColor,R=h.pixelRatio;if(this.titleCount){for(var U=0;U<2;++U)k[U]=2*(L[U]*R-C[U])/(C[2+U]-C[U])-1;M.bind(),M.uniforms.dataAxis=y,M.uniforms.screenOffset=k,M.uniforms.angle=P,M.uniforms.color=I,A.drawArrays(A.TRIANGLES,this.titleOffset,this.titleCount)}}}(),g.bind=(d=[0,0],v=[0,0],b=[0,0],function(){var y=this.plot,k=this.shader,h=y._tickBounds,M=y.dataBox,A=y.screenBox,C=y.viewBox;k.bind();for(var L=0;L<2;++L){var P=h[L],I=h[L+2]-P,R=.5*(M[L+2]+M[L]),U=M[L+2]-M[L],B=C[L],G=C[L+2]-B,N=A[L],j=A[L+2]-N;v[L]=2*I/U*G/j,d[L]=2*(P-R)/U*G/j}b[1]=2*y.pixelRatio/(A[3]-A[1]),b[0]=b[1]*(A[3]-A[1])/(A[2]-A[0]),k.uniforms.dataScale=v,k.uniforms.dataShift=d,k.uniforms.textScale=b,this.vbo.bind(),k.attributes.textCoordinate.pointer()}),g.update=function(y){var k,h,M,A,C,L=[],P=y.ticks,I=y.bounds;for(C=0;C<2;++C){var R=[Math.floor(L.length/3)],U=[-1/0],B=P[C];for(k=0;k=0){var B=v[U]-g[U]*(v[U+2]-v[U])/(g[U+2]-g[U]);U===0?h.drawLine(B,v[1],B,v[3],R[U],I[U]):h.drawLine(v[0],B,v[2],B,R[U],I[U])}}for(U=0;U=0;--d)this.objects[d].dispose();for(this.objects.length=0,d=this.overlays.length-1;d>=0;--d)this.overlays[d].dispose();this.overlays.length=0,this.gl=null},p.addObject=function(d){this.objects.indexOf(d)<0&&(this.objects.push(d),this.setDirty())},p.removeObject=function(d){for(var v=this.objects,b=0;bMath.abs(A))d.rotate(P,0,0,-M*C*Math.PI*k.rotateSpeed/window.innerWidth);else if(!k._ortho){var I=-k.zoomSpeed*L*A/window.innerHeight*(P-d.lastT())/20;d.pan(P,0,0,b*(Math.exp(I)-1))}}},!0)},k.enableMouseListeners(),k};var a=t(8161),r=t(1152),n=t(6145),o=t(6475),i=t(2565),u=t(5233)},8245:function(f,l,t){var a=t(6832),r=t(5158),n=a([`precision mediump float; +#define GLSLIFY 1 +attribute vec2 position; +varying vec2 uv; +void main() { + uv = position; + gl_Position = vec4(position, 0, 1); +}`]),o=a([`precision mediump float; +#define GLSLIFY 1 + +uniform sampler2D accumBuffer; +varying vec2 uv; + +void main() { + vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0)); + gl_FragColor = min(vec4(1,1,1,1), accum); +}`]);f.exports=function(i){return r(i,n,o,null,[{name:"position",type:"vec2"}])}},1059:function(f,l,t){var a=t(4296),r=t(7453),n=t(2771),o=t(6496),i=t(2611),u=t(4234),p=t(8126),c=t(6145),x=t(1120),d=t(5268),v=t(8245),b=t(2321)({tablet:!0,featureDetect:!0});function g(){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 y(h){var M=Math.round(Math.log(Math.abs(h))/Math.log(10));if(M<0){var A=Math.round(Math.pow(10,-M));return Math.ceil(h*A)/A}return M>0?(A=Math.round(Math.pow(10,M)),Math.ceil(h/A)*A):Math.ceil(h)}function k(h){return typeof h!="boolean"||h}f.exports={createScene:function(h){(h=h||{}).camera=h.camera||{};var M=h.canvas;M||(M=document.createElement("canvas"),h.container?h.container.appendChild(M):document.body.appendChild(M));var A=h.gl;if(A||(h.glOptions&&(b=!!h.glOptions.preserveDrawingBuffer),A=function(ze,Te){var Ae=null;try{(Ae=ze.getContext("webgl",Te))||(Ae=ze.getContext("experimental-webgl",Te))}catch{return null}return Ae}(M,h.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:b})),!A)throw new Error("webgl not supported");var C=h.bounds||[[-10,-10,-10],[10,10,10]],L=new g,P=u(A,A.drawingBufferWidth,A.drawingBufferHeight,{preferFloat:!b}),I=v(A),R=h.cameraObject&&h.cameraObject._ortho===!0||h.camera.projection&&h.camera.projection.type==="orthographic"||!1,U={eye:h.camera.eye||[2,0,0],center:h.camera.center||[0,0,0],up:h.camera.up||[0,1,0],zoomMin:h.camera.zoomMax||.1,zoomMax:h.camera.zoomMin||100,mode:h.camera.mode||"turntable",_ortho:R},B=h.axes||{},G=r(A,B);G.enable=!B.disable;var N=h.spikes||{},j=o(A,N),V=[],H=[],ee=[],Q=[],X=!0,Y=!0,K={view:null,projection:new Array(16),model:new Array(16),_ortho:!1},te=(Y=!0,[A.drawingBufferWidth,A.drawingBufferHeight]),ie=h.cameraObject||a(M,U),oe={gl:A,contextLost:!1,pixelRatio:h.pixelRatio||1,canvas:M,selection:L,camera:ie,axes:G,axesPixels:null,spikes:j,bounds:C,objects:V,shape:te,aspect:h.aspectRatio||[1,1,1],pickRadius:h.pickRadius||10,zNear:h.zNear||.01,zFar:h.zFar||1e3,fovy:h.fovy||Math.PI/4,clearColor:h.clearColor||[0,0,0,0],autoResize:k(h.autoResize),autoBounds:k(h.autoBounds),autoScale:!!h.autoScale,autoCenter:k(h.autoCenter),clipToBounds:k(h.clipToBounds),snapToData:!!h.snapToData,onselect:h.onselect||null,onrender:h.onrender||null,onclick:h.onclick||null,cameraParams:K,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(ze){this.aspect[0]=ze.x,this.aspect[1]=ze.y,this.aspect[2]=ze.z,Y=!0},setBounds:function(ze,Te){this.bounds[0][ze]=Te.min,this.bounds[1][ze]=Te.max},setClearColor:function(ze){this.clearColor=ze},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)}},se=[A.drawingBufferWidth/oe.pixelRatio|0,A.drawingBufferHeight/oe.pixelRatio|0];function ce(){if(!oe._stopped&&oe.autoResize){var ze=M.parentNode,Te=1,Ae=1;ze&&ze!==document.body?(Te=ze.clientWidth,Ae=ze.clientHeight):(Te=window.innerWidth,Ae=window.innerHeight);var Me=0|Math.ceil(Te*oe.pixelRatio),Ce=0|Math.ceil(Ae*oe.pixelRatio);if(Me!==M.width||Ce!==M.height){M.width=Me,M.height=Ce;var ne=M.style;ne.position=ne.position||"absolute",ne.left="0px",ne.top="0px",ne.width=Te+"px",ne.height=Ae+"px",X=!0}}}function xe(){for(var ze=V.length,Te=Q.length,Ae=0;Ae0&&ee[Te-1]===0;)ee.pop(),Q.pop().dispose()}function pe(){if(oe.contextLost)return!0;A.isContextLost()&&(oe.contextLost=!0,oe.mouseListener.enabled=!1,oe.selection.object=null,oe.oncontextloss&&oe.oncontextloss())}oe.autoResize&&ce(),window.addEventListener("resize",ce),oe.update=function(ze){oe._stopped||(X=!0,Y=!0)},oe.add=function(ze){oe._stopped||(ze.axes=G,V.push(ze),H.push(-1),X=!0,Y=!0,xe())},oe.remove=function(ze){if(!oe._stopped){var Te=V.indexOf(ze);Te<0||(V.splice(Te,1),H.pop(),X=!0,Y=!0,xe())}},oe.dispose=function(){if(!oe._stopped&&(oe._stopped=!0,window.removeEventListener("resize",ce),M.removeEventListener("webglcontextlost",pe),oe.mouseListener.enabled=!1,!oe.contextLost)){G.dispose(),j.dispose();for(var ze=0;zeL.distance)continue;for(var Ee=0;Ee 1.0) { + discard; + } + baseColor = mix(borderColor, color, step(radius, centerFraction)); + gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a); + } +} +`]),l.pickVertex=a([`precision mediump float; +#define GLSLIFY 1 + +attribute vec2 position; +attribute vec4 pickId; + +uniform mat3 matrix; +uniform float pointSize; +uniform vec4 pickOffset; + +varying vec4 fragId; + +void main() { + vec3 hgPosition = matrix * vec3(position, 1); + gl_Position = vec4(hgPosition.xy, 0, hgPosition.z); + gl_PointSize = pointSize; + + vec4 id = pickId + pickOffset; + id.y += floor(id.x / 256.0); + id.x -= floor(id.x / 256.0) * 256.0; + + id.z += floor(id.y / 256.0); + id.y -= floor(id.y / 256.0) * 256.0; + + id.w += floor(id.z / 256.0); + id.z -= floor(id.z / 256.0) * 256.0; + + fragId = id; +} +`]),l.pickFragment=a([`precision mediump float; +#define GLSLIFY 1 + +varying vec4 fragId; + +void main() { + float radius = length(2.0 * gl_PointCoord.xy - 1.0); + if(radius > 1.0) { + discard; + } + gl_FragColor = fragId / 255.0; +} +`])},8271:function(f,l,t){var a=t(5158),r=t(5827),n=t(5306),o=t(8023);function i(x,d,v,b,g){this.plot=x,this.offsetBuffer=d,this.pickBuffer=v,this.shader=b,this.pickShader=g,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}f.exports=function(x,d){var v=x.gl,b=new i(x,r(v),r(v),a(v,o.pointVertex,o.pointFragment),a(v,o.pickVertex,o.pickFragment));return b.update(d),x.addObject(b),b};var u,p,c=i.prototype;c.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},c.update=function(x){var d;function v(A,C){return A in x?x[A]:C}x=x||{},this.sizeMin=v("sizeMin",.5),this.sizeMax=v("sizeMax",20),this.color=v("color",[1,0,0,1]).slice(),this.areaRatio=v("areaRatio",1),this.borderColor=v("borderColor",[0,0,0,1]).slice(),this.blend=v("blend",!1);var b=x.positions.length>>>1,g=x.positions instanceof Float32Array,y=x.idToIndex instanceof Int32Array&&x.idToIndex.length>=b,k=x.positions,h=g?k:n.mallocFloat32(k.length),M=y?x.idToIndex:n.mallocInt32(b);if(g||h.set(k),!y)for(h.set(k),d=0;d>>1;for(I=0;I=P[0]&&B<=P[2]&&G>=P[1]&&G<=P[3]&&R++}return R}(this.points,g),M=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(h,.33333)));u[0]=2/y,u[4]=2/k,u[6]=-2*g[0]/y-1,u[7]=-2*g[1]/k-1,this.offsetBuffer.bind(),v.bind(),v.attributes.position.pointer(),v.uniforms.matrix=u,v.uniforms.color=this.color,v.uniforms.borderColor=this.borderColor,v.uniforms.pointCloud=M<5,v.uniforms.pointSize=M,v.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),d&&(p[0]=255&x,p[1]=x>>8&255,p[2]=x>>16&255,p[3]=x>>24&255,this.pickBuffer.bind(),v.attributes.pickId.pointer(b.UNSIGNED_BYTE),v.uniforms.pickOffset=p,this.pickOffset=x);var A=b.getParameter(b.BLEND),C=b.getParameter(b.DITHER);return A&&!this.blend&&b.disable(b.BLEND),C&&b.disable(b.DITHER),b.drawArrays(b.POINTS,0,this.pointCount),A&&!this.blend&&b.enable(b.BLEND),C&&b.enable(b.DITHER),x+this.pointCount}),c.draw=c.unifiedDraw,c.drawPick=c.unifiedDraw,c.pick=function(x,d,v){var b=this.pickOffset,g=this.pointCount;if(v=b+g)return null;var y=v-b,k=this.points;return{object:this,pointId:y,dataCoord:[k[2*y],k[2*y+1]]}}},6093:function(f){f.exports=function(l,t,a,r){var n,o,i,u,p,c=t[0],x=t[1],d=t[2],v=t[3],b=a[0],g=a[1],y=a[2],k=a[3];return(o=c*b+x*g+d*y+v*k)<0&&(o=-o,b=-b,g=-g,y=-y,k=-k),1-o>1e-6?(n=Math.acos(o),i=Math.sin(n),u=Math.sin((1-r)*n)/i,p=Math.sin(r*n)/i):(u=1-r,p=r),l[0]=u*c+p*b,l[1]=u*x+p*g,l[2]=u*d+p*y,l[3]=u*v+p*k,l}},8240:function(f){f.exports=function(l){return l||l===0?l.toString():""}},4123:function(f,l,t){var a=t(875);f.exports=function(n,o,i){var u=r[o];if(u||(u=r[o]={}),n in u)return u[n];var p={textAlign:"center",textBaseline:"middle",lineHeight:1,font:o,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},c=a(n,p);p.triangles=!1;var x,d,v=a(n,p);if(i&&i!==1){for(x=0;x max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute vec4 color; +attribute vec2 glyph; +attribute vec4 id; + +uniform vec4 highlightId; +uniform float highlightScale; +uniform mat4 model, view, projection; +uniform vec3 clipBounds[2]; + +varying vec4 interpColor; +varying vec4 pickId; +varying vec3 dataCoordinate; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0,0,0,0); + } else { + float scale = 1.0; + if(distance(highlightId, id) < 0.0001) { + scale = highlightScale; + } + + vec4 worldPosition = model * vec4(position, 1); + vec4 viewPosition = view * worldPosition; + viewPosition = viewPosition / viewPosition.w; + vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0)); + + gl_Position = clipPosition; + interpColor = color; + pickId = id; + dataCoordinate = position; + } +}`]),o=r([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute vec4 color; +attribute vec2 glyph; +attribute vec4 id; + +uniform mat4 model, view, projection; +uniform vec2 screenSize; +uniform vec3 clipBounds[2]; +uniform float highlightScale, pixelRatio; +uniform vec4 highlightId; + +varying vec4 interpColor; +varying vec4 pickId; +varying vec3 dataCoordinate; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0,0,0,0); + } else { + float scale = pixelRatio; + if(distance(highlightId.bgr, id.bgr) < 0.001) { + scale *= highlightScale; + } + + vec4 worldPosition = model * vec4(position, 1.0); + vec4 viewPosition = view * worldPosition; + vec4 clipPosition = projection * viewPosition; + clipPosition /= clipPosition.w; + + gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0); + interpColor = color; + pickId = id; + dataCoordinate = position; + } +}`]),i=r([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute vec4 color; +attribute vec2 glyph; +attribute vec4 id; + +uniform float highlightScale; +uniform vec4 highlightId; +uniform vec3 axes[2]; +uniform mat4 model, view, projection; +uniform vec2 screenSize; +uniform vec3 clipBounds[2]; +uniform float scale, pixelRatio; + +varying vec4 interpColor; +varying vec4 pickId; +varying vec3 dataCoordinate; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0,0,0,0); + } else { + float lscale = pixelRatio * scale; + if(distance(highlightId, id) < 0.0001) { + lscale *= highlightScale; + } + + vec4 clipCenter = projection * view * model * vec4(position, 1); + vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y; + vec4 clipPosition = projection * view * model * vec4(dataPosition, 1); + + gl_Position = clipPosition; + interpColor = color; + pickId = id; + dataCoordinate = dataPosition; + } +} +`]),u=r([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 fragClipBounds[2]; +uniform float opacity; + +varying vec4 interpColor; +varying vec3 dataCoordinate; + +void main() { + if ( + outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) || + interpColor.a * opacity == 0. + ) discard; + gl_FragColor = interpColor * opacity; +} +`]),p=r([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 fragClipBounds[2]; +uniform float pickGroup; + +varying vec4 pickId; +varying vec3 dataCoordinate; + +void main() { + if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard; + + gl_FragColor = vec4(pickGroup, pickId.bgr); +}`]),c=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],x={vertex:n,fragment:u,attributes:c},d={vertex:o,fragment:u,attributes:c},v={vertex:i,fragment:u,attributes:c},b={vertex:n,fragment:p,attributes:c},g={vertex:o,fragment:p,attributes:c},y={vertex:i,fragment:p,attributes:c};function k(h,M){var A=a(h,M),C=A.attributes;return C.position.location=0,C.color.location=1,C.glyph.location=2,C.id.location=3,A}l.createPerspective=function(h){return k(h,x)},l.createOrtho=function(h){return k(h,d)},l.createProject=function(h){return k(h,v)},l.createPickPerspective=function(h){return k(h,b)},l.createPickOrtho=function(h){return k(h,g)},l.createPickProject=function(h){return k(h,y)}},2182:function(f,l,t){var a=t(3596),r=t(5827),n=t(2944),o=t(5306),i=t(104),u=t(9282),p=t(4123),c=t(8240),x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(H,ee){var Q=H[0],X=H[1],Y=H[2],K=H[3];return H[0]=ee[0]*Q+ee[4]*X+ee[8]*Y+ee[12]*K,H[1]=ee[1]*Q+ee[5]*X+ee[9]*Y+ee[13]*K,H[2]=ee[2]*Q+ee[6]*X+ee[10]*Y+ee[14]*K,H[3]=ee[3]*Q+ee[7]*X+ee[11]*Y+ee[15]*K,H}function v(H,ee,Q,X){return d(X,X),d(X,X),d(X,X)}function b(H,ee){this.index=H,this.dataCoordinate=this.position=ee}function g(H){return H===!0||H>1?1:H}function y(H,ee,Q,X,Y,K,te,ie,oe,se,ce,xe){this.gl=H,this.pixelRatio=1,this.shader=ee,this.orthoShader=Q,this.projectShader=X,this.pointBuffer=Y,this.colorBuffer=K,this.glyphBuffer=te,this.idBuffer=ie,this.vao=oe,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=se,this.pickOrthoShader=ce,this.pickProjectShader=xe,this.points=[],this._selectResult=new b(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}f.exports=function(H){var ee=H.gl,Q=u.createPerspective(ee),X=u.createOrtho(ee),Y=u.createProject(ee),K=u.createPickPerspective(ee),te=u.createPickOrtho(ee),ie=u.createPickProject(ee),oe=r(ee),se=r(ee),ce=r(ee),xe=r(ee),pe=new y(ee,Q,X,Y,oe,se,ce,xe,n(ee,[{buffer:oe,size:3,type:ee.FLOAT},{buffer:se,size:4,type:ee.FLOAT},{buffer:ce,size:2,type:ee.FLOAT},{buffer:xe,size:4,type:ee.UNSIGNED_BYTE,normalized:!0}]),K,te,ie);return pe.update(H),pe};var k=y.prototype;k.pickSlots=1,k.setPickBase=function(H){this.pickId=H},k.isTransparent=function(){if(this.hasAlpha)return!0;for(var H=0;H<3;++H)if(this.axesProject[H]&&this.projectHasAlpha)return!0;return!1},k.isOpaque=function(){if(!this.hasAlpha)return!0;for(var H=0;H<3;++H)if(this.axesProject[H]&&!this.projectHasAlpha)return!0;return!1};var h=[0,0],M=[0,0,0],A=[0,0,0],C=[0,0,0,1],L=[0,0,0,1],P=x.slice(),I=[0,0,0],R=[[0,0,0],[0,0,0]];function U(H){return H[0]=H[1]=H[2]=0,H}function B(H,ee){return H[0]=ee[0],H[1]=ee[1],H[2]=ee[2],H[3]=1,H}function G(H,ee,Q,X){return H[0]=ee[0],H[1]=ee[1],H[2]=ee[2],H[Q]=X,H}var N=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function j(H,ee,Q,X,Y,K,te){var ie=Q.gl;if((K===Q.projectHasAlpha||te)&&function(se,ce,xe,pe){var de,he=ce.axesProject,ye=ce.gl,ze=se.uniforms,Te=xe.model||x,Ae=xe.view||x,Me=xe.projection||x,Ce=ce.axesBounds,ne=function(st){for(var ot=R,ft=0;ft<2;++ft)for(var yt=0;yt<3;++yt)ot[ft][yt]=Math.max(Math.min(st[ft][yt],1e8),-1e8);return ot}(ce.clipBounds);de=ce.axes&&ce.axes.lastCubeProps?ce.axes.lastCubeProps.axis:[1,1,1],h[0]=2/ye.drawingBufferWidth,h[1]=2/ye.drawingBufferHeight,se.bind(),ze.view=Ae,ze.projection=Me,ze.screenSize=h,ze.highlightId=ce.highlightId,ze.highlightScale=ce.highlightScale,ze.clipBounds=ne,ze.pickGroup=ce.pickId/255,ze.pixelRatio=pe;for(var ue=0;ue<3;++ue)if(he[ue]){ze.scale=ce.projectScale[ue],ze.opacity=ce.projectOpacity[ue];for(var me=P,we=0;we<16;++we)me[we]=0;for(we=0;we<4;++we)me[5*we]=1;me[5*ue]=0,de[ue]<0?me[12+ue]=Ce[0][ue]:me[12+ue]=Ce[1][ue],i(me,Te,me),ze.model=me;var Ee=(ue+1)%3,Ue=(ue+2)%3,De=U(M),je=U(A);De[Ee]=1,je[Ue]=1;var ge=v(0,0,0,B(C,De)),be=v(0,0,0,B(L,je));if(Math.abs(ge[1])>Math.abs(be[1])){var Se=ge;ge=be,be=Se,Se=De,De=je,je=Se;var Ne=Ee;Ee=Ue,Ue=Ne}ge[0]<0&&(De[Ee]=-1),be[1]>0&&(je[Ue]=-1);var Ye=0,Ze=0;for(we=0;we<4;++we)Ye+=Math.pow(Te[4*Ee+we],2),Ze+=Math.pow(Te[4*Ue+we],2);De[Ee]/=Math.sqrt(Ye),je[Ue]/=Math.sqrt(Ze),ze.axes[0]=De,ze.axes[1]=je,ze.fragClipBounds[0]=G(I,ne[0],ue,-1e8),ze.fragClipBounds[1]=G(I,ne[1],ue,1e8),ce.vao.bind(),ce.vao.draw(ye.TRIANGLES,ce.vertexCount),ce.lineWidth>0&&(ye.lineWidth(ce.lineWidth*pe),ce.vao.draw(ye.LINES,ce.lineVertexCount,ce.vertexCount)),ce.vao.unbind()}}(ee,Q,X,Y),K===Q.hasAlpha||te){H.bind();var oe=H.uniforms;oe.model=X.model||x,oe.view=X.view||x,oe.projection=X.projection||x,h[0]=2/ie.drawingBufferWidth,h[1]=2/ie.drawingBufferHeight,oe.screenSize=h,oe.highlightId=Q.highlightId,oe.highlightScale=Q.highlightScale,oe.fragClipBounds=N,oe.clipBounds=Q.axes.bounds,oe.opacity=Q.opacity,oe.pickGroup=Q.pickId/255,oe.pixelRatio=Y,Q.vao.bind(),Q.vao.draw(ie.TRIANGLES,Q.vertexCount),Q.lineWidth>0&&(ie.lineWidth(Q.lineWidth*Y),Q.vao.draw(ie.LINES,Q.lineVertexCount,Q.vertexCount)),Q.vao.unbind()}}function V(H,ee,Q,X){var Y;Y=Array.isArray(H)?ee=this.pointCount||ee<0)return null;var Q=this.points[ee],X=this._selectResult;X.index=ee;for(var Y=0;Y<3;++Y)X.position[Y]=X.dataCoordinate[Y]=Q[Y];return X},k.highlight=function(H){if(H){var ee=H.index,Q=255&ee,X=ee>>8&255,Y=ee>>16&255;this.highlightId=[Q/255,X/255,Y/255,0]}else this.highlightId=[1,1,1,1]},k.update=function(H){if("perspective"in(H=H||{})&&(this.useOrtho=!H.perspective),"orthographic"in H&&(this.useOrtho=!!H.orthographic),"lineWidth"in H&&(this.lineWidth=H.lineWidth),"project"in H)if(Array.isArray(H.project))this.axesProject=H.project;else{var ee=!!H.project;this.axesProject=[ee,ee,ee]}if("projectScale"in H)if(Array.isArray(H.projectScale))this.projectScale=H.projectScale.slice();else{var Q=+H.projectScale;this.projectScale=[Q,Q,Q]}if(this.projectHasAlpha=!1,"projectOpacity"in H){Array.isArray(H.projectOpacity)?this.projectOpacity=H.projectOpacity.slice():(Q=+H.projectOpacity,this.projectOpacity=[Q,Q,Q]);for(var X=0;X<3;++X)this.projectOpacity[X]=g(this.projectOpacity[X]),this.projectOpacity[X]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in H&&(this.opacity=g(H.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var Y,K,te=H.position,ie=H.font||"normal",oe=H.alignment||[0,0];if(oe.length===2)Y=oe[0],K=oe[1];else for(Y=[],K=[],X=0;X0){var be=0,Se=Te,Ne=[0,0,0,1],Ye=[0,0,0,1],Ze=Array.isArray(pe)&&Array.isArray(pe[0]),st=Array.isArray(ye)&&Array.isArray(ye[0]);e:for(X=0;X0?1-we[0][0]:It<0?1+we[1][0]:1,Ft*=Ft>0?1-we[0][1]:Ft<0?1+we[1][1]:1],Nt=ue.cells||[],Je=ue.positions||[];for(ne=0;ne0){var R=c*h;b.drawBox(M-R,A-R,C+R,A+R,v),b.drawBox(M-R,L-R,C+R,L+R,v),b.drawBox(M-R,A-R,M+R,L+R,v),b.drawBox(C-R,A-R,C+R,L+R,v)}}}},i.update=function(u){u=u||{},this.innerFill=!!u.innerFill,this.outerFill=!!u.outerFill,this.innerColor=(u.innerColor||[0,0,0,.5]).slice(),this.outerColor=(u.outerColor||[0,0,0,.5]).slice(),this.borderColor=(u.borderColor||[0,0,0,1]).slice(),this.borderWidth=u.borderWidth||0,this.selectBox=(u.selectBox||this.selectBox).slice()},i.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},2611:function(f,l,t){f.exports=function(c,x){var d=x[0],v=x[1];return new u(c,a(c,d,v,{}),r.mallocUint8(d*v*4))};var a=t(4234),r=t(5306),n=t(5050),o=t(2288).nextPow2;function i(c,x,d,v,b){this.coord=[c,x],this.id=d,this.value=v,this.distance=b}function u(c,x,d){this.gl=c,this.fbo=x,this.buffer=d,this._readTimeout=null;var v=this;this._readCallback=function(){v.gl&&(x.bind(),c.readPixels(0,0,x.shape[0],x.shape[1],c.RGBA,c.UNSIGNED_BYTE,v.buffer),v._readTimeout=null)}}var p=u.prototype;Object.defineProperty(p,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(c){if(this.gl){this.fbo.shape=c;var x=this.fbo.shape[0],d=this.fbo.shape[1];if(d*x*4>this.buffer.length){r.free(this.buffer);for(var v=this.buffer=r.mallocUint8(o(d*x*4)),b=0;bb)for(d=b;dv)for(d=v;d=0){for(var G=0|B.type.charAt(B.type.length-1),N=new Array(G),j=0;j=0;)V+=1;U[P]=V}var H=new Array(b.length);function ee(){k.program=o.program(h,k._vref,k._fref,R,U);for(var Q=0;Q=0){if((A=h.charCodeAt(h.length-1)-48)<2||A>4)throw new a("","Invalid data type for attribute "+k+": "+h);i(p,c,M[0],d,A,v,k)}else{if(!(h.indexOf("mat")>=0))throw new a("","Unknown data type for attribute "+k+": "+h);var A;if((A=h.charCodeAt(h.length-1)-48)<2||A>4)throw new a("","Invalid data type for attribute "+k+": "+h);u(p,c,M,d,A,v,k)}}}return v};var a=t(9068);function r(p,c,x,d,v,b){this._gl=p,this._wrapper=c,this._index=x,this._locations=d,this._dimension=v,this._constFunc=b}var n=r.prototype;n.pointer=function(p,c,x,d){var v=this,b=v._gl,g=v._locations[v._index];b.vertexAttribPointer(g,v._dimension,p||b.FLOAT,!!c,x||0,d||0),b.enableVertexAttribArray(g)},n.set=function(p,c,x,d){return this._constFunc(this._locations[this._index],p,c,x,d)},Object.defineProperty(n,"location",{get:function(){return this._locations[this._index]},set:function(p){return p!==this._locations[this._index]&&(this._locations[this._index]=0|p,this._wrapper.program=null),0|p}});var o=[function(p,c,x){return x.length===void 0?p.vertexAttrib1f(c,x):p.vertexAttrib1fv(c,x)},function(p,c,x,d){return x.length===void 0?p.vertexAttrib2f(c,x,d):p.vertexAttrib2fv(c,x)},function(p,c,x,d,v){return x.length===void 0?p.vertexAttrib3f(c,x,d,v):p.vertexAttrib3fv(c,x)},function(p,c,x,d,v,b){return x.length===void 0?p.vertexAttrib4f(c,x,d,v,b):p.vertexAttrib4fv(c,x)}];function i(p,c,x,d,v,b,g){var y=o[v],k=new r(p,c,x,d,v,y);Object.defineProperty(b,g,{set:function(h){return p.disableVertexAttribArray(d[x]),y(p,d[x],h),h},get:function(){return k},enumerable:!0})}function u(p,c,x,d,v,b,g){for(var y=new Array(v),k=new Array(v),h=0;h4)throw new r("","Invalid uniform dimension type for matrix "+name+": "+N);i["uniformMatrix"+G+"fv"](c[L],!1,P);break}throw new r("","Unknown uniform data type for "+name+": "+N)}if((G=N.charCodeAt(N.length-1)-48)<2||G>4)throw new r("","Invalid data type");switch(N.charAt(0)){case"b":case"i":i["uniform"+G+"iv"](c[L],P);break;case"v":i["uniform"+G+"fv"](c[L],P);break;default:throw new r("","Unrecognized data type for vector "+name+": "+N)}}}}}}function d(y,k){if(typeof k!="object")return[[y,k]];var h=[];for(var M in k){var A=k[M],C=y;parseInt(M)+""===M?C+="["+M+"]":C+="."+M,typeof A=="object"?h.push.apply(h,d(C,A)):h.push([C,A])}return h}function v(y,k,h){if(typeof h=="object"){var M=b(h);Object.defineProperty(y,k,{get:n(M),set:x(h),enumerable:!0,configurable:!1})}else c[h]?Object.defineProperty(y,k,{get:(A=h,function(C,L,P){return C.getUniform(L.program,P[A])}),set:x(h),enumerable:!0,configurable:!1}):y[k]=function(C){switch(C){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var L=C.indexOf("vec");if(0<=L&&L<=1&&C.length===4+L){if((P=C.charCodeAt(C.length-1)-48)<2||P>4)throw new r("","Invalid data type");return C.charAt(0)==="b"?o(P,!1):o(P,0)}if(C.indexOf("mat")===0&&C.length===4){var P;if((P=C.charCodeAt(C.length-1)-48)<2||P>4)throw new r("","Invalid uniform dimension type for matrix "+name+": "+C);return o(P*P,0)}throw new r("","Unknown uniform data type for "+name+": "+C)}}(p[h].type);var A}function b(y){var k;if(Array.isArray(y)){k=new Array(y.length);for(var h=0;h1){u[0]in o||(o[u[0]]=[]),o=o[u[0]];for(var p=1;p1)for(var d=0;d"u"?t(4037):WeakMap),o=0;function i(x,d,v,b,g,y,k){this.id=x,this.src=d,this.type=v,this.shader=b,this.count=y,this.programs=[],this.cache=k}function u(x){this.gl=x,this.shaders=[{},{}],this.programs={}}i.prototype.dispose=function(){if(--this.count==0){for(var x=this.cache,d=x.gl,v=this.programs,b=0,g=v.length;b 0 U ||b|| > 0. + // Assign z = 0, x = -b, y = a: + // a*-b + b*a + c*0 = -ba + ba + 0 = 0 + if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { + return normalize(vec3(-v.y, v.x, 0.0)); + } else { + return normalize(vec3(0.0, v.z, -v.y)); + } +} + +// Calculate the tube vertex and normal at the given index. +// +// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d. +// +// Each tube segment is made up of a ring of vertices. +// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array. +// The indexes of tube segments run from 0 to 8. +// +vec3 getTubePosition(vec3 d, float index, out vec3 normal) { + float segmentCount = 8.0; + + float angle = 2.0 * 3.14159 * (index / segmentCount); + + vec3 u = getOrthogonalVector(d); + vec3 v = normalize(cross(u, d)); + + vec3 x = u * cos(angle) * length(d); + vec3 y = v * sin(angle) * length(d); + vec3 v3 = x + y; + + normal = normalize(v3); + + return v3; +} + +attribute vec4 vector; +attribute vec4 color, position; +attribute vec2 uv; + +uniform float vectorScale, tubeScale; +uniform mat4 model, view, projection, inverseModel; +uniform vec3 eyePosition, lightPosition; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + // Scale the vector magnitude to stay constant with + // model & view changes. + vec3 normal; + vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal); + vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); + + //Lighting geometry parameters + vec4 cameraCoordinate = view * tubePosition; + cameraCoordinate.xyz /= cameraCoordinate.w; + f_lightDirection = lightPosition - cameraCoordinate.xyz; + f_eyeDirection = eyePosition - cameraCoordinate.xyz; + f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz); + + // vec4 m_position = model * vec4(tubePosition, 1.0); + vec4 t_position = view * tubePosition; + gl_Position = projection * t_position; + + f_color = color; + f_data = tubePosition.xyz; + f_position = position.xyz; + f_uv = uv; +} +`]),n=a([`#extension GL_OES_standard_derivatives : enable + +precision highp float; +#define GLSLIFY 1 + +float beckmannDistribution(float x, float roughness) { + float NdotH = max(x, 0.0001); + float cos2Alpha = NdotH * NdotH; + float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha; + float roughness2 = roughness * roughness; + float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha; + return exp(tan2Alpha / roughness2) / denom; +} + +float cookTorranceSpecular( + vec3 lightDirection, + vec3 viewDirection, + vec3 surfaceNormal, + float roughness, + float fresnel) { + + float VdotN = max(dot(viewDirection, surfaceNormal), 0.0); + float LdotN = max(dot(lightDirection, surfaceNormal), 0.0); + + //Half angle vector + vec3 H = normalize(lightDirection + viewDirection); + + //Geometric term + float NdotH = max(dot(surfaceNormal, H), 0.0); + float VdotH = max(dot(viewDirection, H), 0.000001); + float LdotH = max(dot(lightDirection, H), 0.000001); + float G1 = (2.0 * NdotH * VdotN) / VdotH; + float G2 = (2.0 * NdotH * LdotN) / LdotH; + float G = min(1.0, min(G1, G2)); + + //Distribution term + float D = beckmannDistribution(NdotH, roughness); + + //Fresnel term + float F = pow(1.0 - VdotN, fresnel); + + //Multiply terms and done + return G * F * D / max(3.14159265 * VdotN, 0.000001); +} + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity; +uniform sampler2D texture; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + vec3 N = normalize(f_normal); + vec3 L = normalize(f_lightDirection); + vec3 V = normalize(f_eyeDirection); + + if(gl_FrontFacing) { + N = -N; + } + + float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel))); + float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); + + vec4 surfaceColor = f_color * texture2D(texture, f_uv); + vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); + + gl_FragColor = litColor * opacity; +} +`]),o=a([`precision highp float; + +precision highp float; +#define GLSLIFY 1 + +vec3 getOrthogonalVector(vec3 v) { + // Return up-vector for only-z vector. + // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0). + // From the above if-statement we have ||a|| > 0 U ||b|| > 0. + // Assign z = 0, x = -b, y = a: + // a*-b + b*a + c*0 = -ba + ba + 0 = 0 + if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { + return normalize(vec3(-v.y, v.x, 0.0)); + } else { + return normalize(vec3(0.0, v.z, -v.y)); + } +} + +// Calculate the tube vertex and normal at the given index. +// +// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d. +// +// Each tube segment is made up of a ring of vertices. +// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array. +// The indexes of tube segments run from 0 to 8. +// +vec3 getTubePosition(vec3 d, float index, out vec3 normal) { + float segmentCount = 8.0; + + float angle = 2.0 * 3.14159 * (index / segmentCount); + + vec3 u = getOrthogonalVector(d); + vec3 v = normalize(cross(u, d)); + + vec3 x = u * cos(angle) * length(d); + vec3 y = v * sin(angle) * length(d); + vec3 v3 = x + y; + + normal = normalize(v3); + + return v3; +} + +attribute vec4 vector; +attribute vec4 position; +attribute vec4 id; + +uniform mat4 model, view, projection; +uniform float tubeScale; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + vec3 normal; + vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal); + vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); + + gl_Position = projection * view * tubePosition; + f_id = id; + f_position = position.xyz; +} +`]),i=a([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float pickId; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + + gl_FragColor = vec4(pickId, f_id.xyz); +}`]);l.meshShader={vertex:r,fragment:n,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},l.pickShader={vertex:o,fragment:i,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7307:function(f,l,t){var a=t(2858),r=t(4020),n=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(x,d){var v,b=x.length;for(v=0;vd)return v-1}return v},i=function(x,d,v){return xv?v:x},u=function(x){var d=1/0;x.sort(function(y,k){return y-k});for(var v=x.length,b=1;bwe-1||Se>Ee-1||Ne>Ue-1)return a.create();var Ye,Ze,st,ot,ft,yt,Et=Ce[0][De],Tt=Ce[0][be],xt=Ce[1][je],Dt=Ce[1][Se],It=Ce[2][ge],Ft=(ne-Et)/(Tt-Et),qt=(ue-xt)/(Dt-xt),Nt=(me-It)/(Ce[2][Ne]-It);switch(isFinite(Ft)||(Ft=.5),isFinite(qt)||(qt=.5),isFinite(Nt)||(Nt=.5),Ae.reversedX&&(De=we-1-De,be=we-1-be),Ae.reversedY&&(je=Ee-1-je,Se=Ee-1-Se),Ae.reversedZ&&(ge=Ue-1-ge,Ne=Ue-1-Ne),Ae.filled){case 5:ft=ge,yt=Ne,st=je*Ue,ot=Se*Ue,Ye=De*Ue*Ee,Ze=be*Ue*Ee;break;case 4:ft=ge,yt=Ne,Ye=De*Ue,Ze=be*Ue,st=je*Ue*we,ot=Se*Ue*we;break;case 3:st=je,ot=Se,ft=ge*Ee,yt=Ne*Ee,Ye=De*Ee*Ue,Ze=be*Ee*Ue;break;case 2:st=je,ot=Se,Ye=De*Ee,Ze=be*Ee,ft=ge*Ee*we,yt=Ne*Ee*we;break;case 1:Ye=De,Ze=be,ft=ge*we,yt=Ne*we,st=je*we*Ue,ot=Se*we*Ue;break;default:Ye=De,Ze=be,st=je*we,ot=Se*we,ft=ge*we*Ee,yt=Ne*we*Ee}var Je=Me[Ye+st+ft],Ke=Me[Ye+st+yt],Ge=Me[Ye+ot+ft],nt=Me[Ye+ot+yt],ht=Me[Ze+st+ft],Oe=Me[Ze+st+yt],Be=Me[Ze+ot+ft],Qe=Me[Ze+ot+yt],ut=a.create(),pt=a.create(),bt=a.create(),Lt=a.create();a.lerp(ut,Je,ht,Ft),a.lerp(pt,Ke,Oe,Ft),a.lerp(bt,Ge,Be,Ft),a.lerp(Lt,nt,Qe,Ft);var Ct=a.create(),mt=a.create();a.lerp(Ct,ut,bt,qt),a.lerp(mt,pt,Lt,qt);var Ot=a.create();return a.lerp(Ot,Ct,mt,Nt),Ot}(ye,x,h)},A=x.getDivergence||function(ye,ze){var Te=a.create(),Ae=1e-4;a.add(Te,ye,[Ae,0,0]);var Me=M(Te);a.subtract(Me,Me,ze),a.scale(Me,Me,1/Ae),a.add(Te,ye,[0,Ae,0]);var Ce=M(Te);a.subtract(Ce,Ce,ze),a.scale(Ce,Ce,1/Ae),a.add(Te,ye,[0,0,Ae]);var ne=M(Te);return a.subtract(ne,ne,ze),a.scale(ne,ne,1/Ae),a.add(Te,Me,Ce),a.add(Te,Te,ne),Te},C=[],L=d[0][0],P=d[0][1],I=d[0][2],R=d[1][0],U=d[1][1],B=d[1][2],G=function(ye){var ze=ye[0],Te=ye[1],Ae=ye[2];return!(zeR||TeU||AeB)},N=10*a.distance(d[0],d[1])/b,j=N*N,V=1,H=0,ee=v.length;ee>1&&(V=function(ye){for(var ze=[],Te=[],Ae=[],Me={},Ce={},ne={},ue=ye.length,me=0;meH&&(H=ce),oe.push(ce),C.push({points:Y,velocities:K,divergences:oe});for(var xe=0;xe<100*b&&Y.lengthj&&a.scale(pe,pe,N/Math.sqrt(de)),a.add(pe,pe,X),te=M(pe),a.squaredDistance(ie,pe)-j>-1e-4*j&&(Y.push(pe),ie=pe,K.push(te),se=A(pe,te),ce=a.length(se),isFinite(ce)&&ce>H&&(H=ce),oe.push(ce)),X=pe}}var he=function(ye,ze,Te,Ae){for(var Me=0,Ce=0;Ce0)for(ut=0;ut<8;ut++){var pt=(ut+1)%8;xt.push(Ft[ut],qt[ut],qt[pt],qt[pt],Ft[pt],Ft[ut]),It.push(nt,Ge,Ge,Ge,nt,nt),Nt.push(Je,Ke,Ke,Ke,Je,Je);var bt=xt.length;Dt.push([bt-6,bt-5,bt-4],[bt-3,bt-2,bt-1])}var Lt=Ft;Ft=qt,qt=Lt;var Ct=nt;nt=Ge,Ge=Ct;var mt=Je;Je=Ke,Ke=mt}return{positions:xt,cells:Dt,vectors:It,vertexIntensity:Nt}}(Ye,Te,Ae,Me)}),we=[],Ee=[],Ue=[],De=[];for(Ce=0;Ce max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 lowerBound, upperBound; +uniform float contourTint; +uniform vec4 contourColor; +uniform sampler2D colormap; +uniform vec3 clipBounds[2]; +uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity; +uniform float vertexColor; + +varying float value, kill; +varying vec3 worldCoordinate; +varying vec3 lightDirection, eyeDirection, surfaceNormal; +varying vec4 vColor; + +void main() { + if ( + kill > 0.0 || + vColor.a == 0.0 || + outOfRange(clipBounds[0], clipBounds[1], worldCoordinate) + ) discard; + + vec3 N = normalize(surfaceNormal); + vec3 V = normalize(eyeDirection); + vec3 L = normalize(lightDirection); + + if(gl_FrontFacing) { + N = -N; + } + + float specular = max(beckmannSpecular(L, V, N, roughness), 0.); + float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); + + //decide how to interpolate color — in vertex or in fragment + vec4 surfaceColor = + step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + + step(.5, vertexColor) * vColor; + + vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); + + gl_FragColor = mix(litColor, contourColor, contourTint) * opacity; +} +`]),i=r([`precision highp float; +#define GLSLIFY 1 + +attribute vec4 uv; +attribute float f; + +uniform vec3 objectOffset; +uniform mat3 permutation; +uniform mat4 model, view, projection; +uniform float height, zOffset; +uniform sampler2D colormap; + +varying float value, kill; +varying vec3 worldCoordinate; +varying vec2 planeCoordinate; +varying vec3 lightDirection, eyeDirection, surfaceNormal; +varying vec4 vColor; + +void main() { + vec3 dataCoordinate = permutation * vec3(uv.xy, height); + worldCoordinate = objectOffset + dataCoordinate; + vec4 worldPosition = model * vec4(worldCoordinate, 1.0); + + vec4 clipPosition = projection * view * worldPosition; + clipPosition.z += zOffset; + + gl_Position = clipPosition; + value = f + objectOffset.z; + kill = -1.0; + planeCoordinate = uv.zw; + + vColor = texture2D(colormap, vec2(value, value)); + + //Don't do lighting for contours + surfaceNormal = vec3(1,0,0); + eyeDirection = vec3(0,1,0); + lightDirection = vec3(0,0,1); +} +`]),u=r([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec2 shape; +uniform vec3 clipBounds[2]; +uniform float pickId; + +varying float value, kill; +varying vec3 worldCoordinate; +varying vec2 planeCoordinate; +varying vec3 surfaceNormal; + +vec2 splitFloat(float v) { + float vh = 255.0 * v; + float upper = floor(vh); + float lower = fract(vh); + return vec2(upper / 255.0, floor(lower * 16.0) / 16.0); +} + +void main() { + if ((kill > 0.0) || + (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard; + + vec2 ux = splitFloat(planeCoordinate.x / shape.x); + vec2 uy = splitFloat(planeCoordinate.y / shape.y); + gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0)); +} +`]);l.createShader=function(p){var c=a(p,n,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return c.attributes.uv.location=0,c.attributes.f.location=1,c.attributes.normal.location=2,c},l.createPickShader=function(p){var c=a(p,n,u,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return c.attributes.uv.location=0,c.attributes.f.location=1,c.attributes.normal.location=2,c},l.createContourShader=function(p){var c=a(p,i,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return c.attributes.uv.location=0,c.attributes.f.location=1,c},l.createPickContourShader=function(p){var c=a(p,i,u,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return c.attributes.uv.location=0,c.attributes.f.location=1,c}},3754:function(f,l,t){f.exports=function(ie){var oe=ie.gl,se=h(oe),ce=A(oe),xe=M(oe),pe=C(oe),de=r(oe),he=n(oe,[{buffer:de,size:4,stride:40,offset:0},{buffer:de,size:3,stride:40,offset:16},{buffer:de,size:3,stride:40,offset:28}]),ye=r(oe),ze=n(oe,[{buffer:ye,size:4,stride:20,offset:0},{buffer:ye,size:1,stride:20,offset:16}]),Te=r(oe),Ae=n(oe,[{buffer:Te,size:2,type:oe.FLOAT}]),Me=o(oe,1,256,oe.RGBA,oe.UNSIGNED_BYTE);Me.minFilter=oe.LINEAR,Me.magFilter=oe.LINEAR;var Ce=new U(oe,[0,0],[[0,0,0],[0,0,0]],se,ce,de,he,Me,xe,pe,ye,ze,Te,Ae,[0,0,0]),ne={levels:[[],[],[]]};for(var ue in ie)ne[ue]=ie[ue];return ne.colormap=ne.colormap||"jet",Ce.update(ne),Ce};var a=t(2288),r=t(5827),n=t(2944),o=t(8931),i=t(5306),u=t(9156),p=t(7498),c=t(7382),x=t(5050),d=t(4162),v=t(104),b=t(7437),g=t(5070),y=t(9144),k=t(9054),h=k.createShader,M=k.createContourShader,A=k.createPickShader,C=k.createPickContourShader,L=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],P=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],I=[[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 R(ie,oe,se,ce,xe){this.position=ie,this.index=oe,this.uv=se,this.level=ce,this.dataCoordinate=xe}function U(ie,oe,se,ce,xe,pe,de,he,ye,ze,Te,Ae,Me,Ce,ne){this.gl=ie,this.shape=oe,this.bounds=se,this.objectOffset=ne,this.intensityBounds=[],this._shader=ce,this._pickShader=xe,this._coordinateBuffer=pe,this._vao=de,this._colorMap=he,this._contourShader=ye,this._contourPickShader=ze,this._contourBuffer=Te,this._contourVAO=Ae,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new R([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=Me,this._dynamicVAO=Ce,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[x(i.mallocFloat(1024),[0,0]),x(i.mallocFloat(1024),[0,0]),x(i.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}(function(){for(var ie=0;ie<3;++ie){var oe=I[ie],se=(ie+2)%3;oe[(ie+1)%3+0]=1,oe[se+3]=1,oe[ie+6]=1}})();var B=U.prototype;B.genColormap=function(ie,oe){var se=!1,ce=c([u({colormap:ie,nshades:256,format:"rgba"}).map(function(xe,pe){var de=oe?function(he,ye){if(!ye||!ye.length)return 1;for(var ze=0;zehe&&ze>0){var Te=(ye[ze][0]-he)/(ye[ze][0]-ye[ze-1][0]);return ye[ze][1]*(1-Te)+Te*ye[ze-1][1]}}return 1}(pe/255,oe):xe[3];return de<1&&(se=!0),[xe[0],xe[1],xe[2],255*de]})]);return p.divseq(ce,255),this.hasAlphaScale=se,ce},B.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},B.isOpaque=function(){return!this.isTransparent()},B.pickSlots=1,B.setPickBase=function(ie){this.pickId=ie};var G=[0,0,0],N={showSurface:!1,showContour:!1,projections:[L.slice(),L.slice(),L.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function j(ie,oe){var se,ce,xe,pe=oe.axes&&oe.axes.lastCubeProps.axis||G,de=oe.showSurface,he=oe.showContour;for(se=0;se<3;++se)for(de=de||oe.surfaceProject[se],ce=0;ce<3;++ce)he=he||oe.contourProject[se][ce];for(se=0;se<3;++se){var ye=N.projections[se];for(ce=0;ce<16;++ce)ye[ce]=0;for(ce=0;ce<4;++ce)ye[5*ce]=1;ye[5*se]=0,ye[12+se]=oe.axesBounds[+(pe[se]>0)][se],v(ye,ie.model,ye);var ze=N.clipBounds[se];for(xe=0;xe<2;++xe)for(ce=0;ce<3;++ce)ze[xe][ce]=ie.clipBounds[xe][ce];ze[0][se]=-1e8,ze[1][se]=1e8}return N.showSurface=de,N.showContour=he,N}var V={model:L,view:L,projection:L,inverseModel:L.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},H=L.slice(),ee=[1,0,0,0,1,0,0,0,1];function Q(ie,oe){ie=ie||{};var se=this.gl;se.disable(se.CULL_FACE),this._colorMap.bind(0);var ce=V;ce.model=ie.model||L,ce.view=ie.view||L,ce.projection=ie.projection||L,ce.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],ce.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],ce.objectOffset=this.objectOffset,ce.contourColor=this.contourColor[0],ce.inverseModel=b(ce.inverseModel,ce.model);for(var xe=0;xe<2;++xe)for(var pe=ce.clipBounds[xe],de=0;de<3;++de)pe[de]=Math.min(Math.max(this.clipBounds[xe][de],-1e8),1e8);ce.kambient=this.ambientLight,ce.kdiffuse=this.diffuseLight,ce.kspecular=this.specularLight,ce.roughness=this.roughness,ce.fresnel=this.fresnel,ce.opacity=this.opacity,ce.height=0,ce.permutation=ee,ce.vertexColor=this.vertexColor;var he=H;for(v(he,ce.view,ce.model),v(he,ce.projection,he),b(he,he),xe=0;xe<3;++xe)ce.eyePosition[xe]=he[12+xe]/he[15];var ye=he[15];for(xe=0;xe<3;++xe)ye+=this.lightPosition[xe]*he[4*xe+3];for(xe=0;xe<3;++xe){var ze=he[12+xe];for(de=0;de<3;++de)ze+=he[4*de+xe]*this.lightPosition[de];ce.lightPosition[xe]=ze/ye}var Te=j(ce,this);if(Te.showSurface){for(this._shader.bind(),this._shader.uniforms=ce,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(se.TRIANGLES,this._vertexCount),xe=0;xe<3;++xe)this.surfaceProject[xe]&&this.vertexCount&&(this._shader.uniforms.model=Te.projections[xe],this._shader.uniforms.clipBounds=Te.clipBounds[xe],this._vao.draw(se.TRIANGLES,this._vertexCount));this._vao.unbind()}if(Te.showContour){var Ae=this._contourShader;ce.kambient=1,ce.kdiffuse=0,ce.kspecular=0,ce.opacity=1,Ae.bind(),Ae.uniforms=ce;var Me=this._contourVAO;for(Me.bind(),xe=0;xe<3;++xe)for(Ae.uniforms.permutation=I[xe],se.lineWidth(this.contourWidth[xe]*this.pixelRatio),de=0;de>4)/16)/255,xe=Math.floor(ce),pe=ce-xe,de=oe[1]*(ie.value[1]+(15&ie.value[2])/16)/255,he=Math.floor(de),ye=de-he;xe+=1,he+=1;var ze=se.position;ze[0]=ze[1]=ze[2]=0;for(var Te=0;Te<2;++Te)for(var Ae=Te?pe:1-pe,Me=0;Me<2;++Me)for(var Ce=xe+Te,ne=he+Me,ue=Ae*(Me?ye:1-ye),me=0;me<3;++me)ze[me]+=this._field[me].get(Ce,ne)*ue;for(var we=this._pickResult.level,Ee=0;Ee<3;++Ee)if(we[Ee]=g.le(this.contourLevels[Ee],ze[Ee]),we[Ee]<0)this.contourLevels[Ee].length>0&&(we[Ee]=0);else if(we[Ee]Math.abs(De-ze[Ee])&&(we[Ee]+=1)}for(se.index[0]=pe<.5?xe:xe+1,se.index[1]=ye<.5?he:he+1,se.uv[0]=ce/oe[0],se.uv[1]=de/oe[1],me=0;me<3;++me)se.dataCoordinate[me]=this._field[me].get(se.index[0],se.index[1]);return se},B.padField=function(ie,oe){var se=oe.shape.slice(),ce=ie.shape.slice();p.assign(ie.lo(1,1).hi(se[0],se[1]),oe),p.assign(ie.lo(1).hi(se[0],1),oe.hi(se[0],1)),p.assign(ie.lo(1,ce[1]-1).hi(se[0],1),oe.lo(0,se[1]-1).hi(se[0],1)),p.assign(ie.lo(0,1).hi(1,se[1]),oe.hi(1)),p.assign(ie.lo(ce[0]-1,1).hi(1,se[1]),oe.lo(se[0]-1)),ie.set(0,0,oe.get(0,0)),ie.set(0,ce[1]-1,oe.get(0,se[1]-1)),ie.set(ce[0]-1,0,oe.get(se[0]-1,0)),ie.set(ce[0]-1,ce[1]-1,oe.get(se[0]-1,se[1]-1))},B.update=function(ie){ie=ie||{},this.objectOffset=ie.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in ie&&(this.contourWidth=Y(ie.contourWidth,Number)),"showContour"in ie&&(this.showContour=Y(ie.showContour,Boolean)),"showSurface"in ie&&(this.showSurface=!!ie.showSurface),"contourTint"in ie&&(this.contourTint=Y(ie.contourTint,Boolean)),"contourColor"in ie&&(this.contourColor=te(ie.contourColor)),"contourProject"in ie&&(this.contourProject=Y(ie.contourProject,function(wn){return Y(wn,Boolean)})),"surfaceProject"in ie&&(this.surfaceProject=ie.surfaceProject),"dynamicColor"in ie&&(this.dynamicColor=te(ie.dynamicColor)),"dynamicTint"in ie&&(this.dynamicTint=Y(ie.dynamicTint,Number)),"dynamicWidth"in ie&&(this.dynamicWidth=Y(ie.dynamicWidth,Number)),"opacity"in ie&&(this.opacity=ie.opacity),"opacityscale"in ie&&(this.opacityscale=ie.opacityscale),"colorBounds"in ie&&(this.colorBounds=ie.colorBounds),"vertexColor"in ie&&(this.vertexColor=ie.vertexColor?1:0),"colormap"in ie&&this._colorMap.setPixels(this.genColormap(ie.colormap,this.opacityscale));var oe=ie.field||ie.coords&&ie.coords[2]||null,se=!1;if(oe||(oe=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 ie||"coords"in ie){var ce=(oe.shape[0]+2)*(oe.shape[1]+2);ce>this._field[2].data.length&&(i.freeFloat(this._field[2].data),this._field[2].data=i.mallocFloat(a.nextPow2(ce))),this._field[2]=x(this._field[2].data,[oe.shape[0]+2,oe.shape[1]+2]),this.padField(this._field[2],oe),this.shape=oe.shape.slice();for(var xe=this.shape,pe=0;pe<2;++pe)this._field[2].size>this._field[pe].data.length&&(i.freeFloat(this._field[pe].data),this._field[pe].data=i.mallocFloat(this._field[2].size)),this._field[pe]=x(this._field[pe].data,[xe[0]+2,xe[1]+2]);if(ie.coords){var de=ie.coords;if(!Array.isArray(de)||de.length!==3)throw new Error("gl-surface: invalid coordinates for x/y");for(pe=0;pe<2;++pe){var he=de[pe];for(Me=0;Me<2;++Me)if(he.shape[Me]!==xe[Me])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[pe],he)}}else if(ie.ticks){var ye=ie.ticks;if(!Array.isArray(ye)||ye.length!==2)throw new Error("gl-surface: invalid ticks");for(pe=0;pe<2;++pe){var ze=ye[pe];if((Array.isArray(ze)||ze.length)&&(ze=x(ze)),ze.shape[0]!==xe[pe])throw new Error("gl-surface: invalid tick length");var Te=x(ze.data,xe);Te.stride[pe]=ze.stride[0],Te.stride[1^pe]=0,this.padField(this._field[pe],Te)}}else{for(pe=0;pe<2;++pe){var Ae=[0,0];Ae[pe]=1,this._field[pe]=x(this._field[pe].data,[xe[0]+2,xe[1]+2],Ae,0)}this._field[0].set(0,0,0);for(var Me=0;Me0){for(var kn=0;kn<5;++kn)ht.pop();Tt-=1}continue e}ht.push(pt[0],pt[1],Ct[0],Ct[1],pt[2]),Tt+=1}}ut.push(Tt)}this._contourOffsets[Oe]=Qe,this._contourCounts[Oe]=ut}var Wn=i.mallocFloat(ht.length);for(pe=0;peI||L<0||L>I)throw new Error("gl-texture2d: Invalid texture size");return A._shape=[C,L],A.bind(),P.texImage2D(P.TEXTURE_2D,0,A.format,C,L,0,A.format,A.type,null),A._mipLevels=[0],A}function v(A,C,L,P,I,R){this.gl=A,this.handle=C,this.format=I,this.type=R,this._shape=[L,P],this._mipLevels=[0],this._magFilter=A.NEAREST,this._minFilter=A.NEAREST,this._wrapS=A.CLAMP_TO_EDGE,this._wrapT=A.CLAMP_TO_EDGE,this._anisoSamples=1;var U=this,B=[this._wrapS,this._wrapT];Object.defineProperties(B,[{get:function(){return U._wrapS},set:function(N){return U.wrapS=N}},{get:function(){return U._wrapT},set:function(N){return U.wrapT=N}}]),this._wrapVector=B;var G=[this._shape[0],this._shape[1]];Object.defineProperties(G,[{get:function(){return U._shape[0]},set:function(N){return U.width=N}},{get:function(){return U._shape[1]},set:function(N){return U.height=N}}]),this._shapeVector=G}var b=v.prototype;function g(A,C){return A.length===3?C[2]===1&&C[1]===A[0]*A[2]&&C[0]===A[2]:C[0]===1&&C[1]===A[0]}function y(A){var C=A.createTexture();return A.bindTexture(A.TEXTURE_2D,C),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MIN_FILTER,A.NEAREST),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MAG_FILTER,A.NEAREST),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),C}function k(A,C,L,P,I){var R=A.getParameter(A.MAX_TEXTURE_SIZE);if(C<0||C>R||L<0||L>R)throw new Error("gl-texture2d: Invalid texture shape");if(I===A.FLOAT&&!A.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var U=y(A);return A.texImage2D(A.TEXTURE_2D,0,P,C,L,0,P,I,null),new v(A,U,C,L,P,I)}function h(A,C,L,P,I,R){var U=y(A);return A.texImage2D(A.TEXTURE_2D,0,I,I,R,C),new v(A,U,L,P,I,R)}function M(A,C){var L=C.dtype,P=C.shape.slice(),I=A.getParameter(A.MAX_TEXTURE_SIZE);if(P[0]<0||P[0]>I||P[1]<0||P[1]>I)throw new Error("gl-texture2d: Invalid texture size");var R=g(P,C.stride.slice()),U=0;L==="float32"?U=A.FLOAT:L==="float64"?(U=A.FLOAT,R=!1,L="float32"):L==="uint8"?U=A.UNSIGNED_BYTE:(U=A.UNSIGNED_BYTE,R=!1,L="uint8");var B,G,N=0;if(P.length===2)N=A.LUMINANCE,P=[P[0],P[1],1],C=a(C.data,P,[C.stride[0],C.stride[1],1],C.offset);else{if(P.length!==3)throw new Error("gl-texture2d: Invalid shape for texture");if(P[2]===1)N=A.ALPHA;else if(P[2]===2)N=A.LUMINANCE_ALPHA;else if(P[2]===3)N=A.RGB;else{if(P[2]!==4)throw new Error("gl-texture2d: Invalid shape for pixel coords");N=A.RGBA}}U!==A.FLOAT||A.getExtension("OES_texture_float")||(U=A.UNSIGNED_BYTE,R=!1);var j=C.size;if(R)B=C.offset===0&&C.data.length===j?C.data:C.data.subarray(C.offset,C.offset+j);else{var V=[P[2],P[2]*P[0],1];G=n.malloc(j,L);var H=a(G,P,V,0);L!=="float32"&&L!=="float64"||U!==A.UNSIGNED_BYTE?r.assign(H,C):x(H,C),B=G.subarray(0,j)}var ee=y(A);return A.texImage2D(A.TEXTURE_2D,0,N,P[0],P[1],0,N,U,B),R||n.free(G),new v(A,ee,P[0],P[1],N,U)}Object.defineProperties(b,{minFilter:{get:function(){return this._minFilter},set:function(A){this.bind();var C=this.gl;if(this.type===C.FLOAT&&o.indexOf(A)>=0&&(C.getExtension("OES_texture_float_linear")||(A=C.NEAREST)),i.indexOf(A)<0)throw new Error("gl-texture2d: Unknown filter mode "+A);return C.texParameteri(C.TEXTURE_2D,C.TEXTURE_MIN_FILTER,A),this._minFilter=A}},magFilter:{get:function(){return this._magFilter},set:function(A){this.bind();var C=this.gl;if(this.type===C.FLOAT&&o.indexOf(A)>=0&&(C.getExtension("OES_texture_float_linear")||(A=C.NEAREST)),i.indexOf(A)<0)throw new Error("gl-texture2d: Unknown filter mode "+A);return C.texParameteri(C.TEXTURE_2D,C.TEXTURE_MAG_FILTER,A),this._magFilter=A}},mipSamples:{get:function(){return this._anisoSamples},set:function(A){var C=this._anisoSamples;if(this._anisoSamples=0|Math.max(A,1),C!==this._anisoSamples){var L=this.gl.getExtension("EXT_texture_filter_anisotropic");L&&this.gl.texParameterf(this.gl.TEXTURE_2D,L.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(A){if(this.bind(),u.indexOf(A)<0)throw new Error("gl-texture2d: Unknown wrap mode "+A);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,A),this._wrapS=A}},wrapT:{get:function(){return this._wrapT},set:function(A){if(this.bind(),u.indexOf(A)<0)throw new Error("gl-texture2d: Unknown wrap mode "+A);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,A),this._wrapT=A}},wrap:{get:function(){return this._wrapVector},set:function(A){if(Array.isArray(A)||(A=[A,A]),A.length!==2)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var C=0;C<2;++C)if(u.indexOf(A[C])<0)throw new Error("gl-texture2d: Unknown wrap mode "+A);this._wrapS=A[0],this._wrapT=A[1];var L=this.gl;return this.bind(),L.texParameteri(L.TEXTURE_2D,L.TEXTURE_WRAP_S,this._wrapS),L.texParameteri(L.TEXTURE_2D,L.TEXTURE_WRAP_T,this._wrapT),A}},shape:{get:function(){return this._shapeVector},set:function(A){if(Array.isArray(A)){if(A.length!==2)throw new Error("gl-texture2d: Invalid texture shape")}else A=[0|A,0|A];return d(this,0|A[0],0|A[1]),[0|A[0],0|A[1]]}},width:{get:function(){return this._shape[0]},set:function(A){return d(this,A|=0,this._shape[1]),A}},height:{get:function(){return this._shape[1]},set:function(A){return A|=0,d(this,this._shape[0],A),A}}}),b.bind=function(A){var C=this.gl;return A!==void 0&&C.activeTexture(C.TEXTURE0+(0|A)),C.bindTexture(C.TEXTURE_2D,this.handle),A!==void 0?0|A:C.getParameter(C.ACTIVE_TEXTURE)-C.TEXTURE0},b.dispose=function(){this.gl.deleteTexture(this.handle)},b.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var A=Math.min(this._shape[0],this._shape[1]),C=0;A>0;++C,A>>>=1)this._mipLevels.indexOf(C)<0&&this._mipLevels.push(C)},b.setPixels=function(A,C,L,P){var I=this.gl;this.bind(),Array.isArray(C)?(P=L,L=0|C[1],C=0|C[0]):(C=C||0,L=L||0),P=P||0;var R=c(A)?A:A.raw;if(R)this._mipLevels.indexOf(P)<0?(I.texImage2D(I.TEXTURE_2D,0,this.format,this.format,this.type,R),this._mipLevels.push(P)):I.texSubImage2D(I.TEXTURE_2D,P,C,L,this.format,this.type,R);else{if(!(A.shape&&A.stride&&A.data))throw new Error("gl-texture2d: Unsupported data type");if(A.shape.length<2||C+A.shape[1]>this._shape[1]>>>P||L+A.shape[0]>this._shape[0]>>>P||C<0||L<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");(function(U,B,G,N,j,V,H,ee){var Q=ee.dtype,X=ee.shape.slice();if(X.length<2||X.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var Y=0,K=0,te=g(X,ee.stride.slice());if(Q==="float32"?Y=U.FLOAT:Q==="float64"?(Y=U.FLOAT,te=!1,Q="float32"):Q==="uint8"?Y=U.UNSIGNED_BYTE:(Y=U.UNSIGNED_BYTE,te=!1,Q="uint8"),X.length===2)K=U.LUMINANCE,X=[X[0],X[1],1],ee=a(ee.data,X,[ee.stride[0],ee.stride[1],1],ee.offset);else{if(X.length!==3)throw new Error("gl-texture2d: Invalid shape for texture");if(X[2]===1)K=U.ALPHA;else if(X[2]===2)K=U.LUMINANCE_ALPHA;else if(X[2]===3)K=U.RGB;else{if(X[2]!==4)throw new Error("gl-texture2d: Invalid shape for pixel coords");K=U.RGBA}X[2]}if(K!==U.LUMINANCE&&K!==U.ALPHA||j!==U.LUMINANCE&&j!==U.ALPHA||(K=j),K!==j)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var ie=ee.size,oe=H.indexOf(N)<0;if(oe&&H.push(N),Y===V&&te)ee.offset===0&&ee.data.length===ie?oe?U.texImage2D(U.TEXTURE_2D,N,j,X[0],X[1],0,j,V,ee.data):U.texSubImage2D(U.TEXTURE_2D,N,B,G,X[0],X[1],j,V,ee.data):oe?U.texImage2D(U.TEXTURE_2D,N,j,X[0],X[1],0,j,V,ee.data.subarray(ee.offset,ee.offset+ie)):U.texSubImage2D(U.TEXTURE_2D,N,B,G,X[0],X[1],j,V,ee.data.subarray(ee.offset,ee.offset+ie));else{var se;se=V===U.FLOAT?n.mallocFloat32(ie):n.mallocUint8(ie);var ce=a(se,X,[X[2],X[2]*X[0],1]);Y===U.FLOAT&&V===U.UNSIGNED_BYTE?x(ce,ee):r.assign(ce,ee),oe?U.texImage2D(U.TEXTURE_2D,N,j,X[0],X[1],0,j,V,se.subarray(0,ie)):U.texSubImage2D(U.TEXTURE_2D,N,B,G,X[0],X[1],j,V,se.subarray(0,ie)),V===U.FLOAT?n.freeFloat32(se):n.freeUint8(se)}})(I,C,L,P,this.format,this.type,this._mipLevels,A)}}},3056:function(f){f.exports=function(l,t,a){t?t.bind():l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,null);var r=0|l.getParameter(l.MAX_VERTEX_ATTRIBS);if(a){if(a.length>r)throw new Error("gl-vao: Too many vertex attributes");for(var n=0;n1?0:Math.acos(c)};var a=t(5415),r=t(899),n=t(9305)},8827:function(f){f.exports=function(l,t){return l[0]=Math.ceil(t[0]),l[1]=Math.ceil(t[1]),l[2]=Math.ceil(t[2]),l}},7622:function(f){f.exports=function(l){var t=new Float32Array(3);return t[0]=l[0],t[1]=l[1],t[2]=l[2],t}},8782:function(f){f.exports=function(l,t){return l[0]=t[0],l[1]=t[1],l[2]=t[2],l}},8501:function(f){f.exports=function(){var l=new Float32Array(3);return l[0]=0,l[1]=0,l[2]=0,l}},903:function(f){f.exports=function(l,t,a){var r=t[0],n=t[1],o=t[2],i=a[0],u=a[1],p=a[2];return l[0]=n*p-o*u,l[1]=o*i-r*p,l[2]=r*u-n*i,l}},5981:function(f,l,t){f.exports=t(8288)},8288:function(f){f.exports=function(l,t){var a=t[0]-l[0],r=t[1]-l[1],n=t[2]-l[2];return Math.sqrt(a*a+r*r+n*n)}},8629:function(f,l,t){f.exports=t(7979)},7979:function(f){f.exports=function(l,t,a){return l[0]=t[0]/a[0],l[1]=t[1]/a[1],l[2]=t[2]/a[2],l}},9305:function(f){f.exports=function(l,t){return l[0]*t[0]+l[1]*t[1]+l[2]*t[2]}},154:function(f){f.exports=1e-6},4932:function(f,l,t){f.exports=function(r,n){var o=r[0],i=r[1],u=r[2],p=n[0],c=n[1],x=n[2];return Math.abs(o-p)<=a*Math.max(1,Math.abs(o),Math.abs(p))&&Math.abs(i-c)<=a*Math.max(1,Math.abs(i),Math.abs(c))&&Math.abs(u-x)<=a*Math.max(1,Math.abs(u),Math.abs(x))};var a=t(154)},5777:function(f){f.exports=function(l,t){return l[0]===t[0]&&l[1]===t[1]&&l[2]===t[2]}},3306:function(f){f.exports=function(l,t){return l[0]=Math.floor(t[0]),l[1]=Math.floor(t[1]),l[2]=Math.floor(t[2]),l}},7447:function(f,l,t){f.exports=function(r,n,o,i,u,p){var c,x;for(n||(n=3),o||(o=0),x=i?Math.min(i*n+o,r.length):r.length,c=o;c0&&(o=1/Math.sqrt(o),l[0]=t[0]*o,l[1]=t[1]*o,l[2]=t[2]*o),l}},6660:function(f){f.exports=function(l,t){t=t||1;var a=2*Math.random()*Math.PI,r=2*Math.random()-1,n=Math.sqrt(1-r*r)*t;return l[0]=Math.cos(a)*n,l[1]=Math.sin(a)*n,l[2]=r*t,l}},392:function(f){f.exports=function(l,t,a,r){var n=a[1],o=a[2],i=t[1]-n,u=t[2]-o,p=Math.sin(r),c=Math.cos(r);return l[0]=t[0],l[1]=n+i*c-u*p,l[2]=o+i*p+u*c,l}},3222:function(f){f.exports=function(l,t,a,r){var n=a[0],o=a[2],i=t[0]-n,u=t[2]-o,p=Math.sin(r),c=Math.cos(r);return l[0]=n+u*p+i*c,l[1]=t[1],l[2]=o+u*c-i*p,l}},3388:function(f){f.exports=function(l,t,a,r){var n=a[0],o=a[1],i=t[0]-n,u=t[1]-o,p=Math.sin(r),c=Math.cos(r);return l[0]=n+i*c-u*p,l[1]=o+i*p+u*c,l[2]=t[2],l}},1624:function(f){f.exports=function(l,t){return l[0]=Math.round(t[0]),l[1]=Math.round(t[1]),l[2]=Math.round(t[2]),l}},5685:function(f){f.exports=function(l,t,a){return l[0]=t[0]*a,l[1]=t[1]*a,l[2]=t[2]*a,l}},6722:function(f){f.exports=function(l,t,a,r){return l[0]=t[0]+a[0]*r,l[1]=t[1]+a[1]*r,l[2]=t[2]+a[2]*r,l}},831:function(f){f.exports=function(l,t,a,r){return l[0]=t,l[1]=a,l[2]=r,l}},5294:function(f,l,t){f.exports=t(6403)},3303:function(f,l,t){f.exports=t(4337)},6403:function(f){f.exports=function(l,t){var a=t[0]-l[0],r=t[1]-l[1],n=t[2]-l[2];return a*a+r*r+n*n}},4337:function(f){f.exports=function(l){var t=l[0],a=l[1],r=l[2];return t*t+a*a+r*r}},8921:function(f,l,t){f.exports=t(911)},911:function(f){f.exports=function(l,t,a){return l[0]=t[0]-a[0],l[1]=t[1]-a[1],l[2]=t[2]-a[2],l}},9908:function(f){f.exports=function(l,t,a){var r=t[0],n=t[1],o=t[2];return l[0]=r*a[0]+n*a[3]+o*a[6],l[1]=r*a[1]+n*a[4]+o*a[7],l[2]=r*a[2]+n*a[5]+o*a[8],l}},3255:function(f){f.exports=function(l,t,a){var r=t[0],n=t[1],o=t[2],i=a[3]*r+a[7]*n+a[11]*o+a[15];return i=i||1,l[0]=(a[0]*r+a[4]*n+a[8]*o+a[12])/i,l[1]=(a[1]*r+a[5]*n+a[9]*o+a[13])/i,l[2]=(a[2]*r+a[6]*n+a[10]*o+a[14])/i,l}},6568:function(f){f.exports=function(l,t,a){var r=t[0],n=t[1],o=t[2],i=a[0],u=a[1],p=a[2],c=a[3],x=c*r+u*o-p*n,d=c*n+p*r-i*o,v=c*o+i*n-u*r,b=-i*r-u*n-p*o;return l[0]=x*c+b*-i+d*-p-v*-u,l[1]=d*c+b*-u+v*-i-x*-p,l[2]=v*c+b*-p+x*-u-d*-i,l}},3433:function(f){f.exports=function(l,t,a){return l[0]=t[0]+a[0],l[1]=t[1]+a[1],l[2]=t[2]+a[2],l[3]=t[3]+a[3],l}},1413:function(f){f.exports=function(l){var t=new Float32Array(4);return t[0]=l[0],t[1]=l[1],t[2]=l[2],t[3]=l[3],t}},3470:function(f){f.exports=function(l,t){return l[0]=t[0],l[1]=t[1],l[2]=t[2],l[3]=t[3],l}},5313:function(f){f.exports=function(){var l=new Float32Array(4);return l[0]=0,l[1]=0,l[2]=0,l[3]=0,l}},5446:function(f){f.exports=function(l,t){var a=t[0]-l[0],r=t[1]-l[1],n=t[2]-l[2],o=t[3]-l[3];return Math.sqrt(a*a+r*r+n*n+o*o)}},205:function(f){f.exports=function(l,t,a){return l[0]=t[0]/a[0],l[1]=t[1]/a[1],l[2]=t[2]/a[2],l[3]=t[3]/a[3],l}},4242:function(f){f.exports=function(l,t){return l[0]*t[0]+l[1]*t[1]+l[2]*t[2]+l[3]*t[3]}},5680:function(f){f.exports=function(l,t,a,r){var n=new Float32Array(4);return n[0]=l,n[1]=t,n[2]=a,n[3]=r,n}},4020:function(f,l,t){f.exports={create:t(5313),clone:t(1413),fromValues:t(5680),copy:t(3470),set:t(6453),add:t(3433),subtract:t(2705),multiply:t(746),divide:t(205),min:t(2170),max:t(3030),scale:t(5510),scaleAndAdd:t(4224),distance:t(5446),squaredDistance:t(1542),length:t(8177),squaredLength:t(9037),negate:t(6459),inverse:t(8057),normalize:t(381),dot:t(4242),lerp:t(8746),random:t(3770),transformMat4:t(6342),transformQuat:t(5022)}},8057:function(f){f.exports=function(l,t){return l[0]=1/t[0],l[1]=1/t[1],l[2]=1/t[2],l[3]=1/t[3],l}},8177:function(f){f.exports=function(l){var t=l[0],a=l[1],r=l[2],n=l[3];return Math.sqrt(t*t+a*a+r*r+n*n)}},8746:function(f){f.exports=function(l,t,a,r){var n=t[0],o=t[1],i=t[2],u=t[3];return l[0]=n+r*(a[0]-n),l[1]=o+r*(a[1]-o),l[2]=i+r*(a[2]-i),l[3]=u+r*(a[3]-u),l}},3030:function(f){f.exports=function(l,t,a){return l[0]=Math.max(t[0],a[0]),l[1]=Math.max(t[1],a[1]),l[2]=Math.max(t[2],a[2]),l[3]=Math.max(t[3],a[3]),l}},2170:function(f){f.exports=function(l,t,a){return l[0]=Math.min(t[0],a[0]),l[1]=Math.min(t[1],a[1]),l[2]=Math.min(t[2],a[2]),l[3]=Math.min(t[3],a[3]),l}},746:function(f){f.exports=function(l,t,a){return l[0]=t[0]*a[0],l[1]=t[1]*a[1],l[2]=t[2]*a[2],l[3]=t[3]*a[3],l}},6459:function(f){f.exports=function(l,t){return l[0]=-t[0],l[1]=-t[1],l[2]=-t[2],l[3]=-t[3],l}},381:function(f){f.exports=function(l,t){var a=t[0],r=t[1],n=t[2],o=t[3],i=a*a+r*r+n*n+o*o;return i>0&&(i=1/Math.sqrt(i),l[0]=a*i,l[1]=r*i,l[2]=n*i,l[3]=o*i),l}},3770:function(f,l,t){var a=t(381),r=t(5510);f.exports=function(n,o){return o=o||1,n[0]=Math.random(),n[1]=Math.random(),n[2]=Math.random(),n[3]=Math.random(),a(n,n),r(n,n,o),n}},5510:function(f){f.exports=function(l,t,a){return l[0]=t[0]*a,l[1]=t[1]*a,l[2]=t[2]*a,l[3]=t[3]*a,l}},4224:function(f){f.exports=function(l,t,a,r){return l[0]=t[0]+a[0]*r,l[1]=t[1]+a[1]*r,l[2]=t[2]+a[2]*r,l[3]=t[3]+a[3]*r,l}},6453:function(f){f.exports=function(l,t,a,r,n){return l[0]=t,l[1]=a,l[2]=r,l[3]=n,l}},1542:function(f){f.exports=function(l,t){var a=t[0]-l[0],r=t[1]-l[1],n=t[2]-l[2],o=t[3]-l[3];return a*a+r*r+n*n+o*o}},9037:function(f){f.exports=function(l){var t=l[0],a=l[1],r=l[2],n=l[3];return t*t+a*a+r*r+n*n}},2705:function(f){f.exports=function(l,t,a){return l[0]=t[0]-a[0],l[1]=t[1]-a[1],l[2]=t[2]-a[2],l[3]=t[3]-a[3],l}},6342:function(f){f.exports=function(l,t,a){var r=t[0],n=t[1],o=t[2],i=t[3];return l[0]=a[0]*r+a[4]*n+a[8]*o+a[12]*i,l[1]=a[1]*r+a[5]*n+a[9]*o+a[13]*i,l[2]=a[2]*r+a[6]*n+a[10]*o+a[14]*i,l[3]=a[3]*r+a[7]*n+a[11]*o+a[15]*i,l}},5022:function(f){f.exports=function(l,t,a){var r=t[0],n=t[1],o=t[2],i=a[0],u=a[1],p=a[2],c=a[3],x=c*r+u*o-p*n,d=c*n+p*r-i*o,v=c*o+i*n-u*r,b=-i*r-u*n-p*o;return l[0]=x*c+b*-i+d*-p-v*-u,l[1]=d*c+b*-u+v*-i-x*-p,l[2]=v*c+b*-p+x*-u-d*-i,l[3]=t[3],l}},9365:function(f,l,t){var a=t(8096),r=t(7896);f.exports=function(n){for(var o=Array.isArray(n)?n:a(n),i=0;i0)continue;xe=se.slice(0,1).join("")}return j(xe),L+=xe.length,(h=h.slice(xe.length)).length}}function K(){return/[^a-fA-F0-9]/.test(d)?(j(h.join("")),k=u,g):(h.push(d),v=d,g+1)}function te(){return d==="."||/[eE]/.test(d)?(h.push(d),k=5,v=d,g+1):d==="x"&&h.length===1&&h[0]==="0"?(k=11,h.push(d),v=d,g+1):/[^\d]/.test(d)?(j(h.join("")),k=u,g):(h.push(d),v=d,g+1)}function ie(){return d==="f"&&(h.push(d),v=d,g+=1),/[eE]/.test(d)?(h.push(d),v=d,g+1):(d!=="-"&&d!=="+"||!/[eE]/.test(v))&&/[^\d]/.test(d)?(j(h.join("")),k=u,g):(h.push(d),v=d,g+1)}function oe(){if(/[^\d\w_]/.test(d)){var se=h.join("");return k=N[se]?8:G[se]?7:6,j(h.join("")),k=u,g}return h.push(d),v=d,g+1}};var a=t(399),r=t(9746),n=t(9525),o=t(9458),i=t(3585),u=999,p=9999,c=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},3585:function(f,l,t){var a=t(9525);a=a.slice().filter(function(r){return!/^(gl\_|texture)/.test(r)}),f.exports=a.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"])},9525:function(f){f.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"]},9458:function(f,l,t){var a=t(399);f.exports=a.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"])},399:function(f){f.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"]},9746:function(f){f.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},8096:function(f,l,t){var a=t(3193);f.exports=function(r,n){var o=a(n),i=[];return(i=i.concat(o(r))).concat(o(null))}},6832:function(f){f.exports=function(l){typeof l=="string"&&(l=[l]);for(var t=[].slice.call(arguments,1),a=[],r=0;r0;)for(var h=(x=k.pop()).adjacent,M=0;M<=v;++M){var A=h[M];if(A.boundary&&!(A.lastVisited<=-b)){for(var C=A.vertices,L=0;L<=v;++L){var P=C[L];g[L]=P<0?d:y[P]}var I=this.orient();if(I>0)return A;A.lastVisited=-b,I===0&&k.push(A)}}return null},c.walk=function(x,d){var v=this.vertices.length-1,b=this.dimension,g=this.vertices,y=this.tuple,k=d?this.interior.length*Math.random()|0:this.interior.length-1,h=this.interior[k];e:for(;!h.boundary;){for(var M=h.vertices,A=h.adjacent,C=0;C<=b;++C)y[C]=g[M[C]];for(h.lastVisited=v,C=0;C<=b;++C){var L=A[C];if(!(L.lastVisited>=v)){var P=y[C];y[C]=x;var I=this.orient();if(y[C]=P,I<0){h=L;continue e}L.boundary?L.lastVisited=-v:L.lastVisited=v}}return}return h},c.addPeaks=function(x,d){var v=this.vertices.length-1,b=this.dimension,g=this.vertices,y=this.tuple,k=this.interior,h=this.simplices,M=[d];d.lastVisited=v,d.vertices[d.vertices.indexOf(-1)]=v,d.boundary=!1,k.push(d);for(var A=[];M.length>0;){var C=(d=M.pop()).vertices,L=d.adjacent,P=C.indexOf(v);if(!(P<0)){for(var I=0;I<=b;++I)if(I!==P){var R=L[I];if(R.boundary&&!(R.lastVisited>=v)){var U=R.vertices;if(R.lastVisited!==-v){for(var B=0,G=0;G<=b;++G)U[G]<0?(B=G,y[G]=x):y[G]=g[U[G]];if(this.orient()>0){U[B]=v,R.boundary=!1,k.push(R),M.push(R),R.lastVisited=v;continue}R.lastVisited=-v}var N=R.adjacent,j=C.slice(),V=L.slice(),H=new n(j,V,!0);h.push(H);var ee=N.indexOf(d);if(!(ee<0))for(N[ee]=H,V[P]=R,j[I]=-1,V[I]=d,L[I]=H,H.flip(),G=0;G<=b;++G){var Q=j[G];if(!(Q<0||Q===v)){for(var X=new Array(b-1),Y=0,K=0;K<=b;++K){var te=j[K];te<0||K===G||(X[Y++]=te)}A.push(new o(X,H,G))}}}}}}for(A.sort(i),I=0;I+1=0?k[M++]=h[C]:A=1&C;if(A===(1&x)){var L=k[0];k[0]=k[1],k[1]=L}d.push(k)}}return d}},9014:function(f,l,t){var a=t(5070);function r(M,A,C,L,P){this.mid=M,this.left=A,this.right=C,this.leftPoints=L,this.rightPoints=P,this.count=(A?A.count:0)+(C?C.count:0)+L.length}f.exports=function(M){return M&&M.length!==0?new k(y(M)):new k(null)};var n=r.prototype;function o(M,A){M.mid=A.mid,M.left=A.left,M.right=A.right,M.leftPoints=A.leftPoints,M.rightPoints=A.rightPoints,M.count=A.count}function i(M,A){var C=y(A);M.mid=C.mid,M.left=C.left,M.right=C.right,M.leftPoints=C.leftPoints,M.rightPoints=C.rightPoints,M.count=C.count}function u(M,A){var C=M.intervals([]);C.push(A),i(M,C)}function p(M,A){var C=M.intervals([]),L=C.indexOf(A);return L<0?0:(C.splice(L,1),i(M,C),1)}function c(M,A,C){for(var L=0;L=0&&M[L][1]>=A;--L){var P=C(M[L]);if(P)return P}}function d(M,A){for(var C=0;C>1],P=[],I=[],R=[];for(C=0;C3*(A+1)?u(this,M):this.left.insert(M):this.left=y([M]);else if(M[0]>this.mid)this.right?4*(this.right.count+1)>3*(A+1)?u(this,M):this.right.insert(M):this.right=y([M]);else{var C=a.ge(this.leftPoints,M,b),L=a.ge(this.rightPoints,M,g);this.leftPoints.splice(C,0,M),this.rightPoints.splice(L,0,M)}},n.remove=function(M){var A=this.count-this.leftPoints;if(M[1]3*(A-1)?p(this,M):(I=this.left.remove(M))===2?(this.left=null,this.count-=1,1):(I===1&&(this.count-=1),I):0;if(M[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(A-1)?p(this,M):(I=this.right.remove(M))===2?(this.right=null,this.count-=1,1):(I===1&&(this.count-=1),I):0;if(this.count===1)return this.leftPoints[0]===M?2:0;if(this.leftPoints.length===1&&this.leftPoints[0]===M){if(this.left&&this.right){for(var C=this,L=this.left;L.right;)C=L,L=L.right;if(C===this)L.right=this.right;else{var P=this.left,I=this.right;C.count-=L.count,C.right=L.left,L.left=P,L.right=I}o(this,L),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(P=a.ge(this.leftPoints,M,b);Pthis.mid?this.right&&(C=this.right.queryPoint(M,A))?C:x(this.rightPoints,M,A):d(this.leftPoints,A);var C},n.queryInterval=function(M,A,C){var L;return Mthis.mid&&this.right&&(L=this.right.queryInterval(M,A,C))?L:Athis.mid?x(this.rightPoints,M,C):d(this.leftPoints,C)};var h=k.prototype;h.insert=function(M){this.root?this.root.insert(M):this.root=new r(M[0],null,null,[M],[M])},h.remove=function(M){if(this.root){var A=this.root.remove(M);return A===2&&(this.root=null),A!==0}return!1},h.queryPoint=function(M,A){if(this.root)return this.root.queryPoint(M,A)},h.queryInterval=function(M,A,C){if(M<=A&&this.root)return this.root.queryInterval(M,A,C)},Object.defineProperty(h,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(h,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},9560:function(f){f.exports=function(l){for(var t=new Array(l),a=0;a13)&&t!==32&&t!==133&&t!==160&&t!==5760&&t!==6158&&(t<8192||t>8205)&&t!==8232&&t!==8233&&t!==8239&&t!==8287&&t!==8288&&t!==12288&&t!==65279)return!1;return!0}},3578:function(f){f.exports=function(l,t,a){return l*(1-a)+t*a}},7191:function(f,l,t){var a=t(4690),r=t(9823),n=t(7332),o=t(7787),i=t(7437),u=t(2142),p={length:t(4693),normalize:t(899),dot:t(9305),cross:t(903)},c=r(),x=r(),d=[0,0,0,0],v=[[0,0,0],[0,0,0],[0,0,0]],b=[0,0,0];function g(y,k,h,M,A){y[0]=k[0]*M+h[0]*A,y[1]=k[1]*M+h[1]*A,y[2]=k[2]*M+h[2]*A}f.exports=function(y,k,h,M,A,C){if(k||(k=[0,0,0]),h||(h=[0,0,0]),M||(M=[0,0,0]),A||(A=[0,0,0,1]),C||(C=[0,0,0,1]),!a(c,y)||(n(x,c),x[3]=0,x[7]=0,x[11]=0,x[15]=1,Math.abs(o(x)<1e-8)))return!1;var L,P,I,R,U,B,G,N=c[3],j=c[7],V=c[11],H=c[12],ee=c[13],Q=c[14],X=c[15];if(N!==0||j!==0||V!==0){if(d[0]=N,d[1]=j,d[2]=V,d[3]=X,!i(x,x))return!1;u(x,x),L=A,I=x,R=(P=d)[0],U=P[1],B=P[2],G=P[3],L[0]=I[0]*R+I[4]*U+I[8]*B+I[12]*G,L[1]=I[1]*R+I[5]*U+I[9]*B+I[13]*G,L[2]=I[2]*R+I[6]*U+I[10]*B+I[14]*G,L[3]=I[3]*R+I[7]*U+I[11]*B+I[15]*G}else A[0]=A[1]=A[2]=0,A[3]=1;if(k[0]=H,k[1]=ee,k[2]=Q,function(K,te){K[0][0]=te[0],K[0][1]=te[1],K[0][2]=te[2],K[1][0]=te[4],K[1][1]=te[5],K[1][2]=te[6],K[2][0]=te[8],K[2][1]=te[9],K[2][2]=te[10]}(v,c),h[0]=p.length(v[0]),p.normalize(v[0],v[0]),M[0]=p.dot(v[0],v[1]),g(v[1],v[1],v[0],1,-M[0]),h[1]=p.length(v[1]),p.normalize(v[1],v[1]),M[0]/=h[1],M[1]=p.dot(v[0],v[2]),g(v[2],v[2],v[0],1,-M[1]),M[2]=p.dot(v[1],v[2]),g(v[2],v[2],v[1],1,-M[2]),h[2]=p.length(v[2]),p.normalize(v[2],v[2]),M[1]/=h[2],M[2]/=h[2],p.cross(b,v[1],v[2]),p.dot(v[0],b)<0)for(var Y=0;Y<3;Y++)h[Y]*=-1,v[Y][0]*=-1,v[Y][1]*=-1,v[Y][2]*=-1;return C[0]=.5*Math.sqrt(Math.max(1+v[0][0]-v[1][1]-v[2][2],0)),C[1]=.5*Math.sqrt(Math.max(1-v[0][0]+v[1][1]-v[2][2],0)),C[2]=.5*Math.sqrt(Math.max(1-v[0][0]-v[1][1]+v[2][2],0)),C[3]=.5*Math.sqrt(Math.max(1+v[0][0]+v[1][1]+v[2][2],0)),v[2][1]>v[1][2]&&(C[0]=-C[0]),v[0][2]>v[2][0]&&(C[1]=-C[1]),v[1][0]>v[0][1]&&(C[2]=-C[2]),!0}},4690:function(f){f.exports=function(l,t){var a=t[15];if(a===0)return!1;for(var r=1/a,n=0;n<16;n++)l[n]=t[n]*r;return!0}},7649:function(f,l,t){var a=t(1868),r=t(1102),n=t(7191),o=t(7787),i=t(1116),u=x(),p=x(),c=x();function x(){return{translate:d(),scale:d(1),skew:d(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function d(v){return[v||0,v||0,v||0]}f.exports=function(v,b,g,y){if(o(b)===0||o(g)===0)return!1;var k=n(b,u.translate,u.scale,u.skew,u.perspective,u.quaternion),h=n(g,p.translate,p.scale,p.skew,p.perspective,p.quaternion);return!(!k||!h||(a(c.translate,u.translate,p.translate,y),a(c.skew,u.skew,p.skew,y),a(c.scale,u.scale,p.scale,y),a(c.perspective,u.perspective,p.perspective,y),i(c.quaternion,u.quaternion,p.quaternion,y),r(v,c.translate,c.scale,c.skew,c.perspective,c.quaternion),0))}},1102:function(f,l,t){var a={identity:t(9947),translate:t(998),multiply:t(104),create:t(9823),scale:t(3668),fromRotationTranslation:t(7280)},r=(a.create(),a.create());f.exports=function(n,o,i,u,p,c){return a.identity(n),a.fromRotationTranslation(n,c,o),n[3]=p[0],n[7]=p[1],n[11]=p[2],n[15]=p[3],a.identity(r),u[2]!==0&&(r[9]=u[2],a.multiply(n,n,r)),u[1]!==0&&(r[9]=0,r[8]=u[1],a.multiply(n,n,r)),u[0]!==0&&(r[8]=0,r[4]=u[0],a.multiply(n,n,r)),a.scale(n,n,i),n}},9298:function(f,l,t){var a=t(5070),r=t(7649),n=t(7437),o=t(6109),i=t(7115),u=t(5240),p=t(3012),c=t(998),x=(t(3668),t(899)),d=[0,0,0];function v(y){this._components=y.slice(),this._time=[0],this.prevMatrix=y.slice(),this.nextMatrix=y.slice(),this.computedMatrix=y.slice(),this.computedInverse=y.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]}f.exports=function(y){return new v((y=y||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var b=v.prototype;b.recalcMatrix=function(y){var k=this._time,h=a.le(k,y),M=this.computedMatrix;if(!(h<0)){var A=this._components;if(h===k.length-1)for(var C=16*h,L=0;L<16;++L)M[L]=A[C++];else{var P=k[h+1]-k[h],I=(C=16*h,this.prevMatrix),R=!0;for(L=0;L<16;++L)I[L]=A[C++];var U=this.nextMatrix;for(L=0;L<16;++L)U[L]=A[C++],R=R&&I[L]===U[L];if(P<1e-6||R)for(L=0;L<16;++L)M[L]=I[L];else r(M,I,U,(y-k[h])/P)}var B=this.computedUp;B[0]=M[1],B[1]=M[5],B[2]=M[9],x(B,B);var G=this.computedInverse;n(G,M);var N=this.computedEye,j=G[15];N[0]=G[12]/j,N[1]=G[13]/j,N[2]=G[14]/j;var V=this.computedCenter,H=Math.exp(this.computedRadius[0]);for(L=0;L<3;++L)V[L]=N[L]-M[2+4*L]*H}},b.idle=function(y){if(!(y1&&a(r[p[v-2]],r[p[v-1]],d)<=0;)v-=1,p.pop();for(p.push(x),v=c.length;v>1&&a(r[c[v-2]],r[c[v-1]],d)>=0;)v-=1,c.pop();c.push(x)}o=new Array(c.length+p.length-2);for(var b=0,g=(i=0,p.length);i0;--y)o[b++]=c[y];return o};var a=t(417)[3]},6145:function(f,l,t){f.exports=function(r,n){n||(n=r,r=window);var o=0,i=0,u=0,p={shift:!1,alt:!1,control:!1,meta:!1},c=!1;function x(C){var L=!1;return"altKey"in C&&(L=L||C.altKey!==p.alt,p.alt=!!C.altKey),"shiftKey"in C&&(L=L||C.shiftKey!==p.shift,p.shift=!!C.shiftKey),"ctrlKey"in C&&(L=L||C.ctrlKey!==p.control,p.control=!!C.ctrlKey),"metaKey"in C&&(L=L||C.metaKey!==p.meta,p.meta=!!C.metaKey),L}function d(C,L){var P=a.x(L),I=a.y(L);"buttons"in L&&(C=0|L.buttons),(C!==o||P!==i||I!==u||x(L))&&(o=0|C,i=P||0,u=I||0,n&&n(o,i,u,p))}function v(C){d(0,C)}function b(){(o||i||u||p.shift||p.alt||p.meta||p.control)&&(i=u=0,o=0,p.shift=p.alt=p.control=p.meta=!1,n&&n(0,0,0,p))}function g(C){x(C)&&n&&n(o,i,u,p)}function y(C){a.buttons(C)===0?d(0,C):d(o,C)}function k(C){d(o|a.buttons(C),C)}function h(C){d(o&~a.buttons(C),C)}function M(){c||(c=!0,r.addEventListener("mousemove",y),r.addEventListener("mousedown",k),r.addEventListener("mouseup",h),r.addEventListener("mouseleave",v),r.addEventListener("mouseenter",v),r.addEventListener("mouseout",v),r.addEventListener("mouseover",v),r.addEventListener("blur",b),r.addEventListener("keyup",g),r.addEventListener("keydown",g),r.addEventListener("keypress",g),r!==window&&(window.addEventListener("blur",b),window.addEventListener("keyup",g),window.addEventListener("keydown",g),window.addEventListener("keypress",g)))}M();var A={element:r};return Object.defineProperties(A,{enabled:{get:function(){return c},set:function(C){C?M():c&&(c=!1,r.removeEventListener("mousemove",y),r.removeEventListener("mousedown",k),r.removeEventListener("mouseup",h),r.removeEventListener("mouseleave",v),r.removeEventListener("mouseenter",v),r.removeEventListener("mouseout",v),r.removeEventListener("mouseover",v),r.removeEventListener("blur",b),r.removeEventListener("keyup",g),r.removeEventListener("keydown",g),r.removeEventListener("keypress",g),r!==window&&(window.removeEventListener("blur",b),window.removeEventListener("keyup",g),window.removeEventListener("keydown",g),window.removeEventListener("keypress",g)))},enumerable:!0},buttons:{get:function(){return o},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return u},enumerable:!0},mods:{get:function(){return p},enumerable:!0}}),A};var a=t(4110)},2565:function(f){var l={left:0,top:0};f.exports=function(t,a,r){a=a||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var n,o=t.clientX||0,i=t.clientY||0,u=(n=a)===window||n===document||n===document.body?l:n.getBoundingClientRect();return r[0]=o-u.left,r[1]=i-u.top,r}},4110:function(f,l){function t(a){return a.target||a.srcElement||window}l.buttons=function(a){if(typeof a=="object"){if("buttons"in a)return a.buttons;if("which"in a){if((r=a.which)===2)return 4;if(r===3)return 2;if(r>0)return 1<=0)return 1< 0"),typeof n.vertex!="function"&&o("Must specify vertex creation function"),typeof n.cell!="function"&&o("Must specify cell creation function"),typeof n.phase!="function"&&o("Must specify phase function");for(var p=n.getters||[],c=new Array(u),x=0;x=0?c[x]=!0:c[x]=!1;return function(d,v,b,g,y,k){var h=[k,y].join(",");return(0,r[h])(d,v,b,a.mallocUint32,a.freeUint32)}(n.vertex,n.cell,n.phase,0,i,c)};var r={"false,0,1":function(n,o,i,u,p){return function(c,x,d,v){var b,g=0|c.shape[0],y=0|c.shape[1],k=c.data,h=0|c.offset,M=0|c.stride[0],A=0|c.stride[1],C=h,L=0|-M,P=0,I=0|-A,R=0,U=-M-A|0,B=0,G=0|M,N=A-M*g|0,j=0,V=0,H=0,ee=2*g|0,Q=u(ee),X=u(ee),Y=0,K=0,te=-1,ie=-1,oe=0,se=0|-g,ce=0|g,xe=0,pe=-g-1|0,de=g-1|0,he=0,ye=0,ze=0;for(j=0;j0){if(V=1,Q[Y++]=i(k[C],x,d,v),C+=G,g>0)for(j=1,b=k[C],K=Q[Y]=i(b,x,d,v),oe=Q[Y+te],xe=Q[Y+se],he=Q[Y+pe],K===oe&&K===xe&&K===he||(P=k[C+L],R=k[C+I],B=k[C+U],n(j,V,b,P,R,B,K,oe,xe,he,x,d,v),ye=X[Y]=H++),Y+=1,C+=G,j=2;j0)for(j=1,b=k[C],K=Q[Y]=i(b,x,d,v),oe=Q[Y+te],xe=Q[Y+se],he=Q[Y+pe],K===oe&&K===xe&&K===he||(P=k[C+L],R=k[C+I],B=k[C+U],n(j,V,b,P,R,B,K,oe,xe,he,x,d,v),ye=X[Y]=H++,he!==xe&&o(X[Y+se],ye,R,B,xe,he,x,d,v)),Y+=1,C+=G,j=2;j0){if(j=1,Q[Y++]=i(k[C],x,d,v),C+=G,y>0)for(V=1,b=k[C],K=Q[Y]=i(b,x,d,v),xe=Q[Y+se],oe=Q[Y+te],he=Q[Y+pe],K===xe&&K===oe&&K===he||(P=k[C+L],R=k[C+I],B=k[C+U],n(j,V,b,P,R,B,K,xe,oe,he,x,d,v),ye=X[Y]=H++),Y+=1,C+=G,V=2;V0)for(V=1,b=k[C],K=Q[Y]=i(b,x,d,v),xe=Q[Y+se],oe=Q[Y+te],he=Q[Y+pe],K===xe&&K===oe&&K===he||(P=k[C+L],R=k[C+I],B=k[C+U],n(j,V,b,P,R,B,K,xe,oe,he,x,d,v),ye=X[Y]=H++,he!==xe&&o(X[Y+se],ye,B,P,he,xe,x,d,v)),Y+=1,C+=G,V=2;V2&&C[1]>2&&h(A.pick(-1,-1).lo(1,1).hi(C[0]-2,C[1]-2),M.pick(-1,-1,0).lo(1,1).hi(C[0]-2,C[1]-2),M.pick(-1,-1,1).lo(1,1).hi(C[0]-2,C[1]-2)),C[1]>2&&(k(A.pick(0,-1).lo(1).hi(C[1]-2),M.pick(0,-1,1).lo(1).hi(C[1]-2)),y(M.pick(0,-1,0).lo(1).hi(C[1]-2))),C[1]>2&&(k(A.pick(C[0]-1,-1).lo(1).hi(C[1]-2),M.pick(C[0]-1,-1,1).lo(1).hi(C[1]-2)),y(M.pick(C[0]-1,-1,0).lo(1).hi(C[1]-2))),C[0]>2&&(k(A.pick(-1,0).lo(1).hi(C[0]-2),M.pick(-1,0,0).lo(1).hi(C[0]-2)),y(M.pick(-1,0,1).lo(1).hi(C[0]-2))),C[0]>2&&(k(A.pick(-1,C[1]-1).lo(1).hi(C[0]-2),M.pick(-1,C[1]-1,0).lo(1).hi(C[0]-2)),y(M.pick(-1,C[1]-1,1).lo(1).hi(C[0]-2))),M.set(0,0,0,0),M.set(0,0,1,0),M.set(C[0]-1,0,0,0),M.set(C[0]-1,0,1,0),M.set(0,C[1]-1,0,0),M.set(0,C[1]-1,1,0),M.set(C[0]-1,C[1]-1,0,0),M.set(C[0]-1,C[1]-1,1,0),M}}f.exports=function(g,y,k){return Array.isArray(k)||(k=a(y.dimension,typeof k=="string"?k:"clamp")),y.size===0?g:y.dimension===0?(g.set(0),g):function(h){var M=h.join();if(P=c[M])return P;for(var A=h.length,C=[x,d],L=1;L<=A;++L)C.push(v(L));var P=b.apply(void 0,C);return c[M]=P,P}(k)(g,y)}},3581:function(f){function l(n,o){var i=Math.floor(o),u=o-i,p=0<=i&&i0;){U<64?(g=U,U=0):(g=64,U-=64);for(var B=0|i[1];B>0;){B<64?(y=B,B=0):(y=64,B-=64),c=I+U*h+B*M,v=R+U*C+B*L;var G=0,N=0,j=0,V=A,H=h-k*A,ee=M-g*h,Q=P,X=C-k*P,Y=L-g*C;for(j=0;j0;){L<64?(g=L,L=0):(g=64,L-=64);for(var P=0|i[0];P>0;){P<64?(b=P,P=0):(b=64,P-=64),c=A+L*k+P*y,v=C+L*M+P*h;var I=0,R=0,U=k,B=y-g*k,G=M,N=h-g*M;for(R=0;R0;){R<64?(y=R,R=0):(y=64,R-=64);for(var U=0|i[0];U>0;){U<64?(b=U,U=0):(b=64,U-=64);for(var B=0|i[1];B>0;){B<64?(g=B,B=0):(g=64,B-=64),c=P+R*M+U*k+B*h,v=I+R*L+U*A+B*C;var G=0,N=0,j=0,V=M,H=k-y*M,ee=h-b*k,Q=L,X=A-y*L,Y=C-b*A;for(j=0;jc;){R=0,U=P-b;t:for(I=0;IG)break t;U+=M,R+=A}for(R=P,U=P-b,I=0;I>1,Ce=Me-ze,ne=Me+ze,ue=Te,me=Ce,we=Me,Ee=ne,Ue=Ae,De=d+1,je=v-1,ge=!0,be=0,Se=0,Ne=0,Ye=M,Ze=p(Ye),st=p(Ye);ee=y*ue,Q=y*me,ye=g;e:for(H=0;H0){I=ue,ue=me,me=I;break e}if(Ne<0)break e;ye+=C}ee=y*Ee,Q=y*Ue,ye=g;e:for(H=0;H0){I=Ee,Ee=Ue,Ue=I;break e}if(Ne<0)break e;ye+=C}ee=y*ue,Q=y*we,ye=g;e:for(H=0;H0){I=ue,ue=we,we=I;break e}if(Ne<0)break e;ye+=C}ee=y*me,Q=y*we,ye=g;e:for(H=0;H0){I=me,me=we,we=I;break e}if(Ne<0)break e;ye+=C}ee=y*ue,Q=y*Ee,ye=g;e:for(H=0;H0){I=ue,ue=Ee,Ee=I;break e}if(Ne<0)break e;ye+=C}ee=y*we,Q=y*Ee,ye=g;e:for(H=0;H0){I=we,we=Ee,Ee=I;break e}if(Ne<0)break e;ye+=C}ee=y*me,Q=y*Ue,ye=g;e:for(H=0;H0){I=me,me=Ue,Ue=I;break e}if(Ne<0)break e;ye+=C}ee=y*me,Q=y*we,ye=g;e:for(H=0;H0){I=me,me=we,we=I;break e}if(Ne<0)break e;ye+=C}ee=y*Ee,Q=y*Ue,ye=g;e:for(H=0;H0){I=Ee,Ee=Ue,Ue=I;break e}if(Ne<0)break e;ye+=C}for(ee=y*ue,Q=y*me,X=y*we,Y=y*Ee,K=y*Ue,te=y*Te,ie=y*Me,oe=y*Ae,he=0,ye=g,H=0;H0)){if(Ne<0){for(ee=y*G,Q=y*De,X=y*je,ye=g,H=0;H0)for(;;){for(N=g+je*y,he=0,H=0;H0)){for(N=g+je*y,he=0,H=0;HAe){e:for(;;){for(N=g+De*y,he=0,ye=g,H=0;H1&&k?M(y,k[0],k[1]):M(y)}(u,p,d);return x(d,v)}},8729:function(f,l,t){var a=t(8139),r={};f.exports=function(n){var o=n.order,i=n.dtype,u=[o,i].join(":"),p=r[u];return p||(r[u]=p=a(o,i)),p(n),n}},5050:function(f,l,t){var a=t(4780),r=typeof Float64Array<"u";function n(c,x){return c[0]-x[0]}function o(){var c,x=this.stride,d=new Array(x.length);for(c=0;c=0&&(y+=M*(k=0|g),h-=k),new v(this.data,h,M,y)},b.step=function(g){var y=this.shape[0],k=this.stride[0],h=this.offset,M=0,A=Math.ceil;return typeof g=="number"&&((M=0|g)<0?(h+=k*(y-1),y=A(-y/M)):y=A(y/M),k*=M),new v(this.data,y,k,h)},b.transpose=function(g){g=g===void 0?0:0|g;var y=this.shape,k=this.stride;return new v(this.data,y[g],k[g],this.offset)},b.pick=function(g){var y=[],k=[],h=this.offset;return typeof g=="number"&&g>=0?h=h+this.stride[0]*g|0:(y.push(this.shape[0]),k.push(this.stride[0])),(0,x[y.length+1])(this.data,y,k,h)},function(g,y,k,h){return new v(g,y[0],k[0],h)}},2:function(c,x,d){function v(g,y,k,h,M,A){this.data=g,this.shape=[y,k],this.stride=[h,M],this.offset=0|A}var b=v.prototype;return b.dtype=c,b.dimension=2,Object.defineProperty(b,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(b,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),b.set=function(g,y,k){return c==="generic"?this.data.set(this.offset+this.stride[0]*g+this.stride[1]*y,k):this.data[this.offset+this.stride[0]*g+this.stride[1]*y]=k},b.get=function(g,y){return c==="generic"?this.data.get(this.offset+this.stride[0]*g+this.stride[1]*y):this.data[this.offset+this.stride[0]*g+this.stride[1]*y]},b.index=function(g,y){return this.offset+this.stride[0]*g+this.stride[1]*y},b.hi=function(g,y){return new v(this.data,typeof g!="number"||g<0?this.shape[0]:0|g,typeof y!="number"||y<0?this.shape[1]:0|y,this.stride[0],this.stride[1],this.offset)},b.lo=function(g,y){var k=this.offset,h=0,M=this.shape[0],A=this.shape[1],C=this.stride[0],L=this.stride[1];return typeof g=="number"&&g>=0&&(k+=C*(h=0|g),M-=h),typeof y=="number"&&y>=0&&(k+=L*(h=0|y),A-=h),new v(this.data,M,A,C,L,k)},b.step=function(g,y){var k=this.shape[0],h=this.shape[1],M=this.stride[0],A=this.stride[1],C=this.offset,L=0,P=Math.ceil;return typeof g=="number"&&((L=0|g)<0?(C+=M*(k-1),k=P(-k/L)):k=P(k/L),M*=L),typeof y=="number"&&((L=0|y)<0?(C+=A*(h-1),h=P(-h/L)):h=P(h/L),A*=L),new v(this.data,k,h,M,A,C)},b.transpose=function(g,y){g=g===void 0?0:0|g,y=y===void 0?1:0|y;var k=this.shape,h=this.stride;return new v(this.data,k[g],k[y],h[g],h[y],this.offset)},b.pick=function(g,y){var k=[],h=[],M=this.offset;return typeof g=="number"&&g>=0?M=M+this.stride[0]*g|0:(k.push(this.shape[0]),h.push(this.stride[0])),typeof y=="number"&&y>=0?M=M+this.stride[1]*y|0:(k.push(this.shape[1]),h.push(this.stride[1])),(0,x[k.length+1])(this.data,k,h,M)},function(g,y,k,h){return new v(g,y[0],y[1],k[0],k[1],h)}},3:function(c,x,d){function v(g,y,k,h,M,A,C,L){this.data=g,this.shape=[y,k,h],this.stride=[M,A,C],this.offset=0|L}var b=v.prototype;return b.dtype=c,b.dimension=3,Object.defineProperty(b,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(b,"order",{get:function(){var g=Math.abs(this.stride[0]),y=Math.abs(this.stride[1]),k=Math.abs(this.stride[2]);return g>y?y>k?[2,1,0]:g>k?[1,2,0]:[1,0,2]:g>k?[2,0,1]:k>y?[0,1,2]:[0,2,1]}}),b.set=function(g,y,k,h){return c==="generic"?this.data.set(this.offset+this.stride[0]*g+this.stride[1]*y+this.stride[2]*k,h):this.data[this.offset+this.stride[0]*g+this.stride[1]*y+this.stride[2]*k]=h},b.get=function(g,y,k){return c==="generic"?this.data.get(this.offset+this.stride[0]*g+this.stride[1]*y+this.stride[2]*k):this.data[this.offset+this.stride[0]*g+this.stride[1]*y+this.stride[2]*k]},b.index=function(g,y,k){return this.offset+this.stride[0]*g+this.stride[1]*y+this.stride[2]*k},b.hi=function(g,y,k){return new v(this.data,typeof g!="number"||g<0?this.shape[0]:0|g,typeof y!="number"||y<0?this.shape[1]:0|y,typeof k!="number"||k<0?this.shape[2]:0|k,this.stride[0],this.stride[1],this.stride[2],this.offset)},b.lo=function(g,y,k){var h=this.offset,M=0,A=this.shape[0],C=this.shape[1],L=this.shape[2],P=this.stride[0],I=this.stride[1],R=this.stride[2];return typeof g=="number"&&g>=0&&(h+=P*(M=0|g),A-=M),typeof y=="number"&&y>=0&&(h+=I*(M=0|y),C-=M),typeof k=="number"&&k>=0&&(h+=R*(M=0|k),L-=M),new v(this.data,A,C,L,P,I,R,h)},b.step=function(g,y,k){var h=this.shape[0],M=this.shape[1],A=this.shape[2],C=this.stride[0],L=this.stride[1],P=this.stride[2],I=this.offset,R=0,U=Math.ceil;return typeof g=="number"&&((R=0|g)<0?(I+=C*(h-1),h=U(-h/R)):h=U(h/R),C*=R),typeof y=="number"&&((R=0|y)<0?(I+=L*(M-1),M=U(-M/R)):M=U(M/R),L*=R),typeof k=="number"&&((R=0|k)<0?(I+=P*(A-1),A=U(-A/R)):A=U(A/R),P*=R),new v(this.data,h,M,A,C,L,P,I)},b.transpose=function(g,y,k){g=g===void 0?0:0|g,y=y===void 0?1:0|y,k=k===void 0?2:0|k;var h=this.shape,M=this.stride;return new v(this.data,h[g],h[y],h[k],M[g],M[y],M[k],this.offset)},b.pick=function(g,y,k){var h=[],M=[],A=this.offset;return typeof g=="number"&&g>=0?A=A+this.stride[0]*g|0:(h.push(this.shape[0]),M.push(this.stride[0])),typeof y=="number"&&y>=0?A=A+this.stride[1]*y|0:(h.push(this.shape[1]),M.push(this.stride[1])),typeof k=="number"&&k>=0?A=A+this.stride[2]*k|0:(h.push(this.shape[2]),M.push(this.stride[2])),(0,x[h.length+1])(this.data,h,M,A)},function(g,y,k,h){return new v(g,y[0],y[1],y[2],k[0],k[1],k[2],h)}},4:function(c,x,d){function v(g,y,k,h,M,A,C,L,P,I){this.data=g,this.shape=[y,k,h,M],this.stride=[A,C,L,P],this.offset=0|I}var b=v.prototype;return b.dtype=c,b.dimension=4,Object.defineProperty(b,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(b,"order",{get:d}),b.set=function(g,y,k,h,M){return c==="generic"?this.data.set(this.offset+this.stride[0]*g+this.stride[1]*y+this.stride[2]*k+this.stride[3]*h,M):this.data[this.offset+this.stride[0]*g+this.stride[1]*y+this.stride[2]*k+this.stride[3]*h]=M},b.get=function(g,y,k,h){return c==="generic"?this.data.get(this.offset+this.stride[0]*g+this.stride[1]*y+this.stride[2]*k+this.stride[3]*h):this.data[this.offset+this.stride[0]*g+this.stride[1]*y+this.stride[2]*k+this.stride[3]*h]},b.index=function(g,y,k,h){return this.offset+this.stride[0]*g+this.stride[1]*y+this.stride[2]*k+this.stride[3]*h},b.hi=function(g,y,k,h){return new v(this.data,typeof g!="number"||g<0?this.shape[0]:0|g,typeof y!="number"||y<0?this.shape[1]:0|y,typeof k!="number"||k<0?this.shape[2]:0|k,typeof h!="number"||h<0?this.shape[3]:0|h,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},b.lo=function(g,y,k,h){var M=this.offset,A=0,C=this.shape[0],L=this.shape[1],P=this.shape[2],I=this.shape[3],R=this.stride[0],U=this.stride[1],B=this.stride[2],G=this.stride[3];return typeof g=="number"&&g>=0&&(M+=R*(A=0|g),C-=A),typeof y=="number"&&y>=0&&(M+=U*(A=0|y),L-=A),typeof k=="number"&&k>=0&&(M+=B*(A=0|k),P-=A),typeof h=="number"&&h>=0&&(M+=G*(A=0|h),I-=A),new v(this.data,C,L,P,I,R,U,B,G,M)},b.step=function(g,y,k,h){var M=this.shape[0],A=this.shape[1],C=this.shape[2],L=this.shape[3],P=this.stride[0],I=this.stride[1],R=this.stride[2],U=this.stride[3],B=this.offset,G=0,N=Math.ceil;return typeof g=="number"&&((G=0|g)<0?(B+=P*(M-1),M=N(-M/G)):M=N(M/G),P*=G),typeof y=="number"&&((G=0|y)<0?(B+=I*(A-1),A=N(-A/G)):A=N(A/G),I*=G),typeof k=="number"&&((G=0|k)<0?(B+=R*(C-1),C=N(-C/G)):C=N(C/G),R*=G),typeof h=="number"&&((G=0|h)<0?(B+=U*(L-1),L=N(-L/G)):L=N(L/G),U*=G),new v(this.data,M,A,C,L,P,I,R,U,B)},b.transpose=function(g,y,k,h){g=g===void 0?0:0|g,y=y===void 0?1:0|y,k=k===void 0?2:0|k,h=h===void 0?3:0|h;var M=this.shape,A=this.stride;return new v(this.data,M[g],M[y],M[k],M[h],A[g],A[y],A[k],A[h],this.offset)},b.pick=function(g,y,k,h){var M=[],A=[],C=this.offset;return typeof g=="number"&&g>=0?C=C+this.stride[0]*g|0:(M.push(this.shape[0]),A.push(this.stride[0])),typeof y=="number"&&y>=0?C=C+this.stride[1]*y|0:(M.push(this.shape[1]),A.push(this.stride[1])),typeof k=="number"&&k>=0?C=C+this.stride[2]*k|0:(M.push(this.shape[2]),A.push(this.stride[2])),typeof h=="number"&&h>=0?C=C+this.stride[3]*h|0:(M.push(this.shape[3]),A.push(this.stride[3])),(0,x[M.length+1])(this.data,M,A,C)},function(g,y,k,h){return new v(g,y[0],y[1],y[2],y[3],k[0],k[1],k[2],k[3],h)}},5:function(c,x,d){function v(g,y,k,h,M,A,C,L,P,I,R,U){this.data=g,this.shape=[y,k,h,M,A],this.stride=[C,L,P,I,R],this.offset=0|U}var b=v.prototype;return b.dtype=c,b.dimension=5,Object.defineProperty(b,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(b,"order",{get:d}),b.set=function(g,y,k,h,M,A){return c==="generic"?this.data.set(this.offset+this.stride[0]*g+this.stride[1]*y+this.stride[2]*k+this.stride[3]*h+this.stride[4]*M,A):this.data[this.offset+this.stride[0]*g+this.stride[1]*y+this.stride[2]*k+this.stride[3]*h+this.stride[4]*M]=A},b.get=function(g,y,k,h,M){return c==="generic"?this.data.get(this.offset+this.stride[0]*g+this.stride[1]*y+this.stride[2]*k+this.stride[3]*h+this.stride[4]*M):this.data[this.offset+this.stride[0]*g+this.stride[1]*y+this.stride[2]*k+this.stride[3]*h+this.stride[4]*M]},b.index=function(g,y,k,h,M){return this.offset+this.stride[0]*g+this.stride[1]*y+this.stride[2]*k+this.stride[3]*h+this.stride[4]*M},b.hi=function(g,y,k,h,M){return new v(this.data,typeof g!="number"||g<0?this.shape[0]:0|g,typeof y!="number"||y<0?this.shape[1]:0|y,typeof k!="number"||k<0?this.shape[2]:0|k,typeof h!="number"||h<0?this.shape[3]:0|h,typeof M!="number"||M<0?this.shape[4]:0|M,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},b.lo=function(g,y,k,h,M){var A=this.offset,C=0,L=this.shape[0],P=this.shape[1],I=this.shape[2],R=this.shape[3],U=this.shape[4],B=this.stride[0],G=this.stride[1],N=this.stride[2],j=this.stride[3],V=this.stride[4];return typeof g=="number"&&g>=0&&(A+=B*(C=0|g),L-=C),typeof y=="number"&&y>=0&&(A+=G*(C=0|y),P-=C),typeof k=="number"&&k>=0&&(A+=N*(C=0|k),I-=C),typeof h=="number"&&h>=0&&(A+=j*(C=0|h),R-=C),typeof M=="number"&&M>=0&&(A+=V*(C=0|M),U-=C),new v(this.data,L,P,I,R,U,B,G,N,j,V,A)},b.step=function(g,y,k,h,M){var A=this.shape[0],C=this.shape[1],L=this.shape[2],P=this.shape[3],I=this.shape[4],R=this.stride[0],U=this.stride[1],B=this.stride[2],G=this.stride[3],N=this.stride[4],j=this.offset,V=0,H=Math.ceil;return typeof g=="number"&&((V=0|g)<0?(j+=R*(A-1),A=H(-A/V)):A=H(A/V),R*=V),typeof y=="number"&&((V=0|y)<0?(j+=U*(C-1),C=H(-C/V)):C=H(C/V),U*=V),typeof k=="number"&&((V=0|k)<0?(j+=B*(L-1),L=H(-L/V)):L=H(L/V),B*=V),typeof h=="number"&&((V=0|h)<0?(j+=G*(P-1),P=H(-P/V)):P=H(P/V),G*=V),typeof M=="number"&&((V=0|M)<0?(j+=N*(I-1),I=H(-I/V)):I=H(I/V),N*=V),new v(this.data,A,C,L,P,I,R,U,B,G,N,j)},b.transpose=function(g,y,k,h,M){g=g===void 0?0:0|g,y=y===void 0?1:0|y,k=k===void 0?2:0|k,h=h===void 0?3:0|h,M=M===void 0?4:0|M;var A=this.shape,C=this.stride;return new v(this.data,A[g],A[y],A[k],A[h],A[M],C[g],C[y],C[k],C[h],C[M],this.offset)},b.pick=function(g,y,k,h,M){var A=[],C=[],L=this.offset;return typeof g=="number"&&g>=0?L=L+this.stride[0]*g|0:(A.push(this.shape[0]),C.push(this.stride[0])),typeof y=="number"&&y>=0?L=L+this.stride[1]*y|0:(A.push(this.shape[1]),C.push(this.stride[1])),typeof k=="number"&&k>=0?L=L+this.stride[2]*k|0:(A.push(this.shape[2]),C.push(this.stride[2])),typeof h=="number"&&h>=0?L=L+this.stride[3]*h|0:(A.push(this.shape[3]),C.push(this.stride[3])),typeof M=="number"&&M>=0?L=L+this.stride[4]*M|0:(A.push(this.shape[4]),C.push(this.stride[4])),(0,x[A.length+1])(this.data,A,C,L)},function(g,y,k,h){return new v(g,y[0],y[1],y[2],y[3],y[4],k[0],k[1],k[2],k[3],k[4],h)}}};function u(c,x){var d=x===-1?"T":String(x),v=i[d];return x===-1?v(c):x===0?v(c,p[c][0]):v(c,p[c],o)}var p={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};f.exports=function(c,x,d,v){if(c===void 0)return(0,p.array[0])([]);typeof c=="number"&&(c=[c]),x===void 0&&(x=[c.length]);var b=x.length;if(d===void 0){d=new Array(b);for(var g=b-1,y=1;g>=0;--g)d[g]=y,y*=x[g]}if(v===void 0)for(v=0,g=0;g>>0;f.exports=function(o,i){if(isNaN(o)||isNaN(i))return NaN;if(o===i)return o;if(o===0)return i<0?-r:r;var u=a.hi(o),p=a.lo(o);return i>o==o>0?p===n?(u+=1,p=0):p+=1:p===0?(p=n,u-=1):p-=1,a.pack(p,u)}},115:function(f,l){l.vertexNormals=function(t,a,r){for(var n=a.length,o=new Array(n),i=r===void 0?1e-6:r,u=0;ui){var L=o[x],P=1/Math.sqrt(h*A);for(C=0;C<3;++C){var I=(C+1)%3,R=(C+2)%3;L[C]+=P*(M[I]*k[R]-M[R]*k[I])}}}for(u=0;ui)for(P=1/Math.sqrt(U),C=0;C<3;++C)L[C]*=P;else for(C=0;C<3;++C)L[C]=0}return o},l.faceNormals=function(t,a,r){for(var n=t.length,o=new Array(n),i=r===void 0?1e-6:r,u=0;ui?1/Math.sqrt(g):0,x=0;x<3;++x)b[x]*=g;o[u]=b}return o}},567:function(f){f.exports=function(l,t,a,r,n,o,i,u,p,c){var x=t+o+c;if(d>0){var d=Math.sqrt(x+1);l[0]=.5*(i-p)/d,l[1]=.5*(u-r)/d,l[2]=.5*(a-o)/d,l[3]=.5*d}else{var v=Math.max(t,o,c);d=Math.sqrt(2*v-x+1),t>=v?(l[0]=.5*d,l[1]=.5*(n+a)/d,l[2]=.5*(u+r)/d,l[3]=.5*(i-p)/d):o>=v?(l[0]=.5*(a+n)/d,l[1]=.5*d,l[2]=.5*(p+i)/d,l[3]=.5*(u-r)/d):(l[0]=.5*(r+u)/d,l[1]=.5*(i+p)/d,l[2]=.5*d,l[3]=.5*(a-n)/d)}return l}},7774:function(f,l,t){f.exports=function(v){var b=(v=v||{}).center||[0,0,0],g=v.rotation||[0,0,0,1],y=v.radius||1;b=[].slice.call(b,0,3),c(g=[].slice.call(g,0,4),g);var k=new x(g,b,Math.log(y));return k.setDistanceLimits(v.zoomMin,v.zoomMax),("eye"in v||"up"in v)&&k.lookAt(0,v.eye,v.center,v.up),k};var a=t(8444),r=t(3012),n=t(5950),o=t(7437),i=t(567);function u(v,b,g){return Math.sqrt(Math.pow(v,2)+Math.pow(b,2)+Math.pow(g,2))}function p(v,b,g,y){return Math.sqrt(Math.pow(v,2)+Math.pow(b,2)+Math.pow(g,2)+Math.pow(y,2))}function c(v,b){var g=b[0],y=b[1],k=b[2],h=b[3],M=p(g,y,k,h);M>1e-6?(v[0]=g/M,v[1]=y/M,v[2]=k/M,v[3]=h/M):(v[0]=v[1]=v[2]=0,v[3]=1)}function x(v,b,g){this.radius=a([g]),this.center=a(b),this.rotation=a(v),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 d=x.prototype;d.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},d.recalcMatrix=function(v){this.radius.curve(v),this.center.curve(v),this.rotation.curve(v);var b=this.computedRotation;c(b,b);var g=this.computedMatrix;n(g,b);var y=this.computedCenter,k=this.computedEye,h=this.computedUp,M=Math.exp(this.computedRadius[0]);k[0]=y[0]+M*g[2],k[1]=y[1]+M*g[6],k[2]=y[2]+M*g[10],h[0]=g[1],h[1]=g[5],h[2]=g[9];for(var A=0;A<3;++A){for(var C=0,L=0;L<3;++L)C+=g[A+4*L]*k[L];g[12+A]=-C}},d.getMatrix=function(v,b){this.recalcMatrix(v);var g=this.computedMatrix;if(b){for(var y=0;y<16;++y)b[y]=g[y];return b}return g},d.idle=function(v){this.center.idle(v),this.radius.idle(v),this.rotation.idle(v)},d.flush=function(v){this.center.flush(v),this.radius.flush(v),this.rotation.flush(v)},d.pan=function(v,b,g,y){b=b||0,g=g||0,y=y||0,this.recalcMatrix(v);var k=this.computedMatrix,h=k[1],M=k[5],A=k[9],C=u(h,M,A);h/=C,M/=C,A/=C;var L=k[0],P=k[4],I=k[8],R=L*h+P*M+I*A,U=u(L-=h*R,P-=M*R,I-=A*R);L/=U,P/=U,I/=U,k[2],k[6],k[10];var B=L*b+h*g,G=P*b+M*g,N=I*b+A*g;this.center.move(v,B,G,N);var j=Math.exp(this.computedRadius[0]);j=Math.max(1e-4,j+y),this.radius.set(v,Math.log(j))},d.rotate=function(v,b,g,y){this.recalcMatrix(v),b=b||0,g=g||0;var k=this.computedMatrix,h=k[0],M=k[4],A=k[8],C=k[1],L=k[5],P=k[9],I=k[2],R=k[6],U=k[10],B=b*h+g*C,G=b*M+g*L,N=b*A+g*P,j=-(R*N-U*G),V=-(U*B-I*N),H=-(I*G-R*B),ee=Math.sqrt(Math.max(0,1-Math.pow(j,2)-Math.pow(V,2)-Math.pow(H,2))),Q=p(j,V,H,ee);Q>1e-6?(j/=Q,V/=Q,H/=Q,ee/=Q):(j=V=H=0,ee=1);var X=this.computedRotation,Y=X[0],K=X[1],te=X[2],ie=X[3],oe=Y*ee+ie*j+K*H-te*V,se=K*ee+ie*V+te*j-Y*H,ce=te*ee+ie*H+Y*V-K*j,xe=ie*ee-Y*j-K*V-te*H;if(y){j=I,V=R,H=U;var pe=Math.sin(y)/u(j,V,H);j*=pe,V*=pe,H*=pe,xe=xe*(ee=Math.cos(b))-(oe=oe*ee+xe*j+se*H-ce*V)*j-(se=se*ee+xe*V+ce*j-oe*H)*V-(ce=ce*ee+xe*H+oe*V-se*j)*H}var de=p(oe,se,ce,xe);de>1e-6?(oe/=de,se/=de,ce/=de,xe/=de):(oe=se=ce=0,xe=1),this.rotation.set(v,oe,se,ce,xe)},d.lookAt=function(v,b,g,y){this.recalcMatrix(v),g=g||this.computedCenter,b=b||this.computedEye,y=y||this.computedUp;var k=this.computedMatrix;r(k,b,g,y);var h=this.computedRotation;i(h,k[0],k[1],k[2],k[4],k[5],k[6],k[8],k[9],k[10]),c(h,h),this.rotation.set(v,h[0],h[1],h[2],h[3]);for(var M=0,A=0;A<3;++A)M+=Math.pow(g[A]-b[A],2);this.radius.set(v,.5*Math.log(Math.max(M,1e-6))),this.center.set(v,g[0],g[1],g[2])},d.translate=function(v,b,g,y){this.center.move(v,b||0,g||0,y||0)},d.setMatrix=function(v,b){var g=this.computedRotation;i(g,b[0],b[1],b[2],b[4],b[5],b[6],b[8],b[9],b[10]),c(g,g),this.rotation.set(v,g[0],g[1],g[2],g[3]);var y=this.computedMatrix;o(y,b);var k=y[15];if(Math.abs(k)>1e-6){var h=y[12]/k,M=y[13]/k,A=y[14]/k;this.recalcMatrix(v);var C=Math.exp(this.computedRadius[0]);this.center.set(v,h-y[2]*C,M-y[6]*C,A-y[10]*C),this.radius.idle(v)}else this.center.idle(v),this.radius.idle(v)},d.setDistance=function(v,b){b>0&&this.radius.set(v,Math.log(b))},d.setDistanceLimits=function(v,b){v=v>0?Math.log(v):-1/0,b=b>0?Math.log(b):1/0,b=Math.max(b,v),this.radius.bounds[0][0]=v,this.radius.bounds[1][0]=b},d.getDistanceLimits=function(v){var b=this.radius.bounds;return v?(v[0]=Math.exp(b[0][0]),v[1]=Math.exp(b[1][0]),v):[Math.exp(b[0][0]),Math.exp(b[1][0])]},d.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]}},d.fromJSON=function(v){var b=this.lastT(),g=v.center;g&&this.center.set(b,g[0],g[1],g[2]);var y=v.rotation;y&&this.rotation.set(b,y[0],y[1],y[2],y[3]);var k=v.distance;k&&k>0&&this.radius.set(b,Math.log(k)),this.setDistanceLimits(v.zoomMin,v.zoomMax)}},4930:function(f,l,t){var a=t(6184);f.exports=function(r,n,o){return a(o=o!==void 0?o+"":" ",n)+r}},4405:function(f){f.exports=function(l,t){t||(t=[0,""]),l=String(l);var a=parseFloat(l,10);return t[0]=a,t[1]=l.match(/[\d.\-\+]*\s*(.*)/)[1]||"",t}},4166:function(f,l,t){f.exports=function(r,n){for(var o=0|n.length,i=r.length,u=[new Array(o),new Array(o)],p=0;p0){L=u[R][A][0],I=R;break}P=L[1^I];for(var U=0;U<2;++U)for(var B=u[U][A],G=0;G0&&(L=N,P=j,I=U)}return C||L&&d(L,I),P}function b(M,A){var C=u[A][M][0],L=[M];d(C,A);for(var P=C[1^A];;){for(;P!==M;)L.push(P),P=v(L[L.length-2],P,!1);if(u[0][M].length+u[1][M].length===0)break;var I=L[L.length-1],R=M,U=L[1],B=v(I,R,!0);if(a(n[I],n[R],n[U],n[B])<0)break;L.push(M),P=v(I,R)}return L}function g(M,A){return A[1]===A[A.length-1]}for(p=0;p0;){u[0][p].length;var h=b(p,y);g(0,h)?k.push.apply(k,h):(k.length>0&&x.push(k),k=h)}k.length>0&&x.push(k)}return x};var a=t(9398)},3959:function(f,l,t){f.exports=function(r,n){for(var o=a(r,n.length),i=new Array(n.length),u=new Array(n.length),p=[],c=0;c0;){var d=p.pop();i[d]=!1;var v=o[d];for(c=0;c0})).length,M=new Array(h),A=new Array(h);for(y=0;y0;){var se=ie.pop(),ce=V[se];u(ce,function(ze,Te){return ze-Te});var xe,pe=ce.length,de=oe[se];if(de===0){var he=k[se];xe=[he]}for(y=0;y=0||(oe[ye]=1^de,ie.push(ye),de===0&&(te(he=k[ye])||(he.reverse(),xe.push(he))))}de===0&&v.push(xe)}return v};var a=t(8348),r=t(4166),n=t(211),o=t(9660),i=t(9662),u=t(1215),p=t(3959);function c(x,d){for(var v=new Array(x),b=0;b0&&R[B]===U[0]))return 1;G=I[B-1]}for(var N=1;G;){var j=G.key,V=a(U,j[0],j[1]);if(j[0][0]0))return 0;N=-1,G=G.right}else if(V>0)G=G.left;else{if(!(V<0))return 0;N=1,G=G.right}}return N}}(L.slabs,L.coordinates);return v.length===0?P:function(I,R){return function(U){return I(U[0],U[1])?0:R(U)}}(u(v),P)};var a=t(417)[3],r=t(4385),n=t(9014),o=t(5070);function i(){return!0}function u(c){for(var x={},d=0;d=c?(R=1,M=c+2*v+g):M=v*(R=-v/c)+g):(R=0,b>=0?(U=0,M=g):-b>=d?(U=1,M=d+2*b+g):M=b*(U=-b/d)+g);else if(U<0)U=0,v>=0?(R=0,M=g):-v>=c?(R=1,M=c+2*v+g):M=v*(R=-v/c)+g;else{var B=1/I;M=(R*=B)*(c*R+x*(U*=B)+2*v)+U*(x*R+d*U+2*b)+g}else R<0?(C=d+b)>(A=x+v)?(L=C-A)>=(P=c-2*x+d)?(R=1,U=0,M=c+2*v+g):M=(R=L/P)*(c*R+x*(U=1-R)+2*v)+U*(x*R+d*U+2*b)+g:(R=0,C<=0?(U=1,M=d+2*b+g):b>=0?(U=0,M=g):M=b*(U=-b/d)+g):U<0?(C=c+v)>(A=x+b)?(L=C-A)>=(P=c-2*x+d)?(U=1,R=0,M=d+2*b+g):M=(R=1-(U=L/P))*(c*R+x*U+2*v)+U*(x*R+d*U+2*b)+g:(U=0,C<=0?(R=1,M=c+2*v+g):v>=0?(R=0,M=g):M=v*(R=-v/c)+g):(L=d+b-x-v)<=0?(R=0,U=1,M=d+2*b+g):L>=(P=c-2*x+d)?(R=1,U=0,M=c+2*v+g):M=(R=L/P)*(c*R+x*(U=1-R)+2*v)+U*(x*R+d*U+2*b)+g;var G=1-R-U;for(p=0;p0){var d=o[u-1];if(a(c,d)===0&&n(d)!==x){u-=1;continue}}o[u++]=c}}return o.length=u,o}},6184:function(f){var l,t="";f.exports=function(a,r){if(typeof a!="string")throw new TypeError("expected a string");if(r===1)return a;if(r===2)return a+a;var n=a.length*r;if(l!==a||l===void 0)l=a,t="";else if(t.length>=n)return t.substr(0,n);for(;n>t.length&&r>1;)1&r&&(t+=a),r>>=1,a+=a;return t=(t+=a).substr(0,n)}},8161:function(f,l,t){f.exports=t.g.performance&&t.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},402:function(f){f.exports=function(l){for(var t=l.length,a=l[l.length-1],r=t,n=t-2;n>=0;--n){var o=a,i=l[n];(p=i-((a=o+i)-o))&&(l[--r]=a,a=p)}var u=0;for(n=r;n0){if(C<=0)return L;M=A+C}else{if(!(A<0)||C>=0)return L;M=-(A+C)}var P=33306690738754716e-32*M;return L>=P||L<=-P?L:x(y,k,h)},function(y,k,h,M){var A=y[0]-M[0],C=k[0]-M[0],L=h[0]-M[0],P=y[1]-M[1],I=k[1]-M[1],R=h[1]-M[1],U=y[2]-M[2],B=k[2]-M[2],G=h[2]-M[2],N=C*R,j=L*I,V=L*P,H=A*R,ee=A*I,Q=C*P,X=U*(N-j)+B*(V-H)+G*(ee-Q),Y=7771561172376103e-31*((Math.abs(N)+Math.abs(j))*Math.abs(U)+(Math.abs(V)+Math.abs(H))*Math.abs(B)+(Math.abs(ee)+Math.abs(Q))*Math.abs(G));return X>Y||-X>Y?X:d(y,k,h,M)}];function b(y){var k=v[y.length];return k||(k=v[y.length]=c(y.length)),k.apply(void 0,y)}function g(y,k,h,M,A,C,L){return function(P,I,R,U,B){switch(arguments.length){case 0:case 1:return 0;case 2:return M(P,I);case 3:return A(P,I,R);case 4:return C(P,I,R,U);case 5:return L(P,I,R,U,B)}for(var G=new Array(arguments.length),N=0;N0&&p>0||u<0&&p<0)return!1;var c=a(o,r,n),x=a(i,r,n);return!(c>0&&x>0||c<0&&x<0)&&(u!==0||p!==0||c!==0||x!==0||function(d,v,b,g){for(var y=0;y<2;++y){var k=d[y],h=v[y],M=Math.min(k,h),A=Math.max(k,h),C=b[y],L=g[y],P=Math.min(C,L);if(Math.max(C,L)=r?(n=d,(p+=1)=r?(n=d,(p+=1)>1,d=r[2*x+1];if(d===u)return x;u>1,d=r[2*x+1];if(d===u)return x;u>1,d=r[2*x+1];if(d===u)return x;u0)-(r<0)},l.abs=function(r){var n=r>>31;return(r^n)-n},l.min=function(r,n){return n^(r^n)&-(r65535)<<4,n|=o=((r>>>=n)>255)<<3,n|=o=((r>>>=o)>15)<<2,(n|=o=((r>>>=o)>3)<<1)|(r>>>=o)>>1},l.log10=function(r){return r>=1e9?9:r>=1e8?8:r>=1e7?7:r>=1e6?6:r>=1e5?5:r>=1e4?4:r>=1e3?3:r>=100?2:r>=10?1:0},l.popCount=function(r){return 16843009*((r=(858993459&(r-=r>>>1&1431655765))+(r>>>2&858993459))+(r>>>4)&252645135)>>>24},l.countTrailingZeros=t,l.nextPow2=function(r){return r+=r===0,--r,r|=r>>>1,r|=r>>>2,r|=r>>>4,1+((r|=r>>>8)|r>>>16)},l.prevPow2=function(r){return r|=r>>>1,r|=r>>>2,r|=r>>>4,r|=r>>>8,(r|=r>>>16)-(r>>>1)},l.parity=function(r){return r^=r>>>16,r^=r>>>8,r^=r>>>4,27030>>>(r&=15)&1};var a=new Array(256);(function(r){for(var n=0;n<256;++n){var o=n,i=n,u=7;for(o>>>=1;o;o>>>=1)i<<=1,i|=1&o,--u;r[n]=i<>>8&255]<<16|a[r>>>16&255]<<8|a[r>>>24&255]},l.interleave2=function(r,n){return(r=1431655765&((r=858993459&((r=252645135&((r=16711935&((r&=65535)|r<<8))|r<<4))|r<<2))|r<<1))|(n=1431655765&((n=858993459&((n=252645135&((n=16711935&((n&=65535)|n<<8))|n<<4))|n<<2))|n<<1))<<1},l.deinterleave2=function(r,n){return(r=65535&((r=16711935&((r=252645135&((r=858993459&((r=r>>>n&1431655765)|r>>>1))|r>>>2))|r>>>4))|r>>>16))<<16>>16},l.interleave3=function(r,n,o){return r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2),(r|=(n=1227133513&((n=3272356035&((n=251719695&((n=4278190335&((n&=1023)|n<<16))|n<<8))|n<<4))|n<<2))<<1)|(o=1227133513&((o=3272356035&((o=251719695&((o=4278190335&((o&=1023)|o<<16))|o<<8))|o<<4))|o<<2))<<2},l.deinterleave3=function(r,n){return(r=1023&((r=4278190335&((r=251719695&((r=3272356035&((r=r>>>n&1227133513)|r>>>2))|r>>>4))|r>>>8))|r>>>16))<<22>>22},l.nextCombination=function(r){var n=r|r-1;return n+1|(~n&-~n)-1>>>t(r)+1}},6656:function(f,l,t){var a=t(9392),r=t(9521);function n(d,v){var b=d.length,g=d.length-v.length,y=Math.min;if(g)return g;switch(b){case 0:return 0;case 1:return d[0]-v[0];case 2:return(M=d[0]+d[1]-v[0]-v[1])||y(d[0],d[1])-y(v[0],v[1]);case 3:var k=d[0]+d[1],h=v[0]+v[1];if(M=k+d[2]-(h+v[2]))return M;var M,A=y(d[0],d[1]),C=y(v[0],v[1]);return(M=y(A,d[2])-y(C,v[2]))||y(A+d[2],k)-y(C+v[2],h);default:var L=d.slice(0);L.sort();var P=v.slice(0);P.sort();for(var I=0;I>1,h=n(d[k],v);h<=0?(h===0&&(y=k),b=k+1):h>0&&(g=k-1)}return y}function c(d,v){for(var b=new Array(d.length),g=0,y=b.length;g=d.length||n(d[R],k)!==0););}return b}function x(d,v){if(v<0)return[];for(var b=[],g=(1<>>C&1&&A.push(y[C]);v.push(A)}return i(v)},l.skeleton=x,l.boundary=function(d){for(var v=[],b=0,g=d.length;b>1:(Q>>1)-1}function L(Q){for(var X=A(Q);;){var Y=X,K=2*Q+1,te=2*(Q+1),ie=Q;if(K0;){var Y=C(Q);if(!(Y>=0&&X0){var Q=B[0];return M(0,N-1),N-=1,L(0),Q}return-1}function R(Q,X){var Y=B[Q];return d[Y]===X?Q:(d[Y]=-1/0,P(Q),I(),d[Y]=X,P((N+=1)-1))}function U(Q){if(!v[Q]){v[Q]=!0;var X=c[Q],Y=x[Q];c[Y]>=0&&(c[Y]=X),x[X]>=0&&(x[X]=Y),G[X]>=0&&R(G[X],h(X)),G[Y]>=0&&R(G[Y],h(Y))}}var B=[],G=new Array(u);for(b=0;b>1;b>=0;--b)L(b);for(;;){var j=I();if(j<0||d[j]>i)break;U(j)}var V=[];for(b=0;b=0&&Y>=0&&X!==Y){var K=G[X],te=G[Y];K!==te&&ee.push([K,te])}}),r.unique(r.normalize(ee)),{positions:V,edges:ee}};var a=t(417),r=t(6656)},6638:function(f,l,t){f.exports=function(n,o){var i,u,p,c;if(o[0][0]o[1][0]))return r(o,n);i=o[1],u=o[0]}if(n[0][0]n[1][0]))return-r(n,o);p=n[1],c=n[0]}var x=a(i,u,c),d=a(i,u,p);if(x<0){if(d<=0)return x}else if(x>0){if(d>=0)return x}else if(d)return d;if(x=a(c,p,u),d=a(c,p,i),x<0){if(d<=0)return x}else if(x>0){if(d>=0)return x}else if(d)return d;return u[0]-c[0]};var a=t(417);function r(n,o){var i,u,p,c;if(o[0][0]o[1][0])){var x=Math.min(n[0][1],n[1][1]),d=Math.max(n[0][1],n[1][1]),v=Math.min(o[0][1],o[1][1]),b=Math.max(o[0][1],o[1][1]);return db?x-b:d-b}i=o[1],u=o[0]}n[0][1]0)if(v[0]!==k[1][0])b=d,d=d.right;else{if(M=p(d.right,v))return M;d=d.left}else{if(v[0]!==k[1][0])return d;var M;if(M=p(d.right,v))return M;d=d.left}}return b}function c(d,v,b,g){this.y=d,this.index=v,this.start=b,this.closed=g}function x(d,v,b,g){this.x=d,this.segment=v,this.create=b,this.index=g}i.prototype.castUp=function(d){var v=a.le(this.coordinates,d[0]);if(v<0)return-1;this.slabs[v];var b=p(this.slabs[v],d),g=-1;if(b&&(g=b.value),this.coordinates[v]===d[0]){var y=null;if(b&&(y=b.key),v>0){var k=p(this.slabs[v-1],d);k&&(y?o(k.key,y)>0&&(y=k.key,g=k.value):(g=k.value,y=k.key))}var h=this.horizontal[v];if(h.length>0){var M=a.ge(h,d[1],u);if(M=h.length)return g;A=h[M]}}if(A.start)if(y){var C=n(y[0],y[1],[d[0],A.y]);y[0][0]>y[1][0]&&(C=-C),C>0&&(g=A.index)}else g=A.index;else A.y!==d[1]&&(g=A.index)}}}return g}},4670:function(f,l,t){var a=t(9130),r=t(9662);function n(i,u){var p=r(a(i,u),[u[u.length-1]]);return p[p.length-1]}function o(i,u,p,c){var x=-u/(c-u);x<0?x=0:x>1&&(x=1);for(var d=1-x,v=i.length,b=new Array(v),g=0;g0||x>0&&g<0){var y=o(d,g,v,x);p.push(y),c.push(y.slice())}g<0?c.push(v.slice()):g>0?p.push(v.slice()):(p.push(v.slice()),c.push(v.slice())),x=g}return{positive:p,negative:c}},f.exports.positive=function(i,u){for(var p=[],c=n(i[i.length-1],u),x=i[i.length-1],d=i[0],v=0;v0||c>0&&b<0)&&p.push(o(x,b,d,c)),b>=0&&p.push(d.slice()),c=b}return p},f.exports.negative=function(i,u){for(var p=[],c=n(i[i.length-1],u),x=i[i.length-1],d=i[0],v=0;v0||c>0&&b<0)&&p.push(o(x,b,d,c)),b<=0&&p.push(d.slice()),c=b}return p}},8974:function(f,l,t){var a;(function(){var r={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 n(c){return i(p(c),arguments)}function o(c,x){return n.apply(null,[c].concat(x||[]))}function i(c,x){var d,v,b,g,y,k,h,M,A,C=1,L=c.length,P="";for(v=0;v=0),g.type){case"b":d=parseInt(d,10).toString(2);break;case"c":d=String.fromCharCode(parseInt(d,10));break;case"d":case"i":d=parseInt(d,10);break;case"j":d=JSON.stringify(d,null,g.width?parseInt(g.width):0);break;case"e":d=g.precision?parseFloat(d).toExponential(g.precision):parseFloat(d).toExponential();break;case"f":d=g.precision?parseFloat(d).toFixed(g.precision):parseFloat(d);break;case"g":d=g.precision?String(Number(d.toPrecision(g.precision))):parseFloat(d);break;case"o":d=(parseInt(d,10)>>>0).toString(8);break;case"s":d=String(d),d=g.precision?d.substring(0,g.precision):d;break;case"t":d=String(!!d),d=g.precision?d.substring(0,g.precision):d;break;case"T":d=Object.prototype.toString.call(d).slice(8,-1).toLowerCase(),d=g.precision?d.substring(0,g.precision):d;break;case"u":d=parseInt(d,10)>>>0;break;case"v":d=d.valueOf(),d=g.precision?d.substring(0,g.precision):d;break;case"x":d=(parseInt(d,10)>>>0).toString(16);break;case"X":d=(parseInt(d,10)>>>0).toString(16).toUpperCase()}r.json.test(g.type)?P+=d:(!r.number.test(g.type)||M&&!g.sign?A="":(A=M?"+":"-",d=d.toString().replace(r.sign,"")),k=g.pad_char?g.pad_char==="0"?"0":g.pad_char.charAt(1):" ",h=g.width-(A+d).length,y=g.width&&h>0?k.repeat(h):"",P+=g.align?A+d+y:k==="0"?A+y+d:y+A+d)}return P}var u=Object.create(null);function p(c){if(u[c])return u[c];for(var x,d=c,v=[],b=0;d;){if((x=r.text.exec(d))!==null)v.push(x[0]);else if((x=r.modulo.exec(d))!==null)v.push("%");else{if((x=r.placeholder.exec(d))===null)throw new SyntaxError("[sprintf] unexpected placeholder");if(x[2]){b|=1;var g=[],y=x[2],k=[];if((k=r.key.exec(y))===null)throw new SyntaxError("[sprintf] failed to parse named argument key");for(g.push(k[1]);(y=y.substring(k[0].length))!=="";)if((k=r.key_access.exec(y))!==null)g.push(k[1]);else{if((k=r.index_access.exec(y))===null)throw new SyntaxError("[sprintf] failed to parse named argument key");g.push(k[1])}x[2]=g}else b|=2;if(b===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");v.push({placeholder:x[0],param_no:x[1],keys:x[2],sign:x[3],pad_char:x[4],align:x[5],width:x[6],precision:x[7],type:x[8]})}d=d.substring(x[0].length)}return u[c]=v}l.sprintf=n,l.vsprintf=o,typeof window<"u"&&(window.sprintf=n,window.vsprintf=o,(a=function(){return{sprintf:n,vsprintf:o}}.call(l,t,l,f))===void 0||(f.exports=a))})()},4162:function(f,l,t){f.exports=function(i,u){if(i.dimension<=0)return{positions:[],cells:[]};if(i.dimension===1)return function(x,d){for(var v=r(x,d),b=v.length,g=new Array(b),y=new Array(b),k=0;kb|0},vertex:function(x,d,v,b,g,y,k,h,M,A,C,L,P){var I=(k<<0)+(h<<1)+(M<<2)+(A<<3)|0;if(I!==0&&I!==15)switch(I){case 0:case 15:C.push([x-.5,d-.5]);break;case 1:C.push([x-.25-.25*(b+v-2*P)/(v-b),d-.25-.25*(g+v-2*P)/(v-g)]);break;case 2:C.push([x-.75-.25*(-b-v+2*P)/(b-v),d-.25-.25*(y+b-2*P)/(b-y)]);break;case 3:C.push([x-.5,d-.5-.5*(g+v+y+b-4*P)/(v-g+b-y)]);break;case 4:C.push([x-.25-.25*(y+g-2*P)/(g-y),d-.75-.25*(-g-v+2*P)/(g-v)]);break;case 5:C.push([x-.5-.5*(b+v+y+g-4*P)/(v-b+g-y),d-.5]);break;case 6:C.push([x-.5-.25*(-b-v+y+g)/(b-v+g-y),d-.5-.25*(-g-v+y+b)/(g-v+b-y)]);break;case 7:C.push([x-.75-.25*(y+g-2*P)/(g-y),d-.75-.25*(y+b-2*P)/(b-y)]);break;case 8:C.push([x-.75-.25*(-y-g+2*P)/(y-g),d-.75-.25*(-y-b+2*P)/(y-b)]);break;case 9:C.push([x-.5-.25*(b+v+-y-g)/(v-b+y-g),d-.5-.25*(g+v+-y-b)/(v-g+y-b)]);break;case 10:C.push([x-.5-.5*(-b-v-y-g+4*P)/(b-v+y-g),d-.5]);break;case 11:C.push([x-.25-.25*(-y-g+2*P)/(y-g),d-.75-.25*(g+v-2*P)/(v-g)]);break;case 12:C.push([x-.5,d-.5-.5*(-g-v-y-b+4*P)/(g-v+y-b)]);break;case 13:C.push([x-.75-.25*(b+v-2*P)/(v-b),d-.25-.25*(-y-b+2*P)/(y-b)]);break;case 14:C.push([x-.25-.25*(-b-v+2*P)/(b-v),d-.25-.25*(-g-v+2*P)/(g-v)])}},cell:function(x,d,v,b,g,y,k,h,M){g?h.push([x,d]):h.push([d,x])}});return function(x,d){var v=[],b=[];return c(x,v,b,d),{positions:v,cells:b}}}},o={}},6946:function(f,l,t){f.exports=function o(i,u,p){p=p||{};var c=n[i];c||(c=n[i]={" ":{data:new Float32Array(0),shape:.2}});var x=c[u];if(!x)if(u.length<=1||!/\d/.test(u))x=c[u]=function(L){for(var P=L.cells,I=L.positions,R=new Float32Array(6*P.length),U=0,B=0,G=0;G0&&(g+=.02);var k=new Float32Array(b),h=0,M=-.5*g;for(y=0;yMath.max(k,h)?M[2]=1:k>Math.max(y,h)?M[0]=1:M[1]=1;for(var A=0,C=0,L=0;L<3;++L)A+=g[L]*g[L],C+=M[L]*g[L];for(L=0;L<3;++L)M[L]-=C/A*g[L];return i(M,M),M}function d(g,y,k,h,M,A,C,L){this.center=a(k),this.up=a(h),this.right=a(M),this.radius=a([A]),this.angle=a([C,L]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(g,y),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 P=0;P<16;++P)this.computedMatrix[P]=.5;this.recalcMatrix(0)}var v=d.prototype;v.setDistanceLimits=function(g,y){g=g>0?Math.log(g):-1/0,y=y>0?Math.log(y):1/0,y=Math.max(y,g),this.radius.bounds[0][0]=g,this.radius.bounds[1][0]=y},v.getDistanceLimits=function(g){var y=this.radius.bounds[0];return g?(g[0]=Math.exp(y[0][0]),g[1]=Math.exp(y[1][0]),g):[Math.exp(y[0][0]),Math.exp(y[1][0])]},v.recalcMatrix=function(g){this.center.curve(g),this.up.curve(g),this.right.curve(g),this.radius.curve(g),this.angle.curve(g);for(var y=this.computedUp,k=this.computedRight,h=0,M=0,A=0;A<3;++A)M+=y[A]*k[A],h+=y[A]*y[A];var C=Math.sqrt(h),L=0;for(A=0;A<3;++A)k[A]-=y[A]*M/h,L+=k[A]*k[A],y[A]/=C;var P=Math.sqrt(L);for(A=0;A<3;++A)k[A]/=P;var I=this.computedToward;o(I,y,k),i(I,I);var R=Math.exp(this.computedRadius[0]),U=this.computedAngle[0],B=this.computedAngle[1],G=Math.cos(U),N=Math.sin(U),j=Math.cos(B),V=Math.sin(B),H=this.computedCenter,ee=G*j,Q=N*j,X=V,Y=-G*V,K=-N*V,te=j,ie=this.computedEye,oe=this.computedMatrix;for(A=0;A<3;++A){var se=ee*k[A]+Q*I[A]+X*y[A];oe[4*A+1]=Y*k[A]+K*I[A]+te*y[A],oe[4*A+2]=se,oe[4*A+3]=0}var ce=oe[1],xe=oe[5],pe=oe[9],de=oe[2],he=oe[6],ye=oe[10],ze=xe*ye-pe*he,Te=pe*de-ce*ye,Ae=ce*he-xe*de,Me=p(ze,Te,Ae);for(ze/=Me,Te/=Me,Ae/=Me,oe[0]=ze,oe[4]=Te,oe[8]=Ae,A=0;A<3;++A)ie[A]=H[A]+oe[2+4*A]*R;for(A=0;A<3;++A){L=0;for(var Ce=0;Ce<3;++Ce)L+=oe[A+4*Ce]*ie[Ce];oe[12+A]=-L}oe[15]=1},v.getMatrix=function(g,y){this.recalcMatrix(g);var k=this.computedMatrix;if(y){for(var h=0;h<16;++h)y[h]=k[h];return y}return k};var b=[0,0,0];v.rotate=function(g,y,k,h){if(this.angle.move(g,y,k),h){this.recalcMatrix(g);var M=this.computedMatrix;b[0]=M[2],b[1]=M[6],b[2]=M[10];for(var A=this.computedUp,C=this.computedRight,L=this.computedToward,P=0;P<3;++P)M[4*P]=A[P],M[4*P+1]=C[P],M[4*P+2]=L[P];for(n(M,M,h,b),P=0;P<3;++P)A[P]=M[4*P],C[P]=M[4*P+1];this.up.set(g,A[0],A[1],A[2]),this.right.set(g,C[0],C[1],C[2])}},v.pan=function(g,y,k,h){y=y||0,k=k||0,h=h||0,this.recalcMatrix(g);var M=this.computedMatrix,A=(Math.exp(this.computedRadius[0]),M[1]),C=M[5],L=M[9],P=p(A,C,L);A/=P,C/=P,L/=P;var I=M[0],R=M[4],U=M[8],B=I*A+R*C+U*L,G=p(I-=A*B,R-=C*B,U-=L*B),N=(I/=G)*y+A*k,j=(R/=G)*y+C*k,V=(U/=G)*y+L*k;this.center.move(g,N,j,V);var H=Math.exp(this.computedRadius[0]);H=Math.max(1e-4,H+h),this.radius.set(g,Math.log(H))},v.translate=function(g,y,k,h){this.center.move(g,y||0,k||0,h||0)},v.setMatrix=function(g,y,k,h){var M=1;typeof k=="number"&&(M=0|k),(M<0||M>3)&&(M=1);var A=(M+2)%3;y||(this.recalcMatrix(g),y=this.computedMatrix);var C=y[M],L=y[M+4],P=y[M+8];if(h){var I=Math.abs(C),R=Math.abs(L),U=Math.abs(P),B=Math.max(I,R,U);I===B?(C=C<0?-1:1,L=P=0):U===B?(P=P<0?-1:1,C=L=0):(L=L<0?-1:1,C=P=0)}else{var G=p(C,L,P);C/=G,L/=G,P/=G}var N,j,V=y[A],H=y[A+4],ee=y[A+8],Q=V*C+H*L+ee*P,X=p(V-=C*Q,H-=L*Q,ee-=P*Q),Y=L*(ee/=X)-P*(H/=X),K=P*(V/=X)-C*ee,te=C*H-L*V,ie=p(Y,K,te);if(Y/=ie,K/=ie,te/=ie,this.center.jump(g,we,Ee,Ue),this.radius.idle(g),this.up.jump(g,C,L,P),this.right.jump(g,V,H,ee),M===2){var oe=y[1],se=y[5],ce=y[9],xe=oe*V+se*H+ce*ee,pe=oe*Y+se*K+ce*te;N=ze<0?-Math.PI/2:Math.PI/2,j=Math.atan2(pe,xe)}else{var de=y[2],he=y[6],ye=y[10],ze=de*C+he*L+ye*P,Te=de*V+he*H+ye*ee,Ae=de*Y+he*K+ye*te;N=Math.asin(c(ze)),j=Math.atan2(Ae,Te)}this.angle.jump(g,j,N),this.recalcMatrix(g);var Me=y[2],Ce=y[6],ne=y[10],ue=this.computedMatrix;r(ue,y);var me=ue[15],we=ue[12]/me,Ee=ue[13]/me,Ue=ue[14]/me,De=Math.exp(this.computedRadius[0]);this.center.jump(g,we-Me*De,Ee-Ce*De,Ue-ne*De)},v.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},v.idle=function(g){this.center.idle(g),this.up.idle(g),this.right.idle(g),this.radius.idle(g),this.angle.idle(g)},v.flush=function(g){this.center.flush(g),this.up.flush(g),this.right.flush(g),this.radius.flush(g),this.angle.flush(g)},v.setDistance=function(g,y){y>0&&this.radius.set(g,Math.log(y))},v.lookAt=function(g,y,k,h){this.recalcMatrix(g),y=y||this.computedEye,k=k||this.computedCenter;var M=(h=h||this.computedUp)[0],A=h[1],C=h[2],L=p(M,A,C);if(!(L<1e-6)){M/=L,A/=L,C/=L;var P=y[0]-k[0],I=y[1]-k[1],R=y[2]-k[2],U=p(P,I,R);if(!(U<1e-6)){P/=U,I/=U,R/=U;var B=this.computedRight,G=B[0],N=B[1],j=B[2],V=M*G+A*N+C*j,H=p(G-=V*M,N-=V*A,j-=V*C);if(!(H<.01&&(H=p(G=A*R-C*I,N=C*P-M*R,j=M*I-A*P))<1e-6)){G/=H,N/=H,j/=H,this.up.set(g,M,A,C),this.right.set(g,G,N,j),this.center.set(g,k[0],k[1],k[2]),this.radius.set(g,Math.log(U));var ee=A*j-C*N,Q=C*G-M*j,X=M*N-A*G,Y=p(ee,Q,X),K=M*P+A*I+C*R,te=G*P+N*I+j*R,ie=(ee/=Y)*P+(Q/=Y)*I+(X/=Y)*R,oe=Math.asin(c(K)),se=Math.atan2(ie,te),ce=this.angle._state,xe=ce[ce.length-1],pe=ce[ce.length-2];xe%=2*Math.PI;var de=Math.abs(xe+2*Math.PI-se),he=Math.abs(xe-se),ye=Math.abs(xe-2*Math.PI-se);de0?N.pop():new ArrayBuffer(B)}function b(B){return new Uint8Array(v(B),0,B)}function g(B){return new Uint16Array(v(2*B),0,B)}function y(B){return new Uint32Array(v(4*B),0,B)}function k(B){return new Int8Array(v(B),0,B)}function h(B){return new Int16Array(v(2*B),0,B)}function M(B){return new Int32Array(v(4*B),0,B)}function A(B){return new Float32Array(v(4*B),0,B)}function C(B){return new Float64Array(v(8*B),0,B)}function L(B){return o?new Uint8ClampedArray(v(B),0,B):b(B)}function P(B){return i?new BigUint64Array(v(8*B),0,B):null}function I(B){return u?new BigInt64Array(v(8*B),0,B):null}function R(B){return new DataView(v(B),0,B)}function U(B){B=a.nextPow2(B);var G=a.log2(B),N=x[G];return N.length>0?N.pop():new n(B)}l.free=function(B){if(n.isBuffer(B))x[a.log2(B.length)].push(B);else{if(Object.prototype.toString.call(B)!=="[object ArrayBuffer]"&&(B=B.buffer),!B)return;var G=B.length||B.byteLength,N=0|a.log2(G);c[N].push(B)}},l.freeUint8=l.freeUint16=l.freeUint32=l.freeBigUint64=l.freeInt8=l.freeInt16=l.freeInt32=l.freeBigInt64=l.freeFloat32=l.freeFloat=l.freeFloat64=l.freeDouble=l.freeUint8Clamped=l.freeDataView=function(B){d(B.buffer)},l.freeArrayBuffer=d,l.freeBuffer=function(B){x[a.log2(B.length)].push(B)},l.malloc=function(B,G){if(G===void 0||G==="arraybuffer")return v(B);switch(G){case"uint8":return b(B);case"uint16":return g(B);case"uint32":return y(B);case"int8":return k(B);case"int16":return h(B);case"int32":return M(B);case"float":case"float32":return A(B);case"double":case"float64":return C(B);case"uint8_clamped":return L(B);case"bigint64":return I(B);case"biguint64":return P(B);case"buffer":return U(B);case"data":case"dataview":return R(B);default:return null}return null},l.mallocArrayBuffer=v,l.mallocUint8=b,l.mallocUint16=g,l.mallocUint32=y,l.mallocInt8=k,l.mallocInt16=h,l.mallocInt32=M,l.mallocFloat32=l.mallocFloat=A,l.mallocFloat64=l.mallocDouble=C,l.mallocUint8Clamped=L,l.mallocBigUint64=P,l.mallocBigInt64=I,l.mallocDataView=R,l.mallocBuffer=U,l.clearCache=function(){for(var B=0;B<32;++B)p.UINT8[B].length=0,p.UINT16[B].length=0,p.UINT32[B].length=0,p.INT8[B].length=0,p.INT16[B].length=0,p.INT32[B].length=0,p.FLOAT[B].length=0,p.DOUBLE[B].length=0,p.BIGUINT64[B].length=0,p.BIGINT64[B].length=0,p.UINT8C[B].length=0,c[B].length=0,x[B].length=0}},1731:function(f){function l(a){this.roots=new Array(a),this.ranks=new Array(a);for(var r=0;r0&&(M=h.size),h.lineSpacing&&h.lineSpacing>0&&(A=h.lineSpacing),h.styletags&&h.styletags.breaklines&&(C.breaklines=!!h.styletags.breaklines),h.styletags&&h.styletags.bolds&&(C.bolds=!!h.styletags.bolds),h.styletags&&h.styletags.italics&&(C.italics=!!h.styletags.italics),h.styletags&&h.styletags.subscripts&&(C.subscripts=!!h.styletags.subscripts),h.styletags&&h.styletags.superscripts&&(C.superscripts=!!h.styletags.superscripts)),k.font=[h.fontStyle,h.fontVariant,h.fontWeight,M+"px",h.font].filter(function(L){return L}).join(" "),k.textAlign="start",k.textBaseline="alphabetic",k.direction="ltr",b(function(L,P,I,R,U,B){I=I.replace(/\n/g,""),I=B.breaklines===!0?I.replace(/\/g,` +`):I.replace(/\/g," ");var G="",N=[];for(ee=0;ee-1?parseInt(ue[1+Ee]):0,je=Ue>-1?parseInt(me[1+Ue]):0;De!==je&&(we=we.replace(ye(),"?px "),Y*=Math.pow(.75,je-De),we=we.replace("?px ",ye())),X+=.25*ie*(je-De)}if(B.superscripts===!0){var ge=ue.indexOf("+"),be=me.indexOf("+"),Se=ge>-1?parseInt(ue[1+ge]):0,Ne=be>-1?parseInt(me[1+be]):0;Se!==Ne&&(we=we.replace(ye(),"?px "),Y*=Math.pow(.75,Ne-Se),we=we.replace("?px ",ye())),X-=.25*ie*(Ne-Se)}if(B.bolds===!0){var Ye=ue.indexOf(p)>-1,Ze=me.indexOf(p)>-1;!Ye&&Ze&&(we=st?we.replace("italic ","italic bold "):"bold "+we),Ye&&!Ze&&(we=we.replace("bold ",""))}if(B.italics===!0){var st=ue.indexOf(c)>-1,ot=me.indexOf(c)>-1;!st&&ot&&(we="italic "+we),st&&!ot&&(we=we.replace("italic ",""))}P.font=we}for(H=0;H",A="",C=M.length,L=A.length,P=y[0]==="+"||y[0]==="-",I=0,R=-L;I>-1&&(I=k.indexOf(M,I))!==-1&&(R=k.indexOf(A,I+C))!==-1&&!(R<=I);){for(var U=I;U=R)h[U]=null,k=k.substr(0,U)+" "+k.substr(U+1);else if(h[U]!==null){var B=h[U].indexOf(y[0]);B===-1?h[U]+=y:P&&(h[U]=h[U].substr(0,B+1)+(1+parseInt(h[U][B+1]))+h[U].substr(B+2))}var G=I+C,N=k.substr(G,R-G).indexOf(M);I=N!==-1?N:R+L}return h}function d(g,y){var k=a(g,128);return y?n(k.cells,k.positions,.25):{edges:k.cells,positions:k.positions}}function v(g,y,k,h){var M=d(g,h),A=function(H,ee,Q){for(var X=ee.textAlign||"start",Y=ee.textBaseline||"alphabetic",K=[1<<30,1<<30],te=[0,0],ie=H.length,oe=0;oe"u"||!ses.ok||ses.ok()){typeof ses<"u"&&(ses.weakMapPermitHostObjects=y);var l=!1;if(typeof WeakMap=="function"){var t=WeakMap;if(!(typeof navigator<"u"&&/Firefox/.test(navigator.userAgent))){var a=new t,r=Object.freeze({});if(a.set(r,1),a.get(r)===1)return void(f.exports=WeakMap);l=!0}}var n=Object.getOwnPropertyNames,o=Object.defineProperty,i=Object.isExtensible,u="weakmap:",p="weakmap:ident:"+Math.random()+"___";if(typeof crypto<"u"&&typeof crypto.getRandomValues=="function"&&typeof ArrayBuffer=="function"&&typeof Uint8Array=="function"){var c=new ArrayBuffer(25),x=new Uint8Array(c);crypto.getRandomValues(x),p="weakmap:rand:"+Array.prototype.map.call(x,function(C){return(C%36).toString(36)}).join("")+"___"}if(o(Object,"getOwnPropertyNames",{value:function(C){return n(C).filter(k)}}),"getPropertyNames"in Object){var d=Object.getPropertyNames;o(Object,"getPropertyNames",{value:function(C){return d(C).filter(k)}})}(function(){var C=Object.freeze;o(Object,"freeze",{value:function(I){return h(I),C(I)}});var L=Object.seal;o(Object,"seal",{value:function(I){return h(I),L(I)}});var P=Object.preventExtensions;o(Object,"preventExtensions",{value:function(I){return h(I),P(I)}})})();var v=!1,b=0,g=function(){this instanceof g||A();var C=[],L=[],P=b++;return Object.create(g.prototype,{get___:{value:M(function(I,R){var U,B=h(I);return B?P in B?B[P]:R:(U=C.indexOf(I))>=0?L[U]:R})},has___:{value:M(function(I){var R=h(I);return R?P in R:C.indexOf(I)>=0})},set___:{value:M(function(I,R){var U,B=h(I);return B?B[P]=R:(U=C.indexOf(I))>=0?L[U]=R:(U=C.length,L[U]=R,C[U]=I),this})},delete___:{value:M(function(I){var R,U,B=h(I);return B?P in B&&delete B[P]:!((R=C.indexOf(I))<0||(U=C.length-1,C[R]=void 0,L[R]=L[U],C[R]=C[U],C.length=U,L.length=U,0))})}})};g.prototype=Object.create(Object.prototype,{get:{value:function(C,L){return this.get___(C,L)},writable:!0,configurable:!0},has:{value:function(C){return this.has___(C)},writable:!0,configurable:!0},set:{value:function(C,L){return this.set___(C,L)},writable:!0,configurable:!0},delete:{value:function(C){return this.delete___(C)},writable:!0,configurable:!0}}),typeof t=="function"?function(){function C(){this instanceof g||A();var L,P=new t,I=void 0,R=!1;return L=l?function(U,B){return P.set(U,B),P.has(U)||(I||(I=new g),I.set(U,B)),this}:function(U,B){if(R)try{P.set(U,B)}catch{I||(I=new g),I.set___(U,B)}else P.set(U,B);return this},Object.create(g.prototype,{get___:{value:M(function(U,B){return I?P.has(U)?P.get(U):I.get___(U,B):P.get(U,B)})},has___:{value:M(function(U){return P.has(U)||!!I&&I.has___(U)})},set___:{value:M(L)},delete___:{value:M(function(U){var B=!!P.delete(U);return I&&I.delete___(U)||B})},permitHostObjects___:{value:M(function(U){if(U!==y)throw new Error("bogus call to permitHostObjects___");R=!0})}})}l&&typeof Proxy<"u"&&(Proxy=void 0),C.prototype=g.prototype,f.exports=C,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy<"u"&&(Proxy=void 0),f.exports=g)}function y(C){C.permitHostObjects___&&C.permitHostObjects___(y)}function k(C){return!(C.substr(0,u.length)==u&&C.substr(C.length-3)==="___")}function h(C){if(C!==Object(C))throw new TypeError("Not an object: "+C);var L=C[p];if(L&&L.key===C)return L;if(i(C)){L={key:C};try{return o(C,p,{value:L,writable:!1,enumerable:!1,configurable:!1}),L}catch{return}}}function M(C){return C.prototype=null,Object.freeze(C)}function A(){v||typeof console>"u"||(v=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}})()},9222:function(f,l,t){var a=t(7178);f.exports=function(){var r={};return function(n){if((typeof n!="object"||n===null)&&typeof n!="function")throw new Error("Weakmap-shim: Key must be object");var o=n.valueOf(r);return o&&o.identity===r?o:a(n,r)}}},7178:function(f){f.exports=function(l,t){var a={identity:t},r=l.valueOf;return Object.defineProperty(l,"valueOf",{value:function(n){return n!==t?r.apply(this,arguments):a},writable:!0}),a}},4037:function(f,l,t){var a=t(9222);f.exports=function(){var r=a();return{get:function(n,o){var i=r(n);return i.hasOwnProperty("value")?i.value:o},set:function(n,o){return r(n).value=o,this},has:function(n){return"value"in r(n)},delete:function(n){return delete r(n).value}}}},6183:function(f){f.exports=function(l){var t={};return function(a,r,n){var o=a.dtype,i=a.order,u=[o,i.join()].join(),p=t[u];return p||(t[u]=p=l([o,i])),p(a.shape.slice(0),a.data,a.stride,0|a.offset,r,n)}}(function(){return function(l,t,a,r,n,o){var i=l[0],u=a[0],p=[0],c=u;r|=0;var x=0,d=u;for(x=0;x=0!=b>=0&&n.push(p[0]+.5+.5*(v+b)/(v-b)),r+=d,++p[0]}}}.bind(void 0,{funcName:"zeroCrossings"}))},9584:function(f,l,t){f.exports=function(r,n){var o=[];return n=+n||0,a(r.hi(r.shape[0]-1),o,n),o};var a=t(6183)},6601:function(){}},T={};function m(f){var l=T[f];if(l!==void 0)return l.exports;var t=T[f]={id:f,loaded:!1,exports:{}};return s[f].call(t.exports,t,t.exports,m),t.loaded=!0,t.exports}return m.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),m.nmd=function(f){return f.paths=[],f.children||(f.children=[]),f},m(7386)}()},D.exports=_()},12856:function(D,E,e){function _(ne,ue){if(!(ne instanceof ue))throw new TypeError("Cannot call a class as a function")}function w(ne,ue){for(var me=0;men)throw new RangeError('The value "'+ne+'" is invalid for option "size"');var ue=new Uint8Array(ne);return Object.setPrototypeOf(ue,i.prototype),ue}function i(ne,ue,me){if(typeof ne=="number"){if(typeof ue=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return c(ne)}return u(ne,ue,me)}function u(ne,ue,me){if(typeof ne=="string")return function(Ue,De){if(typeof De=="string"&&De!==""||(De="utf8"),!i.isEncoding(De))throw new TypeError("Unknown encoding: "+De);var je=0|b(Ue,De),ge=o(je),be=ge.write(Ue,De);return be!==je&&(ge=ge.slice(0,be)),ge}(ne,ue);if(ArrayBuffer.isView(ne))return function(Ue){if(ze(Ue,Uint8Array)){var De=new Uint8Array(Ue);return d(De.buffer,De.byteOffset,De.byteLength)}return x(Ue)}(ne);if(ne==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(ne));if(ze(ne,ArrayBuffer)||ne&&ze(ne.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(ze(ne,SharedArrayBuffer)||ne&&ze(ne.buffer,SharedArrayBuffer)))return d(ne,ue,me);if(typeof ne=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var we=ne.valueOf&&ne.valueOf();if(we!=null&&we!==ne)return i.from(we,ue,me);var Ee=function(Ue){if(i.isBuffer(Ue)){var De=0|v(Ue.length),je=o(De);return je.length===0||Ue.copy(je,0,0,De),je}return Ue.length!==void 0?typeof Ue.length!="number"||Te(Ue.length)?o(0):x(Ue):Ue.type==="Buffer"&&Array.isArray(Ue.data)?x(Ue.data):void 0}(ne);if(Ee)return Ee;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof ne[Symbol.toPrimitive]=="function")return i.from(ne[Symbol.toPrimitive]("string"),ue,me);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(ne))}function p(ne){if(typeof ne!="number")throw new TypeError('"size" argument must be of type number');if(ne<0)throw new RangeError('The value "'+ne+'" is invalid for option "size"')}function c(ne){return p(ne),o(ne<0?0:0|v(ne))}function x(ne){for(var ue=ne.length<0?0:0|v(ne.length),me=o(ue),we=0;we=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return 0|ne}function b(ne,ue){if(i.isBuffer(ne))return ne.length;if(ArrayBuffer.isView(ne)||ze(ne,ArrayBuffer))return ne.byteLength;if(typeof ne!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+l(ne));var me=ne.length,we=arguments.length>2&&arguments[2]===!0;if(!we&&me===0)return 0;for(var Ee=!1;;)switch(ue){case"ascii":case"latin1":case"binary":return me;case"utf8":case"utf-8":return de(ne).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*me;case"hex":return me>>>1;case"base64":return he(ne).length;default:if(Ee)return we?-1:de(ne).length;ue=(""+ue).toLowerCase(),Ee=!0}}function g(ne,ue,me){var we=!1;if((ue===void 0||ue<0)&&(ue=0),ue>this.length||((me===void 0||me>this.length)&&(me=this.length),me<=0)||(me>>>=0)<=(ue>>>=0))return"";for(ne||(ne="utf8");;)switch(ne){case"hex":return N(this,ue,me);case"utf8":case"utf-8":return R(this,ue,me);case"ascii":return B(this,ue,me);case"latin1":case"binary":return G(this,ue,me);case"base64":return I(this,ue,me);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,ue,me);default:if(we)throw new TypeError("Unknown encoding: "+ne);ne=(ne+"").toLowerCase(),we=!0}}function y(ne,ue,me){var we=ne[ue];ne[ue]=ne[me],ne[me]=we}function k(ne,ue,me,we,Ee){if(ne.length===0)return-1;if(typeof me=="string"?(we=me,me=0):me>2147483647?me=2147483647:me<-2147483648&&(me=-2147483648),Te(me=+me)&&(me=Ee?0:ne.length-1),me<0&&(me=ne.length+me),me>=ne.length){if(Ee)return-1;me=ne.length-1}else if(me<0){if(!Ee)return-1;me=0}if(typeof ue=="string"&&(ue=i.from(ue,we)),i.isBuffer(ue))return ue.length===0?-1:h(ne,ue,me,we,Ee);if(typeof ue=="number")return ue&=255,typeof Uint8Array.prototype.indexOf=="function"?Ee?Uint8Array.prototype.indexOf.call(ne,ue,me):Uint8Array.prototype.lastIndexOf.call(ne,ue,me):h(ne,[ue],me,we,Ee);throw new TypeError("val must be string, number or Buffer")}function h(ne,ue,me,we,Ee){var Ue,De=1,je=ne.length,ge=ue.length;if(we!==void 0&&((we=String(we).toLowerCase())==="ucs2"||we==="ucs-2"||we==="utf16le"||we==="utf-16le")){if(ne.length<2||ue.length<2)return-1;De=2,je/=2,ge/=2,me/=2}function be(Ze,st){return De===1?Ze[st]:Ze.readUInt16BE(st*De)}if(Ee){var Se=-1;for(Ue=me;Ueje&&(me=je-ge),Ue=me;Ue>=0;Ue--){for(var Ne=!0,Ye=0;YeEe&&(we=Ee):we=Ee;var Ue,De=ue.length;for(we>De/2&&(we=De/2),Ue=0;Ue>8,ge=De%256,be.push(ge),be.push(je);return be}(ue,ne.length-me),ne,me,we)}function I(ne,ue,me){return ue===0&&me===ne.length?t.fromByteArray(ne):t.fromByteArray(ne.slice(ue,me))}function R(ne,ue,me){me=Math.min(ne.length,me);for(var we=[],Ee=ue;Ee239?4:Ue>223?3:Ue>191?2:1;if(Ee+je<=me){var ge=void 0,be=void 0,Se=void 0,Ne=void 0;switch(je){case 1:Ue<128&&(De=Ue);break;case 2:(192&(ge=ne[Ee+1]))==128&&(Ne=(31&Ue)<<6|63&ge)>127&&(De=Ne);break;case 3:ge=ne[Ee+1],be=ne[Ee+2],(192&ge)==128&&(192&be)==128&&(Ne=(15&Ue)<<12|(63&ge)<<6|63&be)>2047&&(Ne<55296||Ne>57343)&&(De=Ne);break;case 4:ge=ne[Ee+1],be=ne[Ee+2],Se=ne[Ee+3],(192&ge)==128&&(192&be)==128&&(192&Se)==128&&(Ne=(15&Ue)<<18|(63&ge)<<12|(63&be)<<6|63&Se)>65535&&Ne<1114112&&(De=Ne)}}De===null?(De=65533,je=1):De>65535&&(De-=65536,we.push(De>>>10&1023|55296),De=56320|1023&De),we.push(De),Ee+=je}return function(Ye){var Ze=Ye.length;if(Ze<=U)return String.fromCharCode.apply(String,Ye);for(var st="",ot=0;ot"u"||typeof console.error!="function"||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(i.prototype,"parent",{enumerable:!0,get:function(){if(i.isBuffer(this))return this.buffer}}),Object.defineProperty(i.prototype,"offset",{enumerable:!0,get:function(){if(i.isBuffer(this))return this.byteOffset}}),i.poolSize=8192,i.from=function(ne,ue,me){return u(ne,ue,me)},Object.setPrototypeOf(i.prototype,Uint8Array.prototype),Object.setPrototypeOf(i,Uint8Array),i.alloc=function(ne,ue,me){return function(we,Ee,Ue){return p(we),we<=0?o(we):Ee!==void 0?typeof Ue=="string"?o(we).fill(Ee,Ue):o(we).fill(Ee):o(we)}(ne,ue,me)},i.allocUnsafe=function(ne){return c(ne)},i.allocUnsafeSlow=function(ne){return c(ne)},i.isBuffer=function(ne){return ne!=null&&ne._isBuffer===!0&&ne!==i.prototype},i.compare=function(ne,ue){if(ze(ne,Uint8Array)&&(ne=i.from(ne,ne.offset,ne.byteLength)),ze(ue,Uint8Array)&&(ue=i.from(ue,ue.offset,ue.byteLength)),!i.isBuffer(ne)||!i.isBuffer(ue))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(ne===ue)return 0;for(var me=ne.length,we=ue.length,Ee=0,Ue=Math.min(me,we);Eewe.length?(i.isBuffer(Ue)||(Ue=i.from(Ue)),Ue.copy(we,Ee)):Uint8Array.prototype.set.call(we,Ue,Ee);else{if(!i.isBuffer(Ue))throw new TypeError('"list" argument must be an Array of Buffers');Ue.copy(we,Ee)}Ee+=Ue.length}return we},i.byteLength=b,i.prototype._isBuffer=!0,i.prototype.swap16=function(){var ne=this.length;if(ne%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var ue=0;ueue&&(ne+=" ... "),""},r&&(i.prototype[r]=i.prototype.inspect),i.prototype.compare=function(ne,ue,me,we,Ee){if(ze(ne,Uint8Array)&&(ne=i.from(ne,ne.offset,ne.byteLength)),!i.isBuffer(ne))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+l(ne));if(ue===void 0&&(ue=0),me===void 0&&(me=ne?ne.length:0),we===void 0&&(we=0),Ee===void 0&&(Ee=this.length),ue<0||me>ne.length||we<0||Ee>this.length)throw new RangeError("out of range index");if(we>=Ee&&ue>=me)return 0;if(we>=Ee)return-1;if(ue>=me)return 1;if(this===ne)return 0;for(var Ue=(Ee>>>=0)-(we>>>=0),De=(me>>>=0)-(ue>>>=0),je=Math.min(Ue,De),ge=this.slice(we,Ee),be=ne.slice(ue,me),Se=0;Se>>=0,isFinite(me)?(me>>>=0,we===void 0&&(we="utf8")):(we=me,me=void 0)}var Ee=this.length-ue;if((me===void 0||me>Ee)&&(me=Ee),ne.length>0&&(me<0||ue<0)||ue>this.length)throw new RangeError("Attempt to write outside buffer bounds");we||(we="utf8");for(var Ue=!1;;)switch(we){case"hex":return M(this,ne,ue,me);case"utf8":case"utf-8":return A(this,ne,ue,me);case"ascii":case"latin1":case"binary":return C(this,ne,ue,me);case"base64":return L(this,ne,ue,me);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,ne,ue,me);default:if(Ue)throw new TypeError("Unknown encoding: "+we);we=(""+we).toLowerCase(),Ue=!0}},i.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var U=4096;function B(ne,ue,me){var we="";me=Math.min(ne.length,me);for(var Ee=ue;Eewe)&&(me=we);for(var Ee="",Ue=ue;Ueme)throw new RangeError("Trying to access beyond buffer length")}function H(ne,ue,me,we,Ee,Ue){if(!i.isBuffer(ne))throw new TypeError('"buffer" argument must be a Buffer instance');if(ue>Ee||uene.length)throw new RangeError("Index out of range")}function ee(ne,ue,me,we,Ee){se(ue,we,Ee,ne,me,7);var Ue=Number(ue&BigInt(4294967295));ne[me++]=Ue,Ue>>=8,ne[me++]=Ue,Ue>>=8,ne[me++]=Ue,Ue>>=8,ne[me++]=Ue;var De=Number(ue>>BigInt(32)&BigInt(4294967295));return ne[me++]=De,De>>=8,ne[me++]=De,De>>=8,ne[me++]=De,De>>=8,ne[me++]=De,me}function Q(ne,ue,me,we,Ee){se(ue,we,Ee,ne,me,7);var Ue=Number(ue&BigInt(4294967295));ne[me+7]=Ue,Ue>>=8,ne[me+6]=Ue,Ue>>=8,ne[me+5]=Ue,Ue>>=8,ne[me+4]=Ue;var De=Number(ue>>BigInt(32)&BigInt(4294967295));return ne[me+3]=De,De>>=8,ne[me+2]=De,De>>=8,ne[me+1]=De,De>>=8,ne[me]=De,me+8}function X(ne,ue,me,we,Ee,Ue){if(me+we>ne.length)throw new RangeError("Index out of range");if(me<0)throw new RangeError("Index out of range")}function Y(ne,ue,me,we,Ee){return ue=+ue,me>>>=0,Ee||X(ne,0,me,4),a.write(ne,ue,me,we,23,4),me+4}function K(ne,ue,me,we,Ee){return ue=+ue,me>>>=0,Ee||X(ne,0,me,8),a.write(ne,ue,me,we,52,8),me+8}i.prototype.slice=function(ne,ue){var me=this.length;(ne=~~ne)<0?(ne+=me)<0&&(ne=0):ne>me&&(ne=me),(ue=ue===void 0?me:~~ue)<0?(ue+=me)<0&&(ue=0):ue>me&&(ue=me),ue>>=0,ue>>>=0,me||V(ne,ue,this.length);for(var we=this[ne],Ee=1,Ue=0;++Ue>>=0,ue>>>=0,me||V(ne,ue,this.length);for(var we=this[ne+--ue],Ee=1;ue>0&&(Ee*=256);)we+=this[ne+--ue]*Ee;return we},i.prototype.readUint8=i.prototype.readUInt8=function(ne,ue){return ne>>>=0,ue||V(ne,1,this.length),this[ne]},i.prototype.readUint16LE=i.prototype.readUInt16LE=function(ne,ue){return ne>>>=0,ue||V(ne,2,this.length),this[ne]|this[ne+1]<<8},i.prototype.readUint16BE=i.prototype.readUInt16BE=function(ne,ue){return ne>>>=0,ue||V(ne,2,this.length),this[ne]<<8|this[ne+1]},i.prototype.readUint32LE=i.prototype.readUInt32LE=function(ne,ue){return ne>>>=0,ue||V(ne,4,this.length),(this[ne]|this[ne+1]<<8|this[ne+2]<<16)+16777216*this[ne+3]},i.prototype.readUint32BE=i.prototype.readUInt32BE=function(ne,ue){return ne>>>=0,ue||V(ne,4,this.length),16777216*this[ne]+(this[ne+1]<<16|this[ne+2]<<8|this[ne+3])},i.prototype.readBigUInt64LE=Me(function(ne){ce(ne>>>=0,"offset");var ue=this[ne],me=this[ne+7];ue!==void 0&&me!==void 0||xe(ne,this.length-8);var we=ue+this[++ne]*Math.pow(2,8)+this[++ne]*Math.pow(2,16)+this[++ne]*Math.pow(2,24),Ee=this[++ne]+this[++ne]*Math.pow(2,8)+this[++ne]*Math.pow(2,16)+me*Math.pow(2,24);return BigInt(we)+(BigInt(Ee)<>>=0,"offset");var ue=this[ne],me=this[ne+7];ue!==void 0&&me!==void 0||xe(ne,this.length-8);var we=ue*Math.pow(2,24)+this[++ne]*Math.pow(2,16)+this[++ne]*Math.pow(2,8)+this[++ne],Ee=this[++ne]*Math.pow(2,24)+this[++ne]*Math.pow(2,16)+this[++ne]*Math.pow(2,8)+me;return(BigInt(we)<>>=0,ue>>>=0,me||V(ne,ue,this.length);for(var we=this[ne],Ee=1,Ue=0;++Ue=(Ee*=128)&&(we-=Math.pow(2,8*ue)),we},i.prototype.readIntBE=function(ne,ue,me){ne>>>=0,ue>>>=0,me||V(ne,ue,this.length);for(var we=ue,Ee=1,Ue=this[ne+--we];we>0&&(Ee*=256);)Ue+=this[ne+--we]*Ee;return Ue>=(Ee*=128)&&(Ue-=Math.pow(2,8*ue)),Ue},i.prototype.readInt8=function(ne,ue){return ne>>>=0,ue||V(ne,1,this.length),128&this[ne]?-1*(255-this[ne]+1):this[ne]},i.prototype.readInt16LE=function(ne,ue){ne>>>=0,ue||V(ne,2,this.length);var me=this[ne]|this[ne+1]<<8;return 32768&me?4294901760|me:me},i.prototype.readInt16BE=function(ne,ue){ne>>>=0,ue||V(ne,2,this.length);var me=this[ne+1]|this[ne]<<8;return 32768&me?4294901760|me:me},i.prototype.readInt32LE=function(ne,ue){return ne>>>=0,ue||V(ne,4,this.length),this[ne]|this[ne+1]<<8|this[ne+2]<<16|this[ne+3]<<24},i.prototype.readInt32BE=function(ne,ue){return ne>>>=0,ue||V(ne,4,this.length),this[ne]<<24|this[ne+1]<<16|this[ne+2]<<8|this[ne+3]},i.prototype.readBigInt64LE=Me(function(ne){ce(ne>>>=0,"offset");var ue=this[ne],me=this[ne+7];ue!==void 0&&me!==void 0||xe(ne,this.length-8);var we=this[ne+4]+this[ne+5]*Math.pow(2,8)+this[ne+6]*Math.pow(2,16)+(me<<24);return(BigInt(we)<>>=0,"offset");var ue=this[ne],me=this[ne+7];ue!==void 0&&me!==void 0||xe(ne,this.length-8);var we=(ue<<24)+this[++ne]*Math.pow(2,16)+this[++ne]*Math.pow(2,8)+this[++ne];return(BigInt(we)<>>=0,ue||V(ne,4,this.length),a.read(this,ne,!0,23,4)},i.prototype.readFloatBE=function(ne,ue){return ne>>>=0,ue||V(ne,4,this.length),a.read(this,ne,!1,23,4)},i.prototype.readDoubleLE=function(ne,ue){return ne>>>=0,ue||V(ne,8,this.length),a.read(this,ne,!0,52,8)},i.prototype.readDoubleBE=function(ne,ue){return ne>>>=0,ue||V(ne,8,this.length),a.read(this,ne,!1,52,8)},i.prototype.writeUintLE=i.prototype.writeUIntLE=function(ne,ue,me,we){ne=+ne,ue>>>=0,me>>>=0,we||H(this,ne,ue,me,Math.pow(2,8*me)-1,0);var Ee=1,Ue=0;for(this[ue]=255≠++Ue>>=0,me>>>=0,we||H(this,ne,ue,me,Math.pow(2,8*me)-1,0);var Ee=me-1,Ue=1;for(this[ue+Ee]=255≠--Ee>=0&&(Ue*=256);)this[ue+Ee]=ne/Ue&255;return ue+me},i.prototype.writeUint8=i.prototype.writeUInt8=function(ne,ue,me){return ne=+ne,ue>>>=0,me||H(this,ne,ue,1,255,0),this[ue]=255&ne,ue+1},i.prototype.writeUint16LE=i.prototype.writeUInt16LE=function(ne,ue,me){return ne=+ne,ue>>>=0,me||H(this,ne,ue,2,65535,0),this[ue]=255&ne,this[ue+1]=ne>>>8,ue+2},i.prototype.writeUint16BE=i.prototype.writeUInt16BE=function(ne,ue,me){return ne=+ne,ue>>>=0,me||H(this,ne,ue,2,65535,0),this[ue]=ne>>>8,this[ue+1]=255&ne,ue+2},i.prototype.writeUint32LE=i.prototype.writeUInt32LE=function(ne,ue,me){return ne=+ne,ue>>>=0,me||H(this,ne,ue,4,4294967295,0),this[ue+3]=ne>>>24,this[ue+2]=ne>>>16,this[ue+1]=ne>>>8,this[ue]=255&ne,ue+4},i.prototype.writeUint32BE=i.prototype.writeUInt32BE=function(ne,ue,me){return ne=+ne,ue>>>=0,me||H(this,ne,ue,4,4294967295,0),this[ue]=ne>>>24,this[ue+1]=ne>>>16,this[ue+2]=ne>>>8,this[ue+3]=255&ne,ue+4},i.prototype.writeBigUInt64LE=Me(function(ne){var ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return ee(this,ne,ue,BigInt(0),BigInt("0xffffffffffffffff"))}),i.prototype.writeBigUInt64BE=Me(function(ne){var ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Q(this,ne,ue,BigInt(0),BigInt("0xffffffffffffffff"))}),i.prototype.writeIntLE=function(ne,ue,me,we){if(ne=+ne,ue>>>=0,!we){var Ee=Math.pow(2,8*me-1);H(this,ne,ue,me,Ee-1,-Ee)}var Ue=0,De=1,je=0;for(this[ue]=255≠++Ue>0)-je&255;return ue+me},i.prototype.writeIntBE=function(ne,ue,me,we){if(ne=+ne,ue>>>=0,!we){var Ee=Math.pow(2,8*me-1);H(this,ne,ue,me,Ee-1,-Ee)}var Ue=me-1,De=1,je=0;for(this[ue+Ue]=255≠--Ue>=0&&(De*=256);)ne<0&&je===0&&this[ue+Ue+1]!==0&&(je=1),this[ue+Ue]=(ne/De>>0)-je&255;return ue+me},i.prototype.writeInt8=function(ne,ue,me){return ne=+ne,ue>>>=0,me||H(this,ne,ue,1,127,-128),ne<0&&(ne=255+ne+1),this[ue]=255&ne,ue+1},i.prototype.writeInt16LE=function(ne,ue,me){return ne=+ne,ue>>>=0,me||H(this,ne,ue,2,32767,-32768),this[ue]=255&ne,this[ue+1]=ne>>>8,ue+2},i.prototype.writeInt16BE=function(ne,ue,me){return ne=+ne,ue>>>=0,me||H(this,ne,ue,2,32767,-32768),this[ue]=ne>>>8,this[ue+1]=255&ne,ue+2},i.prototype.writeInt32LE=function(ne,ue,me){return ne=+ne,ue>>>=0,me||H(this,ne,ue,4,2147483647,-2147483648),this[ue]=255&ne,this[ue+1]=ne>>>8,this[ue+2]=ne>>>16,this[ue+3]=ne>>>24,ue+4},i.prototype.writeInt32BE=function(ne,ue,me){return ne=+ne,ue>>>=0,me||H(this,ne,ue,4,2147483647,-2147483648),ne<0&&(ne=4294967295+ne+1),this[ue]=ne>>>24,this[ue+1]=ne>>>16,this[ue+2]=ne>>>8,this[ue+3]=255&ne,ue+4},i.prototype.writeBigInt64LE=Me(function(ne){var ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return ee(this,ne,ue,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),i.prototype.writeBigInt64BE=Me(function(ne){var ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Q(this,ne,ue,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),i.prototype.writeFloatLE=function(ne,ue,me){return Y(this,ne,ue,!0,me)},i.prototype.writeFloatBE=function(ne,ue,me){return Y(this,ne,ue,!1,me)},i.prototype.writeDoubleLE=function(ne,ue,me){return K(this,ne,ue,!0,me)},i.prototype.writeDoubleBE=function(ne,ue,me){return K(this,ne,ue,!1,me)},i.prototype.copy=function(ne,ue,me,we){if(!i.isBuffer(ne))throw new TypeError("argument should be a Buffer");if(me||(me=0),we||we===0||(we=this.length),ue>=ne.length&&(ue=ne.length),ue||(ue=0),we>0&&we=this.length)throw new RangeError("Index out of range");if(we<0)throw new RangeError("sourceEnd out of bounds");we>this.length&&(we=this.length),ne.length-ue>>=0,me=me===void 0?this.length:me>>>0,ne||(ne=0),typeof ne=="number")for(Ue=ue;Ue"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var Se,Ne=f(De);if(je){var Ye=f(this).constructor;Se=Reflect.construct(Ne,arguments,Ye)}else Se=Ne.apply(this,arguments);return T(this,Se)});function be(){var Se;return _(this,be),Se=ge.call(this),Object.defineProperty(m(Se),"message",{value:ue.apply(m(Se),arguments),writable:!0,configurable:!0}),Se.name="".concat(Se.name," [").concat(ne,"]"),Se.stack,delete Se.name,Se}return Ee=be,(Ue=[{key:"code",get:function(){return ne},set:function(Se){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:Se,writable:!0})}},{key:"toString",value:function(){return"".concat(this.name," [").concat(ne,"]: ").concat(this.message)}}])&&w(Ee.prototype,Ue),Object.defineProperty(Ee,"prototype",{writable:!1}),be}(me)}function oe(ne){for(var ue="",me=ne.length,we=ne[0]==="-"?1:0;me>=we+4;me-=3)ue="_".concat(ne.slice(me-3,me)).concat(ue);return"".concat(ne.slice(0,me)).concat(ue)}function se(ne,ue,me,we,Ee,Ue){if(ne>me||ne3?ue===0||ue===BigInt(0)?">= 0".concat(je," and < 2").concat(je," ** ").concat(8*(Ue+1)).concat(je):">= -(2".concat(je," ** ").concat(8*(Ue+1)-1).concat(je,") and < 2 ** ")+"".concat(8*(Ue+1)-1).concat(je):">= ".concat(ue).concat(je," and <= ").concat(me).concat(je),new te.ERR_OUT_OF_RANGE("value",De,ne)}(function(ge,be,Se){ce(be,"offset"),ge[be]!==void 0&&ge[be+Se]!==void 0||xe(be,ge.length-(Se+1))})(we,Ee,Ue)}function ce(ne,ue){if(typeof ne!="number")throw new te.ERR_INVALID_ARG_TYPE(ue,"number",ne)}function xe(ne,ue,me){throw Math.floor(ne)!==ne?(ce(ne,me),new te.ERR_OUT_OF_RANGE(me||"offset","an integer",ne)):ue<0?new te.ERR_BUFFER_OUT_OF_BOUNDS:new te.ERR_OUT_OF_RANGE(me||"offset",">= ".concat(me?1:0," and <= ").concat(ue),ne)}ie("ERR_BUFFER_OUT_OF_BOUNDS",function(ne){return ne?"".concat(ne," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"},RangeError),ie("ERR_INVALID_ARG_TYPE",function(ne,ue){return'The "'.concat(ne,'" argument must be of type number. Received type ').concat(l(ue))},TypeError),ie("ERR_OUT_OF_RANGE",function(ne,ue,me){var we='The value of "'.concat(ne,'" is out of range.'),Ee=me;return Number.isInteger(me)&&Math.abs(me)>Math.pow(2,32)?Ee=oe(String(me)):typeof me=="bigint"&&(Ee=String(me),(me>Math.pow(BigInt(2),BigInt(32))||me<-Math.pow(BigInt(2),BigInt(32)))&&(Ee=oe(Ee)),Ee+="n"),we+" It must be ".concat(ue,". Received ").concat(Ee)},RangeError);var pe=/[^+/0-9A-Za-z-_]/g;function de(ne,ue){var me;ue=ue||1/0;for(var we=ne.length,Ee=null,Ue=[],De=0;De55295&&me<57344){if(!Ee){if(me>56319){(ue-=3)>-1&&Ue.push(239,191,189);continue}if(De+1===we){(ue-=3)>-1&&Ue.push(239,191,189);continue}Ee=me;continue}if(me<56320){(ue-=3)>-1&&Ue.push(239,191,189),Ee=me;continue}me=65536+(Ee-55296<<10|me-56320)}else Ee&&(ue-=3)>-1&&Ue.push(239,191,189);if(Ee=null,me<128){if((ue-=1)<0)break;Ue.push(me)}else if(me<2048){if((ue-=2)<0)break;Ue.push(me>>6|192,63&me|128)}else if(me<65536){if((ue-=3)<0)break;Ue.push(me>>12|224,me>>6&63|128,63&me|128)}else{if(!(me<1114112))throw new Error("Invalid code point");if((ue-=4)<0)break;Ue.push(me>>18|240,me>>12&63|128,me>>6&63|128,63&me|128)}}return Ue}function he(ne){return t.toByteArray(function(ue){if((ue=(ue=ue.split("=")[0]).trim().replace(pe,"")).length<2)return"";for(;ue.length%4!=0;)ue+="=";return ue}(ne))}function ye(ne,ue,me,we){var Ee;for(Ee=0;Ee=ue.length||Ee>=ne.length);++Ee)ue[Ee+me]=ne[Ee];return Ee}function ze(ne,ue){return ne instanceof ue||ne!=null&&ne.constructor!=null&&ne.constructor.name!=null&&ne.constructor.name===ue.name}function Te(ne){return ne!=ne}var Ae=function(){for(var ne="0123456789abcdef",ue=new Array(256),me=0;me<16;++me)for(var we=16*me,Ee=0;Ee<16;++Ee)ue[we+Ee]=ne[me]+ne[Ee];return ue}();function Me(ne){return typeof BigInt>"u"?Ce:ne}function Ce(){throw new Error("BigInt not supported")}},35791:function(D){D.exports=w,D.exports.isMobile=w,D.exports.default=w;var E=/(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,e=/CrOS/,_=/android|ipad|playbook|silk/i;function w(s){s||(s={});var T=s.ua;if(T||typeof navigator>"u"||(T=navigator.userAgent),T&&T.headers&&typeof T.headers["user-agent"]=="string"&&(T=T.headers["user-agent"]),typeof T!="string")return!1;var m=E.test(T)&&!e.test(T)||!!s.tablet&&_.test(T);return!m&&s.tablet&&s.featureDetect&&navigator&&navigator.maxTouchPoints>1&&T.indexOf("Macintosh")!==-1&&T.indexOf("Safari")!==-1&&(m=!0),m}},86781:function(D,E,e){e.r(E),e.d(E,{sankeyCenter:function(){return r},sankeyCircular:function(){return C},sankeyJustify:function(){return a},sankeyLeft:function(){return l},sankeyRight:function(){return t}});var _=e(33064),w=e(15140),s=e(45879),T=e(2502),m=e.n(T);function f(he){return he.target.depth}function l(he){return he.depth}function t(he,ye){return ye-1-he.height}function a(he,ye){return he.sourceLinks.length?he.depth:ye-1}function r(he){return he.targetLinks.length?he.depth:he.sourceLinks.length?(0,_.VV)(he.sourceLinks,f)-1:0}function n(he){return function(){return he}}var o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(he){return typeof he}:function(he){return he&&typeof Symbol=="function"&&he.constructor===Symbol&&he!==Symbol.prototype?"symbol":typeof he};function i(he,ye){return p(he.source,ye.source)||he.index-ye.index}function u(he,ye){return p(he.target,ye.target)||he.index-ye.index}function p(he,ye){return he.partOfCycle===ye.partOfCycle?he.y0-ye.y0:he.circularLinkType==="top"||ye.circularLinkType==="bottom"?-1:1}function c(he){return he.value}function x(he){return(he.y0+he.y1)/2}function d(he){return x(he.source)}function v(he){return x(he.target)}function b(he){return he.index}function g(he){return he.nodes}function y(he){return he.links}function k(he,ye){var ze=he.get(ye);if(!ze)throw new Error("missing: "+ye);return ze}function h(he,ye){return ye(he)}var M=25,A=10;function C(){var he,ye,ze=0,Te=0,Ae=1,Me=1,Ce=24,ne=b,ue=a,me=g,we=y,Ee=32,Ue=2,De=null;function je(){var Ze={nodes:me.apply(null,arguments),links:we.apply(null,arguments)};ge(Ze),L(Ze,0,De),be(Ze),Se(Ze),P(Ze,ne),Ne(Ze,Ee,ne),Ye(Ze);for(var st=4,ot=0;ot0?Ke+M+A:Ke,bottom:Ge=Ge>0?Ge+M+A:Ge,left:ht=ht>0?ht+M+A:ht,right:nt=nt>0?nt+M+A:nt}}(Ze),Nt=function(Je,Ke){var Ge=(0,_.Fp)(Je.nodes,function(Qe){return Qe.column}),nt=Ae-ze,ht=Me-Te,Oe=nt/(nt+Ke.right+Ke.left),Be=ht/(ht+Ke.top+Ke.bottom);return ze=ze*Oe+Ke.left,Ae=Ke.right==0?Ae:Ae*Oe,Te=Te*Be+Ke.top,Me*=Be,Je.nodes.forEach(function(Qe){Qe.x0=ze+Qe.column*((Ae-ze-Ce)/Ge),Qe.x1=Qe.x0+Ce}),Be}(Ze,qt);Ft*=Nt,Ze.links.forEach(function(Je){Je.width=Je.value*Ft}),ft.forEach(function(Je){var Ke=Je.length;Je.forEach(function(Ge,nt){Ge.depth==ft.length-1&&Ke==1||Ge.depth==0&&Ke==1?(Ge.y0=Me/2-Ge.value*Ft,Ge.y1=Ge.y0+Ge.value*Ft):Ge.partOfCycle?R(Ge,Dt)==0?(Ge.y0=Me/2+nt,Ge.y1=Ge.y0+Ge.value*Ft):Ge.circularLinkType=="top"?(Ge.y0=Te+nt,Ge.y1=Ge.y0+Ge.value*Ft):(Ge.y0=Me-Ge.value*Ft-nt,Ge.y1=Ge.y0+Ge.value*Ft):qt.top==0||qt.bottom==0?(Ge.y0=(Me-Te)/Ke*nt,Ge.y1=Ge.y0+Ge.value*Ft):(Ge.y0=(Me-Te)/2-Ke/2+nt,Ge.y1=Ge.y0+Ge.value*Ft)})})})(ot),xt();for(var yt=1,Et=st;Et>0;--Et)Tt(yt*=.99,ot),xt();function Tt(Dt,It){var Ft=ft.length;ft.forEach(function(qt){var Nt=qt.length,Je=qt[0].depth;qt.forEach(function(Ke){var Ge;if((Ke.sourceLinks.length||Ke.targetLinks.length)&&!(Ke.partOfCycle&&R(Ke,It)>0))if(Je==0&&Nt==1)Ge=Ke.y1-Ke.y0,Ke.y0=Me/2-Ge/2,Ke.y1=Me/2+Ge/2;else if(Je==Ft-1&&Nt==1)Ge=Ke.y1-Ke.y0,Ke.y0=Me/2-Ge/2,Ke.y1=Me/2+Ge/2;else{var nt=(0,_.J6)(Ke.sourceLinks,v),ht=(0,_.J6)(Ke.targetLinks,d),Oe=((nt&&ht?(nt+ht)/2:nt||ht)-x(Ke))*Dt;Ke.y0+=Oe,Ke.y1+=Oe}})})}function xt(){ft.forEach(function(Dt){var It,Ft,qt,Nt=Te,Je=Dt.length;for(Dt.sort(p),qt=0;qt0&&(It.y0+=Ft,It.y1+=Ft),Nt=It.y1+he;if((Ft=Nt-he-Me)>0)for(Nt=It.y0-=Ft,It.y1-=Ft,qt=Je-2;qt>=0;--qt)(Ft=(It=Dt[qt]).y1+he-Nt)>0&&(It.y0-=Ft,It.y1-=Ft),Nt=It.y0})}}function Ye(Ze){Ze.nodes.forEach(function(st){st.sourceLinks.sort(u),st.targetLinks.sort(i)}),Ze.nodes.forEach(function(st){var ot=st.y0,ft=ot,yt=st.y1,Et=yt;st.sourceLinks.forEach(function(Tt){Tt.circular?(Tt.y0=yt-Tt.width/2,yt-=Tt.width):(Tt.y0=ot+Tt.width/2,ot+=Tt.width)}),st.targetLinks.forEach(function(Tt){Tt.circular?(Tt.y1=Et-Tt.width/2,Et-=Tt.width):(Tt.y1=ft+Tt.width/2,ft+=Tt.width)})})}return je.nodeId=function(Ze){return arguments.length?(ne=typeof Ze=="function"?Ze:n(Ze),je):ne},je.nodeAlign=function(Ze){return arguments.length?(ue=typeof Ze=="function"?Ze:n(Ze),je):ue},je.nodeWidth=function(Ze){return arguments.length?(Ce=+Ze,je):Ce},je.nodePadding=function(Ze){return arguments.length?(he=+Ze,je):he},je.nodes=function(Ze){return arguments.length?(me=typeof Ze=="function"?Ze:n(Ze),je):me},je.links=function(Ze){return arguments.length?(we=typeof Ze=="function"?Ze:n(Ze),je):we},je.size=function(Ze){return arguments.length?(ze=Te=0,Ae=+Ze[0],Me=+Ze[1],je):[Ae-ze,Me-Te]},je.extent=function(Ze){return arguments.length?(ze=+Ze[0][0],Ae=+Ze[1][0],Te=+Ze[0][1],Me=+Ze[1][1],je):[[ze,Te],[Ae,Me]]},je.iterations=function(Ze){return arguments.length?(Ee=+Ze,je):Ee},je.circularLinkGap=function(Ze){return arguments.length?(Ue=+Ze,je):Ue},je.nodePaddingRatio=function(Ze){return arguments.length?(ye=+Ze,je):ye},je.sortNodes=function(Ze){return arguments.length?(De=Ze,je):De},je.update=function(Ze){return P(Ze,ne),Ye(Ze),Ze.links.forEach(function(st){st.circular&&(st.circularLinkType=st.y0+st.y11||Ae>1)}function B(he,ye,ze){return he.sort(N),he.forEach(function(Te,Ae){var Me,Ce,ne=0;if(pe(Te,ze)&&U(Te))Te.circularPathData.verticalBuffer=ne+Te.width/2;else{for(var ue=0;ueCe.source.column)){var me=he[ue].circularPathData.verticalBuffer+he[ue].width/2+ye;ne=me>ne?me:ne}Te.circularPathData.verticalBuffer=ne+Te.width/2}}),he}function G(he,ye,ze,Te){var Ae=(0,_.VV)(he.links,function(Me){return Me.source.y0});he.links.forEach(function(Me){Me.circular&&(Me.circularPathData={})}),B(he.links.filter(function(Me){return Me.circularLinkType=="top"}),ye,Te),B(he.links.filter(function(Me){return Me.circularLinkType=="bottom"}),ye,Te),he.links.forEach(function(Me){if(Me.circular){if(Me.circularPathData.arcRadius=Me.width+A,Me.circularPathData.leftNodeBuffer=5,Me.circularPathData.rightNodeBuffer=5,Me.circularPathData.sourceWidth=Me.source.x1-Me.source.x0,Me.circularPathData.sourceX=Me.source.x0+Me.circularPathData.sourceWidth,Me.circularPathData.targetX=Me.target.x0,Me.circularPathData.sourceY=Me.y0,Me.circularPathData.targetY=Me.y1,pe(Me,Te)&&U(Me))Me.circularPathData.leftSmallArcRadius=A+Me.width/2,Me.circularPathData.leftLargeArcRadius=A+Me.width/2,Me.circularPathData.rightSmallArcRadius=A+Me.width/2,Me.circularPathData.rightLargeArcRadius=A+Me.width/2,Me.circularLinkType=="bottom"?(Me.circularPathData.verticalFullExtent=Me.source.y1+M+Me.circularPathData.verticalBuffer,Me.circularPathData.verticalLeftInnerExtent=Me.circularPathData.verticalFullExtent-Me.circularPathData.leftLargeArcRadius,Me.circularPathData.verticalRightInnerExtent=Me.circularPathData.verticalFullExtent-Me.circularPathData.rightLargeArcRadius):(Me.circularPathData.verticalFullExtent=Me.source.y0-M-Me.circularPathData.verticalBuffer,Me.circularPathData.verticalLeftInnerExtent=Me.circularPathData.verticalFullExtent+Me.circularPathData.leftLargeArcRadius,Me.circularPathData.verticalRightInnerExtent=Me.circularPathData.verticalFullExtent+Me.circularPathData.rightLargeArcRadius);else{var Ce=Me.source.column,ne=Me.circularLinkType,ue=he.links.filter(function(Ee){return Ee.source.column==Ce&&Ee.circularLinkType==ne});Me.circularLinkType=="bottom"?ue.sort(V):ue.sort(j);var me=0;ue.forEach(function(Ee,Ue){Ee.circularLinkID==Me.circularLinkID&&(Me.circularPathData.leftSmallArcRadius=A+Me.width/2+me,Me.circularPathData.leftLargeArcRadius=A+Me.width/2+Ue*ye+me),me+=Ee.width}),Ce=Me.target.column,ue=he.links.filter(function(Ee){return Ee.target.column==Ce&&Ee.circularLinkType==ne}),Me.circularLinkType=="bottom"?ue.sort(ee):ue.sort(H),me=0,ue.forEach(function(Ee,Ue){Ee.circularLinkID==Me.circularLinkID&&(Me.circularPathData.rightSmallArcRadius=A+Me.width/2+me,Me.circularPathData.rightLargeArcRadius=A+Me.width/2+Ue*ye+me),me+=Ee.width}),Me.circularLinkType=="bottom"?(Me.circularPathData.verticalFullExtent=Math.max(ze,Me.source.y1,Me.target.y1)+M+Me.circularPathData.verticalBuffer,Me.circularPathData.verticalLeftInnerExtent=Me.circularPathData.verticalFullExtent-Me.circularPathData.leftLargeArcRadius,Me.circularPathData.verticalRightInnerExtent=Me.circularPathData.verticalFullExtent-Me.circularPathData.rightLargeArcRadius):(Me.circularPathData.verticalFullExtent=Ae-M-Me.circularPathData.verticalBuffer,Me.circularPathData.verticalLeftInnerExtent=Me.circularPathData.verticalFullExtent+Me.circularPathData.leftLargeArcRadius,Me.circularPathData.verticalRightInnerExtent=Me.circularPathData.verticalFullExtent+Me.circularPathData.rightLargeArcRadius)}Me.circularPathData.leftInnerExtent=Me.circularPathData.sourceX+Me.circularPathData.leftNodeBuffer,Me.circularPathData.rightInnerExtent=Me.circularPathData.targetX-Me.circularPathData.rightNodeBuffer,Me.circularPathData.leftFullExtent=Me.circularPathData.sourceX+Me.circularPathData.leftLargeArcRadius+Me.circularPathData.leftNodeBuffer,Me.circularPathData.rightFullExtent=Me.circularPathData.targetX-Me.circularPathData.rightLargeArcRadius-Me.circularPathData.rightNodeBuffer}if(Me.circular)Me.path=function(Ee){return Ee.circularLinkType=="top"?"M"+Ee.circularPathData.sourceX+" "+Ee.circularPathData.sourceY+" L"+Ee.circularPathData.leftInnerExtent+" "+Ee.circularPathData.sourceY+" A"+Ee.circularPathData.leftLargeArcRadius+" "+Ee.circularPathData.leftSmallArcRadius+" 0 0 0 "+Ee.circularPathData.leftFullExtent+" "+(Ee.circularPathData.sourceY-Ee.circularPathData.leftSmallArcRadius)+" L"+Ee.circularPathData.leftFullExtent+" "+Ee.circularPathData.verticalLeftInnerExtent+" A"+Ee.circularPathData.leftLargeArcRadius+" "+Ee.circularPathData.leftLargeArcRadius+" 0 0 0 "+Ee.circularPathData.leftInnerExtent+" "+Ee.circularPathData.verticalFullExtent+" L"+Ee.circularPathData.rightInnerExtent+" "+Ee.circularPathData.verticalFullExtent+" A"+Ee.circularPathData.rightLargeArcRadius+" "+Ee.circularPathData.rightLargeArcRadius+" 0 0 0 "+Ee.circularPathData.rightFullExtent+" "+Ee.circularPathData.verticalRightInnerExtent+" L"+Ee.circularPathData.rightFullExtent+" "+(Ee.circularPathData.targetY-Ee.circularPathData.rightSmallArcRadius)+" A"+Ee.circularPathData.rightLargeArcRadius+" "+Ee.circularPathData.rightSmallArcRadius+" 0 0 0 "+Ee.circularPathData.rightInnerExtent+" "+Ee.circularPathData.targetY+" L"+Ee.circularPathData.targetX+" "+Ee.circularPathData.targetY:"M"+Ee.circularPathData.sourceX+" "+Ee.circularPathData.sourceY+" L"+Ee.circularPathData.leftInnerExtent+" "+Ee.circularPathData.sourceY+" A"+Ee.circularPathData.leftLargeArcRadius+" "+Ee.circularPathData.leftSmallArcRadius+" 0 0 1 "+Ee.circularPathData.leftFullExtent+" "+(Ee.circularPathData.sourceY+Ee.circularPathData.leftSmallArcRadius)+" L"+Ee.circularPathData.leftFullExtent+" "+Ee.circularPathData.verticalLeftInnerExtent+" A"+Ee.circularPathData.leftLargeArcRadius+" "+Ee.circularPathData.leftLargeArcRadius+" 0 0 1 "+Ee.circularPathData.leftInnerExtent+" "+Ee.circularPathData.verticalFullExtent+" L"+Ee.circularPathData.rightInnerExtent+" "+Ee.circularPathData.verticalFullExtent+" A"+Ee.circularPathData.rightLargeArcRadius+" "+Ee.circularPathData.rightLargeArcRadius+" 0 0 1 "+Ee.circularPathData.rightFullExtent+" "+Ee.circularPathData.verticalRightInnerExtent+" L"+Ee.circularPathData.rightFullExtent+" "+(Ee.circularPathData.targetY+Ee.circularPathData.rightSmallArcRadius)+" A"+Ee.circularPathData.rightLargeArcRadius+" "+Ee.circularPathData.rightSmallArcRadius+" 0 0 1 "+Ee.circularPathData.rightInnerExtent+" "+Ee.circularPathData.targetY+" L"+Ee.circularPathData.targetX+" "+Ee.circularPathData.targetY}(Me);else{var we=(0,s.h5)().source(function(Ee){return[Ee.source.x0+(Ee.source.x1-Ee.source.x0),Ee.y0]}).target(function(Ee){return[Ee.target.x0,Ee.y1]});Me.path=we(Me)}})}function N(he,ye){return Q(he)==Q(ye)?he.circularLinkType=="bottom"?V(he,ye):j(he,ye):Q(ye)-Q(he)}function j(he,ye){return he.y0-ye.y0}function V(he,ye){return ye.y0-he.y0}function H(he,ye){return he.y1-ye.y1}function ee(he,ye){return ye.y1-he.y1}function Q(he){return he.target.column-he.source.column}function X(he){return he.target.x0-he.source.x1}function Y(he,ye){var ze=I(he),Te=X(ye)/Math.tan(ze);return xe(he)=="up"?he.y1+Te:he.y1-Te}function K(he,ye){var ze=I(he),Te=X(ye)/Math.tan(ze);return xe(he)=="up"?he.y1-Te:he.y1+Te}function te(he,ye,ze,Te){he.links.forEach(function(Ae){if(!Ae.circular&&Ae.target.column-Ae.source.column>1){var Me=Ae.source.column+1,Ce=Ae.target.column-1,ne=1,ue=Ce-Me+1;for(ne=1;Me<=Ce;Me++,ne++)he.nodes.forEach(function(me){if(me.column==Me){var we,Ee=ne/(ue+1),Ue=Math.pow(1-Ee,3),De=3*Ee*Math.pow(1-Ee,2),je=3*Math.pow(Ee,2)*(1-Ee),ge=Math.pow(Ee,3),be=Ue*Ae.y0+De*Ae.y0+je*Ae.y1+ge*Ae.y1,Se=be-Ae.width/2,Ne=be+Ae.width/2;Se>me.y0&&Sest.y0&&Ze.y0st.y0&&Ze.y1st.y1)&&ie(Ye,we,ye,ze)})):(Ne>me.y0&&Neme.y1)&&(we=Ne-me.y0+10,me=ie(me,we,ye,ze),he.nodes.forEach(function(Ye){h(Ye,Te)!=h(me,Te)&&Ye.column==me.column&&Ye.y0me.y1&&ie(Ye,we,ye,ze)}))}})}})}function ie(he,ye,ze,Te){return he.y0+ye>=ze&&he.y1+ye<=Te&&(he.y0=he.y0+ye,he.y1=he.y1+ye,he.targetLinks.forEach(function(Ae){Ae.y1=Ae.y1+ye}),he.sourceLinks.forEach(function(Ae){Ae.y0=Ae.y0+ye})),he}function oe(he,ye,ze,Te){he.nodes.forEach(function(Ae){Te&&Ae.y+(Ae.y1-Ae.y0)>ye&&(Ae.y=Ae.y-(Ae.y+(Ae.y1-Ae.y0)-ye));var Me=he.links.filter(function(ue){return h(ue.source,ze)==h(Ae,ze)}),Ce=Me.length;Ce>1&&Me.sort(function(ue,me){if(!ue.circular&&!me.circular){if(ue.target.column==me.target.column||!ce(ue,me))return ue.y1-me.y1;if(ue.target.column>me.target.column){var we=K(me,ue);return ue.y1-we}if(me.target.column>ue.target.column)return K(ue,me)-me.y1}return ue.circular&&!me.circular?ue.circularLinkType=="top"?-1:1:me.circular&&!ue.circular?me.circularLinkType=="top"?1:-1:ue.circular&&me.circular?ue.circularLinkType===me.circularLinkType&&ue.circularLinkType=="top"?ue.target.column===me.target.column?ue.target.y1-me.target.y1:me.target.column-ue.target.column:ue.circularLinkType===me.circularLinkType&&ue.circularLinkType=="bottom"?ue.target.column===me.target.column?me.target.y1-ue.target.y1:ue.target.column-me.target.column:ue.circularLinkType=="top"?-1:1:void 0});var ne=Ae.y0;Me.forEach(function(ue){ue.y0=ne+ue.width/2,ne+=ue.width}),Me.forEach(function(ue,me){if(ue.circularLinkType=="bottom"){for(var we=me+1,Ee=0;we1&&Ae.sort(function(ne,ue){if(!ne.circular&&!ue.circular){if(ne.source.column==ue.source.column||!ce(ne,ue))return ne.y0-ue.y0;if(ue.source.column0?"up":"down"}function pe(he,ye){return h(he.source,ye)==h(he.target,ye)}function de(he,ye,ze){var Te=he.nodes,Ae=he.links,Me=!1,Ce=!1;if(Ae.forEach(function(me){me.circularLinkType=="top"?Me=!0:me.circularLinkType=="bottom"&&(Ce=!0)}),Me==0||Ce==0){var ne=(0,_.VV)(Te,function(me){return me.y0}),ue=(ze-ye)/((0,_.Fp)(Te,function(me){return me.y1})-ne);Te.forEach(function(me){var we=(me.y1-me.y0)*ue;me.y0=(me.y0-ne)*ue,me.y1=me.y0+we}),Ae.forEach(function(me){me.y0=(me.y0-ne)*ue,me.y1=(me.y1-ne)*ue,me.width=me.width*ue})}}},30838:function(D,E,e){e.r(E),e.d(E,{sankey:function(){return b},sankeyCenter:function(){return l},sankeyJustify:function(){return f},sankeyLeft:function(){return T},sankeyLinkHorizontal:function(){return h},sankeyRight:function(){return m}});var _=e(33064),w=e(15140);function s(M){return M.target.depth}function T(M){return M.depth}function m(M,A){return A-1-M.height}function f(M,A){return M.sourceLinks.length?M.depth:A-1}function l(M){return M.targetLinks.length?M.depth:M.sourceLinks.length?(0,_.VV)(M.sourceLinks,s)-1:0}function t(M){return function(){return M}}function a(M,A){return n(M.source,A.source)||M.index-A.index}function r(M,A){return n(M.target,A.target)||M.index-A.index}function n(M,A){return M.y0-A.y0}function o(M){return M.value}function i(M){return(M.y0+M.y1)/2}function u(M){return i(M.source)*M.value}function p(M){return i(M.target)*M.value}function c(M){return M.index}function x(M){return M.nodes}function d(M){return M.links}function v(M,A){var C=M.get(A);if(!C)throw new Error("missing: "+A);return C}function b(){var M=0,A=0,C=1,L=1,P=24,I=8,R=c,U=f,B=x,G=d,N=32;function j(){var Y={nodes:B.apply(null,arguments),links:G.apply(null,arguments)};return V(Y),H(Y),ee(Y),Q(Y),X(Y),Y}function V(Y){Y.nodes.forEach(function(te,ie){te.index=ie,te.sourceLinks=[],te.targetLinks=[]});var K=(0,w.UI)(Y.nodes,R);Y.links.forEach(function(te,ie){te.index=ie;var oe=te.source,se=te.target;typeof oe!="object"&&(oe=te.source=v(K,oe)),typeof se!="object"&&(se=te.target=v(K,se)),oe.sourceLinks.push(te),se.targetLinks.push(te)})}function H(Y){Y.nodes.forEach(function(K){K.value=Math.max((0,_.Sm)(K.sourceLinks,o),(0,_.Sm)(K.targetLinks,o))})}function ee(Y){var K,te,ie;for(K=Y.nodes,te=[],ie=0;K.length;++ie,K=te,te=[])K.forEach(function(se){se.depth=ie,se.sourceLinks.forEach(function(ce){te.indexOf(ce.target)<0&&te.push(ce.target)})});for(K=Y.nodes,te=[],ie=0;K.length;++ie,K=te,te=[])K.forEach(function(se){se.height=ie,se.targetLinks.forEach(function(ce){te.indexOf(ce.source)<0&&te.push(ce.source)})});var oe=(C-M-P)/(ie-1);Y.nodes.forEach(function(se){se.x1=(se.x0=M+Math.max(0,Math.min(ie-1,Math.floor(U.call(null,se,ie))))*oe)+P})}function Q(Y){var K=(0,w.b1)().key(function(xe){return xe.x0}).sortKeys(_.j2).entries(Y.nodes).map(function(xe){return xe.values});(function(){var xe=(0,_.Fp)(K,function(he){return he.length}),pe=.6666666666666666*(L-A)/(xe-1);I>pe&&(I=pe);var de=(0,_.VV)(K,function(he){return(L-A-(he.length-1)*I)/(0,_.Sm)(he,o)});K.forEach(function(he){he.forEach(function(ye,ze){ye.y1=(ye.y0=ze)+ye.value*de})}),Y.links.forEach(function(he){he.width=he.value*de})})(),ce();for(var te=1,ie=N;ie>0;--ie)se(te*=.99),ce(),oe(te),ce();function oe(xe){K.forEach(function(pe){pe.forEach(function(de){if(de.targetLinks.length){var he=((0,_.Sm)(de.targetLinks,u)/(0,_.Sm)(de.targetLinks,o)-i(de))*xe;de.y0+=he,de.y1+=he}})})}function se(xe){K.slice().reverse().forEach(function(pe){pe.forEach(function(de){if(de.sourceLinks.length){var he=((0,_.Sm)(de.sourceLinks,p)/(0,_.Sm)(de.sourceLinks,o)-i(de))*xe;de.y0+=he,de.y1+=he}})})}function ce(){K.forEach(function(xe){var pe,de,he,ye=A,ze=xe.length;for(xe.sort(n),he=0;he0&&(pe.y0+=de,pe.y1+=de),ye=pe.y1+I;if((de=ye-I-L)>0)for(ye=pe.y0-=de,pe.y1-=de,he=ze-2;he>=0;--he)(de=(pe=xe[he]).y1+I-ye)>0&&(pe.y0-=de,pe.y1-=de),ye=pe.y0})}}function X(Y){Y.nodes.forEach(function(K){K.sourceLinks.sort(r),K.targetLinks.sort(a)}),Y.nodes.forEach(function(K){var te=K.y0,ie=te;K.sourceLinks.forEach(function(oe){oe.y0=te+oe.width/2,te+=oe.width}),K.targetLinks.forEach(function(oe){oe.y1=ie+oe.width/2,ie+=oe.width})})}return j.update=function(Y){return X(Y),Y},j.nodeId=function(Y){return arguments.length?(R=typeof Y=="function"?Y:t(Y),j):R},j.nodeAlign=function(Y){return arguments.length?(U=typeof Y=="function"?Y:t(Y),j):U},j.nodeWidth=function(Y){return arguments.length?(P=+Y,j):P},j.nodePadding=function(Y){return arguments.length?(I=+Y,j):I},j.nodes=function(Y){return arguments.length?(B=typeof Y=="function"?Y:t(Y),j):B},j.links=function(Y){return arguments.length?(G=typeof Y=="function"?Y:t(Y),j):G},j.size=function(Y){return arguments.length?(M=A=0,C=+Y[0],L=+Y[1],j):[C-M,L-A]},j.extent=function(Y){return arguments.length?(M=+Y[0][0],C=+Y[1][0],A=+Y[0][1],L=+Y[1][1],j):[[M,A],[C,L]]},j.iterations=function(Y){return arguments.length?(N=+Y,j):N},j}var g=e(45879);function y(M){return[M.source.x1,M.y0]}function k(M){return[M.target.x0,M.y1]}function h(){return(0,g.h5)().source(y).target(k)}},39898:function(D,E,e){var _,w;(function(){var s={version:"3.8.0"},T=[].slice,m=function(re){return T.call(re)},f=self.document;function l(re){return re&&(re.ownerDocument||re.document||re).documentElement}function t(re){return re&&(re.ownerDocument&&re.ownerDocument.defaultView||re.document&&re||re.defaultView)}if(f)try{m(f.documentElement.childNodes)[0].nodeType}catch{m=function(ve){for(var Le=ve.length,Fe=new Array(Le);Le--;)Fe[Le]=ve[Le];return Fe}}if(Date.now||(Date.now=function(){return+new Date}),f)try{f.createElement("DIV").style.setProperty("opacity",0,"")}catch{var a=this.Element.prototype,r=a.setAttribute,n=a.setAttributeNS,o=this.CSSStyleDeclaration.prototype,i=o.setProperty;a.setAttribute=function(ve,Le){r.call(this,ve,Le+"")},a.setAttributeNS=function(ve,Le,Fe){n.call(this,ve,Le,Fe+"")},o.setProperty=function(ve,Le,Fe){i.call(this,ve,Le+"",Fe)}}function u(re,ve){return reve?1:re>=ve?0:NaN}function p(re){return re===null?NaN:+re}function c(re){return!isNaN(re)}function x(re){return{left:function(ve,Le,Fe,Ve){for(arguments.length<3&&(Fe=0),arguments.length<4&&(Ve=ve.length);Fe>>1;re(ve[We],Le)<0?Fe=We+1:Ve=We}return Fe},right:function(ve,Le,Fe,Ve){for(arguments.length<3&&(Fe=0),arguments.length<4&&(Ve=ve.length);Fe>>1;re(ve[We],Le)>0?Ve=We:Fe=We+1}return Fe}}}s.ascending=u,s.descending=function(re,ve){return vere?1:ve>=re?0:NaN},s.min=function(re,ve){var Le,Fe,Ve=-1,We=re.length;if(arguments.length===1){for(;++Ve=Fe){Le=Fe;break}for(;++VeFe&&(Le=Fe)}else{for(;++Ve=Fe){Le=Fe;break}for(;++VeFe&&(Le=Fe)}return Le},s.max=function(re,ve){var Le,Fe,Ve=-1,We=re.length;if(arguments.length===1){for(;++Ve=Fe){Le=Fe;break}for(;++VeLe&&(Le=Fe)}else{for(;++Ve=Fe){Le=Fe;break}for(;++VeLe&&(Le=Fe)}return Le},s.extent=function(re,ve){var Le,Fe,Ve,We=-1,$e=re.length;if(arguments.length===1){for(;++We<$e;)if((Fe=re[We])!=null&&Fe>=Fe){Le=Ve=Fe;break}for(;++We<$e;)(Fe=re[We])!=null&&(Le>Fe&&(Le=Fe),Ve=Fe){Le=Ve=Fe;break}for(;++We<$e;)(Fe=ve.call(re,re[We],We))!=null&&(Le>Fe&&(Le=Fe),Ve1)return $e/(lt-1)},s.deviation=function(){var re=s.variance.apply(this,arguments);return re&&Math.sqrt(re)};var d=x(u);function v(re){return re.length}s.bisectLeft=d.left,s.bisect=s.bisectRight=d.right,s.bisector=function(re){return x(re.length===1?function(ve,Le){return u(re(ve),Le)}:re)},s.shuffle=function(re,ve,Le){(We=arguments.length)<3&&(Le=re.length,We<2&&(ve=0));for(var Fe,Ve,We=Le-ve;We;)Ve=Math.random()*We--|0,Fe=re[We+ve],re[We+ve]=re[Ve+ve],re[Ve+ve]=Fe;return re},s.permute=function(re,ve){for(var Le=ve.length,Fe=new Array(Le);Le--;)Fe[Le]=re[ve[Le]];return Fe},s.pairs=function(re){for(var ve=0,Le=re.length-1,Fe=re[0],Ve=new Array(Le<0?0:Le);ve=0;)for(ve=(Fe=re[Ve]).length;--ve>=0;)Le[--$e]=Fe[ve];return Le};var b=Math.abs;function g(re){for(var ve=1;re*ve%1;)ve*=10;return ve}function y(re,ve){for(var Le in ve)Object.defineProperty(re.prototype,Le,{value:ve[Le],enumerable:!1})}function k(){this._=Object.create(null)}function h(re){return(re+="")=="__proto__"||re[0]==="\0"?"\0"+re:re}function M(re){return(re+="")[0]==="\0"?re.slice(1):re}function A(re){return h(re)in this._}function C(re){return(re=h(re))in this._&&delete this._[re]}function L(){var re=[];for(var ve in this._)re.push(M(ve));return re}function P(){var re=0;for(var ve in this._)++re;return re}function I(){for(var re in this._)return!1;return!0}function R(){this._=Object.create(null)}function U(re){return re}function B(re,ve,Le){return function(){var Fe=Le.apply(ve,arguments);return Fe===ve?re:Fe}}function G(re,ve){if(ve in re)return ve;ve=ve.charAt(0).toUpperCase()+ve.slice(1);for(var Le=0,Fe=N.length;Leve;)Ve.push(Fe/We);else for(;(Fe=re+Le*++$e)=Fe.length)return ve?ve.call(Le,lt):re?lt.sort(re):lt;for(var zt,Ut,Vt,Qt,gn=-1,en=lt.length,sn=Fe[gt++],rn=new k;++gn=Fe.length)return tt;var gt=[],zt=Ve[lt++];return tt.forEach(function(Ut,Vt){gt.push({key:Ut,values:$e(Vt,lt)})}),zt?gt.sort(function(Ut,Vt){return zt(Ut.key,Vt.key)}):gt}return Le.map=function(tt,lt){return We(lt,tt,0)},Le.entries=function(tt){return $e(We(s.map,tt,0),0)},Le.key=function(tt){return Fe.push(tt),Le},Le.sortKeys=function(tt){return Ve[Fe.length-1]=tt,Le},Le.sortValues=function(tt){return re=tt,Le},Le.rollup=function(tt){return ve=tt,Le},Le},s.set=function(re){var ve=new R;if(re)for(var Le=0,Fe=re.length;Le=0&&(Fe=re.slice(Le+1),re=re.slice(0,Le)),re)return arguments.length<2?this[re].on(Fe):this[re].on(Fe,ve);if(arguments.length===2){if(ve==null)for(re in this)this.hasOwnProperty(re)&&this[re].on(Fe,null);return this}},s.event=null,s.requote=function(re){return re.replace(Y,"\\$&")};var Y=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,K={}.__proto__?function(re,ve){re.__proto__=ve}:function(re,ve){for(var Le in ve)re[Le]=ve[Le]};function te(re){return K(re,ce),re}var ie=function(re,ve){return ve.querySelector(re)},oe=function(re,ve){return ve.querySelectorAll(re)},se=function(re,ve){var Le=re.matches||re[G(re,"matchesSelector")];return se=function(Fe,Ve){return Le.call(Fe,Ve)},se(re,ve)};typeof Sizzle=="function"&&(ie=function(re,ve){return Sizzle(re,ve)[0]||null},oe=Sizzle,se=Sizzle.matchesSelector),s.selection=function(){return s.select(f.documentElement)};var ce=s.selection.prototype=[];function xe(re){return typeof re=="function"?re:function(){return ie(re,this)}}function pe(re){return typeof re=="function"?re:function(){return oe(re,this)}}ce.select=function(re){var ve,Le,Fe,Ve,We=[];re=xe(re);for(var $e=-1,tt=this.length;++$e=0&&(Le=re.slice(0,ve))!=="xmlns"&&(re=re.slice(ve+1)),he.hasOwnProperty(Le)?{space:he[Le],local:re}:re}},ce.attr=function(re,ve){if(arguments.length<2){if(typeof re=="string"){var Le=this.node();return(re=s.ns.qualify(re)).local?Le.getAttributeNS(re.space,re.local):Le.getAttribute(re)}for(ve in re)this.each(ye(ve,re[ve]));return this}return this.each(ye(re,ve))},ce.classed=function(re,ve){if(arguments.length<2){if(typeof re=="string"){var Le=this.node(),Fe=(re=Ae(re)).length,Ve=-1;if(ve=Le.classList){for(;++Ve=0;)(Le=Fe[Ve])&&(We&&We!==Le.nextSibling&&We.parentNode.insertBefore(Le,We),We=Le);return this},ce.sort=function(re){re=De.apply(this,arguments);for(var ve=-1,Le=this.length;++ve=ve&&(ve=Ve+1);!($e=tt[ve])&&++ve0&&(re=re.slice(0,Ve));var $e=Ye.get(re);function tt(){var lt=this[Fe];lt&&(this.removeEventListener(re,lt,lt.$),delete this[Fe])}return $e&&(re=$e,We=st),Ve?ve?function(){var lt=We(ve,m(arguments));tt.call(this),this.addEventListener(re,this[Fe]=lt,lt.$=Le),lt._=ve}:tt:ve?j:function(){var lt,gt=new RegExp("^__on([^.]+)"+s.requote(re)+"$");for(var zt in this)if(lt=zt.match(gt)){var Ut=this[zt];this.removeEventListener(lt[1],Ut,Ut.$),delete this[zt]}}}s.selection.enter=ge,s.selection.enter.prototype=be,be.append=ce.append,be.empty=ce.empty,be.node=ce.node,be.call=ce.call,be.size=ce.size,be.select=function(re){for(var ve,Le,Fe,Ve,We,$e=[],tt=-1,lt=this.length;++tt1?Nt:re<-1?-Nt:Math.asin(re)}function nt(re){return((re=Math.exp(re))+1/re)/2}var ht=Math.SQRT2;s.interpolateZoom=function(re,ve){var Le,Fe,Ve=re[0],We=re[1],$e=re[2],tt=ve[0],lt=ve[1],gt=ve[2],zt=tt-Ve,Ut=lt-We,Vt=zt*zt+Ut*Ut;if(Vt<1e-12)Fe=Math.log(gt/$e)/ht,Le=function(Mn){return[Ve+Mn*zt,We+Mn*Ut,$e*Math.exp(ht*Mn*Fe)]};else{var Qt=Math.sqrt(Vt),gn=(gt*gt-$e*$e+4*Vt)/(2*$e*2*Qt),en=(gt*gt-$e*$e-4*Vt)/(2*gt*2*Qt),sn=Math.log(Math.sqrt(gn*gn+1)-gn),rn=Math.log(Math.sqrt(en*en+1)-en);Fe=(rn-sn)/ht,Le=function(Mn){var xn,an=Mn*Fe,zn=nt(sn),Un=$e/(2*Qt)*(zn*(xn=ht*an+sn,((xn=Math.exp(2*xn))-1)/(xn+1))-function(nr){return((nr=Math.exp(nr))-1/nr)/2}(sn));return[Ve+Un*zt,We+Un*Ut,$e*zn/nt(ht*an+sn)]}}return Le.duration=1e3*Fe,Le},s.behavior.zoom=function(){var re,ve,Le,Fe,Ve,We,$e,tt,lt,gt={x:0,y:0,k:1},zt=[960,500],Ut=Qe,Vt=250,Qt=0,gn="mousedown.zoom",en="mousemove.zoom",sn="mouseup.zoom",rn="touchstart.zoom",Mn=X(xn,"zoomstart","zoom","zoomend");function xn(xr){xr.on(gn,_r).on(Be+".zoom",Jr).on("dblclick.zoom",Kr).on(rn,Rr)}function an(xr){return[(xr[0]-gt.x)/gt.k,(xr[1]-gt.y)/gt.k]}function zn(xr){gt.k=Math.max(Ut[0],Math.min(Ut[1],xr))}function Un(xr,zr){zr=function(Wr){return[Wr[0]*gt.k+gt.x,Wr[1]*gt.k+gt.y]}(zr),gt.x+=xr[0]-zr[0],gt.y+=xr[1]-zr[1]}function nr(xr,zr,Wr,Gr){xr.__chart__={x:gt.x,y:gt.y,k:gt.k},zn(Math.pow(2,Gr)),Un(ve=zr,Wr),xr=s.select(xr),Vt>0&&(xr=xr.transition().duration(Vt)),xr.call(xn.event)}function rr(){$e&&$e.domain(We.range().map(function(xr){return(xr-gt.x)/gt.k}).map(We.invert)),lt&<.domain(tt.range().map(function(xr){return(xr-gt.y)/gt.k}).map(tt.invert))}function wr(xr){Qt++||xr({type:"zoomstart"})}function kr(xr){rr(),xr({type:"zoom",scale:gt.k,translate:[gt.x,gt.y]})}function mr(xr){--Qt||(xr({type:"zoomend"}),ve=null)}function _r(){var xr=this,zr=Mn.of(xr,arguments),Wr=0,Gr=s.select(t(xr)).on(en,ui).on(sn,ki),ii=an(s.mouse(xr)),ni=yt(xr);function ui(){Wr=1,Un(s.mouse(xr),ii),kr(zr)}function ki(){Gr.on(en,null).on(sn,null),ni(Wr),mr(zr)}Si.call(xr),wr(zr)}function Rr(){var xr,zr=this,Wr=Mn.of(zr,arguments),Gr={},ii=0,ni=".zoom-"+s.event.changedTouches[0].identifier,ui="touchmove"+ni,ki="touchend"+ni,Ii=[],Ei=s.select(zr),wi=yt(zr);function Ai(){var ta=s.touches(zr);return xr=gt.k,ta.forEach(function(Yr){Yr.identifier in Gr&&(Gr[Yr.identifier]=an(Yr))}),ta}function Ci(){var ta=s.event.target;s.select(ta).on(ui,qi).on(ki,_s),Ii.push(ta);for(var Yr=s.event.changedTouches,pa=0,wa=Yr.length;pa1){ai=Ui[0];var na=Ui[1],Ba=ai[0]-na[0],Jl=ai[1]-na[1];ii=Ba*Ba+Jl*Jl}}function qi(){var ta,Yr,pa,wa,Ui=s.touches(zr);Si.call(zr);for(var ko=0,ai=Ui.length;ko360?tt-=360:tt<0&&(tt+=360),tt<60?Fe+(Ve-Fe)*tt/60:tt<180?Ve:tt<240?Fe+(Ve-Fe)*(240-tt)/60:Fe}($e))}return re=isNaN(re)?0:(re%=360)<0?re+360:re,ve=isNaN(ve)||ve<0?0:ve>1?1:ve,Fe=2*(Le=Le<0?0:Le>1?1:Le)-(Ve=Le<=.5?Le*(1+ve):Le+ve-Le*ve),new kn(We(re+120),We(re),We(re-120))}function Ct(re,ve,Le){return this instanceof Ct?(this.h=+re,this.c=+ve,void(this.l=+Le)):arguments.length<2?re instanceof Ct?new Ct(re.h,re.c,re.l):Kt(re instanceof _t?re.l:(re=In((re=s.rgb(re)).r,re.g,re.b)).l,re.a,re.b):new Ct(re,ve,Le)}bt.brighter=function(re){return re=Math.pow(.7,arguments.length?re:1),new pt(this.h,this.s,this.l/re)},bt.darker=function(re){return re=Math.pow(.7,arguments.length?re:1),new pt(this.h,this.s,re*this.l)},bt.rgb=function(){return Lt(this.h,this.s,this.l)},s.hcl=Ct;var mt=Ct.prototype=new ut;function Ot(re,ve,Le){return isNaN(re)&&(re=0),isNaN(ve)&&(ve=0),new _t(Le,Math.cos(re*=Je)*ve,Math.sin(re)*ve)}function _t(re,ve,Le){return this instanceof _t?(this.l=+re,this.a=+ve,void(this.b=+Le)):arguments.length<2?re instanceof _t?new _t(re.l,re.a,re.b):re instanceof Ct?Ot(re.h,re.c,re.l):In((re=kn(re)).r,re.g,re.b):new _t(re,ve,Le)}mt.brighter=function(re){return new Ct(this.h,this.c,Math.min(100,this.l+Pt*(arguments.length?re:1)))},mt.darker=function(re){return new Ct(this.h,this.c,Math.max(0,this.l-Pt*(arguments.length?re:1)))},mt.rgb=function(){return Ot(this.h,this.c,this.l).rgb()},s.lab=_t;var Pt=18,Bt=.95047,Wt=1.08883,Gt=_t.prototype=new ut;function Xt(re,ve,Le){var Fe=(re+16)/116,Ve=Fe+ve/500,We=Fe-Le/200;return new kn(ln(3.2404542*(Ve=nn(Ve)*Bt)-1.5371385*(Fe=1*nn(Fe))-.4985314*(We=nn(We)*Wt)),ln(-.969266*Ve+1.8760108*Fe+.041556*We),ln(.0556434*Ve-.2040259*Fe+1.0572252*We))}function Kt(re,ve,Le){return re>0?new Ct(Math.atan2(Le,ve)*Ke,Math.sqrt(ve*ve+Le*Le),re):new Ct(NaN,NaN,re)}function nn(re){return re>.206893034?re*re*re:(re-.13793103448275862)/7.787037}function yn(re){return re>.008856?Math.pow(re,.3333333333333333):7.787037*re+.13793103448275862}function ln(re){return Math.round(255*(re<=.00304?12.92*re:1.055*Math.pow(re,.4166666666666667)-.055))}function kn(re,ve,Le){return this instanceof kn?(this.r=~~re,this.g=~~ve,void(this.b=~~Le)):arguments.length<2?re instanceof kn?new kn(re.r,re.g,re.b):fn(""+re,kn,Lt):new kn(re,ve,Le)}function Wn(re){return new kn(re>>16,re>>8&255,255&re)}function wn(re){return Wn(re)+""}Gt.brighter=function(re){return new _t(Math.min(100,this.l+Pt*(arguments.length?re:1)),this.a,this.b)},Gt.darker=function(re){return new _t(Math.max(0,this.l-Pt*(arguments.length?re:1)),this.a,this.b)},Gt.rgb=function(){return Xt(this.l,this.a,this.b)},s.rgb=kn;var on=kn.prototype=new ut;function _n(re){return re<16?"0"+Math.max(0,re).toString(16):Math.min(255,re).toString(16)}function fn(re,ve,Le){var Fe,Ve,We,$e=0,tt=0,lt=0;if(Fe=/([a-z]+)\((.*)\)/.exec(re=re.toLowerCase()))switch(Ve=Fe[2].split(","),Fe[1]){case"hsl":return Le(parseFloat(Ve[0]),parseFloat(Ve[1])/100,parseFloat(Ve[2])/100);case"rgb":return ve(Nn(Ve[0]),Nn(Ve[1]),Nn(Ve[2]))}return(We=Hn.get(re))?ve(We.r,We.g,We.b):(re==null||re.charAt(0)!=="#"||isNaN(We=parseInt(re.slice(1),16))||(re.length===4?($e=(3840&We)>>4,$e|=$e>>4,tt=240&We,tt|=tt>>4,lt=15&We,lt|=lt<<4):re.length===7&&($e=(16711680&We)>>16,tt=(65280&We)>>8,lt=255&We)),ve($e,tt,lt))}function hn(re,ve,Le){var Fe,Ve,We=Math.min(re/=255,ve/=255,Le/=255),$e=Math.max(re,ve,Le),tt=$e-We,lt=($e+We)/2;return tt?(Ve=lt<.5?tt/($e+We):tt/(2-$e-We),Fe=re==$e?(ve-Le)/tt+(ve0&<<1?0:Fe),new pt(Fe,Ve,lt)}function In(re,ve,Le){var Fe=yn((.4124564*(re=Cn(re))+.3575761*(ve=Cn(ve))+.1804375*(Le=Cn(Le)))/Bt),Ve=yn((.2126729*re+.7151522*ve+.072175*Le)/1);return _t(116*Ve-16,500*(Fe-Ve),200*(Ve-yn((.0193339*re+.119192*ve+.9503041*Le)/Wt)))}function Cn(re){return(re/=255)<=.04045?re/12.92:Math.pow((re+.055)/1.055,2.4)}function Nn(re){var ve=parseFloat(re);return re.charAt(re.length-1)==="%"?Math.round(2.55*ve):ve}on.brighter=function(re){re=Math.pow(.7,arguments.length?re:1);var ve=this.r,Le=this.g,Fe=this.b,Ve=30;return ve||Le||Fe?(ve&&ve=200&&Ut<300||Ut===304){try{zt=Le.call(Ve,tt)}catch(Vt){return void We.error.call(Ve,Vt)}We.load.call(Ve,zt)}else We.error.call(Ve,tt)}return self.XDomainRequest&&!("withCredentials"in tt)&&/^(http(s)?:)?\/\//.test(re)&&(tt=new XDomainRequest),"onload"in tt?tt.onload=tt.onerror=gt:tt.onreadystatechange=function(){tt.readyState>3&>()},tt.onprogress=function(zt){var Ut=s.event;s.event=zt;try{We.progress.call(Ve,tt)}finally{s.event=Ut}},Ve.header=function(zt,Ut){return zt=(zt+"").toLowerCase(),arguments.length<2?$e[zt]:(Ut==null?delete $e[zt]:$e[zt]=Ut+"",Ve)},Ve.mimeType=function(zt){return arguments.length?(ve=zt==null?null:zt+"",Ve):ve},Ve.responseType=function(zt){return arguments.length?(lt=zt,Ve):lt},Ve.response=function(zt){return Le=zt,Ve},["get","post"].forEach(function(zt){Ve[zt]=function(){return Ve.send.apply(Ve,[zt].concat(m(arguments)))}}),Ve.send=function(zt,Ut,Vt){if(arguments.length===2&&typeof Ut=="function"&&(Vt=Ut,Ut=null),tt.open(zt,re,!0),ve==null||"accept"in $e||($e.accept=ve+",*/*"),tt.setRequestHeader)for(var Qt in $e)tt.setRequestHeader(Qt,$e[Qt]);return ve!=null&&tt.overrideMimeType&&tt.overrideMimeType(ve),lt!=null&&(tt.responseType=lt),Vt!=null&&Ve.on("error",Vt).on("load",function(gn){Vt(null,gn)}),We.beforesend.call(Ve,tt),tt.send(Ut??null),Ve},Ve.abort=function(){return tt.abort(),Ve},s.rebind(Ve,We,"on"),Fe==null?Ve:Ve.get(function(zt){return zt.length===1?function(Ut,Vt){zt(Ut==null?Vt:null)}:zt}(Fe))}Hn.forEach(function(re,ve){Hn.set(re,Wn(ve))}),s.functor=qn,s.xhr=or(U),s.dsv=function(re,ve){var Le=new RegExp('["'+re+` +]`),Fe=re.charCodeAt(0);function Ve(gt,zt,Ut){arguments.length<3&&(Ut=zt,zt=null);var Vt=tr(gt,ve,zt==null?We:$e(zt),Ut);return Vt.row=function(Qt){return arguments.length?Vt.response((zt=Qt)==null?We:$e(Qt)):zt},Vt}function We(gt){return Ve.parse(gt.responseText)}function $e(gt){return function(zt){return Ve.parse(zt.responseText,gt)}}function tt(gt){return gt.map(lt).join(re)}function lt(gt){return Le.test(gt)?'"'+gt.replace(/\"/g,'""')+'"':gt}return Ve.parse=function(gt,zt){var Ut;return Ve.parseRows(gt,function(Vt,Qt){if(Ut)return Ut(Vt,Qt-1);var gn=function(en){for(var sn={},rn=Vt.length,Mn=0;Mn=sn)return gn;if(Vt)return Vt=!1,Qt;var zn=rn;if(gt.charCodeAt(zn)===34){for(var Un=zn;Un++24?(isFinite(ve)&&(clearTimeout(dr),dr=setTimeout(mn,ve)),ir=0):(ir=1,yr(mn))}function Ln(){for(var re=Date.now(),ve=Tr;ve;)re>=ve.t&&ve.c(re-ve.t)&&(ve.c=null),ve=ve.n;return re}function En(){for(var re,ve=Tr,Le=1/0;ve;)ve.c?(ve.t1&&(ve=re[We[$e-2]],Le=re[We[$e-1]],Fe=re[tt],(Le[0]-ve[0])*(Fe[1]-ve[1])-(Le[1]-ve[1])*(Fe[0]-ve[0])<=0);)--$e;We[$e++]=tt}return We.slice(0,$e)}function Qn(re,ve){return re[0]-ve[0]||re[1]-ve[1]}s.timer=function(){$t.apply(this,arguments)},s.timer.flush=function(){Ln(),En()},s.round=function(re,ve){return ve?Math.round(re*(ve=Math.pow(10,ve)))/ve:Math.round(re)},s.geom={},s.geom.hull=function(re){var ve=jn,Le=$n;if(arguments.length)return Fe(re);function Fe(Ve){if(Ve.length<3)return[];var We,$e=qn(ve),tt=qn(Le),lt=Ve.length,gt=[],zt=[];for(We=0;We=0;--We)en.push(Ve[gt[Ut[We]][2]]);for(We=+Qt;WeDt)tt=tt.L;else{if(!((Ve=We-Jn(tt,$e))>Dt)){Fe>-Dt?(ve=tt.P,Le=tt):Ve>-Dt?(ve=tt,Le=tt.N):ve=Le=tt;break}if(!tt.R){ve=tt;break}tt=tt.R}var lt=vn(re);if(Rn.insert(ve,lt),ve||Le){if(ve===Le)return vr(ve),Le=vn(ve.site),Rn.insert(lt,Le),lt.edge=Le.edge=Lr(ve.site,lt.site),cr(ve),void cr(Le);if(Le){vr(ve),vr(Le);var gt=ve.site,zt=gt.x,Ut=gt.y,Vt=re.x-zt,Qt=re.y-Ut,gn=Le.site,en=gn.x-zt,sn=gn.y-Ut,rn=2*(Vt*sn-Qt*en),Mn=Vt*Vt+Qt*Qt,xn=en*en+sn*sn,an={x:(sn*Mn-Qt*xn)/rn+zt,y:(Vt*xn-en*Mn)/rn+Ut};pr(Le.edge,gt,gn,an),lt.edge=Lr(gt,re,null,an),Le.edge=Lr(re,gn,null,an),cr(ve),cr(Le)}else lt.edge=Lr(ve.site,lt.site)}}function er(re,ve){var Le=re.site,Fe=Le.x,Ve=Le.y,We=Ve-ve;if(!We)return Fe;var $e=re.P;if(!$e)return-1/0;var tt=(Le=$e.site).x,lt=Le.y,gt=lt-ve;if(!gt)return tt;var zt=tt-Fe,Ut=1/We-1/gt,Vt=zt/gt;return Ut?(-Vt+Math.sqrt(Vt*Vt-2*Ut*(zt*zt/(-2*gt)-lt+gt/2+Ve-We/2)))/Ut+Fe:(Fe+tt)/2}function Jn(re,ve){var Le=re.N;if(Le)return er(Le,ve);var Fe=re.site;return Fe.y===ve?Fe.x:1/0}function lr(re){this.site=re,this.edges=[]}function sr(re,ve){return ve.angle-re.angle}function fr(){ci(this),this.x=this.y=this.arc=this.site=this.cy=null}function cr(re){var ve=re.P,Le=re.N;if(ve&&Le){var Fe=ve.site,Ve=re.site,We=Le.site;if(Fe!==We){var $e=Ve.x,tt=Ve.y,lt=Fe.x-$e,gt=Fe.y-tt,zt=We.x-$e,Ut=2*(lt*(sn=We.y-tt)-gt*zt);if(!(Ut>=-1e-12)){var Vt=lt*lt+gt*gt,Qt=zt*zt+sn*sn,gn=(sn*Vt-gt*Qt)/Ut,en=(lt*Qt-zt*Vt)/Ut,sn=en+tt,rn=bn.pop()||new fr;rn.arc=re,rn.site=Ve,rn.x=gn+$e,rn.y=sn+Math.sqrt(gn*gn+en*en),rn.cy=sn,re.circle=rn;for(var Mn=null,xn=Sn._;xn;)if(rn.y=tt)return;if(Vt>gn){if(We){if(We.y>=gt)return}else We={x:sn,y:lt};Le={x:sn,y:gt}}else{if(We){if(We.y1)if(Vt>gn){if(We){if(We.y>=gt)return}else We={x:(lt-Ve)/Fe,y:lt};Le={x:(gt-Ve)/Fe,y:gt}}else{if(We){if(We.y=tt)return}else We={x:$e,y:Fe*$e+Ve};Le={x:tt,y:Fe*tt+Ve}}else{if(We){if(We.x<$e)return}else We={x:tt,y:Fe*tt+Ve};Le={x:$e,y:Fe*$e+Ve}}return re.a=We,re.b=Le,!0}function Mr(re,ve){this.l=re,this.r=ve,this.a=this.b=null}function Lr(re,ve,Le,Fe){var Ve=new Mr(re,ve);return Jt.push(Ve),Le&&pr(Ve,re,ve,Le),Fe&&pr(Ve,ve,re,Fe),un[re.i].edges.push(new Pr(Ve,re,ve)),un[ve.i].edges.push(new Pr(Ve,ve,re)),Ve}function pr(re,ve,Le,Fe){re.a||re.b?re.l===Le?re.b=Fe:re.a=Fe:(re.a=Fe,re.l=ve,re.r=Le)}function Pr(re,ve,Le){var Fe=re.a,Ve=re.b;this.edge=re,this.site=ve,this.angle=Le?Math.atan2(Le.y-ve.y,Le.x-ve.x):re.l===ve?Math.atan2(Ve.x-Fe.x,Fe.y-Ve.y):Math.atan2(Fe.x-Ve.x,Ve.y-Fe.y)}function Hr(){this._=null}function ci(re){re.U=re.C=re.L=re.R=re.P=re.N=null}function Ti(re,ve){var Le=ve,Fe=ve.R,Ve=Le.U;Ve?Ve.L===Le?Ve.L=Fe:Ve.R=Fe:re._=Fe,Fe.U=Ve,Le.U=Fe,Le.R=Fe.L,Le.R&&(Le.R.U=Le),Fe.L=Le}function Mi(re,ve){var Le=ve,Fe=ve.L,Ve=Le.U;Ve?Ve.L===Le?Ve.L=Fe:Ve.R=Fe:re._=Fe,Fe.U=Ve,Le.U=Fe,Le.L=Fe.R,Le.L&&(Le.L.U=Le),Fe.R=Le}function fa(re){for(;re.L;)re=re.L;return re}function Hi(re,ve){var Le,Fe,Ve,We=re.sort(xi).pop();for(Jt=[],un=new Array(re.length),Rn=new Hr,Sn=new Hr;;)if(Ve=On,We&&(!Ve||We.y0)){if(rn/=rr,rr<0){if(rn0){if(rn>nr)return;rn>Un&&(Un=rn)}if(rn=Ut-an,rr||!(rn<0)){if(rn/=rr,rr<0){if(rn>nr)return;rn>Un&&(Un=rn)}else if(rr>0){if(rn0)){if(rn/=wr,wr<0){if(rn0){if(rn>nr)return;rn>Un&&(Un=rn)}if(rn=Vt-zn,wr||!(rn<0)){if(rn/=wr,wr<0){if(rn>nr)return;rn>Un&&(Un=rn)}else if(wr>0){if(rn0&&(sn.a={x:an+Un*rr,y:zn+Un*wr}),nr<1&&(sn.b={x:an+nr*rr,y:zn+nr*wr}),sn}}}}}),en=Qt.length;en--;)(!Sr(lt=Qt[en],tt)||!gn(lt)||b(lt.a.x-lt.b.x)Dt||b(Ut-gt)>Dt)&&(gn.splice(Qt,0,new Pr((rr=Vt.site,wr=rn,kr=b(zt-Mn)Dt?{x:Mn,y:b(lt-Mn)Dt?{x:b(gt-zn)Dt?{x:xn,y:b(lt-xn)Dt?{x:b(gt-an)=zt&&rn.x<=Vt&&rn.y>=Ut&&rn.y<=Qt?[[zt,Qt],[Vt,Qt],[Vt,Ut],[zt,Ut]]:[]).point=lt[en]}),gt}function tt(lt){return lt.map(function(gt,zt){return{x:Math.round(Fe(gt,zt)/Dt)*Dt,y:Math.round(Ve(gt,zt)/Dt)*Dt,i:zt}})}return $e.links=function(lt){return Hi(tt(lt)).edges.filter(function(gt){return gt.l&>.r}).map(function(gt){return{source:lt[gt.l.i],target:lt[gt.r.i]}})},$e.triangles=function(lt){var gt=[];return Hi(tt(lt)).cells.forEach(function(zt,Ut){for(var Vt,Qt,gn,en,sn=zt.site,rn=zt.edges.sort(sr),Mn=-1,xn=rn.length,an=rn[xn-1].edge,zn=an.l===sn?an.r:an.l;++MnWe||Vt>$e||Qt=Un)<<1|ve>=zn,rr=nr+4;nrWe&&(Ve=ve.slice(We,Ve),tt[$e]?tt[$e]+=Ve:tt[++$e]=Ve),(Le=Le[0])===(Fe=Fe[0])?tt[$e]?tt[$e]+=Fe:tt[++$e]=Fe:(tt[++$e]=null,lt.push({i:$e,x:Qa(Le,Fe)})),We=ml.lastIndex;return Wern&&(rn=zt.x),zt.y>Mn&&(Mn=zt.y),Ut.push(zt.x),Vt.push(zt.y);else for(Qt=0;Qtrn&&(rn=zn),Un>Mn&&(Mn=Un),Ut.push(zn),Vt.push(Un)}var nr=rn-en,rr=Mn-sn;function wr(_r,Rr,Jr,Kr,xr,zr,Wr,Gr){if(!isNaN(Jr)&&!isNaN(Kr))if(_r.leaf){var ii=_r.x,ni=_r.y;if(ii!=null)if(b(ii-Jr)+b(ni-Kr)<.01)kr(_r,Rr,Jr,Kr,xr,zr,Wr,Gr);else{var ui=_r.point;_r.x=_r.y=_r.point=null,kr(_r,ui,ii,ni,xr,zr,Wr,Gr),kr(_r,Rr,Jr,Kr,xr,zr,Wr,Gr)}else _r.x=Jr,_r.y=Kr,_r.point=Rr}else kr(_r,Rr,Jr,Kr,xr,zr,Wr,Gr)}function kr(_r,Rr,Jr,Kr,xr,zr,Wr,Gr){var ii=.5*(xr+Wr),ni=.5*(zr+Gr),ui=Jr>=ii,ki=Kr>=ni,Ii=ki<<1|ui;_r.leaf=!1,ui?xr=ii:Wr=ii,ki?zr=ni:Gr=ni,wr(_r=_r.nodes[Ii]||(_r.nodes[Ii]={leaf:!0,nodes:[],point:null,x:null,y:null}),Rr,Jr,Kr,xr,zr,Wr,Gr)}nr>rr?Mn=sn+nr:rn=en+rr;var mr={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(_r){wr(mr,_r,+xn(_r,++Qt),+an(_r,Qt),en,sn,rn,Mn)},visit:function(_r){Ys(_r,mr,en,sn,rn,Mn)},find:function(_r){return Uu(mr,_r[0],_r[1],en,sn,rn,Mn)}};if(Qt=-1,ve==null){for(;++Qt=0&&!(Le=s.interpolators[Fe](re,ve)););return Le}function eo(re,ve){var Le,Fe=[],Ve=[],We=re.length,$e=ve.length,tt=Math.min(re.length,ve.length);for(Le=0;Le=1?1:re(ve)}}function bo(re){return function(ve){return 1-re(1-ve)}}function Ro(re){return function(ve){return .5*(ve<.5?re(2*ve):2-re(2-2*ve))}}function yl(re){return re*re}function Vu(re){return re*re*re}function Xo(re){if(re<=0)return 0;if(re>=1)return 1;var ve=re*re,Le=ve*re;return 4*(re<.5?Le:3*(re-ve)+Le-.75)}function Hu(re){return 1-Math.cos(re*Nt)}function qu(re){return Math.pow(2,10*(re-1))}function Mc(re){return 1-Math.sqrt(1-re*re)}function gu(re){return re<.36363636363636365?7.5625*re*re:re<.7272727272727273?7.5625*(re-=.5454545454545454)*re+.75:re<.9090909090909091?7.5625*(re-=.8181818181818182)*re+.9375:7.5625*(re-=.9545454545454546)*re+.984375}function Gu(re,ve){return ve-=re,function(Le){return Math.round(re+ve*Le)}}function vu(re){var ve,Le,Fe,Ve=[re.a,re.b],We=[re.c,re.d],$e=Jo(Ve),tt=$o(Ve,We),lt=Jo(((ve=We)[0]+=(Fe=-tt)*(Le=Ve)[0],ve[1]+=Fe*Le[1],ve))||0;Ve[0]*We[1]=0?re.slice(0,ve):re,Fe=ve>=0?re.slice(ve+1):"in";return Le=fi.get(Le)||fs,ao((Fe=hs.get(Fe)||U)(Le.apply(null,T.call(arguments,1))))},s.interpolateHcl=function(re,ve){re=s.hcl(re),ve=s.hcl(ve);var Le=re.h,Fe=re.c,Ve=re.l,We=ve.h-Le,$e=ve.c-Fe,tt=ve.l-Ve;return isNaN($e)&&($e=0,Fe=isNaN(Fe)?ve.c:Fe),isNaN(We)?(We=0,Le=isNaN(Le)?ve.h:Le):We>180?We-=360:We<-180&&(We+=360),function(lt){return Ot(Le+We*lt,Fe+$e*lt,Ve+tt*lt)+""}},s.interpolateHsl=function(re,ve){re=s.hsl(re),ve=s.hsl(ve);var Le=re.h,Fe=re.s,Ve=re.l,We=ve.h-Le,$e=ve.s-Fe,tt=ve.l-Ve;return isNaN($e)&&($e=0,Fe=isNaN(Fe)?ve.s:Fe),isNaN(We)?(We=0,Le=isNaN(Le)?ve.h:Le):We>180?We-=360:We<-180&&(We+=360),function(lt){return Lt(Le+We*lt,Fe+$e*lt,Ve+tt*lt)+""}},s.interpolateLab=function(re,ve){re=s.lab(re),ve=s.lab(ve);var Le=re.l,Fe=re.a,Ve=re.b,We=ve.l-Le,$e=ve.a-Fe,tt=ve.b-Ve;return function(lt){return Xt(Le+We*lt,Fe+$e*lt,Ve+tt*lt)+""}},s.interpolateRound=Gu,s.transform=function(re){var ve=f.createElementNS(s.ns.prefix.svg,"g");return(s.transform=function(Le){if(Le!=null){ve.setAttribute("transform",Le);var Fe=ve.transform.baseVal.consolidate()}return new vu(Fe?Fe.matrix:$s)})(re)},vu.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var $s={a:1,b:0,c:0,d:1,e:0,f:0};function Ko(re){return re.length?re.pop()+",":""}function mu(re,ve){var Le=[],Fe=[];return re=s.transform(re),ve=s.transform(ve),function(Ve,We,$e,tt){if(Ve[0]!==We[0]||Ve[1]!==We[1]){var lt=$e.push("translate(",null,",",null,")");tt.push({i:lt-4,x:Qa(Ve[0],We[0])},{i:lt-2,x:Qa(Ve[1],We[1])})}else(We[0]||We[1])&&$e.push("translate("+We+")")}(re.translate,ve.translate,Le,Fe),function(Ve,We,$e,tt){Ve!==We?(Ve-We>180?We+=360:We-Ve>180&&(Ve+=360),tt.push({i:$e.push(Ko($e)+"rotate(",null,")")-2,x:Qa(Ve,We)})):We&&$e.push(Ko($e)+"rotate("+We+")")}(re.rotate,ve.rotate,Le,Fe),function(Ve,We,$e,tt){Ve!==We?tt.push({i:$e.push(Ko($e)+"skewX(",null,")")-2,x:Qa(Ve,We)}):We&&$e.push(Ko($e)+"skewX("+We+")")}(re.skew,ve.skew,Le,Fe),function(Ve,We,$e,tt){if(Ve[0]!==We[0]||Ve[1]!==We[1]){var lt=$e.push(Ko($e)+"scale(",null,",",null,")");tt.push({i:lt-4,x:Qa(Ve[0],We[0])},{i:lt-2,x:Qa(Ve[1],We[1])})}else We[0]===1&&We[1]===1||$e.push(Ko($e)+"scale("+We+")")}(re.scale,ve.scale,Le,Fe),re=ve=null,function(Ve){for(var We,$e=-1,tt=Fe.length;++$e0?Le=an:(re.c=null,re.t=NaN,re=null,tt.end({type:"end",alpha:Le=0})):an>0&&(tt.start({type:"start",alpha:Le=an}),re=$t($e.tick)),$e):Le},$e.start=function(){var an,zn,Un,nr=sn.length,rr=rn.length,wr=lt[0],kr=lt[1];for(an=0;an=0;)Le.push(Ve[Fe])}function oo(re,ve){for(var Le=[re],Fe=[];(re=Le.pop())!=null;)if(Fe.push(re),(We=re.children)&&(Ve=We.length))for(var Ve,We,$e=-1;++$e=0;)$e.push(zt=gt[lt]),zt.parent=We,zt.depth=We.depth+1;Le&&(We.value=0),We.children=gt}else Le&&(We.value=+Le.call(Fe,We,We.depth)||0),delete We.children;return oo(Ve,function(Ut){var Vt,Qt;re&&(Vt=Ut.children)&&Vt.sort(re),Le&&(Qt=Ut.parent)&&(Qt.value+=Ut.value)}),tt}return Fe.sort=function(Ve){return arguments.length?(re=Ve,Fe):re},Fe.children=function(Ve){return arguments.length?(ve=Ve,Fe):ve},Fe.value=function(Ve){return arguments.length?(Le=Ve,Fe):Le},Fe.revalue=function(Ve){return Le&&(Ks(Ve,function(We){We.children&&(We.value=0)}),oo(Ve,function(We){var $e;We.children||(We.value=+Le.call(Fe,We,We.depth)||0),($e=We.parent)&&($e.value+=We.value)})),Ve},Fe},s.layout.partition=function(){var re=s.layout.hierarchy(),ve=[1,1];function Le(We,$e,tt,lt){var gt=We.children;if(We.x=$e,We.y=We.depth*lt,We.dx=tt,We.dy=lt,gt&&(zt=gt.length)){var zt,Ut,Vt,Qt=-1;for(tt=We.value?tt/We.value:0;++Qttt&&(tt=Fe),$e.push(Fe)}for(Le=0;LeVe&&(Fe=Le,Ve=ve);return Fe}function gs(re){return re.reduce(Hl,0)}function Hl(re,ve){return re+ve[1]}function Ml(re,ve){return _u(re,Math.ceil(Math.log(ve.length)/Math.LN2+1))}function _u(re,ve){for(var Le=-1,Fe=+re[0],Ve=(re[1]-Fe)/ve,We=[];++Le<=ve;)We[Le]=Ve*Le+Fe;return We}function Sl(re){return[s.min(re),s.max(re)]}function tl(re,ve){return re.value-ve.value}function zs(re,ve){var Le=re._pack_next;re._pack_next=ve,ve._pack_prev=re,ve._pack_next=Le,Le._pack_prev=ve}function Ds(re,ve){re._pack_next=ve,ve._pack_prev=re}function bi(re,ve){var Le=ve.x-re.x,Fe=ve.y-re.y,Ve=re.r+ve.r;return .999*Ve*Ve>Le*Le+Fe*Fe}function vs(re){if((ve=re.children)&&(lt=ve.length)){var ve,Le,Fe,Ve,We,$e,tt,lt,gt=1/0,zt=-1/0,Ut=1/0,Vt=-1/0;if(ve.forEach(ms),(Le=ve[0]).x=-Le.r,Le.y=0,xn(Le),lt>1&&((Fe=ve[1]).x=Fe.r,Fe.y=0,xn(Fe),lt>2))for(li(Le,Fe,Ve=ve[2]),xn(Ve),zs(Le,Ve),Le._pack_prev=Ve,zs(Ve,Fe),Fe=Le._pack_next,We=3;We0)for($e=-1;++$e=Ut[0]&<<=Ut[1]&&((tt=gt[s.bisect(Vt,lt,1,gn)-1]).y+=en,tt.push(We[$e]));return gt}return Ve.value=function(We){return arguments.length?(ve=We,Ve):ve},Ve.range=function(We){return arguments.length?(Le=qn(We),Ve):Le},Ve.bins=function(We){return arguments.length?(Fe=typeof We=="number"?function($e){return _u($e,We)}:qn(We),Ve):Fe},Ve.frequency=function(We){return arguments.length?(re=!!We,Ve):re},Ve},s.layout.pack=function(){var re,ve=s.layout.hierarchy().sort(tl),Le=0,Fe=[1,1];function Ve(We,$e){var tt=ve.call(this,We,$e),lt=tt[0],gt=Fe[0],zt=Fe[1],Ut=re==null?Math.sqrt:typeof re=="function"?re:function(){return re};if(lt.x=lt.y=0,oo(lt,function(Qt){Qt.r=+Ut(Qt.value)}),oo(lt,vs),Le){var Vt=Le*(re?1:Math.max(2*lt.r/gt,2*lt.r/zt))/2;oo(lt,function(Qt){Qt.r+=Vt}),oo(lt,vs),oo(lt,function(Qt){Qt.r-=Vt})}return oi(lt,gt/2,zt/2,re?1:1/Math.max(2*lt.r/gt,2*lt.r/zt)),tt}return Ve.size=function(We){return arguments.length?(Fe=We,Ve):Fe},Ve.radius=function(We){return arguments.length?(re=We==null||typeof We=="function"?We:+We,Ve):re},Ve.padding=function(We){return arguments.length?(Le=+We,Ve):Le},Os(Ve,ve)},s.layout.tree=function(){var re=s.layout.hierarchy().sort(null).value(null),ve=es,Le=[1,1],Fe=null;function Ve(lt,gt){var zt=re.call(this,lt,gt),Ut=zt[0],Vt=function(xn){for(var an,zn={A:null,children:[xn]},Un=[zn];(an=Un.pop())!=null;)for(var nr,rr=an.children,wr=0,kr=rr.length;wrgn.x&&(gn=xn),xn.depth>en.depth&&(en=xn)});var sn=ve(Qt,gn)/2-Qt.x,rn=Le[0]/(gn.x+ve(gn,Qt)/2+sn),Mn=Le[1]/(en.depth||1);Ks(Ut,function(xn){xn.x=(xn.x+sn)*rn,xn.y=xn.depth*Mn})}return zt}function We(lt){var gt=lt.children,zt=lt.parent.children,Ut=lt.i?zt[lt.i-1]:null;if(gt.length){(function(Qt){for(var gn,en=0,sn=0,rn=Qt.children,Mn=rn.length;--Mn>=0;)(gn=rn[Mn]).z+=en,gn.m+=en,en+=gn.s+(sn+=gn.c)})(lt);var Vt=(gt[0].z+gt[gt.length-1].z)/2;Ut?(lt.z=Ut.z+ve(lt._,Ut._),lt.m=lt.z-Vt):lt.z=Vt}else Ut&&(lt.z=Ut.z+ve(lt._,Ut._));lt.parent.A=function(Qt,gn,en){if(gn){for(var sn,rn=Qt,Mn=Qt,xn=gn,an=rn.parent.children[0],zn=rn.m,Un=Mn.m,nr=xn.m,rr=an.m;xn=ql(xn),rn=zo(rn),xn&&rn;)an=zo(an),(Mn=ql(Mn)).a=Qt,(sn=xn.z+nr-rn.z-zn+ve(xn._,rn._))>0&&(wu(Fs(xn,Qt,en),Qt,sn),zn+=sn,Un+=sn),nr+=xn.m,zn+=rn.m,rr+=an.m,Un+=Mn.m;xn&&!ql(Mn)&&(Mn.t=xn,Mn.m+=nr-Un),rn&&!zo(an)&&(an.t=rn,an.m+=zn-rr,en=Qt)}return en}(lt,Ut,lt.parent.A||zt[0])}function $e(lt){lt._.x=lt.z+lt.parent.m,lt.m+=lt.parent.m}function tt(lt){lt.x*=Le[0],lt.y=lt.depth*Le[1]}return Ve.separation=function(lt){return arguments.length?(ve=lt,Ve):ve},Ve.size=function(lt){return arguments.length?(Fe=(Le=lt)==null?tt:null,Ve):Fe?null:Le},Ve.nodeSize=function(lt){return arguments.length?(Fe=(Le=lt)==null?null:tt,Ve):Fe?Le:null},Os(Ve,re)},s.layout.cluster=function(){var re=s.layout.hierarchy().sort(null).value(null),ve=es,Le=[1,1],Fe=!1;function Ve(We,$e){var tt,lt=re.call(this,We,$e),gt=lt[0],zt=0;oo(gt,function(en){var sn=en.children;sn&&sn.length?(en.x=function(rn){return rn.reduce(function(Mn,xn){return Mn+xn.x},0)/rn.length}(sn),en.y=function(rn){return 1+s.max(rn,function(Mn){return Mn.y})}(sn)):(en.x=tt?zt+=ve(en,tt):0,en.y=0,tt=en)});var Ut=Tu(gt),Vt=Bs(gt),Qt=Ut.x-ve(Ut,Vt)/2,gn=Vt.x+ve(Vt,Ut)/2;return oo(gt,Fe?function(en){en.x=(en.x-gt.x)*Le[0],en.y=(gt.y-en.y)*Le[1]}:function(en){en.x=(en.x-Qt)/(gn-Qt)*Le[0],en.y=(1-(gt.y?en.y/gt.y:1))*Le[1]}),lt}return Ve.separation=function(We){return arguments.length?(ve=We,Ve):ve},Ve.size=function(We){return arguments.length?(Fe=(Le=We)==null,Ve):Fe?null:Le},Ve.nodeSize=function(We){return arguments.length?(Fe=(Le=We)!=null,Ve):Fe?Le:null},Os(Ve,re)},s.layout.treemap=function(){var re,ve=s.layout.hierarchy(),Le=Math.round,Fe=[1,1],Ve=null,We=ts,$e=!1,tt="squarify",lt=.5*(1+Math.sqrt(5));function gt(en,sn){for(var rn,Mn,xn=-1,an=en.length;++xn0;)zn.push(rn=Un[xn-1]),zn.area+=rn.area,tt!=="squarify"||(Mn=Vt(zn,rr))<=nr?(Un.pop(),nr=Mn):(zn.area-=zn.pop().area,Qt(zn,rr,an,!1),rr=Math.min(an.dx,an.dy),zn.length=zn.area=0,nr=1/0);zn.length&&(Qt(zn,rr,an,!0),zn.length=zn.area=0),sn.forEach(zt)}}function Ut(en){var sn=en.children;if(sn&&sn.length){var rn,Mn=We(en),xn=sn.slice(),an=[];for(gt(xn,Mn.dx*Mn.dy/en.value),an.area=0;rn=xn.pop();)an.push(rn),an.area+=rn.area,rn.z!=null&&(Qt(an,rn.z?Mn.dx:Mn.dy,Mn,!xn.length),an.length=an.area=0);sn.forEach(Ut)}}function Vt(en,sn){for(var rn,Mn=en.area,xn=0,an=1/0,zn=-1,Un=en.length;++znxn&&(xn=rn));return sn*=sn,(Mn*=Mn)?Math.max(sn*xn*lt/Mn,Mn/(sn*an*lt)):1/0}function Qt(en,sn,rn,Mn){var xn,an=-1,zn=en.length,Un=rn.x,nr=rn.y,rr=sn?Le(en.area/sn):0;if(sn==rn.dx){for((Mn||rr>rn.dy)&&(rr=rn.dy);++anrn.dx)&&(rr=rn.dx);++an1);return re+ve*Fe*Math.sqrt(-2*Math.log(We)/We)}},logNormal:function(){var re=s.random.normal.apply(s,arguments);return function(){return Math.exp(re())}},bates:function(re){var ve=s.random.irwinHall(re);return function(){return ve()/re}},irwinHall:function(re){return function(){for(var ve=0,Le=0;Le2?ha:js,gt=Fe?Ls:yu;return Ve=lt(re,ve,gt,Le),We=lt(ve,re,gt,qa),tt}function tt(lt){return Ve(lt)}return tt.invert=function(lt){return We(lt)},tt.domain=function(lt){return arguments.length?(re=lt.map(Number),$e()):re},tt.range=function(lt){return arguments.length?(ve=lt,$e()):ve},tt.rangeRound=function(lt){return tt.range(lt).interpolate(Gu)},tt.clamp=function(lt){return arguments.length?(Fe=lt,$e()):Fe},tt.interpolate=function(lt){return arguments.length?(Le=lt,$e()):Le},tt.ticks=function(lt){return Ga(re,lt)},tt.tickFormat=function(lt,gt){return d3_scale_linearTickFormat(re,lt,gt)},tt.nice=function(lt){return lo(re,lt),$e()},tt.copy=function(){return Ia(re,ve,Le,Fe)},$e()}function ys(re,ve){return s.rebind(re,ve,"range","rangeRound","interpolate","clamp")}function lo(re,ve){return $i(re,va(ea(re,ve)[2])),$i(re,va(ea(re,ve)[2])),re}function ea(re,ve){ve==null&&(ve=10);var Le=Oi(re),Fe=Le[1]-Le[0],Ve=Math.pow(10,Math.floor(Math.log(Fe/ve)/Math.LN10)),We=ve/Fe*Ve;return We<=.15?Ve*=10:We<=.35?Ve*=5:We<=.75&&(Ve*=2),Le[0]=Math.ceil(Le[0]/Ve)*Ve,Le[1]=Math.floor(Le[1]/Ve)*Ve+.5*Ve,Le[2]=Ve,Le}function Ga(re,ve){return s.range.apply(s,ea(re,ve))}function Gl(re,ve,Le,Fe){function Ve(tt){return(Le?Math.log(tt<0?0:tt):-Math.log(tt>0?0:-tt))/Math.log(ve)}function We(tt){return Le?Math.pow(ve,tt):-Math.pow(ve,-tt)}function $e(tt){return re(Ve(tt))}return $e.invert=function(tt){return We(re.invert(tt))},$e.domain=function(tt){return arguments.length?(Le=tt[0]>=0,re.domain((Fe=tt.map(Number)).map(Ve)),$e):Fe},$e.base=function(tt){return arguments.length?(ve=+tt,re.domain(Fe.map(Ve)),$e):ve},$e.nice=function(){var tt=$i(Fe.map(Ve),Le?Math:Wl);return re.domain(tt),Fe=tt.map(We),$e},$e.ticks=function(){var tt=Oi(Fe),lt=[],gt=tt[0],zt=tt[1],Ut=Math.floor(Ve(gt)),Vt=Math.ceil(Ve(zt)),Qt=ve%1?2:ve;if(isFinite(Vt-Ut)){if(Le){for(;Ut0;gn--)lt.push(We(Ut)*gn);for(Ut=0;lt[Ut]zt;Vt--);lt=lt.slice(Ut,Vt)}return lt},$e.copy=function(){return Gl(re.copy(),ve,Le,Fe)},ys($e,re)}s.scale.linear=function(){return Ia([0,1],[0,1],qa,!1)},s.scale.log=function(){return Gl(s.scale.linear().domain([0,1]),10,!0,[1,10])};var Wl={floor:function(re){return-Math.ceil(-re)},ceil:function(re){return-Math.floor(-re)}};function Sa(re,ve,Le){var Fe=Cr(ve),Ve=Cr(1/ve);function We($e){return re(Fe($e))}return We.invert=function($e){return Ve(re.invert($e))},We.domain=function($e){return arguments.length?(re.domain((Le=$e.map(Number)).map(Fe)),We):Le},We.ticks=function($e){return Ga(Le,$e)},We.tickFormat=function($e,tt){return d3_scale_linearTickFormat(Le,$e,tt)},We.nice=function($e){return We.domain(lo(Le,$e))},We.exponent=function($e){return arguments.length?(Fe=Cr(ve=$e),Ve=Cr(1/ve),re.domain(Le.map(Fe)),We):ve},We.copy=function(){return Sa(re.copy(),ve,Le)},ys(We,re)}function Cr(re){return function(ve){return ve<0?-Math.pow(-ve,re):Math.pow(ve,re)}}function Us(re,ve){var Le,Fe,Ve;function We(tt){return Fe[((Le.get(tt)||(ve.t==="range"?Le.set(tt,re.push(tt)):NaN))-1)%Fe.length]}function $e(tt,lt){return s.range(re.length).map(function(gt){return tt+lt*gt})}return We.domain=function(tt){if(!arguments.length)return re;re=[],Le=new k;for(var lt,gt=-1,zt=tt.length;++gt0?Le[We-1]:re[0],WeVt?0:1;if(zt=qt)return lt(zt,gn)+(gt?lt(gt,1-gn):"")+"Z";var en,sn,rn,Mn,xn,an,zn,Un,nr,rr,wr,kr,mr=0,_r=0,Rr=[];if((Mn=(+$e.apply(this,arguments)||0)/2)&&(rn=Fe===El?Math.sqrt(gt*gt+zt*zt):+Fe.apply(this,arguments),gn||(_r*=-1),zt&&(_r=Ge(rn/zt*Math.sin(Mn))),gt&&(mr=Ge(rn/gt*Math.sin(Mn)))),zt){xn=zt*Math.cos(Ut+_r),an=zt*Math.sin(Ut+_r),zn=zt*Math.cos(Vt-_r),Un=zt*Math.sin(Vt-_r);var Jr=Math.abs(Vt-Ut-2*_r)<=It?0:1;if(_r&&_o(xn,an,zn,Un)===gn^Jr){var Kr=(Ut+Vt)/2;xn=zt*Math.cos(Kr),an=zt*Math.sin(Kr),zn=Un=null}}else xn=an=0;if(gt){nr=gt*Math.cos(Vt-mr),rr=gt*Math.sin(Vt-mr),wr=gt*Math.cos(Ut+mr),kr=gt*Math.sin(Ut+mr);var xr=Math.abs(Ut-Vt+2*mr)<=It?0:1;if(mr&&_o(nr,rr,wr,kr)===1-gn^xr){var zr=(Ut+Vt)/2;nr=gt*Math.cos(zr),rr=gt*Math.sin(zr),wr=kr=null}}else nr=rr=0;if(Qt>Dt&&(en=Math.min(Math.abs(zt-gt)/2,+Le.apply(this,arguments)))>.001){sn=gt0?0:1}function co(re,ve,Le,Fe,Ve){var We=re[0]-ve[0],$e=re[1]-ve[1],tt=(Ve?Fe:-Fe)/Math.sqrt(We*We+$e*$e),lt=tt*$e,gt=-tt*We,zt=re[0]+lt,Ut=re[1]+gt,Vt=ve[0]+lt,Qt=ve[1]+gt,gn=(zt+Vt)/2,en=(Ut+Qt)/2,sn=Vt-zt,rn=Qt-Ut,Mn=sn*sn+rn*rn,xn=Le-Fe,an=zt*Qt-Vt*Ut,zn=(rn<0?-1:1)*Math.sqrt(Math.max(0,xn*xn*Mn-an*an)),Un=(an*rn-sn*zn)/Mn,nr=(-an*sn-rn*zn)/Mn,rr=(an*rn+sn*zn)/Mn,wr=(-an*sn+rn*zn)/Mn,kr=Un-gn,mr=nr-en,_r=rr-gn,Rr=wr-en;return kr*kr+mr*mr>_r*_r+Rr*Rr&&(Un=rr,nr=wr),[[Un-lt,nr-gt],[Un*Le/xn,nr*Le/xn]]}function Hs(){return!0}function xa(re){var ve=jn,Le=$n,Fe=Hs,Ve=vi,We=Ve.key,$e=.7;function tt(lt){var gt,zt=[],Ut=[],Vt=-1,Qt=lt.length,gn=qn(ve),en=qn(Le);function sn(){zt.push("M",Ve(re(Ut),$e))}for(;++Vt1&&Ve.push("H",Fe[0]),Ve.join("")},"step-before":to,"step-after":ho,basis:di,"basis-open":function(re){if(re.length<4)return vi(re);for(var ve,Le=[],Fe=-1,Ve=re.length,We=[0],$e=[0];++Fe<3;)ve=re[Fe],We.push(ve[0]),$e.push(ve[1]);for(Le.push(oa(Bo,We)+","+oa(Bo,$e)),--Fe;++Fe9&&(We=3*Le/Math.sqrt(We),tt[lt]=We*Fe,tt[lt+1]=We*Ve);for(lt=-1;++lt<=gt;)We=(ve[Math.min(gt,lt+1)][0]-ve[Math.max(0,lt-1)][0])/(6*(1+tt[lt]*tt[lt])),$e.push([We||0,tt[lt]*We||0]);return $e}(re))}});function vi(re){return re.length>1?re.join("L"):re+"Z"}function Cl(re){return re.join("L")+"Z"}function to(re){for(var ve=0,Le=re.length,Fe=re[0],Ve=[Fe[0],",",Fe[1]];++ve1){tt=ve[1],We=re[lt],lt++,Fe+="C"+(Ve[0]+$e[0])+","+(Ve[1]+$e[1])+","+(We[0]-tt[0])+","+(We[1]-tt[1])+","+We[0]+","+We[1];for(var gt=2;gtIt)+",1 "+zt}function lt(gt,zt,Ut,Vt){return"Q 0,0 "+Vt}return We.radius=function(gt){return arguments.length?(Le=qn(gt),We):Le},We.source=function(gt){return arguments.length?(re=qn(gt),We):re},We.target=function(gt){return arguments.length?(ve=qn(gt),We):ve},We.startAngle=function(gt){return arguments.length?(Fe=qn(gt),We):Fe},We.endAngle=function(gt){return arguments.length?(Ve=qn(gt),We):Ve},We},s.svg.diagonal=function(){var re=Fr,ve=Ur,Le=is;function Fe(Ve,We){var $e=re.call(this,Ve,We),tt=ve.call(this,Ve,We),lt=($e.y+tt.y)/2,gt=[$e,{x:$e.x,y:lt},{x:tt.x,y:lt},tt];return"M"+(gt=gt.map(Le))[0]+"C"+gt[1]+" "+gt[2]+" "+gt[3]}return Fe.source=function(Ve){return arguments.length?(re=qn(Ve),Fe):re},Fe.target=function(Ve){return arguments.length?(ve=qn(Ve),Fe):ve},Fe.projection=function(Ve){return arguments.length?(Le=Ve,Fe):Le},Fe},s.svg.diagonal.radial=function(){var re=s.svg.diagonal(),ve=is,Le=re.projection;return re.projection=function(Fe){return arguments.length?Le(To(ve=Fe)):ve},re},s.svg.symbol=function(){var re=Xl,ve=_a;function Le(Fe,Ve){return(sl.get(re.call(this,Fe,Ve))||Fa)(ve.call(this,Fe,Ve))}return Le.type=function(Fe){return arguments.length?(re=qn(Fe),Le):re},Le.size=function(Fe){return arguments.length?(ve=qn(Fe),Le):ve},Le};var sl=s.map({circle:Fa,cross:function(re){var ve=Math.sqrt(re/5)/2;return"M"+-3*ve+","+-ve+"H"+-ve+"V"+-3*ve+"H"+ve+"V"+-ve+"H"+3*ve+"V"+ve+"H"+ve+"V"+3*ve+"H"+-ve+"V"+ve+"H"+-3*ve+"Z"},diamond:function(re){var ve=Math.sqrt(re/(2*_i)),Le=ve*_i;return"M0,"+-ve+"L"+Le+",0 0,"+ve+" "+-Le+",0Z"},square:function(re){var ve=Math.sqrt(re)/2;return"M"+-ve+","+-ve+"L"+ve+","+-ve+" "+ve+","+ve+" "+-ve+","+ve+"Z"},"triangle-down":function(re){var ve=Math.sqrt(re/as),Le=ve*as/2;return"M0,"+Le+"L"+ve+","+-Le+" "+-ve+","+-Le+"Z"},"triangle-up":function(re){var ve=Math.sqrt(re/as),Le=ve*as/2;return"M0,"+-Le+"L"+ve+","+Le+" "+-ve+","+Le+"Z"}});s.svg.symbolTypes=sl.keys();var as=Math.sqrt(3),_i=Math.tan(30*Je);ce.transition=function(re){for(var ve,Le,Fe=rt||++Mt,Ve=$(re),We=[],$e=ct||{time:Date.now(),ease:Xo,delay:0,duration:250},tt=-1,lt=this.length;++tt0;)gt[--rn].call(re,sn);if(en>=1)return Ut.event&&Ut.event.end.call(re,re.__data__,ve),--zt.count?delete zt[Fe]:delete re[Le],1}Ut||(We=Ve.time,$e=$t(function(gn){var en=Ut.delay;if($e.t=en+We,en<=gn)return Vt(gn-en);$e.c=Vt},0,We),Ut=zt[Fe]={tween:new k,time:We,timer:$e,delay:Ve.delay,duration:Ve.duration,ease:Ve.ease,index:ve},Ve=null,++zt.count)}vt.call=ce.call,vt.empty=ce.empty,vt.node=ce.node,vt.size=ce.size,s.transition=function(re,ve){return re&&re.transition?rt?re.transition(ve):re:s.selection().transition(re)},s.transition.prototype=vt,vt.select=function(re){var ve,Le,Fe,Ve=this.id,We=this.namespace,$e=[];re=xe(re);for(var tt=-1,lt=this.length;++ttrect,.s>rect").attr("width",We[1]-We[0])}function Qt(en){en.select(".extent").attr("y",$e[0]),en.selectAll(".extent,.e>rect,.w>rect").attr("height",$e[1]-$e[0])}function gn(){var en,sn,rn=this,Mn=s.select(s.event.target),xn=Le.of(rn,arguments),an=s.select(rn),zn=Mn.datum(),Un=!/^(n|s)$/.test(zn)&&Fe,nr=!/^(e|w)$/.test(zn)&&Ve,rr=Mn.classed("extent"),wr=yt(rn),kr=s.mouse(rn),mr=s.select(t(rn)).on("keydown.brush",Jr).on("keyup.brush",Kr);if(s.event.changedTouches?mr.on("touchmove.brush",xr).on("touchend.brush",Wr):mr.on("mousemove.brush",xr).on("mouseup.brush",Wr),an.interrupt().selectAll("*").interrupt(),rr)kr[0]=We[0]-kr[0],kr[1]=$e[0]-kr[1];else if(zn){var _r=+/w$/.test(zn),Rr=+/^n/.test(zn);sn=[We[1-_r]-kr[0],$e[1-Rr]-kr[1]],kr[0]=We[_r],kr[1]=$e[Rr]}else s.event.altKey&&(en=kr.slice());function Jr(){s.event.keyCode==32&&(rr||(en=null,kr[0]-=We[1],kr[1]-=$e[1],rr=2),ee())}function Kr(){s.event.keyCode==32&&rr==2&&(kr[0]+=We[1],kr[1]+=$e[1],rr=0,ee())}function xr(){var Gr=s.mouse(rn),ii=!1;sn&&(Gr[0]+=sn[0],Gr[1]+=sn[1]),rr||(s.event.altKey?(en||(en=[(We[0]+We[1])/2,($e[0]+$e[1])/2]),kr[0]=We[+(Gr[0]>>1;i.dtype||(i.dtype="array"),typeof i.dtype=="string"?c=new(a(i.dtype))(d):i.dtype&&(c=i.dtype,Array.isArray(c)&&(c.length=d));for(var v=0;vu||H>1073741824){for(var K=0;Khe+ze||ie>ye+ze||oe=ce||Ae===Me)){var Ce=b[Te];Me===void 0&&(Me=Ce.length);for(var ne=Ae;ne=ee&&me<=X&&we>=Q&&we<=Y&&xe.push(ue)}var Ee=g[Te],Ue=Ee[4*Ae+0],De=Ee[4*Ae+1],je=Ee[4*Ae+2],ge=Ee[4*Ae+3],be=de(Ee,Ae+1),Se=.5*ze,Ne=Te+1;pe(he,ye,Se,Ne,Ue,De||je||ge||be),pe(he,ye+Se,Se,Ne,De,je||ge||be),pe(he+Se,ye,Se,Ne,je,ge||be),pe(he+Se,ye+Se,Se,Ne,ge,be)}}function de(he,ye){for(var ze=null,Te=0;ze===null;)if(ze=he[4*ye+Te],++Te>he.length)return null;return ze}return pe(0,0,1,0,0,1),xe},c;function I(U,B,G,N,j){for(var V=[],H=0;H0){l+=Math.abs(T(f[0]));for(var t=1;t2){for(o=0;o=0))throw new Error("precision must be a positive number");var u=Math.pow(10,i||0);return Math.round(o*u)/u},E.radiansToLength=t,E.lengthToRadians=a,E.lengthToDegrees=function(o,i){return r(a(o,i))},E.bearingToAzimuth=function(o){var i=o%360;return i<0&&(i+=360),i},E.radiansToDegrees=r,E.degreesToRadians=function(o){return o%360*Math.PI/180},E.convertLength=function(o,i,u){if(i===void 0&&(i="kilometers"),u===void 0&&(u="kilometers"),!(o>=0))throw new Error("length must be a positive number");return t(a(o,i),u)},E.convertArea=function(o,i,u){if(i===void 0&&(i="meters"),u===void 0&&(u="kilometers"),!(o>=0))throw new Error("area must be a positive number");var p=E.areaFactors[i];if(!p)throw new Error("invalid original units");var c=E.areaFactors[u];if(!c)throw new Error("invalid final units");return o/p*c},E.isNumber=n,E.isObject=function(o){return!!o&&o.constructor===Object},E.validateBBox=function(o){if(!o)throw new Error("bbox is required");if(!Array.isArray(o))throw new Error("bbox must be an Array");if(o.length!==4&&o.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");o.forEach(function(i){if(!n(i))throw new Error("bbox must only contain numbers")})},E.validateId=function(o){if(!o)throw new Error("id is required");if(["string","number"].indexOf(typeof o)===-1)throw new Error("id must be a number or a string")}},60302:function(D,E,e){Object.defineProperty(E,"__esModule",{value:!0});var _=e(23132);function w(a,r,n){if(a!==null)for(var o,i,u,p,c,x,d,v,b=0,g=0,y=a.type,k=y==="FeatureCollection",h=y==="Feature",M=k?a.features.length:1,A=0;Ax||k>d||h>v)return c=b,x=o,d=k,v=h,void(u=0);var M=_.lineString([c,b],n.properties);if(r(M,o,i,h,u)===!1)return!1;u++,c=b})!==!1&&void 0}}})}function t(a,r){if(!a)throw new Error("geojson is required");f(a,function(n,o,i){if(n.geometry!==null){var u=n.geometry.type,p=n.geometry.coordinates;switch(u){case"LineString":if(r(n,o,i,0,0)===!1)return!1;break;case"Polygon":for(var c=0;cm[0]&&(T[0]=m[0]),T[1]>m[1]&&(T[1]=m[1]),T[2]=0))throw new Error("precision must be a positive number");var u=Math.pow(10,i||0);return Math.round(o*u)/u},E.radiansToLength=t,E.lengthToRadians=a,E.lengthToDegrees=function(o,i){return r(a(o,i))},E.bearingToAzimuth=function(o){var i=o%360;return i<0&&(i+=360),i},E.radiansToDegrees=r,E.degreesToRadians=function(o){return o%360*Math.PI/180},E.convertLength=function(o,i,u){if(i===void 0&&(i="kilometers"),u===void 0&&(u="kilometers"),!(o>=0))throw new Error("length must be a positive number");return t(a(o,i),u)},E.convertArea=function(o,i,u){if(i===void 0&&(i="meters"),u===void 0&&(u="kilometers"),!(o>=0))throw new Error("area must be a positive number");var p=E.areaFactors[i];if(!p)throw new Error("invalid original units");var c=E.areaFactors[u];if(!c)throw new Error("invalid final units");return o/p*c},E.isNumber=n,E.isObject=function(o){return!!o&&o.constructor===Object},E.validateBBox=function(o){if(!o)throw new Error("bbox is required");if(!Array.isArray(o))throw new Error("bbox must be an Array");if(o.length!==4&&o.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");o.forEach(function(i){if(!n(i))throw new Error("bbox must only contain numbers")})},E.validateId=function(o){if(!o)throw new Error("id is required");if(["string","number"].indexOf(typeof o)===-1)throw new Error("id must be a number or a string")}},27138:function(D,E,e){Object.defineProperty(E,"__esModule",{value:!0});var _=e(94228);function w(a,r,n){if(a!==null)for(var o,i,u,p,c,x,d,v,b=0,g=0,y=a.type,k=y==="FeatureCollection",h=y==="Feature",M=k?a.features.length:1,A=0;Ax||k>d||h>v)return c=b,x=o,d=k,v=h,void(u=0);var M=_.lineString([c,b],n.properties);if(r(M,o,i,h,u)===!1)return!1;u++,c=b})!==!1&&void 0}}})}function t(a,r){if(!a)throw new Error("geojson is required");f(a,function(n,o,i){if(n.geometry!==null){var u=n.geometry.type,p=n.geometry.coordinates;switch(u){case"LineString":if(r(n,o,i,0,0)===!1)return!1;break;case"Polygon":for(var c=0;c=0))throw new Error("precision must be a positive number");var u=Math.pow(10,i||0);return Math.round(o*u)/u},E.radiansToLength=t,E.lengthToRadians=a,E.lengthToDegrees=function(o,i){return r(a(o,i))},E.bearingToAzimuth=function(o){var i=o%360;return i<0&&(i+=360),i},E.radiansToDegrees=r,E.degreesToRadians=function(o){return o%360*Math.PI/180},E.convertLength=function(o,i,u){if(i===void 0&&(i="kilometers"),u===void 0&&(u="kilometers"),!(o>=0))throw new Error("length must be a positive number");return t(a(o,i),u)},E.convertArea=function(o,i,u){if(i===void 0&&(i="meters"),u===void 0&&(u="kilometers"),!(o>=0))throw new Error("area must be a positive number");var p=E.areaFactors[i];if(!p)throw new Error("invalid original units");var c=E.areaFactors[u];if(!c)throw new Error("invalid final units");return o/p*c},E.isNumber=n,E.isObject=function(o){return!!o&&o.constructor===Object},E.validateBBox=function(o){if(!o)throw new Error("bbox is required");if(!Array.isArray(o))throw new Error("bbox must be an Array");if(o.length!==4&&o.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");o.forEach(function(i){if(!n(i))throw new Error("bbox must only contain numbers")})},E.validateId=function(o){if(!o)throw new Error("id is required");if(["string","number"].indexOf(typeof o)===-1)throw new Error("id must be a number or a string")},E.radians2degrees=function(){throw new Error("method has been renamed to `radiansToDegrees`")},E.degrees2radians=function(){throw new Error("method has been renamed to `degreesToRadians`")},E.distanceToDegrees=function(){throw new Error("method has been renamed to `lengthToDegrees`")},E.distanceToRadians=function(){throw new Error("method has been renamed to `lengthToRadians`")},E.radiansToDistance=function(){throw new Error("method has been renamed to `radiansToLength`")},E.bearingToAngle=function(){throw new Error("method has been renamed to `bearingToAzimuth`")},E.convertDistance=function(){throw new Error("method has been renamed to `convertLength`")}},88553:function(D,E,e){Object.defineProperty(E,"__esModule",{value:!0});var _=e(64182);function w(a,r,n){if(a!==null)for(var o,i,u,p,c,x,d,v,b=0,g=0,y=a.type,k=y==="FeatureCollection",h=y==="Feature",M=k?a.features.length:1,A=0;Ax||k>d||h>v)return c=b,x=o,d=k,v=h,void(u=0);var M=_.lineString([c,b],n.properties);if(r(M,o,i,h,u)===!1)return!1;u++,c=b})!==!1&&void 0}}})}function t(a,r){if(!a)throw new Error("geojson is required");f(a,function(n,o,i){if(n.geometry!==null){var u=n.geometry.type,p=n.geometry.coordinates;switch(u){case"LineString":if(r(n,o,i,0,0)===!1)return!1;break;case"Polygon":for(var c=0;cs&&(s=E[m]),E[m]1?j-1:0),H=1;H1?j-1:0),H=1;H1?j-1:0),H=1;H1?j-1:0),H=1;H"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function t(k,h,M){return t=l()?Reflect.construct:function(A,C,L){var P=[null];P.push.apply(P,C);var I=new(Function.bind.apply(A,P));return L&&a(I,L.prototype),I},t.apply(null,arguments)}function a(k,h){return a=Object.setPrototypeOf||function(M,A){return M.__proto__=A,M},a(k,h)}function r(k){return r=Object.setPrototypeOf?Object.getPrototypeOf:function(h){return h.__proto__||Object.getPrototypeOf(h)},r(k)}function n(k){return n=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(h){return typeof h}:function(h){return h&&typeof Symbol=="function"&&h.constructor===Symbol&&h!==Symbol.prototype?"symbol":typeof h},n(k)}var o=e(43827).inspect,i=e(79616).codes.ERR_INVALID_ARG_TYPE;function u(k,h,M){return(M===void 0||M>k.length)&&(M=k.length),k.substring(M-h.length,M)===h}var p="",c="",x="",d="",v={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 b(k){var h=Object.keys(k),M=Object.create(Object.getPrototypeOf(k));return h.forEach(function(A){M[A]=k[A]}),Object.defineProperty(M,"message",{value:k.message}),M}function g(k){return o(k,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var y=function(k){function h(C){var L;if(function(Q,X){if(!(Q instanceof X))throw new TypeError("Cannot call a class as a function")}(this,h),n(C)!=="object"||C===null)throw new i("options","Object",C);var P=C.message,I=C.operator,R=C.stackStartFn,U=C.actual,B=C.expected,G=Error.stackTraceLimit;if(Error.stackTraceLimit=0,P!=null)L=T(this,r(h).call(this,String(P)));else if(_.stderr&&_.stderr.isTTY&&(_.stderr&&_.stderr.getColorDepth&&_.stderr.getColorDepth()!==1?(p="\x1B[34m",c="\x1B[32m",d="\x1B[39m",x="\x1B[31m"):(p="",c="",d="",x="")),n(U)==="object"&&U!==null&&n(B)==="object"&&B!==null&&"stack"in U&&U instanceof Error&&"stack"in B&&B instanceof Error&&(U=b(U),B=b(B)),I==="deepStrictEqual"||I==="strictEqual")L=T(this,r(h).call(this,function(Q,X,Y){var K="",te="",ie=0,oe="",se=!1,ce=g(Q),xe=ce.split(` +`),pe=g(X).split(` +`),de=0,he="";if(Y==="strictEqual"&&n(Q)==="object"&&n(X)==="object"&&Q!==null&&X!==null&&(Y="strictEqualObject"),xe.length===1&&pe.length===1&&xe[0]!==pe[0]){var ye=xe[0].length+pe[0].length;if(ye<=10){if(!(n(Q)==="object"&&Q!==null||n(X)==="object"&&X!==null||Q===0&&X===0))return"".concat(v[Y],` + +`)+"".concat(xe[0]," !== ").concat(pe[0],` +`)}else if(Y!=="strictEqualObject"&&ye<(_.stderr&&_.stderr.isTTY?_.stderr.columns:80)){for(;xe[0][de]===pe[0][de];)de++;de>2&&(he=` + `.concat(function(De,je){if(je=Math.floor(je),De.length==0||je==0)return"";var ge=De.length*je;for(je=Math.floor(Math.log(je)/Math.log(2));je;)De+=De,je--;return De+De.substring(0,ge-De.length)}(" ",de),"^"),de=0)}}for(var ze=xe[xe.length-1],Te=pe[pe.length-1];ze===Te&&(de++<2?oe=` + `.concat(ze).concat(oe):K=ze,xe.pop(),pe.pop(),xe.length!==0&&pe.length!==0);)ze=xe[xe.length-1],Te=pe[pe.length-1];var Ae=Math.max(xe.length,pe.length);if(Ae===0){var Me=ce.split(` +`);if(Me.length>30)for(Me[26]="".concat(p,"...").concat(d);Me.length>27;)Me.pop();return"".concat(v.notIdentical,` + +`).concat(Me.join(` +`),` +`)}de>3&&(oe=` +`.concat(p,"...").concat(d).concat(oe),se=!0),K!==""&&(oe=` + `.concat(K).concat(oe),K="");var Ce=0,ne=v[Y]+` +`.concat(c,"+ actual").concat(d," ").concat(x,"- expected").concat(d),ue=" ".concat(p,"...").concat(d," Lines skipped");for(de=0;de1&&de>2&&(me>4?(te+=` +`.concat(p,"...").concat(d),se=!0):me>3&&(te+=` + `.concat(pe[de-2]),Ce++),te+=` + `.concat(pe[de-1]),Ce++),ie=de,K+=` +`.concat(x,"-").concat(d," ").concat(pe[de]),Ce++;else if(pe.length1&&de>2&&(me>4?(te+=` +`.concat(p,"...").concat(d),se=!0):me>3&&(te+=` + `.concat(xe[de-2]),Ce++),te+=` + `.concat(xe[de-1]),Ce++),ie=de,te+=` +`.concat(c,"+").concat(d," ").concat(xe[de]),Ce++;else{var we=pe[de],Ee=xe[de],Ue=Ee!==we&&(!u(Ee,",")||Ee.slice(0,-1)!==we);Ue&&u(we,",")&&we.slice(0,-1)===Ee&&(Ue=!1,Ee+=","),Ue?(me>1&&de>2&&(me>4?(te+=` +`.concat(p,"...").concat(d),se=!0):me>3&&(te+=` + `.concat(xe[de-2]),Ce++),te+=` + `.concat(xe[de-1]),Ce++),ie=de,te+=` +`.concat(c,"+").concat(d," ").concat(Ee),K+=` +`.concat(x,"-").concat(d," ").concat(we),Ce+=2):(te+=K,K="",me!==1&&de!==0||(te+=` + `.concat(Ee),Ce++))}if(Ce>20&&de30)for(j[26]="".concat(p,"...").concat(d);j.length>27;)j.pop();L=j.length===1?T(this,r(h).call(this,"".concat(N," ").concat(j[0]))):T(this,r(h).call(this,"".concat(N,` + +`).concat(j.join(` +`),` +`)))}else{var V=g(U),H="",ee=v[I];I==="notDeepEqual"||I==="notEqual"?(V="".concat(v[I],` + +`).concat(V)).length>1024&&(V="".concat(V.slice(0,1021),"...")):(H="".concat(g(B)),V.length>512&&(V="".concat(V.slice(0,509),"...")),H.length>512&&(H="".concat(H.slice(0,509),"...")),I==="deepEqual"||I==="equal"?V="".concat(ee,` + +`).concat(V,` + +should equal + +`):H=" ".concat(I," ").concat(H)),L=T(this,r(h).call(this,"".concat(V).concat(H)))}return Error.stackTraceLimit=G,L.generatedMessage=!P,Object.defineProperty(m(L),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),L.code="ERR_ASSERTION",L.actual=U,L.expected=B,L.operator=I,Error.captureStackTrace&&Error.captureStackTrace(m(L),R),L.stack,L.name="AssertionError",T(L)}var M,A;return function(C,L){if(typeof L!="function"&&L!==null)throw new TypeError("Super expression must either be null or a function");C.prototype=Object.create(L&&L.prototype,{constructor:{value:C,writable:!0,configurable:!0}}),L&&a(C,L)}(h,k),M=h,A=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:o.custom,value:function(C,L){return o(this,function(P){for(var I=1;I2?"one of ".concat(r," ").concat(a.slice(0,n-1).join(", "),", or ")+a[n-1]:n===2?"one of ".concat(r," ").concat(a[0]," or ").concat(a[1]):"of ".concat(r," ").concat(a[0])}return"of ".concat(r," ").concat(String(a))}l("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),l("ERR_INVALID_ARG_TYPE",function(a,r,n){var o,i,u,p,c;if(T===void 0&&(T=e(32791)),T(typeof a=="string","'name' must be a string"),typeof r=="string"&&(i="not ",r.substr(0,i.length)===i)?(o="must not be",r=r.replace(/^not /,"")):o="must be",function(d,v,b){return(b===void 0||b>d.length)&&(b=d.length),d.substring(b-v.length,b)===v}(a," argument"))u="The ".concat(a," ").concat(o," ").concat(t(r,"type"));else{var x=(typeof c!="number"&&(c=0),c+1>(p=a).length||p.indexOf(".",c)===-1?"argument":"property");u='The "'.concat(a,'" ').concat(x," ").concat(o," ").concat(t(r,"type"))}return u+". Received type ".concat(_(n))},TypeError),l("ERR_INVALID_ARG_VALUE",function(a,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"is invalid";m===void 0&&(m=e(43827));var o=m.inspect(r);return o.length>128&&(o="".concat(o.slice(0,128),"...")),"The argument '".concat(a,"' ").concat(n,". Received ").concat(o)},TypeError),l("ERR_INVALID_RETURN_VALUE",function(a,r,n){var o;return o=n&&n.constructor&&n.constructor.name?"instance of ".concat(n.constructor.name):"type ".concat(_(n)),"Expected ".concat(a,' to be returned from the "').concat(r,'"')+" function but got ".concat(o,".")},TypeError),l("ERR_MISSING_ARGS",function(){for(var a=arguments.length,r=new Array(a),n=0;n0,"At least one arg needs to be specified");var o="The ",i=r.length;switch(r=r.map(function(u){return'"'.concat(u,'"')}),i){case 1:o+="".concat(r[0]," argument");break;case 2:o+="".concat(r[0]," and ").concat(r[1]," arguments");break;default:o+=r.slice(0,i-1).join(", "),o+=", and ".concat(r[i-1]," arguments")}return"".concat(o," must be specified")},TypeError),D.exports.codes=f},74061:function(D,E,e){function _(X,Y){return function(K){if(Array.isArray(K))return K}(X)||function(K,te){var ie=[],oe=!0,se=!1,ce=void 0;try{for(var xe,pe=K[Symbol.iterator]();!(oe=(xe=pe.next()).done)&&(ie.push(xe.value),!te||ie.length!==te);oe=!0);}catch(de){se=!0,ce=de}finally{try{oe||pe.return==null||pe.return()}finally{if(se)throw ce}}return ie}(X,Y)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function w(X){return w=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Y){return typeof Y}:function(Y){return Y&&typeof Symbol=="function"&&Y.constructor===Symbol&&Y!==Symbol.prototype?"symbol":typeof Y},w(X)}var s=/a/g.flags!==void 0,T=function(X){var Y=[];return X.forEach(function(K){return Y.push(K)}),Y},m=function(X){var Y=[];return X.forEach(function(K,te){return Y.push([te,K])}),Y},f=Object.is?Object.is:e(64003),l=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},t=Number.isNaN?Number.isNaN:e(15567);function a(X){return X.call.bind(X)}var r=a(Object.prototype.hasOwnProperty),n=a(Object.prototype.propertyIsEnumerable),o=a(Object.prototype.toString),i=e(43827).types,u=i.isAnyArrayBuffer,p=i.isArrayBufferView,c=i.isDate,x=i.isMap,d=i.isRegExp,v=i.isSet,b=i.isNativeError,g=i.isBoxedPrimitive,y=i.isNumberObject,k=i.isStringObject,h=i.isBooleanObject,M=i.isBigIntObject,A=i.isSymbolObject,C=i.isFloat32Array,L=i.isFloat64Array;function P(X){if(X.length===0||X.length>10)return!0;for(var Y=0;Y57)return!0}return X.length===10&&X>=Math.pow(2,32)}function I(X){return Object.keys(X).filter(P).concat(l(X).filter(Object.prototype.propertyIsEnumerable.bind(X)))}function R(X,Y){if(X===Y)return 0;for(var K=X.length,te=Y.length,ie=0,oe=Math.min(K,te);ie0?o-4:o;for(r=0;r>16&255,u[p++]=a>>8&255,u[p++]=255&a;return i===2&&(a=_[t.charCodeAt(r)]<<2|_[t.charCodeAt(r+1)]>>4,u[p++]=255&a),i===1&&(a=_[t.charCodeAt(r)]<<10|_[t.charCodeAt(r+1)]<<4|_[t.charCodeAt(r+2)]>>2,u[p++]=a>>8&255,u[p++]=255&a),u},E.fromByteArray=function(t){for(var a,r=t.length,n=r%3,o=[],i=16383,u=0,p=r-n;up?p:u+i));return n===1?(a=t[r-1],o.push(e[a>>2]+e[a<<4&63]+"==")):n===2&&(a=(t[r-2]<<8)+t[r-1],o.push(e[a>>10]+e[a>>4&63]+e[a<<2&63]+"=")),o.join("")};for(var e=[],_=[],w=typeof Uint8Array<"u"?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",T=0,m=s.length;T0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return r===-1&&(r=a),[r,r===a?0:4-r%4]}function l(t,a,r){for(var n,o,i=[],u=a;u>18&63]+e[o>>12&63]+e[o>>6&63]+e[63&o]);return i.join("")}_["-".charCodeAt(0)]=62,_["_".charCodeAt(0)]=63},91358:function(D){function E(m,f,l,t,a){for(var r=a+1;t<=a;){var n=t+a>>>1,o=m[n];(l!==void 0?l(o,f):o-f)>=0?(r=n,a=n-1):t=n+1}return r}function e(m,f,l,t,a){for(var r=a+1;t<=a;){var n=t+a>>>1,o=m[n];(l!==void 0?l(o,f):o-f)>0?(r=n,a=n-1):t=n+1}return r}function _(m,f,l,t,a){for(var r=t-1;t<=a;){var n=t+a>>>1,o=m[n];(l!==void 0?l(o,f):o-f)<0?(r=n,t=n+1):a=n-1}return r}function w(m,f,l,t,a){for(var r=t-1;t<=a;){var n=t+a>>>1,o=m[n];(l!==void 0?l(o,f):o-f)<=0?(r=n,t=n+1):a=n-1}return r}function s(m,f,l,t,a){for(;t<=a;){var r=t+a>>>1,n=m[r],o=l!==void 0?l(n,f):n-f;if(o===0)return r;o<=0?t=r+1:a=r-1}return-1}function T(m,f,l,t,a,r){return typeof l=="function"?r(m,f,l,t===void 0?0:0|t,a===void 0?m.length-1:0|a):r(m,f,void 0,l===void 0?0:0|l,t===void 0?m.length-1:0|t)}D.exports={ge:function(m,f,l,t,a){return T(m,f,l,t,a,E)},gt:function(m,f,l,t,a){return T(m,f,l,t,a,e)},lt:function(m,f,l,t,a){return T(m,f,l,t,a,_)},le:function(m,f,l,t,a){return T(m,f,l,t,a,w)},eq:function(m,f,l,t,a){return T(m,f,l,t,a,s)}}},13547:function(D,E){function e(w){var s=32;return(w&=-w)&&s--,65535&w&&(s-=16),16711935&w&&(s-=8),252645135&w&&(s-=4),858993459&w&&(s-=2),1431655765&w&&(s-=1),s}E.INT_BITS=32,E.INT_MAX=2147483647,E.INT_MIN=-2147483648,E.sign=function(w){return(w>0)-(w<0)},E.abs=function(w){var s=w>>31;return(w^s)-s},E.min=function(w,s){return s^(w^s)&-(w65535)<<4,s|=T=((w>>>=s)>255)<<3,s|=T=((w>>>=T)>15)<<2,(s|=T=((w>>>=T)>3)<<1)|(w>>>=T)>>1},E.log10=function(w){return w>=1e9?9:w>=1e8?8:w>=1e7?7:w>=1e6?6:w>=1e5?5:w>=1e4?4:w>=1e3?3:w>=100?2:w>=10?1:0},E.popCount=function(w){return 16843009*((w=(858993459&(w-=w>>>1&1431655765))+(w>>>2&858993459))+(w>>>4)&252645135)>>>24},E.countTrailingZeros=e,E.nextPow2=function(w){return w+=w===0,--w,w|=w>>>1,w|=w>>>2,w|=w>>>4,w|=w>>>8,1+(w|=w>>>16)},E.prevPow2=function(w){return w|=w>>>1,w|=w>>>2,w|=w>>>4,w|=w>>>8,(w|=w>>>16)-(w>>>1)},E.parity=function(w){return w^=w>>>16,w^=w>>>8,w^=w>>>4,27030>>>(w&=15)&1};var _=new Array(256);(function(w){for(var s=0;s<256;++s){var T=s,m=s,f=7;for(T>>>=1;T;T>>>=1)m<<=1,m|=1&T,--f;w[s]=m<>>8&255]<<16|_[w>>>16&255]<<8|_[w>>>24&255]},E.interleave2=function(w,s){return(w=1431655765&((w=858993459&((w=252645135&((w=16711935&((w&=65535)|w<<8))|w<<4))|w<<2))|w<<1))|(s=1431655765&((s=858993459&((s=252645135&((s=16711935&((s&=65535)|s<<8))|s<<4))|s<<2))|s<<1))<<1},E.deinterleave2=function(w,s){return(w=65535&((w=16711935&((w=252645135&((w=858993459&((w=w>>>s&1431655765)|w>>>1))|w>>>2))|w>>>4))|w>>>16))<<16>>16},E.interleave3=function(w,s,T){return w=1227133513&((w=3272356035&((w=251719695&((w=4278190335&((w&=1023)|w<<16))|w<<8))|w<<4))|w<<2),(w|=(s=1227133513&((s=3272356035&((s=251719695&((s=4278190335&((s&=1023)|s<<16))|s<<8))|s<<4))|s<<2))<<1)|(T=1227133513&((T=3272356035&((T=251719695&((T=4278190335&((T&=1023)|T<<16))|T<<8))|T<<4))|T<<2))<<2},E.deinterleave3=function(w,s){return(w=1023&((w=4278190335&((w=251719695&((w=3272356035&((w=w>>>s&1227133513)|w>>>2))|w>>>4))|w>>>8))|w>>>16))<<22>>22},E.nextCombination=function(w){var s=w|w-1;return s+1|(~s&-~s)-1>>>e(w)+1}},44781:function(D,E,e){var _=e(53435);D.exports=function(m,f){f||(f={});var l,t,a,r,n,o,i,u,p,c,x,d=f.cutoff==null?.25:f.cutoff,v=f.radius==null?8:f.radius,b=f.channel||0;if(ArrayBuffer.isView(m)||Array.isArray(m)){if(!f.width||!f.height)throw Error("For raw data width and height should be provided by options");l=f.width,t=f.height,r=m,o=f.stride?f.stride:Math.floor(m.length/l/t)}else window.HTMLCanvasElement&&m instanceof window.HTMLCanvasElement?(i=(u=m).getContext("2d"),l=u.width,t=u.height,r=(p=i.getImageData(0,0,l,t)).data,o=4):window.CanvasRenderingContext2D&&m instanceof window.CanvasRenderingContext2D?(i=m,l=(u=m.canvas).width,t=u.height,r=(p=i.getImageData(0,0,l,t)).data,o=4):window.ImageData&&m instanceof window.ImageData&&(p=m,l=m.width,t=m.height,r=p.data,o=4);if(a=Math.max(l,t),window.Uint8ClampedArray&&r instanceof window.Uint8ClampedArray||window.Uint8Array&&r instanceof window.Uint8Array)for(n=r,r=Array(l*t),c=0,x=n.length;c-1?w(f):f}},68222:function(D,E,e){var _=e(77575),w=e(68318),s=w("%Function.prototype.apply%"),T=w("%Function.prototype.call%"),m=w("%Reflect.apply%",!0)||_.call(T,s),f=w("%Object.getOwnPropertyDescriptor%",!0),l=w("%Object.defineProperty%",!0),t=w("%Math.max%");if(l)try{l({},"a",{value:1})}catch{l=null}D.exports=function(r){var n=m(_,T,arguments);if(f&&l){var o=f(n,"length");o.configurable&&l(n,"length",{value:1+t(0,r.length-(arguments.length-1))})}return n};var a=function(){return m(_,s,arguments)};l?l(D.exports,"apply",{value:a}):D.exports.apply=a},53435:function(D){D.exports=function(E,e,_){return e<_?E_?_:E:E<_?_:E>e?e:E}},6475:function(D,E,e){var _=e(53435);function w(s,T){T==null&&(T=!0);var m=s[0],f=s[1],l=s[2],t=s[3];return t==null&&(t=T?1:255),T&&(m*=255,f*=255,l*=255,t*=255),16777216*(m=255&_(m,0,255))+((f=255&_(f,0,255))<<16)+((l=255&_(l,0,255))<<8)+(255&_(t,0,255))}D.exports=w,D.exports.to=w,D.exports.from=function(s,T){var m=(s=+s)>>>24,f=(16711680&s)>>>16,l=(65280&s)>>>8,t=255&s;return T===!1?[m,f,l,t]:[m/255,f/255,l/255,t/255]}},76857:function(D){D.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]}},25075:function(D,E,e){var _=e(36652),w=e(53435),s=e(90660);D.exports=function(T,m){m!=="float"&&m||(m="array"),m==="uint"&&(m="uint8"),m==="uint_clamped"&&(m="uint8_clamped");var f=new(s(m))(4),l=m!=="uint8"&&m!=="uint8_clamped";return T.length&&typeof T!="string"||((T=_(T))[0]/=255,T[1]/=255,T[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||t[0]===0)&&(t[1]>1||t[1]===0)&&(t[2]>1||t[2]===0)&&(!t[3]||t[3]>1))}(T)?(f[0]=T[0],f[1]=T[1],f[2]=T[2],f[3]=T[3]!=null?T[3]:255,l&&(f[0]/=255,f[1]/=255,f[2]/=255,f[3]/=255),f):(l?(f[0]=T[0],f[1]=T[1],f[2]=T[2],f[3]=T[3]!=null?T[3]:1):(f[0]=w(Math.floor(255*T[0]),0,255),f[1]=w(Math.floor(255*T[1]),0,255),f[2]=w(Math.floor(255*T[2]),0,255),f[3]=T[3]==null?255:w(Math.floor(255*T[3]),0,255)),f)}},90736:function(D,E,e){var _=e(76857),w=e(10973),s=e(46775);D.exports=function(m){var f,l,t=[],a=1;if(typeof m=="string")if(_[m])t=_[m].slice(),l="rgb";else if(m==="transparent")a=0,l="rgb",t=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(m)){var r=(i=m.slice(1)).length;a=1,r<=4?(t=[parseInt(i[0]+i[0],16),parseInt(i[1]+i[1],16),parseInt(i[2]+i[2],16)],r===4&&(a=parseInt(i[3]+i[3],16)/255)):(t=[parseInt(i[0]+i[1],16),parseInt(i[2]+i[3],16),parseInt(i[4]+i[5],16)],r===8&&(a=parseInt(i[6]+i[7],16)/255)),t[0]||(t[0]=0),t[1]||(t[1]=0),t[2]||(t[2]=0),l="rgb"}else if(f=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(m)){var n=f[1],o=n==="rgb",i=n.replace(/a$/,"");l=i,r=i==="cmyk"?4:i==="gray"?1:3,t=f[2].trim().split(/\s*,\s*/).map(function(p,c){if(/%$/.test(p))return c===r?parseFloat(p)/100:i==="rgb"?255*parseFloat(p)/100:parseFloat(p);if(i[c]==="h"){if(/deg$/.test(p))return parseFloat(p);if(T[p]!==void 0)return T[p]}return parseFloat(p)}),n===i&&t.push(1),a=o||t[r]===void 0?1:t[r],t=t.slice(0,r)}else m.length>10&&/[0-9](?:\s|\/)/.test(m)&&(t=m.match(/([0-9]+)/g).map(function(p){return parseFloat(p)}),l=m.match(/([a-z])/gi).join("").toLowerCase());else if(isNaN(m))if(w(m)){var u=s(m.r,m.red,m.R,null);u!==null?(l="rgb",t=[u,s(m.g,m.green,m.G),s(m.b,m.blue,m.B)]):(l="hsl",t=[s(m.h,m.hue,m.H),s(m.s,m.saturation,m.S),s(m.l,m.lightness,m.L,m.b,m.brightness)]),a=s(m.a,m.alpha,m.opacity,1),m.opacity!=null&&(a/=100)}else(Array.isArray(m)||e.g.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(m))&&(t=[m[0],m[1],m[2]],l="rgb",a=m.length===4?m[3]:1);else l="rgb",t=[m>>>16,(65280&m)>>>8,255&m];return{space:l,values:t,alpha:a}};var T={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}},36652:function(D,E,e){var _=e(90736),w=e(80009),s=e(53435);D.exports=function(T){var m,f=_(T);return f.space?((m=Array(3))[0]=s(f.values[0],0,255),m[1]=s(f.values[1],0,255),m[2]=s(f.values[2],0,255),f.space[0]==="h"&&(m=w.rgb(m)),m.push(s(f.alpha,0,1)),m):[]}},80009:function(D,E,e){var _=e(6866);D.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(w){var s,T,m,f,l,t=w[0]/360,a=w[1]/100,r=w[2]/100;if(a===0)return[l=255*r,l,l];s=2*r-(T=r<.5?r*(1+a):r+a-r*a),f=[0,0,0];for(var n=0;n<3;n++)(m=t+.3333333333333333*-(n-1))<0?m++:m>1&&m--,l=6*m<1?s+6*(T-s)*m:2*m<1?T:3*m<2?s+(T-s)*(.6666666666666666-m)*6:s,f[n]=255*l;return f}},_.hsl=function(w){var s,T,m=w[0]/255,f=w[1]/255,l=w[2]/255,t=Math.min(m,f,l),a=Math.max(m,f,l),r=a-t;return a===t?s=0:m===a?s=(f-l)/r:f===a?s=2+(l-m)/r:l===a&&(s=4+(m-f)/r),(s=Math.min(60*s,360))<0&&(s+=360),T=(t+a)/2,[s,100*(a===t?0:T<=.5?r/(a+t):r/(2-a-t)),100*T]}},6866:function(D){D.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},24138:function(D){D.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|ç)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|é)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|é)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|ã)o.?tom(e|é)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},72791:function(D,E,e){D.exports={parse:e(41004),stringify:e(53313)}},63625:function(D,E,e){var _=e(40402);D.exports={isSize:function(w){return/^[\d\.]/.test(w)||w.indexOf("/")!==-1||_.indexOf(w)!==-1}}},41004:function(D,E,e){var _=e(90448),w=e(38732),s=e(41901),T=e(15659),m=e(96209),f=e(83794),l=e(99011),t=e(63625).isSize;D.exports=r;var a=r.cache={};function r(o){if(typeof o!="string")throw new Error("Font argument must be a string.");if(a[o])return a[o];if(o==="")throw new Error("Cannot parse an empty string.");if(s.indexOf(o)!==-1)return a[o]={system:o};for(var i,u={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},p=l(o,/\s+/);i=p.shift();){if(w.indexOf(i)!==-1)return["style","variant","weight","stretch"].forEach(function(x){u[x]=i}),a[o]=u;if(m.indexOf(i)===-1)if(i!=="normal"&&i!=="small-caps")if(f.indexOf(i)===-1){if(T.indexOf(i)===-1){if(t(i)){var c=l(i,"/");if(u.size=c[0],c[1]!=null?u.lineHeight=n(c[1]):p[0]==="/"&&(p.shift(),u.lineHeight=n(p.shift())),!p.length)throw new Error("Missing required font-family.");return u.family=l(p.join(" "),/\s*,\s*/).map(_),a[o]=u}throw new Error("Unknown or unsupported font token: "+i)}u.weight=i}else u.stretch=i;else u.variant=i;else u.style=i}throw new Error("Missing required font-size.")}function n(o){var i=parseFloat(o);return i.toString()===o?i:o}},53313:function(D,E,e){var _=e(71299),w=e(63625).isSize,s=o(e(38732)),T=o(e(41901)),m=o(e(15659)),f=o(e(96209)),l=o(e(83794)),t={normal:1,"small-caps":1},a={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},r="serif";function n(i,u){if(i&&!u[i]&&!s[i])throw Error("Unknown keyword `"+i+"`");return i}function o(i){for(var u={},p=0;po?1:n>=o?0:NaN}e.d(E,{j2:function(){return _},Fp:function(){return T},J6:function(){return f},TS:function(){return l},VV:function(){return t},w6:function(){return a},Sm:function(){return r}}),(w=_).length===1&&(s=w,w=function(n,o){return _(s(n),o)});var w,s;function T(n,o){var i,u,p=n.length,c=-1;if(o==null){for(;++c=i)for(u=i;++cu&&(u=i)}else for(;++c=i)for(u=i;++cu&&(u=i);return u}function m(n){return n===null?NaN:+n}function f(n,o){var i,u=n.length,p=u,c=-1,x=0;if(o==null)for(;++c=0;)for(o=(u=n[p]).length;--o>=0;)i[--x]=u[o];return i}function t(n,o){var i,u,p=n.length,c=-1;if(o==null){for(;++c=i)for(u=i;++ci&&(u=i)}else for(;++c=i)for(u=i;++ci&&(u=i);return u}function a(n,o,i){n=+n,o=+o,i=(p=arguments.length)<2?(o=n,n=0,1):p<3?1:+i;for(var u=-1,p=0|Math.max(0,Math.ceil((o-n)/i)),c=new Array(p);++u=p.length)return o!=null&&v.sort(o),i!=null?i(v):v;for(var k,h,M,A=-1,C=v.length,L=p[b++],P=T(),I=g();++Ap.length)return v;var g,y=c[b-1];return i!=null&&b>=p.length?g=v.entries():(g=[],v.each(function(k,h){g.push({key:h,values:d(k,b)})})),y!=null?g.sort(function(k,h){return y(k.key,h.key)}):g}return u={object:function(v){return x(v,0,f,l)},map:function(v){return x(v,0,t,a)},entries:function(v){return d(x(v,0,t,a),0)},key:function(v){return p.push(v),u},sortKeys:function(v){return c[p.length-1]=v,u},sortValues:function(v){return o=v,u},rollup:function(v){return i=v,u}}}function f(){return{}}function l(o,i,u){o[i]=u}function t(){return T()}function a(o,i,u){o.set(i,u)}function r(){}var n=T.prototype;r.prototype={constructor:r,has:n.has,add:function(o){return this[_+(o+="")]=o,this},remove:n.remove,clear:n.clear,values:n.keys,size:n.size,empty:n.empty,each:n.each}},49887:function(D,E,e){function _(de,he){var ye;function ze(){var Te,Ae,Me=ye.length,Ce=0,ne=0;for(Te=0;Te=(Ae=(je+be)/2))?je=Ae:be=Ae,(me=ye>=(Me=(ge+Se)/2))?ge=Me:Se=Me,Te=Ue,!(Ue=Ue[we=me<<1|ue]))return Te[we]=De,de;if(Ce=+de._x.call(null,Ue.data),ne=+de._y.call(null,Ue.data),he===Ce&&ye===ne)return De.next=Ue,Te?Te[we]=De:de._root=De,de;do Te=Te?Te[we]=new Array(4):de._root=new Array(4),(ue=he>=(Ae=(je+be)/2))?je=Ae:be=Ae,(me=ye>=(Me=(ge+Se)/2))?ge=Me:Se=Me;while((we=me<<1|ue)==(Ee=(ne>=Me)<<1|Ce>=Ae));return Te[Ee]=Ue,Te[we]=De,de}function m(de,he,ye,ze,Te){this.node=de,this.x0=he,this.y0=ye,this.x1=ze,this.y1=Te}function f(de){return de[0]}function l(de){return de[1]}function t(de,he,ye){var ze=new a(he??f,ye??l,NaN,NaN,NaN,NaN);return de==null?ze:ze.addAll(de)}function a(de,he,ye,ze,Te,Ae){this._x=de,this._y=he,this._x0=ye,this._y0=ze,this._x1=Te,this._y1=Ae,this._root=void 0}function r(de){for(var he={data:de.data},ye=he;de=de.next;)ye=ye.next={data:de.data};return he}e.r(E),e.d(E,{forceCenter:function(){return _},forceCollide:function(){return u},forceLink:function(){return d},forceManyBody:function(){return se},forceRadial:function(){return ce},forceSimulation:function(){return oe},forceX:function(){return xe},forceY:function(){return pe}});var n=t.prototype=a.prototype;function o(de){return de.x+de.vx}function i(de){return de.y+de.vy}function u(de){var he,ye,ze=1,Te=1;function Ae(){for(var ne,ue,me,we,Ee,Ue,De,je=he.length,ge=0;gewe+yt||ZeEe+yt||stme.index){var Et=we-ot.x-ot.vx,Tt=Ee-ot.y-ot.vy,xt=Et*Et+Tt*Tt;xtne.r&&(ne.r=ne[ue].r)}function Ce(){if(he){var ne,ue,me=he.length;for(ye=new Array(me),ne=0;neme&&(me=ze),Tewe&&(we=Te));if(ne>me||ue>we)return this;for(this.cover(ne,ue).cover(me,we),ye=0;yede||de>=Te||ze>he||he>=Ae;)switch(Ce=(heEe||(Ae=ne.y0)>Ue||(Me=ne.x1)=be)<<1|de>=ge)&&(ne=De[De.length-1],De[De.length-1]=De[De.length-1-ue],De[De.length-1-ue]=ne)}else{var Se=de-+this._x.call(null,je.data),Ne=he-+this._y.call(null,je.data),Ye=Se*Se+Ne*Ne;if(Ye=(Ce=(De+ge)/2))?De=Ce:ge=Ce,(me=Me>=(ne=(je+be)/2))?je=ne:be=ne,he=Ue,!(Ue=Ue[we=me<<1|ue]))return this;if(!Ue.length)break;(he[we+1&3]||he[we+2&3]||he[we+3&3])&&(ye=he,Ee=we)}for(;Ue.data!==de;)if(ze=Ue,!(Ue=Ue.next))return this;return(Te=Ue.next)&&delete Ue.next,ze?(Te?ze.next=Te:delete ze.next,this):he?(Te?he[we]=Te:delete he[we],(Ue=he[0]||he[1]||he[2]||he[3])&&Ue===(he[3]||he[2]||he[1]||he[0])&&!Ue.length&&(ye?ye[Ee]=Ue:this._root=Ue),this):(this._root=Te,this)},n.removeAll=function(de){for(var he=0,ye=de.length;he=0&&(ze=ye.slice(Te+1),ye=ye.slice(0,Te)),ye&&!he.hasOwnProperty(ye))throw new Error("unknown type: "+ye);return{type:ye,name:ze}})}function k(de,he){for(var ye,ze=0,Te=de.length;ze0)for(var ye,ze,Te=new Array(ye),Ae=0;Ae=0&&he._call.call(null,de),he=he._next;--L})()}finally{L=0,function(){for(var de,he,ye=M,ze=1/0;ye;)ye._call?(ze>ye._time&&(ze=ye._time),de=ye,ye=ye._next):(he=ye._next,ye._next=null,ye=de?de._next=he:M=he);A=de,Y(ze)}(),U=0}}function X(){var de=G.now(),he=de-R;he>1e3&&(B-=he,R=de)}function Y(de){L||(P&&(P=clearTimeout(P)),de-U>24?(de<1/0&&(P=setTimeout(Q,de-G.now()-B)),I&&(I=clearInterval(I))):(I||(R=G.now(),I=setInterval(X,1e3)),L=1,N(Q)))}function K(de){return de.x}function te(de){return de.y}H.prototype=ee.prototype={constructor:H,restart:function(de,he,ye){if(typeof de!="function")throw new TypeError("callback is not a function");ye=(ye==null?j():+ye)+(he==null?0:+he),this._next||A===this||(A?A._next=this:M=this,A=this),this._call=de,this._time=ye,Y()},stop:function(){this._call&&(this._call=null,this._time=1/0,Y())}};var ie=Math.PI*(3-Math.sqrt(5));function oe(de){var he,ye=1,ze=.001,Te=1-Math.pow(ze,1/300),Ae=0,Me=.6,Ce=(0,p.UI)(),ne=ee(me),ue=C("tick","end");function me(){we(),ue.call("tick",he),ye1?(je==null?Ce.remove(De):Ce.set(De,Ue(je)),he):Ce.get(De)},find:function(De,je,ge){var be,Se,Ne,Ye,Ze,st=0,ot=de.length;for(ge==null?ge=1/0:ge*=ge,st=0;st1?(ue.on(De,je),he):ue.on(De)}}}function se(){var de,he,ye,ze,Te=w(-30),Ae=1,Me=1/0,Ce=.81;function ne(Ee){var Ue,De=de.length,je=t(de,K,te).visitAfter(me);for(ye=Ee,Ue=0;Ue=Me)){(Ee.data!==he||Ee.next)&&(ge===0&&(Ne+=(ge=s())*ge),be===0&&(Ne+=(be=s())*be),Ne1?x[0]+x.slice(2):x,+u.slice(c+1)]}e.d(E,{WU:function(){return r},FF:function(){return i}});var w,s=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function T(u){if(!(p=s.exec(u)))throw new Error("invalid format: "+u);var p;return new m({fill:p[1],align:p[2],sign:p[3],symbol:p[4],zero:p[5],width:p[6],comma:p[7],precision:p[8]&&p[8].slice(1),trim:p[9],type:p[10]})}function m(u){this.fill=u.fill===void 0?" ":u.fill+"",this.align=u.align===void 0?">":u.align+"",this.sign=u.sign===void 0?"-":u.sign+"",this.symbol=u.symbol===void 0?"":u.symbol+"",this.zero=!!u.zero,this.width=u.width===void 0?void 0:+u.width,this.comma=!!u.comma,this.precision=u.precision===void 0?void 0:+u.precision,this.trim=!!u.trim,this.type=u.type===void 0?"":u.type+""}function f(u,p){var c=_(u,p);if(!c)return u+"";var x=c[0],d=c[1];return d<0?"0."+new Array(-d).join("0")+x:x.length>d+1?x.slice(0,d+1)+"."+x.slice(d+1):x+new Array(d-x.length+2).join("0")}T.prototype=m.prototype,m.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,0|this.width))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var l={"%":function(u,p){return(100*u).toFixed(p)},b:function(u){return Math.round(u).toString(2)},c:function(u){return u+""},d:function(u){return Math.abs(u=Math.round(u))>=1e21?u.toLocaleString("en").replace(/,/g,""):u.toString(10)},e:function(u,p){return u.toExponential(p)},f:function(u,p){return u.toFixed(p)},g:function(u,p){return u.toPrecision(p)},o:function(u){return Math.round(u).toString(8)},p:function(u,p){return f(100*u,p)},r:f,s:function(u,p){var c=_(u,p);if(!c)return u+"";var x=c[0],d=c[1],v=d-(w=3*Math.max(-8,Math.min(8,Math.floor(d/3))))+1,b=x.length;return v===b?x:v>b?x+new Array(v-b+1).join("0"):v>0?x.slice(0,v)+"."+x.slice(v):"0."+new Array(1-v).join("0")+_(u,Math.max(0,p+v-1))[0]},X:function(u){return Math.round(u).toString(16).toUpperCase()},x:function(u){return Math.round(u).toString(16)}};function t(u){return u}var a,r,n=Array.prototype.map,o=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function i(u){var p,c,x=u.grouping===void 0||u.thousands===void 0?t:(p=n.call(u.grouping,Number),c=u.thousands+"",function(A,C){for(var L=A.length,P=[],I=0,R=p[0],U=0;L>0&&R>0&&(U+R+1>C&&(R=Math.max(1,C-U)),P.push(A.substring(L-=R,L+R)),!((U+=R+1)>C));)R=p[I=(I+1)%p.length];return P.reverse().join(c)}),d=u.currency===void 0?"":u.currency[0]+"",v=u.currency===void 0?"":u.currency[1]+"",b=u.decimal===void 0?".":u.decimal+"",g=u.numerals===void 0?t:function(A){return function(C){return C.replace(/[0-9]/g,function(L){return A[+L]})}}(n.call(u.numerals,String)),y=u.percent===void 0?"%":u.percent+"",k=u.minus===void 0?"-":u.minus+"",h=u.nan===void 0?"NaN":u.nan+"";function M(A){var C=(A=T(A)).fill,L=A.align,P=A.sign,I=A.symbol,R=A.zero,U=A.width,B=A.comma,G=A.precision,N=A.trim,j=A.type;j==="n"?(B=!0,j="g"):l[j]||(G===void 0&&(G=12),N=!0,j="g"),(R||C==="0"&&L==="=")&&(R=!0,C="0",L="=");var V=I==="$"?d:I==="#"&&/[boxX]/.test(j)?"0"+j.toLowerCase():"",H=I==="$"?v:/[%p]/.test(j)?y:"",ee=l[j],Q=/[defgprs%]/.test(j);function X(Y){var K,te,ie,oe=V,se=H;if(j==="c")se=ee(Y)+se,Y="";else{var ce=(Y=+Y)<0||1/Y<0;if(Y=isNaN(Y)?h:ee(Math.abs(Y),G),N&&(Y=function(de){e:for(var he,ye=de.length,ze=1,Te=-1;ze0&&(Te=0)}return Te>0?de.slice(0,Te)+de.slice(he+1):de}(Y)),ce&&+Y==0&&P!=="+"&&(ce=!1),oe=(ce?P==="("?P:k:P==="-"||P==="("?"":P)+oe,se=(j==="s"?o[8+w/3]:"")+se+(ce&&P==="("?")":""),Q){for(K=-1,te=Y.length;++K(ie=Y.charCodeAt(K))||ie>57){se=(ie===46?b+Y.slice(K+1):Y.slice(K))+se,Y=Y.slice(0,K);break}}}B&&!R&&(Y=x(Y,1/0));var xe=oe.length+Y.length+se.length,pe=xe>1)+oe+Y+se+pe.slice(xe);break;default:Y=pe+oe+Y+se}return g(Y)}return G=G===void 0?6:/[gprs]/.test(j)?Math.max(1,Math.min(21,G)):Math.max(0,Math.min(20,G)),X.toString=function(){return A+""},X}return{format:M,formatPrefix:function(A,C){var L,P=M(((A=T(A)).type="f",A)),I=3*Math.max(-8,Math.min(8,Math.floor((L=C,((L=_(Math.abs(L)))?L[1]:NaN)/3)))),R=Math.pow(10,-I),U=o[8+I/3];return function(B){return P(R*B)+U}}}}a=i({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),r=a.format,a.formatPrefix},65704:function(D,E,e){e.r(E),e.d(E,{geoAiry:function(){return B},geoAiryRaw:function(){return U},geoAitoff:function(){return N},geoAitoffRaw:function(){return G},geoArmadillo:function(){return V},geoArmadilloRaw:function(){return j},geoAugust:function(){return ee},geoAugustRaw:function(){return H},geoBaker:function(){return K},geoBakerRaw:function(){return Y},geoBerghaus:function(){return oe},geoBerghausRaw:function(){return ie},geoBertin1953:function(){return ze},geoBertin1953Raw:function(){return ye},geoBoggs:function(){return we},geoBoggsRaw:function(){return me},geoBonne:function(){return ge},geoBonneRaw:function(){return je},geoBottomley:function(){return Se},geoBottomleyRaw:function(){return be},geoBromley:function(){return Ye},geoBromleyRaw:function(){return Ne},geoChamberlin:function(){return Dt},geoChamberlinAfrica:function(){return xt},geoChamberlinRaw:function(){return Et},geoCollignon:function(){return Ft},geoCollignonRaw:function(){return It},geoCraig:function(){return Nt},geoCraigRaw:function(){return qt},geoCraster:function(){return Ge},geoCrasterRaw:function(){return Ke},geoCylindricalEqualArea:function(){return ht},geoCylindricalEqualAreaRaw:function(){return nt},geoCylindricalStereographic:function(){return Be},geoCylindricalStereographicRaw:function(){return Oe},geoEckert1:function(){return ut},geoEckert1Raw:function(){return Qe},geoEckert2:function(){return bt},geoEckert2Raw:function(){return pt},geoEckert3:function(){return Ct},geoEckert3Raw:function(){return Lt},geoEckert4:function(){return Ot},geoEckert4Raw:function(){return mt},geoEckert5:function(){return Pt},geoEckert5Raw:function(){return _t},geoEckert6:function(){return Wt},geoEckert6Raw:function(){return Bt},geoEisenlohr:function(){return Kt},geoEisenlohrRaw:function(){return Xt},geoFahey:function(){return ln},geoFaheyRaw:function(){return yn},geoFoucaut:function(){return Wn},geoFoucautRaw:function(){return kn},geoFoucautSinusoidal:function(){return on},geoFoucautSinusoidalRaw:function(){return wn},geoGilbert:function(){return Cn},geoGingery:function(){return or},geoGingeryRaw:function(){return Nn},geoGinzburg4:function(){return gr},geoGinzburg4Raw:function(){return Tr},geoGinzburg5:function(){return dr},geoGinzburg5Raw:function(){return ir},geoGinzburg6:function(){return $t},geoGinzburg6Raw:function(){return yr},geoGinzburg8:function(){return Ln},geoGinzburg8Raw:function(){return mn},geoGinzburg9:function(){return jn},geoGinzburg9Raw:function(){return En},geoGringorten:function(){return Qn},geoGringortenQuincuncial:function(){return Gl},geoGringortenRaw:function(){return Zn},geoGuyou:function(){return jt},geoGuyouRaw:function(){return Pn},geoHammer:function(){return pe},geoHammerRaw:function(){return ce},geoHammerRetroazimuthal:function(){return On},geoHammerRetroazimuthalRaw:function(){return un},geoHealpix:function(){return er},geoHealpixRaw:function(){return vn},geoHill:function(){return lr},geoHillRaw:function(){return Jn},geoHomolosine:function(){return Mr},geoHomolosineRaw:function(){return Sr},geoHufnagel:function(){return pr},geoHufnagelRaw:function(){return Lr},geoHyperelliptical:function(){return Ti},geoHyperellipticalRaw:function(){return ci},geoInterrupt:function(){return xi},geoInterruptedBoggs:function(){return Ka},geoInterruptedHomolosine:function(){return Ys},geoInterruptedMollweide:function(){return pu},geoInterruptedMollweideHemispheres:function(){return Qa},geoInterruptedQuarticAuthalic:function(){return Rs},geoInterruptedSinuMollweide:function(){return Qi},geoInterruptedSinusoidal:function(){return qa},geoKavrayskiy7:function(){return fs},geoKavrayskiy7Raw:function(){return eo},geoLagrange:function(){return hs},geoLagrangeRaw:function(){return fi},geoLarrivee:function(){return Ro},geoLarriveeRaw:function(){return bo},geoLaskowski:function(){return Vu},geoLaskowskiRaw:function(){return yl},geoLittrow:function(){return Hu},geoLittrowRaw:function(){return Xo},geoLoximuthal:function(){return Mc},geoLoximuthalRaw:function(){return qu},geoMiller:function(){return Gu},geoMillerRaw:function(){return gu},geoModifiedStereographic:function(){return Ps},geoModifiedStereographicAlaska:function(){return yu},geoModifiedStereographicGs48:function(){return Ls},geoModifiedStereographicGs50:function(){return Ul},geoModifiedStereographicLee:function(){return Js},geoModifiedStereographicMiller:function(){return ps},geoModifiedStereographicRaw:function(){return vu},geoMollweide:function(){return Ce},geoMollweideRaw:function(){return Me},geoMtFlatPolarParabolic:function(){return Sc},geoMtFlatPolarParabolicRaw:function(){return ds},geoMtFlatPolarQuartic:function(){return xl},geoMtFlatPolarQuarticRaw:function(){return Vl},geoMtFlatPolarSinusoidal:function(){return Ks},geoMtFlatPolarSinusoidalRaw:function(){return Os},geoNaturalEarth:function(){return oo.Z},geoNaturalEarth2:function(){return bl},geoNaturalEarth2Raw:function(){return xu},geoNaturalEarthRaw:function(){return oo.K},geoNellHammer:function(){return _l},geoNellHammerRaw:function(){return Qs},geoNicolosi:function(){return wl},geoNicolosiRaw:function(){return el},geoPatterson:function(){return Hl},geoPattersonRaw:function(){return gs},geoPeirceQuincuncial:function(){return Wl},geoPierceQuincuncial:function(){return Wl},geoPolyconic:function(){return _u},geoPolyconicRaw:function(){return Ml},geoPolyhedral:function(){return vs},geoPolyhedralButterfly:function(){return ql},geoPolyhedralCollignon:function(){return Tu},geoPolyhedralWaterman:function(){return Bs},geoProject:function(){return js},geoQuantize:function(){return Sa},geoQuincuncial:function(){return Ga},geoRectangularPolyconic:function(){return Us},geoRectangularPolyconicRaw:function(){return Cr},geoRobinson:function(){return nl},geoRobinsonRaw:function(){return Zl},geoSatellite:function(){return il},geoSatelliteRaw:function(){return rl},geoSinuMollweide:function(){return vr},geoSinuMollweideRaw:function(){return cr},geoSinusoidal:function(){return De},geoSinusoidalRaw:function(){return Ue},geoStitch:function(){return Hs},geoTimes:function(){return fo},geoTimesRaw:function(){return xa},geoTwoPointAzimuthal:function(){return ho},geoTwoPointAzimuthalRaw:function(){return Cl},geoTwoPointAzimuthalUsa:function(){return to},geoTwoPointEquidistant:function(){return di},geoTwoPointEquidistantRaw:function(){return Fo},geoTwoPointEquidistantUsa:function(){return za},geoVanDerGrinten:function(){return wo},geoVanDerGrinten2:function(){return Bo},geoVanDerGrinten2Raw:function(){return Da},geoVanDerGrinten3:function(){return rs},geoVanDerGrinten3Raw:function(){return bs},geoVanDerGrinten4:function(){return po},geoVanDerGrinten4Raw:function(){return ba},geoVanDerGrintenRaw:function(){return oa},geoWagner:function(){return Ur},geoWagner4:function(){return Xl},geoWagner4Raw:function(){return _a},geoWagner6:function(){return sl},geoWagner6Raw:function(){return Fa},geoWagner7:function(){return ol},geoWagnerRaw:function(){return Fr},geoWiechel:function(){return _i},geoWiechelRaw:function(){return as},geoWinkel3:function(){return $l},geoWinkel3Raw:function(){return Si}});var _=e(15002),w=Math.abs,s=Math.atan,T=Math.atan2,m=Math.cos,f=Math.exp,l=Math.floor,t=Math.log,a=Math.max,r=Math.min,n=Math.pow,o=Math.round,i=Math.sign||function(et){return et>0?1:et<0?-1:0},u=Math.sin,p=Math.tan,c=1e-6,x=1e-12,d=Math.PI,v=d/2,b=d/4,g=Math.SQRT1_2,y=P(2),k=P(d),h=2*d,M=180/d,A=d/180;function C(et){return et>1?v:et<-1?-v:Math.asin(et)}function L(et){return et>1?0:et<-1?d:Math.acos(et)}function P(et){return et>0?Math.sqrt(et):0}function I(et){return(f(et)-f(-et))/2}function R(et){return(f(et)+f(-et))/2}function U(et){var rt=p(et/2),ct=2*t(m(et/2))/(rt*rt);function vt(Mt,kt){var q=m(Mt),$=m(kt),W=u(kt),ae=$*q,_e=-((1-ae?t((1+ae)/2)/(1-ae):-.5)+ct/(1+ae));return[_e*$*u(Mt),_e*W]}return vt.invert=function(Mt,kt){var q,$=P(Mt*Mt+kt*kt),W=-et/2,ae=50;if(!$)return[0,0];do{var _e=W/2,Re=m(_e),He=u(_e),Xe=He/Re,at=-t(w(Re));W-=q=(2/Xe*at-ct*Xe-$)/(-at/(He*He)+1-ct/(2*Re*Re))*(Re<0?.7:1)}while(w(q)>c&&--ae>0);var wt=u(W);return[T(Mt*wt,$*m(W)),C(kt*wt/$)]},vt}function B(){var et=v,rt=(0,_.r)(U),ct=rt(et);return ct.radius=function(vt){return arguments.length?rt(et=vt*A):et*M},ct.scale(179.976).clipAngle(147)}function G(et,rt){var ct=m(rt),vt=function(Mt){return Mt?Mt/Math.sin(Mt):1}(L(ct*m(et/=2)));return[2*ct*u(et)*vt,u(rt)*vt]}function N(){return(0,_.Z)(G).scale(152.63)}function j(et){var rt=u(et),ct=m(et),vt=et>=0?1:-1,Mt=p(vt*et),kt=(1+rt-ct)/2;function q($,W){var ae=m(W),_e=m($/=2);return[(1+ae)*u($),(vt*W>-T(_e,Mt)-.001?0:10*-vt)+kt+u(W)*ct-(1+ae)*rt*_e]}return q.invert=function($,W){var ae=0,_e=0,Re=50;do{var He=m(ae),Xe=u(ae),at=m(_e),wt=u(_e),At=1+at,re=At*Xe-$,ve=kt+wt*ct-At*rt*He-W,Le=At*He/2,Fe=-Xe*wt,Ve=rt*At*Xe/2,We=ct*at+rt*He*wt,$e=Fe*Ve-We*Le,tt=(ve*Fe-re*We)/$e/2,lt=(re*Ve-ve*Le)/$e;w(lt)>2&&(lt/=2),ae-=tt,_e-=lt}while((w(tt)>c||w(lt)>c)&&--Re>0);return vt*_e>-T(m(ae),Mt)-.001?[2*ae,_e]:null},q}function V(){var et=20*A,rt=et>=0?1:-1,ct=p(rt*et),vt=(0,_.r)(j),Mt=vt(et),kt=Mt.stream;return Mt.parallel=function(q){return arguments.length?(ct=p((rt=(et=q*A)>=0?1:-1)*et),vt(et)):et*M},Mt.stream=function(q){var $=Mt.rotate(),W=kt(q),ae=(Mt.rotate([0,0]),kt(q)),_e=Mt.precision();return Mt.rotate($),W.sphere=function(){ae.polygonStart(),ae.lineStart();for(var Re=-180*rt;rt*Re<180;Re+=90*rt)ae.point(Re,90*rt);if(et)for(;rt*(Re-=3*rt*_e)>=-180;)ae.point(Re,rt*-T(m(Re*A/2),ct)*M);ae.lineEnd(),ae.polygonEnd()},W},Mt.scale(218.695).center([0,28.0974])}function H(et,rt){var ct=p(rt/2),vt=P(1-ct*ct),Mt=1+vt*m(et/=2),kt=u(et)*vt/Mt,q=ct/Mt,$=kt*kt,W=q*q;return[1.3333333333333333*kt*(3+$-3*W),1.3333333333333333*q*(3+3*$-W)]}function ee(){return(0,_.Z)(H).scale(66.1603)}G.invert=function(et,rt){if(!(et*et+4*rt*rt>d*d+c)){var ct=et,vt=rt,Mt=25;do{var kt,q=u(ct),$=u(ct/2),W=m(ct/2),ae=u(vt),_e=m(vt),Re=u(2*vt),He=ae*ae,Xe=_e*_e,at=$*$,wt=1-Xe*W*W,At=wt?L(_e*W)*P(kt=1/wt):kt=0,re=2*At*_e*$-et,ve=At*ae-rt,Le=kt*(Xe*at+At*_e*W*He),Fe=kt*(.5*q*Re-2*At*ae*$),Ve=.25*kt*(Re*$-At*ae*Xe*q),We=kt*(He*W+At*at*_e),$e=Fe*Ve-We*Le;if(!$e)break;var tt=(ve*Fe-re*We)/$e,lt=(re*Ve-ve*Le)/$e;ct-=tt,vt-=lt}while((w(tt)>c||w(lt)>c)&&--Mt>0);return[ct,vt]}},H.invert=function(et,rt){if(rt*=.375,!(et*=.375)&&w(rt)>1)return null;var ct=1+et*et+rt*rt,vt=P((ct-P(ct*ct-4*rt*rt))/2),Mt=C(vt)/3,kt=vt?function(ae){return t(ae+P(ae*ae-1))}(w(rt/vt))/3:function(ae){return t(ae+P(ae*ae+1))}(w(et))/3,q=m(Mt),$=R(kt),W=$*$-q*q;return[2*i(et)*T(I(kt)*q,.25-W),2*i(rt)*T($*u(Mt),.25+W)]};var Q=P(8),X=t(1+y);function Y(et,rt){var ct=w(rt);return ctx&&--kt>0);return[et/(m(Mt)*(Q-1/u(Mt))),i(rt)*Mt]};var te=e(17889);function ie(et){var rt=2*d/et;function ct(vt,Mt){var kt=(0,te.N)(vt,Mt);if(w(vt)>v){var q=T(kt[1],kt[0]),$=P(kt[0]*kt[0]+kt[1]*kt[1]),W=rt*o((q-v)/rt)+v,ae=T(u(q-=W),2-m(q));q=W+C(d/$*u(ae))-ae,kt[0]=$*m(q),kt[1]=$*u(q)}return kt}return ct.invert=function(vt,Mt){var kt=P(vt*vt+Mt*Mt);if(kt>v){var q=T(Mt,vt),$=rt*o((q-v)/rt)+v,W=q>$?-1:1,ae=kt*m($-q),_e=1/p(W*L((ae-d)/P(d*(d-2*ae)+kt*kt)));q=$+2*s((_e+W*P(_e*_e-3))/3),vt=kt*m(q),Mt=kt*u(q)}return te.N.invert(vt,Mt)},ct}function oe(){var et=5,rt=(0,_.r)(ie),ct=rt(et),vt=ct.stream,Mt=.01,kt=-m(Mt*A),q=u(Mt*A);return ct.lobes=function($){return arguments.length?rt(et=+$):et},ct.stream=function($){var W=ct.rotate(),ae=vt($),_e=(ct.rotate([0,0]),vt($));return ct.rotate(W),ae.sphere=function(){_e.polygonStart(),_e.lineStart();for(var Re=0,He=360/et,Xe=2*d/et,at=90-180/et,wt=v;Re0&&w(vt)>c);return q<0?NaN:ct}function he(et,rt,ct){return rt===void 0&&(rt=40),ct===void 0&&(ct=x),function(vt,Mt,kt,q){var $,W,ae;kt=kt===void 0?0:+kt,q=q===void 0?0:+q;for(var _e=0;_e$)kt-=W/=2,q-=ae/=2;else{$=at;var wt=(kt>0?-1:1)*ct,At=(q>0?-1:1)*ct,re=et(kt+wt,q),ve=et(kt,q+At),Le=(re[0]-Re[0])/wt,Fe=(re[1]-Re[1])/wt,Ve=(ve[0]-Re[0])/At,We=(ve[1]-Re[1])/At,$e=We*Le-Fe*Ve,tt=(w($e)<.5?.5:1)/$e;if(kt+=W=(Xe*Ve-He*We)*tt,q+=ae=(He*Fe-Xe*Le)*tt,w(W)0&&(kt[1]*=1+q/1.5*kt[0]*kt[0]),kt}return rt.invert=he(rt),rt}function ze(){return(0,_.Z)(ye()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function Te(et,rt){var ct,vt=et*u(rt),Mt=30;do rt-=ct=(rt+u(rt)-vt)/(1+m(rt));while(w(ct)>c&&--Mt>0);return rt/2}function Ae(et,rt,ct){function vt(Mt,kt){return[et*Mt*m(kt=Te(ct,kt)),rt*u(kt)]}return vt.invert=function(Mt,kt){return kt=C(kt/rt),[Mt/(et*m(kt)),C((2*kt+u(2*kt))/ct)]},vt}xe.invert=function(et,rt){var ct=2*C(rt/2);return[et*m(ct/2)/m(ct),ct]};var Me=Ae(y/v,y,d);function Ce(){return(0,_.Z)(Me).scale(169.529)}var ne=2.00276,ue=1.11072;function me(et,rt){var ct=Te(d,rt);return[ne*et/(1/m(rt)+ue/m(ct)),(rt+y*u(ct))/ne]}function we(){return(0,_.Z)(me).scale(160.857)}function Ee(et){var rt=0,ct=(0,_.r)(et),vt=ct(rt);return vt.parallel=function(Mt){return arguments.length?ct(rt=Mt*A):rt*M},vt}function Ue(et,rt){return[et*m(rt),rt]}function De(){return(0,_.Z)(Ue).scale(152.63)}function je(et){if(!et)return Ue;var rt=1/p(et);function ct(vt,Mt){var kt=rt+et-Mt,q=kt&&vt*m(Mt)/kt;return[kt*u(q),rt-kt*m(q)]}return ct.invert=function(vt,Mt){var kt=P(vt*vt+(Mt=rt-Mt)*Mt),q=rt+et-kt;return[kt/m(q)*T(vt,Mt),q]},ct}function ge(){return Ee(je).scale(123.082).center([0,26.1441]).parallel(45)}function be(et){function rt(ct,vt){var Mt=v-vt,kt=Mt&&ct*et*u(Mt)/Mt;return[Mt*u(kt)/et,v-Mt*m(kt)]}return rt.invert=function(ct,vt){var Mt=ct*et,kt=v-vt,q=P(Mt*Mt+kt*kt),$=T(Mt,kt);return[(q?q/u(q):1)*$/et,v-q]},rt}function Se(){var et=.5,rt=(0,_.r)(be),ct=rt(et);return ct.fraction=function(vt){return arguments.length?rt(et=+vt):et},ct.scale(158.837)}me.invert=function(et,rt){var ct,vt,Mt=ne*rt,kt=rt<0?-b:b,q=25;do vt=Mt-y*u(kt),kt-=ct=(u(2*kt)+2*kt-d*u(vt))/(2*m(2*kt)+2+d*m(vt)*y*m(kt));while(w(ct)>c&&--q>0);return vt=Mt-y*u(kt),[et*(1/m(vt)+ue/m(kt))/ne,vt]},Ue.invert=function(et,rt){return[et/m(rt),rt]};var Ne=Ae(1,4/d,d);function Ye(){return(0,_.Z)(Ne).scale(152.63)}var Ze=e(66624),st=e(49386);function ot(et,rt,ct,vt,Mt,kt){var q,$=m(kt);if(w(et)>1||w(kt)>1)q=L(ct*Mt+rt*vt*$);else{var W=u(et/2),ae=u(kt/2);q=2*C(P(W*W+rt*vt*ae*ae))}return w(q)>c?[q,T(vt*u(kt),rt*Mt-ct*vt*$)]:[0,0]}function ft(et,rt,ct){return L((et*et+rt*rt-ct*ct)/(2*et*rt))}function yt(et){return et-2*d*l((et+d)/(2*d))}function Et(et,rt,ct){for(var vt,Mt=[[et[0],et[1],u(et[1]),m(et[1])],[rt[0],rt[1],u(rt[1]),m(rt[1])],[ct[0],ct[1],u(ct[1]),m(ct[1])]],kt=Mt[2],q=0;q<3;++q,kt=vt)vt=Mt[q],kt.v=ot(vt[1]-kt[1],kt[3],kt[2],vt[3],vt[2],vt[0]-kt[0]),kt.point=[0,0];var $=ft(Mt[0].v[0],Mt[2].v[0],Mt[1].v[0]),W=ft(Mt[0].v[0],Mt[1].v[0],Mt[2].v[0]),ae=d-$;Mt[2].point[1]=0,Mt[0].point[0]=-(Mt[1].point[0]=Mt[0].v[0]/2);var _e=[Mt[2].point[0]=Mt[0].point[0]+Mt[2].v[0]*m($),2*(Mt[0].point[1]=Mt[1].point[1]=Mt[2].v[0]*u($))];return function(Re,He){var Xe,at=u(He),wt=m(He),At=new Array(3);for(Xe=0;Xe<3;++Xe){var re=Mt[Xe];if(At[Xe]=ot(He-re[1],re[3],re[2],wt,at,Re-re[0]),!At[Xe][0])return re.point;At[Xe][1]=yt(At[Xe][1]-re.v[1])}var ve=_e.slice();for(Xe=0;Xe<3;++Xe){var Le=Xe==2?0:Xe+1,Fe=ft(Mt[Xe].v[0],At[Xe][0],At[Le][0]);At[Xe][1]<0&&(Fe=-Fe),Xe?Xe==1?(Fe=W-Fe,ve[0]-=At[Xe][0]*m(Fe),ve[1]-=At[Xe][0]*u(Fe)):(Fe=ae-Fe,ve[0]+=At[Xe][0]*m(Fe),ve[1]+=At[Xe][0]*u(Fe)):(ve[0]+=At[Xe][0]*m(Fe),ve[1]-=At[Xe][0]*u(Fe))}return ve[0]/=3,ve[1]/=3,ve}}function Tt(et){return et[0]*=A,et[1]*=A,et}function xt(){return Dt([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Dt(et,rt,ct){var vt=(0,Ze.Z)({type:"MultiPoint",coordinates:[et,rt,ct]}),Mt=[-vt[0],-vt[1]],kt=(0,st.Z)(Mt),q=Et(Tt(kt(et)),Tt(kt(rt)),Tt(kt(ct)));q.invert=he(q);var $=(0,_.Z)(q).rotate(Mt),W=$.center;return delete $.rotate,$.center=function(ae){return arguments.length?W(kt(ae)):kt.invert(W())},$.clipAngle(90)}function It(et,rt){var ct=P(1-u(rt));return[2/k*et*ct,k*(1-ct)]}function Ft(){return(0,_.Z)(It).scale(95.6464).center([0,30])}function qt(et){var rt=p(et);function ct(vt,Mt){return[vt,(vt?vt/u(vt):1)*(u(Mt)*m(vt)-rt*m(Mt))]}return ct.invert=rt?function(vt,Mt){vt&&(Mt*=u(vt)/vt);var kt=m(vt);return[vt,2*T(P(kt*kt+rt*rt-Mt*Mt)-kt,rt-Mt)]}:function(vt,Mt){return[vt,C(vt?Mt*p(vt)/vt:Mt)]},ct}function Nt(){return Ee(qt).scale(249.828).clipAngle(90)}It.invert=function(et,rt){var ct=(ct=rt/k-1)*ct;return[ct>0?et*P(d/ct)/2:0,C(1-ct)]};var Je=P(3);function Ke(et,rt){return[Je*et*(2*m(2*rt/3)-1)/k,Je*k*u(rt/3)]}function Ge(){return(0,_.Z)(Ke).scale(156.19)}function nt(et){var rt=m(et);function ct(vt,Mt){return[vt*rt,u(Mt)/rt]}return ct.invert=function(vt,Mt){return[vt/rt,C(Mt*rt)]},ct}function ht(){return Ee(nt).parallel(38.58).scale(195.044)}function Oe(et){var rt=m(et);function ct(vt,Mt){return[vt*rt,(1+rt)*p(Mt/2)]}return ct.invert=function(vt,Mt){return[vt/rt,2*s(Mt/(1+rt))]},ct}function Be(){return Ee(Oe).scale(124.75)}function Qe(et,rt){var ct=P(8/(3*d));return[ct*et*(1-w(rt)/d),ct*rt]}function ut(){return(0,_.Z)(Qe).scale(165.664)}function pt(et,rt){var ct=P(4-3*u(w(rt)));return[2/P(6*d)*et*ct,i(rt)*P(2*d/3)*(2-ct)]}function bt(){return(0,_.Z)(pt).scale(165.664)}function Lt(et,rt){var ct=P(d*(4+d));return[2/ct*et*(1+P(1-4*rt*rt/(d*d))),4/ct*rt]}function Ct(){return(0,_.Z)(Lt).scale(180.739)}function mt(et,rt){var ct=(2+v)*u(rt);rt/=2;for(var vt=0,Mt=1/0;vt<10&&w(Mt)>c;vt++){var kt=m(rt);rt-=Mt=(rt+u(rt)*(kt+2)-ct)/(2*kt*(1+kt))}return[2/P(d*(4+d))*et*(1+m(rt)),2*P(d/(4+d))*u(rt)]}function Ot(){return(0,_.Z)(mt).scale(180.739)}function _t(et,rt){return[et*(1+m(rt))/P(2+d),2*rt/P(2+d)]}function Pt(){return(0,_.Z)(_t).scale(173.044)}function Bt(et,rt){for(var ct=(1+v)*u(rt),vt=0,Mt=1/0;vt<10&&w(Mt)>c;vt++)rt-=Mt=(rt+u(rt)-ct)/(1+m(rt));return ct=P(2+d),[et*(1+m(rt))/ct,2*rt/ct]}function Wt(){return(0,_.Z)(Bt).scale(173.044)}Ke.invert=function(et,rt){var ct=3*C(rt/(Je*k));return[k*et/(Je*(2*m(2*ct/3)-1)),ct]},Qe.invert=function(et,rt){var ct=P(8/(3*d)),vt=rt/ct;return[et/(ct*(1-w(vt)/d)),vt]},pt.invert=function(et,rt){var ct=2-w(rt)/P(2*d/3);return[et*P(6*d)/(2*ct),i(rt)*C((4-ct*ct)/3)]},Lt.invert=function(et,rt){var ct=P(d*(4+d))/2;return[et*ct/(1+P(1-rt*rt*(4+d)/(4*d))),rt*ct/2]},mt.invert=function(et,rt){var ct=rt*P((4+d)/d)/2,vt=C(ct),Mt=m(vt);return[et/(2/P(d*(4+d))*(1+Mt)),C((vt+ct*(Mt+2))/(2+v))]},_t.invert=function(et,rt){var ct=P(2+d),vt=rt*ct/2;return[ct*et/(1+m(vt)),vt]},Bt.invert=function(et,rt){var ct=1+v,vt=P(ct/2);return[2*et*vt/(1+m(rt*=vt)),C((rt+u(rt))/ct)]};var Gt=3+2*y;function Xt(et,rt){var ct=u(et/=2),vt=m(et),Mt=P(m(rt)),kt=m(rt/=2),q=u(rt)/(kt+y*vt*Mt),$=P(2/(1+q*q)),W=P((y*kt+(vt+ct)*Mt)/(y*kt+(vt-ct)*Mt));return[Gt*($*(W-1/W)-2*t(W)),Gt*($*q*(W+1/W)-2*s(q))]}function Kt(){return(0,_.Z)(Xt).scale(62.5271)}Xt.invert=function(et,rt){if(!(ct=H.invert(et/1.2,1.065*rt)))return null;var ct,vt=ct[0],Mt=ct[1],kt=20;et/=Gt,rt/=Gt;do{var q=vt/2,$=Mt/2,W=u(q),ae=m(q),_e=u($),Re=m($),He=m(Mt),Xe=P(He),at=_e/(Re+y*ae*Xe),wt=at*at,At=P(2/(1+wt)),re=(y*Re+(ae+W)*Xe)/(y*Re+(ae-W)*Xe),ve=P(re),Le=ve-1/ve,Fe=ve+1/ve,Ve=At*Le-2*t(ve)-et,We=At*at*Fe-2*s(at)-rt,$e=_e&&g*Xe*W*wt/_e,tt=(y*ae*Re+Xe)/(2*(Re+y*ae*Xe)*(Re+y*ae*Xe)*Xe),lt=-.5*at*At*At*At,gt=lt*$e,zt=lt*tt,Ut=(Ut=2*Re+y*Xe*(ae-W))*Ut*ve,Vt=(y*ae*Re*Xe+He)/Ut,Qt=-y*W*_e/(Xe*Ut),gn=Le*gt-2*Vt/ve+At*(Vt+Vt/re),en=Le*zt-2*Qt/ve+At*(Qt+Qt/re),sn=at*Fe*gt-2*$e/(1+wt)+At*Fe*$e+At*at*(Vt-Vt/re),rn=at*Fe*zt-2*tt/(1+wt)+At*Fe*tt+At*at*(Qt-Qt/re),Mn=en*sn-rn*gn;if(!Mn)break;var xn=(We*en-Ve*rn)/Mn,an=(Ve*sn-We*gn)/Mn;vt-=xn,Mt=a(-v,r(v,Mt-an))}while((w(xn)>c||w(an)>c)&&--kt>0);return w(w(Mt)-v)vt){var Re=P(_e),He=T(ae,W),Xe=ct*o(He/ct),at=He-Xe,wt=et*m(at),At=(et*u(at)-at*u(wt))/(v-wt),re=Hn(at,At),ve=(d-et)/qn(re,wt,d);W=Re;var Le,Fe=50;do W-=Le=(et+qn(re,wt,W)*ve-Re)/(re(W)*ve);while(w(Le)>c&&--Fe>0);ae=at*u(W),Wvt){var W=P($),ae=T(q,kt),_e=ct*o(ae/ct),Re=ae-_e;kt=W*m(Re),q=W*u(Re);for(var He=kt-v,Xe=u(kt),at=q/Xe,wt=ktc||w(He)>c)&&--wt>0);return[Xe,at]},W}var Tr=tr(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function gr(){return(0,_.Z)(Tr).scale(149.995)}var ir=tr(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function dr(){return(0,_.Z)(ir).scale(153.93)}var yr=tr(5/6*d,-.62636,-.0344,0,1.3493,-.05524,0,.045);function $t(){return(0,_.Z)(yr).scale(130.945)}function mn(et,rt){var ct=et*et,vt=rt*rt;return[et*(1-.162388*vt)*(.87-952426e-9*ct*ct),rt*(1+vt/12)]}function Ln(){return(0,_.Z)(mn).scale(131.747)}mn.invert=function(et,rt){var ct,vt=et,Mt=rt,kt=50;do{var q=Mt*Mt;Mt-=ct=(Mt*(1+q/12)-rt)/(1+q/4)}while(w(ct)>c&&--kt>0);kt=50,et/=1-.162388*q;do{var $=($=vt*vt)*$;vt-=ct=(vt*(.87-952426e-9*$)-et)/(.87-.00476213*$)}while(w(ct)>c&&--kt>0);return[vt,Mt]};var En=tr(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function jn(){return(0,_.Z)(En).scale(131.087)}function $n(et){var rt=et(v,0)[0]-et(-v,0)[0];function ct(vt,Mt){var kt=vt>0?-.5:.5,q=et(vt+kt*d,Mt);return q[0]-=kt*rt,q}return et.invert&&(ct.invert=function(vt,Mt){var kt=vt>0?-.5:.5,q=et.invert(vt+kt*rt,Mt),$=q[0]-kt*d;return $<-d?$+=2*d:$>d&&($-=2*d),q[0]=$,q}),ct}function Zn(et,rt){var ct=i(et),vt=i(rt),Mt=m(rt),kt=m(et)*Mt,q=u(et)*Mt,$=u(vt*rt);et=w(T(q,$)),rt=C(kt),w(et-v)>c&&(et%=v);var W=function(ae,_e){if(_e===v)return[0,0];var Re,He,Xe=u(_e),at=Xe*Xe,wt=at*at,At=1+wt,re=1+3*wt,ve=1-wt,Le=C(1/P(At)),Fe=ve+at*At*Le,Ve=(1-Xe)/Fe,We=P(Ve),$e=Ve*At,tt=P($e),lt=We*ve;if(ae===0)return[0,-(lt+at*tt)];var gt,zt=m(_e),Ut=1/zt,Vt=2*Xe*zt,Qt=(-Fe*zt-(-3*at+Le*re)*Vt*(1-Xe))/(Fe*Fe),gn=-Ut*Vt,en=-Ut*(at*At*Qt+Ve*re*Vt),sn=-2*Ut*(ve*(.5*Qt/We)-2*at*We*Vt),rn=4*ae/d;if(ae>.222*d||_e.175*d){if(Re=(lt+at*P($e*(1+wt)-lt*lt))/(1+wt),ae>d/4)return[Re,Re];var Mn=Re,xn=.5*Re;Re=.5*(xn+Mn),He=50;do{var an=Re*(sn+gn*P($e-Re*Re))+en*C(Re/tt)-rn;if(!an)break;an<0?xn=Re:Mn=Re,Re=.5*(xn+Mn)}while(w(Mn-xn)>c&&--He>0)}else{Re=c,He=25;do{var zn=Re*Re,Un=P($e-zn),nr=sn+gn*Un,rr=Re*nr+en*C(Re/tt)-rn;Re-=gt=Un?rr/(nr+(en-gn*zn)/Un):0}while(w(gt)>c&&--He>0)}return[Re,-lt-at*P($e-Re*Re)]}(et>d/4?v-et:et,rt);return et>d/4&&($=W[0],W[0]=-W[1],W[1]=-$),W[0]*=ct,W[1]*=-vt,W}function Qn(){return(0,_.Z)($n(Zn)).scale(239.75)}function hr(et,rt){var ct,vt,Mt,kt,q,$;if(rt=.999999)return ct=(1-rt)/4,Mt=1/(vt=R(et)),[(kt=(($=f(2*($=et)))-1)/($+1))+ct*((q=vt*I(et))-et)/(vt*vt),Mt-ct*kt*Mt*(q-et),Mt+ct*kt*Mt*(q+et),2*s(f(et))-v+ct*(q-et)/vt];var W=[1,0,0,0,0,0,0,0,0],ae=[P(rt),0,0,0,0,0,0,0,0],_e=0;for(vt=P(1-rt),q=1;w(ae[_e]/W[_e])>c&&_e<8;)ct=W[_e++],ae[_e]=(ct-vt)/2,W[_e]=(ct+vt)/2,vt=P(ct*vt),q*=2;Mt=q*W[_e]*et;do Mt=(C(kt=ae[_e]*u(vt=Mt)/W[_e])+Mt)/2;while(--_e);return[u(Mt),kt=m(Mt),kt/m(Mt-vt),Mt]}function tn(et,rt){if(!rt)return et;if(rt===1)return t(p(et/2+b));for(var ct=1,vt=P(1-rt),Mt=P(rt),kt=0;w(Mt)>c;kt++){if(et%d){var q=s(vt*p(et)/ct);q<0&&(q+=d),et+=q+~~(et/d)*d}else et+=et;Mt=(ct+vt)/2,vt=P(ct*vt),Mt=((ct=Mt)-vt)/2}return et/(n(2,kt)*ct)}function Pn(et,rt){var ct=(y-1)/(y+1),vt=P(1-ct*ct),Mt=tn(v,vt*vt),kt=t(p(d/4+w(rt)/2)),q=f(-1*kt)/P(ct),$=function(ae,_e){var Re=ae*ae,He=_e+1,Xe=1-Re-_e*_e;return[.5*((ae>=0?v:-v)-T(Xe,2*ae)),-.25*t(Xe*Xe+4*Re)+.5*t(He*He+Re)]}(q*m(-1*et),q*u(-1*et)),W=function(ae,_e,Re){var He=w(ae),Xe=I(w(_e));if(He){var at=1/u(He),wt=1/(p(He)*p(He)),At=-(wt+Re*(Xe*Xe*at*at)-1+Re),re=(-At+P(At*At-(Re-1)*wt*4))/2;return[tn(s(1/P(re)),Re)*i(ae),tn(s(P((re/wt-1)/Re)),1-Re)*i(_e)]}return[0,tn(s(Xe),1-Re)*i(_e)]}($[0],$[1],vt*vt);return[-W[1],(rt>=0?1:-1)*(.5*Mt-W[0])]}function jt(){return(0,_.Z)($n(Pn)).scale(151.496)}Zn.invert=function(et,rt){w(et)>1&&(et=2*i(et)-et),w(rt)>1&&(rt=2*i(rt)-rt);var ct=i(et),vt=i(rt),Mt=-ct*et,kt=-vt*rt,q=kt/Mt<1,$=function(Re,He){for(var Xe=0,at=1,wt=.5,At=50;;){var re=wt*wt,ve=P(wt),Le=C(1/P(1+re)),Fe=1-re+wt*(1+re)*Le,Ve=(1-ve)/Fe,We=P(Ve),$e=Ve*(1+re),tt=We*(1-re),lt=P($e-Re*Re),gt=He+tt+wt*lt;if(w(at-Xe)0?Xe=wt:at=wt,wt=.5*(Xe+at)}if(!At)return null;var zt=C(ve),Ut=m(zt),Vt=1/Ut,Qt=2*ve*Ut,gn=(-Fe*Ut-(-3*wt+Le*(1+3*re))*Qt*(1-ve))/(Fe*Fe);return[d/4*(Re*(-2*Vt*(.5*gn/We*(1-re)-2*wt*We*Qt)+-Vt*Qt*lt)+-Vt*(wt*(1+re)*gn+Ve*(1+3*re)*Qt)*C(Re/P($e))),zt]}(q?kt:Mt,q?Mt:kt),W=$[0],ae=$[1],_e=m(ae);return q&&(W=-v-W),[ct*(T(u(W)*_e,-u(ae))+d),vt*C(m(W)*_e)]},Pn.invert=function(et,rt){var ct,vt,Mt,kt,q,$,W=(y-1)/(y+1),ae=P(1-W*W),_e=(vt=-et,Mt=ae*ae,(ct=.5*tn(v,ae*ae)-rt)?(kt=hr(ct,Mt),vt?($=(q=hr(vt,1-Mt))[1]*q[1]+Mt*kt[0]*kt[0]*q[0]*q[0],[[kt[0]*q[2]/$,kt[1]*kt[2]*q[0]*q[1]/$],[kt[1]*q[1]/$,-kt[0]*kt[2]*q[0]*q[2]/$],[kt[2]*q[1]*q[2]/$,-Mt*kt[0]*kt[1]*q[0]/$]]):[[kt[0],0],[kt[1],0],[kt[2],0]]):[[0,(q=hr(vt,1-Mt))[0]/q[1]],[1/q[1],0],[q[2]/q[1],0]]),Re=function(He,Xe){var at=Xe[0]*Xe[0]+Xe[1]*Xe[1];return[(He[0]*Xe[0]+He[1]*Xe[1])/at,(He[1]*Xe[0]-He[0]*Xe[1])/at]}(_e[0],_e[1]);return[T(Re[1],Re[0])/-1,2*s(f(-.5*t(W*Re[0]*Re[0]+W*Re[1]*Re[1])))-v]};var Jt=e(7613);function un(et){var rt=u(et),ct=m(et),vt=Rn(et);function Mt(kt,q){var $=vt(kt,q);kt=$[0],q=$[1];var W=u(q),ae=m(q),_e=m(kt),Re=L(rt*W+ct*ae*_e),He=u(Re),Xe=w(He)>c?Re/He:1;return[Xe*ct*u(kt),(w(kt)>v?Xe:-Xe)*(rt*ae-ct*W*_e)]}return vt.invert=Rn(-et),Mt.invert=function(kt,q){var $=P(kt*kt+q*q),W=-u($),ae=m($),_e=$*ae,Re=-q*W,He=$*rt,Xe=P(_e*_e+Re*Re-He*He),at=T(_e*He+Re*Xe,Re*He-_e*Xe),wt=($>v?-1:1)*T(kt*W,$*m(at)*ae+q*u(at)*W);return vt.invert(wt,at)},Mt}function Rn(et){var rt=u(et),ct=m(et);return function(vt,Mt){var kt=m(Mt),q=m(vt)*kt,$=u(vt)*kt,W=u(Mt);return[T($,q*ct-W*rt),C(W*ct+q*rt)]}}function On(){var et=0,rt=(0,_.r)(un),ct=rt(et),vt=ct.rotate,Mt=ct.stream,kt=(0,Jt.Z)();return ct.parallel=function(q){if(!arguments.length)return et*M;var $=ct.rotate();return rt(et=q*A).rotate($)},ct.rotate=function(q){return arguments.length?(vt.call(ct,[q[0],q[1]-et*M]),kt.center([-q[0],-q[1]]),ct):((q=vt.call(ct))[1]+=et*M,q)},ct.stream=function(q){return(q=Mt(q)).sphere=function(){q.polygonStart();var $,W=kt.radius(89.99)().coordinates[0],ae=W.length-1,_e=-1;for(q.lineStart();++_e=0;)q.point(($=W[_e])[0],$[1]);q.lineEnd(),q.polygonEnd()},q},ct.scale(79.4187).parallel(45).clipAngle(179.999)}var Sn=e(33064),pn=e(72736),bn=C(1-1/3)*M,dn=nt(0);function vn(et){var rt=bn*A,ct=It(d,rt)[0]-It(-d,rt)[0],vt=dn(0,rt)[1],Mt=It(0,rt)[1],kt=k-Mt,q=h/et,$=4/h,W=vt+kt*kt*4/h;function ae(_e,Re){var He,Xe=w(Re);if(Xe>rt){var at=r(et-1,a(0,l((_e+d)/q)));(He=It(_e+=d*(et-1)/et-at*q,Xe))[0]=He[0]*h/ct-h*(et-1)/(2*et)+at*h/et,He[1]=vt+4*(He[1]-Mt)*kt/h,Re<0&&(He[1]=-He[1])}else He=dn(_e,Re);return He[0]*=$,He[1]/=W,He}return ae.invert=function(_e,Re){_e/=$;var He=w(Re*=W);if(He>vt){var Xe=r(et-1,a(0,l((_e+d)/q)));_e=(_e+d*(et-1)/et-Xe*q)*ct/h;var at=It.invert(_e,.25*(He-vt)*h/kt+Mt);return at[0]-=d*(et-1)/et-Xe*q,Re<0&&(at[1]=-at[1]),at}return dn.invert(_e,Re)},ae}function An(et,rt){return[et,1&rt?89.999999:bn]}function Bn(et,rt){return[et,1&rt?-89.999999:-bn]}function Xn(et){return[.999999*et[0],et[1]]}function er(){var et=4,rt=(0,_.r)(vn),ct=rt(et),vt=ct.stream;return ct.lobes=function(Mt){return arguments.length?rt(et=+Mt):et},ct.stream=function(Mt){var kt=ct.rotate(),q=vt(Mt),$=(ct.rotate([0,0]),vt(Mt));return ct.rotate(kt),q.sphere=function(){var W,ae;(0,pn.Z)((W=180/et,ae=[].concat((0,Sn.w6)(-180,180+W/2,W).map(An),(0,Sn.w6)(180,-180-W/2,-W).map(Bn)),{type:"Polygon",coordinates:[W===180?ae.map(Xn):ae]}),$)},q},ct.scale(239.75)}function Jn(et){var rt,ct=1+et,vt=C(u(1/ct)),Mt=2*P(d/(rt=d+4*vt*ct)),kt=.5*Mt*(ct+P(et*(2+et))),q=et*et,$=ct*ct;function W(ae,_e){var Re,He,Xe=1-u(_e);if(Xe&&Xe<2){var at,wt=v-_e,At=25;do{var re=u(wt),ve=m(wt),Le=vt+T(re,ct-ve),Fe=1+$-2*ct*ve;wt-=at=(wt-q*vt-ct*re+Fe*Le-.5*Xe*rt)/(2*ct*re*Le)}while(w(at)>x&&--At>0);Re=Mt*P(Fe),He=ae*Le/d}else Re=Mt*(et+Xe),He=ae*vt/d;return[Re*u(He),kt-Re*m(He)]}return W.invert=function(ae,_e){var Re=ae*ae+(_e-=kt)*_e,He=(1+$-Re/(Mt*Mt))/(2*ct),Xe=L(He),at=u(Xe),wt=vt+T(at,ct-He);return[C(ae/P(Re))*d/wt,C(1-2*(Xe-q*vt-ct*at+(1+$-2*ct*He)*wt)/rt)]},W}function lr(){var et=1,rt=(0,_.r)(Jn),ct=rt(et);return ct.ratio=function(vt){return arguments.length?rt(et=+vt):et},ct.scale(167.774).center([0,18.67])}var sr=.7109889596207567,fr=.0528035274542;function cr(et,rt){return rt>-sr?((et=Me(et,rt))[1]+=fr,et):Ue(et,rt)}function vr(){return(0,_.Z)(cr).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function Sr(et,rt){return w(rt)>sr?((et=Me(et,rt))[1]-=rt>0?fr:-fr,et):Ue(et,rt)}function Mr(){return(0,_.Z)(Sr).scale(152.63)}function Lr(et,rt,ct,vt){var Mt=P(4*d/(2*ct+(1+et-rt/2)*u(2*ct)+(et+rt)/2*u(4*ct)+rt/2*u(6*ct))),kt=P(vt*u(ct)*P((1+et*m(2*ct)+rt*m(4*ct))/(1+et+rt))),q=ct*W(1);function $(Re){return P(1+et*m(2*Re)+rt*m(4*Re))}function W(Re){var He=Re*ct;return(2*He+(1+et-rt/2)*u(2*He)+(et+rt)/2*u(4*He)+rt/2*u(6*He))/ct}function ae(Re){return $(Re)*u(Re)}var _e=function(Re,He){var Xe=ct*de(W,q*u(He)/ct,He/d);isNaN(Xe)&&(Xe=ct*i(He));var at=Mt*$(Xe);return[at*kt*Re/d*m(Xe),at/kt*u(Xe)]};return _e.invert=function(Re,He){var Xe=de(ae,He*kt/Mt);return[Re*d/(m(Xe)*Mt*kt*$(Xe)),C(ct*W(Xe/ct)/q)]},ct===0&&(Mt=P(vt/d),(_e=function(Re,He){return[Re*Mt,u(He)/Mt]}).invert=function(Re,He){return[Re/Mt,C(He*Mt)]}),_e}function pr(){var et=1,rt=0,ct=45*A,vt=2,Mt=(0,_.r)(Lr),kt=Mt(et,rt,ct,vt);return kt.a=function(q){return arguments.length?Mt(et=+q,rt,ct,vt):et},kt.b=function(q){return arguments.length?Mt(et,rt=+q,ct,vt):rt},kt.psiMax=function(q){return arguments.length?Mt(et,rt,ct=+q*A,vt):ct*M},kt.ratio=function(q){return arguments.length?Mt(et,rt,ct,vt=+q):vt},kt.scale(180.739)}function Pr(et,rt,ct,vt,Mt,kt,q,$,W,ae,_e){if(_e.nanEncountered)return NaN;var Re,He,Xe,at,wt,At,re,ve,Le,Fe;if(He=et(rt+.25*(Re=ct-rt)),Xe=et(ct-.25*Re),isNaN(He))_e.nanEncountered=!0;else{if(!isNaN(Xe))return Fe=((At=(at=Re*(vt+4*He+Mt)/12)+(wt=Re*(Mt+4*Xe+kt)/12))-q)/15,ae>W?(_e.maxDepthCount++,At+Fe):Math.abs(Fe)<$?At+Fe:(ve=Pr(et,rt,re=rt+.5*Re,vt,He,Mt,at,.5*$,W,ae+1,_e),isNaN(ve)?(_e.nanEncountered=!0,NaN):(Le=Pr(et,re,ct,Mt,Xe,kt,wt,.5*$,W,ae+1,_e),isNaN(Le)?(_e.nanEncountered=!0,NaN):ve+Le));_e.nanEncountered=!0}}function Hr(et,rt,ct,vt,Mt){vt===void 0&&(vt=1e-8),Mt===void 0&&(Mt=20);var kt=et(rt),q=et(.5*(rt+ct)),$=et(ct);return Pr(et,rt,ct,kt,q,$,(kt+4*q+$)*(ct-rt)/6,vt,Mt,1,{maxDepthCount:0,nanEncountered:!1})}function ci(et,rt,ct){function vt(Xe){return et+(1-et)*n(1-n(Xe,rt),1/rt)}function Mt(Xe){return Hr(vt,0,Xe,1e-4)}for(var kt=1/Mt(1),q=1e3,$=1.00000001*kt,W=[],ae=0;ae<=q;ae++)W.push(Mt(ae/q)*$);function _e(Xe){var at=0,wt=q,At=500;do W[At]>Xe?wt=At:at=At,At=at+wt>>1;while(At>at);var re=W[At+1]-W[At];return re&&(re=(Xe-W[At+1])/re),(At+1+re)/q}var Re=2*_e(1)/d*kt/ct,He=function(Xe,at){var wt=_e(w(u(at))),At=vt(wt)*Xe;return wt/=Re,[At,at>=0?wt:-wt]};return He.invert=function(Xe,at){var wt;return w(at*=Re)<1&&(wt=i(at)*C(Mt(w(at))*kt)),[Xe/vt(w(at)),wt]},He}function Ti(){var et=0,rt=2.5,ct=1.183136,vt=(0,_.r)(ci),Mt=vt(et,rt,ct);return Mt.alpha=function(kt){return arguments.length?vt(et=+kt,rt,ct):et},Mt.k=function(kt){return arguments.length?vt(et,rt=+kt,ct):rt},Mt.gamma=function(kt){return arguments.length?vt(et,rt,ct=+kt):ct},Mt.scale(152.63)}function Mi(et,rt){return w(et[0]-rt[0])=0;--$)ct=(rt=et[1][$])[0][0],vt=rt[0][1],Mt=rt[1][1],kt=rt[2][0],q=rt[2][1],W.push(fa([[kt-c,q-c],[kt-c,Mt+c],[ct+c,Mt+c],[ct+c,vt-c]],30));return{type:"Polygon",coordinates:[(0,Sn.TS)(W)]}}function xi(et,rt,ct){var vt,Mt;function kt(W,ae){for(var _e=ae<0?-1:1,Re=rt[+(ae<0)],He=0,Xe=Re.length-1;HeRe[He][2][0];++He);var at=et(W-Re[He][1][0],ae);return at[0]+=et(Re[He][1][0],_e*ae>_e*Re[He][0][1]?Re[He][0][1]:ae)[0],at}ct?kt.invert=ct(kt):et.invert&&(kt.invert=function(W,ae){for(var _e=Mt[+(ae<0)],Re=rt[+(ae<0)],He=0,Xe=_e.length;Hewt&&(Re=at,at=wt,wt=Re),[[He,at],[Xe,wt]]})}),q):rt.map(function(ae){return ae.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]]})})},rt!=null&&q.lobes(rt),q}cr.invert=function(et,rt){return rt>-sr?Me.invert(et,rt-fr):Ue.invert(et,rt)},Sr.invert=function(et,rt){return w(rt)>sr?Me.invert(et,rt+(rt>0?fr:-fr)):Ue.invert(et,rt)};var Oa=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function Ka(){return xi(me,Oa).scale(160.857)}var Yo=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function Ys(){return xi(Sr,Yo).scale(152.63)}var Uu=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function pu(){return xi(Me,Uu).scale(169.529)}var Xs=[[[[-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 Qa(){return xi(Me,Xs).scale(169.529).rotate([20,0])}var du=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function Qi(){return xi(cr,du,he).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var ml=[[[[-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 qa(){return xi(Ue,ml).scale(152.63).rotate([-20,0])}function eo(et,rt){return[3/h*et*P(d*d/3-rt*rt),rt]}function fs(){return(0,_.Z)(eo).scale(158.837)}function fi(et){function rt(ct,vt){if(w(w(vt)-v)2)return null;var kt=(ct/=2)*ct,q=(vt/=2)*vt,$=2*vt/(1+kt+q);return $=n((1+$)/(1-$),1/et),[T(2*ct,1-kt-q)/et,C(($-1)/($+1))]},rt}function hs(){var et=.5,rt=(0,_.r)(fi),ct=rt(et);return ct.spacing=function(vt){return arguments.length?rt(et=+vt):et},ct.scale(124.75)}eo.invert=function(et,rt){return[h/3*et/P(d*d/3-rt*rt),rt]};var ao=d/y;function bo(et,rt){return[et*(1+P(m(rt)))/2,rt/(m(rt/2)*m(et/6))]}function Ro(){return(0,_.Z)(bo).scale(97.2672)}function yl(et,rt){var ct=et*et,vt=rt*rt;return[et*(.975534+vt*(-.0143059*ct-.119161+-.0547009*vt)),rt*(1.00384+ct*(.0802894+-.02855*vt+199025e-9*ct)+vt*(.0998909+-.0491032*vt))]}function Vu(){return(0,_.Z)(yl).scale(139.98)}function Xo(et,rt){return[u(et)/m(rt),p(rt)*m(et)]}function Hu(){return(0,_.Z)(Xo).scale(144.049).clipAngle(89.999)}function qu(et){var rt=m(et),ct=p(b+et/2);function vt(Mt,kt){var q=kt-et,$=w(q)=0;)He=(Re=et[_e])[0]+W*(kt=He)-ae*Xe,Xe=Re[1]+W*Xe+ae*kt;return[He=W*(kt=He)-ae*Xe,Xe=W*Xe+ae*kt]}return ct.invert=function(vt,Mt){var kt=20,q=vt,$=Mt;do{for(var W,ae=rt,_e=et[ae],Re=_e[0],He=_e[1],Xe=0,at=0;--ae>=0;)Xe=Re+q*(W=Xe)-$*at,at=He+q*at+$*W,Re=(_e=et[ae])[0]+q*(W=Re)-$*He,He=_e[1]+q*He+$*W;var wt,At,re=(Xe=Re+q*(W=Xe)-$*at)*Xe+(at=He+q*at+$*W)*at;q-=wt=((Re=q*(W=Re)-$*He-vt)*Xe+(He=q*He+$*W-Mt)*at)/re,$-=At=(He*Xe-Re*at)/re}while(w(wt)+w(At)>1e-12&&--kt>0);if(kt){var ve=P(q*q+$*$),Le=2*s(.5*ve),Fe=u(Le);return[T(q*Fe,ve*m(Le)),ve?C($*Fe/ve):0]}},ct}bo.invert=function(et,rt){var ct=w(et),vt=w(rt),Mt=c,kt=v;vtc||w(At)>c)&&--Mt>0);return Mt&&[ct,vt]},Xo.invert=function(et,rt){var ct=et*et,vt=rt*rt+1,Mt=ct+vt,kt=et?g*P((Mt-P(Mt*Mt-4*ct))/ct):1/P(vt);return[C(et*kt),i(rt)*L(kt)]},gu.invert=function(et,rt){return[et,2.5*s(f(.8*rt))-.625*d]};var $o=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],Jo=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],$s=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Ko=[[.9245,0],[0,0],[.01943,0]],mu=[[.721316,0],[0,0],[-.00881625,-.00617325]];function yu(){return Ps($o,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function Ls(){return Ps(Jo,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Ul(){return Ps($s,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function ps(){return Ps(Ko,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function Js(){return Ps(mu,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Ps(et,rt){var ct=(0,_.Z)(vu(et)).rotate(rt).clipAngle(90),vt=(0,st.Z)(rt),Mt=ct.center;return delete ct.rotate,ct.center=function(kt){return arguments.length?Mt(vt(kt)):vt.invert(Mt())},ct}var Qo=P(6),hi=P(7);function ds(et,rt){var ct=C(7*u(rt)/(3*Qo));return[Qo*et*(2*m(2*ct/3)-1)/hi,9*u(ct/3)/hi]}function Sc(){return(0,_.Z)(ds).scale(164.859)}function Vl(et,rt){for(var ct,vt=(1+g)*u(rt),Mt=rt,kt=0;kt<25&&(Mt-=ct=(u(Mt/2)+u(Mt)-vt)/(.5*m(Mt/2)+m(Mt)),!(w(ct)x&&--$>0);return[et/(.84719-.13063*(vt=q*q)+(kt=vt*(Mt=vt*vt))*kt*(.05494*vt-.04515-.02326*Mt+.00331*kt)),q]},Qs.invert=function(et,rt){for(var ct=rt/2,vt=0,Mt=1/0;vt<10&&w(Mt)>c;++vt){var kt=m(rt/2);rt-=Mt=(rt-p(rt/2)-ct)/(1-.5/(kt*kt))}return[2*et/(1+m(rt)),rt]};var Is=[[[[-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 Rs(){return xi(ce(1/0),Is).rotate([20,0]).scale(152.63)}function el(et,rt){var ct=u(rt),vt=m(rt),Mt=i(et);if(et===0||w(rt)===v)return[0,rt];if(rt===0)return[et,0];if(w(et)===v)return[et*vt,v*ct];var kt=d/(2*et)-2*et/d,q=2*rt/d,$=(1-q*q)/(ct-q),W=kt*kt,ae=$*$,_e=1+W/ae,Re=1+ae/W,He=(kt*ct/$-kt/2)/_e,Xe=(ae*ct/W+$/2)/Re,at=Xe*Xe-(ae*ct*ct/W+$*ct-1)/Re;return[v*(He+P(He*He+vt*vt/_e)*Mt),v*(Xe+P(at<0?0:at)*i(-rt*kt)*Mt)]}function wl(){return(0,_.Z)(el).scale(127.267)}el.invert=function(et,rt){var ct=(et/=v)*et,vt=ct+(rt/=v)*rt,Mt=d*d;return[et?(vt-1+P((1-vt)*(1-vt)+4*ct))/(2*et)*v:0,de(function(kt){return vt*(d*u(kt)-2*kt)*d+4*kt*kt*(rt-u(kt))+2*d*kt-Mt*rt},0)]};var Tl=1.0148,so=.23185,kl=-.14499,Al=.02406,bu=1.790857183;function gs(et,rt){var ct=rt*rt;return[et,rt*(Tl+ct*ct*(so+ct*(kl+Al*ct)))]}function Hl(){return(0,_.Z)(gs).scale(139.319)}function Ml(et,rt){if(w(rt)bu?rt=bu:rt<-1.790857183&&(rt=-1.790857183);var ct,vt=rt;do{var Mt=vt*vt;vt-=ct=(vt*(Tl+Mt*Mt*(so+Mt*(kl+Al*Mt)))-rt)/(1.0148+Mt*Mt*(1.1592500000000001+Mt*(.21654*Mt-1.01493)))}while(w(ct)>c);return[et,vt]},Ml.invert=function(et,rt){if(w(rt)c&&--kt>0);return q=p(Mt),[(w(rt)=0;)if(tt=We[Ut],$e[0]===tt[0]&&$e[1]===tt[1]){if(gt)return[gt,$e];gt=$e}}}(W.face,ae.face),Re=(wt=_e.map(ae.project),At=_e.map(W.project),re=Ds(wt[1],wt[0]),ve=Ds(At[1],At[0]),Le=function(Ve,We){return T(Ve[0]*We[1]-Ve[1]*We[0],Ve[0]*We[0]+Ve[1]*We[1])}(re,ve),Fe=bi(re)/bi(ve),zs([1,0,wt[0][0],0,1,wt[0][1]],zs([Fe,0,0,0,Fe,0],zs([m(Le),u(Le),0,-u(Le),m(Le),0],[1,0,-At[0][0],0,1,-At[0][1]]))));W.transform=ae.transform?zs(ae.transform,Re):Re;for(var He=ae.edges,Xe=0,at=He.length;Xe0?[-vt[0],0]:[180-vt[0],180])};var rt=zo.map(function(ct){return{face:ct,project:et(ct)}});return[-1,0,0,1,0,1,4,5].forEach(function(ct,vt){var Mt=rt[ct];Mt&&(Mt.children||(Mt.children=[])).push(rt[vt])}),vs(rt[0],function(ct,vt){return rt[ct<-d/2?vt<0?6:4:ct<0?vt<0?2:0:ctW^ve>W&&$<(re-at)*(W-wt)/(ve-wt)+at&&(ae=!ae)}return ae}(Mt[0],vt))return Mt.push(ct),!0})||et.push([ct])}),Ia=[],et.length?et.length>1?{type:"MultiPolygon",coordinates:et}:{type:"Polygon",coordinates:et[0]}:null}};function Ga(et){var rt=et(v,0)[0]-et(-v,0)[0];function ct(vt,Mt){var kt=w(vt)0?vt-d:vt+d,Mt),$=(q[0]-q[1])*g,W=(q[0]+q[1])*g;if(kt)return[$,W];var ae=rt*g,_e=$>0^W>0?-1:1;return[_e*$-i(W)*ae,_e*W-i($)*ae]}return et.invert&&(ct.invert=function(vt,Mt){var kt=(vt+Mt)*g,q=(Mt-vt)*g,$=w(kt)<.5*rt&&w(q)<.5*rt;if(!$){var W=rt*g,ae=kt>0^q>0?-1:1,_e=-ae*vt+(q>0?1:-1)*W,Re=-ae*Mt+(kt>0?1:-1)*W;kt=(-_e-Re)*g,q=(_e-Re)*g}var He=et.invert(kt,q);return $||(He[0]+=kt>0?d:-d),He}),(0,_.Z)(ct).rotate([-90,-90,45]).clipAngle(179.999)}function Gl(){return Ga(Zn).scale(176.423)}function Wl(){return Ga(Pn).scale(111.48)}function Sa(et,rt){if(!(0<=(rt=+rt)&&rt<=20))throw new Error("invalid digits");function ct(ae){var _e=ae.length,Re=2,He=new Array(_e);for(He[0]=+ae[0].toFixed(rt),He[1]=+ae[1].toFixed(rt);Re<_e;)He[Re]=ae[Re],++Re;return He}function vt(ae){return ae.map(ct)}function Mt(ae){for(var _e=ct(ae[0]),Re=[_e],He=1;He2||Xe[0]!=_e[0]||Xe[1]!=_e[1])&&(Re.push(Xe),_e=Xe)}return Re.length===1&&ae.length>1&&Re.push(ct(ae[ae.length-1])),Re}function kt(ae){return ae.map(Mt)}function q(ae){if(ae==null)return ae;var _e;switch(ae.type){case"GeometryCollection":_e={type:"GeometryCollection",geometries:ae.geometries.map(q)};break;case"Point":_e={type:"Point",coordinates:ct(ae.coordinates)};break;case"MultiPoint":_e={type:ae.type,coordinates:vt(ae.coordinates)};break;case"LineString":_e={type:ae.type,coordinates:Mt(ae.coordinates)};break;case"MultiLineString":case"Polygon":_e={type:ae.type,coordinates:kt(ae.coordinates)};break;case"MultiPolygon":_e={type:"MultiPolygon",coordinates:ae.coordinates.map(kt)};break;default:return ae}return ae.bbox!=null&&(_e.bbox=ae.bbox),_e}function $(ae){var _e={type:"Feature",properties:ae.properties,geometry:q(ae.geometry)};return ae.id!=null&&(_e.id=ae.id),ae.bbox!=null&&(_e.bbox=ae.bbox),_e}if(et!=null)switch(et.type){case"Feature":return $(et);case"FeatureCollection":var W={type:"FeatureCollection",features:et.features.map($)};return et.bbox!=null&&(W.bbox=et.bbox),W;default:return q(et)}return et}function Cr(et){var rt=u(et);function ct(vt,Mt){var kt=rt?p(vt*rt/2)/rt:vt/2;if(!Mt)return[2*kt,-et];var q=2*s(kt*u(Mt)),$=1/p(Mt);return[u(q)*$,Mt+(1-m(q))*$-et]}return ct.invert=function(vt,Mt){if(w(Mt+=et)c&&--W>0);var He=vt*(ae=p($)),Xe=p(w(Mt)0?v:-v)*(ae+kt*(Re-$)/2+kt*kt*(Re-2*ae+$)/2)]}function nl(){return(0,_.Z)(Zl).scale(152.63)}function rl(et,rt){var ct=function(q){function $(W,ae){var _e=m(ae),Re=(q-1)/(q-_e*m(W));return[Re*_e*u(W),Re*u(ae)]}return $.invert=function(W,ae){var _e=W*W+ae*ae,Re=P(_e),He=(q-P(1-_e*(q+1)/(q-1)))/((q-1)/Re+Re/(q-1));return[T(W*He,Re*P(1-He*He)),Re?C(ae*He/Re):0]},$}(et);if(!rt)return ct;var vt=m(rt),Mt=u(rt);function kt(q,$){var W=ct(q,$),ae=W[1],_e=ae*Mt/(et-1)+vt;return[W[0]*vt/_e,ae/_e]}return kt.invert=function(q,$){var W=(et-1)/(et-1-$*Mt);return ct.invert(W*q,W*$*vt)},kt}function il(){var et=2,rt=0,ct=(0,_.r)(rl),vt=ct(et,rt);return vt.distance=function(Mt){return arguments.length?ct(et=+Mt,rt):et},vt.tilt=function(Mt){return arguments.length?ct(et,rt=Mt*A):rt*M},vt.scale(432.147).clipAngle(L(1/et)*M-1e-6)}Ra.forEach(function(et){et[1]*=1.0144}),Zl.invert=function(et,rt){var ct=rt/v,vt=90*ct,Mt=r(18,w(vt/5)),kt=a(0,l(Mt));do{var q=Ra[kt][1],$=Ra[kt+1][1],W=Ra[r(19,kt+2)][1],ae=W-q,_e=W-2*$+q,Re=2*(w(ct)-$)/ae,He=_e/ae,Xe=Re*(1-He*Re*(1-2*He*Re));if(Xe>=0||kt===1){vt=(rt>=0?5:-5)*(Xe+Mt);var at,wt=50;do Xe=(Mt=r(18,w(vt)/5))-(kt=l(Mt)),q=Ra[kt][1],$=Ra[kt+1][1],W=Ra[r(19,kt+2)][1],vt-=(at=(rt>=0?v:-v)*($+Xe*(W-q)/2+Xe*Xe*(W-2*$+q)/2)-rt)*M;while(w(at)>x&&--wt>0);break}}while(--kt>=0);var At=Ra[kt][0],re=Ra[kt+1][0],ve=Ra[r(19,kt+2)][0];return[et/(re+Xe*(ve-At)/2+Xe*Xe*(ve-2*re+At)/2),vt*A]};var Or=-179.9999,al=179.9999,uo=-89.9999,Yl=89.9999;function El(et){return et.length>0}function ya(et){return et===-90||et===90?[0,et]:[-180,(rt=et,Math.floor(1e4*rt)/1e4)];var rt}function Vs(et){var rt=et[0],ct=et[1],vt=!1;return rt<=Or?(rt=-180,vt=!0):rt>=al&&(rt=180,vt=!0),ct<=uo?(ct=-90,vt=!0):ct>=Yl&&(ct=90,vt=!0),vt?[rt,ct]:et}function ns(et){return et.map(Vs)}function Wa(et,rt,ct){for(var vt=0,Mt=et.length;vt=al||_e<=uo||_e>=Yl){kt[q]=Vs(W);for(var Re=q+1;Re<$;++Re){var He=kt[Re],Xe=He[0],at=He[1];if(Xe>Or&&Xeuo&&at=$)break;ct.push({index:-1,polygon:rt,ring:kt=kt.slice(Re-1)}),kt[0]=ya(kt[0][1]),q=-1,$=kt.length}}}}function xs(et){var rt,ct,vt,Mt,kt,q,$=et.length,W={},ae={};for(rt=0;rt<$;++rt)vt=(ct=et[rt]).ring[0],kt=ct.ring[ct.ring.length-1],vt[0]!==kt[0]||vt[1]!==kt[1]?(ct.index=rt,W[vt]=ae[kt]=ct):(ct.polygon.push(ct.ring),et[rt]=null);for(rt=0;rt<$;++rt)if(ct=et[rt]){if(vt=ct.ring[0],kt=ct.ring[ct.ring.length-1],Mt=ae[vt],q=W[kt],delete W[vt],delete ae[kt],vt[0]===kt[0]&&vt[1]===kt[1]){ct.polygon.push(ct.ring);continue}Mt?(delete ae[vt],delete W[Mt.ring[0]],Mt.ring.pop(),et[Mt.index]=null,ct={index:-1,polygon:Mt.polygon,ring:Mt.ring.concat(ct.ring)},Mt===q?ct.polygon.push(ct.ring):(ct.index=$++,et.push(W[ct.ring[0]]=ae[ct.ring[ct.ring.length-1]]=ct))):q?(delete W[kt],delete ae[q.ring[q.ring.length-1]],ct.ring.pop(),ct={index:$++,polygon:q.polygon,ring:ct.ring.concat(q.ring)},et[q.index]=null,et.push(W[ct.ring[0]]=ae[ct.ring[ct.ring.length-1]]=ct)):(ct.ring.push(ct.ring[0]),ct.polygon.push(ct.ring))}}function _o(et){var rt={type:"Feature",geometry:co(et.geometry)};return et.id!=null&&(rt.id=et.id),et.bbox!=null&&(rt.bbox=et.bbox),et.properties!=null&&(rt.properties=et.properties),rt}function co(et){if(et==null)return et;var rt,ct,vt,Mt;switch(et.type){case"GeometryCollection":rt={type:"GeometryCollection",geometries:et.geometries.map(co)};break;case"Point":rt={type:"Point",coordinates:Vs(et.coordinates)};break;case"MultiPoint":case"LineString":rt={type:et.type,coordinates:ns(et.coordinates)};break;case"MultiLineString":rt={type:"MultiLineString",coordinates:et.coordinates.map(ns)};break;case"Polygon":var kt=[];Wa(et.coordinates,kt,ct=[]),xs(ct),rt={type:"Polygon",coordinates:kt};break;case"MultiPolygon":ct=[],vt=-1,Mt=et.coordinates.length;for(var q=new Array(Mt);++vt0?d-$:$)*M],ae=(0,_.Z)(et(q)).rotate(W),_e=(0,st.Z)(W),Re=ae.center;return delete ae.rotate,ae.center=function(He){return arguments.length?Re(_e(He)):_e.invert(Re())},ae.clipAngle(90)}function Cl(et){var rt=m(et);function ct(vt,Mt){var kt=(0,li.M)(vt,Mt);return kt[0]*=rt,kt}return ct.invert=function(vt,Mt){return li.M.invert(vt/rt,Mt)},ct}function to(){return ho([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function ho(et,rt){return vi(Cl,et,rt)}function Fo(et){if(!(et*=2))return te.N;var rt=-et/2,ct=-rt,vt=et*et,Mt=p(ct),kt=.5/u(ct);function q($,W){var ae=L(m(W)*m($-rt)),_e=L(m(W)*m($-ct));return[((ae*=ae)-(_e*=_e))/(2*et),(W<0?-1:1)*P(4*vt*_e-(vt-ae+_e)*(vt-ae+_e))/(2*et)]}return q.invert=function($,W){var ae,_e,Re=W*W,He=m(P(Re+(ae=$+rt)*ae)),Xe=m(P(Re+(ae=$+ct)*ae));return[T(_e=He-Xe,ae=(He+Xe)*Mt),(W<0?-1:1)*L(P(ae*ae+_e*_e)*kt)]},q}function za(){return di([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function di(et,rt){return vi(Fo,et,rt)}function oa(et,rt){if(w(rt)c&&--$>0);return[i(et)*(P(Mt*Mt+4)+Mt)*d/4,v*q]};var is=4*d+3*P(3),To=2*P(2*d*P(3)/is),_a=Ae(To*P(3)/d,To,is/6);function Xl(){return(0,_.Z)(_a).scale(176.84)}function Fa(et,rt){return[et*P(1-3*rt*rt/(d*d)),rt]}function sl(){return(0,_.Z)(Fa).scale(152.63)}function as(et,rt){var ct=m(rt),vt=m(et)*ct,Mt=1-vt,kt=m(et=T(u(et)*ct,-u(rt))),q=u(et);return[q*(ct=P(1-vt*vt))-kt*Mt,-kt*ct-q*Mt]}function _i(){return(0,_.Z)(as).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)}function Si(et,rt){var ct=G(et,rt);return[(ct[0]+et/v)/2,(ct[1]+rt)/2]}function $l(){return(0,_.Z)(Si).scale(158.837)}Fa.invert=function(et,rt){return[et/P(1-3*rt*rt/(d*d)),rt]},as.invert=function(et,rt){var ct=(et*et+rt*rt)/-2,vt=P(-ct*(2+ct)),Mt=rt*ct+et*vt,kt=et*ct-rt*vt,q=P(kt*kt+Mt*Mt);return[T(vt*Mt,q*(1+ct)),q?-C(vt*kt/q):0]},Si.invert=function(et,rt){var ct=et,vt=rt,Mt=25;do{var kt,q=m(vt),$=u(vt),W=u(2*vt),ae=$*$,_e=q*q,Re=u(ct),He=m(ct/2),Xe=u(ct/2),at=Xe*Xe,wt=1-_e*He*He,At=wt?L(q*He)*P(kt=1/wt):kt=0,re=.5*(2*At*q*Xe+ct/v)-et,ve=.5*(At*$+vt)-rt,Le=.5*kt*(_e*at+At*q*He*ae)+.5/v,Fe=kt*(Re*W/4-At*$*Xe),Ve=.125*kt*(W*Xe-At*$*_e*Re),We=.5*kt*(ae*He+At*at*q)+.5,$e=Fe*Ve-We*Le,tt=(ve*Fe-re*We)/$e,lt=(re*Ve-ve*Le)/$e;ct-=tt,vt-=lt}while((w(tt)>c||w(lt)>c)&&--Mt>0);return[ct,vt]}},33940:function(D,E,e){function _(){return new w}function w(){this.reset()}e.d(E,{Z:function(){return _}}),w.prototype={constructor:w,reset:function(){this.s=this.t=0},add:function(m){T(s,m,this.t),T(this,s.s,this.s),this.s?this.t+=s.t:this.s=s.t},valueOf:function(){return this.s}};var s=new w;function T(m,f,l){var t=m.s=f+l,a=t-f,r=t-a;m.t=f-r+(l-a)}},97860:function(D,E,e){e.d(E,{L9:function(){return r},ZP:function(){return x},gL:function(){return o}});var _,w,s,T,m,f=e(33940),l=e(39695),t=e(73182),a=e(72736),r=(0,f.Z)(),n=(0,f.Z)(),o={point:t.Z,lineStart:t.Z,lineEnd:t.Z,polygonStart:function(){r.reset(),o.lineStart=i,o.lineEnd=u},polygonEnd:function(){var d=+r;n.add(d<0?l.BZ+d:d),this.lineStart=this.lineEnd=this.point=t.Z},sphere:function(){n.add(l.BZ)}};function i(){o.point=p}function u(){c(_,w)}function p(d,v){o.point=c,_=d,w=v,d*=l.uR,v*=l.uR,s=d,T=(0,l.mC)(v=v/2+l.pu),m=(0,l.O$)(v)}function c(d,v){d*=l.uR,v=(v*=l.uR)/2+l.pu;var b=d-s,g=b>=0?1:-1,y=g*b,k=(0,l.mC)(v),h=(0,l.O$)(v),M=m*h,A=T*k+M*(0,l.mC)(y),C=M*g*(0,l.O$)(y);r.add((0,l.fv)(C,A)),s=d,T=k,m=h}function x(d){return n.reset(),(0,a.Z)(d,o),2*n}},77338:function(D,E,e){e.d(E,{Z:function(){return L}});var _,w,s,T,m,f,l,t,a,r,n=e(33940),o=e(97860),i=e(7620),u=e(39695),p=e(72736),c=(0,n.Z)(),x={point:d,lineStart:b,lineEnd:g,polygonStart:function(){x.point=y,x.lineStart=k,x.lineEnd=h,c.reset(),o.gL.polygonStart()},polygonEnd:function(){o.gL.polygonEnd(),x.point=d,x.lineStart=b,x.lineEnd=g,o.L9<0?(_=-(s=180),w=-(T=90)):c>u.Ho?T=90:c<-u.Ho&&(w=-90),r[0]=_,r[1]=s},sphere:function(){_=-(s=180),w=-(T=90)}};function d(P,I){a.push(r=[_=P,s=P]),IT&&(T=I)}function v(P,I){var R=(0,i.Og)([P*u.uR,I*u.uR]);if(t){var U=(0,i.T5)(t,R),B=[U[1],-U[0],0],G=(0,i.T5)(B,U);(0,i.iJ)(G),G=(0,i.Y1)(G);var N,j=P-m,V=j>0?1:-1,H=G[0]*u.RW*V,ee=(0,u.Wn)(j)>180;ee^(V*mT&&(T=N):ee^(V*m<(H=(H+360)%360-180)&&HT&&(T=I)),ee?PM(_,s)&&(s=P):M(P,s)>M(_,s)&&(_=P):s>=_?(P<_&&(_=P),P>s&&(s=P)):P>m?M(_,P)>M(_,s)&&(s=P):M(P,s)>M(_,s)&&(_=P)}else a.push(r=[_=P,s=P]);IT&&(T=I),t=R,m=P}function b(){x.point=v}function g(){r[0]=_,r[1]=s,x.point=d,t=null}function y(P,I){if(t){var R=P-m;c.add((0,u.Wn)(R)>180?R+(R>0?360:-360):R)}else f=P,l=I;o.gL.point(P,I),v(P,I)}function k(){o.gL.lineStart()}function h(){y(f,l),o.gL.lineEnd(),(0,u.Wn)(c)>u.Ho&&(_=-(s=180)),r[0]=_,r[1]=s,t=null}function M(P,I){return(I-=P)<0?I+360:I}function A(P,I){return P[0]-I[0]}function C(P,I){return P[0]<=P[1]?P[0]<=I&&I<=P[1]:IM(U[0],U[1])&&(U[1]=B[1]),M(B[0],U[1])>M(U[0],U[1])&&(U[0]=B[0])):G.push(U=B);for(N=-1/0,I=0,U=G[R=G.length-1];I<=R;U=B,++I)B=G[I],(j=M(U[1],B[0]))>N&&(N=j,_=B[0],s=U[1])}return a=r=null,_===1/0||w===1/0?[[NaN,NaN],[NaN,NaN]]:[[_,w],[s,T]]}},7620:function(D,E,e){e.d(E,{Og:function(){return s},T:function(){return l},T5:function(){return m},Y1:function(){return w},iJ:function(){return t},j9:function(){return T},s0:function(){return f}});var _=e(39695);function w(a){return[(0,_.fv)(a[1],a[0]),(0,_.ZR)(a[2])]}function s(a){var r=a[0],n=a[1],o=(0,_.mC)(n);return[o*(0,_.mC)(r),o*(0,_.O$)(r),(0,_.O$)(n)]}function T(a,r){return a[0]*r[0]+a[1]*r[1]+a[2]*r[2]}function m(a,r){return[a[1]*r[2]-a[2]*r[1],a[2]*r[0]-a[0]*r[2],a[0]*r[1]-a[1]*r[0]]}function f(a,r){a[0]+=r[0],a[1]+=r[1],a[2]+=r[2]}function l(a,r){return[a[0]*r,a[1]*r,a[2]*r]}function t(a){var r=(0,_._b)(a[0]*a[0]+a[1]*a[1]+a[2]*a[2]);a[0]/=r,a[1]/=r,a[2]/=r}},66624:function(D,E,e){e.d(E,{Z:function(){return R}});var _,w,s,T,m,f,l,t,a,r,n,o,i,u,p,c,x=e(39695),d=e(73182),v=e(72736),b={sphere:d.Z,point:g,lineStart:k,lineEnd:A,polygonStart:function(){b.lineStart=C,b.lineEnd=L},polygonEnd:function(){b.lineStart=k,b.lineEnd=A}};function g(U,B){U*=x.uR,B*=x.uR;var G=(0,x.mC)(B);y(G*(0,x.mC)(U),G*(0,x.O$)(U),(0,x.O$)(B))}function y(U,B,G){++_,s+=(U-s)/_,T+=(B-T)/_,m+=(G-m)/_}function k(){b.point=h}function h(U,B){U*=x.uR,B*=x.uR;var G=(0,x.mC)(B);u=G*(0,x.mC)(U),p=G*(0,x.O$)(U),c=(0,x.O$)(B),b.point=M,y(u,p,c)}function M(U,B){U*=x.uR,B*=x.uR;var G=(0,x.mC)(B),N=G*(0,x.mC)(U),j=G*(0,x.O$)(U),V=(0,x.O$)(B),H=(0,x.fv)((0,x._b)((H=p*V-c*j)*H+(H=c*N-u*V)*H+(H=u*j-p*N)*H),u*N+p*j+c*V);w+=H,f+=H*(u+(u=N)),l+=H*(p+(p=j)),t+=H*(c+(c=V)),y(u,p,c)}function A(){b.point=g}function C(){b.point=P}function L(){I(o,i),b.point=g}function P(U,B){o=U,i=B,U*=x.uR,B*=x.uR,b.point=I;var G=(0,x.mC)(B);u=G*(0,x.mC)(U),p=G*(0,x.O$)(U),c=(0,x.O$)(B),y(u,p,c)}function I(U,B){U*=x.uR,B*=x.uR;var G=(0,x.mC)(B),N=G*(0,x.mC)(U),j=G*(0,x.O$)(U),V=(0,x.O$)(B),H=p*V-c*j,ee=c*N-u*V,Q=u*j-p*N,X=(0,x._b)(H*H+ee*ee+Q*Q),Y=(0,x.ZR)(X),K=X&&-Y/X;a+=K*H,r+=K*ee,n+=K*Q,w+=Y,f+=Y*(u+(u=N)),l+=Y*(p+(p=j)),t+=Y*(c+(c=V)),y(u,p,c)}function R(U){_=w=s=T=m=f=l=t=a=r=n=0,(0,v.Z)(U,b);var B=a,G=r,N=n,j=B*B+G*G+N*N;return j0?oi)&&(o+=n*s.BZ));for(var x,d=o;n>0?d>i:d0?w.pi:-w.pi,n=(0,w.Wn)(t-m);(0,w.Wn)(n-w.pi)0?w.ou:-w.ou),s.point(l,f),s.lineEnd(),s.lineStart(),s.point(r,f),s.point(t,f),T=0):l!==r&&n>=w.pi&&((0,w.Wn)(m-l)w.Ho?(0,w.z4)(((0,w.O$)(i)*(x=(0,w.mC)(p))*(0,w.O$)(u)-(0,w.O$)(p)*(c=(0,w.mC)(i))*(0,w.O$)(o))/(c*x*d)):(i+p)/2}(m,f,t,a),s.point(l,f),s.lineEnd(),s.lineStart(),s.point(r,f),T=0),s.point(m=t,f=a),l=r},lineEnd:function(){s.lineEnd(),m=f=NaN},clean:function(){return 2-T}}},function(s,T,m,f){var l;if(s==null)l=m*w.ou,f.point(-w.pi,l),f.point(0,l),f.point(w.pi,l),f.point(w.pi,0),f.point(w.pi,-l),f.point(0,-l),f.point(-w.pi,-l),f.point(-w.pi,0),f.point(-w.pi,l);else if((0,w.Wn)(s[0]-T[0])>w.Ho){var t=s[0]1&&T.push(T.pop().concat(T.shift()))},result:function(){var m=T;return T=[],s=null,m}}}},1457:function(D,E,e){e.d(E,{Z:function(){return f}});var _=e(7620),w=e(7613),s=e(39695),T=e(67108),m=e(97023);function f(l){var t=(0,s.mC)(l),a=6*s.uR,r=t>0,n=(0,s.Wn)(t)>s.Ho;function o(p,c){return(0,s.mC)(p)*(0,s.mC)(c)>t}function i(p,c,x){var d=(0,_.Og)(p),v=(0,_.Og)(c),b=[1,0,0],g=(0,_.T5)(d,v),y=(0,_.j9)(g,g),k=g[0],h=y-k*k;if(!h)return!x&&p;var M=t*y/h,A=-t*k/h,C=(0,_.T5)(b,g),L=(0,_.T)(b,M),P=(0,_.T)(g,A);(0,_.s0)(L,P);var I=C,R=(0,_.j9)(L,I),U=(0,_.j9)(I,I),B=R*R-U*((0,_.j9)(L,L)-1);if(!(B<0)){var G=(0,s._b)(B),N=(0,_.T)(I,(-R-G)/U);if((0,_.s0)(N,L),N=(0,_.Y1)(N),!x)return N;var j,V=p[0],H=c[0],ee=p[1],Q=c[1];H0^N[1]<((0,s.Wn)(N[0]-V)s.pi^(V<=N[0]&&N[0]<=H)){var K=(0,_.T)(I,(-R+G)/U);return(0,_.s0)(K,L),[N,(0,_.Y1)(K)]}}}function u(p,c){var x=r?l:s.pi-l,d=0;return p<-x?d|=1:p>x&&(d|=2),c<-x?d|=4:c>x&&(d|=8),d}return(0,m.Z)(o,function(p){var c,x,d,v,b;return{lineStart:function(){v=d=!1,b=1},point:function(g,y){var k,h=[g,y],M=o(g,y),A=r?M?0:u(g,y):M?u(g+(g<0?s.pi:-s.pi),y):0;if(!c&&(v=d=M)&&p.lineStart(),M!==d&&(!(k=i(c,h))||(0,T.Z)(c,k)||(0,T.Z)(h,k))&&(h[2]=1),M!==d)b=0,M?(p.lineStart(),k=i(h,c),p.point(k[0],k[1])):(k=i(c,h),p.point(k[0],k[1],2),p.lineEnd()),c=k;else if(n&&c&&r^M){var C;A&x||!(C=i(h,c,!0))||(b=0,r?(p.lineStart(),p.point(C[0][0],C[0][1]),p.point(C[1][0],C[1][1]),p.lineEnd()):(p.point(C[1][0],C[1][1]),p.lineEnd(),p.lineStart(),p.point(C[0][0],C[0][1],3)))}!M||c&&(0,T.Z)(c,h)||p.point(h[0],h[1]),c=h,d=M,x=A},lineEnd:function(){d&&p.lineEnd(),c=null},clean:function(){return b|(v&&d)<<1}}},function(p,c,x,d){(0,w.m)(d,l,a,x,p,c)},r?[0,-l]:[-s.pi,l-s.pi])}},97023:function(D,E,e){e.d(E,{Z:function(){return f}});var _=e(85272),w=e(46225),s=e(39695),T=e(23071),m=e(33064);function f(a,r,n,o){return function(i){var u,p,c,x=r(i),d=(0,_.Z)(),v=r(d),b=!1,g={point:y,lineStart:h,lineEnd:M,polygonStart:function(){g.point=A,g.lineStart=C,g.lineEnd=L,p=[],u=[]},polygonEnd:function(){g.point=y,g.lineStart=h,g.lineEnd=M,p=(0,m.TS)(p);var P=(0,T.Z)(u,o);p.length?(b||(i.polygonStart(),b=!0),(0,w.Z)(p,t,P,n,i)):P&&(b||(i.polygonStart(),b=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),b&&(i.polygonEnd(),b=!1),p=u=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function y(P,I){a(P,I)&&i.point(P,I)}function k(P,I){x.point(P,I)}function h(){g.point=k,x.lineStart()}function M(){g.point=y,x.lineEnd()}function A(P,I){c.push([P,I]),v.point(P,I)}function C(){v.lineStart(),c=[]}function L(){A(c[0][0],c[0][1]),v.lineEnd();var P,I,R,U,B=v.clean(),G=d.result(),N=G.length;if(c.pop(),u.push(c),c=null,N)if(1&B){if((I=(R=G[0]).length-1)>0){for(b||(i.polygonStart(),b=!0),i.lineStart(),P=0;P1&&2&B&&G.push(G.pop().concat(G.shift())),p.push(G.filter(l))}return g}}function l(a){return a.length>1}function t(a,r){return((a=a.x)[0]<0?a[1]-s.ou-s.Ho:s.ou-a[1])-((r=r.x)[0]<0?r[1]-s.ou-s.Ho:s.ou-r[1])}},87605:function(D,E,e){e.d(E,{Z:function(){return l}});var _=e(39695),w=e(85272),s=e(46225),T=e(33064),m=1e9,f=-m;function l(t,a,r,n){function o(x,d){return t<=x&&x<=r&&a<=d&&d<=n}function i(x,d,v,b){var g=0,y=0;if(x==null||(g=u(x,v))!==(y=u(d,v))||c(x,d)<0^v>0)do b.point(g===0||g===3?t:r,g>1?n:a);while((g=(g+v+4)%4)!==y);else b.point(d[0],d[1])}function u(x,d){return(0,_.Wn)(x[0]-t)<_.Ho?d>0?0:3:(0,_.Wn)(x[0]-r)<_.Ho?d>0?2:1:(0,_.Wn)(x[1]-a)<_.Ho?d>0?1:0:d>0?3:2}function p(x,d){return c(x.x,d.x)}function c(x,d){var v=u(x,1),b=u(d,1);return v!==b?v-b:v===0?d[1]-x[1]:v===1?x[0]-d[0]:v===2?x[1]-d[1]:d[0]-x[0]}return function(x){var d,v,b,g,y,k,h,M,A,C,L,P=x,I=(0,w.Z)(),R={point:U,lineStart:function(){R.point=B,v&&v.push(b=[]),C=!0,A=!1,h=M=NaN},lineEnd:function(){d&&(B(g,y),k&&A&&I.rejoin(),d.push(I.result())),R.point=U,A&&P.lineEnd()},polygonStart:function(){P=I,d=[],v=[],L=!0},polygonEnd:function(){var G=function(){for(var V=0,H=0,ee=v.length;Hn&&(oe-Q)*(n-X)>(se-X)*(t-Q)&&++V:se<=n&&(oe-Q)*(n-X)<(se-X)*(t-Q)&&--V;return V}(),N=L&&G,j=(d=(0,T.TS)(d)).length;(N||j)&&(x.polygonStart(),N&&(x.lineStart(),i(null,null,1,x),x.lineEnd()),j&&(0,s.Z)(d,p,G,i,x),x.polygonEnd()),P=x,d=v=b=null}};function U(G,N){o(G,N)&&P.point(G,N)}function B(G,N){var j=o(G,N);if(v&&b.push([G,N]),C)g=G,y=N,k=j,C=!1,j&&(P.lineStart(),P.point(G,N));else if(j&&A)P.point(G,N);else{var V=[h=Math.max(f,Math.min(m,h)),M=Math.max(f,Math.min(m,M))],H=[G=Math.max(f,Math.min(m,G)),N=Math.max(f,Math.min(m,N))];(function(ee,Q,X,Y,K,te){var ie,oe=ee[0],se=ee[1],ce=0,xe=1,pe=Q[0]-oe,de=Q[1]-se;if(ie=X-oe,pe||!(ie>0)){if(ie/=pe,pe<0){if(ie0){if(ie>xe)return;ie>ce&&(ce=ie)}if(ie=K-oe,pe||!(ie<0)){if(ie/=pe,pe<0){if(ie>xe)return;ie>ce&&(ce=ie)}else if(pe>0){if(ie0)){if(ie/=de,de<0){if(ie0){if(ie>xe)return;ie>ce&&(ce=ie)}if(ie=te-se,de||!(ie<0)){if(ie/=de,de<0){if(ie>xe)return;ie>ce&&(ce=ie)}else if(de>0){if(ie0&&(ee[0]=oe+ce*pe,ee[1]=se+ce*de),xe<1&&(Q[0]=oe+xe*pe,Q[1]=se+xe*de),!0}}}}})(V,H,t,a,r,n)?(A||(P.lineStart(),P.point(V[0],V[1])),P.point(H[0],H[1]),j||P.lineEnd(),L=!1):j&&(P.lineStart(),P.point(G,N),L=!1)}h=G,M=N,A=j}return R}}},46225:function(D,E,e){e.d(E,{Z:function(){return T}});var _=e(67108),w=e(39695);function s(f,l,t,a){this.x=f,this.z=l,this.o=t,this.e=a,this.v=!1,this.n=this.p=null}function T(f,l,t,a,r){var n,o,i=[],u=[];if(f.forEach(function(b){if(!((g=b.length-1)<=0)){var g,y,k=b[0],h=b[g];if((0,_.Z)(k,h)){if(!k[2]&&!h[2]){for(r.lineStart(),n=0;n=0;--n)r.point((c=p[n])[0],c[1]);else a(d.x,d.p.x,-1,r);d=d.p}p=(d=d.o).z,v=!v}while(!d.v);r.lineEnd()}}}function m(f){if(l=f.length){for(var l,t,a=0,r=f[0];++a0&&(jn=M($t[$n],$t[$n-1]))>0&&Ln<=jn&&En<=jn&&(Ln+En-jn)*(1-Math.pow((Ln-En)/jn,2))u.Ho}).map(hr)).concat((0,N.w6)((0,u.mD)($n/un)*un,jn,un).filter(function(dn){return(0,u.Wn)(dn%On)>u.Ho}).map(tn))}return pn.lines=function(){return bn().map(function(dn){return{type:"LineString",coordinates:dn}})},pn.outline=function(){return{type:"Polygon",coordinates:[Pn(En).concat(jt(Zn).slice(1),Pn(Ln).reverse().slice(1),jt(Qn).reverse().slice(1))]}},pn.extent=function(dn){return arguments.length?pn.extentMajor(dn).extentMinor(dn):pn.extentMinor()},pn.extentMajor=function(dn){return arguments.length?(En=+dn[0][0],Ln=+dn[1][0],Qn=+dn[0][1],Zn=+dn[1][1],En>Ln&&(dn=En,En=Ln,Ln=dn),Qn>Zn&&(dn=Qn,Qn=Zn,Zn=dn),pn.precision(Sn)):[[En,Qn],[Ln,Zn]]},pn.extentMinor=function(dn){return arguments.length?(mn=+dn[0][0],$t=+dn[1][0],$n=+dn[0][1],jn=+dn[1][1],mn>$t&&(dn=mn,mn=$t,$t=dn),$n>jn&&(dn=$n,$n=jn,jn=dn),pn.precision(Sn)):[[mn,$n],[$t,jn]]},pn.step=function(dn){return arguments.length?pn.stepMajor(dn).stepMinor(dn):pn.stepMinor()},pn.stepMajor=function(dn){return arguments.length?(Rn=+dn[0],On=+dn[1],pn):[Rn,On]},pn.stepMinor=function(dn){return arguments.length?(Jt=+dn[0],un=+dn[1],pn):[Jt,un]},pn.precision=function(dn){return arguments.length?(Sn=+dn,hr=j($n,jn,90),tn=V(mn,$t,Sn),Pn=j(Qn,Zn,90),jt=V(En,Ln,Sn),pn):Sn},pn.extentMajor([[-180,-90+u.Ho],[180,90-u.Ho]]).extentMinor([[-180,-80-u.Ho],[180,80+u.Ho]])}function ee(){return H()()}var Q,X,Y,K,te=e(83074),ie=e(8593),oe=(0,i.Z)(),se=(0,i.Z)(),ce={point:p.Z,lineStart:p.Z,lineEnd:p.Z,polygonStart:function(){ce.lineStart=xe,ce.lineEnd=he},polygonEnd:function(){ce.lineStart=ce.lineEnd=ce.point=p.Z,oe.add((0,u.Wn)(se)),se.reset()},result:function(){var $t=oe/2;return oe.reset(),$t}};function xe(){ce.point=pe}function pe($t,mn){ce.point=de,Q=Y=$t,X=K=mn}function de($t,mn){se.add(K*$t-Y*mn),Y=$t,K=mn}function he(){de(Q,X)}var ye,ze,Te,Ae,Me=ce,Ce=e(3559),ne=0,ue=0,me=0,we=0,Ee=0,Ue=0,De=0,je=0,ge=0,be={point:Se,lineStart:Ne,lineEnd:st,polygonStart:function(){be.lineStart=ot,be.lineEnd=ft},polygonEnd:function(){be.point=Se,be.lineStart=Ne,be.lineEnd=st},result:function(){var $t=ge?[De/ge,je/ge]:Ue?[we/Ue,Ee/Ue]:me?[ne/me,ue/me]:[NaN,NaN];return ne=ue=me=we=Ee=Ue=De=je=ge=0,$t}};function Se($t,mn){ne+=$t,ue+=mn,++me}function Ne(){be.point=Ye}function Ye($t,mn){be.point=Ze,Se(Te=$t,Ae=mn)}function Ze($t,mn){var Ln=$t-Te,En=mn-Ae,jn=(0,u._b)(Ln*Ln+En*En);we+=jn*(Te+$t)/2,Ee+=jn*(Ae+mn)/2,Ue+=jn,Se(Te=$t,Ae=mn)}function st(){be.point=Se}function ot(){be.point=yt}function ft(){Et(ye,ze)}function yt($t,mn){be.point=Et,Se(ye=Te=$t,ze=Ae=mn)}function Et($t,mn){var Ln=$t-Te,En=mn-Ae,jn=(0,u._b)(Ln*Ln+En*En);we+=jn*(Te+$t)/2,Ee+=jn*(Ae+mn)/2,Ue+=jn,De+=(jn=Ae*$t-Te*mn)*(Te+$t),je+=jn*(Ae+mn),ge+=3*jn,Se(Te=$t,Ae=mn)}var Tt=be;function xt($t){this._context=$t}xt.prototype={_radius:4.5,pointRadius:function($t){return this._radius=$t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function($t,mn){switch(this._point){case 0:this._context.moveTo($t,mn),this._point=1;break;case 1:this._context.lineTo($t,mn);break;default:this._context.moveTo($t+this._radius,mn),this._context.arc($t,mn,this._radius,0,u.BZ)}},result:p.Z};var Dt,It,Ft,qt,Nt,Je=(0,i.Z)(),Ke={point:p.Z,lineStart:function(){Ke.point=Ge},lineEnd:function(){Dt&&nt(It,Ft),Ke.point=p.Z},polygonStart:function(){Dt=!0},polygonEnd:function(){Dt=null},result:function(){var $t=+Je;return Je.reset(),$t}};function Ge($t,mn){Ke.point=nt,It=qt=$t,Ft=Nt=mn}function nt($t,mn){qt-=$t,Nt-=mn,Je.add((0,u._b)(qt*qt+Nt*Nt)),qt=$t,Nt=mn}var ht=Ke;function Oe(){this._string=[]}function Be($t){return"m0,"+$t+"a"+$t+","+$t+" 0 1,1 0,"+-2*$t+"a"+$t+","+$t+" 0 1,1 0,"+2*$t+"z"}function Qe($t,mn){var Ln,En,jn=4.5;function $n(Zn){return Zn&&(typeof jn=="function"&&En.pointRadius(+jn.apply(this,arguments)),(0,c.Z)(Zn,Ln(En))),En.result()}return $n.area=function(Zn){return(0,c.Z)(Zn,Ln(Me)),Me.result()},$n.measure=function(Zn){return(0,c.Z)(Zn,Ln(ht)),ht.result()},$n.bounds=function(Zn){return(0,c.Z)(Zn,Ln(Ce.Z)),Ce.Z.result()},$n.centroid=function(Zn){return(0,c.Z)(Zn,Ln(Tt)),Tt.result()},$n.projection=function(Zn){return arguments.length?(Ln=Zn==null?($t=null,ie.Z):($t=Zn).stream,$n):$t},$n.context=function(Zn){return arguments.length?(En=Zn==null?(mn=null,new Oe):new xt(mn=Zn),typeof jn!="function"&&En.pointRadius(jn),$n):mn},$n.pointRadius=function(Zn){return arguments.length?(jn=typeof Zn=="function"?Zn:(En.pointRadius(+Zn),+Zn),$n):jn},$n.projection($t).context(mn)}Oe.prototype={_radius:4.5,_circle:Be(4.5),pointRadius:function($t){return($t=+$t)!==this._radius&&(this._radius=$t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push("Z"),this._point=NaN},point:function($t,mn){switch(this._point){case 0:this._string.push("M",$t,",",mn),this._point=1;break;case 1:this._string.push("L",$t,",",mn);break;default:this._circle==null&&(this._circle=Be(this._radius)),this._string.push("M",$t,",",mn,this._circle)}},result:function(){if(this._string.length){var $t=this._string.join("");return this._string=[],$t}return null}};var ut=e(15002);function pt($t){var mn=0,Ln=u.pi/3,En=(0,ut.r)($t),jn=En(mn,Ln);return jn.parallels=function($n){return arguments.length?En(mn=$n[0]*u.uR,Ln=$n[1]*u.uR):[mn*u.RW,Ln*u.RW]},jn}function bt($t,mn){var Ln=(0,u.O$)($t),En=(Ln+(0,u.O$)(mn))/2;if((0,u.Wn)(En)=.12&&Sn<.234&&On>=-.425&&On<-.214?Qn:Sn>=.166&&Sn<.234&&On>=-.214&&On<-.115?hr:Zn).invert(Jt)},Pn.stream=function(Jt){return $t&&mn===Jt?$t:(un=[Zn.stream(mn=Jt),Qn.stream(Jt),hr.stream(Jt)],Rn=un.length,$t={point:function(On,Sn){for(var pn=-1;++pn0?Qn<-u.ou+u.Ho&&(Qn=-u.ou+u.Ho):Qn>u.ou-u.Ho&&(Qn=u.ou-u.Ho);var hr=jn/(0,u.sQ)(Kt(Qn),En);return[hr*(0,u.O$)(En*Zn),jn-hr*(0,u.mC)(En*Zn)]}return $n.invert=function(Zn,Qn){var hr=jn-Qn,tn=(0,u.Xx)(En)*(0,u._b)(Zn*Zn+hr*hr),Pn=(0,u.fv)(Zn,(0,u.Wn)(hr))*(0,u.Xx)(hr);return hr*En<0&&(Pn-=u.pi*(0,u.Xx)(Zn)*(0,u.Xx)(hr)),[Pn/En,2*(0,u.z4)((0,u.sQ)(jn/tn,1/En))-u.ou]},$n}function yn(){return pt(nn).scale(109.5).parallels([30,30])}Wt.invert=function($t,mn){return[$t,2*(0,u.z4)((0,u.Qq)(mn))-u.ou]};var ln=e(97492);function kn($t,mn){var Ln=(0,u.mC)($t),En=$t===mn?(0,u.O$)($t):(Ln-(0,u.mC)(mn))/(mn-$t),jn=Ln/En+$t;if((0,u.Wn)(En)2?En[2]+90:90]):[(En=Ln())[0],En[1],En[2]-90]},Ln([0,0,90]).scale(159.155)}gr.invert=(0,Tr.O)(function($t){return 2*(0,u.z4)($t)}),dr.invert=function($t,mn){return[-mn,2*(0,u.z4)((0,u.Qq)($t))-u.ou]}},83074:function(D,E,e){e.d(E,{Z:function(){return w}});var _=e(39695);function w(s,T){var m=s[0]*_.uR,f=s[1]*_.uR,l=T[0]*_.uR,t=T[1]*_.uR,a=(0,_.mC)(f),r=(0,_.O$)(f),n=(0,_.mC)(t),o=(0,_.O$)(t),i=a*(0,_.mC)(m),u=a*(0,_.O$)(m),p=n*(0,_.mC)(l),c=n*(0,_.O$)(l),x=2*(0,_.ZR)((0,_._b)((0,_.Jy)(t-f)+a*n*(0,_.Jy)(l-m))),d=(0,_.O$)(x),v=x?function(b){var g=(0,_.O$)(b*=x)/d,y=(0,_.O$)(x-b)/d,k=y*i+g*p,h=y*u+g*c,M=y*r+g*o;return[(0,_.fv)(h,k)*_.RW,(0,_.fv)(M,(0,_._b)(k*k+h*h))*_.RW]}:function(){return[m*_.RW,f*_.RW]};return v.distance=x,v}},39695:function(D,E,e){e.d(E,{BZ:function(){return f},Ho:function(){return _},Jy:function(){return k},Kh:function(){return g},O$:function(){return x},OR:function(){return b},Qq:function(){return u},RW:function(){return l},Wn:function(){return a},Xx:function(){return d},ZR:function(){return y},_b:function(){return v},aW:function(){return w},cM:function(){return p},fv:function(){return n},mC:function(){return o},mD:function(){return i},ou:function(){return T},pi:function(){return s},pu:function(){return m},sQ:function(){return c},uR:function(){return t},z4:function(){return r}});var _=1e-6,w=1e-12,s=Math.PI,T=s/2,m=s/4,f=2*s,l=180/s,t=s/180,a=Math.abs,r=Math.atan,n=Math.atan2,o=Math.cos,i=Math.ceil,u=Math.exp,p=Math.log,c=Math.pow,x=Math.sin,d=Math.sign||function(h){return h>0?1:h<0?-1:0},v=Math.sqrt,b=Math.tan;function g(h){return h>1?0:h<-1?s:Math.acos(h)}function y(h){return h>1?T:h<-1?-T:Math.asin(h)}function k(h){return(h=x(h/2))*h}},73182:function(D,E,e){function _(){}e.d(E,{Z:function(){return _}})},3559:function(D,E,e){var _=e(73182),w=1/0,s=w,T=-w,m=T,f={point:function(l,t){lT&&(T=l),tm&&(m=t)},lineStart:_.Z,lineEnd:_.Z,polygonStart:_.Z,polygonEnd:_.Z,result:function(){var l=[[w,s],[T,m]];return T=m=-(s=w=1/0),l}};E.Z=f},67108:function(D,E,e){e.d(E,{Z:function(){return w}});var _=e(39695);function w(s,T){return(0,_.Wn)(s[0]-T[0])<_.Ho&&(0,_.Wn)(s[1]-T[1])<_.Ho}},23071:function(D,E,e){e.d(E,{Z:function(){return f}});var _=e(33940),w=e(7620),s=e(39695),T=(0,_.Z)();function m(l){return(0,s.Wn)(l[0])<=s.pi?l[0]:(0,s.Xx)(l[0])*(((0,s.Wn)(l[0])+s.pi)%s.BZ-s.pi)}function f(l,t){var a=m(t),r=t[1],n=(0,s.O$)(r),o=[(0,s.O$)(a),-(0,s.mC)(a),0],i=0,u=0;T.reset(),n===1?r=s.ou+s.Ho:n===-1&&(r=-s.ou-s.Ho);for(var p=0,c=l.length;p=0?1:-1,U=R*I,B=U>s.pi,G=y*L;if(T.add((0,s.fv)(G*R*(0,s.O$)(U),k*P+G*(0,s.mC)(U))),i+=B?I+R*s.BZ:I,B^b>=a^A>=a){var N=(0,w.T5)((0,w.Og)(v),(0,w.Og)(M));(0,w.iJ)(N);var j=(0,w.T5)(o,N);(0,w.iJ)(j);var V=(B^I>=0?-1:1)*(0,s.ZR)(j[2]);(r>V||r===V&&(N[0]||N[1]))&&(u+=B^I>=0?1:-1)}}return(i<-s.Ho||i4*g&&N--){var Q=A+U,X=C+B,Y=L+G,K=(0,f._b)(Q*Q+X*X+Y*Y),te=(0,f.ZR)(Y/=K),ie=(0,f.Wn)((0,f.Wn)(Y)-1)g||(0,f.Wn)((V*xe+H*pe)/ee-.5)>.3||A*U+C*B+L*G2?xe[2]%360*f.uR:0,se()):[G*f.RW,N*f.RW,j*f.RW]},ie.angle=function(xe){return arguments.length?(V=xe%360*f.uR,se()):V*f.RW},ie.reflectX=function(xe){return arguments.length?(H=xe?-1:1,se()):H<0},ie.reflectY=function(xe){return arguments.length?(ee=xe?-1:1,se()):ee<0},ie.precision=function(xe){return arguments.length?(h=o(M,te=xe*xe),ce()):(0,f._b)(te)},ie.fitExtent=function(xe,pe){return(0,a.qg)(ie,xe,pe)},ie.fitSize=function(xe,pe){return(0,a.mF)(ie,xe,pe)},ie.fitWidth=function(xe,pe){return(0,a.V6)(ie,xe,pe)},ie.fitHeight=function(xe,pe){return(0,a.rf)(ie,xe,pe)},function(){return v=d.apply(this,arguments),ie.invert=v.invert&&oe,se()}}},26867:function(D,E,e){e.d(E,{K:function(){return s},Z:function(){return T}});var _=e(15002),w=e(39695);function s(m,f){var l=f*f,t=l*l;return[m*(.8707-.131979*l+t*(t*(.003971*l-.001529*t)-.013791)),f*(1.007226+l*(.015085+t*(.028874*l-.044475-.005916*t)))]}function T(){return(0,_.Z)(s).scale(175.295)}s.invert=function(m,f){var l,t=f,a=25;do{var r=t*t,n=r*r;t-=l=(t*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))-f)/(1.007226+r*(.045255+n*(.259866*r-.311325-.06507600000000001*n)))}while((0,w.Wn)(l)>w.Ho&&--a>0);return[m/(.8707+(r=t*t)*(r*(r*r*r*(.003971-.001529*r)-.013791)-.131979)),t]}},57962:function(D,E,e){e.d(E,{I:function(){return T},Z:function(){return m}});var _=e(39695),w=e(25382),s=e(15002);function T(f,l){return[(0,_.mC)(l)*(0,_.O$)(f),(0,_.O$)(l)]}function m(){return(0,s.Z)(T).scale(249.5).clipAngle(90+_.Ho)}T.invert=(0,w.O)(_.ZR)},49386:function(D,E,e){e.d(E,{I:function(){return T},Z:function(){return t}});var _=e(96059),w=e(39695);function s(a,r){return[(0,w.Wn)(a)>w.pi?a+Math.round(-a/w.BZ)*w.BZ:a,r]}function T(a,r,n){return(a%=w.BZ)?r||n?(0,_.Z)(f(a),l(r,n)):f(a):r||n?l(r,n):s}function m(a){return function(r,n){return[(r+=a)>w.pi?r-w.BZ:r<-w.pi?r+w.BZ:r,n]}}function f(a){var r=m(a);return r.invert=m(-a),r}function l(a,r){var n=(0,w.mC)(a),o=(0,w.O$)(a),i=(0,w.mC)(r),u=(0,w.O$)(r);function p(c,x){var d=(0,w.mC)(x),v=(0,w.mC)(c)*d,b=(0,w.O$)(c)*d,g=(0,w.O$)(x),y=g*n+v*o;return[(0,w.fv)(b*i-y*u,v*n-g*o),(0,w.ZR)(y*i+b*u)]}return p.invert=function(c,x){var d=(0,w.mC)(x),v=(0,w.mC)(c)*d,b=(0,w.O$)(c)*d,g=(0,w.O$)(x),y=g*i-b*u;return[(0,w.fv)(b*i+g*u,v*n+y*o),(0,w.ZR)(y*n-v*o)]},p}function t(a){function r(n){return(n=a(n[0]*w.uR,n[1]*w.uR))[0]*=w.RW,n[1]*=w.RW,n}return a=T(a[0]*w.uR,a[1]*w.uR,a.length>2?a[2]*w.uR:0),r.invert=function(n){return(n=a.invert(n[0]*w.uR,n[1]*w.uR))[0]*=w.RW,n[1]*=w.RW,n},r}s.invert=s},72736:function(D,E,e){function _(l,t){l&&s.hasOwnProperty(l.type)&&s[l.type](l,t)}e.d(E,{Z:function(){return f}});var w={Feature:function(l,t){_(l.geometry,t)},FeatureCollection:function(l,t){for(var a=l.features,r=-1,n=a.length;++r=0;)ne+=ue[me].value;else ne=1;Ce.value=ne}function f(Ce,ne){var ue,me,we,Ee,Ue,De=new r(Ce),je=+Ce.value&&(De.value=Ce.value),ge=[De];for(ne==null&&(ne=l);ue=ge.pop();)if(je&&(ue.value=+ue.data.value),(we=ne(ue.data))&&(Ue=we.length))for(ue.children=new Array(Ue),Ee=Ue-1;Ee>=0;--Ee)ge.push(me=ue.children[Ee]=new r(we[Ee])),me.parent=ue,me.depth=ue.depth+1;return De.eachBefore(a)}function l(Ce){return Ce.children}function t(Ce){Ce.data=Ce.data.data}function a(Ce){var ne=0;do Ce.height=ne;while((Ce=Ce.parent)&&Ce.height<++ne)}function r(Ce){this.data=Ce,this.depth=this.height=0,this.parent=null}e.r(E),e.d(E,{cluster:function(){return T},hierarchy:function(){return f},pack:function(){return R},packEnclose:function(){return o},packSiblings:function(){return M},partition:function(){return V},stratify:function(){return Y},tree:function(){return xe},treemap:function(){return ze},treemapBinary:function(){return Te},treemapDice:function(){return j},treemapResquarify:function(){return Me},treemapSlice:function(){return pe},treemapSliceDice:function(){return Ae},treemapSquarify:function(){return ye}}),r.prototype=f.prototype={constructor:r,count:function(){return this.eachAfter(m)},each:function(Ce){var ne,ue,me,we,Ee=this,Ue=[Ee];do for(ne=Ue.reverse(),Ue=[];Ee=ne.pop();)if(Ce(Ee),ue=Ee.children)for(me=0,we=ue.length;me=0;--ue)we.push(ne[ue]);return this},sum:function(Ce){return this.eachAfter(function(ne){for(var ue=+Ce(ne.data)||0,me=ne.children,we=me&&me.length;--we>=0;)ue+=me[we].value;ne.value=ue})},sort:function(Ce){return this.eachBefore(function(ne){ne.children&&ne.children.sort(Ce)})},path:function(Ce){for(var ne=this,ue=function(Ee,Ue){if(Ee===Ue)return Ee;var De=Ee.ancestors(),je=Ue.ancestors(),ge=null;for(Ee=De.pop(),Ue=je.pop();Ee===Ue;)ge=Ee,Ee=De.pop(),Ue=je.pop();return ge}(ne,Ce),me=[ne];ne!==ue;)ne=ne.parent,me.push(ne);for(var we=me.length;Ce!==ue;)me.splice(we,0,Ce),Ce=Ce.parent;return me},ancestors:function(){for(var Ce=this,ne=[Ce];Ce=Ce.parent;)ne.push(Ce);return ne},descendants:function(){var Ce=[];return this.each(function(ne){Ce.push(ne)}),Ce},leaves:function(){var Ce=[];return this.eachBefore(function(ne){ne.children||Ce.push(ne)}),Ce},links:function(){var Ce=this,ne=[];return Ce.each(function(ue){ue!==Ce&&ne.push({source:ue.parent,target:ue})}),ne},copy:function(){return f(this).eachBefore(t)}};var n=Array.prototype.slice;function o(Ce){for(var ne,ue,me=0,we=(Ce=function(Ue){for(var De,je,ge=Ue.length;ge;)je=Math.random()*ge--|0,De=Ue[ge],Ue[ge]=Ue[je],Ue[je]=De;return Ue}(n.call(Ce))).length,Ee=[];me0&&ue*ue>me*me+we*we}function c(Ce,ne){for(var ue=0;ue(Ue*=Ue)?(me=(ge+Ue-we)/(2*ge),Ee=Math.sqrt(Math.max(0,Ue/ge-me*me)),ue.x=Ce.x-me*De-Ee*je,ue.y=Ce.y-me*je+Ee*De):(me=(ge+we-Ue)/(2*ge),Ee=Math.sqrt(Math.max(0,we/ge-me*me)),ue.x=ne.x+me*De-Ee*je,ue.y=ne.y+me*je+Ee*De)):(ue.x=ne.x+ue.r,ue.y=ne.y)}function g(Ce,ne){var ue=Ce.r+ne.r-1e-6,me=ne.x-Ce.x,we=ne.y-Ce.y;return ue>0&&ue*ue>me*me+we*we}function y(Ce){var ne=Ce._,ue=Ce.next._,me=ne.r+ue.r,we=(ne.x*ue.r+ue.x*ne.r)/me,Ee=(ne.y*ue.r+ue.y*ne.r)/me;return we*we+Ee*Ee}function k(Ce){this._=Ce,this.next=null,this.previous=null}function h(Ce){if(!(we=Ce.length))return 0;var ne,ue,me,we,Ee,Ue,De,je,ge,be,Se;if((ne=Ce[0]).x=0,ne.y=0,!(we>1))return ne.r;if(ue=Ce[1],ne.x=-ue.r,ue.x=ne.r,ue.y=0,!(we>2))return ne.r+ue.r;b(ue,ne,me=Ce[2]),ne=new k(ne),ue=new k(ue),me=new k(me),ne.next=me.previous=ue,ue.next=ne.previous=me,me.next=ue.previous=ne;e:for(De=3;De0)throw new Error("cycle");return Ue}return ue.id=function(me){return arguments.length?(Ce=C(me),ue):Ce},ue.parentId=function(me){return arguments.length?(ne=C(me),ue):ne},ue}function K(Ce,ne){return Ce.parent===ne.parent?1:2}function te(Ce){var ne=Ce.children;return ne?ne[0]:Ce.t}function ie(Ce){var ne=Ce.children;return ne?ne[ne.length-1]:Ce.t}function oe(Ce,ne,ue){var me=ue/(ne.i-Ce.i);ne.c-=me,ne.s+=ue,Ce.c+=me,ne.z+=ue,ne.m+=ue}function se(Ce,ne,ue){return Ce.a.parent===ne.parent?Ce.a:ue}function ce(Ce,ne){this._=Ce,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=ne}function xe(){var Ce=K,ne=1,ue=1,me=null;function we(je){var ge=function(ft){for(var yt,Et,Tt,xt,Dt,It=new ce(ft,0),Ft=[It];yt=Ft.pop();)if(Tt=yt._.children)for(yt.children=new Array(Dt=Tt.length),xt=Dt-1;xt>=0;--xt)Ft.push(Et=yt.children[xt]=new ce(Tt[xt],xt)),Et.parent=yt;return(It.parent=new ce(null,0)).children=[It],It}(je);if(ge.eachAfter(Ee),ge.parent.m=-ge.z,ge.eachBefore(Ue),me)je.eachBefore(De);else{var be=je,Se=je,Ne=je;je.eachBefore(function(ft){ft.xSe.x&&(Se=ft),ft.depth>Ne.depth&&(Ne=ft)});var Ye=be===Se?1:Ce(be,Se)/2,Ze=Ye-be.x,st=ne/(Se.x+Ye+Ze),ot=ue/(Ne.depth||1);je.eachBefore(function(ft){ft.x=(ft.x+Ze)*st,ft.y=ft.depth*ot})}return je}function Ee(je){var ge=je.children,be=je.parent.children,Se=je.i?be[je.i-1]:null;if(ge){(function(Ye){for(var Ze,st=0,ot=0,ft=Ye.children,yt=ft.length;--yt>=0;)(Ze=ft[yt]).z+=st,Ze.m+=st,st+=Ze.s+(ot+=Ze.c)})(je);var Ne=(ge[0].z+ge[ge.length-1].z)/2;Se?(je.z=Se.z+Ce(je._,Se._),je.m=je.z-Ne):je.z=Ne}else Se&&(je.z=Se.z+Ce(je._,Se._));je.parent.A=function(Ye,Ze,st){if(Ze){for(var ot,ft=Ye,yt=Ye,Et=Ze,Tt=ft.parent.children[0],xt=ft.m,Dt=yt.m,It=Et.m,Ft=Tt.m;Et=ie(Et),ft=te(ft),Et&&ft;)Tt=te(Tt),(yt=ie(yt)).a=Ye,(ot=Et.z+It-ft.z-xt+Ce(Et._,ft._))>0&&(oe(se(Et,Ye,st),Ye,ot),xt+=ot,Dt+=ot),It+=Et.m,xt+=ft.m,Ft+=Tt.m,Dt+=yt.m;Et&&!ie(yt)&&(yt.t=Et,yt.m+=It-Dt),ft&&!te(Tt)&&(Tt.t=ft,Tt.m+=xt-Ft,st=Ye)}return st}(je,Se,je.parent.A||be[0])}function Ue(je){je._.x=je.z+je.parent.m,je.m+=je.parent.m}function De(je){je.x*=ne,je.y=je.depth*ue}return we.separation=function(je){return arguments.length?(Ce=je,we):Ce},we.size=function(je){return arguments.length?(me=!1,ne=+je[0],ue=+je[1],we):me?null:[ne,ue]},we.nodeSize=function(je){return arguments.length?(me=!0,ne=+je[0],ue=+je[1],we):me?[ne,ue]:null},we}function pe(Ce,ne,ue,me,we){for(var Ee,Ue=Ce.children,De=-1,je=Ue.length,ge=Ce.value&&(we-ue)/Ce.value;++DeNe&&(Ne=De),ot=be*be*st,(Ye=Math.max(Ne/ot,ot/Se))>Ze){be-=De;break}Ze=Ye}ft.push(Ue={value:be,dice:je1?me:1)},ue}(de);function ze(){var Ce=ye,ne=!1,ue=1,me=1,we=[0],Ee=L,Ue=L,De=L,je=L,ge=L;function be(Ne){return Ne.x0=Ne.y0=0,Ne.x1=ue,Ne.y1=me,Ne.eachBefore(Se),we=[0],ne&&Ne.eachBefore(N),Ne}function Se(Ne){var Ye=we[Ne.depth],Ze=Ne.x0+Ye,st=Ne.y0+Ye,ot=Ne.x1-Ye,ft=Ne.y1-Ye;ot=Ne-1){var yt=De[Se];return yt.x0=Ze,yt.y0=st,yt.x1=ot,void(yt.y1=ft)}for(var Et=ge[Se],Tt=Ye/2+Et,xt=Se+1,Dt=Ne-1;xt>>1;ge[It]ft-st){var Nt=(Ze*qt+ot*Ft)/Ye;be(Se,xt,Ft,Ze,st,Nt,ft),be(xt,Ne,qt,Nt,st,ot,ft)}else{var Je=(st*qt+ft*Ft)/Ye;be(Se,xt,Ft,Ze,st,ot,Je),be(xt,Ne,qt,Ze,Je,ot,ft)}})(0,je,Ce.value,ne,ue,me,we)}function Ae(Ce,ne,ue,me,we){(1&Ce.depth?pe:j)(Ce,ne,ue,me,we)}var Me=function Ce(ne){function ue(me,we,Ee,Ue,De){if((je=me._squarify)&&je.ratio===ne)for(var je,ge,be,Se,Ne,Ye=-1,Ze=je.length,st=me.value;++Ye1?me:1)},ue}(de)},45879:function(D,E,e){e.d(E,{h5:function(){return p}});var _=Math.PI,w=2*_,s=1e-6,T=w-s;function m(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function f(){return new m}m.prototype=f.prototype={constructor:m,moveTo:function(c,x){this._+="M"+(this._x0=this._x1=+c)+","+(this._y0=this._y1=+x)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(c,x){this._+="L"+(this._x1=+c)+","+(this._y1=+x)},quadraticCurveTo:function(c,x,d,v){this._+="Q"+ +c+","+ +x+","+(this._x1=+d)+","+(this._y1=+v)},bezierCurveTo:function(c,x,d,v,b,g){this._+="C"+ +c+","+ +x+","+ +d+","+ +v+","+(this._x1=+b)+","+(this._y1=+g)},arcTo:function(c,x,d,v,b){c=+c,x=+x,d=+d,v=+v,b=+b;var g=this._x1,y=this._y1,k=d-c,h=v-x,M=g-c,A=y-x,C=M*M+A*A;if(b<0)throw new Error("negative radius: "+b);if(this._x1===null)this._+="M"+(this._x1=c)+","+(this._y1=x);else if(C>s)if(Math.abs(A*k-h*M)>s&&b){var L=d-g,P=v-y,I=k*k+h*h,R=L*L+P*P,U=Math.sqrt(I),B=Math.sqrt(C),G=b*Math.tan((_-Math.acos((I+C-R)/(2*U*B)))/2),N=G/B,j=G/U;Math.abs(N-1)>s&&(this._+="L"+(c+N*M)+","+(x+N*A)),this._+="A"+b+","+b+",0,0,"+ +(A*L>M*P)+","+(this._x1=c+j*k)+","+(this._y1=x+j*h)}else this._+="L"+(this._x1=c)+","+(this._y1=x)},arc:function(c,x,d,v,b,g){c=+c,x=+x,g=!!g;var y=(d=+d)*Math.cos(v),k=d*Math.sin(v),h=c+y,M=x+k,A=1^g,C=g?v-b:b-v;if(d<0)throw new Error("negative radius: "+d);this._x1===null?this._+="M"+h+","+M:(Math.abs(this._x1-h)>s||Math.abs(this._y1-M)>s)&&(this._+="L"+h+","+M),d&&(C<0&&(C=C%w+w),C>T?this._+="A"+d+","+d+",0,1,"+A+","+(c-y)+","+(x-k)+"A"+d+","+d+",0,1,"+A+","+(this._x1=h)+","+(this._y1=M):C>s&&(this._+="A"+d+","+d+",0,"+ +(C>=_)+","+A+","+(this._x1=c+d*Math.cos(b))+","+(this._y1=x+d*Math.sin(b))))},rect:function(c,x,d,v){this._+="M"+(this._x0=this._x1=+c)+","+(this._y0=this._y1=+x)+"h"+ +d+"v"+ +v+"h"+-d+"Z"},toString:function(){return this._}};var l=f,t=Array.prototype.slice;function a(c){return function(){return c}}function r(c){return c[0]}function n(c){return c[1]}function o(c){return c.source}function i(c){return c.target}function u(c,x,d,v,b){c.moveTo(x,d),c.bezierCurveTo(x=(x+v)/2,d,x,b,v,b)}function p(){return function(c){var x=o,d=i,v=r,b=n,g=null;function y(){var k,h=t.call(arguments),M=x.apply(this,h),A=d.apply(this,h);if(g||(g=k=l()),c(g,+v.apply(this,(h[0]=M,h)),+b.apply(this,h),+v.apply(this,(h[0]=A,h)),+b.apply(this,h)),k)return g=null,k+""||null}return y.source=function(k){return arguments.length?(x=k,y):x},y.target=function(k){return arguments.length?(d=k,y):d},y.x=function(k){return arguments.length?(v=typeof k=="function"?k:a(+k),y):v},y.y=function(k){return arguments.length?(b=typeof k=="function"?k:a(+k),y):b},y.context=function(k){return arguments.length?(g=k??null,y):g},y}(u)}},84096:function(D,E,e){e.d(E,{i$:function(){return o},Dq:function(){return r},g0:function(){return i}});var _=e(58176),w=e(48480),s=e(59879),T=e(82301),m=e(34823),f=e(79791);function l(xt){if(0<=xt.y&&xt.y<100){var Dt=new Date(-1,xt.m,xt.d,xt.H,xt.M,xt.S,xt.L);return Dt.setFullYear(xt.y),Dt}return new Date(xt.y,xt.m,xt.d,xt.H,xt.M,xt.S,xt.L)}function t(xt){if(0<=xt.y&&xt.y<100){var Dt=new Date(Date.UTC(-1,xt.m,xt.d,xt.H,xt.M,xt.S,xt.L));return Dt.setUTCFullYear(xt.y),Dt}return new Date(Date.UTC(xt.y,xt.m,xt.d,xt.H,xt.M,xt.S,xt.L))}function a(xt,Dt,It){return{y:xt,m:Dt,d:It,H:0,M:0,S:0,L:0}}function r(xt){var Dt=xt.dateTime,It=xt.date,Ft=xt.time,qt=xt.periods,Nt=xt.days,Je=xt.shortDays,Ke=xt.months,Ge=xt.shortMonths,nt=b(qt),ht=g(qt),Oe=b(Nt),Be=g(Nt),Qe=b(Je),ut=g(Je),pt=b(Ke),bt=g(Ke),Lt=b(Ge),Ct=g(Ge),mt={a:function(Gt){return Je[Gt.getDay()]},A:function(Gt){return Nt[Gt.getDay()]},b:function(Gt){return Ge[Gt.getMonth()]},B:function(Gt){return Ke[Gt.getMonth()]},c:null,d:Y,e:Y,f:se,H:K,I:te,j:ie,L:oe,m:ce,M:xe,p:function(Gt){return qt[+(Gt.getHours()>=12)]},q:function(Gt){return 1+~~(Gt.getMonth()/3)},Q:Et,s:Tt,S:pe,u:de,U:he,V:ye,w:ze,W:Te,x:null,X:null,y:Ae,Y:Me,Z:Ce,"%":yt},Ot={a:function(Gt){return Je[Gt.getUTCDay()]},A:function(Gt){return Nt[Gt.getUTCDay()]},b:function(Gt){return Ge[Gt.getUTCMonth()]},B:function(Gt){return Ke[Gt.getUTCMonth()]},c:null,d:ne,e:ne,f:Ue,H:ue,I:me,j:we,L:Ee,m:De,M:je,p:function(Gt){return qt[+(Gt.getUTCHours()>=12)]},q:function(Gt){return 1+~~(Gt.getUTCMonth()/3)},Q:Et,s:Tt,S:ge,u:be,U:Se,V:Ne,w:Ye,W:Ze,x:null,X:null,y:st,Y:ot,Z:ft,"%":yt},_t={a:function(Gt,Xt,Kt){var nn=Qe.exec(Xt.slice(Kt));return nn?(Gt.w=ut[nn[0].toLowerCase()],Kt+nn[0].length):-1},A:function(Gt,Xt,Kt){var nn=Oe.exec(Xt.slice(Kt));return nn?(Gt.w=Be[nn[0].toLowerCase()],Kt+nn[0].length):-1},b:function(Gt,Xt,Kt){var nn=Lt.exec(Xt.slice(Kt));return nn?(Gt.m=Ct[nn[0].toLowerCase()],Kt+nn[0].length):-1},B:function(Gt,Xt,Kt){var nn=pt.exec(Xt.slice(Kt));return nn?(Gt.m=bt[nn[0].toLowerCase()],Kt+nn[0].length):-1},c:function(Gt,Xt,Kt){return Wt(Gt,Dt,Xt,Kt)},d:U,e:U,f:H,H:G,I:G,j:B,L:V,m:R,M:N,p:function(Gt,Xt,Kt){var nn=nt.exec(Xt.slice(Kt));return nn?(Gt.p=ht[nn[0].toLowerCase()],Kt+nn[0].length):-1},q:I,Q,s:X,S:j,u:k,U:h,V:M,w:y,W:A,x:function(Gt,Xt,Kt){return Wt(Gt,It,Xt,Kt)},X:function(Gt,Xt,Kt){return Wt(Gt,Ft,Xt,Kt)},y:L,Y:C,Z:P,"%":ee};function Pt(Gt,Xt){return function(Kt){var nn,yn,ln,kn=[],Wn=-1,wn=0,on=Gt.length;for(Kt instanceof Date||(Kt=new Date(+Kt));++Wn53)return null;"w"in ln||(ln.w=1),"Z"in ln?(yn=(nn=t(a(ln.y,0,1))).getUTCDay(),nn=yn>4||yn===0?_.l6.ceil(nn):(0,_.l6)(nn),nn=w.Z.offset(nn,7*(ln.V-1)),ln.y=nn.getUTCFullYear(),ln.m=nn.getUTCMonth(),ln.d=nn.getUTCDate()+(ln.w+6)%7):(yn=(nn=l(a(ln.y,0,1))).getDay(),nn=yn>4||yn===0?s.wA.ceil(nn):(0,s.wA)(nn),nn=T.Z.offset(nn,7*(ln.V-1)),ln.y=nn.getFullYear(),ln.m=nn.getMonth(),ln.d=nn.getDate()+(ln.w+6)%7)}else("W"in ln||"U"in ln)&&("w"in ln||(ln.w="u"in ln?ln.u%7:"W"in ln?1:0),yn="Z"in ln?t(a(ln.y,0,1)).getUTCDay():l(a(ln.y,0,1)).getDay(),ln.m=0,ln.d="W"in ln?(ln.w+6)%7+7*ln.W-(yn+5)%7:ln.w+7*ln.U-(yn+6)%7);return"Z"in ln?(ln.H+=ln.Z/100|0,ln.M+=ln.Z%100,t(ln)):l(ln)}}function Wt(Gt,Xt,Kt,nn){for(var yn,ln,kn=0,Wn=Xt.length,wn=Kt.length;kn=wn)return-1;if((yn=Xt.charCodeAt(kn++))===37){if(yn=Xt.charAt(kn++),!(ln=_t[yn in u?Xt.charAt(kn++):yn])||(nn=ln(Gt,Kt,nn))<0)return-1}else if(yn!=Kt.charCodeAt(nn++))return-1}return nn}return mt.x=Pt(It,mt),mt.X=Pt(Ft,mt),mt.c=Pt(Dt,mt),Ot.x=Pt(It,Ot),Ot.X=Pt(Ft,Ot),Ot.c=Pt(Dt,Ot),{format:function(Gt){var Xt=Pt(Gt+="",mt);return Xt.toString=function(){return Gt},Xt},parse:function(Gt){var Xt=Bt(Gt+="",!1);return Xt.toString=function(){return Gt},Xt},utcFormat:function(Gt){var Xt=Pt(Gt+="",Ot);return Xt.toString=function(){return Gt},Xt},utcParse:function(Gt){var Xt=Bt(Gt+="",!0);return Xt.toString=function(){return Gt},Xt}}}var n,o,i,u={"-":"",_:" ",0:"0"},p=/^\s*\d+/,c=/^%/,x=/[\\^$*+?|[\]().{}]/g;function d(xt,Dt,It){var Ft=xt<0?"-":"",qt=(Ft?-xt:xt)+"",Nt=qt.length;return Ft+(Nt68?1900:2e3),It+Ft[0].length):-1}function P(xt,Dt,It){var Ft=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(Dt.slice(It,It+6));return Ft?(xt.Z=Ft[1]?0:-(Ft[2]+(Ft[3]||"00")),It+Ft[0].length):-1}function I(xt,Dt,It){var Ft=p.exec(Dt.slice(It,It+1));return Ft?(xt.q=3*Ft[0]-3,It+Ft[0].length):-1}function R(xt,Dt,It){var Ft=p.exec(Dt.slice(It,It+2));return Ft?(xt.m=Ft[0]-1,It+Ft[0].length):-1}function U(xt,Dt,It){var Ft=p.exec(Dt.slice(It,It+2));return Ft?(xt.d=+Ft[0],It+Ft[0].length):-1}function B(xt,Dt,It){var Ft=p.exec(Dt.slice(It,It+3));return Ft?(xt.m=0,xt.d=+Ft[0],It+Ft[0].length):-1}function G(xt,Dt,It){var Ft=p.exec(Dt.slice(It,It+2));return Ft?(xt.H=+Ft[0],It+Ft[0].length):-1}function N(xt,Dt,It){var Ft=p.exec(Dt.slice(It,It+2));return Ft?(xt.M=+Ft[0],It+Ft[0].length):-1}function j(xt,Dt,It){var Ft=p.exec(Dt.slice(It,It+2));return Ft?(xt.S=+Ft[0],It+Ft[0].length):-1}function V(xt,Dt,It){var Ft=p.exec(Dt.slice(It,It+3));return Ft?(xt.L=+Ft[0],It+Ft[0].length):-1}function H(xt,Dt,It){var Ft=p.exec(Dt.slice(It,It+6));return Ft?(xt.L=Math.floor(Ft[0]/1e3),It+Ft[0].length):-1}function ee(xt,Dt,It){var Ft=c.exec(Dt.slice(It,It+1));return Ft?It+Ft[0].length:-1}function Q(xt,Dt,It){var Ft=p.exec(Dt.slice(It));return Ft?(xt.Q=+Ft[0],It+Ft[0].length):-1}function X(xt,Dt,It){var Ft=p.exec(Dt.slice(It));return Ft?(xt.s=+Ft[0],It+Ft[0].length):-1}function Y(xt,Dt){return d(xt.getDate(),Dt,2)}function K(xt,Dt){return d(xt.getHours(),Dt,2)}function te(xt,Dt){return d(xt.getHours()%12||12,Dt,2)}function ie(xt,Dt){return d(1+T.Z.count((0,m.Z)(xt),xt),Dt,3)}function oe(xt,Dt){return d(xt.getMilliseconds(),Dt,3)}function se(xt,Dt){return oe(xt,Dt)+"000"}function ce(xt,Dt){return d(xt.getMonth()+1,Dt,2)}function xe(xt,Dt){return d(xt.getMinutes(),Dt,2)}function pe(xt,Dt){return d(xt.getSeconds(),Dt,2)}function de(xt){var Dt=xt.getDay();return Dt===0?7:Dt}function he(xt,Dt){return d(s.OM.count((0,m.Z)(xt)-1,xt),Dt,2)}function ye(xt,Dt){var It=xt.getDay();return xt=It>=4||It===0?(0,s.bL)(xt):s.bL.ceil(xt),d(s.bL.count((0,m.Z)(xt),xt)+((0,m.Z)(xt).getDay()===4),Dt,2)}function ze(xt){return xt.getDay()}function Te(xt,Dt){return d(s.wA.count((0,m.Z)(xt)-1,xt),Dt,2)}function Ae(xt,Dt){return d(xt.getFullYear()%100,Dt,2)}function Me(xt,Dt){return d(xt.getFullYear()%1e4,Dt,4)}function Ce(xt){var Dt=xt.getTimezoneOffset();return(Dt>0?"-":(Dt*=-1,"+"))+d(Dt/60|0,"0",2)+d(Dt%60,"0",2)}function ne(xt,Dt){return d(xt.getUTCDate(),Dt,2)}function ue(xt,Dt){return d(xt.getUTCHours(),Dt,2)}function me(xt,Dt){return d(xt.getUTCHours()%12||12,Dt,2)}function we(xt,Dt){return d(1+w.Z.count((0,f.Z)(xt),xt),Dt,3)}function Ee(xt,Dt){return d(xt.getUTCMilliseconds(),Dt,3)}function Ue(xt,Dt){return Ee(xt,Dt)+"000"}function De(xt,Dt){return d(xt.getUTCMonth()+1,Dt,2)}function je(xt,Dt){return d(xt.getUTCMinutes(),Dt,2)}function ge(xt,Dt){return d(xt.getUTCSeconds(),Dt,2)}function be(xt){var Dt=xt.getUTCDay();return Dt===0?7:Dt}function Se(xt,Dt){return d(_.Ox.count((0,f.Z)(xt)-1,xt),Dt,2)}function Ne(xt,Dt){var It=xt.getUTCDay();return xt=It>=4||It===0?(0,_.hB)(xt):_.hB.ceil(xt),d(_.hB.count((0,f.Z)(xt),xt)+((0,f.Z)(xt).getUTCDay()===4),Dt,2)}function Ye(xt){return xt.getUTCDay()}function Ze(xt,Dt){return d(_.l6.count((0,f.Z)(xt)-1,xt),Dt,2)}function st(xt,Dt){return d(xt.getUTCFullYear()%100,Dt,2)}function ot(xt,Dt){return d(xt.getUTCFullYear()%1e4,Dt,4)}function ft(){return"+0000"}function yt(){return"%"}function Et(xt){return+xt}function Tt(xt){return Math.floor(+xt/1e3)}n=r({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"]}),o=n.format,n.parse,i=n.utcFormat,n.utcParse},82301:function(D,E,e){e.d(E,{a:function(){return T}});var _=e(30052),w=e(54263),s=(0,_.Z)(function(m){m.setHours(0,0,0,0)},function(m,f){m.setDate(m.getDate()+f)},function(m,f){return(f-m-(f.getTimezoneOffset()-m.getTimezoneOffset())*w.yB)/w.UD},function(m){return m.getDate()-1});E.Z=s;var T=s.range},54263:function(D,E,e){e.d(E,{UD:function(){return T},Y2:function(){return s},Ym:function(){return _},iM:function(){return m},yB:function(){return w}});var _=1e3,w=6e4,s=36e5,T=864e5,m=6048e5},81041:function(D,E,e){e.r(E),e.d(E,{timeDay:function(){return p.Z},timeDays:function(){return p.a},timeFriday:function(){return c.mC},timeFridays:function(){return c.b$},timeHour:function(){return i},timeHours:function(){return u},timeInterval:function(){return _.Z},timeMillisecond:function(){return s},timeMilliseconds:function(){return T},timeMinute:function(){return r},timeMinutes:function(){return n},timeMonday:function(){return c.wA},timeMondays:function(){return c.bJ},timeMonth:function(){return d},timeMonths:function(){return v},timeSaturday:function(){return c.EY},timeSaturdays:function(){return c.Ff},timeSecond:function(){return l},timeSeconds:function(){return t},timeSunday:function(){return c.OM},timeSundays:function(){return c.vm},timeThursday:function(){return c.bL},timeThursdays:function(){return c.$t},timeTuesday:function(){return c.sy},timeTuesdays:function(){return c.aU},timeWednesday:function(){return c.zg},timeWednesdays:function(){return c.Ld},timeWeek:function(){return c.OM},timeWeeks:function(){return c.vm},timeYear:function(){return b.Z},timeYears:function(){return b.g},utcDay:function(){return C.Z},utcDays:function(){return C.y},utcFriday:function(){return L.QQ},utcFridays:function(){return L.fz},utcHour:function(){return M},utcHours:function(){return A},utcMillisecond:function(){return s},utcMilliseconds:function(){return T},utcMinute:function(){return y},utcMinutes:function(){return k},utcMonday:function(){return L.l6},utcMondays:function(){return L.$3},utcMonth:function(){return I},utcMonths:function(){return R},utcSaturday:function(){return L.g4},utcSaturdays:function(){return L.Q_},utcSecond:function(){return l},utcSeconds:function(){return t},utcSunday:function(){return L.Ox},utcSundays:function(){return L.SU},utcThursday:function(){return L.hB},utcThursdays:function(){return L.xj},utcTuesday:function(){return L.J1},utcTuesdays:function(){return L.DK},utcWednesday:function(){return L.b3},utcWednesdays:function(){return L.uy},utcWeek:function(){return L.Ox},utcWeeks:function(){return L.SU},utcYear:function(){return U.Z},utcYears:function(){return U.D}});var _=e(30052),w=(0,_.Z)(function(){},function(B,G){B.setTime(+B+G)},function(B,G){return G-B});w.every=function(B){return B=Math.floor(B),isFinite(B)&&B>0?B>1?(0,_.Z)(function(G){G.setTime(Math.floor(G/B)*B)},function(G,N){G.setTime(+G+N*B)},function(G,N){return(N-G)/B}):w:null};var s=w,T=w.range,m=e(54263),f=(0,_.Z)(function(B){B.setTime(B-B.getMilliseconds())},function(B,G){B.setTime(+B+G*m.Ym)},function(B,G){return(G-B)/m.Ym},function(B){return B.getUTCSeconds()}),l=f,t=f.range,a=(0,_.Z)(function(B){B.setTime(B-B.getMilliseconds()-B.getSeconds()*m.Ym)},function(B,G){B.setTime(+B+G*m.yB)},function(B,G){return(G-B)/m.yB},function(B){return B.getMinutes()}),r=a,n=a.range,o=(0,_.Z)(function(B){B.setTime(B-B.getMilliseconds()-B.getSeconds()*m.Ym-B.getMinutes()*m.yB)},function(B,G){B.setTime(+B+G*m.Y2)},function(B,G){return(G-B)/m.Y2},function(B){return B.getHours()}),i=o,u=o.range,p=e(82301),c=e(59879),x=(0,_.Z)(function(B){B.setDate(1),B.setHours(0,0,0,0)},function(B,G){B.setMonth(B.getMonth()+G)},function(B,G){return G.getMonth()-B.getMonth()+12*(G.getFullYear()-B.getFullYear())},function(B){return B.getMonth()}),d=x,v=x.range,b=e(34823),g=(0,_.Z)(function(B){B.setUTCSeconds(0,0)},function(B,G){B.setTime(+B+G*m.yB)},function(B,G){return(G-B)/m.yB},function(B){return B.getUTCMinutes()}),y=g,k=g.range,h=(0,_.Z)(function(B){B.setUTCMinutes(0,0,0)},function(B,G){B.setTime(+B+G*m.Y2)},function(B,G){return(G-B)/m.Y2},function(B){return B.getUTCHours()}),M=h,A=h.range,C=e(48480),L=e(58176),P=(0,_.Z)(function(B){B.setUTCDate(1),B.setUTCHours(0,0,0,0)},function(B,G){B.setUTCMonth(B.getUTCMonth()+G)},function(B,G){return G.getUTCMonth()-B.getUTCMonth()+12*(G.getUTCFullYear()-B.getUTCFullYear())},function(B){return B.getUTCMonth()}),I=P,R=P.range,U=e(79791)},30052:function(D,E,e){e.d(E,{Z:function(){return s}});var _=new Date,w=new Date;function s(T,m,f,l){function t(a){return T(a=arguments.length===0?new Date:new Date(+a)),a}return t.floor=function(a){return T(a=new Date(+a)),a},t.ceil=function(a){return T(a=new Date(a-1)),m(a,1),T(a),a},t.round=function(a){var r=t(a),n=t.ceil(a);return a-r0))return i;do i.push(o=new Date(+a)),m(a,n),T(a);while(o=r)for(;T(r),!a(r);)r.setTime(r-1)},function(r,n){if(r>=r)if(n<0)for(;++n<=0;)for(;m(r,-1),!a(r););else for(;--n>=0;)for(;m(r,1),!a(r););})},f&&(t.count=function(a,r){return _.setTime(+a),w.setTime(+r),T(_),T(w),Math.floor(f(_,w))},t.every=function(a){return a=Math.floor(a),isFinite(a)&&a>0?a>1?t.filter(l?function(r){return l(r)%a==0}:function(r){return t.count(0,r)%a==0}):t:null}),t}},48480:function(D,E,e){e.d(E,{y:function(){return T}});var _=e(30052),w=e(54263),s=(0,_.Z)(function(m){m.setUTCHours(0,0,0,0)},function(m,f){m.setUTCDate(m.getUTCDate()+f)},function(m,f){return(f-m)/w.UD},function(m){return m.getUTCDate()-1});E.Z=s;var T=s.range},58176:function(D,E,e){e.d(E,{$3:function(){return o},DK:function(){return i},J1:function(){return f},Ox:function(){return T},QQ:function(){return a},Q_:function(){return x},SU:function(){return n},b3:function(){return l},fz:function(){return c},g4:function(){return r},hB:function(){return t},l6:function(){return m},uy:function(){return u},xj:function(){return p}});var _=e(30052),w=e(54263);function s(d){return(0,_.Z)(function(v){v.setUTCDate(v.getUTCDate()-(v.getUTCDay()+7-d)%7),v.setUTCHours(0,0,0,0)},function(v,b){v.setUTCDate(v.getUTCDate()+7*b)},function(v,b){return(b-v)/w.iM})}var T=s(0),m=s(1),f=s(2),l=s(3),t=s(4),a=s(5),r=s(6),n=T.range,o=m.range,i=f.range,u=l.range,p=t.range,c=a.range,x=r.range},79791:function(D,E,e){e.d(E,{D:function(){return s}});var _=e(30052),w=(0,_.Z)(function(T){T.setUTCMonth(0,1),T.setUTCHours(0,0,0,0)},function(T,m){T.setUTCFullYear(T.getUTCFullYear()+m)},function(T,m){return m.getUTCFullYear()-T.getUTCFullYear()},function(T){return T.getUTCFullYear()});w.every=function(T){return isFinite(T=Math.floor(T))&&T>0?(0,_.Z)(function(m){m.setUTCFullYear(Math.floor(m.getUTCFullYear()/T)*T),m.setUTCMonth(0,1),m.setUTCHours(0,0,0,0)},function(m,f){m.setUTCFullYear(m.getUTCFullYear()+f*T)}):null},E.Z=w;var s=w.range},59879:function(D,E,e){e.d(E,{$t:function(){return p},EY:function(){return r},Ff:function(){return x},Ld:function(){return u},OM:function(){return T},aU:function(){return i},b$:function(){return c},bJ:function(){return o},bL:function(){return t},mC:function(){return a},sy:function(){return f},vm:function(){return n},wA:function(){return m},zg:function(){return l}});var _=e(30052),w=e(54263);function s(d){return(0,_.Z)(function(v){v.setDate(v.getDate()-(v.getDay()+7-d)%7),v.setHours(0,0,0,0)},function(v,b){v.setDate(v.getDate()+7*b)},function(v,b){return(b-v-(b.getTimezoneOffset()-v.getTimezoneOffset())*w.yB)/w.iM})}var T=s(0),m=s(1),f=s(2),l=s(3),t=s(4),a=s(5),r=s(6),n=T.range,o=m.range,i=f.range,u=l.range,p=t.range,c=a.range,x=r.range},34823:function(D,E,e){e.d(E,{g:function(){return s}});var _=e(30052),w=(0,_.Z)(function(T){T.setMonth(0,1),T.setHours(0,0,0,0)},function(T,m){T.setFullYear(T.getFullYear()+m)},function(T,m){return m.getFullYear()-T.getFullYear()},function(T){return T.getFullYear()});w.every=function(T){return isFinite(T=Math.floor(T))&&T>0?(0,_.Z)(function(m){m.setFullYear(Math.floor(m.getFullYear()/T)*T),m.setMonth(0,1),m.setHours(0,0,0,0)},function(m,f){m.setFullYear(m.getFullYear()+f*T)}):null},E.Z=w;var s=w.range},17045:function(D,E,e){var _=e(8709),w=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",s=Object.prototype.toString,T=Array.prototype.concat,m=Object.defineProperty,f=e(55622)(),l=m&&f,t=function(r,n,o,i){if(n in r){if(i===!0){if(r[n]===o)return}else if(typeof(u=i)!="function"||s.call(u)!=="[object Function]"||!i())return}var u;l?m(r,n,{configurable:!0,enumerable:!1,value:o,writable:!0}):r[n]=o},a=function(r,n){var o=arguments.length>2?arguments[2]:{},i=_(n);w&&(i=T.call(i,Object.getOwnPropertySymbols(n)));for(var u=0;ul*t){var i=(o-n)/l;f[r]=1e3*i}}return f}function w(s){for(var T=[],m=s[0];m<=s[1];m++)for(var f=String.fromCharCode(m),l=s[0];l0)return function(w,s){var T,m;for(T=new Array(w),m=0;m80*C){L=I=M[0],P=R=M[1];for(var ee=C;eeI&&(I=U),B>R&&(R=B);G=(G=Math.max(I-L,R-P))!==0?1/G:0}return w(V,H,C,L,P,G),H}function e(M,A,C,L,P){var I,R;if(P===h(M,A,C,L)>0)for(I=A;I=A;I-=L)R=g(I,M[I],M[I+1],R);return R&&p(R,R.next)&&(y(R),R=R.next),R}function _(M,A){if(!M)return M;A||(A=M);var C,L=M;do if(C=!1,L.steiner||!p(L,L.next)&&u(L.prev,L,L.next)!==0)L=L.next;else{if(y(L),(L=A=L.prev)===L.next)break;C=!0}while(C||L!==A);return A}function w(M,A,C,L,P,I,R){if(M){!R&&I&&function(N,j,V,H){var ee=N;do ee.z===null&&(ee.z=r(ee.x,ee.y,j,V,H)),ee.prevZ=ee.prev,ee.nextZ=ee.next,ee=ee.next;while(ee!==N);ee.prevZ.nextZ=null,ee.prevZ=null,function(Q){var X,Y,K,te,ie,oe,se,ce,xe=1;do{for(Y=Q,Q=null,ie=null,oe=0;Y;){for(oe++,K=Y,se=0,X=0;X0||ce>0&&K;)se!==0&&(ce===0||!K||Y.z<=K.z)?(te=Y,Y=Y.nextZ,se--):(te=K,K=K.nextZ,ce--),ie?ie.nextZ=te:Q=te,te.prevZ=ie,ie=te;Y=K}ie.nextZ=null,xe*=2}while(oe>1)}(ee)}(M,L,P,I);for(var U,B,G=M;M.prev!==M.next;)if(U=M.prev,B=M.next,I?T(M,L,P,I):s(M))A.push(U.i/C),A.push(M.i/C),A.push(B.i/C),y(M),M=B.next,G=B.next;else if((M=B)===G){R?R===1?w(M=m(_(M),A,C),A,C,L,P,I,2):R===2&&f(M,A,C,L,P,I):w(_(M),A,C,L,P,I,1);break}}}function s(M){var A=M.prev,C=M,L=M.next;if(u(A,C,L)>=0)return!1;for(var P=M.next.next;P!==M.prev;){if(o(A.x,A.y,C.x,C.y,L.x,L.y,P.x,P.y)&&u(P.prev,P,P.next)>=0)return!1;P=P.next}return!0}function T(M,A,C,L){var P=M.prev,I=M,R=M.next;if(u(P,I,R)>=0)return!1;for(var U=P.xI.x?P.x>R.x?P.x:R.x:I.x>R.x?I.x:R.x,N=P.y>I.y?P.y>R.y?P.y:R.y:I.y>R.y?I.y:R.y,j=r(U,B,A,C,L),V=r(G,N,A,C,L),H=M.prevZ,ee=M.nextZ;H&&H.z>=j&&ee&&ee.z<=V;){if(H!==M.prev&&H!==M.next&&o(P.x,P.y,I.x,I.y,R.x,R.y,H.x,H.y)&&u(H.prev,H,H.next)>=0||(H=H.prevZ,ee!==M.prev&&ee!==M.next&&o(P.x,P.y,I.x,I.y,R.x,R.y,ee.x,ee.y)&&u(ee.prev,ee,ee.next)>=0))return!1;ee=ee.nextZ}for(;H&&H.z>=j;){if(H!==M.prev&&H!==M.next&&o(P.x,P.y,I.x,I.y,R.x,R.y,H.x,H.y)&&u(H.prev,H,H.next)>=0)return!1;H=H.prevZ}for(;ee&&ee.z<=V;){if(ee!==M.prev&&ee!==M.next&&o(P.x,P.y,I.x,I.y,R.x,R.y,ee.x,ee.y)&&u(ee.prev,ee,ee.next)>=0)return!1;ee=ee.nextZ}return!0}function m(M,A,C){var L=M;do{var P=L.prev,I=L.next.next;!p(P,I)&&c(P,L,L.next,I)&&v(P,I)&&v(I,P)&&(A.push(P.i/C),A.push(L.i/C),A.push(I.i/C),y(L),y(L.next),L=M=I),L=L.next}while(L!==M);return _(L)}function f(M,A,C,L,P,I){var R=M;do{for(var U=R.next.next;U!==R.prev;){if(R.i!==U.i&&i(R,U)){var B=b(R,U);return R=_(R,R.next),B=_(B,B.next),w(R,A,C,L,P,I),void w(B,A,C,L,P,I)}U=U.next}R=R.next}while(R!==M)}function l(M,A){return M.x-A.x}function t(M,A){if(A=function(L,P){var I,R=P,U=L.x,B=L.y,G=-1/0;do{if(B<=R.y&&B>=R.next.y&&R.next.y!==R.y){var N=R.x+(B-R.y)*(R.next.x-R.x)/(R.next.y-R.y);if(N<=U&&N>G){if(G=N,N===U){if(B===R.y)return R;if(B===R.next.y)return R.next}I=R.x=R.x&&R.x>=H&&U!==R.x&&o(BI.x||R.x===I.x&&a(I,R)))&&(I=R,Q=j)),R=R.next;while(R!==V);return I}(M,A),A){var C=b(A,M);_(A,A.next),_(C,C.next)}}function a(M,A){return u(M.prev,M,A.prev)<0&&u(A.next,M,M.next)<0}function r(M,A,C,L,P){return(M=1431655765&((M=858993459&((M=252645135&((M=16711935&((M=32767*(M-C)*P)|M<<8))|M<<4))|M<<2))|M<<1))|(A=1431655765&((A=858993459&((A=252645135&((A=16711935&((A=32767*(A-L)*P)|A<<8))|A<<4))|A<<2))|A<<1))<<1}function n(M){var A=M,C=M;do(A.x=0&&(M-R)*(L-U)-(C-R)*(A-U)>=0&&(C-R)*(I-U)-(P-R)*(L-U)>=0}function i(M,A){return M.next.i!==A.i&&M.prev.i!==A.i&&!function(C,L){var P=C;do{if(P.i!==C.i&&P.next.i!==C.i&&P.i!==L.i&&P.next.i!==L.i&&c(P,P.next,C,L))return!0;P=P.next}while(P!==C);return!1}(M,A)&&(v(M,A)&&v(A,M)&&function(C,L){var P=C,I=!1,R=(C.x+L.x)/2,U=(C.y+L.y)/2;do P.y>U!=P.next.y>U&&P.next.y!==P.y&&R<(P.next.x-P.x)*(U-P.y)/(P.next.y-P.y)+P.x&&(I=!I),P=P.next;while(P!==C);return I}(M,A)&&(u(M.prev,M,A.prev)||u(M,A.prev,A))||p(M,A)&&u(M.prev,M,M.next)>0&&u(A.prev,A,A.next)>0)}function u(M,A,C){return(A.y-M.y)*(C.x-A.x)-(A.x-M.x)*(C.y-A.y)}function p(M,A){return M.x===A.x&&M.y===A.y}function c(M,A,C,L){var P=d(u(M,A,C)),I=d(u(M,A,L)),R=d(u(C,L,M)),U=d(u(C,L,A));return P!==I&&R!==U||!(P!==0||!x(M,C,A))||!(I!==0||!x(M,L,A))||!(R!==0||!x(C,M,L))||!(U!==0||!x(C,A,L))}function x(M,A,C){return A.x<=Math.max(M.x,C.x)&&A.x>=Math.min(M.x,C.x)&&A.y<=Math.max(M.y,C.y)&&A.y>=Math.min(M.y,C.y)}function d(M){return M>0?1:M<0?-1:0}function v(M,A){return u(M.prev,M,M.next)<0?u(M,A,M.next)>=0&&u(M,M.prev,A)>=0:u(M,A,M.prev)<0||u(M,M.next,A)<0}function b(M,A){var C=new k(M.i,M.x,M.y),L=new k(A.i,A.x,A.y),P=M.next,I=A.prev;return M.next=A,A.prev=M,C.next=P,P.prev=C,L.next=C,C.prev=L,I.next=L,L.prev=I,L}function g(M,A,C,L){var P=new k(M,A,C);return L?(P.next=L.next,P.prev=L,L.next.prev=P,L.next=P):(P.prev=P,P.next=P),P}function y(M){M.next.prev=M.prev,M.prev.next=M.next,M.prevZ&&(M.prevZ.nextZ=M.nextZ),M.nextZ&&(M.nextZ.prevZ=M.prevZ)}function k(M,A,C){this.i=M,this.x=A,this.y=C,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function h(M,A,C,L){for(var P=0,I=A,R=C-L;I0&&(L+=M[P-1].length,C.holes.push(L))}return C}},2502:function(D,E,e){var _=e(68664);D.exports=function(w,s){var T,m=[],f=[],l=[],t={},a=[];function r(v){l[v]=!1,t.hasOwnProperty(v)&&Object.keys(t[v]).forEach(function(b){delete t[v][b],l[b]&&r(b)})}function n(v){var b,g,y=!1;for(f.push(v),l[v]=!0,b=0;b=C})})(v);for(var b,g=_(w).components.filter(function(C){return C.length>1}),y=1/0,k=0;k=55296&&v<=56319&&(k+=i[++p]),k=h?r.call(h,M,k,c):k,u?(n.value=k,o(x,c,n)):x[c]=k,++c;d=c}}if(d===void 0)for(d=T(i.length),u&&(x=new u(d)),p=0;p0?1:-1}},56247:function(D,E,e){var _=e(9953),w=Math.abs,s=Math.floor;D.exports=function(T){return isNaN(T)?0:(T=Number(T))!==0&&isFinite(T)?_(T)*s(w(T)):T}},35976:function(D,E,e){var _=e(56247),w=Math.max;D.exports=function(s){return w(0,_(s))}},67260:function(D,E,e){var _=e(78513),w=e(36672),s=Function.prototype.bind,T=Function.prototype.call,m=Object.keys,f=Object.prototype.propertyIsEnumerable;D.exports=function(l,t){return function(a,r){var n,o=arguments[2],i=arguments[3];return a=Object(w(a)),_(r),n=m(a),i&&n.sort(typeof i=="function"?s.call(i,a):void 0),typeof l!="function"&&(l=n[l]),T.call(l,n,function(u,p){return f.call(a,u)?T.call(r,o,a[u],u,a,p):t})}}},95879:function(D,E,e){D.exports=e(73583)()?Object.assign:e(34205)},73583:function(D){D.exports=function(){var E,e=Object.assign;return typeof e=="function"&&(e(E={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),E.foo+E.bar+E.trzy==="razdwatrzy")}},34205:function(D,E,e){var _=e(68700),w=e(36672),s=Math.max;D.exports=function(T,m){var f,l,t,a=s(arguments.length,2);for(T=Object(w(T)),t=function(r){try{T[r]=m[r]}catch(n){f||(f=n)}},l=1;l-1}},87963:function(D){var E=Object.prototype.toString,e=E.call("");D.exports=function(_){return typeof _=="string"||_&&typeof _=="object"&&(_ instanceof String||E.call(_)===e)||!1}},43043:function(D){var E=Object.create(null),e=Math.random;D.exports=function(){var _;do _=e().toString(36).slice(2);while(E[_]);return _}},32411:function(D,E,e){var _,w=e(1496),s=e(66741),T=e(62072),m=e(8260),f=e(95426),l=Object.defineProperty;_=D.exports=function(t,a){if(!(this instanceof _))throw new TypeError("Constructor requires 'new'");f.call(this,t),a=a?s.call(a,"key+value")?"key+value":s.call(a,"key")?"key":"value":"value",l(this,"__kind__",T("",a))},w&&w(_,f),delete _.prototype.constructor,_.prototype=Object.create(f.prototype,{_resolve:T(function(t){return this.__kind__==="value"?this.__list__[t]:this.__kind__==="key+value"?[t,this.__list__[t]]:t})}),l(_.prototype,m.toStringTag,T("c","Array Iterator"))},27515:function(D,E,e){var _=e(73051),w=e(78513),s=e(87963),T=e(66661),m=Array.isArray,f=Function.prototype.call,l=Array.prototype.some;D.exports=function(t,a){var r,n,o,i,u,p,c,x,d=arguments[2];if(m(t)||_(t)?r="array":s(t)?r="string":t=T(t),w(a),o=function(){i=!0},r!=="array")if(r!=="string")for(n=t.next();!n.done;){if(f.call(a,d,n.value,o),i)return;n=t.next()}else for(p=t.length,u=0;u=55296&&x<=56319&&(c+=t[++u]),f.call(a,d,c,o),!i);++u);else l.call(t,function(v){return f.call(a,d,v,o),i})}},66661:function(D,E,e){var _=e(73051),w=e(87963),s=e(32411),T=e(259),m=e(58095),f=e(8260).iterator;D.exports=function(l){return typeof m(l)[f]=="function"?l[f]():_(l)?new s(l):w(l)?new T(l):new s(l)}},95426:function(D,E,e){var _,w=e(16134),s=e(95879),T=e(78513),m=e(36672),f=e(62072),l=e(55174),t=e(8260),a=Object.defineProperty,r=Object.defineProperties;D.exports=_=function(n,o){if(!(this instanceof _))throw new TypeError("Constructor requires 'new'");r(this,{__list__:f("w",m(n)),__context__:f("w",o),__nextIndex__:f("w",0)}),o&&(T(o.on),o.on("_add",this._onAdd),o.on("_delete",this._onDelete),o.on("_clear",this._onClear))},delete _.prototype.constructor,r(_.prototype,s({_next:f(function(){var n;if(this.__list__)return this.__redo__&&(n=this.__redo__.shift())!==void 0?n:this.__nextIndex__=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach(function(o,i){o>=n&&(this.__redo__[i]=++o)},this),this.__redo__.push(n)):a(this,"__redo__",f("c",[n])))}),_onDelete:f(function(n){var o;n>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&((o=this.__redo__.indexOf(n))!==-1&&this.__redo__.splice(o,1),this.__redo__.forEach(function(i,u){i>n&&(this.__redo__[u]=--i)},this)))}),_onClear:f(function(){this.__redo__&&w.call(this.__redo__),this.__nextIndex__=0})}))),a(_.prototype,t.iterator,f(function(){return this}))},35940:function(D,E,e){var _=e(73051),w=e(95296),s=e(87963),T=e(8260).iterator,m=Array.isArray;D.exports=function(f){return!(!w(f)||!m(f)&&!s(f)&&!_(f)&&typeof f[T]!="function")}},259:function(D,E,e){var _,w=e(1496),s=e(62072),T=e(8260),m=e(95426),f=Object.defineProperty;_=D.exports=function(l){if(!(this instanceof _))throw new TypeError("Constructor requires 'new'");l=String(l),m.call(this,l),f(this,"__length__",s("",l.length))},w&&w(_,m),delete _.prototype.constructor,_.prototype=Object.create(m.prototype,{_next:s(function(){if(this.__list__)return this.__nextIndex__=55296&&t<=56319?a+this.__list__[this.__nextIndex__++]:a})}),f(_.prototype,T.toStringTag,s("c","String Iterator"))},58095:function(D,E,e){var _=e(35940);D.exports=function(w){if(!_(w))throw new TypeError(w+" is not iterable");return w}},73523:function(D){function E(e,_){if(e==null)throw new TypeError("Cannot convert first argument to object");for(var w=Object(e),s=1;s0&&b.length>d&&!b.warned){b.warned=!0;var y=new Error("Possible EventEmitter memory leak detected. "+b.length+" "+String(p)+" listeners added. Use emitter.setMaxListeners() to increase limit");y.name="MaxListenersExceededWarning",y.emitter=u,y.type=p,y.count=b.length,g=y,console&&console.warn&&console.warn(g)}return u}function t(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function a(u,p,c){var x={fired:!1,wrapFn:void 0,target:u,type:p,listener:c},d=t.bind(x);return d.listener=c,x.wrapFn=d,d}function r(u,p,c){var x=u._events;if(x===void 0)return[];var d=x[p];return d===void 0?[]:typeof d=="function"?c?[d.listener||d]:[d]:c?function(v){for(var b=new Array(v.length),g=0;g0&&(v=p[0]),v instanceof Error)throw v;var b=new Error("Unhandled error."+(v?" ("+v.message+")":""));throw b.context=v,b}var g=d[u];if(g===void 0)return!1;if(typeof g=="function")_(g,this,p);else{var y=g.length,k=o(g,y);for(c=0;c=0;v--)if(c[v]===p||c[v].listener===p){b=c[v].listener,d=v;break}if(d<0)return this;d===0?c.shift():function(g,y){for(;y+1=0;x--)this.removeListener(u,p[x]);return this},s.prototype.listeners=function(u){return r(this,u,!0)},s.prototype.rawListeners=function(u){return r(this,u,!1)},s.listenerCount=function(u,p){return typeof u.listenerCount=="function"?u.listenerCount(p):n.call(u,p)},s.prototype.listenerCount=n,s.prototype.eventNames=function(){return this._eventsCount>0?E(this._events):[]}},60774:function(D){var E=function(){if(typeof self=="object"&&self)return self;if(typeof window=="object"&&window)return window;throw new Error("Unable to resolve global `this`")};D.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch{return E()}try{return __global__||E()}finally{delete Object.prototype.__global__}}()},94908:function(D,E,e){D.exports=e(51152)()?globalThis:e(60774)},51152:function(D){D.exports=function(){return typeof globalThis=="object"&&!!globalThis&&globalThis.Array===Array}},92770:function(D,E,e){var _=e(18546);D.exports=function(w){var s=typeof w;if(s==="string"){var T=w;if((w=+w)==0&&_(T))return!1}else if(s!=="number")return!1;return w-w<1}},30120:function(D,E,e){var _=e(90660);D.exports=function(w,s,T){if(!w)throw new TypeError("must specify data as first parameter");if(T=0|+(T||0),Array.isArray(w)&&w[0]&&typeof w[0][0]=="number"){var m,f,l,t,a=w[0].length,r=w.length*a;s&&typeof s!="string"||(s=new(_(s||"float32"))(r+T));var n=s.length-T;if(r!==n)throw new Error("source length "+r+" ("+a+"x"+w.length+") does not match destination length "+n);for(m=0,l=T;mT[0]-l[0]/2&&(i=l[0]/2,u+=l[1]);return m}},32879:function(D){function E(s,T){T||(T={}),(typeof s=="string"||Array.isArray(s))&&(T.family=s);var m=Array.isArray(T.family)?T.family.join(", "):T.family;if(!m)throw Error("`family` must be defined");var f=T.size||T.fontSize||T.em||48,l=T.weight||T.fontWeight||"",t=(s=[T.style||T.fontStyle||"",l,f].join(" ")+"px "+m,T.origin||"top");if(E.cache[m]&&f<=E.cache[m].em)return e(E.cache[m],t);var a=T.canvas||E.canvas,r=a.getContext("2d"),n={upper:T.upper!==void 0?T.upper:"H",lower:T.lower!==void 0?T.lower:"x",descent:T.descent!==void 0?T.descent:"p",ascent:T.ascent!==void 0?T.ascent:"h",tittle:T.tittle!==void 0?T.tittle:"i",overshoot:T.overshoot!==void 0?T.overshoot:"O"},o=Math.ceil(1.5*f);a.height=o,a.width=.5*o,r.font=s;var i="H",u={top:0};r.clearRect(0,0,o,o),r.textBaseline="top",r.fillStyle="black",r.fillText(i,0,0);var p=_(r.getImageData(0,0,o,o));r.clearRect(0,0,o,o),r.textBaseline="bottom",r.fillText(i,0,o);var c=_(r.getImageData(0,0,o,o));u.lineHeight=u.bottom=o-c+p,r.clearRect(0,0,o,o),r.textBaseline="alphabetic",r.fillText(i,0,o);var x=o-_(r.getImageData(0,0,o,o))-1+p;u.baseline=u.alphabetic=x,r.clearRect(0,0,o,o),r.textBaseline="middle",r.fillText(i,0,.5*o);var d=_(r.getImageData(0,0,o,o));u.median=u.middle=o-d-1+p-.5*o,r.clearRect(0,0,o,o),r.textBaseline="hanging",r.fillText(i,0,.5*o);var v=_(r.getImageData(0,0,o,o));u.hanging=o-v-1+p-.5*o,r.clearRect(0,0,o,o),r.textBaseline="ideographic",r.fillText(i,0,o);var b=_(r.getImageData(0,0,o,o));if(u.ideographic=o-b-1+p,n.upper&&(r.clearRect(0,0,o,o),r.textBaseline="top",r.fillText(n.upper,0,0),u.upper=_(r.getImageData(0,0,o,o)),u.capHeight=u.baseline-u.upper),n.lower&&(r.clearRect(0,0,o,o),r.textBaseline="top",r.fillText(n.lower,0,0),u.lower=_(r.getImageData(0,0,o,o)),u.xHeight=u.baseline-u.lower),n.tittle&&(r.clearRect(0,0,o,o),r.textBaseline="top",r.fillText(n.tittle,0,0),u.tittle=_(r.getImageData(0,0,o,o))),n.ascent&&(r.clearRect(0,0,o,o),r.textBaseline="top",r.fillText(n.ascent,0,0),u.ascent=_(r.getImageData(0,0,o,o))),n.descent&&(r.clearRect(0,0,o,o),r.textBaseline="top",r.fillText(n.descent,0,0),u.descent=w(r.getImageData(0,0,o,o))),n.overshoot){r.clearRect(0,0,o,o),r.textBaseline="top",r.fillText(n.overshoot,0,0);var g=w(r.getImageData(0,0,o,o));u.overshoot=g-x}for(var y in u)u[y]/=f;return u.em=f,E.cache[m]=u,e(u,t)}function e(s,T){var m={};for(var f in typeof T=="string"&&(T=s[T]),s)f!=="em"&&(m[f]=s[f]-T);return m}function _(s){for(var T=s.height,m=s.data,f=3;f0;f-=4)if(m[f]!==0)return Math.floor(.25*(f-3)/T)}D.exports=E,E.canvas=document.createElement("canvas"),E.cache={}},31353:function(D,E,e){var _=e(85395),w=Object.prototype.toString,s=Object.prototype.hasOwnProperty,T=function(l,t,a){for(var r=0,n=l.length;r=3&&(r=a),w.call(l)==="[object Array]"?T(l,t,r):typeof l=="string"?m(l,t,r):f(l,t,r)}},73047:function(D){var E="Function.prototype.bind called on incompatible ",e=Array.prototype.slice,_=Object.prototype.toString,w="[object Function]";D.exports=function(s){var T=this;if(typeof T!="function"||_.call(T)!==w)throw new TypeError(E+T);for(var m,f=e.call(arguments,1),l=function(){if(this instanceof m){var o=T.apply(this,f.concat(e.call(arguments)));return Object(o)===o?o:this}return T.apply(s,f.concat(e.call(arguments)))},t=Math.max(0,T.length-f.length),a=[],r=0;r"u"&&!e.canvas)return null;var _=e.canvas||document.createElement("canvas");typeof e.width=="number"&&(_.width=e.width),typeof e.height=="number"&&(_.height=e.height);var w,s=e;try{var T=[E];E.indexOf("webgl")===0&&T.push("experimental-"+E);for(var m=0;m"u"?_:r(Uint8Array),i={"%AggregateError%":typeof AggregateError>"u"?_:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?_:ArrayBuffer,"%ArrayIteratorPrototype%":a?r([][Symbol.iterator]()):_,"%AsyncFromSyncIteratorPrototype%":_,"%AsyncFunction%":n,"%AsyncGenerator%":n,"%AsyncGeneratorFunction%":n,"%AsyncIteratorPrototype%":n,"%Atomics%":typeof Atomics>"u"?_:Atomics,"%BigInt%":typeof BigInt>"u"?_:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?_:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?_:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?_:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?_:Float32Array,"%Float64Array%":typeof Float64Array>"u"?_:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?_:FinalizationRegistry,"%Function%":s,"%GeneratorFunction%":n,"%Int8Array%":typeof Int8Array>"u"?_:Int8Array,"%Int16Array%":typeof Int16Array>"u"?_:Int16Array,"%Int32Array%":typeof Int32Array>"u"?_:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":a?r(r([][Symbol.iterator]())):_,"%JSON%":typeof JSON=="object"?JSON:_,"%Map%":typeof Map>"u"?_:Map,"%MapIteratorPrototype%":typeof Map<"u"&&a?r(new Map()[Symbol.iterator]()):_,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?_:Promise,"%Proxy%":typeof Proxy>"u"?_:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?_:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?_:Set,"%SetIteratorPrototype%":typeof Set<"u"&&a?r(new Set()[Symbol.iterator]()):_,"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?_:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":a?r(""[Symbol.iterator]()):_,"%Symbol%":a?Symbol:_,"%SyntaxError%":w,"%ThrowTypeError%":t,"%TypedArray%":o,"%TypeError%":T,"%Uint8Array%":typeof Uint8Array>"u"?_:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?_:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?_:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?_:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?_:WeakMap,"%WeakRef%":typeof WeakRef>"u"?_:WeakRef,"%WeakSet%":typeof WeakSet>"u"?_:WeakSet};try{null.error}catch(L){var u=r(r(L));i["%Error.prototype%"]=u}var p=function L(P){var I;if(P==="%AsyncFunction%")I=m("async function () {}");else if(P==="%GeneratorFunction%")I=m("function* () {}");else if(P==="%AsyncGeneratorFunction%")I=m("async function* () {}");else if(P==="%AsyncGenerator%"){var R=L("%AsyncGeneratorFunction%");R&&(I=R.prototype)}else if(P==="%AsyncIteratorPrototype%"){var U=L("%AsyncGenerator%");U&&(I=r(U.prototype))}return i[P]=I,I},c={"%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"]},x=e(77575),d=e(35065),v=x.call(Function.call,Array.prototype.concat),b=x.call(Function.apply,Array.prototype.splice),g=x.call(Function.call,String.prototype.replace),y=x.call(Function.call,String.prototype.slice),k=x.call(Function.call,RegExp.prototype.exec),h=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,M=/\\(\\)?/g,A=function(L){var P=y(L,0,1),I=y(L,-1);if(P==="%"&&I!=="%")throw new w("invalid intrinsic syntax, expected closing `%`");if(I==="%"&&P!=="%")throw new w("invalid intrinsic syntax, expected opening `%`");var R=[];return g(L,h,function(U,B,G,N){R[R.length]=G?g(N,M,"$1"):B||U}),R},C=function(L,P){var I,R=L;if(d(c,R)&&(R="%"+(I=c[R])[0]+"%"),d(i,R)){var U=i[R];if(U===n&&(U=p(R)),U===void 0&&!P)throw new T("intrinsic "+L+" exists, but is not available. Please file an issue!");return{alias:I,name:R,value:U}}throw new w("intrinsic "+L+" does not exist!")};D.exports=function(L,P){if(typeof L!="string"||L.length===0)throw new T("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof P!="boolean")throw new T('"allowMissing" argument must be a boolean');if(k(/^%?[^%]*%?$/,L)===null)throw new w("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var I=A(L),R=I.length>0?I[0]:"",U=C("%"+R+"%",P),B=U.name,G=U.value,N=!1,j=U.alias;j&&(R=j[0],b(I,v([0,1],j)));for(var V=1,H=!0;V=I.length){var Y=f(G,ee);G=(H=!!Y)&&"get"in Y&&!("originalValue"in Y.get)?Y.get:G[ee]}else H=d(G,ee),G=G[ee];H&&!N&&(i[B]=G)}}return G}},85400:function(D){D.exports=function(E,e){var _=e[0],w=e[1],s=e[2],T=e[3],m=e[4],f=e[5],l=e[6],t=e[7],a=e[8],r=e[9],n=e[10],o=e[11],i=e[12],u=e[13],p=e[14],c=e[15];return E[0]=f*(n*c-o*p)-r*(l*c-t*p)+u*(l*o-t*n),E[1]=-(w*(n*c-o*p)-r*(s*c-T*p)+u*(s*o-T*n)),E[2]=w*(l*c-t*p)-f*(s*c-T*p)+u*(s*t-T*l),E[3]=-(w*(l*o-t*n)-f*(s*o-T*n)+r*(s*t-T*l)),E[4]=-(m*(n*c-o*p)-a*(l*c-t*p)+i*(l*o-t*n)),E[5]=_*(n*c-o*p)-a*(s*c-T*p)+i*(s*o-T*n),E[6]=-(_*(l*c-t*p)-m*(s*c-T*p)+i*(s*t-T*l)),E[7]=_*(l*o-t*n)-m*(s*o-T*n)+a*(s*t-T*l),E[8]=m*(r*c-o*u)-a*(f*c-t*u)+i*(f*o-t*r),E[9]=-(_*(r*c-o*u)-a*(w*c-T*u)+i*(w*o-T*r)),E[10]=_*(f*c-t*u)-m*(w*c-T*u)+i*(w*t-T*f),E[11]=-(_*(f*o-t*r)-m*(w*o-T*r)+a*(w*t-T*f)),E[12]=-(m*(r*p-n*u)-a*(f*p-l*u)+i*(f*n-l*r)),E[13]=_*(r*p-n*u)-a*(w*p-s*u)+i*(w*n-s*r),E[14]=-(_*(f*p-l*u)-m*(w*p-s*u)+i*(w*l-s*f)),E[15]=_*(f*n-l*r)-m*(w*n-s*r)+a*(w*l-s*f),E}},42331:function(D){D.exports=function(E){var e=new Float32Array(16);return e[0]=E[0],e[1]=E[1],e[2]=E[2],e[3]=E[3],e[4]=E[4],e[5]=E[5],e[6]=E[6],e[7]=E[7],e[8]=E[8],e[9]=E[9],e[10]=E[10],e[11]=E[11],e[12]=E[12],e[13]=E[13],e[14]=E[14],e[15]=E[15],e}},31042:function(D){D.exports=function(E,e){return E[0]=e[0],E[1]=e[1],E[2]=e[2],E[3]=e[3],E[4]=e[4],E[5]=e[5],E[6]=e[6],E[7]=e[7],E[8]=e[8],E[9]=e[9],E[10]=e[10],E[11]=e[11],E[12]=e[12],E[13]=e[13],E[14]=e[14],E[15]=e[15],E}},11902:function(D){D.exports=function(){var E=new Float32Array(16);return E[0]=1,E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=1,E[6]=0,E[7]=0,E[8]=0,E[9]=0,E[10]=1,E[11]=0,E[12]=0,E[13]=0,E[14]=0,E[15]=1,E}},89887:function(D){D.exports=function(E){var e=E[0],_=E[1],w=E[2],s=E[3],T=E[4],m=E[5],f=E[6],l=E[7],t=E[8],a=E[9],r=E[10],n=E[11],o=E[12],i=E[13],u=E[14],p=E[15];return(e*m-_*T)*(r*p-n*u)-(e*f-w*T)*(a*p-n*i)+(e*l-s*T)*(a*u-r*i)+(_*f-w*m)*(t*p-n*o)-(_*l-s*m)*(t*u-r*o)+(w*l-s*f)*(t*i-a*o)}},27812:function(D){D.exports=function(E,e){var _=e[0],w=e[1],s=e[2],T=e[3],m=_+_,f=w+w,l=s+s,t=_*m,a=w*m,r=w*f,n=s*m,o=s*f,i=s*l,u=T*m,p=T*f,c=T*l;return E[0]=1-r-i,E[1]=a+c,E[2]=n-p,E[3]=0,E[4]=a-c,E[5]=1-t-i,E[6]=o+u,E[7]=0,E[8]=n+p,E[9]=o-u,E[10]=1-t-r,E[11]=0,E[12]=0,E[13]=0,E[14]=0,E[15]=1,E}},34045:function(D){D.exports=function(E,e,_){var w,s,T,m=_[0],f=_[1],l=_[2],t=Math.sqrt(m*m+f*f+l*l);return Math.abs(t)<1e-6?null:(m*=t=1/t,f*=t,l*=t,w=Math.sin(e),T=1-(s=Math.cos(e)),E[0]=m*m*T+s,E[1]=f*m*T+l*w,E[2]=l*m*T-f*w,E[3]=0,E[4]=m*f*T-l*w,E[5]=f*f*T+s,E[6]=l*f*T+m*w,E[7]=0,E[8]=m*l*T+f*w,E[9]=f*l*T-m*w,E[10]=l*l*T+s,E[11]=0,E[12]=0,E[13]=0,E[14]=0,E[15]=1,E)}},45973:function(D){D.exports=function(E,e,_){var w=e[0],s=e[1],T=e[2],m=e[3],f=w+w,l=s+s,t=T+T,a=w*f,r=w*l,n=w*t,o=s*l,i=s*t,u=T*t,p=m*f,c=m*l,x=m*t;return E[0]=1-(o+u),E[1]=r+x,E[2]=n-c,E[3]=0,E[4]=r-x,E[5]=1-(a+u),E[6]=i+p,E[7]=0,E[8]=n+c,E[9]=i-p,E[10]=1-(a+o),E[11]=0,E[12]=_[0],E[13]=_[1],E[14]=_[2],E[15]=1,E}},81472:function(D){D.exports=function(E,e){return E[0]=e[0],E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=e[1],E[6]=0,E[7]=0,E[8]=0,E[9]=0,E[10]=e[2],E[11]=0,E[12]=0,E[13]=0,E[14]=0,E[15]=1,E}},14669:function(D){D.exports=function(E,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]=e[0],E[13]=e[1],E[14]=e[2],E[15]=1,E}},75262:function(D){D.exports=function(E,e){var _=Math.sin(e),w=Math.cos(e);return E[0]=1,E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=w,E[6]=_,E[7]=0,E[8]=0,E[9]=-_,E[10]=w,E[11]=0,E[12]=0,E[13]=0,E[14]=0,E[15]=1,E}},331:function(D){D.exports=function(E,e){var _=Math.sin(e),w=Math.cos(e);return E[0]=w,E[1]=0,E[2]=-_,E[3]=0,E[4]=0,E[5]=1,E[6]=0,E[7]=0,E[8]=_,E[9]=0,E[10]=w,E[11]=0,E[12]=0,E[13]=0,E[14]=0,E[15]=1,E}},11049:function(D){D.exports=function(E,e){var _=Math.sin(e),w=Math.cos(e);return E[0]=w,E[1]=_,E[2]=0,E[3]=0,E[4]=-_,E[5]=w,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}},75195:function(D){D.exports=function(E,e,_,w,s,T,m){var f=1/(_-e),l=1/(s-w),t=1/(T-m);return E[0]=2*T*f,E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=2*T*l,E[6]=0,E[7]=0,E[8]=(_+e)*f,E[9]=(s+w)*l,E[10]=(m+T)*t,E[11]=-1,E[12]=0,E[13]=0,E[14]=m*T*2*t,E[15]=0,E}},71551:function(D){D.exports=function(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}},79576:function(D,E,e){D.exports={create:e(11902),clone:e(42331),copy:e(31042),identity:e(71551),transpose:e(88654),invert:e(95874),adjoint:e(85400),determinant:e(89887),multiply:e(91362),translate:e(31283),scale:e(10789),rotate:e(65074),rotateX:e(35545),rotateY:e(94918),rotateZ:e(15692),fromRotation:e(34045),fromRotationTranslation:e(45973),fromScaling:e(81472),fromTranslation:e(14669),fromXRotation:e(75262),fromYRotation:e(331),fromZRotation:e(11049),fromQuat:e(27812),frustum:e(75195),perspective:e(7864),perspectiveFromFieldOfView:e(35279),ortho:e(60378),lookAt:e(65551),str:e(6726)}},95874:function(D){D.exports=function(E,e){var _=e[0],w=e[1],s=e[2],T=e[3],m=e[4],f=e[5],l=e[6],t=e[7],a=e[8],r=e[9],n=e[10],o=e[11],i=e[12],u=e[13],p=e[14],c=e[15],x=_*f-w*m,d=_*l-s*m,v=_*t-T*m,b=w*l-s*f,g=w*t-T*f,y=s*t-T*l,k=a*u-r*i,h=a*p-n*i,M=a*c-o*i,A=r*p-n*u,C=r*c-o*u,L=n*c-o*p,P=x*L-d*C+v*A+b*M-g*h+y*k;return P?(P=1/P,E[0]=(f*L-l*C+t*A)*P,E[1]=(s*C-w*L-T*A)*P,E[2]=(u*y-p*g+c*b)*P,E[3]=(n*g-r*y-o*b)*P,E[4]=(l*M-m*L-t*h)*P,E[5]=(_*L-s*M+T*h)*P,E[6]=(p*v-i*y-c*d)*P,E[7]=(a*y-n*v+o*d)*P,E[8]=(m*C-f*M+t*k)*P,E[9]=(w*M-_*C-T*k)*P,E[10]=(i*g-u*v+c*x)*P,E[11]=(r*v-a*g-o*x)*P,E[12]=(f*h-m*A-l*k)*P,E[13]=(_*A-w*h+s*k)*P,E[14]=(u*d-i*b-p*x)*P,E[15]=(a*b-r*d+n*x)*P,E):null}},65551:function(D,E,e){var _=e(71551);D.exports=function(w,s,T,m){var f,l,t,a,r,n,o,i,u,p,c=s[0],x=s[1],d=s[2],v=m[0],b=m[1],g=m[2],y=T[0],k=T[1],h=T[2];return Math.abs(c-y)<1e-6&&Math.abs(x-k)<1e-6&&Math.abs(d-h)<1e-6?_(w):(o=c-y,i=x-k,u=d-h,f=b*(u*=p=1/Math.sqrt(o*o+i*i+u*u))-g*(i*=p),l=g*(o*=p)-v*u,t=v*i-b*o,(p=Math.sqrt(f*f+l*l+t*t))?(f*=p=1/p,l*=p,t*=p):(f=0,l=0,t=0),a=i*t-u*l,r=u*f-o*t,n=o*l-i*f,(p=Math.sqrt(a*a+r*r+n*n))?(a*=p=1/p,r*=p,n*=p):(a=0,r=0,n=0),w[0]=f,w[1]=a,w[2]=o,w[3]=0,w[4]=l,w[5]=r,w[6]=i,w[7]=0,w[8]=t,w[9]=n,w[10]=u,w[11]=0,w[12]=-(f*c+l*x+t*d),w[13]=-(a*c+r*x+n*d),w[14]=-(o*c+i*x+u*d),w[15]=1,w)}},91362:function(D){D.exports=function(E,e,_){var w=e[0],s=e[1],T=e[2],m=e[3],f=e[4],l=e[5],t=e[6],a=e[7],r=e[8],n=e[9],o=e[10],i=e[11],u=e[12],p=e[13],c=e[14],x=e[15],d=_[0],v=_[1],b=_[2],g=_[3];return E[0]=d*w+v*f+b*r+g*u,E[1]=d*s+v*l+b*n+g*p,E[2]=d*T+v*t+b*o+g*c,E[3]=d*m+v*a+b*i+g*x,d=_[4],v=_[5],b=_[6],g=_[7],E[4]=d*w+v*f+b*r+g*u,E[5]=d*s+v*l+b*n+g*p,E[6]=d*T+v*t+b*o+g*c,E[7]=d*m+v*a+b*i+g*x,d=_[8],v=_[9],b=_[10],g=_[11],E[8]=d*w+v*f+b*r+g*u,E[9]=d*s+v*l+b*n+g*p,E[10]=d*T+v*t+b*o+g*c,E[11]=d*m+v*a+b*i+g*x,d=_[12],v=_[13],b=_[14],g=_[15],E[12]=d*w+v*f+b*r+g*u,E[13]=d*s+v*l+b*n+g*p,E[14]=d*T+v*t+b*o+g*c,E[15]=d*m+v*a+b*i+g*x,E}},60378:function(D){D.exports=function(E,e,_,w,s,T,m){var f=1/(e-_),l=1/(w-s),t=1/(T-m);return E[0]=-2*f,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*t,E[11]=0,E[12]=(e+_)*f,E[13]=(s+w)*l,E[14]=(m+T)*t,E[15]=1,E}},7864:function(D){D.exports=function(E,e,_,w,s){var T=1/Math.tan(e/2),m=1/(w-s);return E[0]=T/_,E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=T,E[6]=0,E[7]=0,E[8]=0,E[9]=0,E[10]=(s+w)*m,E[11]=-1,E[12]=0,E[13]=0,E[14]=2*s*w*m,E[15]=0,E}},35279:function(D){D.exports=function(E,e,_,w){var s=Math.tan(e.upDegrees*Math.PI/180),T=Math.tan(e.downDegrees*Math.PI/180),m=Math.tan(e.leftDegrees*Math.PI/180),f=Math.tan(e.rightDegrees*Math.PI/180),l=2/(m+f),t=2/(s+T);return E[0]=l,E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=t,E[6]=0,E[7]=0,E[8]=-(m-f)*l*.5,E[9]=(s-T)*t*.5,E[10]=w/(_-w),E[11]=-1,E[12]=0,E[13]=0,E[14]=w*_/(_-w),E[15]=0,E}},65074:function(D){D.exports=function(E,e,_,w){var s,T,m,f,l,t,a,r,n,o,i,u,p,c,x,d,v,b,g,y,k,h,M,A,C=w[0],L=w[1],P=w[2],I=Math.sqrt(C*C+L*L+P*P);return Math.abs(I)<1e-6?null:(C*=I=1/I,L*=I,P*=I,s=Math.sin(_),m=1-(T=Math.cos(_)),f=e[0],l=e[1],t=e[2],a=e[3],r=e[4],n=e[5],o=e[6],i=e[7],u=e[8],p=e[9],c=e[10],x=e[11],d=C*C*m+T,v=L*C*m+P*s,b=P*C*m-L*s,g=C*L*m-P*s,y=L*L*m+T,k=P*L*m+C*s,h=C*P*m+L*s,M=L*P*m-C*s,A=P*P*m+T,E[0]=f*d+r*v+u*b,E[1]=l*d+n*v+p*b,E[2]=t*d+o*v+c*b,E[3]=a*d+i*v+x*b,E[4]=f*g+r*y+u*k,E[5]=l*g+n*y+p*k,E[6]=t*g+o*y+c*k,E[7]=a*g+i*y+x*k,E[8]=f*h+r*M+u*A,E[9]=l*h+n*M+p*A,E[10]=t*h+o*M+c*A,E[11]=a*h+i*M+x*A,e!==E&&(E[12]=e[12],E[13]=e[13],E[14]=e[14],E[15]=e[15]),E)}},35545:function(D){D.exports=function(E,e,_){var w=Math.sin(_),s=Math.cos(_),T=e[4],m=e[5],f=e[6],l=e[7],t=e[8],a=e[9],r=e[10],n=e[11];return e!==E&&(E[0]=e[0],E[1]=e[1],E[2]=e[2],E[3]=e[3],E[12]=e[12],E[13]=e[13],E[14]=e[14],E[15]=e[15]),E[4]=T*s+t*w,E[5]=m*s+a*w,E[6]=f*s+r*w,E[7]=l*s+n*w,E[8]=t*s-T*w,E[9]=a*s-m*w,E[10]=r*s-f*w,E[11]=n*s-l*w,E}},94918:function(D){D.exports=function(E,e,_){var w=Math.sin(_),s=Math.cos(_),T=e[0],m=e[1],f=e[2],l=e[3],t=e[8],a=e[9],r=e[10],n=e[11];return e!==E&&(E[4]=e[4],E[5]=e[5],E[6]=e[6],E[7]=e[7],E[12]=e[12],E[13]=e[13],E[14]=e[14],E[15]=e[15]),E[0]=T*s-t*w,E[1]=m*s-a*w,E[2]=f*s-r*w,E[3]=l*s-n*w,E[8]=T*w+t*s,E[9]=m*w+a*s,E[10]=f*w+r*s,E[11]=l*w+n*s,E}},15692:function(D){D.exports=function(E,e,_){var w=Math.sin(_),s=Math.cos(_),T=e[0],m=e[1],f=e[2],l=e[3],t=e[4],a=e[5],r=e[6],n=e[7];return e!==E&&(E[8]=e[8],E[9]=e[9],E[10]=e[10],E[11]=e[11],E[12]=e[12],E[13]=e[13],E[14]=e[14],E[15]=e[15]),E[0]=T*s+t*w,E[1]=m*s+a*w,E[2]=f*s+r*w,E[3]=l*s+n*w,E[4]=t*s-T*w,E[5]=a*s-m*w,E[6]=r*s-f*w,E[7]=n*s-l*w,E}},10789:function(D){D.exports=function(E,e,_){var w=_[0],s=_[1],T=_[2];return E[0]=e[0]*w,E[1]=e[1]*w,E[2]=e[2]*w,E[3]=e[3]*w,E[4]=e[4]*s,E[5]=e[5]*s,E[6]=e[6]*s,E[7]=e[7]*s,E[8]=e[8]*T,E[9]=e[9]*T,E[10]=e[10]*T,E[11]=e[11]*T,E[12]=e[12],E[13]=e[13],E[14]=e[14],E[15]=e[15],E}},6726:function(D){D.exports=function(E){return"mat4("+E[0]+", "+E[1]+", "+E[2]+", "+E[3]+", "+E[4]+", "+E[5]+", "+E[6]+", "+E[7]+", "+E[8]+", "+E[9]+", "+E[10]+", "+E[11]+", "+E[12]+", "+E[13]+", "+E[14]+", "+E[15]+")"}},31283:function(D){D.exports=function(E,e,_){var w,s,T,m,f,l,t,a,r,n,o,i,u=_[0],p=_[1],c=_[2];return e===E?(E[12]=e[0]*u+e[4]*p+e[8]*c+e[12],E[13]=e[1]*u+e[5]*p+e[9]*c+e[13],E[14]=e[2]*u+e[6]*p+e[10]*c+e[14],E[15]=e[3]*u+e[7]*p+e[11]*c+e[15]):(w=e[0],s=e[1],T=e[2],m=e[3],f=e[4],l=e[5],t=e[6],a=e[7],r=e[8],n=e[9],o=e[10],i=e[11],E[0]=w,E[1]=s,E[2]=T,E[3]=m,E[4]=f,E[5]=l,E[6]=t,E[7]=a,E[8]=r,E[9]=n,E[10]=o,E[11]=i,E[12]=w*u+f*p+r*c+e[12],E[13]=s*u+l*p+n*c+e[13],E[14]=T*u+t*p+o*c+e[14],E[15]=m*u+a*p+i*c+e[15]),E}},88654:function(D){D.exports=function(E,e){if(E===e){var _=e[1],w=e[2],s=e[3],T=e[6],m=e[7],f=e[11];E[1]=e[4],E[2]=e[8],E[3]=e[12],E[4]=_,E[6]=e[9],E[7]=e[13],E[8]=w,E[9]=T,E[11]=e[14],E[12]=s,E[13]=m,E[14]=f}else E[0]=e[0],E[1]=e[4],E[2]=e[8],E[3]=e[12],E[4]=e[1],E[5]=e[5],E[6]=e[9],E[7]=e[13],E[8]=e[2],E[9]=e[6],E[10]=e[10],E[11]=e[14],E[12]=e[3],E[13]=e[7],E[14]=e[11],E[15]=e[15];return E}},42505:function(D,E,e){var _=e(72791),w=e(71299),s=e(98580),T=e(12018),m=e(83522),f=e(25075),l=e(68016),t=e(58404),a=e(18863),r=e(10973),n=e(25677),o=e(75686),i=e(53545),u=e(56131),p=e(32879),c=e(30120),x=e(13547).nextPow2,d=new m,v=!1;if(document.body){var b=document.body.appendChild(document.createElement("div"));b.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(b).fontStretch&&(v=!0),document.body.removeChild(b)}var g=function(y){(function(k){return typeof k=="function"&&k._gl&&k.prop&&k.texture&&k.buffer})(y)?(y={regl:y},this.gl=y.regl._gl):this.gl=T(y),this.shader=d.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=y.regl||s({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(),d.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(r(y)?y:{})};g.prototype.createShader=function(){var y=this.regl,k=y({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:y.prop("count"),offset:y.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:y.this("sizeBuffer")},width:{offset:0,stride:8,buffer:y.this("sizeBuffer")},char:y.this("charBuffer"),position:y.this("position")},uniforms:{atlasSize:function(h,M){return[M.atlas.width,M.atlas.height]},atlasDim:function(h,M){return[M.atlas.cols,M.atlas.rows]},atlas:function(h,M){return M.atlas.texture},charStep:function(h,M){return M.atlas.step},em:function(h,M){return M.atlas.em},color:y.prop("color"),opacity:y.prop("opacity"),viewport:y.this("viewportArray"),scale:y.this("scale"),align:y.prop("align"),baseline:y.prop("baseline"),translate:y.this("translate"),positionOffset:y.prop("positionOffset")},primitive:"points",viewport:y.this("viewport"),vert:` + precision highp float; + attribute float width, charOffset, char; + attribute vec2 position; + uniform float fontSize, charStep, em, align, baseline; + uniform vec4 viewport; + uniform vec4 color; + uniform vec2 atlasSize, atlasDim, scale, translate, positionOffset; + varying vec2 charCoord, charId; + varying float charWidth; + varying vec4 fontColor; + void main () { + vec2 offset = floor(em * (vec2(align + charOffset, baseline) + + vec2(positionOffset.x, -positionOffset.y))) + / (viewport.zw * scale.xy); + + vec2 position = (position + translate) * scale; + position += offset * scale; + + charCoord = position * viewport.zw + viewport.xy; + + gl_Position = vec4(position * 2. - 1., 0, 1); + + gl_PointSize = charStep; + + charId.x = mod(char, atlasDim.x); + charId.y = floor(char / atlasDim.x); + + charWidth = width * em; + + fontColor = color / 255.; + }`,frag:` + precision highp float; + uniform float fontSize, charStep, opacity; + uniform vec2 atlasSize; + uniform vec4 viewport; + uniform sampler2D atlas; + varying vec4 fontColor; + varying vec2 charCoord, charId; + varying float charWidth; + + float lightness(vec4 color) { + return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; + } + + void main () { + vec2 uv = gl_FragCoord.xy - charCoord + charStep * .5; + float halfCharStep = floor(charStep * .5 + .5); + + // invert y and shift by 1px (FF expecially needs that) + uv.y = charStep - uv.y; + + // ignore points outside of character bounding box + float halfCharWidth = ceil(charWidth * .5); + if (floor(uv.x) > halfCharStep + halfCharWidth || + floor(uv.x) < halfCharStep - halfCharWidth) return; + + uv += charId * charStep; + uv = uv / atlasSize; + + vec4 color = fontColor; + vec4 mask = texture2D(atlas, uv); + + float maskY = lightness(mask); + // float colorY = lightness(color); + color.a *= maskY; + color.a *= opacity; + + // color.a += .1; + + // antialiasing, see yiq color space y-channel formula + // color.rgb += (1. - color.rgb) * (1. - mask.rgb); + + gl_FragColor = color; + }`});return{regl:y,draw:k,atlas:{}}},g.prototype.update=function(y){var k=this;if(typeof y=="string")y={text:y};else if(!y)return;(y=w(y,{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!=null&&(Array.isArray(y.opacity)?this.opacity=y.opacity.map(function(ne){return parseFloat(ne)}):this.opacity=parseFloat(y.opacity)),y.viewport!=null&&(this.viewport=a(y.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),this.viewport==null&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),y.kerning!=null&&(this.kerning=y.kerning),y.offset!=null&&(typeof y.offset=="number"&&(y.offset=[y.offset,0]),this.positionOffset=c(y.offset)),y.direction&&(this.direction=y.direction),y.range&&(this.range=y.range,this.scale=[1/(y.range[2]-y.range[0]),1/(y.range[3]-y.range[1])],this.translate=[-y.range[0],-y.range[1]]),y.scale&&(this.scale=y.scale),y.translate&&(this.translate=y.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||y.font||(y.font=g.baseFontSize+"px sans-serif");var h,M=!1,A=!1;if(y.font&&(Array.isArray(y.font)?y.font:[y.font]).forEach(function(ne,ue){if(typeof ne=="string")try{ne=_.parse(ne)}catch{ne=_.parse(g.baseFontSize+"px "+ne)}else ne=_.parse(_.stringify(ne));var me=_.stringify({size:g.baseFontSize,family:ne.family,stretch:v?ne.stretch:void 0,variant:ne.variant,weight:ne.weight,style:ne.style}),we=n(ne.size),Ee=Math.round(we[0]*o(we[1]));if(Ee!==k.fontSize[ue]&&(A=!0,k.fontSize[ue]=Ee),!(k.font[ue]&&me==k.font[ue].baseString||(M=!0,k.font[ue]=g.fonts[me],k.font[ue]))){var Ue=ne.family.join(", "),De=[ne.style];ne.style!=ne.variant&&De.push(ne.variant),ne.variant!=ne.weight&&De.push(ne.weight),v&&ne.weight!=ne.stretch&&De.push(ne.stretch),k.font[ue]={baseString:me,family:Ue,weight:ne.weight,stretch:ne.stretch,style:ne.style,variant:ne.variant,width:{},kerning:{},metrics:p(Ue,{origin:"top",fontSize:g.baseFontSize,fontStyle:De.join(" ")})},g.fonts[me]=k.font[ue]}}),(M||A)&&this.font.forEach(function(ne,ue){var me=_.stringify({size:k.fontSize[ue],family:ne.family,stretch:v?ne.stretch:void 0,variant:ne.variant,weight:ne.weight,style:ne.style});if(k.fontAtlas[ue]=k.shader.atlas[me],!k.fontAtlas[ue]){var we=ne.metrics;k.shader.atlas[me]=k.fontAtlas[ue]={fontString:me,step:2*Math.ceil(k.fontSize[ue]*we.bottom*.5),em:k.fontSize[ue],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:k.regl.texture()}}y.text==null&&(y.text=k.text)}),typeof y.text=="string"&&y.position&&y.position.length>2){for(var C=Array(.5*y.position.length),L=0;L2){for(var I=!y.position[0].length,R=t.mallocFloat(2*this.count),U=0,B=0;U1?k.align[ue]:k.align[0]:k.align;if(typeof me=="number")return me;switch(me){case"right":case"end":return-ne;case"center":case"centre":case"middle":return .5*-ne}return 0})),this.baseline==null&&y.baseline==null&&(y.baseline=0),y.baseline!=null&&(this.baseline=y.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(ne,ue){var me=(k.font[ue]||k.font[0]).metrics,we=0;return we+=.5*me.bottom,-1*(we+=typeof ne=="number"?ne-me.baseline:-me[ne])})),y.color!=null)if(y.color||(y.color="transparent"),typeof y.color!="string"&&isNaN(y.color)){var de;if(typeof y.color[0]=="number"&&y.color.length>this.counts.length){var he=y.color.length;de=t.mallocUint8(he);for(var ye=(y.color.subarray||y.color.slice).bind(y.color),ze=0;ze4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var Me=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(Me);for(var Ce=0;Ce1?this.counts[Ce]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[Ce]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*Ce,4*Ce+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[Ce]:this.opacity,baseline:this.baselineOffset[Ce]!=null?this.baselineOffset[Ce]:this.baselineOffset[0],align:this.align?this.alignOffset[Ce]!=null?this.alignOffset[Ce]:this.alignOffset[0]:0,atlas:this.fontAtlas[Ce]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*Ce,2*Ce+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=[]},g.prototype.destroy=function(){},g.prototype.kerning=!0,g.prototype.position={constant:new Float32Array(2)},g.prototype.translate=null,g.prototype.scale=null,g.prototype.font=null,g.prototype.text="",g.prototype.positionOffset=[0,0],g.prototype.opacity=1,g.prototype.color=new Uint8Array([0,0,0,255]),g.prototype.alignOffset=[0,0],g.maxAtlasSize=1024,g.atlasCanvas=document.createElement("canvas"),g.atlasContext=g.atlasCanvas.getContext("2d",{alpha:!1}),g.baseFontSize=64,g.fonts={},D.exports=g},12018:function(D,E,e){var _=e(71299);function w(m){if(m.container)if(m.container==document.body)document.body.style.width||(m.canvas.width=m.width||m.pixelRatio*e.g.innerWidth),document.body.style.height||(m.canvas.height=m.height||m.pixelRatio*e.g.innerHeight);else{var f=m.container.getBoundingClientRect();m.canvas.width=m.width||f.right-f.left,m.canvas.height=m.height||f.bottom-f.top}}function s(m){return typeof m.getContext=="function"&&"width"in m&&"height"in m}function T(){var m=document.createElement("canvas");return m.style.position="absolute",m.style.top=0,m.style.left=0,m}D.exports=function(m){var f;if(m?typeof m=="string"&&(m={container:m}):m={},(m=s(m)||typeof(f=m).nodeName=="string"&&typeof f.appendChild=="function"&&typeof f.getBoundingClientRect=="function"?{container:m}:function(t){return typeof t.drawArrays=="function"||typeof t.drawElements=="function"}(m)?{gl:m}:_(m,{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||(m.pixelRatio=e.g.pixelRatio||1),m.gl)return m.gl;if(m.canvas&&(m.container=m.canvas.parentNode),m.container){if(typeof m.container=="string"){var l=document.querySelector(m.container);if(!l)throw Error("Element "+m.container+" is not found");m.container=l}s(m.container)?(m.canvas=m.container,m.container=m.canvas.parentNode):m.canvas||(m.canvas=T(),m.container.appendChild(m.canvas),w(m))}else if(!m.canvas){if(typeof document>"u")throw Error("Not DOM environment. Use headless-gl.");m.container=document.body||document.documentElement,m.canvas=T(),m.container.appendChild(m.canvas),w(m)}return m.gl||["webgl","experimental-webgl","webgl-experimental"].some(function(t){try{m.gl=m.canvas.getContext(t,m.attrs)}catch{}return m.gl}),m.gl}},56068:function(D){D.exports=function(E){typeof E=="string"&&(E=[E]);for(var e=[].slice.call(arguments,1),_=[],w=0;w>1,r=-7,n=w?T-1:0,o=w?-1:1,i=e[_+n];for(n+=o,m=i&(1<<-r)-1,i>>=-r,r+=l;r>0;m=256*m+e[_+n],n+=o,r-=8);for(f=m&(1<<-r)-1,m>>=-r,r+=s;r>0;f=256*f+e[_+n],n+=o,r-=8);if(m===0)m=1-a;else{if(m===t)return f?NaN:1/0*(i?-1:1);f+=Math.pow(2,s),m-=a}return(i?-1:1)*f*Math.pow(2,m-s)},E.write=function(e,_,w,s,T,m){var f,l,t,a=8*m-T-1,r=(1<>1,o=T===23?Math.pow(2,-24)-Math.pow(2,-77):0,i=s?0:m-1,u=s?1:-1,p=_<0||_===0&&1/_<0?1:0;for(_=Math.abs(_),isNaN(_)||_===1/0?(l=isNaN(_)?1:0,f=r):(f=Math.floor(Math.log(_)/Math.LN2),_*(t=Math.pow(2,-f))<1&&(f--,t*=2),(_+=f+n>=1?o/t:o*Math.pow(2,1-n))*t>=2&&(f++,t/=2),f+n>=r?(l=0,f=r):f+n>=1?(l=(_*t-1)*Math.pow(2,T),f+=n):(l=_*Math.pow(2,n-1)*Math.pow(2,T),f=0));T>=8;e[w+i]=255&l,i+=u,l/=256,T-=8);for(f=f<0;e[w+i]=255&f,i+=u,f/=256,a-=8);e[w+i-u]|=128*p}},42018:function(D){typeof Object.create=="function"?D.exports=function(E,e){e&&(E.super_=e,E.prototype=Object.create(e.prototype,{constructor:{value:E,enumerable:!1,writable:!0,configurable:!0}}))}:D.exports=function(E,e){if(e){E.super_=e;var _=function(){};_.prototype=e.prototype,E.prototype=new _,E.prototype.constructor=E}}},47216:function(D,E,e){var _=e(84543)(),w=e(6614)("Object.prototype.toString"),s=function(f){return!(_&&f&&typeof f=="object"&&Symbol.toStringTag in f)&&w(f)==="[object Arguments]"},T=function(f){return!!s(f)||f!==null&&typeof f=="object"&&typeof f.length=="number"&&f.length>=0&&w(f)!=="[object Array]"&&w(f.callee)==="[object Function]"},m=function(){return s(arguments)}();s.isLegacyArguments=T,D.exports=m?s:T},54404:function(D){D.exports=!0},85395:function(D){var E,e,_=Function.prototype.toString,w=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply;if(typeof w=="function"&&typeof Object.defineProperty=="function")try{E=Object.defineProperty({},"length",{get:function(){throw e}}),e={},w(function(){throw 42},null,E)}catch(n){n!==e&&(w=null)}else w=null;var s=/^\s*class\b/,T=function(n){try{var o=_.call(n);return s.test(o)}catch{return!1}},m=function(n){try{return!T(n)&&(_.call(n),!0)}catch{return!1}},f=Object.prototype.toString,l=typeof Symbol=="function"&&!!Symbol.toStringTag,t=!(0 in[,]),a=function(){return!1};if(typeof document=="object"){var r=document.all;f.call(r)===f.call(document.all)&&(a=function(n){if((t||!n)&&(n===void 0||typeof n=="object"))try{var o=f.call(n);return(o==="[object HTMLAllCollection]"||o==="[object HTML document.all class]"||o==="[object HTMLCollection]"||o==="[object Object]")&&n("")==null}catch{}return!1})}D.exports=w?function(n){if(a(n))return!0;if(!n||typeof n!="function"&&typeof n!="object")return!1;try{w(n,null,E)}catch(o){if(o!==e)return!1}return!T(n)&&m(n)}:function(n){if(a(n))return!0;if(!n||typeof n!="function"&&typeof n!="object")return!1;if(l)return m(n);if(T(n))return!1;var o=f.call(n);return!(o!=="[object Function]"&&o!=="[object GeneratorFunction]"&&!/^\[object HTML/.test(o))&&m(n)}},65481:function(D,E,e){var _,w=Object.prototype.toString,s=Function.prototype.toString,T=/^\s*(?:function)?\*/,m=e(84543)(),f=Object.getPrototypeOf;D.exports=function(l){if(typeof l!="function")return!1;if(T.test(s.call(l)))return!0;if(!m)return w.call(l)==="[object GeneratorFunction]";if(!f)return!1;if(_===void 0){var t=function(){if(!m)return!1;try{return Function("return function*() {}")()}catch{}}();_=!!t&&f(t)}return f(l)===_}},62683:function(D){D.exports=typeof navigator<"u"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},64274:function(D){D.exports=function(E){return E!=E}},15567:function(D,E,e){var _=e(68222),w=e(17045),s=e(64274),T=e(14922),m=e(22442),f=_(T(),Number);w(f,{getPolyfill:T,implementation:s,shim:m}),D.exports=f},14922:function(D,E,e){var _=e(64274);D.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:_}},22442:function(D,E,e){var _=e(17045),w=e(14922);D.exports=function(){var s=w();return _(Number,{isNaN:s},{isNaN:function(){return Number.isNaN!==s}}),s}},64941:function(D){D.exports=function(E){var e=typeof E;return E!==null&&(e==="object"||e==="function")}},10973:function(D){var E=Object.prototype.toString;D.exports=function(e){var _;return E.call(e)==="[object Object]"&&((_=Object.getPrototypeOf(e))===null||_===Object.getPrototypeOf({}))}},18546:function(D){D.exports=function(E){for(var e,_=E.length,w=0;w<_;w++)if(((e=E.charCodeAt(w))<9||e>13)&&e!==32&&e!==133&&e!==160&&e!==5760&&e!==6158&&(e<8192||e>8205)&&e!==8232&&e!==8233&&e!==8239&&e!==8287&&e!==8288&&e!==12288&&e!==65279)return!1;return!0}},89546:function(D){D.exports=function(E){return typeof E=="string"&&(E=E.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(E)&&/[\dz]$/i.test(E)&&E.length>4))}},9187:function(D,E,e){var _=e(31353),w=e(72077),s=e(6614),T=s("Object.prototype.toString"),m=e(84543)(),f=e(40383),l=typeof globalThis>"u"?e.g:globalThis,t=w(),a=s("Array.prototype.indexOf",!0)||function(i,u){for(var p=0;p-1}return!!f&&function(p){var c=!1;return _(n,function(x,d){if(!c)try{c=x.call(p)===d}catch{}}),c}(i)}},44517:function(D){D.exports=function(){var E,e,_;function w(s,T){if(E)if(e){var m="var sharedChunk = {}; ("+E+")(sharedChunk); ("+e+")(sharedChunk);",f={};E(f),(_=T(f)).workerUrl=window.URL.createObjectURL(new Blob([m],{type:"text/javascript"}))}else e=T;else E=T}return w(0,function(s){function T(S,z){return S(z={exports:{}},z.exports),z.exports}var m="1.10.1",f=l;function l(S,z,Z,le){this.cx=3*S,this.bx=3*(Z-S)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*z,this.by=3*(le-z)-this.cy,this.ay=1-this.cy-this.by,this.p1x=S,this.p1y=le,this.p2x=Z,this.p2y=le}l.prototype.sampleCurveX=function(S){return((this.ax*S+this.bx)*S+this.cx)*S},l.prototype.sampleCurveY=function(S){return((this.ay*S+this.by)*S+this.cy)*S},l.prototype.sampleCurveDerivativeX=function(S){return(3*this.ax*S+2*this.bx)*S+this.cx},l.prototype.solveCurveX=function(S,z){var Z,le,ke,Ie,qe;for(z===void 0&&(z=1e-6),ke=S,qe=0;qe<8;qe++){if(Ie=this.sampleCurveX(ke)-S,Math.abs(Ie)(le=1))return le;for(;ZIe?Z=ke:le=ke,ke=.5*(le-Z)+Z}return ke},l.prototype.solve=function(S,z){return this.sampleCurveY(this.solveCurveX(S,z))};var t=a;function a(S,z){this.x=S,this.y=z}function r(S,z,Z,le){var ke=new f(S,z,Z,le);return function(Ie){return ke.solve(Ie)}}a.prototype={clone:function(){return new a(this.x,this.y)},add:function(S){return this.clone()._add(S)},sub:function(S){return this.clone()._sub(S)},multByPoint:function(S){return this.clone()._multByPoint(S)},divByPoint:function(S){return this.clone()._divByPoint(S)},mult:function(S){return this.clone()._mult(S)},div:function(S){return this.clone()._div(S)},rotate:function(S){return this.clone()._rotate(S)},rotateAround:function(S,z){return this.clone()._rotateAround(S,z)},matMult:function(S){return this.clone()._matMult(S)},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(S){return this.x===S.x&&this.y===S.y},dist:function(S){return Math.sqrt(this.distSqr(S))},distSqr:function(S){var z=S.x-this.x,Z=S.y-this.y;return z*z+Z*Z},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(S){return Math.atan2(this.y-S.y,this.x-S.x)},angleWith:function(S){return this.angleWithSep(S.x,S.y)},angleWithSep:function(S,z){return Math.atan2(this.x*z-this.y*S,this.x*S+this.y*z)},_matMult:function(S){var z=S[0]*this.x+S[1]*this.y,Z=S[2]*this.x+S[3]*this.y;return this.x=z,this.y=Z,this},_add:function(S){return this.x+=S.x,this.y+=S.y,this},_sub:function(S){return this.x-=S.x,this.y-=S.y,this},_mult:function(S){return this.x*=S,this.y*=S,this},_div:function(S){return this.x/=S,this.y/=S,this},_multByPoint:function(S){return this.x*=S.x,this.y*=S.y,this},_divByPoint:function(S){return this.x/=S.x,this.y/=S.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var S=this.y;return this.y=this.x,this.x=-S,this},_rotate:function(S){var z=Math.cos(S),Z=Math.sin(S),le=z*this.x-Z*this.y,ke=Z*this.x+z*this.y;return this.x=le,this.y=ke,this},_rotateAround:function(S,z){var Z=Math.cos(S),le=Math.sin(S),ke=z.x+Z*(this.x-z.x)-le*(this.y-z.y),Ie=z.y+le*(this.x-z.x)+Z*(this.y-z.y);return this.x=ke,this.y=Ie,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},a.convert=function(S){return S instanceof a?S:Array.isArray(S)?new a(S[0],S[1]):S};var n=r(.25,.1,.25,1);function o(S,z,Z){return Math.min(Z,Math.max(z,S))}function i(S,z,Z){var le=Z-z,ke=((S-z)%le+le)%le+z;return ke===z?Z:ke}function u(S){for(var z=[],Z=arguments.length-1;Z-- >0;)z[Z]=arguments[Z+1];for(var le=0,ke=z;le>z/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,S)}()}function d(S){return!!S&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(S)}function v(S,z){S.forEach(function(Z){z[Z]&&(z[Z]=z[Z].bind(z))})}function b(S,z){return S.indexOf(z,S.length-z.length)!==-1}function g(S,z,Z){var le={};for(var ke in S)le[ke]=z.call(Z||this,S[ke],ke,S);return le}function y(S,z,Z){var le={};for(var ke in S)z.call(Z||this,S[ke],ke,S)&&(le[ke]=S[ke]);return le}function k(S){return Array.isArray(S)?S.map(k):typeof S=="object"&&S?g(S,k):S}var h={};function M(S){h[S]||(typeof console<"u"&&console.warn(S),h[S]=!0)}function A(S,z,Z){return(Z.y-S.y)*(z.x-S.x)>(z.y-S.y)*(Z.x-S.x)}function C(S){for(var z=0,Z=0,le=S.length,ke=le-1,Ie=void 0,qe=void 0;Z@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,function(le,ke,Ie,qe){var it=Ie||qe;return z[ke]=!it||it.toLowerCase(),""}),z["max-age"]){var Z=parseInt(z["max-age"],10);isNaN(Z)?delete z["max-age"]:z["max-age"]=Z}return z}var I=null;function R(S){if(I==null){var z=S.navigator?S.navigator.userAgent:null;I=!!S.safari||!(!z||!(/\b(iPad|iPhone|iPod)\b/.test(z)||z.match("Safari")&&!z.match("Chrome")))}return I}function U(S){try{var z=self[S];return z.setItem("_mapbox_test_",1),z.removeItem("_mapbox_test_"),!0}catch{return!1}}var B,G,N,j,V=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),H=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,ee=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,Q={now:V,frame:function(S){var z=H(S);return{cancel:function(){return ee(z)}}},getImageData:function(S,z){z===void 0&&(z=0);var Z=self.document.createElement("canvas"),le=Z.getContext("2d");if(!le)throw new Error("failed to create canvas 2d context");return Z.width=S.width,Z.height=S.height,le.drawImage(S,0,0,S.width,S.height),le.getImageData(-z,-z,S.width+2*z,S.height+2*z)},resolveURL:function(S){return B||(B=self.document.createElement("a")),B.href=S,B.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){return!!self.matchMedia&&(G==null&&(G=self.matchMedia("(prefers-reduced-motion: reduce)")),G.matches)}},X={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},Y={supported:!1,testSupport:function(S){!K&&j&&(te?ie(S):N=S)}},K=!1,te=!1;function ie(S){var z=S.createTexture();S.bindTexture(S.TEXTURE_2D,z);try{if(S.texImage2D(S.TEXTURE_2D,0,S.RGBA,S.RGBA,S.UNSIGNED_BYTE,j),S.isContextLost())return;Y.supported=!0}catch{}S.deleteTexture(z),K=!0}self.document&&((j=self.document.createElement("img")).onload=function(){N&&ie(N),N=null,te=!0},j.onerror=function(){K=!0,N=null},j.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var oe="01",se=function(S,z){this._transformRequestFn=S,this._customAccessToken=z,this._createSkuToken()};function ce(S){return S.indexOf("mapbox:")===0}se.prototype._createSkuToken=function(){var S=function(){for(var z="",Z=0;Z<10;Z++)z+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",oe,z].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=S.token,this._skuTokenExpiresAt=S.tokenExpiresAt},se.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},se.prototype.transformRequest=function(S,z){return this._transformRequestFn&&this._transformRequestFn(S,z)||{url:S}},se.prototype.normalizeStyleURL=function(S,z){if(!ce(S))return S;var Z=he(S);return Z.path="/styles/v1"+Z.path,this._makeAPIURL(Z,this._customAccessToken||z)},se.prototype.normalizeGlyphsURL=function(S,z){if(!ce(S))return S;var Z=he(S);return Z.path="/fonts/v1"+Z.path,this._makeAPIURL(Z,this._customAccessToken||z)},se.prototype.normalizeSourceURL=function(S,z){if(!ce(S))return S;var Z=he(S);return Z.path="/v4/"+Z.authority+".json",Z.params.push("secure"),this._makeAPIURL(Z,this._customAccessToken||z)},se.prototype.normalizeSpriteURL=function(S,z,Z,le){var ke=he(S);return ce(S)?(ke.path="/styles/v1"+ke.path+"/sprite"+z+Z,this._makeAPIURL(ke,this._customAccessToken||le)):(ke.path+=""+z+Z,ye(ke))},se.prototype.normalizeTileURL=function(S,z){if(this._isSkuTokenExpired()&&this._createSkuToken(),S&&!ce(S))return S;var Z=he(S),le=Q.devicePixelRatio>=2||z===512?"@2x":"",ke=Y.supported?".webp":"$1";Z.path=Z.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+le+ke),Z.path=Z.path.replace(/^.+\/v4\//,"/"),Z.path="/v4"+Z.path;var Ie=this._customAccessToken||function(qe){for(var it=0,dt=qe;it=1&&self.localStorage.setItem(z,JSON.stringify(this.eventData))}catch{M("Unable to write to LocalStorage")}},Ae.prototype.processRequests=function(S){},Ae.prototype.postEvent=function(S,z,Z,le){var ke=this;if(X.EVENTS_URL){var Ie=he(X.EVENTS_URL);Ie.params.push("access_token="+(le||X.ACCESS_TOKEN||""));var qe={event:this.type,created:new Date(S).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:m,skuId:oe,userId:this.anonId},it=z?u(qe,z):qe,dt={url:ye(Ie),headers:{"Content-Type":"text/plain"},body:JSON.stringify([it])};this.pendingRequest=It(dt,function(St){ke.pendingRequest=null,Z(St),ke.saveEventData(),ke.processRequests(le)})}},Ae.prototype.queueRequest=function(S,z){this.queue.push(S),this.processRequests(z)};var Me,Ce,ne=function(S){function z(){S.call(this,"map.load"),this.success={},this.skuToken=""}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype.postMapLoadEvent=function(Z,le,ke,Ie){this.skuToken=ke,(X.EVENTS_URL&&Ie||X.ACCESS_TOKEN&&Array.isArray(Z)&&Z.some(function(qe){return ce(qe)||pe(qe)}))&&this.queueRequest({id:le,timestamp:Date.now()},Ie)},z.prototype.processRequests=function(Z){var le=this;if(!this.pendingRequest&&this.queue.length!==0){var ke=this.queue.shift(),Ie=ke.id,qe=ke.timestamp;Ie&&this.success[Ie]||(this.anonId||this.fetchEventData(),d(this.anonId)||(this.anonId=x()),this.postEvent(qe,{skuToken:this.skuToken},function(it){it||Ie&&(le.success[Ie]=!0)},Z))}},z}(Ae),ue=function(S){function z(Z){S.call(this,"appUserTurnstile"),this._customAccessToken=Z}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype.postTurnstileEvent=function(Z,le){X.EVENTS_URL&&X.ACCESS_TOKEN&&Array.isArray(Z)&&Z.some(function(ke){return ce(ke)||pe(ke)})&&this.queueRequest(Date.now(),le)},z.prototype.processRequests=function(Z){var le=this;if(!this.pendingRequest&&this.queue.length!==0){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var ke=Te(X.ACCESS_TOKEN),Ie=ke?ke.u:X.ACCESS_TOKEN,qe=Ie!==this.eventData.tokenU;d(this.anonId)||(this.anonId=x(),qe=!0);var it=this.queue.shift();if(this.eventData.lastSuccess){var dt=new Date(this.eventData.lastSuccess),St=new Date(it),Rt=(it-this.eventData.lastSuccess)/864e5;qe=qe||Rt>=1||Rt<-1||dt.getDate()!==St.getDate()}else qe=!0;if(!qe)return this.processRequests();this.postEvent(it,{"enabled.telemetry":!1},function(Ht){Ht||(le.eventData.lastSuccess=it,le.eventData.tokenU=Ie)},Z)}},z}(Ae),me=new ue,we=me.postTurnstileEvent.bind(me),Ee=new ne,Ue=Ee.postMapLoadEvent.bind(Ee),De="mapbox-tiles",je=500,ge=50;function be(){self.caches&&!Me&&(Me=self.caches.open(De))}function Se(S,z,Z){if(be(),Me){var le={status:z.status,statusText:z.statusText,headers:new self.Headers};z.headers.forEach(function(Ie,qe){return le.headers.set(qe,Ie)});var ke=P(z.headers.get("Cache-Control")||"");ke["no-store"]||(ke["max-age"]&&le.headers.set("Expires",new Date(Z+1e3*ke["max-age"]).toUTCString()),new Date(le.headers.get("Expires")).getTime()-Z<42e4||function(Ie,qe){if(Ce===void 0)try{new Response(new ReadableStream),Ce=!0}catch{Ce=!1}Ce?qe(Ie.body):Ie.blob().then(qe)}(z,function(Ie){var qe=new self.Response(Ie,le);be(),Me&&Me.then(function(it){return it.put(Ne(S.url),qe)}).catch(function(it){return M(it.message)})}))}}function Ne(S){var z=S.indexOf("?");return z<0?S:S.slice(0,z)}function Ye(S,z){if(be(),!Me)return z(null);var Z=Ne(S.url);Me.then(function(le){le.match(Z).then(function(ke){var Ie=function(qe){if(!qe)return!1;var it=new Date(qe.headers.get("Expires")||0),dt=P(qe.headers.get("Cache-Control")||"");return it>Date.now()&&!dt["no-cache"]}(ke);le.delete(Z),Ie&&le.put(Z,ke.clone()),z(null,ke,Ie)}).catch(z)}).catch(z)}var Ze,st=1/0;function ot(){return Ze==null&&(Ze=self.OffscreenCanvas&&new self.OffscreenCanvas(1,1).getContext("2d")&&typeof self.createImageBitmap=="function"),Ze}var ft={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};typeof Object.freeze=="function"&&Object.freeze(ft);var yt=function(S){function z(Z,le,ke){le===401&&pe(ke)&&(Z+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),S.call(this,Z),this.status=le,this.url=ke,this.name=this.constructor.name,this.message=Z}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},z}(Error),Et=L()?function(){return self.worker&&self.worker.referrer}:function(){return(self.location.protocol==="blob:"?self.parent:self).location.href};function Tt(S,z){var Z,le=new self.AbortController,ke=new self.Request(S.url,{method:S.method||"GET",body:S.body,credentials:S.credentials,headers:S.headers,referrer:Et(),signal:le.signal}),Ie=!1,qe=!1,it=(Z=ke.url).indexOf("sku=")>0&&pe(Z);S.type==="json"&&ke.headers.set("Accept","application/json");var dt=function(Rt,Ht,Yt){if(!qe){if(Rt&&Rt.message!=="SecurityError"&&M(Rt),Ht&&Yt)return St(Ht);var Zt=Date.now();self.fetch(ke).then(function(cn){if(cn.ok){var Tn=it?cn.clone():null;return St(cn,Tn,Zt)}return z(new yt(cn.statusText,cn.status,S.url))}).catch(function(cn){cn.code!==20&&z(new Error(cn.message))})}},St=function(Rt,Ht,Yt){(S.type==="arrayBuffer"?Rt.arrayBuffer():S.type==="json"?Rt.json():Rt.text()).then(function(Zt){qe||(Ht&&Yt&&Se(ke,Ht,Yt),Ie=!0,z(null,Zt,Rt.headers.get("Cache-Control"),Rt.headers.get("Expires")))}).catch(function(Zt){qe||z(new Error(Zt.message))})};return it?Ye(ke,dt):dt(null,null),{cancel:function(){qe=!0,Ie||le.abort()}}}var xt=function(S,z){if(Z=S.url,!(/^file:/.test(Z)||/^file:/.test(Et())&&!/^\w+:/.test(Z))){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty("signal"))return Tt(S,z);if(L()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",S,z,void 0,!0)}var Z;return function(le,ke){var Ie=new self.XMLHttpRequest;for(var qe in Ie.open(le.method||"GET",le.url,!0),le.type==="arrayBuffer"&&(Ie.responseType="arraybuffer"),le.headers)Ie.setRequestHeader(qe,le.headers[qe]);return le.type==="json"&&(Ie.responseType="text",Ie.setRequestHeader("Accept","application/json")),Ie.withCredentials=le.credentials==="include",Ie.onerror=function(){ke(new Error(Ie.statusText))},Ie.onload=function(){if((Ie.status>=200&&Ie.status<300||Ie.status===0)&&Ie.response!==null){var it=Ie.response;if(le.type==="json")try{it=JSON.parse(Ie.response)}catch(dt){return ke(dt)}ke(null,it,Ie.getResponseHeader("Cache-Control"),Ie.getResponseHeader("Expires"))}else ke(new yt(Ie.statusText,Ie.status,le.url))},Ie.send(le.body),{cancel:function(){return Ie.abort()}}}(S,z)},Dt=function(S,z){return xt(u(S,{type:"arrayBuffer"}),z)},It=function(S,z){return xt(u(S,{method:"POST"}),z)},Ft,qt;Ft=[],qt=0;var Nt=function(S,z){if(Y.supported&&(S.headers||(S.headers={}),S.headers.accept="image/webp,*/*"),qt>=X.MAX_PARALLEL_IMAGE_REQUESTS){var Z={requestParameters:S,callback:z,cancelled:!1,cancel:function(){this.cancelled=!0}};return Ft.push(Z),Z}qt++;var le=!1,ke=function(){if(!le)for(le=!0,qt--;Ft.length&&qt0||this._oneTimeListeners&&this._oneTimeListeners[S]&&this._oneTimeListeners[S].length>0||this._eventedParent&&this._eventedParent.listens(S)},ht.prototype.setEventedParent=function(S,z){return this._eventedParent=S,this._eventedParentData=z,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"},"*":{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"},"*":{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"},"*":{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},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{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},expression_name:{type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},in:{group:"Lookup"},"index-of":{group:"Lookup"},slice:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},"interpolate-hcl":{group:"Ramps, scales, curves"},"interpolate-lab":{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},typeof:{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},collator:{group:"Types"},format:{group:"Types"},image:{group:"Types"},"number-format":{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"feature-state":{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Feature data"},accumulated:{group:"Feature data"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},sqrt:{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},round:{group:"Math"},abs:{group:"Math"},ceil:{group:"Math"},floor:{group:"Math"},distance:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},within:{group:"Decision"},"is-supported-script":{group:"String"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"},"resolved-locale":{group:"String"}}},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"}}},Be=function(S,z,Z,le){this.message=(S?S+": ":"")+Z,le&&(this.identifier=le),z!=null&&z.__line__&&(this.line=z.__line__)};function Qe(S){var z=S.key,Z=S.value;return Z?[new Be(z,Z,"constants have been deprecated as of v8")]:[]}function ut(S){for(var z=[],Z=arguments.length-1;Z-- >0;)z[Z]=arguments[Z+1];for(var le=0,ke=z;le":S.itemType.kind==="value"?"array":"array<"+z+">"}return S.kind}var kn=[mt,Ot,_t,Pt,Bt,Kt,Wt,yn(Gt),nn];function Wn(S,z){if(z.kind==="error")return null;if(S.kind==="array"){if(z.kind==="array"&&(z.N===0&&z.itemType.kind==="value"||!Wn(S.itemType,z.itemType))&&(typeof S.N!="number"||S.N===z.N))return null}else{if(S.kind===z.kind)return null;if(S.kind==="value"){for(var Z=0,le=kn;Z255?255:dt}function ke(dt){return dt<0?0:dt>1?1:dt}function Ie(dt){return dt[dt.length-1]==="%"?le(parseFloat(dt)/100*255):le(parseInt(dt))}function qe(dt){return dt[dt.length-1]==="%"?ke(parseFloat(dt)/100):ke(parseFloat(dt))}function it(dt,St,Rt){return Rt<0?Rt+=1:Rt>1&&(Rt-=1),6*Rt<1?dt+(St-dt)*Rt*6:2*Rt<1?St:3*Rt<2?dt+(St-dt)*(2/3-Rt)*6:dt}try{z.parseCSSColor=function(dt){var St,Rt=dt.replace(/ /g,"").toLowerCase();if(Rt in Z)return Z[Rt].slice();if(Rt[0]==="#")return Rt.length===4?(St=parseInt(Rt.substr(1),16))>=0&&St<=4095?[(3840&St)>>4|(3840&St)>>8,240&St|(240&St)>>4,15&St|(15&St)<<4,1]:null:Rt.length===7&&(St=parseInt(Rt.substr(1),16))>=0&&St<=16777215?[(16711680&St)>>16,(65280&St)>>8,255&St,1]:null;var Ht=Rt.indexOf("("),Yt=Rt.indexOf(")");if(Ht!==-1&&Yt+1===Rt.length){var Zt=Rt.substr(0,Ht),cn=Rt.substr(Ht+1,Yt-(Ht+1)).split(","),Tn=1;switch(Zt){case"rgba":if(cn.length!==4)return null;Tn=qe(cn.pop());case"rgb":return cn.length!==3?null:[Ie(cn[0]),Ie(cn[1]),Ie(cn[2]),Tn];case"hsla":if(cn.length!==4)return null;Tn=qe(cn.pop());case"hsl":if(cn.length!==3)return null;var Fn=(parseFloat(cn[0])%360+360)%360/360,Dn=qe(cn[1]),Gn=qe(cn[2]),Yn=Gn<=.5?Gn*(Dn+1):Gn+Dn-Gn*Dn,Kn=2*Gn-Yn;return[le(255*it(Kn,Yn,Fn+1/3)),le(255*it(Kn,Yn,Fn)),le(255*it(Kn,Yn,Fn-1/3)),Tn];default:return null}}return null}}catch{}}),fn=_n.parseCSSColor,hn=function(S,z,Z,le){le===void 0&&(le=1),this.r=S,this.g=z,this.b=Z,this.a=le};hn.parse=function(S){if(S){if(S instanceof hn)return S;if(typeof S=="string"){var z=fn(S);if(z)return new hn(z[0]/255*z[3],z[1]/255*z[3],z[2]/255*z[3],z[3])}}},hn.prototype.toString=function(){var S=this.toArray(),z=S[0],Z=S[1],le=S[2],ke=S[3];return"rgba("+Math.round(z)+","+Math.round(Z)+","+Math.round(le)+","+ke+")"},hn.prototype.toArray=function(){var S=this,z=S.r,Z=S.g,le=S.b,ke=S.a;return ke===0?[0,0,0,0]:[255*z/ke,255*Z/ke,255*le/ke,ke]},hn.black=new hn(0,0,0,1),hn.white=new hn(1,1,1,1),hn.transparent=new hn(0,0,0,0),hn.red=new hn(1,0,0,1);var In=function(S,z,Z){this.sensitivity=S?z?"variant":"case":z?"accent":"base",this.locale=Z,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};In.prototype.compare=function(S,z){return this.collator.compare(S,z)},In.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var Cn=function(S,z,Z,le,ke){this.text=S,this.image=z,this.scale=Z,this.fontStack=le,this.textColor=ke},Nn=function(S){this.sections=S};Nn.fromString=function(S){return new Nn([new Cn(S,null,null,null,null)])},Nn.prototype.isEmpty=function(){return this.sections.length===0||!this.sections.some(function(S){return S.text.length!==0||S.image&&S.image.name.length!==0})},Nn.factory=function(S){return S instanceof Nn?S:Nn.fromString(S)},Nn.prototype.toString=function(){return this.sections.length===0?"":this.sections.map(function(S){return S.text}).join("")},Nn.prototype.serialize=function(){for(var S=["format"],z=0,Z=this.sections;z=0&&S<=255&&typeof z=="number"&&z>=0&&z<=255&&typeof Z=="number"&&Z>=0&&Z<=255?le===void 0||typeof le=="number"&&le>=0&&le<=1?null:"Invalid rgba value ["+[S,z,Z,le].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+(typeof le=="number"?[S,z,Z,le]:[S,z,Z]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function or(S){if(S===null||typeof S=="string"||typeof S=="boolean"||typeof S=="number"||S instanceof hn||S instanceof In||S instanceof Nn||S instanceof Hn)return!0;if(Array.isArray(S)){for(var z=0,Z=S;z2){var it=S[1];if(typeof it!="string"||!(it in dr)||it==="object")return z.error('The item type argument of "array" must be one of string, number, boolean',1);Ie=dr[it],le++}else Ie=Gt;if(S.length>3){if(S[2]!==null&&(typeof S[2]!="number"||S[2]<0||S[2]!==Math.floor(S[2])))return z.error('The length argument to "array" must be a positive integer literal',2);qe=S[2],le++}Z=yn(Ie,qe)}else Z=dr[ke];for(var dt=[];le1)&&z.push(le)}}return z.concat(this.args.map(function(ke){return ke.serialize()}))};var $t=function(S){this.type=Kt,this.sections=S};$t.parse=function(S,z){if(S.length<2)return z.error("Expected at least one argument.");var Z=S[1];if(!Array.isArray(Z)&&typeof Z=="object")return z.error("First argument must be an image or text section.");for(var le=[],ke=!1,Ie=1;Ie<=S.length-1;++Ie){var qe=S[Ie];if(ke&&typeof qe=="object"&&!Array.isArray(qe)){ke=!1;var it=null;if(qe["font-scale"]&&!(it=z.parse(qe["font-scale"],1,Ot)))return null;var dt=null;if(qe["text-font"]&&!(dt=z.parse(qe["text-font"],1,yn(_t))))return null;var St=null;if(qe["text-color"]&&!(St=z.parse(qe["text-color"],1,Bt)))return null;var Rt=le[le.length-1];Rt.scale=it,Rt.font=dt,Rt.textColor=St}else{var Ht=z.parse(S[Ie],1,Gt);if(!Ht)return null;var Yt=Ht.type.kind;if(Yt!=="string"&&Yt!=="value"&&Yt!=="null"&&Yt!=="resolvedImage")return z.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");ke=!0,le.push({content:Ht,scale:null,font:null,textColor:null})}}return new $t(le)},$t.prototype.evaluate=function(S){return new Nn(this.sections.map(function(z){var Z=z.content.evaluate(S);return tr(Z)===nn?new Cn("",Z,null,null,null):new Cn(Tr(Z),null,z.scale?z.scale.evaluate(S):null,z.font?z.font.evaluate(S).join(","):null,z.textColor?z.textColor.evaluate(S):null)}))},$t.prototype.eachChild=function(S){for(var z=0,Z=this.sections;z-1),Z},mn.prototype.eachChild=function(S){S(this.input)},mn.prototype.outputDefined=function(){return!1},mn.prototype.serialize=function(){return["image",this.input.serialize()]};var Ln={"to-boolean":Pt,"to-color":Bt,"to-number":Ot,"to-string":_t},En=function(S,z){this.type=S,this.args=z};En.parse=function(S,z){if(S.length<2)return z.error("Expected at least one argument.");var Z=S[0];if((Z==="to-boolean"||Z==="to-string")&&S.length!==2)return z.error("Expected one argument.");for(var le=Ln[Z],ke=[],Ie=1;Ie4?"Invalid rbga value "+JSON.stringify(z)+": expected an array containing either three or four numeric values.":qn(z[0],z[1],z[2],z[3])))return new hn(z[0]/255,z[1]/255,z[2]/255,z[3])}throw new ir(Z||"Could not parse color from value '"+(typeof z=="string"?z:String(JSON.stringify(z)))+"'")}if(this.type.kind==="number"){for(var qe=null,it=0,dt=this.args;it=z[2]||S[1]<=z[1]||S[3]>=z[3])}function jt(S,z){var Z,le=(180+S[0])/360,ke=(Z=S[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+Z*Math.PI/360)))/360),Ie=Math.pow(2,z.z);return[Math.round(le*Ie*hr),Math.round(ke*Ie*hr)]}function Jt(S,z,Z){return z[1]>S[1]!=Z[1]>S[1]&&S[0]<(Z[0]-z[0])*(S[1]-z[1])/(Z[1]-z[1])+z[0]}function un(S,z){for(var Z=!1,le=0,ke=z.length;le0&&Ht<0||Rt<0&&Ht>0}function Sn(S,z,Z){for(var le=0,ke=Z;leZ[2]){var ke=.5*le,Ie=S[0]-Z[0]>ke?-le:Z[0]-S[0]>ke?le:0;Ie===0&&(Ie=S[0]-Z[2]>ke?-le:Z[2]-S[0]>ke?le:0),S[0]+=Ie}tn(z,S)}function Bn(S,z,Z,le){for(var ke=Math.pow(2,le.z)*hr,Ie=[le.x*hr,le.y*hr],qe=[],it=0,dt=S;it=0)return!1;var Z=!0;return S.eachChild(function(le){Z&&!sr(le,z)&&(Z=!1)}),Z}er.parse=function(S,z){if(S.length!==2)return z.error("'within' expression requires exactly one argument, but found "+(S.length-1)+" instead.");if(or(S[1])){var Z=S[1];if(Z.type==="FeatureCollection")for(var le=0;lez))throw new ir("Input is not a number.");qe=it-1}return 0}cr.prototype.parse=function(S,z,Z,le,ke){return ke===void 0&&(ke={}),z?this.concat(z,Z,le)._parse(S,ke):this._parse(S,ke)},cr.prototype._parse=function(S,z){function Z(St,Rt,Ht){return Ht==="assert"?new yr(Rt,[St]):Ht==="coerce"?new En(Rt,[St]):St}if(S!==null&&typeof S!="string"&&typeof S!="boolean"&&typeof S!="number"||(S=["literal",S]),Array.isArray(S)){if(S.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var le=S[0];if(typeof le!="string")return this.error("Expression name must be a string, but found "+typeof le+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var ke=this.registry[le];if(ke){var Ie=ke.parse(S,this);if(!Ie)return null;if(this.expectedType){var qe=this.expectedType,it=Ie.type;if(qe.kind!=="string"&&qe.kind!=="number"&&qe.kind!=="boolean"&&qe.kind!=="object"&&qe.kind!=="array"||it.kind!=="value")if(qe.kind!=="color"&&qe.kind!=="formatted"&&qe.kind!=="resolvedImage"||it.kind!=="value"&&it.kind!=="string"){if(this.checkSubtype(qe,it))return null}else Ie=Z(Ie,qe,z.typeAnnotation||"coerce");else Ie=Z(Ie,qe,z.typeAnnotation||"assert")}if(!(Ie instanceof gr)&&Ie.type.kind!=="resolvedImage"&&vr(Ie)){var dt=new $n;try{Ie=new gr(Ie.type,Ie.evaluate(dt))}catch(St){return this.error(St.message),null}}return Ie}return this.error('Unknown expression "'+le+'". If you wanted a literal array, use ["literal", [...]].',0)}return S===void 0?this.error("'undefined' value invalid. Use null instead."):typeof S=="object"?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof S+" instead.")},cr.prototype.concat=function(S,z,Z){var le=typeof S=="number"?this.path.concat(S):this.path,ke=Z?this.scope.concat(Z):this.scope;return new cr(this.registry,le,z||null,ke,this.errors)},cr.prototype.error=function(S){for(var z=[],Z=arguments.length-1;Z-- >0;)z[Z]=arguments[Z+1];var le=""+this.key+z.map(function(ke){return"["+ke+"]"}).join("");this.errors.push(new Lt(le,S))},cr.prototype.checkSubtype=function(S,z){var Z=Wn(S,z);return Z&&this.error(Z),Z};var Mr=function(S,z,Z){this.type=S,this.input=z,this.labels=[],this.outputs=[];for(var le=0,ke=Z;le=qe)return z.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',dt);var Rt=z.parse(it,St,ke);if(!Rt)return null;ke=ke||Rt.type,le.push([qe,Rt])}return new Mr(ke,Z,le)},Mr.prototype.evaluate=function(S){var z=this.labels,Z=this.outputs;if(z.length===1)return Z[0].evaluate(S);var le=this.input.evaluate(S);if(le<=z[0])return Z[0].evaluate(S);var ke=z.length;return le>=z[ke-1]?Z[ke-1].evaluate(S):Z[Sr(z,le)].evaluate(S)},Mr.prototype.eachChild=function(S){S(this.input);for(var z=0,Z=this.outputs;z0&&S.push(this.labels[z]),S.push(this.outputs[z].serialize());return S};var pr=Object.freeze({__proto__:null,number:Lr,color:function(S,z,Z){return new hn(Lr(S.r,z.r,Z),Lr(S.g,z.g,Z),Lr(S.b,z.b,Z),Lr(S.a,z.a,Z))},array:function(S,z,Z){return S.map(function(le,ke){return Lr(le,z[ke],Z)})}}),Pr=.95047,Hr=1.08883,ci=4/29,Ti=6/29,Mi=3*Ti*Ti,fa=Math.PI/180,Hi=180/Math.PI;function xi(S){return S>.008856451679035631?Math.pow(S,.3333333333333333):S/Mi+ci}function Oa(S){return S>Ti?S*S*S:Mi*(S-ci)}function Ka(S){return 255*(S<=.0031308?12.92*S:1.055*Math.pow(S,.4166666666666667)-.055)}function Yo(S){return(S/=255)<=.04045?S/12.92:Math.pow((S+.055)/1.055,2.4)}function Ys(S){var z=Yo(S.r),Z=Yo(S.g),le=Yo(S.b),ke=xi((.4124564*z+.3575761*Z+.1804375*le)/Pr),Ie=xi((.2126729*z+.7151522*Z+.072175*le)/1);return{l:116*Ie-16,a:500*(ke-Ie),b:200*(Ie-xi((.0193339*z+.119192*Z+.9503041*le)/Hr)),alpha:S.a}}function Uu(S){var z=(S.l+16)/116,Z=isNaN(S.a)?z:z+S.a/500,le=isNaN(S.b)?z:z-S.b/200;return z=1*Oa(z),Z=Pr*Oa(Z),le=Hr*Oa(le),new hn(Ka(3.2404542*Z-1.5371385*z-.4985314*le),Ka(-.969266*Z+1.8760108*z+.041556*le),Ka(.0556434*Z-.2040259*z+1.0572252*le),S.alpha)}function pu(S,z,Z){var le=z-S;return S+Z*(le>180||le<-180?le-360*Math.round(le/360):le)}var Xs={forward:Ys,reverse:Uu,interpolate:function(S,z,Z){return{l:Lr(S.l,z.l,Z),a:Lr(S.a,z.a,Z),b:Lr(S.b,z.b,Z),alpha:Lr(S.alpha,z.alpha,Z)}}},Qa={forward:function(S){var z=Ys(S),Z=z.l,le=z.a,ke=z.b,Ie=Math.atan2(ke,le)*Hi;return{h:Ie<0?Ie+360:Ie,c:Math.sqrt(le*le+ke*ke),l:Z,alpha:S.a}},reverse:function(S){var z=S.h*fa,Z=S.c;return Uu({l:S.l,a:Math.cos(z)*Z,b:Math.sin(z)*Z,alpha:S.alpha})},interpolate:function(S,z,Z){return{h:pu(S.h,z.h,Z),c:Lr(S.c,z.c,Z),l:Lr(S.l,z.l,Z),alpha:Lr(S.alpha,z.alpha,Z)}}},du=Object.freeze({__proto__:null,lab:Xs,hcl:Qa}),Qi=function(S,z,Z,le,ke){this.type=S,this.operator=z,this.interpolation=Z,this.input=le,this.labels=[],this.outputs=[];for(var Ie=0,qe=ke;Ie1}))return z.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);le={name:"cubic-bezier",controlPoints:it}}if(S.length-1<4)return z.error("Expected at least 4 arguments, but found only "+(S.length-1)+".");if((S.length-1)%2!=0)return z.error("Expected an even number of arguments.");if(!(ke=z.parse(ke,2,Ot)))return null;var dt=[],St=null;Z==="interpolate-hcl"||Z==="interpolate-lab"?St=Bt:z.expectedType&&z.expectedType.kind!=="value"&&(St=z.expectedType);for(var Rt=0;Rt=Ht)return z.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',Zt);var Tn=z.parse(Yt,cn,St);if(!Tn)return null;St=St||Tn.type,dt.push([Ht,Tn])}return St.kind==="number"||St.kind==="color"||St.kind==="array"&&St.itemType.kind==="number"&&typeof St.N=="number"?new Qi(St,Z,le,ke,dt):z.error("Type "+ln(St)+" is not interpolatable.")},Qi.prototype.evaluate=function(S){var z=this.labels,Z=this.outputs;if(z.length===1)return Z[0].evaluate(S);var le=this.input.evaluate(S);if(le<=z[0])return Z[0].evaluate(S);var ke=z.length;if(le>=z[ke-1])return Z[ke-1].evaluate(S);var Ie=Sr(z,le),qe=z[Ie],it=z[Ie+1],dt=Qi.interpolationFactor(this.interpolation,le,qe,it),St=Z[Ie].evaluate(S),Rt=Z[Ie+1].evaluate(S);return this.operator==="interpolate"?pr[this.type.kind.toLowerCase()](St,Rt,dt):this.operator==="interpolate-hcl"?Qa.reverse(Qa.interpolate(Qa.forward(St),Qa.forward(Rt),dt)):Xs.reverse(Xs.interpolate(Xs.forward(St),Xs.forward(Rt),dt))},Qi.prototype.eachChild=function(S){S(this.input);for(var z=0,Z=this.outputs;z=Z.length)throw new ir("Array index out of bounds: "+z+" > "+(Z.length-1)+".");if(z!==Math.floor(z))throw new ir("Array index must be an integer, but found "+z+" instead.");return Z[z]},fs.prototype.eachChild=function(S){S(this.index),S(this.input)},fs.prototype.outputDefined=function(){return!1},fs.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var fi=function(S,z){this.type=Pt,this.needle=S,this.haystack=z};fi.parse=function(S,z){if(S.length!==3)return z.error("Expected 2 arguments, but found "+(S.length-1)+" instead.");var Z=z.parse(S[1],1,Gt),le=z.parse(S[2],2,Gt);return Z&&le?wn(Z.type,[Pt,_t,Ot,mt,Gt])?new fi(Z,le):z.error("Expected first argument to be of type boolean, string, number or null, but found "+ln(Z.type)+" instead"):null},fi.prototype.evaluate=function(S){var z=this.needle.evaluate(S),Z=this.haystack.evaluate(S);if(!Z)return!1;if(!on(z,["boolean","string","number","null"]))throw new ir("Expected first argument to be of type boolean, string, number or null, but found "+ln(tr(z))+" instead.");if(!on(Z,["string","array"]))throw new ir("Expected second argument to be of type array or string, but found "+ln(tr(Z))+" instead.");return Z.indexOf(z)>=0},fi.prototype.eachChild=function(S){S(this.needle),S(this.haystack)},fi.prototype.outputDefined=function(){return!0},fi.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var hs=function(S,z,Z){this.type=Ot,this.needle=S,this.haystack=z,this.fromIndex=Z};hs.parse=function(S,z){if(S.length<=2||S.length>=5)return z.error("Expected 3 or 4 arguments, but found "+(S.length-1)+" instead.");var Z=z.parse(S[1],1,Gt),le=z.parse(S[2],2,Gt);if(!Z||!le)return null;if(!wn(Z.type,[Pt,_t,Ot,mt,Gt]))return z.error("Expected first argument to be of type boolean, string, number or null, but found "+ln(Z.type)+" instead");if(S.length===4){var ke=z.parse(S[3],3,Ot);return ke?new hs(Z,le,ke):null}return new hs(Z,le)},hs.prototype.evaluate=function(S){var z=this.needle.evaluate(S),Z=this.haystack.evaluate(S);if(!on(z,["boolean","string","number","null"]))throw new ir("Expected first argument to be of type boolean, string, number or null, but found "+ln(tr(z))+" instead.");if(!on(Z,["string","array"]))throw new ir("Expected second argument to be of type array or string, but found "+ln(tr(Z))+" instead.");if(this.fromIndex){var le=this.fromIndex.evaluate(S);return Z.indexOf(z,le)}return Z.indexOf(z)},hs.prototype.eachChild=function(S){S(this.needle),S(this.haystack),this.fromIndex&&S(this.fromIndex)},hs.prototype.outputDefined=function(){return!1},hs.prototype.serialize=function(){if(this.fromIndex!=null&&this.fromIndex!==void 0){var S=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),S]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var ao=function(S,z,Z,le,ke,Ie){this.inputType=S,this.type=z,this.input=Z,this.cases=le,this.outputs=ke,this.otherwise=Ie};ao.parse=function(S,z){if(S.length<5)return z.error("Expected at least 4 arguments, but found only "+(S.length-1)+".");if(S.length%2!=1)return z.error("Expected an even number of arguments.");var Z,le;z.expectedType&&z.expectedType.kind!=="value"&&(le=z.expectedType);for(var ke={},Ie=[],qe=2;qeNumber.MAX_SAFE_INTEGER)return St.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if(typeof Yt=="number"&&Math.floor(Yt)!==Yt)return St.error("Numeric branch labels must be integer values.");if(Z){if(St.checkSubtype(Z,tr(Yt)))return null}else Z=tr(Yt);if(ke[String(Yt)]!==void 0)return St.error("Branch labels must be unique.");ke[String(Yt)]=Ie.length}var Zt=z.parse(dt,qe,le);if(!Zt)return null;le=le||Zt.type,Ie.push(Zt)}var cn=z.parse(S[1],1,Gt);if(!cn)return null;var Tn=z.parse(S[S.length-1],S.length-1,le);return Tn?cn.type.kind!=="value"&&z.concat(1).checkSubtype(Z,cn.type)?null:new ao(Z,le,cn,ke,Ie,Tn):null},ao.prototype.evaluate=function(S){var z=this.input.evaluate(S);return(tr(z)===this.inputType&&this.outputs[this.cases[z]]||this.otherwise).evaluate(S)},ao.prototype.eachChild=function(S){S(this.input),this.outputs.forEach(S),S(this.otherwise)},ao.prototype.outputDefined=function(){return this.outputs.every(function(S){return S.outputDefined()})&&this.otherwise.outputDefined()},ao.prototype.serialize=function(){for(var S=this,z=["match",this.input.serialize()],Z=[],le={},ke=0,Ie=Object.keys(this.cases).sort();ke=5)return z.error("Expected 3 or 4 arguments, but found "+(S.length-1)+" instead.");var Z=z.parse(S[1],1,Gt),le=z.parse(S[2],2,Ot);if(!Z||!le)return null;if(!wn(Z.type,[yn(Gt),_t,Gt]))return z.error("Expected first argument to be of type array or string, but found "+ln(Z.type)+" instead");if(S.length===4){var ke=z.parse(S[3],3,Ot);return ke?new Ro(Z.type,Z,le,ke):null}return new Ro(Z.type,Z,le)},Ro.prototype.evaluate=function(S){var z=this.input.evaluate(S),Z=this.beginIndex.evaluate(S);if(!on(z,["string","array"]))throw new ir("Expected first argument to be of type array or string, but found "+ln(tr(z))+" instead.");if(this.endIndex){var le=this.endIndex.evaluate(S);return z.slice(Z,le)}return z.slice(Z)},Ro.prototype.eachChild=function(S){S(this.input),S(this.beginIndex),this.endIndex&&S(this.endIndex)},Ro.prototype.outputDefined=function(){return!1},Ro.prototype.serialize=function(){if(this.endIndex!=null&&this.endIndex!==void 0){var S=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),S]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var Hu=Xo("==",function(S,z,Z){return z===Z},Vu),qu=Xo("!=",function(S,z,Z){return z!==Z},function(S,z,Z,le){return!Vu(0,z,Z,le)}),Mc=Xo("<",function(S,z,Z){return z",function(S,z,Z){return z>Z},function(S,z,Z,le){return le.compare(z,Z)>0}),Gu=Xo("<=",function(S,z,Z){return z<=Z},function(S,z,Z,le){return le.compare(z,Z)<=0}),vu=Xo(">=",function(S,z,Z){return z>=Z},function(S,z,Z,le){return le.compare(z,Z)>=0}),$o=function(S,z,Z,le,ke){this.type=_t,this.number=S,this.locale=z,this.currency=Z,this.minFractionDigits=le,this.maxFractionDigits=ke};$o.parse=function(S,z){if(S.length!==3)return z.error("Expected two arguments.");var Z=z.parse(S[1],1,Ot);if(!Z)return null;var le=S[2];if(typeof le!="object"||Array.isArray(le))return z.error("NumberFormat options argument must be an object.");var ke=null;if(le.locale&&!(ke=z.parse(le.locale,1,_t)))return null;var Ie=null;if(le.currency&&!(Ie=z.parse(le.currency,1,_t)))return null;var qe=null;if(le["min-fraction-digits"]&&!(qe=z.parse(le["min-fraction-digits"],1,Ot)))return null;var it=null;return le["max-fraction-digits"]&&!(it=z.parse(le["max-fraction-digits"],1,Ot))?null:new $o(Z,ke,Ie,qe,it)},$o.prototype.evaluate=function(S){return new Intl.NumberFormat(this.locale?this.locale.evaluate(S):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(S):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(S):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(S):void 0}).format(this.number.evaluate(S))},$o.prototype.eachChild=function(S){S(this.number),this.locale&&S(this.locale),this.currency&&S(this.currency),this.minFractionDigits&&S(this.minFractionDigits),this.maxFractionDigits&&S(this.maxFractionDigits)},$o.prototype.outputDefined=function(){return!1},$o.prototype.serialize=function(){var S={};return this.locale&&(S.locale=this.locale.serialize()),this.currency&&(S.currency=this.currency.serialize()),this.minFractionDigits&&(S["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(S["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),S]};var Jo=function(S){this.type=Ot,this.input=S};Jo.parse=function(S,z){if(S.length!==2)return z.error("Expected 1 argument, but found "+(S.length-1)+" instead.");var Z=z.parse(S[1],1);return Z?Z.type.kind!=="array"&&Z.type.kind!=="string"&&Z.type.kind!=="value"?z.error("Expected argument of type string or array, but found "+ln(Z.type)+" instead."):new Jo(Z):null},Jo.prototype.evaluate=function(S){var z=this.input.evaluate(S);if(typeof z=="string"||Array.isArray(z))return z.length;throw new ir("Expected value to be of type string or array, but found "+ln(tr(z))+" instead.")},Jo.prototype.eachChild=function(S){S(this.input)},Jo.prototype.outputDefined=function(){return!1},Jo.prototype.serialize=function(){var S=["length"];return this.eachChild(function(z){S.push(z.serialize())}),S};var $s={"==":Hu,"!=":qu,">":gu,"<":Mc,">=":vu,"<=":Gu,array:yr,at:fs,boolean:yr,case:bo,coalesce:qa,collator:Qn,format:$t,image:mn,in:fi,"index-of":hs,interpolate:Qi,"interpolate-hcl":Qi,"interpolate-lab":Qi,length:Jo,let:eo,literal:gr,match:ao,number:yr,"number-format":$o,object:yr,slice:Ro,step:Mr,string:yr,"to-boolean":En,"to-color":En,"to-number":En,"to-string":En,var:fr,within:er};function Ko(S,z){var Z=z[0],le=z[1],ke=z[2],Ie=z[3];Z=Z.evaluate(S),le=le.evaluate(S),ke=ke.evaluate(S);var qe=Ie?Ie.evaluate(S):1,it=qn(Z,le,ke,qe);if(it)throw new ir(it);return new hn(Z/255*qe,le/255*qe,ke/255*qe,qe)}function mu(S,z){return S in z}function yu(S,z){var Z=z[S];return Z===void 0?null:Z}function Ls(S){return{type:S}}function Ul(S){return{result:"success",value:S}}function ps(S){return{result:"error",value:S}}function Js(S){return S["property-type"]==="data-driven"||S["property-type"]==="cross-faded-data-driven"}function Ps(S){return!!S.expression&&S.expression.parameters.indexOf("zoom")>-1}function Qo(S){return!!S.expression&&S.expression.interpolated}function hi(S){return S instanceof Number?"number":S instanceof String?"string":S instanceof Boolean?"boolean":Array.isArray(S)?"array":S===null?"null":typeof S}function ds(S){return typeof S=="object"&&S!==null&&!Array.isArray(S)}function Sc(S){return S}function Vl(S,z){var Z,le,ke,Ie=z.type==="color",qe=S.stops&&typeof S.stops[0][0]=="object",it=qe||S.property!==void 0,dt=qe||!it,St=S.type||(Qo(z)?"exponential":"interval");if(Ie&&((S=ut({},S)).stops&&(S.stops=S.stops.map(function(br){return[br[0],hn.parse(br[1])]})),S.default?S.default=hn.parse(S.default):S.default=hn.parse(z.default)),S.colorSpace&&S.colorSpace!=="rgb"&&!du[S.colorSpace])throw new Error("Unknown color space: "+S.colorSpace);if(St==="exponential")Z=oo;else if(St==="interval")Z=Ks;else if(St==="categorical"){Z=Os,le=Object.create(null);for(var Rt=0,Ht=S.stops;Rt=S.stops[le-1][0])return S.stops[le-1][1];var ke=Sr(S.stops.map(function(Ie){return Ie[0]}),Z);return S.stops[ke][1]}function oo(S,z,Z){var le=S.base!==void 0?S.base:1;if(hi(Z)!=="number")return xl(S.default,z.default);var ke=S.stops.length;if(ke===1||Z<=S.stops[0][0])return S.stops[0][1];if(Z>=S.stops[ke-1][0])return S.stops[ke-1][1];var Ie=Sr(S.stops.map(function(Ht){return Ht[0]}),Z),qe=function(Ht,Yt,Zt,cn){var Tn=cn-Zt,Fn=Ht-Zt;return Tn===0?0:Yt===1?Fn/Tn:(Math.pow(Yt,Fn)-1)/(Math.pow(Yt,Tn)-1)}(Z,le,S.stops[Ie][0],S.stops[Ie+1][0]),it=S.stops[Ie][1],dt=S.stops[Ie+1][1],St=pr[z.type]||Sc;if(S.colorSpace&&S.colorSpace!=="rgb"){var Rt=du[S.colorSpace];St=function(Ht,Yt){return Rt.reverse(Rt.interpolate(Rt.forward(Ht),Rt.forward(Yt),qe))}}return typeof it.evaluate=="function"?{evaluate:function(){for(var Ht=[],Yt=arguments.length;Yt--;)Ht[Yt]=arguments[Yt];var Zt=it.evaluate.apply(void 0,Ht),cn=dt.evaluate.apply(void 0,Ht);if(Zt!==void 0&&cn!==void 0)return St(Zt,cn,qe)}}:St(it,dt,qe)}function xu(S,z,Z){return z.type==="color"?Z=hn.parse(Z):z.type==="formatted"?Z=Nn.fromString(Z.toString()):z.type==="resolvedImage"?Z=Hn.fromString(Z.toString()):hi(Z)===z.type||z.type==="enum"&&z.values[Z]||(Z=void 0),xl(Z,S.default,z.default)}Zn.register($s,{error:[{kind:"error"},[_t],function(S,z){var Z=z[0];throw new ir(Z.evaluate(S))}],typeof:[_t,[Gt],function(S,z){return ln(tr(z[0].evaluate(S)))}],"to-rgba":[yn(Ot,4),[Bt],function(S,z){return z[0].evaluate(S).toArray()}],rgb:[Bt,[Ot,Ot,Ot],Ko],rgba:[Bt,[Ot,Ot,Ot,Ot],Ko],has:{type:Pt,overloads:[[[_t],function(S,z){return mu(z[0].evaluate(S),S.properties())}],[[_t,Wt],function(S,z){var Z=z[0],le=z[1];return mu(Z.evaluate(S),le.evaluate(S))}]]},get:{type:Gt,overloads:[[[_t],function(S,z){return yu(z[0].evaluate(S),S.properties())}],[[_t,Wt],function(S,z){var Z=z[0],le=z[1];return yu(Z.evaluate(S),le.evaluate(S))}]]},"feature-state":[Gt,[_t],function(S,z){return yu(z[0].evaluate(S),S.featureState||{})}],properties:[Wt,[],function(S){return S.properties()}],"geometry-type":[_t,[],function(S){return S.geometryType()}],id:[Gt,[],function(S){return S.id()}],zoom:[Ot,[],function(S){return S.globals.zoom}],"heatmap-density":[Ot,[],function(S){return S.globals.heatmapDensity||0}],"line-progress":[Ot,[],function(S){return S.globals.lineProgress||0}],accumulated:[Gt,[],function(S){return S.globals.accumulated===void 0?null:S.globals.accumulated}],"+":[Ot,Ls(Ot),function(S,z){for(var Z=0,le=0,ke=z;le":[Pt,[_t,Gt],function(S,z){var Z=z[0],le=z[1],ke=S.properties()[Z.value],Ie=le.value;return typeof ke==typeof Ie&&ke>Ie}],"filter-id->":[Pt,[Gt],function(S,z){var Z=z[0],le=S.id(),ke=Z.value;return typeof le==typeof ke&&le>ke}],"filter-<=":[Pt,[_t,Gt],function(S,z){var Z=z[0],le=z[1],ke=S.properties()[Z.value],Ie=le.value;return typeof ke==typeof Ie&&ke<=Ie}],"filter-id-<=":[Pt,[Gt],function(S,z){var Z=z[0],le=S.id(),ke=Z.value;return typeof le==typeof ke&&le<=ke}],"filter->=":[Pt,[_t,Gt],function(S,z){var Z=z[0],le=z[1],ke=S.properties()[Z.value],Ie=le.value;return typeof ke==typeof Ie&&ke>=Ie}],"filter-id->=":[Pt,[Gt],function(S,z){var Z=z[0],le=S.id(),ke=Z.value;return typeof le==typeof ke&&le>=ke}],"filter-has":[Pt,[Gt],function(S,z){return z[0].value in S.properties()}],"filter-has-id":[Pt,[],function(S){return S.id()!==null&&S.id()!==void 0}],"filter-type-in":[Pt,[yn(_t)],function(S,z){return z[0].value.indexOf(S.geometryType())>=0}],"filter-id-in":[Pt,[yn(Gt)],function(S,z){return z[0].value.indexOf(S.id())>=0}],"filter-in-small":[Pt,[_t,yn(Gt)],function(S,z){var Z=z[0];return z[1].value.indexOf(S.properties()[Z.value])>=0}],"filter-in-large":[Pt,[_t,yn(Gt)],function(S,z){var Z=z[0],le=z[1];return function(ke,Ie,qe,it){for(;qe<=it;){var dt=qe+it>>1;if(Ie[dt]===ke)return!0;Ie[dt]>ke?it=dt-1:qe=dt+1}return!1}(S.properties()[Z.value],le.value,0,le.value.length-1)}],all:{type:Pt,overloads:[[[Pt,Pt],function(S,z){var Z=z[0],le=z[1];return Z.evaluate(S)&&le.evaluate(S)}],[Ls(Pt),function(S,z){for(var Z=0,le=z;Z0&&typeof S[0]=="string"&&S[0]in $s}function _l(S,z){var Z=new cr($s,[],z?function(ke){var Ie={color:Bt,string:_t,number:Ot,enum:_t,boolean:Pt,formatted:Kt,resolvedImage:nn};return ke.type==="array"?yn(Ie[ke.value]||Gt,ke.length):Ie[ke.type]}(z):void 0),le=Z.parse(S,void 0,void 0,void 0,z&&z.type==="string"?{typeAnnotation:"coerce"}:void 0);return le?Ul(new bl(le,z)):ps(Z.errors)}bl.prototype.evaluateWithoutErrorHandling=function(S,z,Z,le,ke,Ie){return this._evaluator.globals=S,this._evaluator.feature=z,this._evaluator.featureState=Z,this._evaluator.canonical=le,this._evaluator.availableImages=ke||null,this._evaluator.formattedSection=Ie,this.expression.evaluate(this._evaluator)},bl.prototype.evaluate=function(S,z,Z,le,ke,Ie){this._evaluator.globals=S,this._evaluator.feature=z||null,this._evaluator.featureState=Z||null,this._evaluator.canonical=le,this._evaluator.availableImages=ke||null,this._evaluator.formattedSection=Ie||null;try{var qe=this.expression.evaluate(this._evaluator);if(qe==null||typeof qe=="number"&&qe!=qe)return this._defaultValue;if(this._enumValues&&!(qe in this._enumValues))throw new ir("Expected value to be one of "+Object.keys(this._enumValues).map(function(it){return JSON.stringify(it)}).join(", ")+", but found "+JSON.stringify(qe)+" instead.");return qe}catch(it){return this._warningHistory[it.message]||(this._warningHistory[it.message]=!0,typeof console<"u"&&console.warn(it.message)),this._defaultValue}};var Is=function(S,z){this.kind=S,this._styleExpression=z,this.isStateDependent=S!=="constant"&&!lr(z.expression)};Is.prototype.evaluateWithoutErrorHandling=function(S,z,Z,le,ke,Ie){return this._styleExpression.evaluateWithoutErrorHandling(S,z,Z,le,ke,Ie)},Is.prototype.evaluate=function(S,z,Z,le,ke,Ie){return this._styleExpression.evaluate(S,z,Z,le,ke,Ie)};var Rs=function(S,z,Z,le){this.kind=S,this.zoomStops=Z,this._styleExpression=z,this.isStateDependent=S!=="camera"&&!lr(z.expression),this.interpolationType=le};function el(S,z){if((S=_l(S,z)).result==="error")return S;var Z=S.value.expression,le=Jn(Z);if(!le&&!Js(z))return ps([new Lt("","data expressions not supported")]);var ke=sr(Z,["zoom"]);if(!ke&&!Ps(z))return ps([new Lt("","zoom expressions not supported")]);var Ie=Tl(Z);if(!Ie&&!ke)return ps([new Lt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(Ie instanceof Lt)return ps([Ie]);if(Ie instanceof Qi&&!Qo(z))return ps([new Lt("",'"interpolate" expressions cannot be used with this property')]);if(!Ie)return Ul(new Is(le?"constant":"source",S.value));var qe=Ie instanceof Qi?Ie.interpolation:void 0;return Ul(new Rs(le?"camera":"composite",S.value,Ie.labels,qe))}Rs.prototype.evaluateWithoutErrorHandling=function(S,z,Z,le,ke,Ie){return this._styleExpression.evaluateWithoutErrorHandling(S,z,Z,le,ke,Ie)},Rs.prototype.evaluate=function(S,z,Z,le,ke,Ie){return this._styleExpression.evaluate(S,z,Z,le,ke,Ie)},Rs.prototype.interpolationFactor=function(S,z,Z){return this.interpolationType?Qi.interpolationFactor(this.interpolationType,S,z,Z):0};var wl=function(S,z){this._parameters=S,this._specification=z,ut(this,Vl(this._parameters,this._specification))};function Tl(S){var z=null;if(S instanceof eo)z=Tl(S.result);else if(S instanceof qa)for(var Z=0,le=S.args;Zle.maximum?[new Be(z,Z,Z+" is greater than the maximum value "+le.maximum)]:[]}function bu(S){var z,Z,le,ke=S.valueSpec,Ie=pt(S.value.type),qe={},it=Ie!=="categorical"&&S.value.property===void 0,dt=!it,St=hi(S.value.stops)==="array"&&hi(S.value.stops[0])==="array"&&hi(S.value.stops[0][0])==="object",Rt=so({key:S.key,value:S.value,valueSpec:S.styleSpec.function,style:S.style,styleSpec:S.styleSpec,objectElementValidators:{stops:function(Zt){if(Ie==="identity")return[new Be(Zt.key,Zt.value,'identity function may not have a "stops" property')];var cn=[],Tn=Zt.value;return cn=cn.concat(kl({key:Zt.key,value:Tn,valueSpec:Zt.valueSpec,style:Zt.style,styleSpec:Zt.styleSpec,arrayElementValidator:Ht})),hi(Tn)==="array"&&Tn.length===0&&cn.push(new Be(Zt.key,Tn,"array must have at least one stop")),cn},default:function(Zt){return Oi({key:Zt.key,value:Zt.value,valueSpec:ke,style:Zt.style,styleSpec:Zt.styleSpec})}}});return Ie==="identity"&&it&&Rt.push(new Be(S.key,S.value,'missing required property "property"')),Ie==="identity"||S.value.stops||Rt.push(new Be(S.key,S.value,'missing required property "stops"')),Ie==="exponential"&&S.valueSpec.expression&&!Qo(S.valueSpec)&&Rt.push(new Be(S.key,S.value,"exponential functions not supported")),S.styleSpec.$version>=8&&(dt&&!Js(S.valueSpec)?Rt.push(new Be(S.key,S.value,"property functions not supported")):it&&!Ps(S.valueSpec)&&Rt.push(new Be(S.key,S.value,"zoom functions not supported"))),Ie!=="categorical"&&!St||S.value.property!==void 0||Rt.push(new Be(S.key,S.value,'"property" property is required')),Rt;function Ht(Zt){var cn=[],Tn=Zt.value,Fn=Zt.key;if(hi(Tn)!=="array")return[new Be(Fn,Tn,"array expected, "+hi(Tn)+" found")];if(Tn.length!==2)return[new Be(Fn,Tn,"array length 2 expected, length "+Tn.length+" found")];if(St){if(hi(Tn[0])!=="object")return[new Be(Fn,Tn,"object expected, "+hi(Tn[0])+" found")];if(Tn[0].zoom===void 0)return[new Be(Fn,Tn,"object stop key must have zoom")];if(Tn[0].value===void 0)return[new Be(Fn,Tn,"object stop key must have value")];if(le&&le>pt(Tn[0].zoom))return[new Be(Fn,Tn[0].zoom,"stop zoom values must appear in ascending order")];pt(Tn[0].zoom)!==le&&(le=pt(Tn[0].zoom),Z=void 0,qe={}),cn=cn.concat(so({key:Fn+"[0]",value:Tn[0],valueSpec:{zoom:{}},style:Zt.style,styleSpec:Zt.styleSpec,objectElementValidators:{zoom:Al,value:Yt}}))}else cn=cn.concat(Yt({key:Fn+"[0]",value:Tn[0],valueSpec:{},style:Zt.style,styleSpec:Zt.styleSpec},Tn));return Qs(bt(Tn[1]))?cn.concat([new Be(Fn+"[1]",Tn[1],"expressions are not allowed in function stops.")]):cn.concat(Oi({key:Fn+"[1]",value:Tn[1],valueSpec:ke,style:Zt.style,styleSpec:Zt.styleSpec}))}function Yt(Zt,cn){var Tn=hi(Zt.value),Fn=pt(Zt.value),Dn=Zt.value!==null?Zt.value:cn;if(z){if(Tn!==z)return[new Be(Zt.key,Dn,Tn+" stop domain type must match previous stop domain type "+z)]}else z=Tn;if(Tn!=="number"&&Tn!=="string"&&Tn!=="boolean")return[new Be(Zt.key,Dn,"stop domain value must be a number, string, or boolean")];if(Tn!=="number"&&Ie!=="categorical"){var Gn="number expected, "+Tn+" found";return Js(ke)&&Ie===void 0&&(Gn+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Be(Zt.key,Dn,Gn)]}return Ie!=="categorical"||Tn!=="number"||isFinite(Fn)&&Math.floor(Fn)===Fn?Ie!=="categorical"&&Tn==="number"&&Z!==void 0&&Fn=2&&S[1]!=="$id"&&S[1]!=="$type";case"in":return S.length>=3&&(typeof S[1]!="string"||Array.isArray(S[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return S.length!==3||Array.isArray(S[1])||Array.isArray(S[2]);case"any":case"all":for(var z=0,Z=S.slice(1);zz?1:0}function zs(S){if(!Array.isArray(S))return!1;if(S[0]==="within")return!0;for(var z=1;z"||Z==="<="||Z===">="?bi(S[1],S[2],Z):Z==="any"?(z=S.slice(1),["any"].concat(z.map(Ds))):Z==="all"?["all"].concat(S.slice(1).map(Ds)):Z==="none"?["all"].concat(S.slice(1).map(Ds).map(ga)):Z==="in"?vs(S[1],S.slice(2)):Z==="!in"?ga(vs(S[1],S.slice(2))):Z==="has"?ms(S[1]):Z==="!has"?ga(ms(S[1])):Z!=="within"||S}function bi(S,z,Z){switch(S){case"$type":return["filter-type-"+Z,z];case"$id":return["filter-id-"+Z,z];default:return["filter-"+Z,S,z]}}function vs(S,z){if(z.length===0)return!1;switch(S){case"$type":return["filter-type-in",["literal",z]];case"$id":return["filter-id-in",["literal",z]];default:return z.length>200&&!z.some(function(Z){return typeof Z!=typeof z[0]})?["filter-in-large",S,["literal",z.sort(tl)]]:["filter-in-small",S,["literal",z]]}}function ms(S){switch(S){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",S]}}function ga(S){return["!",S]}function oi(S){return Ml(bt(S.value))?gs(ut({},S,{expressionContext:"filter",valueSpec:{value:"boolean"}})):li(S)}function li(S){var z=S.value,Z=S.key;if(hi(z)!=="array")return[new Be(Z,z,"array expected, "+hi(z)+" found")];var le,ke=S.styleSpec,Ie=[];if(z.length<1)return[new Be(Z,z,"filter array must have at least 1 element")];switch(Ie=Ie.concat(Hl({key:Z+"[0]",value:z[0],valueSpec:ke.filter_operator,style:S.style,styleSpec:S.styleSpec})),pt(z[0])){case"<":case"<=":case">":case">=":z.length>=2&&pt(z[1])==="$type"&&Ie.push(new Be(Z,z,'"$type" cannot be use with operator "'+z[0]+'"'));case"==":case"!=":z.length!==3&&Ie.push(new Be(Z,z,'filter array for operator "'+z[0]+'" must have 3 elements'));case"in":case"!in":z.length>=2&&(le=hi(z[1]))!=="string"&&Ie.push(new Be(Z+"[1]",z[1],"string expected, "+le+" found"));for(var qe=2;qe=Rt[Zt+0]&&le>=Rt[Zt+1])?(qe[Yt]=!0,Ie.push(St[Yt])):qe[Yt]=!1}}},Ga.prototype._forEachCell=function(S,z,Z,le,ke,Ie,qe,it){for(var dt=this._convertToCellCoord(S),St=this._convertToCellCoord(z),Rt=this._convertToCellCoord(Z),Ht=this._convertToCellCoord(le),Yt=dt;Yt<=Rt;Yt++)for(var Zt=St;Zt<=Ht;Zt++){var cn=this.d*Zt+Yt;if((!it||it(this._convertFromCellCoord(Yt),this._convertFromCellCoord(Zt),this._convertFromCellCoord(Yt+1),this._convertFromCellCoord(Zt+1)))&&ke.call(this,S,z,Z,le,cn,Ie,qe,it))return}},Ga.prototype._convertFromCellCoord=function(S){return(S-this.padding)/this.scale},Ga.prototype._convertToCellCoord=function(S){return Math.max(0,Math.min(this.d-1,Math.floor(S*this.scale)+this.padding))},Ga.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var S=this.cells,z=3+this.cells.length+1+1,Z=0,le=0;le=0)){var Ht=S[Rt];St[Rt]=Sa[dt].shallow.indexOf(Rt)>=0?Ht:nl(Ht,z)}S instanceof Error&&(St.message=S.message)}if(St.$name)throw new Error("$name property is reserved for worker serialization logic.");return dt!=="Object"&&(St.$name=dt),St}throw new Error("can't serialize object of type "+typeof S)}function rl(S){if(S==null||typeof S=="boolean"||typeof S=="number"||typeof S=="string"||S instanceof Boolean||S instanceof Number||S instanceof String||S instanceof Date||S instanceof RegExp||Ra(S)||Zl(S)||ArrayBuffer.isView(S)||S instanceof Gl)return S;if(Array.isArray(S))return S.map(rl);if(typeof S=="object"){var z=S.$name||"Object",Z=Sa[z].klass;if(!Z)throw new Error("can't deserialize unregistered class "+z);if(Z.deserialize)return Z.deserialize(S);for(var le=Object.create(Z.prototype),ke=0,Ie=Object.keys(S);ke=0?it:rl(it)}}return le}throw new Error("can't deserialize object of type "+typeof S)}var il=function(){this.first=!0};il.prototype.update=function(S,z){var Z=Math.floor(S);return this.first?(this.first=!1,this.lastIntegerZoom=Z,this.lastIntegerZoomTime=0,this.lastZoom=S,this.lastFloorZoom=Z,!0):(this.lastFloorZoom>Z?(this.lastIntegerZoom=Z+1,this.lastIntegerZoomTime=z):this.lastFloorZoom=128&&S<=255},Arabic:function(S){return S>=1536&&S<=1791},"Arabic Supplement":function(S){return S>=1872&&S<=1919},"Arabic Extended-A":function(S){return S>=2208&&S<=2303},"Hangul Jamo":function(S){return S>=4352&&S<=4607},"Unified Canadian Aboriginal Syllabics":function(S){return S>=5120&&S<=5759},Khmer:function(S){return S>=6016&&S<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(S){return S>=6320&&S<=6399},"General Punctuation":function(S){return S>=8192&&S<=8303},"Letterlike Symbols":function(S){return S>=8448&&S<=8527},"Number Forms":function(S){return S>=8528&&S<=8591},"Miscellaneous Technical":function(S){return S>=8960&&S<=9215},"Control Pictures":function(S){return S>=9216&&S<=9279},"Optical Character Recognition":function(S){return S>=9280&&S<=9311},"Enclosed Alphanumerics":function(S){return S>=9312&&S<=9471},"Geometric Shapes":function(S){return S>=9632&&S<=9727},"Miscellaneous Symbols":function(S){return S>=9728&&S<=9983},"Miscellaneous Symbols and Arrows":function(S){return S>=11008&&S<=11263},"CJK Radicals Supplement":function(S){return S>=11904&&S<=12031},"Kangxi Radicals":function(S){return S>=12032&&S<=12255},"Ideographic Description Characters":function(S){return S>=12272&&S<=12287},"CJK Symbols and Punctuation":function(S){return S>=12288&&S<=12351},Hiragana:function(S){return S>=12352&&S<=12447},Katakana:function(S){return S>=12448&&S<=12543},Bopomofo:function(S){return S>=12544&&S<=12591},"Hangul Compatibility Jamo":function(S){return S>=12592&&S<=12687},Kanbun:function(S){return S>=12688&&S<=12703},"Bopomofo Extended":function(S){return S>=12704&&S<=12735},"CJK Strokes":function(S){return S>=12736&&S<=12783},"Katakana Phonetic Extensions":function(S){return S>=12784&&S<=12799},"Enclosed CJK Letters and Months":function(S){return S>=12800&&S<=13055},"CJK Compatibility":function(S){return S>=13056&&S<=13311},"CJK Unified Ideographs Extension A":function(S){return S>=13312&&S<=19903},"Yijing Hexagram Symbols":function(S){return S>=19904&&S<=19967},"CJK Unified Ideographs":function(S){return S>=19968&&S<=40959},"Yi Syllables":function(S){return S>=40960&&S<=42127},"Yi Radicals":function(S){return S>=42128&&S<=42191},"Hangul Jamo Extended-A":function(S){return S>=43360&&S<=43391},"Hangul Syllables":function(S){return S>=44032&&S<=55215},"Hangul Jamo Extended-B":function(S){return S>=55216&&S<=55295},"Private Use Area":function(S){return S>=57344&&S<=63743},"CJK Compatibility Ideographs":function(S){return S>=63744&&S<=64255},"Arabic Presentation Forms-A":function(S){return S>=64336&&S<=65023},"Vertical Forms":function(S){return S>=65040&&S<=65055},"CJK Compatibility Forms":function(S){return S>=65072&&S<=65103},"Small Form Variants":function(S){return S>=65104&&S<=65135},"Arabic Presentation Forms-B":function(S){return S>=65136&&S<=65279},"Halfwidth and Fullwidth Forms":function(S){return S>=65280&&S<=65519}};function al(S){for(var z=0,Z=S;z=65097&&S<=65103)||Or["CJK Compatibility Ideographs"](S)||Or["CJK Compatibility"](S)||Or["CJK Radicals Supplement"](S)||Or["CJK Strokes"](S)||!(!Or["CJK Symbols and Punctuation"](S)||S>=12296&&S<=12305||S>=12308&&S<=12319||S===12336)||Or["CJK Unified Ideographs Extension A"](S)||Or["CJK Unified Ideographs"](S)||Or["Enclosed CJK Letters and Months"](S)||Or["Hangul Compatibility Jamo"](S)||Or["Hangul Jamo Extended-A"](S)||Or["Hangul Jamo Extended-B"](S)||Or["Hangul Jamo"](S)||Or["Hangul Syllables"](S)||Or.Hiragana(S)||Or["Ideographic Description Characters"](S)||Or.Kanbun(S)||Or["Kangxi Radicals"](S)||Or["Katakana Phonetic Extensions"](S)||Or.Katakana(S)&&S!==12540||!(!Or["Halfwidth and Fullwidth Forms"](S)||S===65288||S===65289||S===65293||S>=65306&&S<=65310||S===65339||S===65341||S===65343||S>=65371&&S<=65503||S===65507||S>=65512&&S<=65519)||!(!Or["Small Form Variants"](S)||S>=65112&&S<=65118||S>=65123&&S<=65126)||Or["Unified Canadian Aboriginal Syllabics"](S)||Or["Unified Canadian Aboriginal Syllabics Extended"](S)||Or["Vertical Forms"](S)||Or["Yijing Hexagram Symbols"](S)||Or["Yi Syllables"](S)||Or["Yi Radicals"](S))))}function Yl(S){return!(uo(S)||function(z){return!!(Or["Latin-1 Supplement"](z)&&(z===167||z===169||z===174||z===177||z===188||z===189||z===190||z===215||z===247)||Or["General Punctuation"](z)&&(z===8214||z===8224||z===8225||z===8240||z===8241||z===8251||z===8252||z===8258||z===8263||z===8264||z===8265||z===8273)||Or["Letterlike Symbols"](z)||Or["Number Forms"](z)||Or["Miscellaneous Technical"](z)&&(z>=8960&&z<=8967||z>=8972&&z<=8991||z>=8996&&z<=9e3||z===9003||z>=9085&&z<=9114||z>=9150&&z<=9165||z===9167||z>=9169&&z<=9179||z>=9186&&z<=9215)||Or["Control Pictures"](z)&&z!==9251||Or["Optical Character Recognition"](z)||Or["Enclosed Alphanumerics"](z)||Or["Geometric Shapes"](z)||Or["Miscellaneous Symbols"](z)&&!(z>=9754&&z<=9759)||Or["Miscellaneous Symbols and Arrows"](z)&&(z>=11026&&z<=11055||z>=11088&&z<=11097||z>=11192&&z<=11243)||Or["CJK Symbols and Punctuation"](z)||Or.Katakana(z)||Or["Private Use Area"](z)||Or["CJK Compatibility Forms"](z)||Or["Small Form Variants"](z)||Or["Halfwidth and Fullwidth Forms"](z)||z===8734||z===8756||z===8757||z>=9984&&z<=10087||z>=10102&&z<=10131||z===65532||z===65533)}(S))}function El(S){return Or.Arabic(S)||Or["Arabic Supplement"](S)||Or["Arabic Extended-A"](S)||Or["Arabic Presentation Forms-A"](S)||Or["Arabic Presentation Forms-B"](S)}function ya(S){return S>=1424&&S<=2303||Or["Arabic Presentation Forms-A"](S)||Or["Arabic Presentation Forms-B"](S)}function Vs(S,z){return!(!z&&ya(S)||S>=2304&&S<=3583||S>=3840&&S<=4255||Or.Khmer(S))}function ns(S){for(var z=0,Z=S;z-1&&(xa=co),Hs&&Hs(S)};function Cl(){to.fire(new Ge("pluginStateChange",{pluginStatus:xa,pluginURL:fo}))}var to=new ht,ho=function(){return xa},Fo=function(){if(xa!==Wa||!fo)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");xa=xs,Cl(),fo&&Dt({url:fo},function(S){S?vi(S):(xa=_o,Cl())})},za={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return xa===_o||za.applyArabicShaping!=null},isLoading:function(){return xa===xs},setState:function(S){xa=S.pluginStatus,fo=S.pluginURL},isParsed:function(){return za.applyArabicShaping!=null&&za.processBidirectionalText!=null&&za.processStyledBidirectionalText!=null},getPluginURL:function(){return fo}},di=function(S,z){this.zoom=S,z?(this.now=z.now,this.fadeDuration=z.fadeDuration,this.zoomHistory=z.zoomHistory,this.transition=z.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new il,this.transition={})};di.prototype.isSupportedScript=function(S){return function(z,Z){for(var le=0,ke=z;lethis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:z+(1-z)*Z}:{fromScale:.5,toScale:1,t:1-(1-Z)*z}};var oa=function(S,z){this.property=S,this.value=z,this.expression=function(Z,le){if(ds(Z))return new wl(Z,le);if(Qs(Z)){var ke=el(Z,le);if(ke.result==="error")throw new Error(ke.value.map(function(qe){return qe.key+": "+qe.message}).join(", "));return ke.value}var Ie=Z;return typeof Z=="string"&&le.type==="color"&&(Ie=hn.parse(Z)),{kind:"constant",evaluate:function(){return Ie}}}(z===void 0?S.specification.default:z,S.specification)};oa.prototype.isDataDriven=function(){return this.expression.kind==="source"||this.expression.kind==="composite"},oa.prototype.possiblyEvaluate=function(S,z,Z){return this.property.possiblyEvaluate(this,S,z,Z)};var wo=function(S){this.property=S,this.value=new oa(S,void 0)};wo.prototype.transitioned=function(S,z){return new Bo(this.property,this.value,z,u({},S.transition,this.transition),S.now)},wo.prototype.untransitioned=function(){return new Bo(this.property,this.value,null,{},0)};var Da=function(S){this._properties=S,this._values=Object.create(S.defaultTransitionablePropertyValues)};Da.prototype.getValue=function(S){return k(this._values[S].value.value)},Da.prototype.setValue=function(S,z){this._values.hasOwnProperty(S)||(this._values[S]=new wo(this._values[S].property)),this._values[S].value=new oa(this._values[S].property,z===null?void 0:k(z))},Da.prototype.getTransition=function(S){return k(this._values[S].transition)},Da.prototype.setTransition=function(S,z){this._values.hasOwnProperty(S)||(this._values[S]=new wo(this._values[S].property)),this._values[S].transition=k(z)||void 0},Da.prototype.serialize=function(){for(var S={},z=0,Z=Object.keys(this._values);zthis.end)return this.prior=null,ke;if(this.value.isDataDriven())return this.prior=null,ke;if(le=1)return 1;var dt=it*it,St=dt*it;return 4*(it<.5?St:3*(it-dt)+St-.75)}(qe))}return ke};var bs=function(S){this._properties=S,this._values=Object.create(S.defaultTransitioningPropertyValues)};bs.prototype.possiblyEvaluate=function(S,z,Z){for(var le=new po(this._properties),ke=0,Ie=Object.keys(this._values);keIe.zoomHistory.lastIntegerZoom?{from:Z,to:le}:{from:ke,to:le}},z.prototype.interpolate=function(Z){return Z},z}(Ur),is=function(S){this.specification=S};is.prototype.possiblyEvaluate=function(S,z,Z,le){if(S.value!==void 0){if(S.expression.kind==="constant"){var ke=S.expression.evaluate(z,null,{},Z,le);return this._calculate(ke,ke,ke,z)}return this._calculate(S.expression.evaluate(new di(Math.floor(z.zoom-1),z)),S.expression.evaluate(new di(Math.floor(z.zoom),z)),S.expression.evaluate(new di(Math.floor(z.zoom+1),z)),z)}},is.prototype._calculate=function(S,z,Z,le){return le.zoom>le.zoomHistory.lastIntegerZoom?{from:S,to:z}:{from:Z,to:z}},is.prototype.interpolate=function(S){return S};var To=function(S){this.specification=S};To.prototype.possiblyEvaluate=function(S,z,Z,le){return!!S.expression.evaluate(z,null,{},Z,le)},To.prototype.interpolate=function(){return!1};var _a=function(S){for(var z in this.properties=S,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],S){var Z=S[z];Z.specification.overridable&&this.overridableProperties.push(z);var le=this.defaultPropertyValues[z]=new oa(Z,void 0),ke=this.defaultTransitionablePropertyValues[z]=new wo(Z);this.defaultTransitioningPropertyValues[z]=ke.untransitioned(),this.defaultPossiblyEvaluatedValues[z]=le.possiblyEvaluate({})}};Cr("DataDrivenProperty",Ur),Cr("DataConstantProperty",Fr),Cr("CrossFadedDataDrivenProperty",ol),Cr("CrossFadedProperty",is),Cr("ColorRampProperty",To);var Xl="-transition",Fa=function(S){function z(Z,le){if(S.call(this),this.id=Z.id,this.type=Z.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},Z.type!=="custom"&&(this.metadata=Z.metadata,this.minzoom=Z.minzoom,this.maxzoom=Z.maxzoom,Z.type!=="background"&&(this.source=Z.source,this.sourceLayer=Z["source-layer"],this.filter=Z.filter),le.layout&&(this._unevaluatedLayout=new rs(le.layout)),le.paint)){for(var ke in this._transitionablePaint=new Da(le.paint),Z.paint)this.setPaintProperty(ke,Z.paint[ke],{validate:!1});for(var Ie in Z.layout)this.setLayoutProperty(Ie,Z.layout[Ie],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new po(le.paint)}}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},z.prototype.getLayoutProperty=function(Z){return Z==="visibility"?this.visibility:this._unevaluatedLayout.getValue(Z)},z.prototype.setLayoutProperty=function(Z,le,ke){if(ke===void 0&&(ke={}),le!=null){var Ie="layers."+this.id+".layout."+Z;if(this._validate(ys,Ie,Z,le,ke))return}Z!=="visibility"?this._unevaluatedLayout.setValue(Z,le):this.visibility=le},z.prototype.getPaintProperty=function(Z){return b(Z,Xl)?this._transitionablePaint.getTransition(Z.slice(0,-Xl.length)):this._transitionablePaint.getValue(Z)},z.prototype.setPaintProperty=function(Z,le,ke){if(ke===void 0&&(ke={}),le!=null){var Ie="layers."+this.id+".paint."+Z;if(this._validate(Ia,Ie,Z,le,ke))return!1}if(b(Z,Xl))return this._transitionablePaint.setTransition(Z.slice(0,-Xl.length),le||void 0),!1;var qe=this._transitionablePaint._values[Z],it=qe.property.specification["property-type"]==="cross-faded-data-driven",dt=qe.value.isDataDriven(),St=qe.value;this._transitionablePaint.setValue(Z,le),this._handleSpecialPaintPropertyUpdate(Z);var Rt=this._transitionablePaint._values[Z].value;return Rt.isDataDriven()||dt||it||this._handleOverridablePaintPropertyUpdate(Z,St,Rt)},z.prototype._handleSpecialPaintPropertyUpdate=function(Z){},z.prototype._handleOverridablePaintPropertyUpdate=function(Z,le,ke){return!1},z.prototype.isHidden=function(Z){return!!(this.minzoom&&Z=this.maxzoom)||this.visibility==="none"},z.prototype.updateTransitions=function(Z){this._transitioningPaint=this._transitionablePaint.transitioned(Z,this._transitioningPaint)},z.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},z.prototype.recalculate=function(Z,le){Z.getCrossfadeParameters&&(this._crossfadeParameters=Z.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(Z,void 0,le)),this.paint=this._transitioningPaint.possiblyEvaluate(Z,void 0,le)},z.prototype.serialize=function(){var Z={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&&(Z.layout=Z.layout||{},Z.layout.visibility=this.visibility),y(Z,function(le,ke){return!(le===void 0||ke==="layout"&&!Object.keys(le).length||ke==="paint"&&!Object.keys(le).length)})},z.prototype._validate=function(Z,le,ke,Ie,qe){return qe===void 0&&(qe={}),(!qe||qe.validate!==!1)&&lo(this,Z.call(ma,{key:le,layerType:this.type,objectKey:ke,value:Ie,styleSpec:Oe,style:{glyphs:!0,sprite:!0}}))},z.prototype.is3D=function(){return!1},z.prototype.isTileClipped=function(){return!1},z.prototype.hasOffscreenPass=function(){return!1},z.prototype.resize=function(){},z.prototype.isStateDependent=function(){for(var Z in this.paint._values){var le=this.paint.get(Z);if(le instanceof ba&&Js(le.property.specification)&&(le.value.kind==="source"||le.value.kind==="composite")&&le.value.isStateDependent)return!0}return!1},z}(ht),sl={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},as=function(S,z){this._structArray=S,this._pos1=z*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},_i=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Si(S,z){z===void 0&&(z=1);var Z=0,le=0;return{members:S.map(function(ke){var Ie,qe=(Ie=ke.type,sl[Ie].BYTES_PER_ELEMENT),it=Z=$l(Z,Math.max(z,qe)),dt=ke.components||1;return le=Math.max(le,qe),Z+=qe*dt,{name:ke.name,type:ke.type,components:dt,offset:it}}),size:$l(Z,Math.max(le,z)),alignment:z}}function $l(S,z){return Math.ceil(S/z)*z}_i.serialize=function(S,z){return S._trim(),z&&(S.isTransferred=!0,z.push(S.arrayBuffer)),{length:S.length,arrayBuffer:S.arrayBuffer}},_i.deserialize=function(S){var z=Object.create(this.prototype);return z.arrayBuffer=S.arrayBuffer,z.length=S.length,z.capacity=S.arrayBuffer.byteLength/z.bytesPerElement,z._refreshViews(),z},_i.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},_i.prototype.clear=function(){this.length=0},_i.prototype.resize=function(S){this.reserve(S),this.length=S},_i.prototype.reserve=function(S){if(S>this.capacity){this.capacity=Math.max(S,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var z=this.uint8;this._refreshViews(),z&&this.uint8.set(z)}},_i.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var et=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z,le){var ke=this.length;return this.resize(ke+1),this.emplace(ke,Z,le)},z.prototype.emplace=function(Z,le,ke){var Ie=2*Z;return this.int16[Ie+0]=le,this.int16[Ie+1]=ke,Z},z}(_i);et.prototype.bytesPerElement=4,Cr("StructArrayLayout2i4",et);var rt=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z,le,ke,Ie){var qe=this.length;return this.resize(qe+1),this.emplace(qe,Z,le,ke,Ie)},z.prototype.emplace=function(Z,le,ke,Ie,qe){var it=4*Z;return this.int16[it+0]=le,this.int16[it+1]=ke,this.int16[it+2]=Ie,this.int16[it+3]=qe,Z},z}(_i);rt.prototype.bytesPerElement=8,Cr("StructArrayLayout4i8",rt);var ct=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z,le,ke,Ie,qe,it){var dt=this.length;return this.resize(dt+1),this.emplace(dt,Z,le,ke,Ie,qe,it)},z.prototype.emplace=function(Z,le,ke,Ie,qe,it,dt){var St=6*Z;return this.int16[St+0]=le,this.int16[St+1]=ke,this.int16[St+2]=Ie,this.int16[St+3]=qe,this.int16[St+4]=it,this.int16[St+5]=dt,Z},z}(_i);ct.prototype.bytesPerElement=12,Cr("StructArrayLayout2i4i12",ct);var vt=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z,le,ke,Ie,qe,it){var dt=this.length;return this.resize(dt+1),this.emplace(dt,Z,le,ke,Ie,qe,it)},z.prototype.emplace=function(Z,le,ke,Ie,qe,it,dt){var St=4*Z,Rt=8*Z;return this.int16[St+0]=le,this.int16[St+1]=ke,this.uint8[Rt+4]=Ie,this.uint8[Rt+5]=qe,this.uint8[Rt+6]=it,this.uint8[Rt+7]=dt,Z},z}(_i);vt.prototype.bytesPerElement=8,Cr("StructArrayLayout2i4ub8",vt);var Mt=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z,le,ke,Ie,qe,it,dt,St,Rt,Ht){var Yt=this.length;return this.resize(Yt+1),this.emplace(Yt,Z,le,ke,Ie,qe,it,dt,St,Rt,Ht)},z.prototype.emplace=function(Z,le,ke,Ie,qe,it,dt,St,Rt,Ht,Yt){var Zt=9*Z,cn=18*Z;return this.uint16[Zt+0]=le,this.uint16[Zt+1]=ke,this.uint16[Zt+2]=Ie,this.uint16[Zt+3]=qe,this.uint16[Zt+4]=it,this.uint16[Zt+5]=dt,this.uint16[Zt+6]=St,this.uint16[Zt+7]=Rt,this.uint8[cn+16]=Ht,this.uint8[cn+17]=Yt,Z},z}(_i);Mt.prototype.bytesPerElement=18,Cr("StructArrayLayout8ui2ub18",Mt);var kt=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z,le,ke,Ie,qe,it,dt,St,Rt,Ht,Yt,Zt){var cn=this.length;return this.resize(cn+1),this.emplace(cn,Z,le,ke,Ie,qe,it,dt,St,Rt,Ht,Yt,Zt)},z.prototype.emplace=function(Z,le,ke,Ie,qe,it,dt,St,Rt,Ht,Yt,Zt,cn){var Tn=12*Z;return this.int16[Tn+0]=le,this.int16[Tn+1]=ke,this.int16[Tn+2]=Ie,this.int16[Tn+3]=qe,this.uint16[Tn+4]=it,this.uint16[Tn+5]=dt,this.uint16[Tn+6]=St,this.uint16[Tn+7]=Rt,this.int16[Tn+8]=Ht,this.int16[Tn+9]=Yt,this.int16[Tn+10]=Zt,this.int16[Tn+11]=cn,Z},z}(_i);kt.prototype.bytesPerElement=24,Cr("StructArrayLayout4i4ui4i24",kt);var q=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z,le,ke){var Ie=this.length;return this.resize(Ie+1),this.emplace(Ie,Z,le,ke)},z.prototype.emplace=function(Z,le,ke,Ie){var qe=3*Z;return this.float32[qe+0]=le,this.float32[qe+1]=ke,this.float32[qe+2]=Ie,Z},z}(_i);q.prototype.bytesPerElement=12,Cr("StructArrayLayout3f12",q);var $=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z){var le=this.length;return this.resize(le+1),this.emplace(le,Z)},z.prototype.emplace=function(Z,le){var ke=1*Z;return this.uint32[ke+0]=le,Z},z}(_i);$.prototype.bytesPerElement=4,Cr("StructArrayLayout1ul4",$);var W=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.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)},z.prototype.emplaceBack=function(Z,le,ke,Ie,qe,it,dt,St,Rt){var Ht=this.length;return this.resize(Ht+1),this.emplace(Ht,Z,le,ke,Ie,qe,it,dt,St,Rt)},z.prototype.emplace=function(Z,le,ke,Ie,qe,it,dt,St,Rt,Ht){var Yt=10*Z,Zt=5*Z;return this.int16[Yt+0]=le,this.int16[Yt+1]=ke,this.int16[Yt+2]=Ie,this.int16[Yt+3]=qe,this.int16[Yt+4]=it,this.int16[Yt+5]=dt,this.uint32[Zt+3]=St,this.uint16[Yt+8]=Rt,this.uint16[Yt+9]=Ht,Z},z}(_i);W.prototype.bytesPerElement=20,Cr("StructArrayLayout6i1ul2ui20",W);var ae=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z,le,ke,Ie,qe,it){var dt=this.length;return this.resize(dt+1),this.emplace(dt,Z,le,ke,Ie,qe,it)},z.prototype.emplace=function(Z,le,ke,Ie,qe,it,dt){var St=6*Z;return this.int16[St+0]=le,this.int16[St+1]=ke,this.int16[St+2]=Ie,this.int16[St+3]=qe,this.int16[St+4]=it,this.int16[St+5]=dt,Z},z}(_i);ae.prototype.bytesPerElement=12,Cr("StructArrayLayout2i2i2i12",ae);var _e=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z,le,ke,Ie,qe){var it=this.length;return this.resize(it+1),this.emplace(it,Z,le,ke,Ie,qe)},z.prototype.emplace=function(Z,le,ke,Ie,qe,it){var dt=4*Z,St=8*Z;return this.float32[dt+0]=le,this.float32[dt+1]=ke,this.float32[dt+2]=Ie,this.int16[St+6]=qe,this.int16[St+7]=it,Z},z}(_i);_e.prototype.bytesPerElement=16,Cr("StructArrayLayout2f1f2i16",_e);var Re=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z,le,ke,Ie){var qe=this.length;return this.resize(qe+1),this.emplace(qe,Z,le,ke,Ie)},z.prototype.emplace=function(Z,le,ke,Ie,qe){var it=12*Z,dt=3*Z;return this.uint8[it+0]=le,this.uint8[it+1]=ke,this.float32[dt+1]=Ie,this.float32[dt+2]=qe,Z},z}(_i);Re.prototype.bytesPerElement=12,Cr("StructArrayLayout2ub2f12",Re);var He=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z,le,ke){var Ie=this.length;return this.resize(Ie+1),this.emplace(Ie,Z,le,ke)},z.prototype.emplace=function(Z,le,ke,Ie){var qe=3*Z;return this.uint16[qe+0]=le,this.uint16[qe+1]=ke,this.uint16[qe+2]=Ie,Z},z}(_i);He.prototype.bytesPerElement=6,Cr("StructArrayLayout3ui6",He);var Xe=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.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)},z.prototype.emplaceBack=function(Z,le,ke,Ie,qe,it,dt,St,Rt,Ht,Yt,Zt,cn,Tn,Fn,Dn,Gn){var Yn=this.length;return this.resize(Yn+1),this.emplace(Yn,Z,le,ke,Ie,qe,it,dt,St,Rt,Ht,Yt,Zt,cn,Tn,Fn,Dn,Gn)},z.prototype.emplace=function(Z,le,ke,Ie,qe,it,dt,St,Rt,Ht,Yt,Zt,cn,Tn,Fn,Dn,Gn,Yn){var Kn=24*Z,ar=12*Z,ur=48*Z;return this.int16[Kn+0]=le,this.int16[Kn+1]=ke,this.uint16[Kn+2]=Ie,this.uint16[Kn+3]=qe,this.uint32[ar+2]=it,this.uint32[ar+3]=dt,this.uint32[ar+4]=St,this.uint16[Kn+10]=Rt,this.uint16[Kn+11]=Ht,this.uint16[Kn+12]=Yt,this.float32[ar+7]=Zt,this.float32[ar+8]=cn,this.uint8[ur+36]=Tn,this.uint8[ur+37]=Fn,this.uint8[ur+38]=Dn,this.uint32[ar+10]=Gn,this.int16[Kn+22]=Yn,Z},z}(_i);Xe.prototype.bytesPerElement=48,Cr("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Xe);var at=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.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)},z.prototype.emplaceBack=function(Z,le,ke,Ie,qe,it,dt,St,Rt,Ht,Yt,Zt,cn,Tn,Fn,Dn,Gn,Yn,Kn,ar,ur,Er,br,Ir,Br,$r,jr,Xr){var Vr=this.length;return this.resize(Vr+1),this.emplace(Vr,Z,le,ke,Ie,qe,it,dt,St,Rt,Ht,Yt,Zt,cn,Tn,Fn,Dn,Gn,Yn,Kn,ar,ur,Er,br,Ir,Br,$r,jr,Xr)},z.prototype.emplace=function(Z,le,ke,Ie,qe,it,dt,St,Rt,Ht,Yt,Zt,cn,Tn,Fn,Dn,Gn,Yn,Kn,ar,ur,Er,br,Ir,Br,$r,jr,Xr,Vr){var Nr=34*Z,si=17*Z;return this.int16[Nr+0]=le,this.int16[Nr+1]=ke,this.int16[Nr+2]=Ie,this.int16[Nr+3]=qe,this.int16[Nr+4]=it,this.int16[Nr+5]=dt,this.int16[Nr+6]=St,this.int16[Nr+7]=Rt,this.uint16[Nr+8]=Ht,this.uint16[Nr+9]=Yt,this.uint16[Nr+10]=Zt,this.uint16[Nr+11]=cn,this.uint16[Nr+12]=Tn,this.uint16[Nr+13]=Fn,this.uint16[Nr+14]=Dn,this.uint16[Nr+15]=Gn,this.uint16[Nr+16]=Yn,this.uint16[Nr+17]=Kn,this.uint16[Nr+18]=ar,this.uint16[Nr+19]=ur,this.uint16[Nr+20]=Er,this.uint16[Nr+21]=br,this.uint16[Nr+22]=Ir,this.uint32[si+12]=Br,this.float32[si+13]=$r,this.float32[si+14]=jr,this.float32[si+15]=Xr,this.float32[si+16]=Vr,Z},z}(_i);at.prototype.bytesPerElement=68,Cr("StructArrayLayout8i15ui1ul4f68",at);var wt=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z){var le=this.length;return this.resize(le+1),this.emplace(le,Z)},z.prototype.emplace=function(Z,le){var ke=1*Z;return this.float32[ke+0]=le,Z},z}(_i);wt.prototype.bytesPerElement=4,Cr("StructArrayLayout1f4",wt);var At=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z,le,ke){var Ie=this.length;return this.resize(Ie+1),this.emplace(Ie,Z,le,ke)},z.prototype.emplace=function(Z,le,ke,Ie){var qe=3*Z;return this.int16[qe+0]=le,this.int16[qe+1]=ke,this.int16[qe+2]=Ie,Z},z}(_i);At.prototype.bytesPerElement=6,Cr("StructArrayLayout3i6",At);var re=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z,le,ke){var Ie=this.length;return this.resize(Ie+1),this.emplace(Ie,Z,le,ke)},z.prototype.emplace=function(Z,le,ke,Ie){var qe=2*Z,it=4*Z;return this.uint32[qe+0]=le,this.uint16[it+2]=ke,this.uint16[it+3]=Ie,Z},z}(_i);re.prototype.bytesPerElement=8,Cr("StructArrayLayout1ul2ui8",re);var ve=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z,le){var ke=this.length;return this.resize(ke+1),this.emplace(ke,Z,le)},z.prototype.emplace=function(Z,le,ke){var Ie=2*Z;return this.uint16[Ie+0]=le,this.uint16[Ie+1]=ke,Z},z}(_i);ve.prototype.bytesPerElement=4,Cr("StructArrayLayout2ui4",ve);var Le=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z){var le=this.length;return this.resize(le+1),this.emplace(le,Z)},z.prototype.emplace=function(Z,le){var ke=1*Z;return this.uint16[ke+0]=le,Z},z}(_i);Le.prototype.bytesPerElement=2,Cr("StructArrayLayout1ui2",Le);var Fe=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z,le){var ke=this.length;return this.resize(ke+1),this.emplace(ke,Z,le)},z.prototype.emplace=function(Z,le,ke){var Ie=2*Z;return this.float32[Ie+0]=le,this.float32[Ie+1]=ke,Z},z}(_i);Fe.prototype.bytesPerElement=8,Cr("StructArrayLayout2f8",Fe);var Ve=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},z.prototype.emplaceBack=function(Z,le,ke,Ie){var qe=this.length;return this.resize(qe+1),this.emplace(qe,Z,le,ke,Ie)},z.prototype.emplace=function(Z,le,ke,Ie,qe){var it=4*Z;return this.float32[it+0]=le,this.float32[it+1]=ke,this.float32[it+2]=Ie,this.float32[it+3]=qe,Z},z}(_i);Ve.prototype.bytesPerElement=16,Cr("StructArrayLayout4f16",Ve);var We=function(S){function z(){S.apply(this,arguments)}S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z;var Z={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 Z.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},Z.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},Z.x1.get=function(){return this._structArray.int16[this._pos2+2]},Z.y1.get=function(){return this._structArray.int16[this._pos2+3]},Z.x2.get=function(){return this._structArray.int16[this._pos2+4]},Z.y2.get=function(){return this._structArray.int16[this._pos2+5]},Z.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},Z.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},Z.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},Z.anchorPoint.get=function(){return new t(this.anchorPointX,this.anchorPointY)},Object.defineProperties(z.prototype,Z),z}(as);We.prototype.size=20;var $e=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype.get=function(Z){return new We(this,Z)},z}(W);Cr("CollisionBoxArray",$e);var tt=function(S){function z(){S.apply(this,arguments)}S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z;var Z={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 Z.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},Z.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},Z.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},Z.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},Z.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},Z.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},Z.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},Z.segment.get=function(){return this._structArray.uint16[this._pos2+10]},Z.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},Z.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},Z.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},Z.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},Z.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},Z.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},Z.placedOrientation.set=function(le){this._structArray.uint8[this._pos1+37]=le},Z.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},Z.hidden.set=function(le){this._structArray.uint8[this._pos1+38]=le},Z.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},Z.crossTileID.set=function(le){this._structArray.uint32[this._pos4+10]=le},Z.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(z.prototype,Z),z}(as);tt.prototype.size=48;var lt=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype.get=function(Z){return new tt(this,Z)},z}(Xe);Cr("PlacedSymbolArray",lt);var gt=function(S){function z(){S.apply(this,arguments)}S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z;var Z={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 Z.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},Z.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},Z.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},Z.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},Z.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},Z.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},Z.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},Z.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},Z.key.get=function(){return this._structArray.uint16[this._pos2+8]},Z.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},Z.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},Z.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},Z.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},Z.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},Z.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},Z.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},Z.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},Z.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},Z.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},Z.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},Z.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},Z.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},Z.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},Z.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},Z.crossTileID.set=function(le){this._structArray.uint32[this._pos4+12]=le},Z.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},Z.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},Z.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},Z.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(z.prototype,Z),z}(as);gt.prototype.size=68;var zt=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype.get=function(Z){return new gt(this,Z)},z}(at);Cr("SymbolInstanceArray",zt);var Ut=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype.getoffsetX=function(Z){return this.float32[1*Z+0]},z}(wt);Cr("GlyphOffsetArray",Ut);var Vt=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype.getx=function(Z){return this.int16[3*Z+0]},z.prototype.gety=function(Z){return this.int16[3*Z+1]},z.prototype.gettileUnitDistanceFromAnchor=function(Z){return this.int16[3*Z+2]},z}(At);Cr("SymbolLineVertexArray",Vt);var Qt=function(S){function z(){S.apply(this,arguments)}S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z;var Z={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return Z.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},Z.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},Z.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(z.prototype,Z),z}(as);Qt.prototype.size=8;var gn=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype.get=function(Z){return new Qt(this,Z)},z}(re);Cr("FeatureIndexArray",gn);var en=Si([{name:"a_pos",components:2,type:"Int16"}],4).members,sn=function(S){S===void 0&&(S=[]),this.segments=S};function rn(S,z){return 256*(S=o(Math.floor(S),0,255))+o(Math.floor(z),0,255)}sn.prototype.prepareSegment=function(S,z,Z,le){var ke=this.segments[this.segments.length-1];return S>sn.MAX_VERTEX_ARRAY_LENGTH&&M("Max vertices per segment is "+sn.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+S),(!ke||ke.vertexLength+S>sn.MAX_VERTEX_ARRAY_LENGTH||ke.sortKey!==le)&&(ke={vertexOffset:z.length,primitiveOffset:Z.length,vertexLength:0,primitiveLength:0},le!==void 0&&(ke.sortKey=le),this.segments.push(ke)),ke},sn.prototype.get=function(){return this.segments},sn.prototype.destroy=function(){for(var S=0,z=this.segments;S>>16)*it&65535)<<16)&4294967295)<<15|St>>>17))*dt+(((St>>>16)*dt&65535)<<16)&4294967295)<<13|Ie>>>19))+((5*(Ie>>>16)&65535)<<16)&4294967295))+((58964+(qe>>>16)&65535)<<16);switch(St=0,le){case 3:St^=(255&z.charCodeAt(Rt+2))<<16;case 2:St^=(255&z.charCodeAt(Rt+1))<<8;case 1:Ie^=St=(65535&(St=(St=(65535&(St^=255&z.charCodeAt(Rt)))*it+(((St>>>16)*it&65535)<<16)&4294967295)<<15|St>>>17))*dt+(((St>>>16)*dt&65535)<<16)&4294967295}return Ie^=z.length,Ie=2246822507*(65535&(Ie^=Ie>>>16))+((2246822507*(Ie>>>16)&65535)<<16)&4294967295,Ie=3266489909*(65535&(Ie^=Ie>>>13))+((3266489909*(Ie>>>16)&65535)<<16)&4294967295,(Ie^=Ie>>>16)>>>0}}),an=T(function(S){S.exports=function(z,Z){for(var le,ke=z.length,Ie=Z^ke,qe=0;ke>=4;)le=1540483477*(65535&(le=255&z.charCodeAt(qe)|(255&z.charCodeAt(++qe))<<8|(255&z.charCodeAt(++qe))<<16|(255&z.charCodeAt(++qe))<<24))+((1540483477*(le>>>16)&65535)<<16),Ie=1540483477*(65535&Ie)+((1540483477*(Ie>>>16)&65535)<<16)^(le=1540483477*(65535&(le^=le>>>24))+((1540483477*(le>>>16)&65535)<<16)),ke-=4,++qe;switch(ke){case 3:Ie^=(255&z.charCodeAt(qe+2))<<16;case 2:Ie^=(255&z.charCodeAt(qe+1))<<8;case 1:Ie=1540483477*(65535&(Ie^=255&z.charCodeAt(qe)))+((1540483477*(Ie>>>16)&65535)<<16)}return Ie=1540483477*(65535&(Ie^=Ie>>>13))+((1540483477*(Ie>>>16)&65535)<<16),(Ie^=Ie>>>15)>>>0}}),zn=xn,Un=xn,nr=an;zn.murmur3=Un,zn.murmur2=nr;var rr=function(){this.ids=[],this.positions=[],this.indexed=!1};rr.prototype.add=function(S,z,Z,le){this.ids.push(kr(S)),this.positions.push(z,Z,le)},rr.prototype.getPositions=function(S){for(var z=kr(S),Z=0,le=this.ids.length-1;Z>1;this.ids[ke]>=z?le=ke:Z=ke+1}for(var Ie=[];this.ids[Z]===z;){var qe=this.positions[3*Z],it=this.positions[3*Z+1],dt=this.positions[3*Z+2];Ie.push({index:qe,start:it,end:dt}),Z++}return Ie},rr.serialize=function(S,z){var Z=new Float64Array(S.ids),le=new Uint32Array(S.positions);return mr(Z,le,0,Z.length-1),z&&z.push(Z.buffer,le.buffer),{ids:Z,positions:le}},rr.deserialize=function(S){var z=new rr;return z.ids=S.ids,z.positions=S.positions,z.indexed=!0,z};var wr=Math.pow(2,53)-1;function kr(S){var z=+S;return!isNaN(z)&&z<=wr?z:zn(String(S))}function mr(S,z,Z,le){for(;Z>1],Ie=Z-1,qe=le+1;;){do Ie++;while(S[Ie]ke);if(Ie>=qe)break;_r(S,Ie,qe),_r(z,3*Ie,3*qe),_r(z,3*Ie+1,3*qe+1),_r(z,3*Ie+2,3*qe+2)}qe-Zwa.max||qe.ywa.max)&&(M("Geometry exceeds allowed extent, reduce your vector tile buffer size"),qe.x=o(qe.x,wa.min,wa.max),qe.y=o(qe.y,wa.min,wa.max))}return Z}function ko(S,z,Z,le,ke){S.emplaceBack(2*z+(le+1)/2,2*Z+(ke+1)/2)}var ai=function(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(function(z){return z.id}),this.index=S.index,this.hasPattern=!1,this.layoutVertexArray=new et,this.indexArray=new He,this.segments=new sn,this.programConfigurations=new qi(en,S.layers,S.zoom),this.stateDependentLayerIds=this.layers.filter(function(z){return z.isStateDependent()}).map(function(z){return z.id})};function na(S,z){for(var Z=0;Z1){if(gh(S,z))return!0;for(var le=0;le1?S.distSqr(Z):S.distSqr(Z.sub(z)._mult(ke)._add(z))}function Ec(S,z){for(var Z,le,ke,Ie=!1,qe=0;qez.y!=ke.y>z.y&&z.x<(ke.x-le.x)*(z.y-le.y)/(ke.y-le.y)+le.x&&(Ie=!Ie);return Ie}function Zu(S,z){for(var Z=!1,le=0,ke=S.length-1;lez.y!=qe.y>z.y&&z.x<(qe.x-Ie.x)*(z.y-Ie.y)/(qe.y-Ie.y)+Ie.x&&(Z=!Z)}return Z}function d1(S,z,Z){var le=Z[0],ke=Z[2];if(S.xke.x&&z.x>ke.x||S.yke.y&&z.y>ke.y)return!1;var Ie=A(S,z,Z[0]);return Ie!==A(S,z,Z[1])||Ie!==A(S,z,Z[2])||Ie!==A(S,z,Z[3])}function ku(S,z,Z){var le=z.paint.get(S).value;return le.kind==="constant"?le.value:Z.programConfigurations.get(z.id).getMaxValue(S)}function Xp(S){return Math.sqrt(S[0]*S[0]+S[1]*S[1])}function $p(S,z,Z,le,ke){if(!z[0]&&!z[1])return S;var Ie=t.convert(z)._mult(ke);Z==="viewport"&&Ie._rotate(-le);for(var qe=[],it=0;it=Yr||Rt<0||Rt>=Yr)){var Ht=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,S.sortKey),Yt=Ht.vertexLength;ko(this.layoutVertexArray,St,Rt,-1,-1),ko(this.layoutVertexArray,St,Rt,1,-1),ko(this.layoutVertexArray,St,Rt,1,1),ko(this.layoutVertexArray,St,Rt,-1,1),this.indexArray.emplaceBack(Yt,Yt+1,Yt+2),this.indexArray.emplaceBack(Yt,Yt+3,Yt+2),Ht.vertexLength+=4,Ht.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,Z,{},le)},Cr("CircleBucket",ai,{omit:["layers"]});var Uw=new _a({"circle-sort-key":new Ur(Oe.layout_circle["circle-sort-key"])}),Vw={paint:new _a({"circle-radius":new Ur(Oe.paint_circle["circle-radius"]),"circle-color":new Ur(Oe.paint_circle["circle-color"]),"circle-blur":new Ur(Oe.paint_circle["circle-blur"]),"circle-opacity":new Ur(Oe.paint_circle["circle-opacity"]),"circle-translate":new Fr(Oe.paint_circle["circle-translate"]),"circle-translate-anchor":new Fr(Oe.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new Fr(Oe.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new Fr(Oe.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new Ur(Oe.paint_circle["circle-stroke-width"]),"circle-stroke-color":new Ur(Oe.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new Ur(Oe.paint_circle["circle-stroke-opacity"])}),layout:Uw},ws=typeof Float32Array<"u"?Float32Array:Array;function g1(S){return S[0]=1,S[1]=0,S[2]=0,S[3]=0,S[4]=0,S[5]=1,S[6]=0,S[7]=0,S[8]=0,S[9]=0,S[10]=1,S[11]=0,S[12]=0,S[13]=0,S[14]=0,S[15]=1,S}function ny(S,z,Z){var le=z[0],ke=z[1],Ie=z[2],qe=z[3],it=z[4],dt=z[5],St=z[6],Rt=z[7],Ht=z[8],Yt=z[9],Zt=z[10],cn=z[11],Tn=z[12],Fn=z[13],Dn=z[14],Gn=z[15],Yn=Z[0],Kn=Z[1],ar=Z[2],ur=Z[3];return S[0]=Yn*le+Kn*it+ar*Ht+ur*Tn,S[1]=Yn*ke+Kn*dt+ar*Yt+ur*Fn,S[2]=Yn*Ie+Kn*St+ar*Zt+ur*Dn,S[3]=Yn*qe+Kn*Rt+ar*cn+ur*Gn,Yn=Z[4],Kn=Z[5],ar=Z[6],ur=Z[7],S[4]=Yn*le+Kn*it+ar*Ht+ur*Tn,S[5]=Yn*ke+Kn*dt+ar*Yt+ur*Fn,S[6]=Yn*Ie+Kn*St+ar*Zt+ur*Dn,S[7]=Yn*qe+Kn*Rt+ar*cn+ur*Gn,Yn=Z[8],Kn=Z[9],ar=Z[10],ur=Z[11],S[8]=Yn*le+Kn*it+ar*Ht+ur*Tn,S[9]=Yn*ke+Kn*dt+ar*Yt+ur*Fn,S[10]=Yn*Ie+Kn*St+ar*Zt+ur*Dn,S[11]=Yn*qe+Kn*Rt+ar*cn+ur*Gn,Yn=Z[12],Kn=Z[13],ar=Z[14],ur=Z[15],S[12]=Yn*le+Kn*it+ar*Ht+ur*Tn,S[13]=Yn*ke+Kn*dt+ar*Yt+ur*Fn,S[14]=Yn*Ie+Kn*St+ar*Zt+ur*Dn,S[15]=Yn*qe+Kn*Rt+ar*cn+ur*Gn,S}Math.hypot||(Math.hypot=function(){for(var S=arguments,z=0,Z=arguments.length;Z--;)z+=S[Z]*S[Z];return Math.sqrt(z)});var Hw=ny,Jp,qw=function(S,z,Z){return S[0]=z[0]-Z[0],S[1]=z[1]-Z[1],S[2]=z[2]-Z[2],S};function Kp(S,z,Z){var le=z[0],ke=z[1],Ie=z[2],qe=z[3];return S[0]=Z[0]*le+Z[4]*ke+Z[8]*Ie+Z[12]*qe,S[1]=Z[1]*le+Z[5]*ke+Z[9]*Ie+Z[13]*qe,S[2]=Z[2]*le+Z[6]*ke+Z[10]*Ie+Z[14]*qe,S[3]=Z[3]*le+Z[7]*ke+Z[11]*Ie+Z[15]*qe,S}Jp=new ws(3),ws!=Float32Array&&(Jp[0]=0,Jp[1]=0,Jp[2]=0),function(){var S=new ws(4);ws!=Float32Array&&(S[0]=0,S[1]=0,S[2]=0,S[3]=0)}();var Gw=function(S){var z=S[0],Z=S[1];return z*z+Z*Z},Ww=(function(){var S=new ws(2);ws!=Float32Array&&(S[0]=0,S[1]=0)}(),function(S){function z(Z){S.call(this,Z,Vw)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype.createBucket=function(Z){return new ai(Z)},z.prototype.queryRadius=function(Z){var le=Z;return ku("circle-radius",this,le)+ku("circle-stroke-width",this,le)+Xp(this.paint.get("circle-translate"))},z.prototype.queryIntersectsFeature=function(Z,le,ke,Ie,qe,it,dt,St){for(var Rt=$p(Z,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),it.angle,dt),Ht=this.paint.get("circle-radius").evaluate(le,ke)+this.paint.get("circle-stroke-width").evaluate(le,ke),Yt=this.paint.get("circle-pitch-alignment")==="map",Zt=Yt?Rt:function(Er,br){return Er.map(function(Ir){return ry(Ir,br)})}(Rt,St),cn=Yt?Ht*dt:Ht,Tn=0,Fn=Ie;TnS.width||ke.height>S.height||Z.x>S.width-ke.width||Z.y>S.height-ke.height)throw new RangeError("out of range source coordinates for image copy");if(ke.width>z.width||ke.height>z.height||le.x>z.width-ke.width||le.y>z.height-ke.height)throw new RangeError("out of range destination coordinates for image copy");for(var qe=S.data,it=z.data,dt=0;dt80*Z){le=Ie=S[0],ke=qe=S[1];for(var cn=Z;cnIe&&(Ie=it),dt>qe&&(qe=dt);St=(St=Math.max(Ie-le,qe-ke))!==0?1/St:0}return vh(Yt,Zt,Z,le,ke,St),Zt}function ly(S,z,Z,le,ke){var Ie,qe;if(ke===_1(S,z,Z,le)>0)for(Ie=z;Ie=z;Ie-=le)qe=fy(Ie,S[Ie],S[Ie+1],qe);return qe&&ed(qe,qe.next)&&(yh(qe),qe=qe.next),qe}function Yu(S,z){if(!S)return S;z||(z=S);var Z,le=S;do if(Z=!1,le.steiner||!ed(le,le.next)&&Ta(le.prev,le,le.next)!==0)le=le.next;else{if(yh(le),(le=z=le.prev)===le.next)break;Z=!0}while(Z||le!==z);return z}function vh(S,z,Z,le,ke,Ie,qe){if(S){!qe&&Ie&&function(Rt,Ht,Yt,Zt){var cn=Rt;do cn.z===null&&(cn.z=x1(cn.x,cn.y,Ht,Yt,Zt)),cn.prevZ=cn.prev,cn.nextZ=cn.next,cn=cn.next;while(cn!==Rt);cn.prevZ.nextZ=null,cn.prevZ=null,function(Tn){var Fn,Dn,Gn,Yn,Kn,ar,ur,Er,br=1;do{for(Dn=Tn,Tn=null,Kn=null,ar=0;Dn;){for(ar++,Gn=Dn,ur=0,Fn=0;Fn0||Er>0&&Gn;)ur!==0&&(Er===0||!Gn||Dn.z<=Gn.z)?(Yn=Dn,Dn=Dn.nextZ,ur--):(Yn=Gn,Gn=Gn.nextZ,Er--),Kn?Kn.nextZ=Yn:Tn=Yn,Yn.prevZ=Kn,Kn=Yn;Dn=Gn}Kn.nextZ=null,br*=2}while(ar>1)}(cn)}(S,le,ke,Ie);for(var it,dt,St=S;S.prev!==S.next;)if(it=S.prev,dt=S.next,Ie?Qw(S,le,ke,Ie):Kw(S))z.push(it.i/Z),z.push(S.i/Z),z.push(dt.i/Z),yh(S),S=dt.next,St=dt.next;else if((S=dt)===St){qe?qe===1?vh(S=e5(Yu(S),z,Z),z,Z,le,ke,Ie,2):qe===2&&t5(S,z,Z,le,ke,Ie):vh(Yu(S),z,Z,le,ke,Ie,1);break}}}function Kw(S){var z=S.prev,Z=S,le=S.next;if(Ta(z,Z,le)>=0)return!1;for(var ke=S.next.next;ke!==S.prev;){if(hf(z.x,z.y,Z.x,Z.y,le.x,le.y,ke.x,ke.y)&&Ta(ke.prev,ke,ke.next)>=0)return!1;ke=ke.next}return!0}function Qw(S,z,Z,le){var ke=S.prev,Ie=S,qe=S.next;if(Ta(ke,Ie,qe)>=0)return!1;for(var it=ke.xIe.x?ke.x>qe.x?ke.x:qe.x:Ie.x>qe.x?Ie.x:qe.x,Rt=ke.y>Ie.y?ke.y>qe.y?ke.y:qe.y:Ie.y>qe.y?Ie.y:qe.y,Ht=x1(it,dt,z,Z,le),Yt=x1(St,Rt,z,Z,le),Zt=S.prevZ,cn=S.nextZ;Zt&&Zt.z>=Ht&&cn&&cn.z<=Yt;){if(Zt!==S.prev&&Zt!==S.next&&hf(ke.x,ke.y,Ie.x,Ie.y,qe.x,qe.y,Zt.x,Zt.y)&&Ta(Zt.prev,Zt,Zt.next)>=0||(Zt=Zt.prevZ,cn!==S.prev&&cn!==S.next&&hf(ke.x,ke.y,Ie.x,Ie.y,qe.x,qe.y,cn.x,cn.y)&&Ta(cn.prev,cn,cn.next)>=0))return!1;cn=cn.nextZ}for(;Zt&&Zt.z>=Ht;){if(Zt!==S.prev&&Zt!==S.next&&hf(ke.x,ke.y,Ie.x,Ie.y,qe.x,qe.y,Zt.x,Zt.y)&&Ta(Zt.prev,Zt,Zt.next)>=0)return!1;Zt=Zt.prevZ}for(;cn&&cn.z<=Yt;){if(cn!==S.prev&&cn!==S.next&&hf(ke.x,ke.y,Ie.x,Ie.y,qe.x,qe.y,cn.x,cn.y)&&Ta(cn.prev,cn,cn.next)>=0)return!1;cn=cn.nextZ}return!0}function e5(S,z,Z){var le=S;do{var ke=le.prev,Ie=le.next.next;!ed(ke,Ie)&&uy(ke,le,le.next,Ie)&&mh(ke,Ie)&&mh(Ie,ke)&&(z.push(ke.i/Z),z.push(le.i/Z),z.push(Ie.i/Z),yh(le),yh(le.next),le=S=Ie),le=le.next}while(le!==S);return Yu(le)}function t5(S,z,Z,le,ke,Ie){var qe=S;do{for(var it=qe.next.next;it!==qe.prev;){if(qe.i!==it.i&&o5(qe,it)){var dt=cy(qe,it);return qe=Yu(qe,qe.next),dt=Yu(dt,dt.next),vh(qe,z,Z,le,ke,Ie),void vh(dt,z,Z,le,ke,Ie)}it=it.next}qe=qe.next}while(qe!==S)}function n5(S,z){return S.x-z.x}function r5(S,z){if(z=function(le,ke){var Ie,qe=ke,it=le.x,dt=le.y,St=-1/0;do{if(dt<=qe.y&&dt>=qe.next.y&&qe.next.y!==qe.y){var Rt=qe.x+(dt-qe.y)*(qe.next.x-qe.x)/(qe.next.y-qe.y);if(Rt<=it&&Rt>St){if(St=Rt,Rt===it){if(dt===qe.y)return qe;if(dt===qe.next.y)return qe.next}Ie=qe.x=qe.x&&qe.x>=Zt&&it!==qe.x&&hf(dtIe.x||qe.x===Ie.x&&i5(Ie,qe)))&&(Ie=qe,Tn=Ht)),qe=qe.next;while(qe!==Yt);return Ie}(S,z)){var Z=cy(z,S);Yu(z,z.next),Yu(Z,Z.next)}}function i5(S,z){return Ta(S.prev,S,z.prev)<0&&Ta(z.next,S,S.next)<0}function x1(S,z,Z,le,ke){return(S=1431655765&((S=858993459&((S=252645135&((S=16711935&((S=32767*(S-Z)*ke)|S<<8))|S<<4))|S<<2))|S<<1))|(z=1431655765&((z=858993459&((z=252645135&((z=16711935&((z=32767*(z-le)*ke)|z<<8))|z<<4))|z<<2))|z<<1))<<1}function a5(S){var z=S,Z=S;do(z.x=0&&(S-qe)*(le-it)-(Z-qe)*(z-it)>=0&&(Z-qe)*(Ie-it)-(ke-qe)*(le-it)>=0}function o5(S,z){return S.next.i!==z.i&&S.prev.i!==z.i&&!function(Z,le){var ke=Z;do{if(ke.i!==Z.i&&ke.next.i!==Z.i&&ke.i!==le.i&&ke.next.i!==le.i&&uy(ke,ke.next,Z,le))return!0;ke=ke.next}while(ke!==Z);return!1}(S,z)&&(mh(S,z)&&mh(z,S)&&function(Z,le){var ke=Z,Ie=!1,qe=(Z.x+le.x)/2,it=(Z.y+le.y)/2;do ke.y>it!=ke.next.y>it&&ke.next.y!==ke.y&&qe<(ke.next.x-ke.x)*(it-ke.y)/(ke.next.y-ke.y)+ke.x&&(Ie=!Ie),ke=ke.next;while(ke!==Z);return Ie}(S,z)&&(Ta(S.prev,S,z.prev)||Ta(S,z.prev,z))||ed(S,z)&&Ta(S.prev,S,S.next)>0&&Ta(z.prev,z,z.next)>0)}function Ta(S,z,Z){return(z.y-S.y)*(Z.x-z.x)-(z.x-S.x)*(Z.y-z.y)}function ed(S,z){return S.x===z.x&&S.y===z.y}function uy(S,z,Z,le){var ke=nd(Ta(S,z,Z)),Ie=nd(Ta(S,z,le)),qe=nd(Ta(Z,le,S)),it=nd(Ta(Z,le,z));return ke!==Ie&&qe!==it||!(ke!==0||!td(S,Z,z))||!(Ie!==0||!td(S,le,z))||!(qe!==0||!td(Z,S,le))||!(it!==0||!td(Z,z,le))}function td(S,z,Z){return z.x<=Math.max(S.x,Z.x)&&z.x>=Math.min(S.x,Z.x)&&z.y<=Math.max(S.y,Z.y)&&z.y>=Math.min(S.y,Z.y)}function nd(S){return S>0?1:S<0?-1:0}function mh(S,z){return Ta(S.prev,S,S.next)<0?Ta(S,z,S.next)>=0&&Ta(S,S.prev,z)>=0:Ta(S,z,S.prev)<0||Ta(S,S.next,z)<0}function cy(S,z){var Z=new b1(S.i,S.x,S.y),le=new b1(z.i,z.x,z.y),ke=S.next,Ie=z.prev;return S.next=z,z.prev=S,Z.next=ke,ke.prev=Z,le.next=Z,Z.prev=le,Ie.next=le,le.prev=Ie,le}function fy(S,z,Z,le){var ke=new b1(S,z,Z);return le?(ke.next=le.next,ke.prev=le,le.next.prev=ke,le.next=ke):(ke.prev=ke,ke.next=ke),ke}function yh(S){S.next.prev=S.prev,S.prev.next=S.next,S.prevZ&&(S.prevZ.nextZ=S.nextZ),S.nextZ&&(S.nextZ.prevZ=S.prevZ)}function b1(S,z,Z){this.i=S,this.x=z,this.y=Z,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function _1(S,z,Z,le){for(var ke=0,Ie=z,qe=Z-le;IeZ;){if(le-Z>600){var Ie=le-Z+1,qe=z-Z+1,it=Math.log(Ie),dt=.5*Math.exp(2*it/3),St=.5*Math.sqrt(it*dt*(Ie-dt)/Ie)*(qe-Ie/2<0?-1:1);hy(S,z,Math.max(Z,Math.floor(z-qe*dt/Ie+St)),Math.min(le,Math.floor(z+(Ie-qe)*dt/Ie+St)),ke)}var Rt=S[z],Ht=Z,Yt=le;for(xh(S,Z,z),ke(S[le],Rt)>0&&xh(S,Z,le);Ht0;)Yt--}ke(S[Z],Rt)===0?xh(S,Z,Yt):xh(S,++Yt,le),Yt<=z&&(Z=Yt+1),z<=Yt&&(le=Yt-1)}}function xh(S,z,Z){var le=S[z];S[z]=S[Z],S[Z]=le}function l5(S,z){return Sz?1:0}function w1(S,z){var Z=S.length;if(Z<=1)return[S];for(var le,ke,Ie=[],qe=0;qe1)for(var dt=0;dt0&&(le+=S[ke-1].length,Z.holes.push(le))}return Z},y1.default=Jw;var Ll=function(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(function(z){return z.id}),this.index=S.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new et,this.indexArray=new He,this.indexArray2=new ve,this.programConfigurations=new qi(sy,S.layers,S.zoom),this.segments=new sn,this.segments2=new sn,this.stateDependentLayerIds=this.layers.filter(function(z){return z.isStateDependent()}).map(function(z){return z.id})};Ll.prototype.populate=function(S,z,Z){this.hasPattern=T1("fill",this.layers,z);for(var le=this.layers[0].layout.get("fill-sort-key"),ke=[],Ie=0,qe=S;Ie>3}if(ke--,le===1||le===2)Ie+=S.readSVarint(),qe+=S.readSVarint(),le===1&&(z&&it.push(z),z=[]),z.push(new t(Ie,qe));else{if(le!==7)throw new Error("unknown command "+le);z&&z.push(z[0].clone())}}return z&&it.push(z),it},pf.prototype.bbox=function(){var S=this._pbf;S.pos=this._geometry;for(var z=S.readVarint()+S.pos,Z=1,le=0,ke=0,Ie=0,qe=1/0,it=-1/0,dt=1/0,St=-1/0;S.pos>3}if(le--,Z===1||Z===2)(ke+=S.readSVarint())it&&(it=ke),(Ie+=S.readSVarint())St&&(St=Ie);else if(Z!==7)throw new Error("unknown command "+Z)}return[qe,dt,it,St]},pf.prototype.toGeoJSON=function(S,z,Z){var le,ke,Ie=this.extent*Math.pow(2,Z),qe=this.extent*S,it=this.extent*z,dt=this.loadGeometry(),St=pf.types[this.type];function Rt(Zt){for(var cn=0;cn>3;ke=qe===1?le.readString():qe===2?le.readFloat():qe===3?le.readDouble():qe===4?le.readVarint64():qe===5?le.readVarint():qe===6?le.readSVarint():qe===7?le.readBoolean():null}return ke}(Z))}function v5(S,z,Z){if(S===3){var le=new gy(Z,Z.readVarint()+Z.pos);le.length&&(z[le.name]=le)}}vy.prototype.feature=function(S){if(S<0||S>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[S];var z=this._pbf.readVarint()+this._pbf.pos;return new dy(this._pbf,z,this.extent,this._keys,this._values)};var df={VectorTile:function(S,z){this.layers=S.readFields(v5,{},z)},VectorTileFeature:dy,VectorTileLayer:gy},m5=df.VectorTileFeature.types,A1=Math.pow(2,13);function bh(S,z,Z,le,ke,Ie,qe,it){S.emplaceBack(z,Z,2*Math.floor(le*A1)+qe,ke*A1*2,Ie*A1*2,Math.round(it))}var Pl=function(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(function(z){return z.id}),this.index=S.index,this.hasPattern=!1,this.layoutVertexArray=new ct,this.indexArray=new He,this.programConfigurations=new qi(py,S.layers,S.zoom),this.segments=new sn,this.stateDependentLayerIds=this.layers.filter(function(z){return z.isStateDependent()}).map(function(z){return z.id})};function y5(S,z){return S.x===z.x&&(S.x<0||S.x>Yr)||S.y===z.y&&(S.y<0||S.y>Yr)}Pl.prototype.populate=function(S,z,Z){this.features=[],this.hasPattern=T1("fill-extrusion",this.layers,z);for(var le=0,ke=S;leYr})||si.every(function(Qr){return Qr.y<0})||si.every(function(Qr){return Qr.y>Yr})))for(var Tn=0,Fn=0;Fn=1){var Gn=cn[Fn-1];if(!y5(Dn,Gn)){Ht.vertexLength+4>sn.MAX_VERTEX_ARRAY_LENGTH&&(Ht=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var Yn=Dn.sub(Gn)._perp()._unit(),Kn=Gn.dist(Dn);Tn+Kn>32768&&(Tn=0),bh(this.layoutVertexArray,Dn.x,Dn.y,Yn.x,Yn.y,0,0,Tn),bh(this.layoutVertexArray,Dn.x,Dn.y,Yn.x,Yn.y,0,1,Tn),Tn+=Kn,bh(this.layoutVertexArray,Gn.x,Gn.y,Yn.x,Yn.y,0,0,Tn),bh(this.layoutVertexArray,Gn.x,Gn.y,Yn.x,Yn.y,0,1,Tn);var ar=Ht.vertexLength;this.indexArray.emplaceBack(ar,ar+2,ar+1),this.indexArray.emplaceBack(ar+1,ar+2,ar+3),Ht.vertexLength+=4,Ht.primitiveLength+=2}}}}if(Ht.vertexLength+dt>sn.MAX_VERTEX_ARRAY_LENGTH&&(Ht=this.segments.prepareSegment(dt,this.layoutVertexArray,this.indexArray)),m5[S.type]==="Polygon"){for(var ur=[],Er=[],br=Ht.vertexLength,Ir=0,Br=it;Ir=2&&S[dt-1].equals(S[dt-2]);)dt--;for(var St=0;St0;if(Er&&Dn>St){var Ir=Rt.dist(Zt);if(Ir>2*Ht){var Br=Rt.sub(Rt.sub(Zt)._mult(Ht/Ir)._round());this.updateDistance(Zt,Br),this.addCurrentVertex(Br,Tn,0,0,Yt),Zt=Br}}var $r=Zt&&cn,jr=$r?Z:it?"butt":le;if($r&&jr==="round"&&(arke&&(jr="bevel"),jr==="bevel"&&(ar>2&&(jr="flipbevel"),ar100)Gn=Fn.mult(-1);else{var Xr=ar*Tn.add(Fn).mag()/Tn.sub(Fn).mag();Gn._perp()._mult(Xr*(br?-1:1))}this.addCurrentVertex(Rt,Gn,0,0,Yt),this.addCurrentVertex(Rt,Gn.mult(-1),0,0,Yt)}else if(jr==="bevel"||jr==="fakeround"){var Vr=-Math.sqrt(ar*ar-1),Nr=br?Vr:0,si=br?0:Vr;if(Zt&&this.addCurrentVertex(Rt,Tn,Nr,si,Yt),jr==="fakeround")for(var Qr=Math.round(180*ur/Math.PI/20),Di=1;Di2*Ht){var Fi=Rt.add(cn.sub(Rt)._mult(Ht/Wi)._round());this.updateDistance(Rt,Fi),this.addCurrentVertex(Fi,Fn,0,0,Yt),Rt=Fi}}}}},jo.prototype.addCurrentVertex=function(S,z,Z,le,ke,Ie){Ie===void 0&&(Ie=!1);var qe=z.x+z.y*Z,it=z.y-z.x*Z,dt=-z.x+z.y*le,St=-z.y-z.x*le;this.addHalfVertex(S,qe,it,Ie,!1,Z,ke),this.addHalfVertex(S,dt,St,Ie,!0,-le,ke),this.distance>xy/2&&this.totalDistance===0&&(this.distance=0,this.addCurrentVertex(S,z,Z,le,ke,Ie))},jo.prototype.addHalfVertex=function(S,z,Z,le,ke,Ie,qe){var it=S.x,dt=S.y,St=.5*this.scaledDistance;this.layoutVertexArray.emplaceBack((it<<1)+(le?1:0),(dt<<1)+(ke?1:0),Math.round(63*z)+128,Math.round(63*Z)+128,1+(Ie===0?0:Ie<0?-1:1)|(63&St)<<2,St>>6);var Rt=qe.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Rt),qe.primitiveLength++),ke?this.e2=Rt:this.e1=Rt},jo.prototype.updateScaledDistance=function(){this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(xy-1):this.distance},jo.prototype.updateDistance=function(S,z){this.distance+=S.dist(z),this.updateScaledDistance()},Cr("LineBucket",jo,{omit:["layers","patternFeatures"]});var T5=new _a({"line-cap":new Fr(Oe.layout_line["line-cap"]),"line-join":new Ur(Oe.layout_line["line-join"]),"line-miter-limit":new Fr(Oe.layout_line["line-miter-limit"]),"line-round-limit":new Fr(Oe.layout_line["line-round-limit"]),"line-sort-key":new Ur(Oe.layout_line["line-sort-key"])}),by={paint:new _a({"line-opacity":new Ur(Oe.paint_line["line-opacity"]),"line-color":new Ur(Oe.paint_line["line-color"]),"line-translate":new Fr(Oe.paint_line["line-translate"]),"line-translate-anchor":new Fr(Oe.paint_line["line-translate-anchor"]),"line-width":new Ur(Oe.paint_line["line-width"]),"line-gap-width":new Ur(Oe.paint_line["line-gap-width"]),"line-offset":new Ur(Oe.paint_line["line-offset"]),"line-blur":new Ur(Oe.paint_line["line-blur"]),"line-dasharray":new is(Oe.paint_line["line-dasharray"]),"line-pattern":new ol(Oe.paint_line["line-pattern"]),"line-gradient":new To(Oe.paint_line["line-gradient"])}),layout:T5},k5=function(S){function z(){S.apply(this,arguments)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype.possiblyEvaluate=function(Z,le){return le=new di(Math.floor(le.zoom),{now:le.now,fadeDuration:le.fadeDuration,zoomHistory:le.zoomHistory,transition:le.transition}),S.prototype.possiblyEvaluate.call(this,Z,le)},z.prototype.evaluate=function(Z,le,ke,Ie){return le=u({},le,{zoom:Math.floor(le.zoom)}),S.prototype.evaluate.call(this,Z,le,ke,Ie)},z}(Ur),_y=new k5(by.paint.properties["line-width"].specification);_y.useIntegerZoom=!0;var A5=function(S){function z(Z){S.call(this,Z,by)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype._handleSpecialPaintPropertyUpdate=function(Z){Z==="line-gradient"&&this._updateGradient()},z.prototype._updateGradient=function(){var Z=this._transitionablePaint._values["line-gradient"].value.expression;this.gradient=oy(Z,"lineProgress"),this.gradientTexture=null},z.prototype.recalculate=function(Z,le){S.prototype.recalculate.call(this,Z,le),this.paint._values["line-floorwidth"]=_y.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,Z)},z.prototype.createBucket=function(Z){return new jo(Z)},z.prototype.queryRadius=function(Z){var le=Z,ke=wy(ku("line-width",this,le),ku("line-gap-width",this,le)),Ie=ku("line-offset",this,le);return ke/2+Math.abs(Ie)+Xp(this.paint.get("line-translate"))},z.prototype.queryIntersectsFeature=function(Z,le,ke,Ie,qe,it,dt){var St=$p(Z,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),it.angle,dt),Rt=dt/2*wy(this.paint.get("line-width").evaluate(le,ke),this.paint.get("line-gap-width").evaluate(le,ke)),Ht=this.paint.get("line-offset").evaluate(le,ke);return Ht&&(Ie=function(Yt,Zt){for(var cn=[],Tn=new t(0,0),Fn=0;Fn=3){for(var Dn=0;Dn0?z+2*S:S}var M1=Si([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),M5=Si([{name:"a_projected_pos",components:3,type:"Float32"}],4),S5=(Si([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),Si([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),Ty=(Si([{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"}]),Si([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),E5=Si([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function C5(S,z,Z){return S.sections.forEach(function(le){le.text=function(ke,Ie,qe){var it=Ie.layout.get("text-transform").evaluate(qe,{});return it==="uppercase"?ke=ke.toLocaleUpperCase():it==="lowercase"&&(ke=ke.toLocaleLowerCase()),za.applyArabicShaping&&(ke=za.applyArabicShaping(ke)),ke}(le.text,z,Z)}),S}Si([{name:"triangle",components:3,type:"Uint16"}]),Si([{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"}]),Si([{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"}]),Si([{type:"Float32",name:"offsetX"}]),Si([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var wh={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"},no=24,ky=function(S,z,Z,le,ke){var Ie,qe,it=8*ke-le-1,dt=(1<>1,Rt=-7,Ht=Z?ke-1:0,Yt=Z?-1:1,Zt=S[z+Ht];for(Ht+=Yt,Ie=Zt&(1<<-Rt)-1,Zt>>=-Rt,Rt+=it;Rt>0;Ie=256*Ie+S[z+Ht],Ht+=Yt,Rt-=8);for(qe=Ie&(1<<-Rt)-1,Ie>>=-Rt,Rt+=le;Rt>0;qe=256*qe+S[z+Ht],Ht+=Yt,Rt-=8);if(Ie===0)Ie=1-St;else{if(Ie===dt)return qe?NaN:1/0*(Zt?-1:1);qe+=Math.pow(2,le),Ie-=St}return(Zt?-1:1)*qe*Math.pow(2,Ie-le)},Ay=function(S,z,Z,le,ke,Ie){var qe,it,dt,St=8*Ie-ke-1,Rt=(1<>1,Yt=ke===23?Math.pow(2,-24)-Math.pow(2,-77):0,Zt=le?0:Ie-1,cn=le?1:-1,Tn=z<0||z===0&&1/z<0?1:0;for(z=Math.abs(z),isNaN(z)||z===1/0?(it=isNaN(z)?1:0,qe=Rt):(qe=Math.floor(Math.log(z)/Math.LN2),z*(dt=Math.pow(2,-qe))<1&&(qe--,dt*=2),(z+=qe+Ht>=1?Yt/dt:Yt*Math.pow(2,1-Ht))*dt>=2&&(qe++,dt/=2),qe+Ht>=Rt?(it=0,qe=Rt):qe+Ht>=1?(it=(z*dt-1)*Math.pow(2,ke),qe+=Ht):(it=z*Math.pow(2,Ht-1)*Math.pow(2,ke),qe=0));ke>=8;S[Z+Zt]=255&it,Zt+=cn,it/=256,ke-=8);for(qe=qe<0;S[Z+Zt]=255&qe,Zt+=cn,qe/=256,St-=8);S[Z+Zt-cn]|=128*Tn},rd=Ni;function Ni(S){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(S)?S:new Uint8Array(S||0),this.pos=0,this.type=0,this.length=this.buf.length}Ni.Varint=0,Ni.Fixed64=1,Ni.Bytes=2,Ni.Fixed32=5;var S1=4294967296,My=1/S1,Sy=typeof TextDecoder>"u"?null:new TextDecoder("utf8");function Au(S){return S.type===Ni.Bytes?S.readVarint()+S.pos:S.pos+1}function gf(S,z,Z){return Z?4294967296*z+(S>>>0):4294967296*(z>>>0)+(S>>>0)}function Ey(S,z,Z){var le=z<=16383?1:z<=2097151?2:z<=268435455?3:Math.floor(Math.log(z)/(7*Math.LN2));Z.realloc(le);for(var ke=Z.pos-1;ke>=S;ke--)Z.buf[ke+le]=Z.buf[ke]}function L5(S,z){for(var Z=0;Z>>8,S[Z+2]=z>>>16,S[Z+3]=z>>>24}function Cy(S,z){return(S[z]|S[z+1]<<8|S[z+2]<<16)+(S[z+3]<<24)}Ni.prototype={destroy:function(){this.buf=null},readFields:function(S,z,Z){for(Z=Z||this.length;this.pos>3,Ie=this.pos;this.type=7&le,S(ke,z,this),this.pos===Ie&&this.skip(le)}return z},readMessage:function(S,z){return this.readFields(S,z,this.readVarint()+this.pos)},readFixed32:function(){var S=id(this.buf,this.pos);return this.pos+=4,S},readSFixed32:function(){var S=Cy(this.buf,this.pos);return this.pos+=4,S},readFixed64:function(){var S=id(this.buf,this.pos)+id(this.buf,this.pos+4)*S1;return this.pos+=8,S},readSFixed64:function(){var S=id(this.buf,this.pos)+Cy(this.buf,this.pos+4)*S1;return this.pos+=8,S},readFloat:function(){var S=ky(this.buf,this.pos,!0,23,4);return this.pos+=4,S},readDouble:function(){var S=ky(this.buf,this.pos,!0,52,8);return this.pos+=8,S},readVarint:function(S){var z,Z,le=this.buf;return z=127&(Z=le[this.pos++]),Z<128?z:(z|=(127&(Z=le[this.pos++]))<<7,Z<128?z:(z|=(127&(Z=le[this.pos++]))<<14,Z<128?z:(z|=(127&(Z=le[this.pos++]))<<21,Z<128?z:function(ke,Ie,qe){var it,dt,St=qe.buf;if(it=(112&(dt=St[qe.pos++]))>>4,dt<128||(it|=(127&(dt=St[qe.pos++]))<<3,dt<128)||(it|=(127&(dt=St[qe.pos++]))<<10,dt<128)||(it|=(127&(dt=St[qe.pos++]))<<17,dt<128)||(it|=(127&(dt=St[qe.pos++]))<<24,dt<128)||(it|=(1&(dt=St[qe.pos++]))<<31,dt<128))return gf(ke,it,Ie);throw new Error("Expected varint not more than 10 bytes")}(z|=(15&(Z=le[this.pos]))<<28,S,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var S=this.readVarint();return S%2==1?(S+1)/-2:S/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var S=this.readVarint()+this.pos,z=this.pos;return this.pos=S,S-z>=12&&Sy?function(Z,le,ke){return Sy.decode(Z.subarray(le,ke))}(this.buf,z,S):function(Z,le,ke){for(var Ie="",qe=le;qe239?4:Rt>223?3:Rt>191?2:1;if(qe+Yt>ke)break;Yt===1?Rt<128&&(Ht=Rt):Yt===2?(192&(it=Z[qe+1]))==128&&(Ht=(31&Rt)<<6|63&it)<=127&&(Ht=null):Yt===3?(it=Z[qe+1],dt=Z[qe+2],(192&it)==128&&(192&dt)==128&&((Ht=(15&Rt)<<12|(63&it)<<6|63&dt)<=2047||Ht>=55296&&Ht<=57343)&&(Ht=null)):Yt===4&&(it=Z[qe+1],dt=Z[qe+2],St=Z[qe+3],(192&it)==128&&(192&dt)==128&&(192&St)==128&&((Ht=(15&Rt)<<18|(63&it)<<12|(63&dt)<<6|63&St)<=65535||Ht>=1114112)&&(Ht=null)),Ht===null?(Ht=65533,Yt=1):Ht>65535&&(Ht-=65536,Ie+=String.fromCharCode(Ht>>>10&1023|55296),Ht=56320|1023&Ht),Ie+=String.fromCharCode(Ht),qe+=Yt}return Ie}(this.buf,z,S)},readBytes:function(){var S=this.readVarint()+this.pos,z=this.buf.subarray(this.pos,S);return this.pos=S,z},readPackedVarint:function(S,z){if(this.type!==Ni.Bytes)return S.push(this.readVarint(z));var Z=Au(this);for(S=S||[];this.pos127;);else if(z===Ni.Bytes)this.pos=this.readVarint()+this.pos;else if(z===Ni.Fixed32)this.pos+=4;else{if(z!==Ni.Fixed64)throw new Error("Unimplemented type: "+z);this.pos+=8}},writeTag:function(S,z){this.writeVarint(S<<3|z)},realloc:function(S){for(var z=this.length||16;z268435455||S<0?function(z,Z){var le,ke;if(z>=0?(le=z%4294967296|0,ke=z/4294967296|0):(ke=~(-z/4294967296),4294967295^(le=~(-z%4294967296))?le=le+1|0:(le=0,ke=ke+1|0)),z>=18446744073709552e3||z<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");Z.realloc(10),function(Ie,qe,it){it.buf[it.pos++]=127&Ie|128,Ie>>>=7,it.buf[it.pos++]=127&Ie|128,Ie>>>=7,it.buf[it.pos++]=127&Ie|128,Ie>>>=7,it.buf[it.pos++]=127&Ie|128,Ie>>>=7,it.buf[it.pos]=127&Ie}(le,0,Z),function(Ie,qe){var it=(7&Ie)<<4;qe.buf[qe.pos++]|=it|((Ie>>>=3)?128:0),Ie&&(qe.buf[qe.pos++]=127&Ie|((Ie>>>=7)?128:0),Ie&&(qe.buf[qe.pos++]=127&Ie|((Ie>>>=7)?128:0),Ie&&(qe.buf[qe.pos++]=127&Ie|((Ie>>>=7)?128:0),Ie&&(qe.buf[qe.pos++]=127&Ie|((Ie>>>=7)?128:0),Ie&&(qe.buf[qe.pos++]=127&Ie)))))}(ke,Z)}(S,this):(this.realloc(4),this.buf[this.pos++]=127&S|(S>127?128:0),S<=127||(this.buf[this.pos++]=127&(S>>>=7)|(S>127?128:0),S<=127||(this.buf[this.pos++]=127&(S>>>=7)|(S>127?128:0),S<=127||(this.buf[this.pos++]=S>>>7&127))))},writeSVarint:function(S){this.writeVarint(S<0?2*-S-1:2*S)},writeBoolean:function(S){this.writeVarint(!!S)},writeString:function(S){S=String(S),this.realloc(4*S.length),this.pos++;var z=this.pos;this.pos=function(le,ke,Ie){for(var qe,it,dt=0;dt55295&&qe<57344){if(!it){qe>56319||dt+1===ke.length?(le[Ie++]=239,le[Ie++]=191,le[Ie++]=189):it=qe;continue}if(qe<56320){le[Ie++]=239,le[Ie++]=191,le[Ie++]=189,it=qe;continue}qe=it-55296<<10|qe-56320|65536,it=null}else it&&(le[Ie++]=239,le[Ie++]=191,le[Ie++]=189,it=null);qe<128?le[Ie++]=qe:(qe<2048?le[Ie++]=qe>>6|192:(qe<65536?le[Ie++]=qe>>12|224:(le[Ie++]=qe>>18|240,le[Ie++]=qe>>12&63|128),le[Ie++]=qe>>6&63|128),le[Ie++]=63&qe|128)}return Ie}(this.buf,S,this.pos);var Z=this.pos-z;Z>=128&&Ey(z,Z,this),this.pos=z-1,this.writeVarint(Z),this.pos+=Z},writeFloat:function(S){this.realloc(4),Ay(this.buf,S,this.pos,!0,23,4),this.pos+=4},writeDouble:function(S){this.realloc(8),Ay(this.buf,S,this.pos,!0,52,8),this.pos+=8},writeBytes:function(S){var z=S.length;this.writeVarint(z),this.realloc(z);for(var Z=0;Z=128&&Ey(Z,le,this),this.pos=Z-1,this.writeVarint(le),this.pos+=le},writeMessage:function(S,z,Z){this.writeTag(S,Ni.Bytes),this.writeRawMessage(z,Z)},writePackedVarint:function(S,z){z.length&&this.writeMessage(S,L5,z)},writePackedSVarint:function(S,z){z.length&&this.writeMessage(S,P5,z)},writePackedBoolean:function(S,z){z.length&&this.writeMessage(S,R5,z)},writePackedFloat:function(S,z){z.length&&this.writeMessage(S,O5,z)},writePackedDouble:function(S,z){z.length&&this.writeMessage(S,I5,z)},writePackedFixed32:function(S,z){z.length&&this.writeMessage(S,z5,z)},writePackedSFixed32:function(S,z){z.length&&this.writeMessage(S,D5,z)},writePackedFixed64:function(S,z){z.length&&this.writeMessage(S,F5,z)},writePackedSFixed64:function(S,z){z.length&&this.writeMessage(S,B5,z)},writeBytesField:function(S,z){this.writeTag(S,Ni.Bytes),this.writeBytes(z)},writeFixed32Field:function(S,z){this.writeTag(S,Ni.Fixed32),this.writeFixed32(z)},writeSFixed32Field:function(S,z){this.writeTag(S,Ni.Fixed32),this.writeSFixed32(z)},writeFixed64Field:function(S,z){this.writeTag(S,Ni.Fixed64),this.writeFixed64(z)},writeSFixed64Field:function(S,z){this.writeTag(S,Ni.Fixed64),this.writeSFixed64(z)},writeVarintField:function(S,z){this.writeTag(S,Ni.Varint),this.writeVarint(z)},writeSVarintField:function(S,z){this.writeTag(S,Ni.Varint),this.writeSVarint(z)},writeStringField:function(S,z){this.writeTag(S,Ni.Bytes),this.writeString(z)},writeFloatField:function(S,z){this.writeTag(S,Ni.Fixed32),this.writeFloat(z)},writeDoubleField:function(S,z){this.writeTag(S,Ni.Fixed64),this.writeDouble(z)},writeBooleanField:function(S,z){this.writeVarintField(S,!!z)}};function N5(S,z,Z){S===1&&Z.readMessage(j5,z)}function j5(S,z,Z){if(S===3){var le=Z.readMessage(U5,{}),ke=le.id,Ie=le.bitmap,qe=le.width,it=le.height,dt=le.left,St=le.top,Rt=le.advance;z.push({id:ke,bitmap:new Cc({width:qe+6,height:it+6},Ie),metrics:{width:qe,height:it,left:dt,top:St,advance:Rt}})}}function U5(S,z,Z){S===1?z.id=Z.readVarint():S===2?z.bitmap=Z.readBytes():S===3?z.width=Z.readVarint():S===4?z.height=Z.readVarint():S===5?z.left=Z.readSVarint():S===6?z.top=Z.readSVarint():S===7&&(z.advance=Z.readVarint())}function Ly(S){for(var z=0,Z=0,le=0,ke=S;le=0;Yt--){var Zt=qe[Yt];if(!(Ht.w>Zt.w||Ht.h>Zt.h)){if(Ht.x=Zt.x,Ht.y=Zt.y,dt=Math.max(dt,Ht.y+Ht.h),it=Math.max(it,Ht.x+Ht.w),Ht.w===Zt.w&&Ht.h===Zt.h){var cn=qe.pop();Yt0&&Ic>Ji&&(Ji=Ic)}else{var md=Qr[mi.fontStack],Rc=md&&md[Mo];if(Rc&&Rc.rect)Ol=Rc.rect,vo=Rc.metrics;else{var yd=si[mi.fontStack],Sh=yd&&yd[Mo];if(!Sh)continue;vo=Sh.metrics}ss=(ei-mi.scale)*no}Il?(Nr.verticalizable=!0,Ri.push({glyph:Mo,imageName:Eu,x:ja,y:ro+ss,vertical:Il,scale:mi.scale,fontStack:mi.fontStack,sectionIndex:ia,metrics:vo,rect:Ol}),ja+=Va*mi.scale+Fi):(Ri.push({glyph:Mo,imageName:Eu,x:ja,y:ro+ss,vertical:Il,scale:mi.scale,fontStack:mi.fontStack,sectionIndex:ia,metrics:vo,rect:Ol}),ja+=vo.advance*mi.scale+Fi)}if(Ri.length!==0){var B1=ja-Fi;Za=Math.max(B1,Za),H5(Ri,0,Ri.length-1,Ya,Ji)}ja=0;var xd=Pi*ei+Ji;ra.lineOffset=Math.max(Ji,pi),ro+=xd,Ao=Math.max(xd,Ao),++Ea}else ro+=Pi,++Ea}var Af=ro-od,bd=C1(ji),_d=bd.horizontalAlign,Eh=bd.verticalAlign;(function(N1,Ch,zc,Mf,wd,Td,Sf,kd,Ad){var Lh=(Ch-zc)*wd,Ph=0;Ph=Td!==Sf?-kd*Mf-od:(-Mf*Ad+.5)*Sf;for(var Dc=0,Oh=N1;Dc=0&&le>=S&&ld[this.text.charCodeAt(le)];le--)Z--;this.text=this.text.substring(S,Z),this.sectionIndex=this.sectionIndex.slice(S,Z)},go.prototype.substring=function(S,z){var Z=new go;return Z.text=this.text.substring(S,z),Z.sectionIndex=this.sectionIndex.slice(S,z),Z.sections=this.sections,Z},go.prototype.toString=function(){return this.text},go.prototype.getMaxScale=function(){var S=this;return this.sectionIndex.reduce(function(z,Z){return Math.max(z,S.sections[Z].scale)},0)},go.prototype.addTextSection=function(S,z){this.text+=S.text,this.sections.push(mf.forText(S.scale,S.fontStack||z));for(var Z=this.sections.length-1,le=0;le=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var ld={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},os={};function Py(S,z,Z,le,ke,Ie){if(z.imageName){var qe=le[z.imageName];return qe?qe.displaySize[0]*z.scale*no/Ie+ke:0}var it=Z[z.fontStack],dt=it&&it[S];return dt?dt.metrics.advance*z.scale+ke:0}function Oy(S,z,Z,le){var ke=Math.pow(S-z,2);return le?S=0,Rt=0,Ht=0;Ht-Z/2;){if(--qe<0)return!1;it-=S[qe].dist(Ie),Ie=S[qe]}it+=S[qe].dist(S[qe+1]),qe++;for(var dt=[],St=0;itle;)St-=dt.shift().angleDelta;if(St>ke)return!1;qe++,it+=Ht.dist(Yt)}return!0}function Ny(S){for(var z=0,Z=0;ZSt){var cn=(St-dt)/Zt,Tn=Lr(Ht.x,Yt.x,cn),Fn=Lr(Ht.y,Yt.y,cn),Dn=new yf(Tn,Fn,Yt.angleTo(Ht),Rt);return Dn._round(),!qe||By(S,Dn,it,qe,z)?Dn:void 0}dt+=Zt}}function W5(S,z,Z,le,ke,Ie,qe,it,dt){var St=jy(le,Ie,qe),Rt=Uy(le,ke),Ht=Rt*qe,Yt=S[0].x===0||S[0].x===dt||S[0].y===0||S[0].y===dt;return z-Ht=0&&Kn=0&&ar=0&&Yt+St<=Rt){var ur=new yf(Kn,ar,Gn,cn);ur._round(),le&&!By(S,ur,Ie,le,ke)||Zt.push(ur)}}Ht+=Dn}return it||Zt.length||qe||(Zt=Vy(S,Ht/2,Z,le,ke,Ie,qe,!0,dt)),Zt}function Hy(S,z,Z,le,ke){for(var Ie=[],qe=0;qe=le&&Ht.x>=le||(Rt.x>=le?Rt=new t(le,Rt.y+(Ht.y-Rt.y)*((le-Rt.x)/(Ht.x-Rt.x)))._round():Ht.x>=le&&(Ht=new t(le,Rt.y+(Ht.y-Rt.y)*((le-Rt.x)/(Ht.x-Rt.x)))._round()),Rt.y>=ke&&Ht.y>=ke||(Rt.y>=ke?Rt=new t(Rt.x+(Ht.x-Rt.x)*((ke-Rt.y)/(Ht.y-Rt.y)),ke)._round():Ht.y>=ke&&(Ht=new t(Rt.x+(Ht.x-Rt.x)*((ke-Rt.y)/(Ht.y-Rt.y)),ke)._round()),dt&&Rt.equals(dt[dt.length-1])||(dt=[Rt],Ie.push(dt)),dt.push(Ht)))))}return Ie}function qy(S,z,Z,le){var ke=[],Ie=S.image,qe=Ie.pixelRatio,it=Ie.paddedRect.w-2,dt=Ie.paddedRect.h-2,St=S.right-S.left,Rt=S.bottom-S.top,Ht=Ie.stretchX||[[0,it]],Yt=Ie.stretchY||[[0,dt]],Zt=function(Pi,ji){return Pi+ji[1]-ji[0]},cn=Ht.reduce(Zt,0),Tn=Yt.reduce(Zt,0),Fn=it-cn,Dn=dt-Tn,Gn=0,Yn=cn,Kn=0,ar=Tn,ur=0,Er=Fn,br=0,Ir=Dn;if(Ie.content&&le){var Br=Ie.content;Gn=ud(Ht,0,Br[0]),Kn=ud(Yt,0,Br[1]),Yn=ud(Ht,Br[0],Br[2]),ar=ud(Yt,Br[1],Br[3]),ur=Br[0]-Gn,br=Br[1]-Kn,Er=Br[2]-Br[0]-Yn,Ir=Br[3]-Br[1]-ar}var $r=function(Pi,ji,Vi,Wi){var Fi=cd(Pi.stretch-Gn,Yn,St,S.left),Ma=fd(Pi.fixed-ur,Er,Pi.stretch,cn),Xi=cd(ji.stretch-Kn,ar,Rt,S.top),ja=fd(ji.fixed-br,Ir,ji.stretch,Tn),ro=cd(Vi.stretch-Gn,Yn,St,S.left),Za=fd(Vi.fixed-ur,Er,Vi.stretch,cn),Ao=cd(Wi.stretch-Kn,ar,Rt,S.top),Ya=fd(Wi.fixed-br,Ir,Wi.stretch,Tn),Ea=new t(Fi,Xi),Xa=new t(ro,Xi),Ua=new t(ro,Ao),Ca=new t(Fi,Ao),ei=new t(Ma/qe,ja/qe),pi=new t(Za/qe,Ya/qe),ra=z*Math.PI/180;if(ra){var Ri=Math.sin(ra),Ji=Math.cos(ra),Zi=[Ji,-Ri,Ri,Ji];Ea._matMult(Zi),Xa._matMult(Zi),Ca._matMult(Zi),Ua._matMult(Zi)}var mi=Pi.stretch+Pi.fixed,ia=Vi.stretch+Vi.fixed,Mo=ji.stretch+ji.fixed,ss=Wi.stretch+Wi.fixed;return{tl:Ea,tr:Xa,bl:Ca,br:Ua,tex:{x:Ie.paddedRect.x+1+mi,y:Ie.paddedRect.y+1+Mo,w:ia-mi,h:ss-Mo},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:ei,pixelOffsetBR:pi,minFontScaleX:Er/qe/St,minFontScaleY:Ir/qe/Rt,isSDF:Z}};if(le&&(Ie.stretchX||Ie.stretchY))for(var jr=Gy(Ht,Fn,cn),Xr=Gy(Yt,Dn,Tn),Vr=0;Vr0&&(Zt=Math.max(10,Zt),this.circleDiameter=Zt)}else{var cn=Ie.top*qe-it,Tn=Ie.bottom*qe+it,Fn=Ie.left*qe-it,Dn=Ie.right*qe+it,Gn=Ie.collisionPadding;if(Gn&&(Fn-=Gn[0]*qe,cn-=Gn[1]*qe,Dn+=Gn[2]*qe,Tn+=Gn[3]*qe),St){var Yn=new t(Fn,cn),Kn=new t(Dn,cn),ar=new t(Fn,Tn),ur=new t(Dn,Tn),Er=St*Math.PI/180;Yn._rotate(Er),Kn._rotate(Er),ar._rotate(Er),ur._rotate(Er),Fn=Math.min(Yn.x,Kn.x,ar.x,ur.x),Dn=Math.max(Yn.x,Kn.x,ar.x,ur.x),cn=Math.min(Yn.y,Kn.y,ar.y,ur.y),Tn=Math.max(Yn.y,Kn.y,ar.y,ur.y)}S.emplaceBack(z.x,z.y,Fn,cn,Dn,Tn,Z,le,ke)}this.boxEndIndex=S.length},xf=function(S,z){if(S===void 0&&(S=[]),z===void 0&&(z=Z5),this.data=S,this.length=this.data.length,this.compare=z,this.length>0)for(var Z=(this.length>>1)-1;Z>=0;Z--)this._down(Z)};function Z5(S,z){return Sz?1:0}function Y5(S,z,Z){z===void 0&&(z=1),Z===void 0&&(Z=!1);for(var le=1/0,ke=1/0,Ie=-1/0,qe=-1/0,it=S[0],dt=0;dtIe)&&(Ie=St.x),(!dt||St.y>qe)&&(qe=St.y)}var Rt=Ie-le,Ht=qe-ke,Yt=Math.min(Rt,Ht),Zt=Yt/2,cn=new xf([],X5);if(Yt===0)return new t(le,ke);for(var Tn=le;TnDn.d||!Dn.d)&&(Dn=Yn,Z&&console.log("found best %d after %d probes",Math.round(1e4*Yn.d)/1e4,Gn)),Yn.max-Dn.d<=z||(Zt=Yn.h/2,cn.push(new bf(Yn.p.x-Zt,Yn.p.y-Zt,Zt,S)),cn.push(new bf(Yn.p.x+Zt,Yn.p.y-Zt,Zt,S)),cn.push(new bf(Yn.p.x-Zt,Yn.p.y+Zt,Zt,S)),cn.push(new bf(Yn.p.x+Zt,Yn.p.y+Zt,Zt,S)),Gn+=4)}return Z&&(console.log("num probes: "+Gn),console.log("best distance: "+Dn.d)),Dn.p}function X5(S,z){return z.max-S.max}function bf(S,z,Z,le){this.p=new t(S,z),this.h=Z,this.d=function(ke,Ie){for(var qe=!1,it=1/0,dt=0;dtke.y!=cn.y>ke.y&&ke.x<(cn.x-Zt.x)*(ke.y-Zt.y)/(cn.y-Zt.y)+Zt.x&&(qe=!qe),it=Math.min(it,Yp(ke,Zt,cn))}return(qe?1:-1)*Math.sqrt(it)}(this.p,le),this.max=this.d+this.h*Math.SQRT2}xf.prototype.push=function(S){this.data.push(S),this.length++,this._up(this.length-1)},xf.prototype.pop=function(){if(this.length!==0){var S=this.data[0],z=this.data.pop();return this.length--,this.length>0&&(this.data[0]=z,this._down(0)),S}},xf.prototype.peek=function(){return this.data[0]},xf.prototype._up=function(S){for(var z=this.data,Z=this.compare,le=z[S];S>0;){var ke=S-1>>1,Ie=z[ke];if(Z(le,Ie)>=0)break;z[S]=Ie,S=ke}z[S]=le},xf.prototype._down=function(S){for(var z=this.data,Z=this.compare,le=this.length>>1,ke=z[S];S=0)break;z[S]=qe,S=Ie}z[S]=ke};var P1=Number.POSITIVE_INFINITY;function Wy(S,z){return z[1]!==P1?function(Z,le,ke){var Ie=0,qe=0;switch(le=Math.abs(le),ke=Math.abs(ke),Z){case"top-right":case"top-left":case"top":qe=ke-7;break;case"bottom-right":case"bottom-left":case"bottom":qe=7-ke}switch(Z){case"top-right":case"bottom-right":case"right":Ie=-le;break;case"top-left":case"bottom-left":case"left":Ie=le}return[Ie,qe]}(S,z[0],z[1]):function(Z,le){var ke=0,Ie=0;le<0&&(le=0);var qe=le/Math.sqrt(2);switch(Z){case"top-right":case"top-left":Ie=qe-7;break;case"bottom-right":case"bottom-left":Ie=7-qe;break;case"bottom":Ie=7-le;break;case"top":Ie=le-7}switch(Z){case"top-right":case"bottom-right":ke=-qe;break;case"top-left":case"bottom-left":ke=qe;break;case"left":ke=le;break;case"right":ke=-le}return[ke,Ie]}(S,z[0])}function O1(S){switch(S){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}var Xu=32640;function Zy(S,z,Z,le,ke,Ie,qe,it,dt,St,Rt,Ht,Yt,Zt,cn){var Tn=function(Kn,ar,ur,Er,br,Ir,Br,$r){for(var jr=Er.layout.get("text-rotate").evaluate(Ir,{})*Math.PI/180,Xr=[],Vr=0,Nr=ar.positionedLines;VrXu&&M(S.layerIds[0]+': Value for "text-size" is >= 255. Reduce your "text-size".'):Fn.kind==="composite"&&((Dn=[Kl*Zt.compositeTextSizes[0].evaluate(qe,{},cn),Kl*Zt.compositeTextSizes[1].evaluate(qe,{},cn)])[0]>Xu||Dn[1]>Xu)&&M(S.layerIds[0]+': Value for "text-size" is >= 255. Reduce your "text-size".'),S.addSymbols(S.text,Tn,Dn,it,Ie,qe,St,z,dt.lineStartIndex,dt.lineLength,Yt,cn);for(var Gn=0,Yn=Rt;Gn=0;qe--)if(le.dist(Ie[qe])0)&&(Ie.value.kind!=="constant"||Ie.value.value.length>0),St=it.value.kind!=="constant"||!!it.value.value||Object.keys(it.parameters).length>0,Rt=ke.get("symbol-sort-key");if(this.features=[],dt||St){for(var Ht=z.iconDependencies,Yt=z.glyphDependencies,Zt=z.availableImages,cn=new di(this.zoom),Tn=0,Fn=S;Tn=0;for(var Qr=0,Di=br.sections;Qr=0;it--)Ie[it]={x:z[it].x,y:z[it].y,tileUnitDistanceFromAnchor:ke},it>0&&(ke+=z[it-1].dist(z[it]));for(var dt=0;dt0},Li.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Li.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},Li.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},Li.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},Li.prototype.addIndicesForPlacedSymbol=function(S,z){for(var Z=S.placedSymbolArray.get(z),le=Z.vertexStartIndex+4*Z.numGlyphs,ke=Z.vertexStartIndex;ke1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(S),this.sortedAngle=S,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var Z=0,le=this.symbolInstanceIndexes;Z=0&&dt.indexOf(qe)===it&&z.addIndicesForPlacedSymbol(z.text,qe)}),Ie.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,Ie.verticalPlacedTextSymbolIndex),Ie.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,Ie.placedIconSymbolIndex),Ie.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,Ie.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Cr("SymbolBucket",Li,{omit:["layers","collisionBoxArray","features","compareText"]}),Li.MAX_GLYPHS=65535,Li.addDynamicAttributes=I1;var e4=new _a({"symbol-placement":new Fr(Oe.layout_symbol["symbol-placement"]),"symbol-spacing":new Fr(Oe.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Fr(Oe.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Ur(Oe.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Fr(Oe.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Fr(Oe.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Fr(Oe.layout_symbol["icon-ignore-placement"]),"icon-optional":new Fr(Oe.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Fr(Oe.layout_symbol["icon-rotation-alignment"]),"icon-size":new Ur(Oe.layout_symbol["icon-size"]),"icon-text-fit":new Fr(Oe.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Fr(Oe.layout_symbol["icon-text-fit-padding"]),"icon-image":new Ur(Oe.layout_symbol["icon-image"]),"icon-rotate":new Ur(Oe.layout_symbol["icon-rotate"]),"icon-padding":new Fr(Oe.layout_symbol["icon-padding"]),"icon-keep-upright":new Fr(Oe.layout_symbol["icon-keep-upright"]),"icon-offset":new Ur(Oe.layout_symbol["icon-offset"]),"icon-anchor":new Ur(Oe.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Fr(Oe.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Fr(Oe.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Fr(Oe.layout_symbol["text-rotation-alignment"]),"text-field":new Ur(Oe.layout_symbol["text-field"]),"text-font":new Ur(Oe.layout_symbol["text-font"]),"text-size":new Ur(Oe.layout_symbol["text-size"]),"text-max-width":new Ur(Oe.layout_symbol["text-max-width"]),"text-line-height":new Fr(Oe.layout_symbol["text-line-height"]),"text-letter-spacing":new Ur(Oe.layout_symbol["text-letter-spacing"]),"text-justify":new Ur(Oe.layout_symbol["text-justify"]),"text-radial-offset":new Ur(Oe.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Fr(Oe.layout_symbol["text-variable-anchor"]),"text-anchor":new Ur(Oe.layout_symbol["text-anchor"]),"text-max-angle":new Fr(Oe.layout_symbol["text-max-angle"]),"text-writing-mode":new Fr(Oe.layout_symbol["text-writing-mode"]),"text-rotate":new Ur(Oe.layout_symbol["text-rotate"]),"text-padding":new Fr(Oe.layout_symbol["text-padding"]),"text-keep-upright":new Fr(Oe.layout_symbol["text-keep-upright"]),"text-transform":new Ur(Oe.layout_symbol["text-transform"]),"text-offset":new Ur(Oe.layout_symbol["text-offset"]),"text-allow-overlap":new Fr(Oe.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Fr(Oe.layout_symbol["text-ignore-placement"]),"text-optional":new Fr(Oe.layout_symbol["text-optional"])}),R1={paint:new _a({"icon-opacity":new Ur(Oe.paint_symbol["icon-opacity"]),"icon-color":new Ur(Oe.paint_symbol["icon-color"]),"icon-halo-color":new Ur(Oe.paint_symbol["icon-halo-color"]),"icon-halo-width":new Ur(Oe.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Ur(Oe.paint_symbol["icon-halo-blur"]),"icon-translate":new Fr(Oe.paint_symbol["icon-translate"]),"icon-translate-anchor":new Fr(Oe.paint_symbol["icon-translate-anchor"]),"text-opacity":new Ur(Oe.paint_symbol["text-opacity"]),"text-color":new Ur(Oe.paint_symbol["text-color"],{runtimeType:Bt,getOverride:function(S){return S.textColor},hasOverride:function(S){return!!S.textColor}}),"text-halo-color":new Ur(Oe.paint_symbol["text-halo-color"]),"text-halo-width":new Ur(Oe.paint_symbol["text-halo-width"]),"text-halo-blur":new Ur(Oe.paint_symbol["text-halo-blur"]),"text-translate":new Fr(Oe.paint_symbol["text-translate"]),"text-translate-anchor":new Fr(Oe.paint_symbol["text-translate-anchor"])}),layout:e4},wf=function(S){this.type=S.property.overrides?S.property.overrides.runtimeType:mt,this.defaultValue=S};wf.prototype.evaluate=function(S){if(S.formattedSection){var z=this.defaultValue.property.overrides;if(z&&z.hasOverride(S.formattedSection))return z.getOverride(S.formattedSection)}return S.feature&&S.featureState?this.defaultValue.evaluate(S.feature,S.featureState):this.defaultValue.property.specification.default},wf.prototype.eachChild=function(S){this.defaultValue.isConstant()||S(this.defaultValue.value._styleExpression.expression)},wf.prototype.outputDefined=function(){return!1},wf.prototype.serialize=function(){return null},Cr("FormatSectionOverride",wf,{omit:["defaultValue"]});var t4=function(S){function z(Z){S.call(this,Z,R1)}return S&&(z.__proto__=S),z.prototype=Object.create(S&&S.prototype),z.prototype.constructor=z,z.prototype.recalculate=function(Z,le){if(S.prototype.recalculate.call(this,Z,le),this.layout.get("icon-rotation-alignment")==="auto"&&(this.layout.get("symbol-placement")!=="point"?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),this.layout.get("text-rotation-alignment")==="auto"&&(this.layout.get("symbol-placement")!=="point"?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),this.layout.get("text-pitch-alignment")==="auto"&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),this.layout.get("icon-pitch-alignment")==="auto"&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),this.layout.get("symbol-placement")==="point"){var ke=this.layout.get("text-writing-mode");if(ke){for(var Ie=[],qe=0,it=ke;qe",targetMapId:le,sourceMapId:Ie.mapId})}}},Tf.prototype.receive=function(S){var z=S.data,Z=z.id;if(Z&&(!z.targetMapId||this.mapId===z.targetMapId))if(z.type===""){delete this.tasks[Z];var le=this.cancelCallbacks[Z];delete this.cancelCallbacks[Z],le&&le()}else L()||z.mustQueue?(this.tasks[Z]=z,this.taskQueue.push(Z),this.invoker.trigger()):this.processTask(Z,z)},Tf.prototype.process=function(){if(this.taskQueue.length){var S=this.taskQueue.shift(),z=this.tasks[S];delete this.tasks[S],this.taskQueue.length&&this.invoker.trigger(),z&&this.processTask(S,z)}},Tf.prototype.processTask=function(S,z){var Z=this;if(z.type===""){var le=this.callbacks[S];delete this.callbacks[S],le&&(z.error?le(rl(z.error)):le(null,rl(z.data)))}else{var ke=!1,Ie=R(this.globalScope)?void 0:[],qe=z.hasCallback?function(Rt,Ht){ke=!0,delete Z.cancelCallbacks[S],Z.target.postMessage({id:S,type:"",sourceMapId:Z.mapId,error:Rt?nl(Rt):null,data:nl(Ht,Ie)},Ie)}:function(Rt){ke=!0},it=null,dt=rl(z.data);if(this.parent[z.type])it=this.parent[z.type](z.sourceMapId,dt,qe);else if(this.parent.getWorkerSource){var St=z.type.split(".");it=this.parent.getWorkerSource(z.sourceMapId,St[0],dt.source)[St[1]](dt,qe)}else qe(new Error("Could not find function "+z.type));!ke&&it&&it.cancel&&(this.cancelCallbacks[S]=it.cancel)}},Tf.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var ka=function(S,z){S&&(z?this.setSouthWest(S).setNorthEast(z):S.length===4?this.setSouthWest([S[0],S[1]]).setNorthEast([S[2],S[3]]):this.setSouthWest(S[0]).setNorthEast(S[1]))};ka.prototype.setNorthEast=function(S){return this._ne=S instanceof Gi?new Gi(S.lng,S.lat):Gi.convert(S),this},ka.prototype.setSouthWest=function(S){return this._sw=S instanceof Gi?new Gi(S.lng,S.lat):Gi.convert(S),this},ka.prototype.extend=function(S){var z,Z,le=this._sw,ke=this._ne;if(S instanceof Gi)z=S,Z=S;else{if(!(S instanceof ka)){if(Array.isArray(S)){if(S.length===4||S.every(Array.isArray)){var Ie=S;return this.extend(ka.convert(Ie))}var qe=S;return this.extend(Gi.convert(qe))}return this}if(z=S._sw,Z=S._ne,!z||!Z)return this}return le||ke?(le.lng=Math.min(z.lng,le.lng),le.lat=Math.min(z.lat,le.lat),ke.lng=Math.max(Z.lng,ke.lng),ke.lat=Math.max(Z.lat,ke.lat)):(this._sw=new Gi(z.lng,z.lat),this._ne=new Gi(Z.lng,Z.lat)),this},ka.prototype.getCenter=function(){return new Gi((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},ka.prototype.getSouthWest=function(){return this._sw},ka.prototype.getNorthEast=function(){return this._ne},ka.prototype.getNorthWest=function(){return new Gi(this.getWest(),this.getNorth())},ka.prototype.getSouthEast=function(){return new Gi(this.getEast(),this.getSouth())},ka.prototype.getWest=function(){return this._sw.lng},ka.prototype.getSouth=function(){return this._sw.lat},ka.prototype.getEast=function(){return this._ne.lng},ka.prototype.getNorth=function(){return this._ne.lat},ka.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},ka.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},ka.prototype.isEmpty=function(){return!(this._sw&&this._ne)},ka.prototype.contains=function(S){var z=Gi.convert(S),Z=z.lng,le=z.lat,ke=this._sw.lat<=le&&le<=this._ne.lat,Ie=this._sw.lng<=Z&&Z<=this._ne.lng;return this._sw.lng>this._ne.lng&&(Ie=this._sw.lng>=Z&&Z>=this._ne.lng),ke&&Ie},ka.convert=function(S){return!S||S instanceof ka?S:new ka(S)};var ex=63710088e-1,Gi=function(S,z){if(isNaN(S)||isNaN(z))throw new Error("Invalid LngLat object: ("+S+", "+z+")");if(this.lng=+S,this.lat=+z,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};Gi.prototype.wrap=function(){return new Gi(i(this.lng,-180,180),this.lat)},Gi.prototype.toArray=function(){return[this.lng,this.lat]},Gi.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},Gi.prototype.distanceTo=function(S){var z=Math.PI/180,Z=this.lat*z,le=S.lat*z,ke=Math.sin(Z)*Math.sin(le)+Math.cos(Z)*Math.cos(le)*Math.cos((S.lng-this.lng)*z);return ex*Math.acos(Math.min(ke,1))},Gi.prototype.toBounds=function(S){S===void 0&&(S=0);var z=360*S/40075017,Z=z/Math.cos(Math.PI/180*this.lat);return new ka(new Gi(this.lng-Z,this.lat-z),new Gi(this.lng+Z,this.lat+z))},Gi.convert=function(S){if(S instanceof Gi)return S;if(Array.isArray(S)&&(S.length===2||S.length===3))return new Gi(Number(S[0]),Number(S[1]));if(!Array.isArray(S)&&typeof S=="object"&&S!==null)return new Gi(Number("lng"in S?S.lng:S.lon),Number(S.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")};var tx=2*Math.PI*ex;function nx(S){return tx*Math.cos(S*Math.PI/180)}function rx(S){return(180+S)/360}function ix(S){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+S*Math.PI/360)))/360}function ax(S,z){return S/nx(z)}function D1(S){var z=180-360*S;return 360/Math.PI*Math.atan(Math.exp(z*Math.PI/180))-90}var Pc=function(S,z,Z){Z===void 0&&(Z=0),this.x=+S,this.y=+z,this.z=+Z};Pc.fromLngLat=function(S,z){z===void 0&&(z=0);var Z=Gi.convert(S);return new Pc(rx(Z.lng),ix(Z.lat),ax(z,Z.lat))},Pc.prototype.toLngLat=function(){return new Gi(360*this.x-180,D1(this.y))},Pc.prototype.toAltitude=function(){return S=this.z,z=this.y,S*nx(D1(z));var S,z},Pc.prototype.meterInMercatorCoordinateUnits=function(){return 1/tx*(S=D1(this.y),1/Math.cos(S*Math.PI/180));var S};var Oc=function(S,z,Z){this.z=S,this.x=z,this.y=Z,this.key=Mh(0,S,S,z,Z)};Oc.prototype.equals=function(S){return this.z===S.z&&this.x===S.x&&this.y===S.y},Oc.prototype.url=function(S,z){var Z,le,ke,Ie,qe,it=(Z=this.x,le=this.y,ke=this.z,Ie=Qy(256*Z,256*(le=Math.pow(2,ke)-le-1),ke),qe=Qy(256*(Z+1),256*(le+1),ke),Ie[0]+","+Ie[1]+","+qe[0]+","+qe[1]),dt=function(St,Rt,Ht){for(var Yt,Zt="",cn=St;cn>0;cn--)Zt+=(Rt&(Yt=1<this.canonical.z?new Aa(S,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Aa(S,this.wrap,S,this.canonical.x>>z,this.canonical.y>>z)},Aa.prototype.calculateScaledKey=function(S,z){var Z=this.canonical.z-S;return S>this.canonical.z?Mh(this.wrap*+z,S,this.canonical.z,this.canonical.x,this.canonical.y):Mh(this.wrap*+z,S,S,this.canonical.x>>Z,this.canonical.y>>Z)},Aa.prototype.isChildOf=function(S){if(S.wrap!==this.wrap)return!1;var z=this.canonical.z-S.canonical.z;return S.overscaledZ===0||S.overscaledZ>z&&S.canonical.y===this.canonical.y>>z},Aa.prototype.children=function(S){if(this.overscaledZ>=S)return[new Aa(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var z=this.canonical.z+1,Z=2*this.canonical.x,le=2*this.canonical.y;return[new Aa(z,this.wrap,z,Z,le),new Aa(z,this.wrap,z,Z+1,le),new Aa(z,this.wrap,z,Z,le+1),new Aa(z,this.wrap,z,Z+1,le+1)]},Aa.prototype.isLessThan=function(S){return this.wrapS.wrap)&&(this.overscaledZS.overscaledZ)&&(this.canonical.xS.canonical.x)&&this.canonical.y=this.dim+1||z<-1||z>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(z+1)*this.stride+(S+1)},Mu.prototype._unpackMapbox=function(S,z,Z){return(256*S*256+256*z+Z)/10-1e4},Mu.prototype._unpackTerrarium=function(S,z,Z){return 256*S+z+Z/256-32768},Mu.prototype.getPixels=function(){return new No({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Mu.prototype.backfillBorder=function(S,z,Z){if(this.dim!==S.dim)throw new Error("dem dimension mismatch");var le=z*this.dim,ke=z*this.dim+this.dim,Ie=Z*this.dim,qe=Z*this.dim+this.dim;switch(z){case-1:le=ke-1;break;case 1:ke=le+1}switch(Z){case-1:Ie=qe-1;break;case 1:qe=Ie+1}for(var it=-z*this.dim,dt=-Z*this.dim,St=Ie;St=0&&Rt[3]>=0&&it.insert(qe,Rt[0],Rt[1],Rt[2],Rt[3])}},Su.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new df.VectorTile(new rd(this.rawTileData)).layers,this.sourceLayerCoder=new gd(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Su.prototype.query=function(S,z,Z,le){var ke=this;this.loadVTLayers();for(var Ie=S.params||{},qe=Yr/S.tileSize/S.scale,it=Sl(Ie.filter),dt=S.queryGeometry,St=S.queryPadding*qe,Rt=lx(dt),Ht=this.grid.query(Rt.minX-St,Rt.minY-St,Rt.maxX+St,Rt.maxY+St),Yt=lx(S.cameraQueryGeometry),Zt=0,cn=this.grid3D.query(Yt.minX-St,Yt.minY-St,Yt.maxX+St,Yt.maxY+St,function(Kn,ar,ur,Er){return function(br,Ir,Br,$r,jr){for(var Xr=0,Vr=br;Xr=Nr.x&&jr>=Nr.y)return!0}var si=[new t(Ir,Br),new t(Ir,jr),new t($r,jr),new t($r,Br)];if(br.length>2){for(var Qr=0,Di=si;Qr=0)return!0;return!1}(Ie,Ht)){var Yt=this.sourceLayerCoder.decode(Z),Zt=this.vtLayers[Yt].feature(le);if(ke.filter(new di(this.tileID.overscaledZ),Zt))for(var cn=this.getId(Zt,Yt),Tn=0;Tnle)ke=!1;else if(z)if(this.expirationTimege&&(S.getActor().send("enforceCacheSizeLimit",je),st=0)},s.clamp=o,s.clearTileCache=function(S){var z=self.caches.delete(De);S&&z.catch(S).then(function(){return S()})},s.clipLine=Hy,s.clone=function(S){var z=new ws(16);return z[0]=S[0],z[1]=S[1],z[2]=S[2],z[3]=S[3],z[4]=S[4],z[5]=S[5],z[6]=S[6],z[7]=S[7],z[8]=S[8],z[9]=S[9],z[10]=S[10],z[11]=S[11],z[12]=S[12],z[13]=S[13],z[14]=S[14],z[15]=S[15],z},s.clone$1=k,s.clone$2=function(S){var z=new ws(3);return z[0]=S[0],z[1]=S[1],z[2]=S[2],z},s.collisionCircleLayout=E5,s.config=X,s.create=function(){var S=new ws(16);return ws!=Float32Array&&(S[1]=0,S[2]=0,S[3]=0,S[4]=0,S[6]=0,S[7]=0,S[8]=0,S[9]=0,S[11]=0,S[12]=0,S[13]=0,S[14]=0),S[0]=1,S[5]=1,S[10]=1,S[15]=1,S},s.create$1=function(){var S=new ws(9);return ws!=Float32Array&&(S[1]=0,S[2]=0,S[3]=0,S[5]=0,S[6]=0,S[7]=0),S[0]=1,S[4]=1,S[8]=1,S},s.create$2=function(){var S=new ws(4);return ws!=Float32Array&&(S[1]=0,S[2]=0),S[0]=1,S[3]=1,S},s.createCommonjsModule=T,s.createExpression=_l,s.createLayout=Si,s.createStyleLayer=function(S){return S.type==="custom"?new o4(S):new s4[S.type](S)},s.cross=function(S,z,Z){var le=z[0],ke=z[1],Ie=z[2],qe=Z[0],it=Z[1],dt=Z[2];return S[0]=ke*dt-Ie*it,S[1]=Ie*qe-le*dt,S[2]=le*it-ke*qe,S},s.deepEqual=function S(z,Z){if(Array.isArray(z)){if(!Array.isArray(Z)||z.length!==Z.length)return!1;for(var le=0;le0&&(Ie=1/Math.sqrt(Ie)),S[0]=z[0]*Ie,S[1]=z[1]*Ie,S[2]=z[2]*Ie,S},s.number=Lr,s.offscreenCanvasSupported=ot,s.ortho=function(S,z,Z,le,ke,Ie,qe){var it=1/(z-Z),dt=1/(le-ke),St=1/(Ie-qe);return S[0]=-2*it,S[1]=0,S[2]=0,S[3]=0,S[4]=0,S[5]=-2*dt,S[6]=0,S[7]=0,S[8]=0,S[9]=0,S[10]=2*St,S[11]=0,S[12]=(z+Z)*it,S[13]=(ke+le)*dt,S[14]=(qe+Ie)*St,S[15]=1,S},s.parseGlyphPBF=function(S){return new rd(S).readFields(N5,[])},s.pbf=rd,s.performSymbolLayout=function(S,z,Z,le,ke,Ie,qe){S.createArrays();var it=512*S.overscaling;S.tilePixelRatio=Yr/it,S.compareText={},S.iconsNeedLinear=!1;var dt=S.layers[0].layout,St=S.layers[0]._unevaluatedLayout._values,Rt={};if(S.textSizeData.kind==="composite"){var Ht=S.textSizeData,Yt=Ht.minZoom,Zt=Ht.maxZoom;Rt.compositeTextSizes=[St["text-size"].possiblyEvaluate(new di(Yt),qe),St["text-size"].possiblyEvaluate(new di(Zt),qe)]}if(S.iconSizeData.kind==="composite"){var cn=S.iconSizeData,Tn=cn.minZoom,Fn=cn.maxZoom;Rt.compositeIconSizes=[St["icon-size"].possiblyEvaluate(new di(Tn),qe),St["icon-size"].possiblyEvaluate(new di(Fn),qe)]}Rt.layoutTextSize=St["text-size"].possiblyEvaluate(new di(S.zoom+1),qe),Rt.layoutIconSize=St["icon-size"].possiblyEvaluate(new di(S.zoom+1),qe),Rt.textMaxSize=St["text-size"].possiblyEvaluate(new di(18));for(var Dn=dt.get("text-line-height")*no,Gn=dt.get("text-rotation-alignment")==="map"&&dt.get("symbol-placement")!=="point",Yn=dt.get("text-keep-upright"),Kn=dt.get("text-size"),ar=function(){var br=Er[ur],Ir=dt.get("text-font").evaluate(br,{},qe).join(","),Br=Kn.evaluate(br,{},qe),$r=Rt.layoutTextSize.evaluate(br,{},qe),jr=Rt.layoutIconSize.evaluate(br,{},qe),Xr={horizontal:{},vertical:void 0},Vr=br.text,Nr=[0,0];if(Vr){var si=Vr.toString(),Qr=dt.get("text-letter-spacing").evaluate(br,{},qe)*no,Di=function(ei){for(var pi=0,ra=ei;pi=Yr||zh.y<0||zh.y>=Yr||function(sa,Rl,c4,Ju,G1,dx,Md,Ql,Sd,Dh,Ed,Cd,W1,gx,Fh,vx,mx,yx,xx,bx,ks,Ld,_x,eu,f4){var wx,Bc,Ef,Cf,Lf,Pf=sa.addToLineVertexArray(Rl,c4),Tx=0,kx=0,Ax=0,Mx=0,Z1=-1,Y1=-1,Cu={},Sx=zn(""),X1=0,$1=0;if(Ql._unevaluatedLayout.getValue("text-radial-offset")===void 0?(X1=(wx=Ql.layout.get("text-offset").evaluate(ks,{},eu).map(function(Nh){return Nh*no}))[0],$1=wx[1]):(X1=Ql.layout.get("text-radial-offset").evaluate(ks,{},eu)*no,$1=P1),sa.allowVerticalPlacement&&Ju.vertical){var Ex=Ql.layout.get("text-rotate").evaluate(ks,{},eu)+90,h4=Ju.vertical;Cf=new hd(Sd,Rl,Dh,Ed,Cd,h4,W1,gx,Fh,Ex),Md&&(Lf=new hd(Sd,Rl,Dh,Ed,Cd,Md,mx,yx,Fh,Ex))}if(G1){var J1=Ql.layout.get("icon-rotate").evaluate(ks,{}),Cx=Ql.layout.get("icon-text-fit")!=="none",Lx=qy(G1,J1,_x,Cx),K1=Md?qy(Md,J1,_x,Cx):void 0;Ef=new hd(Sd,Rl,Dh,Ed,Cd,G1,mx,yx,!1,J1),Tx=4*Lx.length;var Px=sa.iconSizeData,Bh=null;Px.kind==="source"?(Bh=[Kl*Ql.layout.get("icon-size").evaluate(ks,{})])[0]>Xu&&M(sa.layerIds[0]+': Value for "icon-size" is >= 255. Reduce your "icon-size".'):Px.kind==="composite"&&((Bh=[Kl*Ld.compositeIconSizes[0].evaluate(ks,{},eu),Kl*Ld.compositeIconSizes[1].evaluate(ks,{},eu)])[0]>Xu||Bh[1]>Xu)&&M(sa.layerIds[0]+': Value for "icon-size" is >= 255. Reduce your "icon-size".'),sa.addSymbols(sa.icon,Lx,Bh,bx,xx,ks,!1,Rl,Pf.lineStartIndex,Pf.lineLength,-1,eu),Z1=sa.icon.placedSymbolArray.length-1,K1&&(kx=4*K1.length,sa.addSymbols(sa.icon,K1,Bh,bx,xx,ks,Ts.vertical,Rl,Pf.lineStartIndex,Pf.lineLength,-1,eu),Y1=sa.icon.placedSymbolArray.length-1)}for(var Ox in Ju.horizontal){var Pd=Ju.horizontal[Ox];if(!Bc){Sx=zn(Pd.text);var p4=Ql.layout.get("text-rotate").evaluate(ks,{},eu);Bc=new hd(Sd,Rl,Dh,Ed,Cd,Pd,W1,gx,Fh,p4)}var Ix=Pd.positionedLines.length===1;if(Ax+=Zy(sa,Rl,Pd,dx,Ql,Fh,ks,vx,Pf,Ju.vertical?Ts.horizontal:Ts.horizontalOnly,Ix?Object.keys(Ju.horizontal):[Ox],Cu,Z1,Ld,eu),Ix)break}Ju.vertical&&(Mx+=Zy(sa,Rl,Ju.vertical,dx,Ql,Fh,ks,vx,Pf,Ts.vertical,["vertical"],Cu,Y1,Ld,eu));var d4=Bc?Bc.boxStartIndex:sa.collisionBoxArray.length,g4=Bc?Bc.boxEndIndex:sa.collisionBoxArray.length,v4=Cf?Cf.boxStartIndex:sa.collisionBoxArray.length,m4=Cf?Cf.boxEndIndex:sa.collisionBoxArray.length,y4=Ef?Ef.boxStartIndex:sa.collisionBoxArray.length,x4=Ef?Ef.boxEndIndex:sa.collisionBoxArray.length,b4=Lf?Lf.boxStartIndex:sa.collisionBoxArray.length,_4=Lf?Lf.boxEndIndex:sa.collisionBoxArray.length,tu=-1,Od=function(Nh,zx){return Nh&&Nh.circleDiameter?Math.max(Nh.circleDiameter,zx):zx};tu=Od(Bc,tu),tu=Od(Cf,tu),tu=Od(Ef,tu);var Rx=(tu=Od(Lf,tu))>-1?1:0;Rx&&(tu*=f4/no),sa.glyphOffsetArray.length>=Li.MAX_GLYPHS&&M("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),ks.sortKey!==void 0&&sa.addToSortKeyRanges(sa.symbolInstances.length,ks.sortKey),sa.symbolInstances.emplaceBack(Rl.x,Rl.y,Cu.right>=0?Cu.right:-1,Cu.center>=0?Cu.center:-1,Cu.left>=0?Cu.left:-1,Cu.vertical||-1,Z1,Y1,Sx,d4,g4,v4,m4,y4,x4,b4,_4,Dh,Ax,Mx,Tx,kx,Rx,0,W1,X1,$1,tu)}(ei,zh,u4,ra,Ri,Ji,Eu,ei.layers[0],ei.collisionBoxArray,pi.index,pi.sourceLayerIndex,ei.index,md,B1,bd,Mo,yd,xd,_d,Il,pi,Zi,ss,vo,mi)};if(Eh==="line")for(var Mf=0,wd=Hy(pi.geometry,0,0,Yr,Yr);Mf1){var Oh=G5(Dc,Af,ra.vertical||ll,Ri,ul,Rc);Oh&&zc(Dc,Oh)}}else if(pi.type==="Polygon")for(var Fc=0,Ih=w1(pi.geometry,0);Fc=kn.maxzoom||kn.visibility!=="none"&&(a(ln,this.zoom,Ge),(Ct[kn.id]=kn.createBucket({index:Qe.bucketLayerIDs.length,layers:ln,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:Bt,sourceID:this.source})).populate(Wt,mt,this.tileID.canonical),Qe.bucketLayerIDs.push(ln.map(function(fn){return fn.id})))}}}var Wn=s.mapObject(mt.glyphDependencies,function(fn){return Object.keys(fn).map(Number)});Object.keys(Wn).length?nt.send("getGlyphs",{uid:this.uid,stacks:Wn},function(fn,hn){ut||(ut=fn,pt=hn,_n.call(Oe))}):pt={};var wn=Object.keys(mt.iconDependencies);wn.length?nt.send("getImages",{icons:wn,source:this.source,tileID:this.tileID,type:"icons"},function(fn,hn){ut||(ut=fn,bt=hn,_n.call(Oe))}):bt={};var on=Object.keys(mt.patternDependencies);function _n(){if(ut)return ht(ut);if(pt&&bt&&Lt){var fn=new l(pt),hn=new s.ImageAtlas(bt,Lt);for(var In in Ct){var Cn=Ct[In];Cn instanceof s.SymbolBucket?(a(Cn.layers,this.zoom,Ge),s.performSymbolLayout(Cn,pt,fn.positions,bt,hn.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):Cn.hasPattern&&(Cn instanceof s.LineBucket||Cn instanceof s.FillBucket||Cn instanceof s.FillExtrusionBucket)&&(a(Cn.layers,this.zoom,Ge),Cn.addFeatures(mt,this.tileID.canonical,hn.patternPositions))}this.status="done",ht(null,{buckets:s.values(Ct).filter(function(Nn){return!Nn.isEmpty()}),featureIndex:Qe,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:fn.image,imageAtlas:hn,glyphMap:this.returnDependencies?pt:null,iconMap:this.returnDependencies?bt:null,glyphPositions:this.returnDependencies?fn.positions:null})}}on.length?nt.send("getImages",{icons:on,source:this.source,tileID:this.tileID,type:"patterns"},function(fn,hn){ut||(ut=fn,Lt=hn,_n.call(Oe))}):Lt={},_n.call(this)};var n=function(Je,Ke,Ge,nt){this.actor=Je,this.layerIndex=Ke,this.availableImages=Ge,this.loadVectorData=nt||r,this.loading={},this.loaded={}};n.prototype.loadTile=function(Je,Ke){var Ge=this,nt=Je.uid;this.loading||(this.loading={});var ht=!!(Je&&Je.request&&Je.request.collectResourceTiming)&&new s.RequestPerformance(Je.request),Oe=this.loading[nt]=new t(Je);Oe.abort=this.loadVectorData(Je,function(Be,Qe){if(delete Ge.loading[nt],Be||!Qe)return Oe.status="done",Ge.loaded[nt]=Oe,Ke(Be);var ut=Qe.rawData,pt={};Qe.expires&&(pt.expires=Qe.expires),Qe.cacheControl&&(pt.cacheControl=Qe.cacheControl);var bt={};if(ht){var Lt=ht.finish();Lt&&(bt.resourceTiming=JSON.parse(JSON.stringify(Lt)))}Oe.vectorTile=Qe.vectorTile,Oe.parse(Qe.vectorTile,Ge.layerIndex,Ge.availableImages,Ge.actor,function(Ct,mt){if(Ct||!mt)return Ke(Ct);Ke(null,s.extend({rawTileData:ut.slice(0)},mt,pt,bt))}),Ge.loaded=Ge.loaded||{},Ge.loaded[nt]=Oe})},n.prototype.reloadTile=function(Je,Ke){var Ge=this,nt=this.loaded,ht=Je.uid,Oe=this;if(nt&&nt[ht]){var Be=nt[ht];Be.showCollisionBoxes=Je.showCollisionBoxes;var Qe=function(ut,pt){var bt=Be.reloadCallback;bt&&(delete Be.reloadCallback,Be.parse(Be.vectorTile,Oe.layerIndex,Ge.availableImages,Oe.actor,bt)),Ke(ut,pt)};Be.status==="parsing"?Be.reloadCallback=Qe:Be.status==="done"&&(Be.vectorTile?Be.parse(Be.vectorTile,this.layerIndex,this.availableImages,this.actor,Qe):Qe())}},n.prototype.abortTile=function(Je,Ke){var Ge=this.loading,nt=Je.uid;Ge&&Ge[nt]&&Ge[nt].abort&&(Ge[nt].abort(),delete Ge[nt]),Ke()},n.prototype.removeTile=function(Je,Ke){var Ge=this.loaded,nt=Je.uid;Ge&&Ge[nt]&&delete Ge[nt],Ke()};var o=s.window.ImageBitmap,i=function(){this.loaded={}};i.prototype.loadTile=function(Je,Ke){var Ge=Je.uid,nt=Je.encoding,ht=Je.rawImageData,Oe=o&&ht instanceof o?this.getImageData(ht):ht,Be=new s.DEMData(Ge,Oe,nt);this.loaded=this.loaded||{},this.loaded[Ge]=Be,Ke(null,Be)},i.prototype.getImageData=function(Je){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(Je.width,Je.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=Je.width,this.offscreenCanvas.height=Je.height,this.offscreenCanvasContext.drawImage(Je,0,0,Je.width,Je.height);var Ke=this.offscreenCanvasContext.getImageData(-1,-1,Je.width+2,Je.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new s.RGBAImage({width:Ke.width,height:Ke.height},Ke.data)},i.prototype.removeTile=function(Je){var Ke=this.loaded,Ge=Je.uid;Ke&&Ke[Ge]&&delete Ke[Ge]};var u=function Je(Ke,Ge){var nt,ht=Ke&&Ke.type;if(ht==="FeatureCollection")for(nt=0;nt=0!=!!Ke&&Je.reverse()}var x=s.vectorTile.VectorTileFeature.prototype.toGeoJSON,d=function(Je){this._feature=Je,this.extent=s.EXTENT,this.type=Je.type,this.properties=Je.tags,"id"in Je&&!isNaN(Je.id)&&(this.id=parseInt(Je.id,10))};d.prototype.loadGeometry=function(){if(this._feature.type===1){for(var Je=[],Ke=0,Ge=this._feature.geometry;Ke>31}function G(Je,Ke){for(var Ge=Je.loadGeometry(),nt=Je.type,ht=0,Oe=0,Be=Ge.length,Qe=0;Qe>1;V(Je,Ke,Be,nt,ht,Oe%2),j(Je,Ke,Ge,nt,Be-1,Oe+1),j(Je,Ke,Ge,Be+1,ht,Oe+1)}}function V(Je,Ke,Ge,nt,ht,Oe){for(;ht>nt;){if(ht-nt>600){var Be=ht-nt+1,Qe=Ge-nt+1,ut=Math.log(Be),pt=.5*Math.exp(2*ut/3),bt=.5*Math.sqrt(ut*pt*(Be-pt)/Be)*(Qe-Be/2<0?-1:1);V(Je,Ke,Ge,Math.max(nt,Math.floor(Ge-Qe*pt/Be+bt)),Math.min(ht,Math.floor(Ge+(Be-Qe)*pt/Be+bt)),Oe)}var Lt=Ke[2*Ge+Oe],Ct=nt,mt=ht;for(H(Je,Ke,nt,Ge),Ke[2*ht+Oe]>Lt&&H(Je,Ke,nt,ht);CtLt;)mt--}Ke[2*nt+Oe]===Lt?H(Je,Ke,nt,mt):H(Je,Ke,++mt,ht),mt<=Ge&&(nt=mt+1),Ge<=mt&&(ht=mt-1)}}function H(Je,Ke,Ge,nt){ee(Je,Ge,nt),ee(Ke,2*Ge,2*nt),ee(Ke,2*Ge+1,2*nt+1)}function ee(Je,Ke,Ge){var nt=Je[Ke];Je[Ke]=Je[Ge],Je[Ge]=nt}function Q(Je,Ke,Ge,nt){var ht=Je-Ge,Oe=Ke-nt;return ht*ht+Oe*Oe}h.fromVectorTileJs=M,h.fromGeojsonVt=A,h.GeoJSONWrapper=C;var X=function(Je){return Je[0]},Y=function(Je){return Je[1]},K=function(Je,Ke,Ge,nt,ht){Ke===void 0&&(Ke=X),Ge===void 0&&(Ge=Y),nt===void 0&&(nt=64),ht===void 0&&(ht=Float64Array),this.nodeSize=nt,this.points=Je;for(var Oe=Je.length<65536?Uint16Array:Uint32Array,Be=this.ids=new Oe(Je.length),Qe=this.coords=new ht(2*Je.length),ut=0;ut=Be&&Lt<=ut&&Ct>=Qe&&Ct<=pt&&Ot.push(ht[Wt]);else{var Gt=Math.floor((Bt+Pt)/2);Lt=Oe[2*Gt],Ct=Oe[2*Gt+1],Lt>=Be&&Lt<=ut&&Ct>=Qe&&Ct<=pt&&Ot.push(ht[Gt]);var Xt=(_t+1)%2;(_t===0?Be<=Lt:Qe<=Ct)&&(mt.push(Bt),mt.push(Gt-1),mt.push(Xt)),(_t===0?ut>=Lt:pt>=Ct)&&(mt.push(Gt+1),mt.push(Pt),mt.push(Xt))}}return Ot}(this.ids,this.coords,Je,Ke,Ge,nt,this.nodeSize)},K.prototype.within=function(Je,Ke,Ge){return function(nt,ht,Oe,Be,Qe,ut){for(var pt=[0,nt.length-1,0],bt=[],Lt=Qe*Qe;pt.length;){var Ct=pt.pop(),mt=pt.pop(),Ot=pt.pop();if(mt-Ot<=ut)for(var _t=Ot;_t<=mt;_t++)Q(ht[2*_t],ht[2*_t+1],Oe,Be)<=Lt&&bt.push(nt[_t]);else{var Pt=Math.floor((Ot+mt)/2),Bt=ht[2*Pt],Wt=ht[2*Pt+1];Q(Bt,Wt,Oe,Be)<=Lt&&bt.push(nt[Pt]);var Gt=(Ct+1)%2;(Ct===0?Oe-Qe<=Bt:Be-Qe<=Wt)&&(pt.push(Ot),pt.push(Pt-1),pt.push(Gt)),(Ct===0?Oe+Qe>=Bt:Be+Qe>=Wt)&&(pt.push(Pt+1),pt.push(mt),pt.push(Gt))}}return bt}(this.ids,this.coords,Je,Ke,Ge,this.nodeSize)};var te={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(Je){return Je}},ie=function(Je){this.options=he(Object.create(te),Je),this.trees=new Array(this.options.maxZoom+1)};function oe(Je,Ke,Ge,nt,ht){return{x:Je,y:Ke,zoom:1/0,id:Ge,parentId:-1,numPoints:nt,properties:ht}}function se(Je,Ke){var Ge=Je.geometry.coordinates,nt=Ge[0],ht=Ge[1];return{x:pe(nt),y:de(ht),zoom:1/0,index:Ke,parentId:-1}}function ce(Je){return{type:"Feature",id:Je.id,properties:xe(Je),geometry:{type:"Point",coordinates:[(nt=Je.x,360*(nt-.5)),(Ke=Je.y,Ge=(180-360*Ke)*Math.PI/180,360*Math.atan(Math.exp(Ge))/Math.PI-90)]}};var Ke,Ge,nt}function xe(Je){var Ke=Je.numPoints,Ge=Ke>=1e4?Math.round(Ke/1e3)+"k":Ke>=1e3?Math.round(Ke/100)/10+"k":Ke;return he(he({},Je.properties),{cluster:!0,cluster_id:Je.id,point_count:Ke,point_count_abbreviated:Ge})}function pe(Je){return Je/360+.5}function de(Je){var Ke=Math.sin(Je*Math.PI/180),Ge=.5-.25*Math.log((1+Ke)/(1-Ke))/Math.PI;return Ge<0?0:Ge>1?1:Ge}function he(Je,Ke){for(var Ge in Ke)Je[Ge]=Ke[Ge];return Je}function ye(Je){return Je.x}function ze(Je){return Je.y}function Te(Je,Ke,Ge,nt){for(var ht,Oe=nt,Be=Ge-Ke>>1,Qe=Ge-Ke,ut=Je[Ke],pt=Je[Ke+1],bt=Je[Ge],Lt=Je[Ge+1],Ct=Ke+3;CtOe)ht=Ct,Oe=mt;else if(mt===Oe){var Ot=Math.abs(Ct-Be);Otnt&&(ht-Ke>3&&Te(Je,Ke,ht,nt),Je[ht+2]=Oe,Ge-ht>3&&Te(Je,ht,Ge,nt))}function Ae(Je,Ke,Ge,nt,ht,Oe){var Be=ht-Ge,Qe=Oe-nt;if(Be!==0||Qe!==0){var ut=((Je-Ge)*Be+(Ke-nt)*Qe)/(Be*Be+Qe*Qe);ut>1?(Ge=ht,nt=Oe):ut>0&&(Ge+=Be*ut,nt+=Qe*ut)}return(Be=Je-Ge)*Be+(Qe=Ke-nt)*Qe}function Me(Je,Ke,Ge,nt){var ht={id:Je===void 0?null:Je,type:Ke,geometry:Ge,tags:nt,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(Oe){var Be=Oe.geometry,Qe=Oe.type;if(Qe==="Point"||Qe==="MultiPoint"||Qe==="LineString")Ce(Oe,Be);else if(Qe==="Polygon"||Qe==="MultiLineString")for(var ut=0;ut0&&(Be+=nt?(ht*pt-ut*Oe)/2:Math.sqrt(Math.pow(ut-ht,2)+Math.pow(pt-Oe,2))),ht=ut,Oe=pt}var bt=Ke.length-3;Ke[2]=1,Te(Ke,0,bt,Ge),Ke[bt+2]=1,Ke.size=Math.abs(Be),Ke.start=0,Ke.end=Ke.size}function we(Je,Ke,Ge,nt){for(var ht=0;ht1?1:Ge}function De(Je,Ke,Ge,nt,ht,Oe,Be,Qe){if(nt/=Ke,Oe>=(Ge/=Ke)&&Be=nt)return null;for(var ut=[],pt=0;pt=Ge&&Ot=nt)){var _t=[];if(Ct==="Point"||Ct==="MultiPoint")je(Lt,_t,Ge,nt,ht);else if(Ct==="LineString")ge(Lt,_t,Ge,nt,ht,!1,Qe.lineMetrics);else if(Ct==="MultiLineString")Se(Lt,_t,Ge,nt,ht,!1);else if(Ct==="Polygon")Se(Lt,_t,Ge,nt,ht,!0);else if(Ct==="MultiPolygon")for(var Pt=0;Pt=Ge&&Be<=nt&&(Ke.push(Je[Oe]),Ke.push(Je[Oe+1]),Ke.push(Je[Oe+2]))}}function ge(Je,Ke,Ge,nt,ht,Oe,Be){for(var Qe,ut,pt=be(Je),bt=ht===0?Ye:Ze,Lt=Je.start,Ct=0;CtGe&&(ut=bt(pt,mt,Ot,Pt,Bt,Ge),Be&&(pt.start=Lt+Qe*ut)):Wt>nt?Gt=Ge&&(ut=bt(pt,mt,Ot,Pt,Bt,Ge),Xt=!0),Gt>nt&&Wt<=nt&&(ut=bt(pt,mt,Ot,Pt,Bt,nt),Xt=!0),!Oe&&Xt&&(Be&&(pt.end=Lt+Qe*ut),Ke.push(pt),pt=be(Je)),Be&&(Lt+=Qe)}var Kt=Je.length-3;mt=Je[Kt],Ot=Je[Kt+1],_t=Je[Kt+2],(Wt=ht===0?mt:Ot)>=Ge&&Wt<=nt&&Ne(pt,mt,Ot,_t),Kt=pt.length-3,Oe&&Kt>=3&&(pt[Kt]!==pt[0]||pt[Kt+1]!==pt[1])&&Ne(pt,pt[0],pt[1],pt[2]),pt.length&&Ke.push(pt)}function be(Je){var Ke=[];return Ke.size=Je.size,Ke.start=Je.start,Ke.end=Je.end,Ke}function Se(Je,Ke,Ge,nt,ht,Oe){for(var Be=0;BeBe.maxX&&(Be.maxX=bt),Lt>Be.maxY&&(Be.maxY=Lt)}return Be}function Tt(Je,Ke,Ge,nt){var ht=Ke.geometry,Oe=Ke.type,Be=[];if(Oe==="Point"||Oe==="MultiPoint")for(var Qe=0;Qe0&&Ke.size<(ht?Be:nt))Ge.numPoints+=Ke.length/3;else{for(var Qe=[],ut=0;utBe)&&(Ge.numSimplified++,Qe.push(Ke[ut]),Qe.push(Ke[ut+1])),Ge.numPoints++;ht&&function(pt,bt){for(var Lt=0,Ct=0,mt=pt.length,Ot=mt-2;Ct0===bt)for(Ct=0,mt=pt.length;Ct24)throw new Error("maxZoom should be in the 0-24 range");if(Ke.promoteId&&Ke.generateId)throw new Error("promoteId and generateId cannot be used together.");var nt=function(ht,Oe){var Be=[];if(ht.type==="FeatureCollection")for(var Qe=0;Qe=nt;pt--){var bt=+Date.now();Qe=this._cluster(Qe,pt),this.trees[pt]=new K(Qe,ye,ze,Oe,Float32Array),Ge&&console.log("z%d: %d clusters in %dms",pt,Qe.length,+Date.now()-bt)}return Ge&&console.timeEnd("total time"),this},ie.prototype.getClusters=function(Je,Ke){var Ge=((Je[0]+180)%360+360)%360-180,nt=Math.max(-90,Math.min(90,Je[1])),ht=Je[2]===180?180:((Je[2]+180)%360+360)%360-180,Oe=Math.max(-90,Math.min(90,Je[3]));if(Je[2]-Je[0]>=360)Ge=-180,ht=180;else if(Ge>ht){var Be=this.getClusters([Ge,nt,180,Oe],Ke),Qe=this.getClusters([-180,nt,ht,Oe],Ke);return Be.concat(Qe)}for(var ut=this.trees[this._limitZoom(Ke)],pt=[],bt=0,Lt=ut.range(pe(Ge),de(Oe),pe(ht),de(nt));bt1?this._map(pt,!0):null,Pt=(ut<<5)+(Ke+1)+this.points.length,Bt=0,Wt=Lt;Bt>5},ie.prototype._getOriginZoom=function(Je){return(Je-this.points.length)%32},ie.prototype._map=function(Je,Ke){if(Je.numPoints)return Ke?he({},Je.properties):Je.properties;var Ge=this.points[Je.index].properties,nt=this.options.map(Ge);return Ke&&nt===Ge?he({},nt):nt},Dt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Dt.prototype.splitTile=function(Je,Ke,Ge,nt,ht,Oe,Be){for(var Qe=[Je,Ke,Ge,nt],ut=this.options,pt=ut.debug;Qe.length;){nt=Qe.pop(),Ge=Qe.pop(),Ke=Qe.pop(),Je=Qe.pop();var bt=1<1&&console.time("creation"),Ct=this.tiles[Lt]=Et(Je,Ke,Ge,nt,ut),this.tileCoords.push({z:Ke,x:Ge,y:nt}),pt)){pt>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",Ke,Ge,nt,Ct.numFeatures,Ct.numPoints,Ct.numSimplified),console.timeEnd("creation"));var mt="z"+Ke;this.stats[mt]=(this.stats[mt]||0)+1,this.total++}if(Ct.source=Je,ht){if(Ke===ut.maxZoom||Ke===ht)continue;var Ot=1<1&&console.time("clipping");var _t,Pt,Bt,Wt,Gt,Xt,Kt=.5*ut.buffer/ut.extent,nn=.5-Kt,yn=.5+Kt,ln=1+Kt;_t=Pt=Bt=Wt=null,Gt=De(Je,bt,Ge-Kt,Ge+yn,0,Ct.minX,Ct.maxX,ut),Xt=De(Je,bt,Ge+nn,Ge+ln,0,Ct.minX,Ct.maxX,ut),Je=null,Gt&&(_t=De(Gt,bt,nt-Kt,nt+yn,1,Ct.minY,Ct.maxY,ut),Pt=De(Gt,bt,nt+nn,nt+ln,1,Ct.minY,Ct.maxY,ut),Gt=null),Xt&&(Bt=De(Xt,bt,nt-Kt,nt+yn,1,Ct.minY,Ct.maxY,ut),Wt=De(Xt,bt,nt+nn,nt+ln,1,Ct.minY,Ct.maxY,ut),Xt=null),pt>1&&console.timeEnd("clipping"),Qe.push(_t||[],Ke+1,2*Ge,2*nt),Qe.push(Pt||[],Ke+1,2*Ge,2*nt+1),Qe.push(Bt||[],Ke+1,2*Ge+1,2*nt),Qe.push(Wt||[],Ke+1,2*Ge+1,2*nt+1)}}},Dt.prototype.getTile=function(Je,Ke,Ge){var nt=this.options,ht=nt.extent,Oe=nt.debug;if(Je<0||Je>24)return null;var Be=1<1&&console.log("drilling down to z%d-%d-%d",Je,Ke,Ge);for(var ut,pt=Je,bt=Ke,Lt=Ge;!ut&&pt>0;)pt--,bt=Math.floor(bt/2),Lt=Math.floor(Lt/2),ut=this.tiles[It(pt,bt,Lt)];return ut&&ut.source?(Oe>1&&console.log("found parent tile z%d-%d-%d",pt,bt,Lt),Oe>1&&console.time("drilling down"),this.splitTile(ut.source,pt,bt,Lt,Je,Ke,Ge),Oe>1&&console.timeEnd("drilling down"),this.tiles[Qe]?ft(this.tiles[Qe],ht):null):null};var qt=function(Je){function Ke(Ge,nt,ht,Oe){Je.call(this,Ge,nt,ht,Ft),Oe&&(this.loadGeoJSON=Oe)}return Je&&(Ke.__proto__=Je),Ke.prototype=Object.create(Je&&Je.prototype),Ke.prototype.constructor=Ke,Ke.prototype.loadData=function(Ge,nt){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=nt,this._pendingLoadDataParams=Ge,this._state&&this._state!=="Idle"?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},Ke.prototype._loadData=function(){var Ge=this;if(this._pendingCallback&&this._pendingLoadDataParams){var nt=this._pendingCallback,ht=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var Oe=!!(ht&&ht.request&&ht.request.collectResourceTiming)&&new s.RequestPerformance(ht.request);this.loadGeoJSON(ht,function(Be,Qe){if(Be||!Qe)return nt(Be);if(typeof Qe!="object")return nt(new Error("Input data given to '"+ht.source+"' is not a valid GeoJSON object."));u(Qe,!0);try{Ge._geoJSONIndex=ht.cluster?new ie(function(bt){var Lt=bt.superclusterOptions,Ct=bt.clusterProperties;if(!Ct||!Lt)return Lt;for(var mt={},Ot={},_t={accumulated:null,zoom:0},Pt={properties:null},Bt=Object.keys(Ct),Wt=0,Gt=Bt;Wt=0?0:q.button},m.remove=function(q){q.parentNode&&q.parentNode.removeChild(q)};var p=function(q){function $(){q.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new s.RGBAImage({width:1,height:1}),this.dirty=!0}return q&&($.__proto__=q),$.prototype=Object.create(q&&q.prototype),$.prototype.constructor=$,$.prototype.isLoaded=function(){return this.loaded},$.prototype.setLoaded=function(W){if(this.loaded!==W&&(this.loaded=W,W)){for(var ae=0,_e=this.requestors;ae<_e.length;ae+=1){var Re=_e[ae],He=Re.ids,Xe=Re.callback;this._notify(He,Xe)}this.requestors=[]}},$.prototype.getImage=function(W){return this.images[W]},$.prototype.addImage=function(W,ae){this._validate(W,ae)&&(this.images[W]=ae)},$.prototype._validate=function(W,ae){var _e=!0;return this._validateStretch(ae.stretchX,ae.data&&ae.data.width)||(this.fire(new s.ErrorEvent(new Error('Image "'+W+'" has invalid "stretchX" value'))),_e=!1),this._validateStretch(ae.stretchY,ae.data&&ae.data.height)||(this.fire(new s.ErrorEvent(new Error('Image "'+W+'" has invalid "stretchY" value'))),_e=!1),this._validateContent(ae.content,ae)||(this.fire(new s.ErrorEvent(new Error('Image "'+W+'" has invalid "content" value'))),_e=!1),_e},$.prototype._validateStretch=function(W,ae){if(!W)return!0;for(var _e=0,Re=0,He=W;Re=0?1.2:1))}function b(q,$,W,ae,_e,Re,He){for(var Xe=0;Xe<$;Xe++){for(var at=0;at65535)wt(new Error("glyphs > 65535 not supported"));else if(ve.ranges[Fe])wt(null,{stack:At,id:re,glyph:Le});else{var Ve=ve.requests[Fe];Ve||(Ve=ve.requests[Fe]=[],y.loadGlyphRange(At,Fe,W.url,W.requestManager,function(We,$e){if($e){for(var tt in $e)W._doesCharSupportLocalGlyph(+tt)||(ve.glyphs[+tt]=$e[+tt]);ve.ranges[Fe]=!0}for(var lt=0,gt=Ve;lt1&&(at=q[++Xe]);var At=Math.abs(wt-at.left),re=Math.abs(wt-at.right),ve=Math.min(At,re),Le=void 0,Fe=_e/W*(ae+1);if(at.isDash){var Ve=ae-Math.abs(Fe);Le=Math.sqrt(ve*ve+Ve*Ve)}else Le=ae-Math.sqrt(ve*ve+Fe*Fe);this.data[He+wt]=Math.max(0,Math.min(255,Le+128))}},C.prototype.addRegularDash=function(q){for(var $=q.length-1;$>=0;--$){var W=q[$],ae=q[$+1];W.zeroLength?q.splice($,1):ae&&ae.isDash===W.isDash&&(ae.left=W.left,q.splice($,1))}var _e=q[0],Re=q[q.length-1];_e.isDash===Re.isDash&&(_e.left=Re.left-this.width,Re.right=_e.right+this.width);for(var He=this.width*this.nextRow,Xe=0,at=q[Xe],wt=0;wt1&&(at=q[++Xe]);var At=Math.abs(wt-at.left),re=Math.abs(wt-at.right),ve=Math.min(At,re),Le=at.isDash?ve:-ve;this.data[He+wt]=Math.max(0,Math.min(255,Le+128))}},C.prototype.addDash=function(q,$){var W=$?7:0,ae=2*W+1;if(this.nextRow+ae>this.height)return s.warnOnce("LineAtlas out of space"),null;for(var _e=0,Re=0;Re=W&&q.x<_e&&q.y>=ae&&q.y0&&(wt[new s.OverscaledTileID(W.overscaledZ,He,ae.z,Re,ae.y-1).key]={backfilled:!1},wt[new s.OverscaledTileID(W.overscaledZ,W.wrap,ae.z,ae.x,ae.y-1).key]={backfilled:!1},wt[new s.OverscaledTileID(W.overscaledZ,at,ae.z,Xe,ae.y-1).key]={backfilled:!1}),ae.y+1<_e&&(wt[new s.OverscaledTileID(W.overscaledZ,He,ae.z,Re,ae.y+1).key]={backfilled:!1},wt[new s.OverscaledTileID(W.overscaledZ,W.wrap,ae.z,ae.x,ae.y+1).key]={backfilled:!1},wt[new s.OverscaledTileID(W.overscaledZ,at,ae.z,Xe,ae.y+1).key]={backfilled:!1}),wt},$.prototype.unloadTile=function(W){W.demTexture&&this.map.painter.saveTileTexture(W.demTexture),W.fbo&&(W.fbo.destroy(),delete W.fbo),W.dem&&delete W.dem,delete W.neighboringTiles,W.state="unloaded",W.actor&&W.actor.send("removeDEMTile",{uid:W.uid,source:this.id})},$}(U),G=function(q){function $(W,ae,_e,Re){q.call(this),this.id=W,this.type="geojson",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._loaded=!1,this.actor=_e.getActor(),this.setEventedParent(Re),this._data=ae.data,this._options=s.extend({},ae),this._collectResourceTiming=ae.collectResourceTiming,this._resourceTiming=[],ae.maxzoom!==void 0&&(this.maxzoom=ae.maxzoom),ae.type&&(this.type=ae.type),ae.attribution&&(this.attribution=ae.attribution),this.promoteId=ae.promoteId;var He=s.EXTENT/this.tileSize;this.workerOptions=s.extend({source:this.id,cluster:ae.cluster||!1,geojsonVtOptions:{buffer:(ae.buffer!==void 0?ae.buffer:128)*He,tolerance:(ae.tolerance!==void 0?ae.tolerance:.375)*He,extent:s.EXTENT,maxZoom:this.maxzoom,lineMetrics:ae.lineMetrics||!1,generateId:ae.generateId||!1},superclusterOptions:{maxZoom:ae.clusterMaxZoom!==void 0?Math.min(ae.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:s.EXTENT,radius:(ae.clusterRadius||50)*He,log:!1,generateId:ae.generateId||!1},clusterProperties:ae.clusterProperties},ae.workerOptions)}return q&&($.__proto__=q),$.prototype=Object.create(q&&q.prototype),$.prototype.constructor=$,$.prototype.load=function(){var W=this;this.fire(new s.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(ae){if(ae)W.fire(new s.ErrorEvent(ae));else{var _e={dataType:"source",sourceDataType:"metadata"};W._collectResourceTiming&&W._resourceTiming&&W._resourceTiming.length>0&&(_e.resourceTiming=W._resourceTiming,W._resourceTiming=[]),W.fire(new s.Event("data",_e))}})},$.prototype.onAdd=function(W){this.map=W,this.load()},$.prototype.setData=function(W){var ae=this;return this._data=W,this.fire(new s.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(_e){if(_e)ae.fire(new s.ErrorEvent(_e));else{var Re={dataType:"source",sourceDataType:"content"};ae._collectResourceTiming&&ae._resourceTiming&&ae._resourceTiming.length>0&&(Re.resourceTiming=ae._resourceTiming,ae._resourceTiming=[]),ae.fire(new s.Event("data",Re))}}),this},$.prototype.getClusterExpansionZoom=function(W,ae){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:W,source:this.id},ae),this},$.prototype.getClusterChildren=function(W,ae){return this.actor.send("geojson.getClusterChildren",{clusterId:W,source:this.id},ae),this},$.prototype.getClusterLeaves=function(W,ae,_e,Re){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:W,limit:ae,offset:_e},Re),this},$.prototype._updateWorkerData=function(W){var ae=this;this._loaded=!1;var _e=s.extend({},this.workerOptions),Re=this._data;typeof Re=="string"?(_e.request=this.map._requestManager.transformRequest(s.browser.resolveURL(Re),s.ResourceType.Source),_e.request.collectResourceTiming=this._collectResourceTiming):_e.data=JSON.stringify(Re),this.actor.send(this.type+".loadData",_e,function(He,Xe){ae._removed||Xe&&Xe.abandoned||(ae._loaded=!0,Xe&&Xe.resourceTiming&&Xe.resourceTiming[ae.id]&&(ae._resourceTiming=Xe.resourceTiming[ae.id].slice(0)),ae.actor.send(ae.type+".coalesce",{source:_e.source},null),W(He))})},$.prototype.loaded=function(){return this._loaded},$.prototype.loadTile=function(W,ae){var _e=this,Re=W.actor?"reloadTile":"loadTile";W.actor=this.actor;var He={type:this.type,uid:W.uid,tileID:W.tileID,zoom:W.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:s.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};W.request=this.actor.send(Re,He,function(Xe,at){return delete W.request,W.unloadVectorData(),W.aborted?ae(null):Xe?ae(Xe):(W.loadVectorData(at,_e.map.painter,Re==="reloadTile"),ae(null))})},$.prototype.abortTile=function(W){W.request&&(W.request.cancel(),delete W.request),W.aborted=!0},$.prototype.unloadTile=function(W){W.unloadVectorData(),this.actor.send("removeTile",{uid:W.uid,type:this.type,source:this.id})},$.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},$.prototype.serialize=function(){return s.extend({},this._options,{type:this.type,data:this._data})},$.prototype.hasTransition=function(){return!1},$}(s.Evented),N=s.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),j=function(q){function $(W,ae,_e,Re){q.call(this),this.id=W,this.dispatcher=_e,this.coordinates=ae.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(Re),this.options=ae}return q&&($.__proto__=q),$.prototype=Object.create(q&&q.prototype),$.prototype.constructor=$,$.prototype.load=function(W,ae){var _e=this;this._loaded=!1,this.fire(new s.Event("dataloading",{dataType:"source"})),this.url=this.options.url,s.getImage(this.map._requestManager.transformRequest(this.url,s.ResourceType.Image),function(Re,He){_e._loaded=!0,Re?_e.fire(new s.ErrorEvent(Re)):He&&(_e.image=He,W&&(_e.coordinates=W),ae&&ae(),_e._finishLoading())})},$.prototype.loaded=function(){return this._loaded},$.prototype.updateImage=function(W){var ae=this;return this.image&&W.url?(this.options.url=W.url,this.load(W.coordinates,function(){ae.texture=null}),this):this},$.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new s.Event("data",{dataType:"source",sourceDataType:"metadata"})))},$.prototype.onAdd=function(W){this.map=W,this.load()},$.prototype.setCoordinates=function(W){var ae=this;this.coordinates=W;var _e=W.map(s.MercatorCoordinate.fromLngLat);this.tileID=function(He){for(var Xe=1/0,at=1/0,wt=-1/0,At=-1/0,re=0,ve=He;reae.end(0)?this.fire(new s.ErrorEvent(new s.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+ae.start(0)+" and "+ae.end(0)+"-second mark."))):this.video.currentTime=W}},$.prototype.getVideo=function(){return this.video},$.prototype.onAdd=function(W){this.map||(this.map=W,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},$.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||this.video.readyState<2)){var W=this.map.painter.context,ae=W.gl;for(var _e in this.boundsBuffer||(this.boundsBuffer=W.createVertexBuffer(this._boundsArray,N.members)),this.boundsSegments||(this.boundsSegments=s.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(ae.LINEAR,ae.CLAMP_TO_EDGE),ae.texSubImage2D(ae.TEXTURE_2D,0,0,0,ae.RGBA,ae.UNSIGNED_BYTE,this.video)):(this.texture=new s.Texture(W,this.video,ae.RGBA),this.texture.bind(ae.LINEAR,ae.CLAMP_TO_EDGE)),this.tiles){var Re=this.tiles[_e];Re.state!=="loaded"&&(Re.state="loaded",Re.texture=this.texture)}}},$.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},$.prototype.hasTransition=function(){return this.video&&!this.video.paused},$}(j),H=function(q){function $(W,ae,_e,Re){q.call(this,W,ae,_e,Re),ae.coordinates?Array.isArray(ae.coordinates)&&ae.coordinates.length===4&&!ae.coordinates.some(function(He){return!Array.isArray(He)||He.length!==2||He.some(function(Xe){return typeof Xe!="number"})})||this.fire(new s.ErrorEvent(new s.ValidationError("sources."+W,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new s.ErrorEvent(new s.ValidationError("sources."+W,null,'missing required property "coordinates"'))),ae.animate&&typeof ae.animate!="boolean"&&this.fire(new s.ErrorEvent(new s.ValidationError("sources."+W,null,'optional "animate" property must be a boolean value'))),ae.canvas?typeof ae.canvas=="string"||ae.canvas instanceof s.window.HTMLCanvasElement||this.fire(new s.ErrorEvent(new s.ValidationError("sources."+W,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new s.ErrorEvent(new s.ValidationError("sources."+W,null,'missing required property "canvas"'))),this.options=ae,this.animate=ae.animate===void 0||ae.animate}return q&&($.__proto__=q),$.prototype=Object.create(q&&q.prototype),$.prototype.constructor=$,$.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof s.window.HTMLCanvasElement?this.options.canvas:s.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new s.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())},$.prototype.getCanvas=function(){return this.canvas},$.prototype.onAdd=function(W){this.map=W,this.load(),this.canvas&&this.animate&&this.play()},$.prototype.onRemove=function(){this.pause()},$.prototype.prepare=function(){var W=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,W=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,W=!0),!this._hasInvalidDimensions()&&Object.keys(this.tiles).length!==0){var ae=this.map.painter.context,_e=ae.gl;for(var Re in this.boundsBuffer||(this.boundsBuffer=ae.createVertexBuffer(this._boundsArray,N.members)),this.boundsSegments||(this.boundsSegments=s.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(W||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new s.Texture(ae,this.canvas,_e.RGBA,{premultiply:!0}),this.tiles){var He=this.tiles[Re];He.state!=="loaded"&&(He.state="loaded",He.texture=this.texture)}}},$.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},$.prototype.hasTransition=function(){return this._playing},$.prototype._hasInvalidDimensions=function(){for(var W=0,ae=[this.canvas.width,this.canvas.height];Wthis.max){var He=this._getAndRemoveByKey(this.order[0]);He&&this.onRemove(He)}return this},K.prototype.has=function(q){return q.wrapped().key in this.data},K.prototype.getAndRemove=function(q){return this.has(q)?this._getAndRemoveByKey(q.wrapped().key):null},K.prototype._getAndRemoveByKey=function(q){var $=this.data[q].shift();return $.timeout&&clearTimeout($.timeout),this.data[q].length===0&&delete this.data[q],this.order.splice(this.order.indexOf(q),1),$.value},K.prototype.getByKey=function(q){var $=this.data[q];return $?$[0].value:null},K.prototype.get=function(q){return this.has(q)?this.data[q.wrapped().key][0].value:null},K.prototype.remove=function(q,$){if(!this.has(q))return this;var W=q.wrapped().key,ae=$===void 0?0:this.data[W].indexOf($),_e=this.data[W][ae];return this.data[W].splice(ae,1),_e.timeout&&clearTimeout(_e.timeout),this.data[W].length===0&&delete this.data[W],this.onRemove(_e.value),this.order.splice(this.order.indexOf(W),1),this},K.prototype.setMaxSize=function(q){for(this.max=q;this.order.length>this.max;){var $=this._getAndRemoveByKey(this.order[0]);$&&this.onRemove($)}return this},K.prototype.filter=function(q){var $=[];for(var W in this.data)for(var ae=0,_e=this.data[W];ae<_e.length;ae+=1){var Re=_e[ae];q(Re.value)||$.push(Re)}for(var He=0,Xe=$;He1||(Math.abs(At)>1&&(Math.abs(At+ve)===1?At+=ve:Math.abs(At-ve)===1&&(At-=ve)),wt.dem&&at.dem&&(at.dem.backfillBorder(wt.dem,At,re),at.neighboringTiles&&at.neighboringTiles[Le]&&(at.neighboringTiles[Le].backfilled=!0)))}},$.prototype.getTile=function(W){return this.getTileByID(W.key)},$.prototype.getTileByID=function(W){return this._tiles[W]},$.prototype._retainLoadedChildren=function(W,ae,_e,Re){for(var He in this._tiles){var Xe=this._tiles[He];if(!(Re[He]||!Xe.hasData()||Xe.tileID.overscaledZ<=ae||Xe.tileID.overscaledZ>_e)){for(var at=Xe.tileID;Xe&&Xe.tileID.overscaledZ>ae+1;){var wt=Xe.tileID.scaledTo(Xe.tileID.overscaledZ-1);(Xe=this._tiles[wt.key])&&Xe.hasData()&&(at=wt)}for(var At=at;At.overscaledZ>ae;)if(W[(At=At.scaledTo(At.overscaledZ-1)).key]){Re[at.key]=at;break}}}},$.prototype.findLoadedParent=function(W,ae){if(W.key in this._loadedParentTiles){var _e=this._loadedParentTiles[W.key];return _e&&_e.tileID.overscaledZ>=ae?_e:null}for(var Re=W.overscaledZ-1;Re>=ae;Re--){var He=W.scaledTo(Re),Xe=this._getLoadedTile(He);if(Xe)return Xe}},$.prototype._getLoadedTile=function(W){var ae=this._tiles[W.key];return ae&&ae.hasData()?ae:this._cache.getByKey(W.wrapped().key)},$.prototype.updateCacheSize=function(W){var ae=(Math.ceil(W.width/this._source.tileSize)+1)*(Math.ceil(W.height/this._source.tileSize)+1),_e=Math.floor(5*ae),Re=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,_e):_e;this._cache.setMaxSize(Re)},$.prototype.handleWrapJump=function(W){var ae=(W-(this._prevLng===void 0?W:this._prevLng))/360,_e=Math.round(ae);if(this._prevLng=W,_e){var Re={};for(var He in this._tiles){var Xe=this._tiles[He];Xe.tileID=Xe.tileID.unwrapTo(Xe.tileID.wrap+_e),Re[Xe.tileID.key]=Xe}for(var at in this._tiles=Re,this._timers)clearTimeout(this._timers[at]),delete this._timers[at];for(var wt in this._tiles){var At=this._tiles[wt];this._setTileReloadTimer(wt,At)}}},$.prototype.update=function(W){var ae=this;if(this.transform=W,this._sourceLoaded&&!this._paused){var _e;this.updateCacheSize(W),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?_e=W.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(Vt){return new s.OverscaledTileID(Vt.canonical.z,Vt.wrap,Vt.canonical.z,Vt.canonical.x,Vt.canonical.y)}):(_e=W.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(_e=_e.filter(function(Vt){return ae._source.hasTile(Vt)}))):_e=[];var Re=W.coveringZoomLevel(this._source),He=Math.max(Re-$.maxOverzooming,this._source.minzoom),Xe=Math.max(Re+$.maxUnderzooming,this._source.minzoom),at=this._updateRetainedTiles(_e,Re);if(Be(this._source.type)){for(var wt={},At={},re=0,ve=Object.keys(at);rethis._source.maxzoom){var $e=Ve.children(this._source.maxzoom)[0],tt=this.getTile($e);if(tt&&tt.hasData()){_e[$e.key]=$e;continue}}else{var lt=Ve.children(this._source.maxzoom);if(_e[lt[0].key]&&_e[lt[1].key]&&_e[lt[2].key]&&_e[lt[3].key])continue}for(var gt=We.wasRequested(),zt=Ve.overscaledZ-1;zt>=He;--zt){var Ut=Ve.scaledTo(zt);if(Re[Ut.key]||(Re[Ut.key]=!0,!(We=this.getTile(Ut))&>&&(We=this._addTile(Ut)),We&&(_e[Ut.key]=Ut,gt=We.wasRequested(),We.hasData())))break}}}return _e},$.prototype._updateLoadedParentTileCache=function(){for(var W in this._loadedParentTiles={},this._tiles){for(var ae=[],_e=void 0,Re=this._tiles[W].tileID;Re.overscaledZ>0;){if(Re.key in this._loadedParentTiles){_e=this._loadedParentTiles[Re.key];break}ae.push(Re.key);var He=Re.scaledTo(Re.overscaledZ-1);if(_e=this._getLoadedTile(He))break;Re=He}for(var Xe=0,at=ae;Xe0||(ae.hasData()&&ae.state!=="reloading"?this._cache.add(ae.tileID,ae,ae.getExpiryTimeout()):(ae.aborted=!0,this._abortTile(ae),this._unloadTile(ae))))},$.prototype.clearTiles=function(){for(var W in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(W);this._cache.reset()},$.prototype.tilesIn=function(W,ae,_e){var Re=this,He=[],Xe=this.transform;if(!Xe)return He;for(var at=_e?Xe.getCameraQueryGeometry(W):W,wt=W.map(function(zt){return Xe.pointCoordinate(zt)}),At=at.map(function(zt){return Xe.pointCoordinate(zt)}),re=this.getIds(),ve=1/0,Le=1/0,Fe=-1/0,Ve=-1/0,We=0,$e=At;We<$e.length;We+=1){var tt=$e[We];ve=Math.min(ve,tt.x),Le=Math.min(Le,tt.y),Fe=Math.max(Fe,tt.x),Ve=Math.max(Ve,tt.y)}for(var lt=function(zt){var Ut=Re._tiles[re[zt]];if(!Ut.holdingForFade()){var Vt=Ut.tileID,Qt=Math.pow(2,Xe.zoom-Ut.tileID.overscaledZ),gn=ae*Ut.queryPadding*s.EXTENT/Ut.tileSize/Qt,en=[Vt.getTilePoint(new s.MercatorCoordinate(ve,Le)),Vt.getTilePoint(new s.MercatorCoordinate(Fe,Ve))];if(en[0].x-gn=0&&en[1].y+gn>=0){var sn=wt.map(function(Mn){return Vt.getTilePoint(Mn)}),rn=At.map(function(Mn){return Vt.getTilePoint(Mn)});He.push({tile:Ut,tileID:Vt,queryGeometry:sn,cameraQueryGeometry:rn,scale:Qt})}}},gt=0;gt=s.browser.now())return!0}return!1},$.prototype.setFeatureState=function(W,ae,_e){W=W||"_geojsonTileLayer",this._state.updateState(W,ae,_e)},$.prototype.removeFeatureState=function(W,ae,_e){W=W||"_geojsonTileLayer",this._state.removeFeatureState(W,ae,_e)},$.prototype.getFeatureState=function(W,ae){return W=W||"_geojsonTileLayer",this._state.getState(W,ae)},$.prototype.setDependencies=function(W,ae,_e){var Re=this._tiles[W];Re&&Re.setDependencies(ae,_e)},$.prototype.reloadTilesForDependencies=function(W,ae){for(var _e in this._tiles)this._tiles[_e].hasDependency(W,ae)&&this._reloadTile(_e,"reloading");this._cache.filter(function(Re){return!Re.hasDependency(W,ae)})},$}(s.Evented);function Oe(q,$){var W=Math.abs(2*q.wrap)-+(q.wrap<0),ae=Math.abs(2*$.wrap)-+($.wrap<0);return q.overscaledZ-$.overscaledZ||ae-W||$.canonical.y-q.canonical.y||$.canonical.x-q.canonical.x}function Be(q){return q==="raster"||q==="image"||q==="video"}function Qe(){return new s.window.Worker(kt.workerUrl)}ht.maxOverzooming=10,ht.maxUnderzooming=3;var ut="mapboxgl_preloaded_worker_pool",pt=function(){this.active={}};pt.prototype.acquire=function(q){if(!this.workers)for(this.workers=[];this.workers.length0?(ae-Re)/He:0;return this.points[_e].mult(1-Xe).add(this.points[$].mult(Xe))};var kn=function(q,$,W){var ae=this.boxCells=[],_e=this.circleCells=[];this.xCellCount=Math.ceil(q/W),this.yCellCount=Math.ceil($/W);for(var Re=0;Re=-$[0]&&W<=$[0]&&ae>=-$[1]&&ae<=$[1]}function hn(q,$,W,ae,_e,Re,He,Xe){var at=ae?q.textSizeData:q.iconSizeData,wt=s.evaluateSizeForZoom(at,W.transform.zoom),At=[256/W.width*2+1,256/W.height*2+1],re=ae?q.text.dynamicLayoutVertexArray:q.icon.dynamicLayoutVertexArray;re.clear();for(var ve=q.lineVertexArray,Le=ae?q.text.placedSymbolArray:q.icon.placedSymbolArray,Fe=W.transform.width/W.transform.height,Ve=!1,We=0;WeMath.abs(W.x-$.x)*ae?{useVertical:!0}:(q===s.WritingMode.vertical?$.yW.x)?{needsFlipping:!0}:null}function Nn(q,$,W,ae,_e,Re,He,Xe,at,wt,At,re,ve,Le){var Fe,Ve=$/24,We=q.lineOffsetX*Ve,$e=q.lineOffsetY*Ve;if(q.numGlyphs>1){var tt=q.glyphStartIndex+q.numGlyphs,lt=q.lineStartIndex,gt=q.lineStartIndex+q.lineLength,zt=In(Ve,Xe,We,$e,W,At,re,q,at,Re,ve);if(!zt)return{notEnoughRoom:!0};var Ut=on(zt.first.point,He).point,Vt=on(zt.last.point,He).point;if(ae&&!W){var Qt=Cn(q.writingMode,Ut,Vt,Le);if(Qt)return Qt}Fe=[zt.first];for(var gn=q.glyphStartIndex+1;gn0?Mn.point:Hn(re,rn,en,1,_e),an=Cn(q.writingMode,en,xn,Le);if(an)return an}var zn=qn(Ve*Xe.getoffsetX(q.glyphStartIndex),We,$e,W,At,re,q.segment,q.lineStartIndex,q.lineStartIndex+q.lineLength,at,Re,ve);if(!zn)return{notEnoughRoom:!0};Fe=[zn]}for(var Un=0,nr=Fe;Un0?1:-1,Fe=0;ae&&(Le*=-1,Fe=Math.PI),Le<0&&(Fe+=Math.PI);for(var Ve=Le>0?Xe+He:Xe+He+1,We=_e,$e=_e,tt=0,lt=0,gt=Math.abs(ve),zt=[];tt+lt<=gt;){if((Ve+=Le)=at)return null;if($e=We,zt.push(We),(We=re[Ve])===void 0){var Ut=new s.Point(wt.getx(Ve),wt.gety(Ve)),Vt=on(Ut,At);if(Vt.signedDistanceFromCamera>0)We=re[Ve]=Vt.point;else{var Qt=Ve-Le;We=Hn(tt===0?Re:new s.Point(wt.getx(Qt),wt.gety(Qt)),Ut,$e,gt-tt+1,At)}}tt+=lt,lt=$e.dist(We)}var gn=(gt-tt)/lt,en=We.sub($e),sn=en.mult(gn)._add($e);sn._add(en._unit()._perp()._mult(W*Le));var rn=Fe+Math.atan2(We.y-$e.y,We.x-$e.x);return zt.push(sn),{point:sn,angle:rn,path:zt}}kn.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},kn.prototype.insert=function(q,$,W,ae,_e){this._forEachCell($,W,ae,_e,this._insertBoxCell,this.boxUid++),this.boxKeys.push(q),this.bboxes.push($),this.bboxes.push(W),this.bboxes.push(ae),this.bboxes.push(_e)},kn.prototype.insertCircle=function(q,$,W,ae){this._forEachCell($-ae,W-ae,$+ae,W+ae,this._insertCircleCell,this.circleUid++),this.circleKeys.push(q),this.circles.push($),this.circles.push(W),this.circles.push(ae)},kn.prototype._insertBoxCell=function(q,$,W,ae,_e,Re){this.boxCells[_e].push(Re)},kn.prototype._insertCircleCell=function(q,$,W,ae,_e,Re){this.circleCells[_e].push(Re)},kn.prototype._query=function(q,$,W,ae,_e,Re){if(W<0||q>this.width||ae<0||$>this.height)return!_e&&[];var He=[];if(q<=0&&$<=0&&this.width<=W&&this.height<=ae){if(_e)return!0;for(var Xe=0;Xe0:He},kn.prototype._queryCircle=function(q,$,W,ae,_e){var Re=q-W,He=q+W,Xe=$-W,at=$+W;if(He<0||Re>this.width||at<0||Xe>this.height)return!ae&&[];var wt=[],At={hitTest:ae,circle:{x:q,y:$,radius:W},seenUids:{box:{},circle:{}}};return this._forEachCell(Re,Xe,He,at,this._queryCellCircle,wt,At,_e),ae?wt.length>0:wt},kn.prototype.query=function(q,$,W,ae,_e){return this._query(q,$,W,ae,!1,_e)},kn.prototype.hitTest=function(q,$,W,ae,_e){return this._query(q,$,W,ae,!0,_e)},kn.prototype.hitTestCircle=function(q,$,W,ae){return this._queryCircle(q,$,W,!0,ae)},kn.prototype._queryCell=function(q,$,W,ae,_e,Re,He,Xe){var at=He.seenUids,wt=this.boxCells[_e];if(wt!==null)for(var At=this.bboxes,re=0,ve=wt;re=At[Fe+0]&&ae>=At[Fe+1]&&(!Xe||Xe(this.boxKeys[Le]))){if(He.hitTest)return Re.push(!0),!0;Re.push({key:this.boxKeys[Le],x1:At[Fe],y1:At[Fe+1],x2:At[Fe+2],y2:At[Fe+3]})}}}var Ve=this.circleCells[_e];if(Ve!==null)for(var We=this.circles,$e=0,tt=Ve;$eHe*He+Xe*Xe},kn.prototype._circleAndRectCollide=function(q,$,W,ae,_e,Re,He){var Xe=(Re-ae)/2,at=Math.abs(q-(ae+Xe));if(at>Xe+W)return!1;var wt=(He-_e)/2,At=Math.abs($-(_e+wt));if(At>wt+W)return!1;if(at<=Xe||At<=wt)return!0;var re=at-Xe,ve=At-wt;return re*re+ve*ve<=W*W};var or=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function tr(q,$){for(var W=0;W=1;xn--)Mn.push(sn.path[xn]);for(var an=1;an0){for(var rr=Mn[0].clone(),wr=Mn[0].clone(),kr=1;kr=Qt.x&&wr.x<=gn.x&&rr.y>=Qt.y&&wr.y<=gn.y?[Mn]:wr.xgn.x||wr.ygn.y?[]:s.clipLine([Mn],Qt.x,Qt.y,gn.x,gn.y)}for(var mr=0,_r=nr;mr<_r.length;mr+=1){var Rr=_r[mr];en.reset(Rr,.25*Vt);var Jr;Jr=en.length<=.5*Vt?1:Math.ceil(en.paddedLength/zn)+1;for(var Kr=0;Kr=this.screenRightBoundary||aethis.screenBottomBoundary},ir.prototype.isInsideGrid=function(q,$,W,ae){return W>=0&&q=0&&$0?(this.prevPlacement&&this.prevPlacement.variableOffsets[re.crossTileID]&&this.prevPlacement.placements[re.crossTileID]&&this.prevPlacement.placements[re.crossTileID].text&&(Ve=this.prevPlacement.variableOffsets[re.crossTileID].anchor),this.variableOffsets[re.crossTileID]={textOffset:We,width:W,height:ae,anchor:q,textBoxScale:_e,prevAnchor:Ve},this.markUsedJustification(ve,q,re,Le),ve.allowVerticalPlacement&&(this.markUsedOrientation(ve,Le,re),this.placedOrientations[re.crossTileID]=Le),{shift:$e,placedGlyphBoxes:tt}):void 0},Qn.prototype.placeLayerBucketPart=function(q,$,W){var ae=this,_e=q.parameters,Re=_e.bucket,He=_e.layout,Xe=_e.posMatrix,at=_e.textLabelPlaneMatrix,wt=_e.labelToScreenMatrix,At=_e.textPixelRatio,re=_e.holdingForFade,ve=_e.collisionBoxArray,Le=_e.partiallyEvaluatedTextSize,Fe=_e.collisionGroup,Ve=He.get("text-optional"),We=He.get("icon-optional"),$e=He.get("text-allow-overlap"),tt=He.get("icon-allow-overlap"),lt=He.get("text-rotation-alignment")==="map",gt=He.get("text-pitch-alignment")==="map",zt=He.get("icon-text-fit")!=="none",Ut=He.get("symbol-z-order")==="viewport-y",Vt=$e&&(tt||!Re.hasIconData()||We),Qt=tt&&($e||!Re.hasTextData()||Ve);!Re.collisionArrays&&ve&&Re.deserializeCollisionBoxes(ve);var gn=function(an,zn){if(!$[an.crossTileID])if(re)ae.placements[an.crossTileID]=new mn(!1,!1,!1);else{var Un,nr=!1,rr=!1,wr=!0,kr=null,mr={box:null,offscreen:null},_r={box:null,offscreen:null},Rr=null,Jr=null,Kr=0,xr=0,zr=0;zn.textFeatureIndex?Kr=zn.textFeatureIndex:an.useRuntimeCollisionCircles&&(Kr=an.featureIndex),zn.verticalTextFeatureIndex&&(xr=zn.verticalTextFeatureIndex);var Wr=zn.textBox;if(Wr){var Gr=function(ai){var na=s.WritingMode.horizontal;if(Re.allowVerticalPlacement&&!ai&&ae.prevPlacement){var Ba=ae.prevPlacement.placedOrientations[an.crossTileID];Ba&&(ae.placedOrientations[an.crossTileID]=Ba,na=Ba,ae.markUsedOrientation(Re,na,an))}return na},ii=function(ai,na){if(Re.allowVerticalPlacement&&an.numVerticalGlyphVertices>0&&zn.verticalTextBox)for(var Ba=0,Jl=Re.writingModes;Ba0&&(ni=ni.filter(function(ai){return ai!==ui.anchor})).unshift(ui.anchor)}var ki=function(ai,na,Ba){for(var Jl=ai.x2-ai.x1,h1=ai.y2-ai.y1,gh=an.textBoxScale,p1=zt&&!tt?na:null,Wu={box:[],offscreen:!1},Yp=$e?2*ni.length:ni.length,Ec=0;Ec=ni.length,ku=ae.attemptAnchorPlacement(Zu,ai,Jl,h1,gh,lt,gt,At,Xe,Fe,d1,an,Re,Ba,p1);if(ku&&(Wu=ku.placedGlyphBoxes)&&Wu.box&&Wu.box.length){nr=!0,kr=ku.shift;break}}return Wu};ii(function(){return ki(Wr,zn.iconBox,s.WritingMode.horizontal)},function(){var ai=zn.verticalTextBox,na=mr&&mr.box&&mr.box.length;return Re.allowVerticalPlacement&&!na&&an.numVerticalGlyphVertices>0&&ai?ki(ai,zn.verticalIconBox,s.WritingMode.vertical):{box:null,offscreen:null}}),mr&&(nr=mr.box,wr=mr.offscreen);var Ii=Gr(mr&&mr.box);if(!nr&&ae.prevPlacement){var Ei=ae.prevPlacement.variableOffsets[an.crossTileID];Ei&&(ae.variableOffsets[an.crossTileID]=Ei,ae.markUsedJustification(Re,Ei.anchor,an,Ii))}}else{var wi=function(ai,na){var Ba=ae.collisionIndex.placeCollisionBox(ai,$e,At,Xe,Fe.predicate);return Ba&&Ba.box&&Ba.box.length&&(ae.markUsedOrientation(Re,na,an),ae.placedOrientations[an.crossTileID]=na),Ba};ii(function(){return wi(Wr,s.WritingMode.horizontal)},function(){var ai=zn.verticalTextBox;return Re.allowVerticalPlacement&&an.numVerticalGlyphVertices>0&&ai?wi(ai,s.WritingMode.vertical):{box:null,offscreen:null}}),Gr(mr&&mr.box&&mr.box.length)}}if(nr=(Un=mr)&&Un.box&&Un.box.length>0,wr=Un&&Un.offscreen,an.useRuntimeCollisionCircles){var Ai=Re.text.placedSymbolArray.get(an.centerJustifiedTextSymbolIndex),Ci=s.evaluateSizeForFeature(Re.textSizeData,Le,Ai),qi=He.get("text-padding"),_s=an.collisionCircleDiameter;Rr=ae.collisionIndex.placeCollisionCircles($e,Ai,Re.lineVertexArray,Re.glyphOffsetArray,Ci,Xe,at,wt,W,gt,Fe.predicate,_s,qi),nr=$e||Rr.circles.length>0&&!Rr.collisionDetected,wr=wr&&Rr.offscreen}if(zn.iconFeatureIndex&&(zr=zn.iconFeatureIndex),zn.iconBox){var ta=function(ai){var na=zt&&kr?Zn(ai,kr.x,kr.y,lt,gt,ae.transform.angle):ai;return ae.collisionIndex.placeCollisionBox(na,tt,At,Xe,Fe.predicate)};rr=_r&&_r.box&&_r.box.length&&zn.verticalIconBox?(Jr=ta(zn.verticalIconBox)).box.length>0:(Jr=ta(zn.iconBox)).box.length>0,wr=wr&&Jr.offscreen}var Yr=Ve||an.numHorizontalGlyphVertices===0&&an.numVerticalGlyphVertices===0,pa=We||an.numIconVertices===0;if(Yr||pa?pa?Yr||(rr=rr&&nr):nr=rr&&nr:rr=nr=rr&&nr,nr&&Un&&Un.box&&(_r&&_r.box&&xr?ae.collisionIndex.insertCollisionBox(Un.box,He.get("text-ignore-placement"),Re.bucketInstanceId,xr,Fe.ID):ae.collisionIndex.insertCollisionBox(Un.box,He.get("text-ignore-placement"),Re.bucketInstanceId,Kr,Fe.ID)),rr&&Jr&&ae.collisionIndex.insertCollisionBox(Jr.box,He.get("icon-ignore-placement"),Re.bucketInstanceId,zr,Fe.ID),Rr&&(nr&&ae.collisionIndex.insertCollisionCircles(Rr.circles,He.get("text-ignore-placement"),Re.bucketInstanceId,Kr,Fe.ID),W)){var wa=Re.bucketInstanceId,Ui=ae.collisionCircleArrays[wa];Ui===void 0&&(Ui=ae.collisionCircleArrays[wa]=new Ln);for(var ko=0;ko=0;--sn){var rn=en[sn];gn(Re.symbolInstances.get(rn),Re.collisionArrays[rn])}else for(var Mn=q.symbolInstanceStart;Mn=0&&(q.text.placedSymbolArray.get(at).crossTileID=_e>=0&&at!==_e?0:W.crossTileID)}},Qn.prototype.markUsedOrientation=function(q,$,W){for(var ae=$===s.WritingMode.horizontal||$===s.WritingMode.horizontalOnly?$:0,_e=$===s.WritingMode.vertical?$:0,Re=0,He=[W.leftJustifiedTextSymbolIndex,W.centerJustifiedTextSymbolIndex,W.rightJustifiedTextSymbolIndex];Re0||gt>0,gn=tt.numIconVertices>0,en=ae.placedOrientations[tt.crossTileID],sn=en===s.WritingMode.vertical,rn=en===s.WritingMode.horizontal||en===s.WritingMode.horizontalOnly;if(Qt){var Mn=Sn(Vt.text),xn=sn?pn:Mn;Le(q.text,lt,xn);var an=rn?pn:Mn;Le(q.text,gt,an);var zn=Vt.text.isHidden();[tt.rightJustifiedTextSymbolIndex,tt.centerJustifiedTextSymbolIndex,tt.leftJustifiedTextSymbolIndex].forEach(function(zr){zr>=0&&(q.text.placedSymbolArray.get(zr).hidden=zn||sn?1:0)}),tt.verticalPlacedTextSymbolIndex>=0&&(q.text.placedSymbolArray.get(tt.verticalPlacedTextSymbolIndex).hidden=zn||rn?1:0);var Un=ae.variableOffsets[tt.crossTileID];Un&&ae.markUsedJustification(q,Un.anchor,tt,en);var nr=ae.placedOrientations[tt.crossTileID];nr&&(ae.markUsedJustification(q,"left",tt,nr),ae.markUsedOrientation(q,nr,tt))}if(gn){var rr=Sn(Vt.icon),wr=!(re&&tt.verticalPlacedIconSymbolIndex&&sn);if(tt.placedIconSymbolIndex>=0){var kr=wr?rr:pn;Le(q.icon,tt.numIconVertices,kr),q.icon.placedSymbolArray.get(tt.placedIconSymbolIndex).hidden=Vt.icon.isHidden()}if(tt.verticalPlacedIconSymbolIndex>=0){var mr=wr?pn:rr;Le(q.icon,tt.numVerticalIconVertices,mr),q.icon.placedSymbolArray.get(tt.verticalPlacedIconSymbolIndex).hidden=Vt.icon.isHidden()}}if(q.hasIconCollisionBoxData()||q.hasTextCollisionBoxData()){var _r=q.collisionArrays[$e];if(_r){var Rr=new s.Point(0,0);if(_r.textBox||_r.verticalTextBox){var Jr=!0;if(at){var Kr=ae.variableOffsets[zt];Kr?(Rr=$n(Kr.anchor,Kr.width,Kr.height,Kr.textOffset,Kr.textBoxScale),wt&&Rr._rotate(At?ae.transform.angle:-ae.transform.angle)):Jr=!1}_r.textBox&&hr(q.textCollisionBox.collisionVertexArray,Vt.text.placed,!Jr||sn,Rr.x,Rr.y),_r.verticalTextBox&&hr(q.textCollisionBox.collisionVertexArray,Vt.text.placed,!Jr||rn,Rr.x,Rr.y)}var xr=!!(!rn&&_r.verticalIconBox);_r.iconBox&&hr(q.iconCollisionBox.collisionVertexArray,Vt.icon.placed,xr,re?Rr.x:0,re?Rr.y:0),_r.verticalIconBox&&hr(q.iconCollisionBox.collisionVertexArray,Vt.icon.placed,!xr,re?Rr.x:0,re?Rr.y:0)}}},Ve=0;Veq},Qn.prototype.setStale=function(){this.stale=!0};var tn=Math.pow(2,25),Pn=Math.pow(2,24),jt=Math.pow(2,17),Jt=Math.pow(2,16),un=Math.pow(2,9),Rn=Math.pow(2,8),On=Math.pow(2,1);function Sn(q){if(q.opacity===0&&!q.placed)return 0;if(q.opacity===1&&q.placed)return 4294967295;var $=q.placed?1:0,W=Math.floor(127*q.opacity);return W*tn+$*Pn+W*jt+$*Jt+W*un+$*Rn+W*On+$}var pn=0,bn=function(q){this._sortAcrossTiles=q.layout.get("symbol-z-order")!=="viewport-y"&&q.layout.get("symbol-sort-key").constantOr(1)!==void 0,this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};bn.prototype.continuePlacement=function(q,$,W,ae,_e){for(var Re=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var He=$[q[this._currentPlacementIndex]],Xe=this.placement.collisionIndex.transform.zoom;if(He.type==="symbol"&&(!He.minzoom||He.minzoom<=Xe)&&(!He.maxzoom||He.maxzoom>Xe)){if(this._inProgressLayer||(this._inProgressLayer=new bn(He)),this._inProgressLayer.continuePlacement(W[He.source],this.placement,this._showCollisionBoxes,He,Re))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},dn.prototype.commit=function(q){return this.placement.commit(q),this.placement};var vn=512/s.EXTENT/2,An=function(q,$,W){this.tileID=q,this.indexedSymbolInstances={},this.bucketInstanceId=W;for(var ae=0;ae<$.length;ae++){var _e=$.get(ae),Re=_e.key;this.indexedSymbolInstances[Re]||(this.indexedSymbolInstances[Re]=[]),this.indexedSymbolInstances[Re].push({crossTileID:_e.crossTileID,coord:this.getScaledCoordinates(_e,q)})}};An.prototype.getScaledCoordinates=function(q,$){var W=$.canonical.z-this.tileID.canonical.z,ae=vn/Math.pow(2,W);return{x:Math.floor(($.canonical.x*s.EXTENT+q.anchorX)*ae),y:Math.floor(($.canonical.y*s.EXTENT+q.anchorY)*ae)}},An.prototype.findMatches=function(q,$,W){for(var ae=this.tileID.canonical.z<$.canonical.z?1:Math.pow(2,this.tileID.canonical.z-$.canonical.z),_e=0;_eq.overscaledZ)for(var Xe in He){var at=He[Xe];at.tileID.isChildOf(q)&&at.findMatches($.symbolInstances,q,_e)}else{var wt=He[q.scaledTo(Number(Re)).key];wt&&wt.findMatches($.symbolInstances,q,_e)}}for(var At=0;At<$.symbolInstances.length;At++){var re=$.symbolInstances.get(At);re.crossTileID||(re.crossTileID=W.generate(),_e[re.crossTileID]=!0)}return this.indexes[q.overscaledZ]===void 0&&(this.indexes[q.overscaledZ]={}),this.indexes[q.overscaledZ][q.key]=new An(q,$.symbolInstances,$.bucketInstanceId),!0},Xn.prototype.removeBucketCrossTileIDs=function(q,$){for(var W in $.indexedSymbolInstances)for(var ae=0,_e=$.indexedSymbolInstances[W];ae<_e.length;ae+=1){var Re=_e[ae];delete this.usedCrossTileIDs[q][Re.crossTileID]}},Xn.prototype.removeStaleBuckets=function(q){var $=!1;for(var W in this.indexes){var ae=this.indexes[W];for(var _e in ae)q[ae[_e].bucketInstanceId]||(this.removeBucketCrossTileIDs(W,ae[_e]),delete ae[_e],$=!0)}return $};var er=function(){this.layerIndexes={},this.crossTileIDs=new Bn,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}};er.prototype.addLayer=function(q,$,W){var ae=this.layerIndexes[q.id];ae===void 0&&(ae=this.layerIndexes[q.id]=new Xn);var _e=!1,Re={};ae.handleWrapJump(W);for(var He=0,Xe=$;He1?"@2x":"",re=s.getJSON(Re.transformRequest(Re.normalizeSpriteURL(_e,At,".json"),s.ResourceType.SpriteJSON),function(Fe,Ve){re=null,wt||(wt=Fe,Xe=Ve,Le())}),ve=s.getImage(Re.transformRequest(Re.normalizeSpriteURL(_e,At,".png"),s.ResourceType.SpriteImage),function(Fe,Ve){ve=null,wt||(wt=Fe,at=Ve,Le())});function Le(){if(wt)He(wt);else if(Xe&&at){var Fe=s.browser.getImageData(at),Ve={};for(var We in Xe){var $e=Xe[We],tt=$e.width,lt=$e.height,gt=$e.x,zt=$e.y,Ut=$e.sdf,Vt=$e.pixelRatio,Qt=$e.stretchX,gn=$e.stretchY,en=$e.content,sn=new s.RGBAImage({width:tt,height:lt});s.RGBAImage.copy(Fe,sn,{x:gt,y:zt},{x:0,y:0},{width:tt,height:lt}),Ve[We]={data:sn,pixelRatio:Vt,sdf:Ut,stretchX:Qt,stretchY:gn,content:en}}He(null,Ve)}}return{cancel:function(){re&&(re.cancel(),re=null),ve&&(ve.cancel(),ve=null)}}}(W,this.map._requestManager,function(_e,Re){if(ae._spriteRequest=null,_e)ae.fire(new s.ErrorEvent(_e));else if(Re)for(var He in Re)ae.imageManager.addImage(He,Re[He]);ae.imageManager.setLoaded(!0),ae._availableImages=ae.imageManager.listImages(),ae.dispatcher.broadcast("setImages",ae._availableImages),ae.fire(new s.Event("data",{dataType:"style"}))})},$.prototype._validateLayer=function(W){var ae=this.sourceCaches[W.source];if(ae){var _e=W.sourceLayer;if(_e){var Re=ae.getSource();(Re.type==="geojson"||Re.vectorLayerIds&&Re.vectorLayerIds.indexOf(_e)===-1)&&this.fire(new s.ErrorEvent(new Error('Source layer "'+_e+'" does not exist on source "'+Re.id+'" as specified by style layer "'+W.id+'"')))}}},$.prototype.loaded=function(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(var W in this.sourceCaches)if(!this.sourceCaches[W].loaded())return!1;return!!this.imageManager.isLoaded()},$.prototype._serializeLayers=function(W){for(var ae=[],_e=0,Re=W;_e0)throw new Error("Unimplemented: "+Re.map(function(He){return He.command}).join(", ")+".");return _e.forEach(function(He){He.command!=="setTransition"&&ae[He.command].apply(ae,He.args)}),this.stylesheet=W,!0},$.prototype.addImage=function(W,ae){if(this.getImage(W))return this.fire(new s.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(W,ae),this._availableImages=this.imageManager.listImages(),this._changedImages[W]=!0,this._changed=!0,this.fire(new s.Event("data",{dataType:"style"}))},$.prototype.updateImage=function(W,ae){this.imageManager.updateImage(W,ae)},$.prototype.getImage=function(W){return this.imageManager.getImage(W)},$.prototype.removeImage=function(W){if(!this.getImage(W))return this.fire(new s.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(W),this._availableImages=this.imageManager.listImages(),this._changedImages[W]=!0,this._changed=!0,this.fire(new s.Event("data",{dataType:"style"}))},$.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},$.prototype.addSource=function(W,ae,_e){var Re=this;if(_e===void 0&&(_e={}),this._checkLoaded(),this.sourceCaches[W]!==void 0)throw new Error("There is already a source with this ID");if(!ae.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(ae).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(ae.type)>=0&&this._validate(s.validateStyle.source,"sources."+W,ae,null,_e))){this.map&&this.map._collectResourceTiming&&(ae.collectResourceTiming=!0);var He=this.sourceCaches[W]=new ht(W,ae,this.dispatcher);He.style=this,He.setEventedParent(this,function(){return{isSourceLoaded:Re.loaded(),source:He.serialize(),sourceId:W}}),He.onAdd(this.map),this._changed=!0}},$.prototype.removeSource=function(W){if(this._checkLoaded(),this.sourceCaches[W]===void 0)throw new Error("There is no source with this ID");for(var ae in this._layers)if(this._layers[ae].source===W)return this.fire(new s.ErrorEvent(new Error('Source "'+W+'" cannot be removed while layer "'+ae+'" is using it.')));var _e=this.sourceCaches[W];delete this.sourceCaches[W],delete this._updatedSources[W],_e.fire(new s.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:W})),_e.setEventedParent(null),_e.clearTiles(),_e.onRemove&&_e.onRemove(this.map),this._changed=!0},$.prototype.setGeoJSONSourceData=function(W,ae){this._checkLoaded(),this.sourceCaches[W].getSource().setData(ae),this._changed=!0},$.prototype.getSource=function(W){return this.sourceCaches[W]&&this.sourceCaches[W].getSource()},$.prototype.addLayer=function(W,ae,_e){_e===void 0&&(_e={}),this._checkLoaded();var Re=W.id;if(this.getLayer(Re))this.fire(new s.ErrorEvent(new Error('Layer with id "'+Re+'" already exists on this map')));else{var He;if(W.type==="custom"){if(Jn(this,s.validateCustomStyleLayer(W)))return;He=s.createStyleLayer(W)}else{if(typeof W.source=="object"&&(this.addSource(Re,W.source),W=s.clone$1(W),W=s.extend(W,{source:Re})),this._validate(s.validateStyle.layer,"layers."+Re,W,{arrayIndex:-1},_e))return;He=s.createStyleLayer(W),this._validateLayer(He),He.setEventedParent(this,{layer:{id:Re}}),this._serializedLayers[He.id]=He.serialize()}var Xe=ae?this._order.indexOf(ae):this._order.length;if(ae&&Xe===-1)this.fire(new s.ErrorEvent(new Error('Layer with id "'+ae+'" does not exist on this map.')));else{if(this._order.splice(Xe,0,Re),this._layerOrderChanged=!0,this._layers[Re]=He,this._removedLayers[Re]&&He.source&&He.type!=="custom"){var at=this._removedLayers[Re];delete this._removedLayers[Re],at.type!==He.type?this._updatedSources[He.source]="clear":(this._updatedSources[He.source]="reload",this.sourceCaches[He.source].pause())}this._updateLayer(He),He.onAdd&&He.onAdd(this.map)}}},$.prototype.moveLayer=function(W,ae){if(this._checkLoaded(),this._changed=!0,this._layers[W]){if(W!==ae){var _e=this._order.indexOf(W);this._order.splice(_e,1);var Re=ae?this._order.indexOf(ae):this._order.length;ae&&Re===-1?this.fire(new s.ErrorEvent(new Error('Layer with id "'+ae+'" does not exist on this map.'))):(this._order.splice(Re,0,W),this._layerOrderChanged=!0)}}else this.fire(new s.ErrorEvent(new Error("The layer '"+W+"' does not exist in the map's style and cannot be moved.")))},$.prototype.removeLayer=function(W){this._checkLoaded();var ae=this._layers[W];if(ae){ae.setEventedParent(null);var _e=this._order.indexOf(W);this._order.splice(_e,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[W]=ae,delete this._layers[W],delete this._serializedLayers[W],delete this._updatedLayers[W],delete this._updatedPaintProps[W],ae.onRemove&&ae.onRemove(this.map)}else this.fire(new s.ErrorEvent(new Error("The layer '"+W+"' does not exist in the map's style and cannot be removed.")))},$.prototype.getLayer=function(W){return this._layers[W]},$.prototype.hasLayer=function(W){return W in this._layers},$.prototype.setLayerZoomRange=function(W,ae,_e){this._checkLoaded();var Re=this.getLayer(W);Re?Re.minzoom===ae&&Re.maxzoom===_e||(ae!=null&&(Re.minzoom=ae),_e!=null&&(Re.maxzoom=_e),this._updateLayer(Re)):this.fire(new s.ErrorEvent(new Error("The layer '"+W+"' does not exist in the map's style and cannot have zoom extent.")))},$.prototype.setFilter=function(W,ae,_e){_e===void 0&&(_e={}),this._checkLoaded();var Re=this.getLayer(W);if(Re){if(!s.deepEqual(Re.filter,ae))return ae==null?(Re.filter=void 0,void this._updateLayer(Re)):void(this._validate(s.validateStyle.filter,"layers."+Re.id+".filter",ae,null,_e)||(Re.filter=s.clone$1(ae),this._updateLayer(Re)))}else this.fire(new s.ErrorEvent(new Error("The layer '"+W+"' does not exist in the map's style and cannot be filtered.")))},$.prototype.getFilter=function(W){return s.clone$1(this.getLayer(W).filter)},$.prototype.setLayoutProperty=function(W,ae,_e,Re){Re===void 0&&(Re={}),this._checkLoaded();var He=this.getLayer(W);He?s.deepEqual(He.getLayoutProperty(ae),_e)||(He.setLayoutProperty(ae,_e,Re),this._updateLayer(He)):this.fire(new s.ErrorEvent(new Error("The layer '"+W+"' does not exist in the map's style and cannot be styled.")))},$.prototype.getLayoutProperty=function(W,ae){var _e=this.getLayer(W);if(_e)return _e.getLayoutProperty(ae);this.fire(new s.ErrorEvent(new Error("The layer '"+W+"' does not exist in the map's style.")))},$.prototype.setPaintProperty=function(W,ae,_e,Re){Re===void 0&&(Re={}),this._checkLoaded();var He=this.getLayer(W);He?s.deepEqual(He.getPaintProperty(ae),_e)||(He.setPaintProperty(ae,_e,Re)&&this._updateLayer(He),this._changed=!0,this._updatedPaintProps[W]=!0):this.fire(new s.ErrorEvent(new Error("The layer '"+W+"' does not exist in the map's style and cannot be styled.")))},$.prototype.getPaintProperty=function(W,ae){return this.getLayer(W).getPaintProperty(ae)},$.prototype.setFeatureState=function(W,ae){this._checkLoaded();var _e=W.source,Re=W.sourceLayer,He=this.sourceCaches[_e];if(He!==void 0){var Xe=He.getSource().type;Xe==="geojson"&&Re?this.fire(new s.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):Xe!=="vector"||Re?(W.id===void 0&&this.fire(new s.ErrorEvent(new Error("The feature id parameter must be provided."))),He.setFeatureState(Re,W.id,ae)):this.fire(new s.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new s.ErrorEvent(new Error("The source '"+_e+"' does not exist in the map's style.")))},$.prototype.removeFeatureState=function(W,ae){this._checkLoaded();var _e=W.source,Re=this.sourceCaches[_e];if(Re!==void 0){var He=Re.getSource().type,Xe=He==="vector"?W.sourceLayer:void 0;He!=="vector"||Xe?ae&&typeof W.id!="string"&&typeof W.id!="number"?this.fire(new s.ErrorEvent(new Error("A feature id is requred to remove its specific state property."))):Re.removeFeatureState(Xe,W.id,ae):this.fire(new s.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new s.ErrorEvent(new Error("The source '"+_e+"' does not exist in the map's style.")))},$.prototype.getFeatureState=function(W){this._checkLoaded();var ae=W.source,_e=W.sourceLayer,Re=this.sourceCaches[ae];if(Re!==void 0){if(Re.getSource().type!=="vector"||_e)return W.id===void 0&&this.fire(new s.ErrorEvent(new Error("The feature id parameter must be provided."))),Re.getFeatureState(_e,W.id);this.fire(new s.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new s.ErrorEvent(new Error("The source '"+ae+"' does not exist in the map's style.")))},$.prototype.getTransition=function(){return s.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},$.prototype.serialize=function(){return s.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:s.mapObject(this.sourceCaches,function(W){return W.serialize()}),layers:this._serializeLayers(this._order)},function(W){return W!==void 0})},$.prototype._updateLayer=function(W){this._updatedLayers[W.id]=!0,W.source&&!this._updatedSources[W.source]&&this.sourceCaches[W.source].getSource().type!=="raster"&&(this._updatedSources[W.source]="reload",this.sourceCaches[W.source].pause()),this._changed=!0},$.prototype._flattenAndSortRenderedFeatures=function(W){for(var ae=this,_e=function(en){return ae._layers[en].type==="fill-extrusion"},Re={},He=[],Xe=this._order.length-1;Xe>=0;Xe--){var at=this._order[Xe];if(_e(at)){Re[at]=Xe;for(var wt=0,At=W;wt=0;We--){var $e=this._order[We];if(_e($e))for(var tt=He.length-1;tt>=0;tt--){var lt=He[tt].feature;if(Re[lt.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;}"),Mi=fi("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);}"),fa=fi("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);}"),Hi=fi(`#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);}`),xi=fi(`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;}`),Oa=fi(`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;}`),Ka=fi(`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);}`),Yo=fi(`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;}`),Ys=fi(`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;}`),Uu=fi(`#ifdef GL_ES +precision highp float; +#endif +uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;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 exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*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;}"),pu=fi(`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;}"),Xs=fi(`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);}`),Qa=fi(`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 float v_lineprogress; +#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,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,` +#define MAX_LINE_DISTANCE 32767.0 +#define scale 0.015873016 +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_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress; +#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;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;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);}`),du=fi(`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;}`),Qi=fi(`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);}`),ml=fi(`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;}"),qa=fi(`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));}`),eo=fi(`#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);}`),fs=fi(`#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 fi(q,$){var W=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,ae={};return{fragmentSource:q=q.replace(W,function(_e,Re,He,Xe,at){return ae[at]=!0,Re==="define"?` +#ifndef HAS_UNIFORM_u_`+at+` +varying `+He+" "+Xe+" "+at+`; +#else +uniform `+He+" "+Xe+" u_"+at+`; +#endif +`:` +#ifdef HAS_UNIFORM_u_`+at+` + `+He+" "+Xe+" "+at+" = u_"+at+`; +#endif +`}),vertexSource:$=$.replace(W,function(_e,Re,He,Xe,at){var wt=Xe==="float"?"vec2":"vec4",At=at.match(/color/)?"color":wt;return ae[at]?Re==="define"?` +#ifndef HAS_UNIFORM_u_`+at+` +uniform lowp float u_`+at+`_t; +attribute `+He+" "+wt+" a_"+at+`; +varying `+He+" "+Xe+" "+at+`; +#else +uniform `+He+" "+Xe+" u_"+at+`; +#endif +`:At==="vec4"?` +#ifndef HAS_UNIFORM_u_`+at+` + `+at+" = a_"+at+`; +#else + `+He+" "+Xe+" "+at+" = u_"+at+`; +#endif +`:` +#ifndef HAS_UNIFORM_u_`+at+` + `+at+" = unpack_mix_"+At+"(a_"+at+", u_"+at+`_t); +#else + `+He+" "+Xe+" "+at+" = u_"+at+`; +#endif +`:Re==="define"?` +#ifndef HAS_UNIFORM_u_`+at+` +uniform lowp float u_`+at+`_t; +attribute `+He+" "+wt+" a_"+at+`; +#else +uniform `+He+" "+Xe+" u_"+at+`; +#endif +`:At==="vec4"?` +#ifndef HAS_UNIFORM_u_`+at+` + `+He+" "+Xe+" "+at+" = a_"+at+`; +#else + `+He+" "+Xe+" "+at+" = u_"+at+`; +#endif +`:` +#ifndef HAS_UNIFORM_u_`+at+` + `+He+" "+Xe+" "+at+" = unpack_mix_"+At+"(a_"+at+", u_"+at+`_t); +#else + `+He+" "+Xe+" "+at+" = u_"+at+`; +#endif +`})}}var hs=Object.freeze({__proto__:null,prelude:Sr,background:Mr,backgroundPattern:Lr,circle:pr,clippingMask:Pr,heatmap:Hr,heatmapTexture:ci,collisionBox:Ti,collisionCircle:Mi,debug:fa,fill:Hi,fillOutline:xi,fillOutlinePattern:Oa,fillPattern:Ka,fillExtrusion:Yo,fillExtrusionPattern:Ys,hillshadePrepare:Uu,hillshade:pu,line:Xs,lineGradient:Qa,linePattern:du,lineSDF:Qi,raster:ml,symbolIcon:qa,symbolSDF:eo,symbolTextAndIcon:fs}),ao=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};ao.prototype.bind=function(q,$,W,ae,_e,Re,He,Xe){this.context=q;for(var at=this.boundPaintVertexBuffers.length!==ae.length,wt=0;!at&&wt>16,Xe>>16],u_pixel_coord_lower:[65535&He,65535&Xe]}}bo.prototype.draw=function(q,$,W,ae,_e,Re,He,Xe,at,wt,At,re,ve,Le,Fe,Ve){var We,$e=q.gl;if(!this.failedToCreate){for(var tt in q.program.set(this.program),q.setDepthMode(W),q.setStencilMode(ae),q.setColorMode(_e),q.setCullFace(Re),this.fixedUniforms)this.fixedUniforms[tt].set(He[tt]);Le&&Le.setUniforms(q,this.binderUniforms,re,{zoom:ve});for(var lt=(We={},We[$e.LINES]=2,We[$e.TRIANGLES]=3,We[$e.LINE_STRIP]=1,We)[$],gt=0,zt=At.get();gt0?1-1/(1.001-He):-He),u_contrast_factor:(Re=_e.paint.get("raster-contrast"),Re>0?1/(1-Re):1+Re),u_spin_weights:Ps(_e.paint.get("raster-hue-rotate"))};var Re,He};function Ps(q){q*=Math.PI/180;var $=Math.sin(q),W=Math.cos(q);return[(2*W+1)/3,(-Math.sqrt(3)*$-W+1)/3,(Math.sqrt(3)*$-W+1)/3]}var Qo,hi=function(q,$,W,ae,_e,Re,He,Xe,at,wt){var At=_e.transform;return{u_is_size_zoom_constant:+(q==="constant"||q==="source"),u_is_size_feature_constant:+(q==="constant"||q==="camera"),u_size_t:$?$.uSizeT:0,u_size:$?$.uSize:0,u_camera_to_center_distance:At.cameraToCenterDistance,u_pitch:At.pitch/360*2*Math.PI,u_rotate_symbol:+W,u_aspect_ratio:At.width/At.height,u_fade_change:_e.options.fadeDuration?_e.symbolFadeChange:1,u_matrix:Re,u_label_plane_matrix:He,u_coord_matrix:Xe,u_is_text:+at,u_pitch_with_map:+ae,u_texsize:wt,u_texture:0}},ds=function(q,$,W,ae,_e,Re,He,Xe,at,wt,At){var re=_e.transform;return s.extend(hi(q,$,W,ae,_e,Re,He,Xe,at,wt),{u_gamma_scale:ae?Math.cos(re._pitch)*re.cameraToCenterDistance:1,u_device_pixel_ratio:s.browser.devicePixelRatio,u_is_halo:+At})},Sc=function(q,$,W,ae,_e,Re,He,Xe,at,wt){return s.extend(ds(q,$,W,ae,_e,Re,He,Xe,!0,at,!0),{u_texsize_icon:wt,u_texture_icon:1})},Vl=function(q,$,W){return{u_matrix:q,u_opacity:$,u_color:W}},xl=function(q,$,W,ae,_e,Re){return s.extend(function(He,Xe,at,wt){var At=at.imageManager.getPattern(He.from.toString()),re=at.imageManager.getPattern(He.to.toString()),ve=at.imageManager.getPixelSize(),Le=ve.width,Fe=ve.height,Ve=Math.pow(2,wt.tileID.overscaledZ),We=wt.tileSize*Math.pow(2,at.transform.tileZoom)/Ve,$e=We*(wt.tileID.canonical.x+wt.tileID.wrap*Ve),tt=We*wt.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:At.tl,u_pattern_br_a:At.br,u_pattern_tl_b:re.tl,u_pattern_br_b:re.br,u_texsize:[Le,Fe],u_mix:Xe.t,u_pattern_size_a:At.displaySize,u_pattern_size_b:re.displaySize,u_scale_a:Xe.fromScale,u_scale_b:Xe.toScale,u_tile_units_to_pixels:1/dr(wt,1,at.transform.tileZoom),u_pixel_coord_upper:[$e>>16,tt>>16],u_pixel_coord_lower:[65535&$e,65535&tt]}}(ae,Re,W,_e),{u_matrix:q,u_opacity:$})},Os={fillExtrusion:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_lightpos:new s.Uniform3f(q,$.u_lightpos),u_lightintensity:new s.Uniform1f(q,$.u_lightintensity),u_lightcolor:new s.Uniform3f(q,$.u_lightcolor),u_vertical_gradient:new s.Uniform1f(q,$.u_vertical_gradient),u_opacity:new s.Uniform1f(q,$.u_opacity)}},fillExtrusionPattern:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_lightpos:new s.Uniform3f(q,$.u_lightpos),u_lightintensity:new s.Uniform1f(q,$.u_lightintensity),u_lightcolor:new s.Uniform3f(q,$.u_lightcolor),u_vertical_gradient:new s.Uniform1f(q,$.u_vertical_gradient),u_height_factor:new s.Uniform1f(q,$.u_height_factor),u_image:new s.Uniform1i(q,$.u_image),u_texsize:new s.Uniform2f(q,$.u_texsize),u_pixel_coord_upper:new s.Uniform2f(q,$.u_pixel_coord_upper),u_pixel_coord_lower:new s.Uniform2f(q,$.u_pixel_coord_lower),u_scale:new s.Uniform3f(q,$.u_scale),u_fade:new s.Uniform1f(q,$.u_fade),u_opacity:new s.Uniform1f(q,$.u_opacity)}},fill:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix)}},fillPattern:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_image:new s.Uniform1i(q,$.u_image),u_texsize:new s.Uniform2f(q,$.u_texsize),u_pixel_coord_upper:new s.Uniform2f(q,$.u_pixel_coord_upper),u_pixel_coord_lower:new s.Uniform2f(q,$.u_pixel_coord_lower),u_scale:new s.Uniform3f(q,$.u_scale),u_fade:new s.Uniform1f(q,$.u_fade)}},fillOutline:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_world:new s.Uniform2f(q,$.u_world)}},fillOutlinePattern:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_world:new s.Uniform2f(q,$.u_world),u_image:new s.Uniform1i(q,$.u_image),u_texsize:new s.Uniform2f(q,$.u_texsize),u_pixel_coord_upper:new s.Uniform2f(q,$.u_pixel_coord_upper),u_pixel_coord_lower:new s.Uniform2f(q,$.u_pixel_coord_lower),u_scale:new s.Uniform3f(q,$.u_scale),u_fade:new s.Uniform1f(q,$.u_fade)}},circle:function(q,$){return{u_camera_to_center_distance:new s.Uniform1f(q,$.u_camera_to_center_distance),u_scale_with_map:new s.Uniform1i(q,$.u_scale_with_map),u_pitch_with_map:new s.Uniform1i(q,$.u_pitch_with_map),u_extrude_scale:new s.Uniform2f(q,$.u_extrude_scale),u_device_pixel_ratio:new s.Uniform1f(q,$.u_device_pixel_ratio),u_matrix:new s.UniformMatrix4f(q,$.u_matrix)}},collisionBox:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_camera_to_center_distance:new s.Uniform1f(q,$.u_camera_to_center_distance),u_pixels_to_tile_units:new s.Uniform1f(q,$.u_pixels_to_tile_units),u_extrude_scale:new s.Uniform2f(q,$.u_extrude_scale),u_overscale_factor:new s.Uniform1f(q,$.u_overscale_factor)}},collisionCircle:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_inv_matrix:new s.UniformMatrix4f(q,$.u_inv_matrix),u_camera_to_center_distance:new s.Uniform1f(q,$.u_camera_to_center_distance),u_viewport_size:new s.Uniform2f(q,$.u_viewport_size)}},debug:function(q,$){return{u_color:new s.UniformColor(q,$.u_color),u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_overlay:new s.Uniform1i(q,$.u_overlay),u_overlay_scale:new s.Uniform1f(q,$.u_overlay_scale)}},clippingMask:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix)}},heatmap:function(q,$){return{u_extrude_scale:new s.Uniform1f(q,$.u_extrude_scale),u_intensity:new s.Uniform1f(q,$.u_intensity),u_matrix:new s.UniformMatrix4f(q,$.u_matrix)}},heatmapTexture:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_world:new s.Uniform2f(q,$.u_world),u_image:new s.Uniform1i(q,$.u_image),u_color_ramp:new s.Uniform1i(q,$.u_color_ramp),u_opacity:new s.Uniform1f(q,$.u_opacity)}},hillshade:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_image:new s.Uniform1i(q,$.u_image),u_latrange:new s.Uniform2f(q,$.u_latrange),u_light:new s.Uniform2f(q,$.u_light),u_shadow:new s.UniformColor(q,$.u_shadow),u_highlight:new s.UniformColor(q,$.u_highlight),u_accent:new s.UniformColor(q,$.u_accent)}},hillshadePrepare:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_image:new s.Uniform1i(q,$.u_image),u_dimension:new s.Uniform2f(q,$.u_dimension),u_zoom:new s.Uniform1f(q,$.u_zoom),u_maxzoom:new s.Uniform1f(q,$.u_maxzoom),u_unpack:new s.Uniform4f(q,$.u_unpack)}},line:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_ratio:new s.Uniform1f(q,$.u_ratio),u_device_pixel_ratio:new s.Uniform1f(q,$.u_device_pixel_ratio),u_units_to_pixels:new s.Uniform2f(q,$.u_units_to_pixels)}},lineGradient:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_ratio:new s.Uniform1f(q,$.u_ratio),u_device_pixel_ratio:new s.Uniform1f(q,$.u_device_pixel_ratio),u_units_to_pixels:new s.Uniform2f(q,$.u_units_to_pixels),u_image:new s.Uniform1i(q,$.u_image)}},linePattern:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_texsize:new s.Uniform2f(q,$.u_texsize),u_ratio:new s.Uniform1f(q,$.u_ratio),u_device_pixel_ratio:new s.Uniform1f(q,$.u_device_pixel_ratio),u_image:new s.Uniform1i(q,$.u_image),u_units_to_pixels:new s.Uniform2f(q,$.u_units_to_pixels),u_scale:new s.Uniform3f(q,$.u_scale),u_fade:new s.Uniform1f(q,$.u_fade)}},lineSDF:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_ratio:new s.Uniform1f(q,$.u_ratio),u_device_pixel_ratio:new s.Uniform1f(q,$.u_device_pixel_ratio),u_units_to_pixels:new s.Uniform2f(q,$.u_units_to_pixels),u_patternscale_a:new s.Uniform2f(q,$.u_patternscale_a),u_patternscale_b:new s.Uniform2f(q,$.u_patternscale_b),u_sdfgamma:new s.Uniform1f(q,$.u_sdfgamma),u_image:new s.Uniform1i(q,$.u_image),u_tex_y_a:new s.Uniform1f(q,$.u_tex_y_a),u_tex_y_b:new s.Uniform1f(q,$.u_tex_y_b),u_mix:new s.Uniform1f(q,$.u_mix)}},raster:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_tl_parent:new s.Uniform2f(q,$.u_tl_parent),u_scale_parent:new s.Uniform1f(q,$.u_scale_parent),u_buffer_scale:new s.Uniform1f(q,$.u_buffer_scale),u_fade_t:new s.Uniform1f(q,$.u_fade_t),u_opacity:new s.Uniform1f(q,$.u_opacity),u_image0:new s.Uniform1i(q,$.u_image0),u_image1:new s.Uniform1i(q,$.u_image1),u_brightness_low:new s.Uniform1f(q,$.u_brightness_low),u_brightness_high:new s.Uniform1f(q,$.u_brightness_high),u_saturation_factor:new s.Uniform1f(q,$.u_saturation_factor),u_contrast_factor:new s.Uniform1f(q,$.u_contrast_factor),u_spin_weights:new s.Uniform3f(q,$.u_spin_weights)}},symbolIcon:function(q,$){return{u_is_size_zoom_constant:new s.Uniform1i(q,$.u_is_size_zoom_constant),u_is_size_feature_constant:new s.Uniform1i(q,$.u_is_size_feature_constant),u_size_t:new s.Uniform1f(q,$.u_size_t),u_size:new s.Uniform1f(q,$.u_size),u_camera_to_center_distance:new s.Uniform1f(q,$.u_camera_to_center_distance),u_pitch:new s.Uniform1f(q,$.u_pitch),u_rotate_symbol:new s.Uniform1i(q,$.u_rotate_symbol),u_aspect_ratio:new s.Uniform1f(q,$.u_aspect_ratio),u_fade_change:new s.Uniform1f(q,$.u_fade_change),u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_label_plane_matrix:new s.UniformMatrix4f(q,$.u_label_plane_matrix),u_coord_matrix:new s.UniformMatrix4f(q,$.u_coord_matrix),u_is_text:new s.Uniform1i(q,$.u_is_text),u_pitch_with_map:new s.Uniform1i(q,$.u_pitch_with_map),u_texsize:new s.Uniform2f(q,$.u_texsize),u_texture:new s.Uniform1i(q,$.u_texture)}},symbolSDF:function(q,$){return{u_is_size_zoom_constant:new s.Uniform1i(q,$.u_is_size_zoom_constant),u_is_size_feature_constant:new s.Uniform1i(q,$.u_is_size_feature_constant),u_size_t:new s.Uniform1f(q,$.u_size_t),u_size:new s.Uniform1f(q,$.u_size),u_camera_to_center_distance:new s.Uniform1f(q,$.u_camera_to_center_distance),u_pitch:new s.Uniform1f(q,$.u_pitch),u_rotate_symbol:new s.Uniform1i(q,$.u_rotate_symbol),u_aspect_ratio:new s.Uniform1f(q,$.u_aspect_ratio),u_fade_change:new s.Uniform1f(q,$.u_fade_change),u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_label_plane_matrix:new s.UniformMatrix4f(q,$.u_label_plane_matrix),u_coord_matrix:new s.UniformMatrix4f(q,$.u_coord_matrix),u_is_text:new s.Uniform1i(q,$.u_is_text),u_pitch_with_map:new s.Uniform1i(q,$.u_pitch_with_map),u_texsize:new s.Uniform2f(q,$.u_texsize),u_texture:new s.Uniform1i(q,$.u_texture),u_gamma_scale:new s.Uniform1f(q,$.u_gamma_scale),u_device_pixel_ratio:new s.Uniform1f(q,$.u_device_pixel_ratio),u_is_halo:new s.Uniform1i(q,$.u_is_halo)}},symbolTextAndIcon:function(q,$){return{u_is_size_zoom_constant:new s.Uniform1i(q,$.u_is_size_zoom_constant),u_is_size_feature_constant:new s.Uniform1i(q,$.u_is_size_feature_constant),u_size_t:new s.Uniform1f(q,$.u_size_t),u_size:new s.Uniform1f(q,$.u_size),u_camera_to_center_distance:new s.Uniform1f(q,$.u_camera_to_center_distance),u_pitch:new s.Uniform1f(q,$.u_pitch),u_rotate_symbol:new s.Uniform1i(q,$.u_rotate_symbol),u_aspect_ratio:new s.Uniform1f(q,$.u_aspect_ratio),u_fade_change:new s.Uniform1f(q,$.u_fade_change),u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_label_plane_matrix:new s.UniformMatrix4f(q,$.u_label_plane_matrix),u_coord_matrix:new s.UniformMatrix4f(q,$.u_coord_matrix),u_is_text:new s.Uniform1i(q,$.u_is_text),u_pitch_with_map:new s.Uniform1i(q,$.u_pitch_with_map),u_texsize:new s.Uniform2f(q,$.u_texsize),u_texsize_icon:new s.Uniform2f(q,$.u_texsize_icon),u_texture:new s.Uniform1i(q,$.u_texture),u_texture_icon:new s.Uniform1i(q,$.u_texture_icon),u_gamma_scale:new s.Uniform1f(q,$.u_gamma_scale),u_device_pixel_ratio:new s.Uniform1f(q,$.u_device_pixel_ratio),u_is_halo:new s.Uniform1i(q,$.u_is_halo)}},background:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_opacity:new s.Uniform1f(q,$.u_opacity),u_color:new s.UniformColor(q,$.u_color)}},backgroundPattern:function(q,$){return{u_matrix:new s.UniformMatrix4f(q,$.u_matrix),u_opacity:new s.Uniform1f(q,$.u_opacity),u_image:new s.Uniform1i(q,$.u_image),u_pattern_tl_a:new s.Uniform2f(q,$.u_pattern_tl_a),u_pattern_br_a:new s.Uniform2f(q,$.u_pattern_br_a),u_pattern_tl_b:new s.Uniform2f(q,$.u_pattern_tl_b),u_pattern_br_b:new s.Uniform2f(q,$.u_pattern_br_b),u_texsize:new s.Uniform2f(q,$.u_texsize),u_mix:new s.Uniform1f(q,$.u_mix),u_pattern_size_a:new s.Uniform2f(q,$.u_pattern_size_a),u_pattern_size_b:new s.Uniform2f(q,$.u_pattern_size_b),u_scale_a:new s.Uniform1f(q,$.u_scale_a),u_scale_b:new s.Uniform1f(q,$.u_scale_b),u_pixel_coord_upper:new s.Uniform2f(q,$.u_pixel_coord_upper),u_pixel_coord_lower:new s.Uniform2f(q,$.u_pixel_coord_lower),u_tile_units_to_pixels:new s.Uniform1f(q,$.u_tile_units_to_pixels)}}};function Ks(q,$,W,ae,_e,Re,He){for(var Xe=q.context,at=Xe.gl,wt=q.useProgram("collisionBox"),At=[],re=0,ve=0,Le=0;Le0){var gt=s.create(),zt=$e;s.mul(gt,We.placementInvProjMatrix,q.transform.glCoordMatrix),s.mul(gt,gt,We.placementViewportMatrix),At.push({circleArray:lt,circleOffset:ve,transform:zt,invTransform:gt}),ve=re+=lt.length/4}tt&&wt.draw(Xe,at.LINES,qt.disabled,Je.disabled,q.colorModeForRenderPass(),Ge.disabled,Gu($e,q.transform,Ve),W.id,tt.layoutVertexBuffer,tt.indexBuffer,tt.segments,null,q.transform.zoom,null,null,tt.collisionVertexBuffer)}}if(He&&At.length){var Ut=q.useProgram("collisionCircle"),Vt=new s.StructArrayLayout2f1f2i16;Vt.resize(4*re),Vt._trim();for(var Qt=0,gn=0,en=At;gn=0&&(Fe[We.associatedIconIndex]={shiftedAnchor:en,angle:sn})}else tr(We.numGlyphs,ve)}if(At){Le.clear();for(var Mn=q.icon.placedSymbolArray,xn=0;xn0){var He=s.browser.now(),Xe=(He-q.timeAdded)/Re,at=$?(He-$.timeAdded)/Re:-1,wt=W.getSource(),At=_e.coveringZoomLevel({tileSize:wt.tileSize,roundZoom:wt.roundZoom}),re=!$||Math.abs($.tileID.overscaledZ-At)>Math.abs(q.tileID.overscaledZ-At),ve=re&&q.refreshedUponExpiration?1:s.clamp(re?Xe:1-at,0,1);return q.refreshedUponExpiration&&Xe>=1&&(q.refreshedUponExpiration=!1),$?{opacity:1,mix:1-ve}:{opacity:ve,mix:0}}return{opacity:1,mix:0}}var kl=new s.Color(1,0,0,1),Al=new s.Color(0,1,0,1),bu=new s.Color(0,0,1,1),gs=new s.Color(1,0,1,1),Hl=new s.Color(0,1,1,1);function Ml(q){var $=q.transform.padding;_u(q,q.transform.height-($.top||0),3,kl),_u(q,$.bottom||0,3,Al),Sl(q,$.left||0,3,bu),Sl(q,q.transform.width-($.right||0),3,gs);var W=q.transform.centerPoint;(function(ae,_e,Re,He){var Xe=20,at=2;tl(ae,_e-at/2,Re-Xe/2,at,Xe,He),tl(ae,_e-Xe/2,Re-at/2,Xe,at,He)})(q,W.x,q.transform.height-W.y,Hl)}function _u(q,$,W,ae){tl(q,0,$+W/2,q.transform.width,W,ae)}function Sl(q,$,W,ae){tl(q,$-W/2,0,W,q.transform.height,ae)}function tl(q,$,W,ae,_e,Re){var He=q.context,Xe=He.gl;Xe.enable(Xe.SCISSOR_TEST),Xe.scissor($*s.browser.devicePixelRatio,W*s.browser.devicePixelRatio,ae*s.browser.devicePixelRatio,_e*s.browser.devicePixelRatio),He.clear({color:Re}),Xe.disable(Xe.SCISSOR_TEST)}function zs(q,$,W){var ae=q.context,_e=ae.gl,Re=W.posMatrix,He=q.useProgram("debug"),Xe=qt.disabled,at=Je.disabled,wt=q.colorModeForRenderPass(),At="$debug";ae.activeTexture.set(_e.TEXTURE0),q.emptyTexture.bind(_e.LINEAR,_e.CLAMP_TO_EDGE),He.draw(ae,_e.LINE_STRIP,Xe,at,wt,Ge.disabled,$o(Re,s.Color.red),At,q.debugBuffer,q.tileBorderIndexBuffer,q.debugSegments);var re=$.getTileByID(W.key).latestRawTileData,ve=re&&re.byteLength||0,Le=Math.floor(ve/1024),Fe=$.getTile(W).tileSize,Ve=512/Math.min(Fe,512)*(W.overscaledZ/q.transform.zoom)*.5,We=W.canonical.toString();W.overscaledZ!==W.canonical.z&&(We+=" => "+W.overscaledZ),function($e,tt){$e.initDebugOverlayCanvas();var lt=$e.debugOverlayCanvas,gt=$e.context.gl,zt=$e.debugOverlayCanvas.getContext("2d");zt.clearRect(0,0,lt.width,lt.height),zt.shadowColor="white",zt.shadowBlur=2,zt.lineWidth=1.5,zt.strokeStyle="white",zt.textBaseline="top",zt.font="bold 36px Open Sans, sans-serif",zt.fillText(tt,5,5),zt.strokeText(tt,5,5),$e.debugOverlayTexture.update(lt),$e.debugOverlayTexture.bind(gt.LINEAR,gt.CLAMP_TO_EDGE)}(q,We+" "+Le+"kb"),He.draw(ae,_e.TRIANGLES,Xe,at,Ke.alphaBlended,Ge.disabled,$o(Re,s.Color.transparent,Ve),At,q.debugBuffer,q.quadTriangleIndexBuffer,q.debugSegments)}var Ds={symbol:function(q,$,W,ae,_e){if(q.renderPass==="translucent"){var Re=Je.disabled,He=q.colorModeForRenderPass();W.layout.get("text-variable-anchor")&&function(Xe,at,wt,At,re,ve,Le){for(var Fe=at.transform,Ve=re==="map",We=ve==="map",$e=0,tt=Xe;$e256&&this.clearStencil(),W.setColorMode(Ke.disabled),W.setDepthMode(qt.disabled);var _e=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var Re=0,He=$;Re256&&this.clearStencil();var q=this.nextStencilID++,$=this.context.gl;return new Je({func:$.NOTEQUAL,mask:255},q,255,$.KEEP,$.KEEP,$.REPLACE)},bi.prototype.stencilModeForClipping=function(q){var $=this.context.gl;return new Je({func:$.EQUAL,mask:255},this._tileClippingMaskIDs[q.key],0,$.KEEP,$.KEEP,$.REPLACE)},bi.prototype.stencilConfigForOverlap=function(q){var $,W=this.context.gl,ae=q.sort(function(at,wt){return wt.overscaledZ-at.overscaledZ}),_e=ae[ae.length-1].overscaledZ,Re=ae[0].overscaledZ-_e+1;if(Re>1){this.currentStencilSource=void 0,this.nextStencilID+Re>256&&this.clearStencil();for(var He={},Xe=0;Xe=0;this.currentLayer--){var zt=this.style._layers[ae[this.currentLayer]],Ut=_e[zt.source],Vt=wt[zt.source];this._renderTileClippingMasks(zt,Vt),this.renderLayer(this,Ut,zt,Vt)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?$.pop():null},bi.prototype.isPatternMissing=function(q){if(!q)return!1;if(!q.from||!q.to)return!0;var $=this.imageManager.getPattern(q.from.toString()),W=this.imageManager.getPattern(q.to.toString());return!$||!W},bi.prototype.useProgram=function(q,$){this.cache=this.cache||{};var W=""+q+($?$.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[W]||(this.cache[W]=new bo(this.context,hs[q],$,Os[q],this._showOverdrawInspector)),this.cache[W]},bi.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()},bi.prototype.setBaseState=function(){var q=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(q.FUNC_ADD)},bi.prototype.initDebugOverlayCanvas=function(){if(this.debugOverlayCanvas==null){this.debugOverlayCanvas=s.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var q=this.context.gl;this.debugOverlayTexture=new s.Texture(this.context,this.debugOverlayCanvas,q.RGBA)}},bi.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var vs=function(q,$){this.points=q,this.planes=$};vs.fromInvProjectionMatrix=function(q,$,W){var ae=Math.pow(2,W),_e=[[-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(He){return s.transformMat4([],He,q)}).map(function(He){return s.scale$1([],He,1/He[3]/$*ae)}),Re=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(function(He){var Xe=s.sub([],_e[He[0]],_e[He[1]]),at=s.sub([],_e[He[2]],_e[He[1]]),wt=s.normalize([],s.cross([],Xe,at)),At=-s.dot(wt,_e[He[1]]);return wt.concat(At)});return new vs(_e,Re)};var ms=function(q,$){this.min=q,this.max=$,this.center=s.scale$2([],s.add([],this.min,this.max),.5)};ms.prototype.quadrant=function(q){for(var $=[q%2==0,q<2],W=s.clone$2(this.min),ae=s.clone$2(this.max),_e=0;_e<$.length;_e++)W[_e]=$[_e]?this.min[_e]:this.center[_e],ae[_e]=$[_e]?this.center[_e]:this.max[_e];return ae[2]=this.max[2],new ms(W,ae)},ms.prototype.distanceX=function(q){return Math.max(Math.min(this.max[0],q[0]),this.min[0])-q[0]},ms.prototype.distanceY=function(q){return Math.max(Math.min(this.max[1],q[1]),this.min[1])-q[1]},ms.prototype.intersects=function(q){for(var $=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]],W=!0,ae=0;ae=0;if(Re===0)return 0;Re!==$.length&&(W=!1)}if(W)return 2;for(var Xe=0;Xe<3;Xe++){for(var at=Number.MAX_VALUE,wt=-Number.MAX_VALUE,At=0;Atthis.max[Xe]-this.min[Xe])return 0}return 1};var ga=function(q,$,W,ae){if(q===void 0&&(q=0),$===void 0&&($=0),W===void 0&&(W=0),ae===void 0&&(ae=0),isNaN(q)||q<0||isNaN($)||$<0||isNaN(W)||W<0||isNaN(ae)||ae<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=q,this.bottom=$,this.left=W,this.right=ae};ga.prototype.interpolate=function(q,$,W){return $.top!=null&&q.top!=null&&(this.top=s.number(q.top,$.top,W)),$.bottom!=null&&q.bottom!=null&&(this.bottom=s.number(q.bottom,$.bottom,W)),$.left!=null&&q.left!=null&&(this.left=s.number(q.left,$.left,W)),$.right!=null&&q.right!=null&&(this.right=s.number(q.right,$.right,W)),this},ga.prototype.getCenter=function(q,$){var W=s.clamp((this.left+q-this.right)/2,0,q),ae=s.clamp((this.top+$-this.bottom)/2,0,$);return new s.Point(W,ae)},ga.prototype.equals=function(q){return this.top===q.top&&this.bottom===q.bottom&&this.left===q.left&&this.right===q.right},ga.prototype.clone=function(){return new ga(this.top,this.bottom,this.left,this.right)},ga.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var oi=function(q,$,W,ae,_e){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=_e===void 0||_e,this._minZoom=q||0,this._maxZoom=$||22,this._minPitch=W??0,this._maxPitch=ae??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new s.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new ga,this._posMatrixCache={},this._alignedPosMatrixCache={}},li={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}};oi.prototype.clone=function(){var q=new oi(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return q.tileSize=this.tileSize,q.latRange=this.latRange,q.width=this.width,q.height=this.height,q._center=this._center,q.zoom=this.zoom,q.angle=this.angle,q._fov=this._fov,q._pitch=this._pitch,q._unmodified=this._unmodified,q._edgeInsets=this._edgeInsets.clone(),q._calcMatrices(),q},li.minZoom.get=function(){return this._minZoom},li.minZoom.set=function(q){this._minZoom!==q&&(this._minZoom=q,this.zoom=Math.max(this.zoom,q))},li.maxZoom.get=function(){return this._maxZoom},li.maxZoom.set=function(q){this._maxZoom!==q&&(this._maxZoom=q,this.zoom=Math.min(this.zoom,q))},li.minPitch.get=function(){return this._minPitch},li.minPitch.set=function(q){this._minPitch!==q&&(this._minPitch=q,this.pitch=Math.max(this.pitch,q))},li.maxPitch.get=function(){return this._maxPitch},li.maxPitch.set=function(q){this._maxPitch!==q&&(this._maxPitch=q,this.pitch=Math.min(this.pitch,q))},li.renderWorldCopies.get=function(){return this._renderWorldCopies},li.renderWorldCopies.set=function(q){q===void 0?q=!0:q===null&&(q=!1),this._renderWorldCopies=q},li.worldSize.get=function(){return this.tileSize*this.scale},li.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},li.size.get=function(){return new s.Point(this.width,this.height)},li.bearing.get=function(){return-this.angle/Math.PI*180},li.bearing.set=function(q){var $=-s.wrap(q,-180,180)*Math.PI/180;this.angle!==$&&(this._unmodified=!1,this.angle=$,this._calcMatrices(),this.rotationMatrix=s.create$2(),s.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},li.pitch.get=function(){return this._pitch/Math.PI*180},li.pitch.set=function(q){var $=s.clamp(q,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==$&&(this._unmodified=!1,this._pitch=$,this._calcMatrices())},li.fov.get=function(){return this._fov/Math.PI*180},li.fov.set=function(q){q=Math.max(.01,Math.min(60,q)),this._fov!==q&&(this._unmodified=!1,this._fov=q/180*Math.PI,this._calcMatrices())},li.zoom.get=function(){return this._zoom},li.zoom.set=function(q){var $=Math.min(Math.max(q,this.minZoom),this.maxZoom);this._zoom!==$&&(this._unmodified=!1,this._zoom=$,this.scale=this.zoomScale($),this.tileZoom=Math.floor($),this.zoomFraction=$-this.tileZoom,this._constrain(),this._calcMatrices())},li.center.get=function(){return this._center},li.center.set=function(q){q.lat===this._center.lat&&q.lng===this._center.lng||(this._unmodified=!1,this._center=q,this._constrain(),this._calcMatrices())},li.padding.get=function(){return this._edgeInsets.toJSON()},li.padding.set=function(q){this._edgeInsets.equals(q)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,q,1),this._calcMatrices())},li.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},oi.prototype.isPaddingEqual=function(q){return this._edgeInsets.equals(q)},oi.prototype.interpolatePadding=function(q,$,W){this._unmodified=!1,this._edgeInsets.interpolate(q,$,W),this._constrain(),this._calcMatrices()},oi.prototype.coveringZoomLevel=function(q){var $=(q.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/q.tileSize));return Math.max(0,$)},oi.prototype.getVisibleUnwrappedCoordinates=function(q){var $=[new s.UnwrappedTileID(0,q)];if(this._renderWorldCopies)for(var W=this.pointCoordinate(new s.Point(0,0)),ae=this.pointCoordinate(new s.Point(this.width,0)),_e=this.pointCoordinate(new s.Point(this.width,this.height)),Re=this.pointCoordinate(new s.Point(0,this.height)),He=Math.floor(Math.min(W.x,ae.x,_e.x,Re.x)),Xe=Math.floor(Math.max(W.x,ae.x,_e.x,Re.x)),at=He-1;at<=Xe+1;at++)at!==0&&$.push(new s.UnwrappedTileID(at,q));return $},oi.prototype.coveringTiles=function(q){var $=this.coveringZoomLevel(q),W=$;if(q.minzoom!==void 0&&$q.maxzoom&&($=q.maxzoom);var ae=s.MercatorCoordinate.fromLngLat(this.center),_e=Math.pow(2,$),Re=[_e*ae.x,_e*ae.y,0],He=vs.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,$),Xe=q.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(Xe=$);var at=function(en){return{aabb:new ms([en*_e,0,0],[(en+1)*_e,_e,0]),zoom:0,x:0,y:0,wrap:en,fullyVisible:!1}},wt=[],At=[],re=$,ve=q.reparseOverscaled?W:$;if(this._renderWorldCopies)for(var Le=1;Le<=3;Le++)wt.push(at(-Le)),wt.push(at(Le));for(wt.push(at(0));wt.length>0;){var Fe=wt.pop(),Ve=Fe.x,We=Fe.y,$e=Fe.fullyVisible;if(!$e){var tt=Fe.aabb.intersects(He);if(tt===0)continue;$e=tt===2}var lt=Fe.aabb.distanceX(Re),gt=Fe.aabb.distanceY(Re),zt=Math.max(Math.abs(lt),Math.abs(gt)),Ut=3+(1<Ut&&Fe.zoom>=Xe)At.push({tileID:new s.OverscaledTileID(Fe.zoom===re?ve:Fe.zoom,Fe.wrap,Fe.zoom,Ve,We),distanceSq:s.sqrLen([Re[0]-.5-Ve,Re[1]-.5-We])});else for(var Vt=0;Vt<4;Vt++){var Qt=(Ve<<1)+Vt%2,gn=(We<<1)+(Vt>>1);wt.push({aabb:Fe.aabb.quadrant(Vt),zoom:Fe.zoom+1,x:Qt,y:gn,wrap:Fe.wrap,fullyVisible:$e})}}return At.sort(function(en,sn){return en.distanceSq-sn.distanceSq}).map(function(en){return en.tileID})},oi.prototype.resize=function(q,$){this.width=q,this.height=$,this.pixelsToGLUnits=[2/q,-2/$],this._constrain(),this._calcMatrices()},li.unmodified.get=function(){return this._unmodified},oi.prototype.zoomScale=function(q){return Math.pow(2,q)},oi.prototype.scaleZoom=function(q){return Math.log(q)/Math.LN2},oi.prototype.project=function(q){var $=s.clamp(q.lat,-this.maxValidLatitude,this.maxValidLatitude);return new s.Point(s.mercatorXfromLng(q.lng)*this.worldSize,s.mercatorYfromLat($)*this.worldSize)},oi.prototype.unproject=function(q){return new s.MercatorCoordinate(q.x/this.worldSize,q.y/this.worldSize).toLngLat()},li.point.get=function(){return this.project(this.center)},oi.prototype.setLocationAtPoint=function(q,$){var W=this.pointCoordinate($),ae=this.pointCoordinate(this.centerPoint),_e=this.locationCoordinate(q),Re=new s.MercatorCoordinate(_e.x-(W.x-ae.x),_e.y-(W.y-ae.y));this.center=this.coordinateLocation(Re),this._renderWorldCopies&&(this.center=this.center.wrap())},oi.prototype.locationPoint=function(q){return this.coordinatePoint(this.locationCoordinate(q))},oi.prototype.pointLocation=function(q){return this.coordinateLocation(this.pointCoordinate(q))},oi.prototype.locationCoordinate=function(q){return s.MercatorCoordinate.fromLngLat(q)},oi.prototype.coordinateLocation=function(q){return q.toLngLat()},oi.prototype.pointCoordinate=function(q){var $=[q.x,q.y,0,1],W=[q.x,q.y,1,1];s.transformMat4($,$,this.pixelMatrixInverse),s.transformMat4(W,W,this.pixelMatrixInverse);var ae=$[3],_e=W[3],Re=$[0]/ae,He=W[0]/_e,Xe=$[1]/ae,at=W[1]/_e,wt=$[2]/ae,At=W[2]/_e,re=wt===At?0:(0-wt)/(At-wt);return new s.MercatorCoordinate(s.number(Re,He,re)/this.worldSize,s.number(Xe,at,re)/this.worldSize)},oi.prototype.coordinatePoint=function(q){var $=[q.x*this.worldSize,q.y*this.worldSize,0,1];return s.transformMat4($,$,this.pixelMatrix),new s.Point($[0]/$[3],$[1]/$[3])},oi.prototype.getBounds=function(){return new s.LngLatBounds().extend(this.pointLocation(new s.Point(0,0))).extend(this.pointLocation(new s.Point(this.width,0))).extend(this.pointLocation(new s.Point(this.width,this.height))).extend(this.pointLocation(new s.Point(0,this.height)))},oi.prototype.getMaxBounds=function(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new s.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},oi.prototype.setMaxBounds=function(q){q?(this.lngRange=[q.getWest(),q.getEast()],this.latRange=[q.getSouth(),q.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},oi.prototype.calculatePosMatrix=function(q,$){$===void 0&&($=!1);var W=q.key,ae=$?this._alignedPosMatrixCache:this._posMatrixCache;if(ae[W])return ae[W];var _e=q.canonical,Re=this.worldSize/this.zoomScale(_e.z),He=_e.x+Math.pow(2,_e.z)*q.wrap,Xe=s.identity(new Float64Array(16));return s.translate(Xe,Xe,[He*Re,_e.y*Re,0]),s.scale(Xe,Xe,[Re/s.EXTENT,Re/s.EXTENT,1]),s.multiply(Xe,$?this.alignedProjMatrix:this.projMatrix,Xe),ae[W]=new Float32Array(Xe),ae[W]},oi.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},oi.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var q,$,W,ae,_e=-90,Re=90,He=-180,Xe=180,at=this.size,wt=this._unmodified;if(this.latRange){var At=this.latRange;_e=s.mercatorYfromLat(At[1])*this.worldSize,q=(Re=s.mercatorYfromLat(At[0])*this.worldSize)-_eRe&&(ae=Re-Ve)}if(this.lngRange){var We=ve.x,$e=at.x/2;We-$eXe&&(W=Xe-$e)}W===void 0&&ae===void 0||(this.center=this.unproject(new s.Point(W!==void 0?W:ve.x,ae!==void 0?ae:ve.y))),this._unmodified=wt,this._constraining=!1}},oi.prototype._calcMatrices=function(){if(this.height){var q=this._fov/2,$=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(q)*this.height;var W=Math.PI/2+this._pitch,ae=this._fov*(.5+$.y/this.height),_e=Math.sin(ae)*this.cameraToCenterDistance/Math.sin(s.clamp(Math.PI-W-ae,.01,Math.PI-.01)),Re=this.point,He=Re.x,Xe=Re.y,at=1.01*(Math.cos(Math.PI/2-this._pitch)*_e+this.cameraToCenterDistance),wt=this.height/50,At=new Float64Array(16);s.perspective(At,this._fov,this.width/this.height,wt,at),At[8]=2*-$.x/this.width,At[9]=2*$.y/this.height,s.scale(At,At,[1,-1,1]),s.translate(At,At,[0,0,-this.cameraToCenterDistance]),s.rotateX(At,At,this._pitch),s.rotateZ(At,At,this.angle),s.translate(At,At,[-He,-Xe,0]),this.mercatorMatrix=s.scale([],At,[this.worldSize,this.worldSize,this.worldSize]),s.scale(At,At,[1,1,s.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=At,this.invProjMatrix=s.invert([],this.projMatrix);var re=this.width%2/2,ve=this.height%2/2,Le=Math.cos(this.angle),Fe=Math.sin(this.angle),Ve=He-Math.round(He)+Le*re+Fe*ve,We=Xe-Math.round(Xe)+Le*ve+Fe*re,$e=new Float64Array(At);if(s.translate($e,$e,[Ve>.5?Ve-1:Ve,We>.5?We-1:We,0]),this.alignedProjMatrix=$e,At=s.create(),s.scale(At,At,[this.width/2,-this.height/2,1]),s.translate(At,At,[1,-1,0]),this.labelPlaneMatrix=At,At=s.create(),s.scale(At,At,[1,-1,1]),s.translate(At,At,[-1,-1,0]),s.scale(At,At,[2/this.width,2/this.height,1]),this.glCoordMatrix=At,this.pixelMatrix=s.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(At=s.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=At,this._posMatrixCache={},this._alignedPosMatrixCache={}}},oi.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var q=this.pointCoordinate(new s.Point(0,0)),$=[q.x*this.worldSize,q.y*this.worldSize,0,1];return s.transformMat4($,$,this.pixelMatrix)[3]/this.cameraToCenterDistance},oi.prototype.getCameraPoint=function(){var q=this._pitch,$=Math.tan(q)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new s.Point(0,$))},oi.prototype.getCameraQueryGeometry=function(q){var $=this.getCameraPoint();if(q.length===1)return[q[0],$];for(var W=$.x,ae=$.y,_e=$.x,Re=$.y,He=0,Xe=q;He=3&&!q.some(function(W){return isNaN(W)})){var $=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(q[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+q[2],+q[1]],zoom:+q[0],bearing:$,pitch:+(q[4]||0)}),!0}return!1},es.prototype._updateHashUnthrottled=function(){var q=this.getHashString();try{s.window.history.replaceState(s.window.history.state,"",q)}catch{}};var zo={linearity:.3,easing:s.bezier(0,0,.3,1)},ql=s.extend({deceleration:2500,maxSpeed:1400},zo),wu=s.extend({deceleration:20,maxSpeed:1400},zo),Fs=s.extend({deceleration:1e3,maxSpeed:360},zo),Tu=s.extend({deceleration:1e3,maxSpeed:90},zo),Bs=function(q){this._map=q,this.clear()};function ts(q,$){(!q.duration||q.duration<$.duration)&&(q.duration=$.duration,q.easing=$.easing)}function Ns(q,$,W){var ae=W.maxSpeed,_e=W.linearity,Re=W.deceleration,He=s.clamp(q*_e/($/1e3),-ae,ae),Xe=Math.abs(He)/(Re*_e);return{easing:W.easing,duration:1e3*Xe,amount:He*(Xe/2)}}Bs.prototype.clear=function(){this._inertiaBuffer=[]},Bs.prototype.record=function(q){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:s.browser.now(),settings:q})},Bs.prototype._drainInertiaBuffer=function(){for(var q=this._inertiaBuffer,$=s.browser.now();q.length>0&&$-q[0].time>160;)q.shift()},Bs.prototype._onMoveEnd=function(q){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var $={zoom:0,bearing:0,pitch:0,pan:new s.Point(0,0),pinchAround:void 0,around:void 0},W=0,ae=this._inertiaBuffer;W=this._clickTolerance||this._map.fire(new Oi(q.type,this._map,q))},$i.prototype.dblclick=function(q){return this._firePreventable(new Oi(q.type,this._map,q))},$i.prototype.mouseover=function(q){this._map.fire(new Oi(q.type,this._map,q))},$i.prototype.mouseout=function(q){this._map.fire(new Oi(q.type,this._map,q))},$i.prototype.touchstart=function(q){return this._firePreventable(new Do(q.type,this._map,q))},$i.prototype.touchmove=function(q){this._map.fire(new Do(q.type,this._map,q))},$i.prototype.touchend=function(q){this._map.fire(new Do(q.type,this._map,q))},$i.prototype.touchcancel=function(q){this._map.fire(new Do(q.type,this._map,q))},$i.prototype._firePreventable=function(q){if(this._map.fire(q),q.defaultPrevented)return{}},$i.prototype.isEnabled=function(){return!0},$i.prototype.isActive=function(){return!1},$i.prototype.enable=function(){},$i.prototype.disable=function(){};var va=function(q){this._map=q};va.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},va.prototype.mousemove=function(q){this._map.fire(new Oi(q.type,this._map,q))},va.prototype.mousedown=function(){this._delayContextMenu=!0},va.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Oi("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},va.prototype.contextmenu=function(q){this._delayContextMenu?this._contextMenuEvent=q:this._map.fire(new Oi(q.type,this._map,q)),this._map.listens("contextmenu")&&q.preventDefault()},va.prototype.isEnabled=function(){return!0},va.prototype.isActive=function(){return!1},va.prototype.enable=function(){},va.prototype.disable=function(){};var ma=function(q,$){this._map=q,this._el=q.getCanvasContainer(),this._container=q.getContainer(),this._clickTolerance=$.clickTolerance||1};function ha(q,$){for(var W={},ae=0;aethis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=q.timeStamp),W.length===this.numTouches&&(this.centroid=function(ae){for(var _e=new s.Point(0,0),Re=0,He=ae;Re30)&&(this.aborted=!0)}}},Ia.prototype.touchend=function(q,$,W){if((!this.centroid||q.timeStamp-this.startTime>500)&&(this.aborted=!0),W.length===0){var ae=!this.aborted&&this.centroid;if(this.reset(),ae)return ae}};var ys=function(q){this.singleTap=new Ia(q),this.numTaps=q.numTaps,this.reset()};ys.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},ys.prototype.touchstart=function(q,$,W){this.singleTap.touchstart(q,$,W)},ys.prototype.touchmove=function(q,$,W){this.singleTap.touchmove(q,$,W)},ys.prototype.touchend=function(q,$,W){var ae=this.singleTap.touchend(q,$,W);if(ae){var _e=q.timeStamp-this.lastTime<500,Re=!this.lastTap||this.lastTap.dist(ae)<30;if(_e&&Re||this.reset(),this.count++,this.lastTime=q.timeStamp,this.lastTap=ae,this.count===this.numTaps)return this.reset(),ae}};var lo=function(){this._zoomIn=new ys({numTouches:1,numTaps:2}),this._zoomOut=new ys({numTouches:2,numTaps:1}),this.reset()};lo.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},lo.prototype.touchstart=function(q,$,W){this._zoomIn.touchstart(q,$,W),this._zoomOut.touchstart(q,$,W)},lo.prototype.touchmove=function(q,$,W){this._zoomIn.touchmove(q,$,W),this._zoomOut.touchmove(q,$,W)},lo.prototype.touchend=function(q,$,W){var ae=this,_e=this._zoomIn.touchend(q,$,W),Re=this._zoomOut.touchend(q,$,W);return _e?(this._active=!0,q.preventDefault(),setTimeout(function(){return ae.reset()},0),{cameraAnimation:function(He){return He.easeTo({duration:300,zoom:He.getZoom()+1,around:He.unproject(_e)},{originalEvent:q})}}):Re?(this._active=!0,q.preventDefault(),setTimeout(function(){return ae.reset()},0),{cameraAnimation:function(He){return He.easeTo({duration:300,zoom:He.getZoom()-1,around:He.unproject(Re)},{originalEvent:q})}}):void 0},lo.prototype.touchcancel=function(){this.reset()},lo.prototype.enable=function(){this._enabled=!0},lo.prototype.disable=function(){this._enabled=!1,this.reset()},lo.prototype.isEnabled=function(){return this._enabled},lo.prototype.isActive=function(){return this._active};var ea=function(q){this.reset(),this._clickTolerance=q.clickTolerance||1};ea.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},ea.prototype._correctButton=function(q,$){return!1},ea.prototype._move=function(q,$){return{}},ea.prototype.mousedown=function(q,$){if(!this._lastPoint){var W=m.mouseButton(q);this._correctButton(q,W)&&(this._lastPoint=$,this._eventButton=W)}},ea.prototype.mousemoveWindow=function(q,$){var W=this._lastPoint;if(W&&(q.preventDefault(),this._moved||!($.dist(W)0&&(this._active=!0);var ae=ha(W,$),_e=new s.Point(0,0),Re=new s.Point(0,0),He=0;for(var Xe in ae){var at=ae[Xe],wt=this._touches[Xe];wt&&(_e._add(at),Re._add(at.sub(wt)),He++,ae[Xe]=at)}if(this._touches=ae,!(HeMath.abs(q.x)}var Or=function(q){function $(){q.apply(this,arguments)}return q&&($.__proto__=q),$.prototype=Object.create(q&&q.prototype),$.prototype.constructor=$,$.prototype.reset=function(){q.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},$.prototype._start=function(W){this._lastPoints=W,il(W[0].sub(W[1]))&&(this._valid=!1)},$.prototype._move=function(W,ae,_e){var Re=W[0].sub(this._lastPoints[0]),He=W[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(Re,He,_e.timeStamp),this._valid)return this._lastPoints=W,this._active=!0,{pitchDelta:(Re.y+He.y)/2*-.5}},$.prototype.gestureBeginsVertically=function(W,ae,_e){if(this._valid!==void 0)return this._valid;var Re=W.mag()>=2,He=ae.mag()>=2;if(Re||He){if(!Re||!He)return this._firstMove===void 0&&(this._firstMove=_e),_e-this._firstMove<100&&void 0;var Xe=W.y>0==ae.y>0;return il(W)&&il(ae)&&Xe}},$}(Cr),al={panStep:100,bearingStep:15,pitchStep:10},uo=function(){var q=al;this._panStep=q.panStep,this._bearingStep=q.bearingStep,this._pitchStep=q.pitchStep};function Yl(q){return q*(2-q)}uo.prototype.reset=function(){this._active=!1},uo.prototype.keydown=function(q){var $=this;if(!(q.altKey||q.ctrlKey||q.metaKey)){var W=0,ae=0,_e=0,Re=0,He=0;switch(q.keyCode){case 61:case 107:case 171:case 187:W=1;break;case 189:case 109:case 173:W=-1;break;case 37:q.shiftKey?ae=-1:(q.preventDefault(),Re=-1);break;case 39:q.shiftKey?ae=1:(q.preventDefault(),Re=1);break;case 38:q.shiftKey?_e=1:(q.preventDefault(),He=-1);break;case 40:q.shiftKey?_e=-1:(q.preventDefault(),He=1);break;default:return}return{cameraAnimation:function(Xe){var at=Xe.getZoom();Xe.easeTo({duration:300,easeId:"keyboardHandler",easing:Yl,zoom:W?Math.round(at)+W*(q.shiftKey?2:1):at,bearing:Xe.getBearing()+ae*$._bearingStep,pitch:Xe.getPitch()+_e*$._pitchStep,offset:[-Re*$._panStep,-He*$._panStep],center:Xe.getCenter()},{originalEvent:q})}}}},uo.prototype.enable=function(){this._enabled=!0},uo.prototype.disable=function(){this._enabled=!1,this.reset()},uo.prototype.isEnabled=function(){return this._enabled},uo.prototype.isActive=function(){return this._active};var El=4.000244140625,ya=function(q,$){this._map=q,this._el=q.getCanvasContainer(),this._handler=$,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,s.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};ya.prototype.setZoomRate=function(q){this._defaultZoomRate=q},ya.prototype.setWheelZoomRate=function(q){this._wheelZoomRate=q},ya.prototype.isEnabled=function(){return!!this._enabled},ya.prototype.isActive=function(){return!!this._active||this._finishTimeout!==void 0},ya.prototype.isZooming=function(){return!!this._zooming},ya.prototype.enable=function(q){this.isEnabled()||(this._enabled=!0,this._aroundCenter=q&&q.around==="center")},ya.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},ya.prototype.wheel=function(q){if(this.isEnabled()){var $=q.deltaMode===s.window.WheelEvent.DOM_DELTA_LINE?40*q.deltaY:q.deltaY,W=s.browser.now(),ae=W-(this._lastWheelEventTime||0);this._lastWheelEventTime=W,$!==0&&$%El==0?this._type="wheel":$!==0&&Math.abs($)<4?this._type="trackpad":ae>400?(this._type=null,this._lastValue=$,this._timeout=setTimeout(this._onTimeout,40,q)):this._type||(this._type=Math.abs(ae*$)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,$+=this._lastValue)),q.shiftKey&&$&&($/=4),this._type&&(this._lastWheelEvent=q,this._delta-=$,this._active||this._start(q)),q.preventDefault()}},ya.prototype._onTimeout=function(q){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(q)},ya.prototype._start=function(q){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.mousePos(this._el,q);this._around=s.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject($)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},ya.prototype.renderFrame=function(){return this._onScrollFrame()},ya.prototype._onScrollFrame=function(){var q=this;if(this._frameId&&(this._frameId=null,this.isActive())){var $=this._map.transform;if(this._delta!==0){var W=this._type==="wheel"&&Math.abs(this._delta)>El?this._wheelZoomRate:this._defaultZoomRate,ae=2/(1+Math.exp(-Math.abs(this._delta*W)));this._delta<0&&ae!==0&&(ae=1/ae);var _e=typeof this._targetZoom=="number"?$.zoomScale(this._targetZoom):$.scale;this._targetZoom=Math.min($.maxZoom,Math.max($.minZoom,$.scaleZoom(_e*ae))),this._type==="wheel"&&(this._startZoom=$.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var Re,He=typeof this._targetZoom=="number"?this._targetZoom:$.zoom,Xe=this._startZoom,at=this._easing,wt=!1;if(this._type==="wheel"&&Xe&&at){var At=Math.min((s.browser.now()-this._lastWheelEventTime)/200,1),re=at(At);Re=s.number(Xe,He,re),At<1?this._frameId||(this._frameId=!0):wt=!0}else Re=He,wt=!0;return this._active=!0,wt&&(this._active=!1,this._finishTimeout=setTimeout(function(){q._zooming=!1,q._handler._triggerRenderFrame(),delete q._targetZoom,delete q._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!wt,zoomDelta:Re-$.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},ya.prototype._smoothOutEasing=function(q){var $=s.ease;if(this._prevEase){var W=this._prevEase,ae=(s.browser.now()-W.start)/W.duration,_e=W.easing(ae+.01)-W.easing(ae),Re=.27/Math.sqrt(_e*_e+1e-4)*.01,He=Math.sqrt(.0729-Re*Re);$=s.bezier(Re,He,.25,1)}return this._prevEase={start:s.browser.now(),duration:q,easing:$},$},ya.prototype.reset=function(){this._active=!1};var Vs=function(q,$){this._clickZoom=q,this._tapZoom=$};Vs.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},Vs.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},Vs.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},Vs.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var ns=function(){this.reset()};ns.prototype.reset=function(){this._active=!1},ns.prototype.dblclick=function(q,$){return q.preventDefault(),{cameraAnimation:function(W){W.easeTo({duration:300,zoom:W.getZoom()+(q.shiftKey?-1:1),around:W.unproject($)},{originalEvent:q})}}},ns.prototype.enable=function(){this._enabled=!0},ns.prototype.disable=function(){this._enabled=!1,this.reset()},ns.prototype.isEnabled=function(){return this._enabled},ns.prototype.isActive=function(){return this._active};var Wa=function(){this._tap=new ys({numTouches:1,numTaps:1}),this.reset()};Wa.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},Wa.prototype.touchstart=function(q,$,W){this._swipePoint||(this._tapTime&&q.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?W.length>0&&(this._swipePoint=$[0],this._swipeTouch=W[0].identifier):this._tap.touchstart(q,$,W))},Wa.prototype.touchmove=function(q,$,W){if(this._tapTime){if(this._swipePoint){if(W[0].identifier!==this._swipeTouch)return;var ae=$[0],_e=ae.y-this._swipePoint.y;return this._swipePoint=ae,q.preventDefault(),this._active=!0,{zoomDelta:_e/128}}}else this._tap.touchmove(q,$,W)},Wa.prototype.touchend=function(q,$,W){this._tapTime?this._swipePoint&&W.length===0&&this.reset():this._tap.touchend(q,$,W)&&(this._tapTime=q.timeStamp)},Wa.prototype.touchcancel=function(){this.reset()},Wa.prototype.enable=function(){this._enabled=!0},Wa.prototype.disable=function(){this._enabled=!1,this.reset()},Wa.prototype.isEnabled=function(){return this._enabled},Wa.prototype.isActive=function(){return this._active};var xs=function(q,$,W){this._el=q,this._mousePan=$,this._touchPan=W};xs.prototype.enable=function(q){this._inertiaOptions=q||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},xs.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},xs.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},xs.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var _o=function(q,$,W){this._pitchWithRotate=q.pitchWithRotate,this._mouseRotate=$,this._mousePitch=W};_o.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},_o.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},_o.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},_o.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var co=function(q,$,W,ae){this._el=q,this._touchZoom=$,this._touchRotate=W,this._tapDragZoom=ae,this._rotationDisabled=!1,this._enabled=!0};co.prototype.enable=function(q){this._touchZoom.enable(q),this._rotationDisabled||this._touchRotate.enable(q),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},co.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},co.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},co.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},co.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},co.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var Hs=function(q){return q.zoom||q.drag||q.pitch||q.rotate},xa=function(q){function $(){q.apply(this,arguments)}return q&&($.__proto__=q),$.prototype=Object.create(q&&q.prototype),$.prototype.constructor=$,$}(s.Event);function fo(q){return q.panDelta&&q.panDelta.mag()||q.zoomDelta||q.bearingDelta||q.pitchDelta}var vi=function(q,$){this._map=q,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Bs(q),this._bearingSnap=$.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers($),s.bindAll(["handleEvent","handleWindowEvent"],this);var W=this._el;this._listeners=[[W,"touchstart",{passive:!1}],[W,"touchmove",{passive:!1}],[W,"touchend",void 0],[W,"touchcancel",void 0],[W,"mousedown",void 0],[W,"mousemove",void 0],[W,"mouseup",void 0],[s.window.document,"mousemove",{capture:!0}],[s.window.document,"mouseup",void 0],[W,"mouseover",void 0],[W,"mouseout",void 0],[W,"dblclick",void 0],[W,"click",void 0],[W,"keydown",{capture:!1}],[W,"keyup",void 0],[W,"wheel",{passive:!1}],[W,"contextmenu",void 0],[s.window,"blur",void 0]];for(var ae=0,_e=this._listeners;ae<_e.length;ae+=1){var Re=_e[ae],He=Re[0],Xe=Re[1],at=Re[2];m.addEventListener(He,Xe,He===s.window.document?this.handleWindowEvent:this.handleEvent,at)}};vi.prototype.destroy=function(){for(var q=0,$=this._listeners;q<$.length;q+=1){var W=$[q],ae=W[0],_e=W[1],Re=W[2];m.removeEventListener(ae,_e,ae===s.window.document?this.handleWindowEvent:this.handleEvent,Re)}},vi.prototype._addDefaultHandlers=function(q){var $=this._map,W=$.getCanvasContainer();this._add("mapEvent",new $i($,q));var ae=$.boxZoom=new ma($,q);this._add("boxZoom",ae);var _e=new lo,Re=new ns;$.doubleClickZoom=new Vs(Re,_e),this._add("tapZoom",_e),this._add("clickZoom",Re);var He=new Wa;this._add("tapDragZoom",He);var Xe=$.touchPitch=new Or;this._add("touchPitch",Xe);var at=new Gl(q),wt=new Wl(q);$.dragRotate=new _o(q,at,wt),this._add("mouseRotate",at,["mousePitch"]),this._add("mousePitch",wt,["mouseRotate"]);var At=new Ga(q),re=new Sa(q);$.dragPan=new xs(W,At,re),this._add("mousePan",At),this._add("touchPan",re,["touchZoom","touchRotate"]);var ve=new rl,Le=new Zl;$.touchZoomRotate=new co(W,Le,ve,He),this._add("touchRotate",ve,["touchPan","touchZoom"]),this._add("touchZoom",Le,["touchPan","touchRotate"]);var Fe=$.scrollZoom=new ya($,this);this._add("scrollZoom",Fe,["mousePan"]);var Ve=$.keyboard=new uo;this._add("keyboard",Ve),this._add("blockableMapEvent",new va($));for(var We=0,$e=["boxZoom","doubleClickZoom","tapDragZoom","touchPitch","dragRotate","dragPan","touchZoomRotate","scrollZoom","keyboard"];We<$e.length;We+=1){var tt=$e[We];q.interactive&&q[tt]&&$[tt].enable(q[tt])}},vi.prototype._add=function(q,$,W){this._handlers.push({handlerName:q,handler:$,allowed:W}),this._handlersById[q]=$},vi.prototype.stop=function(){if(!this._updatingCamera){for(var q=0,$=this._handlers;q<$.length;q+=1)$[q].handler.reset();this._inertia.clear(),this._fireEvents({},{}),this._changes=[]}},vi.prototype.isActive=function(){for(var q=0,$=this._handlers;q<$.length;q+=1)if($[q].handler.isActive())return!0;return!1},vi.prototype.isZooming=function(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()},vi.prototype.isRotating=function(){return!!this._eventsInProgress.rotate},vi.prototype.isMoving=function(){return!!Hs(this._eventsInProgress)||this.isZooming()},vi.prototype._blockedByActive=function(q,$,W){for(var ae in q)if(ae!==W&&(!$||$.indexOf(ae)<0))return!0;return!1},vi.prototype.handleWindowEvent=function(q){this.handleEvent(q,q.type+"Window")},vi.prototype._getMapTouches=function(q){for(var $=[],W=0,ae=q;WHe?Math.min(2,Ut):Math.max(.5,Ut),sn=Math.pow(en,1-Qt),rn=Re.unproject(gt.add(zt.mult(Qt*sn)).mult(gn));Re.setLocationAtPoint(Re.renderWorldCopies?rn.wrap():rn,Ve)}_e._fireMoveEvents(ae)},function(Qt){_e._afterEase(ae,Qt)},W),this},$.prototype._prepareEase=function(W,ae,_e){_e===void 0&&(_e={}),this._moving=!0,ae||_e.moving||this.fire(new s.Event("movestart",W)),this._zooming&&!_e.zooming&&this.fire(new s.Event("zoomstart",W)),this._rotating&&!_e.rotating&&this.fire(new s.Event("rotatestart",W)),this._pitching&&!_e.pitching&&this.fire(new s.Event("pitchstart",W))},$.prototype._fireMoveEvents=function(W){this.fire(new s.Event("move",W)),this._zooming&&this.fire(new s.Event("zoom",W)),this._rotating&&this.fire(new s.Event("rotate",W)),this._pitching&&this.fire(new s.Event("pitch",W))},$.prototype._afterEase=function(W,ae){if(!this._easeId||!ae||this._easeId!==ae){delete this._easeId;var _e=this._zooming,Re=this._rotating,He=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,_e&&this.fire(new s.Event("zoomend",W)),Re&&this.fire(new s.Event("rotateend",W)),He&&this.fire(new s.Event("pitchend",W)),this.fire(new s.Event("moveend",W))}},$.prototype.flyTo=function(W,ae){var _e=this;if(!W.essential&&s.browser.prefersReducedMotion){var Re=s.pick(W,["center","zoom","bearing","pitch","around"]);return this.jumpTo(Re,ae)}this.stop(),W=s.extend({offset:[0,0],speed:1.2,curve:1.42,easing:s.ease},W);var He=this.transform,Xe=this.getZoom(),at=this.getBearing(),wt=this.getPitch(),At=this.getPadding(),re="zoom"in W?s.clamp(+W.zoom,He.minZoom,He.maxZoom):Xe,ve="bearing"in W?this._normalizeBearing(W.bearing,at):at,Le="pitch"in W?+W.pitch:wt,Fe="padding"in W?W.padding:He.padding,Ve=He.zoomScale(re-Xe),We=s.Point.convert(W.offset),$e=He.centerPoint.add(We),tt=He.pointLocation($e),lt=s.LngLat.convert(W.center||tt);this._normalizeCenter(lt);var gt=He.project(tt),zt=He.project(lt).sub(gt),Ut=W.curve,Vt=Math.max(He.width,He.height),Qt=Vt/Ve,gn=zt.mag();if("minZoom"in W){var en=s.clamp(Math.min(W.minZoom,Xe,re),He.minZoom,He.maxZoom),sn=Vt/He.zoomScale(en-Xe);Ut=Math.sqrt(sn/gn*2)}var rn=Ut*Ut;function Mn(mr){var _r=(Qt*Qt-Vt*Vt+(mr?-1:1)*rn*rn*gn*gn)/(2*(mr?Qt:Vt)*rn*gn);return Math.log(Math.sqrt(_r*_r+1)-_r)}function xn(mr){return(Math.exp(mr)-Math.exp(-mr))/2}function an(mr){return(Math.exp(mr)+Math.exp(-mr))/2}var zn=Mn(0),Un=function(mr){return an(zn)/an(zn+Ut*mr)},nr=function(mr){return Vt*((an(zn)*(xn(_r=zn+Ut*mr)/an(_r))-xn(zn))/rn)/gn;var _r},rr=(Mn(1)-zn)/Ut;if(Math.abs(gn)<1e-6||!isFinite(rr)){if(Math.abs(Vt-Qt)<1e-6)return this.easeTo(W,ae);var wr=QtW.maxDuration&&(W.duration=0),this._zooming=!0,this._rotating=at!==ve,this._pitching=Le!==wt,this._padding=!He.isPaddingEqual(Fe),this._prepareEase(ae,!1),this._ease(function(mr){var _r=mr*rr,Rr=1/Un(_r);He.zoom=mr===1?re:Xe+He.scaleZoom(Rr),_e._rotating&&(He.bearing=s.number(at,ve,mr)),_e._pitching&&(He.pitch=s.number(wt,Le,mr)),_e._padding&&(He.interpolatePadding(At,Fe,mr),$e=He.centerPoint.add(We));var Jr=mr===1?lt:He.unproject(gt.add(zt.mult(nr(_r))).mult(Rr));He.setLocationAtPoint(He.renderWorldCopies?Jr.wrap():Jr,$e),_e._fireMoveEvents(ae)},function(){return _e._afterEase(ae)},W),this},$.prototype.isEasing=function(){return!!this._easeFrameId},$.prototype.stop=function(){return this._stop()},$.prototype._stop=function(W,ae){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var _e=this._onEaseEnd;delete this._onEaseEnd,_e.call(this,ae)}if(!W){var Re=this.handlers;Re&&Re.stop()}return this},$.prototype._ease=function(W,ae,_e){_e.animate===!1||_e.duration===0?(W(1),ae()):(this._easeStart=s.browser.now(),this._easeOptions=_e,this._onEaseFrame=W,this._onEaseEnd=ae,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},$.prototype._renderFrameCallback=function(){var W=Math.min((s.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(W)),W<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},$.prototype._normalizeBearing=function(W,ae){W=s.wrap(W,-180,180);var _e=Math.abs(W-ae);return Math.abs(W-360-ae)<_e&&(W-=360),Math.abs(W+360-ae)<_e&&(W+=360),W},$.prototype._normalizeCenter=function(W){var ae=this.transform;if(ae.renderWorldCopies&&!ae.lngRange){var _e=W.lng-ae.center.lng;W.lng+=_e>180?-360:_e<-180?360:0}},$}(s.Evented),to=function(q){q===void 0&&(q={}),this.options=q,s.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};to.prototype.getDefaultPosition=function(){return"bottom-right"},to.prototype.onAdd=function(q){var $=this.options&&this.options.compact;return this._map=q,this._container=m.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._innerContainer=m.create("div","mapboxgl-ctrl-attrib-inner",this._container),$&&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&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},to.prototype.onRemove=function(){m.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},to.prototype._updateEditLink=function(){var q=this._editLink;q||(q=this._editLink=this._container.querySelector(".mapbox-improve-map"));var $=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||s.config.ACCESS_TOKEN}];if(q){var W=$.reduce(function(ae,_e,Re){return _e.value&&(ae+=_e.key+"="+_e.value+(Re<$.length-1?"&":"")),ae},"?");q.href=s.config.FEEDBACK_URL+"/"+W+(this._map._hash?this._map._hash.getHashString(!0):""),q.rel="noopener nofollow"}},to.prototype._updateData=function(q){!q||q.sourceDataType!=="metadata"&&q.dataType!=="style"||(this._updateAttributions(),this._updateEditLink())},to.prototype._updateAttributions=function(){if(this._map.style){var q=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?q=q.concat(this.options.customAttribution.map(function(Xe){return typeof Xe!="string"?"":Xe})):typeof this.options.customAttribution=="string"&&q.push(this.options.customAttribution)),this._map.style.stylesheet){var $=this._map.style.stylesheet;this.styleOwner=$.owner,this.styleId=$.id}var W=this._map.style.sourceCaches;for(var ae in W){var _e=W[ae];if(_e.used){var Re=_e.getSource();Re.attribution&&q.indexOf(Re.attribution)<0&&q.push(Re.attribution)}}q.sort(function(Xe,at){return Xe.length-at.length});var He=(q=q.filter(function(Xe,at){for(var wt=at+1;wt=0)return!1;return!0})).join(" | ");He!==this._attribHTML&&(this._attribHTML=He,q.length?(this._innerContainer.innerHTML=He,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},to.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")};var ho=function(){s.bindAll(["_updateLogo"],this),s.bindAll(["_updateCompact"],this)};ho.prototype.onAdd=function(q){this._map=q,this._container=m.create("div","mapboxgl-ctrl");var $=m.create("a","mapboxgl-ctrl-logo");return $.target="_blank",$.rel="noopener nofollow",$.href="https://www.mapbox.com/",$.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),$.setAttribute("rel","noopener nofollow"),this._container.appendChild($),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},ho.prototype.onRemove=function(){m.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},ho.prototype.getDefaultPosition=function(){return"bottom-left"},ho.prototype._updateLogo=function(q){q&&q.sourceDataType!=="metadata"||(this._container.style.display=this._logoRequired()?"block":"none")},ho.prototype._logoRequired=function(){if(this._map.style){var q=this._map.style.sourceCaches;for(var $ in q)if(q[$].getSource().mapbox_logo)return!0;return!1}},ho.prototype._updateCompact=function(){var q=this._container.children;if(q.length){var $=q[0];this._map.getCanvasContainer().offsetWidth<250?$.classList.add("mapboxgl-compact"):$.classList.remove("mapboxgl-compact")}};var Fo=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Fo.prototype.add=function(q){var $=++this._id;return this._queue.push({callback:q,id:$,cancelled:!1}),$},Fo.prototype.remove=function(q){for(var $=this._currentlyRunning,W=0,ae=$?this._queue.concat($):this._queue;Wae.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(ae.minPitch!=null&&ae.maxPitch!=null&&ae.minPitch>ae.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(ae.minPitch!=null&&ae.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(ae.maxPitch!=null&&ae.maxPitch>Da)throw new Error("maxPitch must be less than or equal to 60");var Re=new oi(ae.minZoom,ae.maxZoom,ae.minPitch,ae.maxPitch,ae.renderWorldCopies);if(q.call(this,Re,ae),this._interactive=ae.interactive,this._maxTileCacheSize=ae.maxTileCacheSize,this._failIfMajorPerformanceCaveat=ae.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=ae.preserveDrawingBuffer,this._antialias=ae.antialias,this._trackResize=ae.trackResize,this._bearingSnap=ae.bearingSnap,this._refreshExpiredTiles=ae.refreshExpiredTiles,this._fadeDuration=ae.fadeDuration,this._crossSourceCollisions=ae.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=ae.collectResourceTiming,this._renderTaskQueue=new Fo,this._controls=[],this._mapId=s.uniqueId(),this._locale=s.extend({},za,ae.locale),this._requestManager=new s.RequestManager(ae.transformRequest,ae.accessToken),typeof ae.container=="string"){if(this._container=s.window.document.getElementById(ae.container),!this._container)throw new Error("Container '"+ae.container+"' not found.")}else{if(!(ae.container instanceof oa))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=ae.container}if(ae.maxBounds&&this.setMaxBounds(ae.maxBounds),s.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),this.painter===void 0)throw new Error("Failed to initialize WebGL.");this.on("move",function(){return _e._update(!1)}),this.on("moveend",function(){return _e._update(!1)}),this.on("zoom",function(){return _e._update(!0)}),s.window!==void 0&&(s.window.addEventListener("online",this._onWindowOnline,!1),s.window.addEventListener("resize",this._onWindowResize,!1)),this.handlers=new vi(this,ae);var He=typeof ae.hash=="string"&&ae.hash||void 0;this._hash=ae.hash&&new es(He).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:ae.center,zoom:ae.zoom,bearing:ae.bearing,pitch:ae.pitch}),ae.bounds&&(this.resize(),this.fitBounds(ae.bounds,s.extend({},ae.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=ae.localIdeographFontFamily,ae.style&&this.setStyle(ae.style,{localIdeographFontFamily:ae.localIdeographFontFamily}),ae.attributionControl&&this.addControl(new to({customAttribution:ae.customAttribution})),this.addControl(new ho,ae.logoPosition),this.on("style.load",function(){_e.transform.unmodified&&_e.jumpTo(_e.style.stylesheet)}),this.on("data",function(Xe){_e._update(Xe.dataType==="style"),_e.fire(new s.Event(Xe.dataType+"data",Xe))}),this.on("dataloading",function(Xe){_e.fire(new s.Event(Xe.dataType+"dataloading",Xe))})}q&&($.__proto__=q),$.prototype=Object.create(q&&q.prototype),$.prototype.constructor=$;var W={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return $.prototype._getMapId=function(){return this._mapId},$.prototype.addControl=function(ae,_e){if(_e===void 0&&ae.getDefaultPosition&&(_e=ae.getDefaultPosition()),_e===void 0&&(_e="top-right"),!ae||!ae.onAdd)return this.fire(new s.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var Re=ae.onAdd(this);this._controls.push(ae);var He=this._controlPositions[_e];return _e.indexOf("bottom")!==-1?He.insertBefore(Re,He.firstChild):He.appendChild(Re),this},$.prototype.removeControl=function(ae){if(!ae||!ae.onRemove)return this.fire(new s.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var _e=this._controls.indexOf(ae);return _e>-1&&this._controls.splice(_e,1),ae.onRemove(this),this},$.prototype.resize=function(ae){var _e=this._containerDimensions(),Re=_e[0],He=_e[1];this._resizeCanvas(Re,He),this.transform.resize(Re,He),this.painter.resize(Re,He);var Xe=!this._moving;return Xe&&(this.stop(),this.fire(new s.Event("movestart",ae)).fire(new s.Event("move",ae))),this.fire(new s.Event("resize",ae)),Xe&&this.fire(new s.Event("moveend",ae)),this},$.prototype.getBounds=function(){return this.transform.getBounds()},$.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},$.prototype.setMaxBounds=function(ae){return this.transform.setMaxBounds(s.LngLatBounds.convert(ae)),this._update()},$.prototype.setMinZoom=function(ae){if((ae=ae??-2)>=-2&&ae<=this.transform.maxZoom)return this.transform.minZoom=ae,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=ae,this._update(),this.getZoom()>ae&&this.setZoom(ae),this;throw new Error("maxZoom must be greater than the current minZoom")},$.prototype.getMaxZoom=function(){return this.transform.maxZoom},$.prototype.setMinPitch=function(ae){if((ae=ae??0)<0)throw new Error("minPitch must be greater than or equal to 0");if(ae>=0&&ae<=this.transform.maxPitch)return this.transform.minPitch=ae,this._update(),this.getPitch()Da)throw new Error("maxPitch must be less than or equal to 60");if(ae>=this.transform.minPitch)return this.transform.maxPitch=ae,this._update(),this.getPitch()>ae&&this.setPitch(ae),this;throw new Error("maxPitch must be greater than the current minPitch")},$.prototype.getMaxPitch=function(){return this.transform.maxPitch},$.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},$.prototype.setRenderWorldCopies=function(ae){return this.transform.renderWorldCopies=ae,this._update()},$.prototype.project=function(ae){return this.transform.locationPoint(s.LngLat.convert(ae))},$.prototype.unproject=function(ae){return this.transform.pointLocation(s.Point.convert(ae))},$.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},$.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},$.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},$.prototype._createDelegatedListener=function(ae,_e,Re){var He,Xe=this;if(ae==="mouseenter"||ae==="mouseover"){var at=!1;return{layer:_e,listener:Re,delegates:{mousemove:function(At){var re=Xe.getLayer(_e)?Xe.queryRenderedFeatures(At.point,{layers:[_e]}):[];re.length?at||(at=!0,Re.call(Xe,new Oi(ae,Xe,At.originalEvent,{features:re}))):at=!1},mouseout:function(){at=!1}}}}if(ae==="mouseleave"||ae==="mouseout"){var wt=!1;return{layer:_e,listener:Re,delegates:{mousemove:function(At){(Xe.getLayer(_e)?Xe.queryRenderedFeatures(At.point,{layers:[_e]}):[]).length?wt=!0:wt&&(wt=!1,Re.call(Xe,new Oi(ae,Xe,At.originalEvent)))},mouseout:function(At){wt&&(wt=!1,Re.call(Xe,new Oi(ae,Xe,At.originalEvent)))}}}}return{layer:_e,listener:Re,delegates:(He={},He[ae]=function(At){var re=Xe.getLayer(_e)?Xe.queryRenderedFeatures(At.point,{layers:[_e]}):[];re.length&&(At.features=re,Re.call(Xe,At),delete At.features)},He)}},$.prototype.on=function(ae,_e,Re){if(Re===void 0)return q.prototype.on.call(this,ae,_e);var He=this._createDelegatedListener(ae,_e,Re);for(var Xe in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[ae]=this._delegatedListeners[ae]||[],this._delegatedListeners[ae].push(He),He.delegates)this.on(Xe,He.delegates[Xe]);return this},$.prototype.once=function(ae,_e,Re){if(Re===void 0)return q.prototype.once.call(this,ae,_e);var He=this._createDelegatedListener(ae,_e,Re);for(var Xe in He.delegates)this.once(Xe,He.delegates[Xe]);return this},$.prototype.off=function(ae,_e,Re){var He=this;return Re===void 0?q.prototype.off.call(this,ae,_e):(this._delegatedListeners&&this._delegatedListeners[ae]&&function(Xe){for(var at=Xe[ae],wt=0;wt180;){var He=W.locationPoint(q);if(He.x>=0&&He.y>=0&&He.x<=W.width&&He.y<=W.height)break;q.lng>W.center.lng?q.lng-=360:q.lng+=360}return q}Fr.prototype.down=function(q,$){this.mouseRotate.mousedown(q,$),this.mousePitch&&this.mousePitch.mousedown(q,$),m.disableDrag()},Fr.prototype.move=function(q,$){var W=this.map,ae=this.mouseRotate.mousemoveWindow(q,$);if(ae&&ae.bearingDelta&&W.setBearing(W.getBearing()+ae.bearingDelta),this.mousePitch){var _e=this.mousePitch.mousemoveWindow(q,$);_e&&_e.pitchDelta&&W.setPitch(W.getPitch()+_e.pitchDelta)}},Fr.prototype.off=function(){var q=this.element;m.removeEventListener(q,"mousedown",this.mousedown),m.removeEventListener(q,"touchstart",this.touchstart,{passive:!1}),m.removeEventListener(q,"touchmove",this.touchmove),m.removeEventListener(q,"touchend",this.touchend),m.removeEventListener(q,"touchcancel",this.reset),this.offTemp()},Fr.prototype.offTemp=function(){m.enableDrag(),m.removeEventListener(s.window,"mousemove",this.mousemove),m.removeEventListener(s.window,"mouseup",this.mouseup)},Fr.prototype.mousedown=function(q){this.down(s.extend({},q,{ctrlKey:!0,preventDefault:function(){return q.preventDefault()}}),m.mousePos(this.element,q)),m.addEventListener(s.window,"mousemove",this.mousemove),m.addEventListener(s.window,"mouseup",this.mouseup)},Fr.prototype.mousemove=function(q){this.move(q,m.mousePos(this.element,q))},Fr.prototype.mouseup=function(q){this.mouseRotate.mouseupWindow(q),this.mousePitch&&this.mousePitch.mouseupWindow(q),this.offTemp()},Fr.prototype.touchstart=function(q){q.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=m.touchPos(this.element,q.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return q.preventDefault()}},this._startPos))},Fr.prototype.touchmove=function(q){q.targetTouches.length!==1?this.reset():(this._lastPos=m.touchPos(this.element,q.targetTouches)[0],this.move({preventDefault:function(){return q.preventDefault()}},this._lastPos))},Fr.prototype.touchend=function(q){q.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)ae.getEast()||_e.latitudeae.getNorth())},$.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")}},$.prototype._onSuccess=function(W){if(this._map){if(this._isOutOfMapMaxBounds(W))return this._setErrorState(),this.fire(new s.Event("outofmaxbounds",W)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=W,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("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(W),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(W),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new s.Event("geolocate",W)),this._finish()}},$.prototype._updateCamera=function(W){var ae=new s.LngLat(W.coords.longitude,W.coords.latitude),_e=W.coords.accuracy,Re=this._map.getBearing(),He=s.extend({bearing:Re},this.options.fitBoundsOptions);this._map.fitBounds(ae.toBounds(_e),He,{geolocateSource:!0})},$.prototype._updateMarker=function(W){if(W){var ae=new s.LngLat(W.coords.longitude,W.coords.latitude);this._accuracyCircleMarker.setLngLat(ae).addTo(this._map),this._userLocationDotMarker.setLngLat(ae).addTo(this._map),this._accuracy=W.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},$.prototype._updateCircleRadius=function(){var W=this._map._container.clientHeight/2,ae=this._map.unproject([0,W]),_e=this._map.unproject([1,W]),Re=ae.distanceTo(_e),He=Math.ceil(2*this._accuracy/Re);this._circleElement.style.width=He+"px",this._circleElement.style.height=He+"px"},$.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},$.prototype._onError=function(W){if(this._map){if(this.options.trackUserLocation)if(W.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 ae=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=ae,this._geolocateButton.setAttribute("aria-label",ae),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(W.code===3&&sl)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new s.Event("error",W)),this._finish()}},$.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},$.prototype._setupUI=function(W){var ae=this;if(this._container.addEventListener("contextmenu",function(He){return He.preventDefault()}),this._geolocateButton=m.create("button","mapboxgl-ctrl-geolocate",this._container),m.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",W===!1){s.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var _e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=_e,this._geolocateButton.setAttribute("aria-label",_e)}else{var Re=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=Re,this._geolocateButton.setAttribute("aria-label",Re)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=m.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new _a(this._dotElement),this._circleElement=m.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new _a({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(He){var Xe=He.originalEvent&&He.originalEvent.type==="resize";He.geolocateSource||ae._watchState!=="ACTIVE_LOCK"||Xe||(ae._watchState="BACKGROUND",ae._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),ae._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),ae.fire(new s.Event("trackuserlocationend")))})},$.prototype.trigger=function(){if(!this._setup)return s.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 s.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Fa--,sl=!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 s.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 s.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 W;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++Fa>1?(W={maximumAge:6e5,timeout:0},sl=!0):(W=this.options.positionOptions,sl=!1),this._geolocationWatchID=s.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,W)}}else s.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},$.prototype._clearWatch=function(){s.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)},$}(s.Evented),_i={maxWidth:100,unit:"metric"},Si=function(q){this.options=s.extend({},_i,q),s.bindAll(["_onMove","setUnit"],this)};function $l(q,$,W){var ae=W&&W.maxWidth||100,_e=q._container.clientHeight/2,Re=q.unproject([0,_e]),He=q.unproject([ae,_e]),Xe=Re.distanceTo(He);if(W&&W.unit==="imperial"){var at=3.2808*Xe;at>5280?et($,ae,at/5280,q._getUIString("ScaleControl.Miles")):et($,ae,at,q._getUIString("ScaleControl.Feet"))}else W&&W.unit==="nautical"?et($,ae,Xe/1852,q._getUIString("ScaleControl.NauticalMiles")):Xe>=1e3?et($,ae,Xe/1e3,q._getUIString("ScaleControl.Kilometers")):et($,ae,Xe,q._getUIString("ScaleControl.Meters"))}function et(q,$,W,ae){var _e,Re,He,Xe=(_e=W,(Re=Math.pow(10,(""+Math.floor(_e)).length-1))*((He=_e/Re)>=10?10:He>=5?5:He>=3?3:He>=2?2:He>=1?1:function(wt){var At=Math.pow(10,Math.ceil(-Math.log(wt)/Math.LN10));return Math.round(wt*At)/At}(He))),at=Xe/W;q.style.width=$*at+"px",q.innerHTML=Xe+" "+ae}Si.prototype.getDefaultPosition=function(){return"bottom-left"},Si.prototype._onMove=function(){$l(this._map,this._container,this.options)},Si.prototype.onAdd=function(q){return this._map=q,this._container=m.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",q.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},Si.prototype.onRemove=function(){m.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},Si.prototype.setUnit=function(q){this.options.unit=q,$l(this._map,this._container,this.options)};var rt=function(q){this._fullscreen=!1,q&&q.container&&(q.container instanceof s.window.HTMLElement?this._container=q.container:s.warnOnce("Full screen control 'container' must be a DOM element.")),s.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in s.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in s.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in s.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in s.window.document&&(this._fullscreenchange="MSFullscreenChange")};rt.prototype.onAdd=function(q){return this._map=q,this._container||(this._container=this._map.getContainer()),this._controlContainer=m.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",s.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},rt.prototype.onRemove=function(){m.remove(this._controlContainer),this._map=null,s.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},rt.prototype._checkFullscreenSupport=function(){return!!(s.window.document.fullscreenEnabled||s.window.document.mozFullScreenEnabled||s.window.document.msFullscreenEnabled||s.window.document.webkitFullscreenEnabled)},rt.prototype._setupUI=function(){var q=this._fullscreenButton=m.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);m.create("span","mapboxgl-ctrl-icon",q).setAttribute("aria-hidden",!0),q.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),s.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},rt.prototype._updateTitle=function(){var q=this._getTitle();this._fullscreenButton.setAttribute("aria-label",q),this._fullscreenButton.title=q},rt.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},rt.prototype._isFullscreen=function(){return this._fullscreen},rt.prototype._changeIcon=function(){(s.window.document.fullscreenElement||s.window.document.mozFullScreenElement||s.window.document.webkitFullscreenElement||s.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())},rt.prototype._onClickFullscreen=function(){this._isFullscreen()?s.window.document.exitFullscreen?s.window.document.exitFullscreen():s.window.document.mozCancelFullScreen?s.window.document.mozCancelFullScreen():s.window.document.msExitFullscreen?s.window.document.msExitFullscreen():s.window.document.webkitCancelFullScreen&&s.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 ct={closeButton:!0,closeOnClick:!0,className:"",maxWidth:"240px"},vt=function(q){function $(W){q.call(this),this.options=s.extend(Object.create(ct),W),s.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return q&&($.__proto__=q),$.prototype=Object.create(q&&q.prototype),$.prototype.constructor=$,$.prototype.addTo=function(W){return this._map&&this.remove(),this._map=W,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._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 s.Event("open")),this},$.prototype.isOpen=function(){return!!this._map},$.prototype.remove=function(){return this._content&&m.remove(this._content),this._container&&(m.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 s.Event("close")),this},$.prototype.getLngLat=function(){return this._lngLat},$.prototype.setLngLat=function(W){return this._lngLat=s.LngLat.convert(W),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},$.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},$.prototype.getElement=function(){return this._container},$.prototype.setText=function(W){return this.setDOMContent(s.window.document.createTextNode(W))},$.prototype.setHTML=function(W){var ae,_e=s.window.document.createDocumentFragment(),Re=s.window.document.createElement("body");for(Re.innerHTML=W;ae=Re.firstChild;)_e.appendChild(ae);return this.setDOMContent(_e)},$.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},$.prototype.setMaxWidth=function(W){return this.options.maxWidth=W,this._update(),this},$.prototype.setDOMContent=function(W){return this._createContent(),this._content.appendChild(W),this._update(),this},$.prototype.addClassName=function(W){this._container&&this._container.classList.add(W)},$.prototype.removeClassName=function(W){this._container&&this._container.classList.remove(W)},$.prototype.toggleClassName=function(W){if(this._container)return this._container.classList.toggle(W)},$.prototype._createContent=function(){this._content&&m.remove(this._content),this._content=m.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=m.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))},$.prototype._onMouseUp=function(W){this._update(W.point)},$.prototype._onMouseMove=function(W){this._update(W.point)},$.prototype._onDrag=function(W){this._update(W.point)},$.prototype._update=function(W){var ae=this,_e=this._lngLat||this._trackPointer;if(this._map&&_e&&this._content&&(this._container||(this._container=m.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=m.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach(function(ve){return ae._container.classList.add(ve)}),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=Ur(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||W)){var Re=this._pos=this._trackPointer&&W?W:this._map.project(this._lngLat),He=this.options.anchor,Xe=Mt(this.options.offset);if(!He){var at,wt=this._container.offsetWidth,At=this._container.offsetHeight;at=Re.y+Xe.bottom.ythis._map.transform.height-At?["bottom"]:[],Re.xthis._map.transform.width-wt/2&&at.push("right"),He=at.length===0?"bottom":at.join("-")}var re=Re.add(Xe[He]).round();m.setTransform(this._container,ol[He]+" translate("+re.x+"px,"+re.y+"px)"),is(this._container,He,"popup")}},$.prototype._onClose=function(){this.remove()},$}(s.Evented);function Mt(q){if(q){if(typeof q=="number"){var $=Math.round(Math.sqrt(.5*Math.pow(q,2)));return{center:new s.Point(0,0),top:new s.Point(0,q),"top-left":new s.Point($,$),"top-right":new s.Point(-$,$),bottom:new s.Point(0,-q),"bottom-left":new s.Point($,-$),"bottom-right":new s.Point(-$,-$),left:new s.Point(q,0),right:new s.Point(-q,0)}}if(q instanceof s.Point||Array.isArray(q)){var W=s.Point.convert(q);return{center:W,top:W,"top-left":W,"top-right":W,bottom:W,"bottom-left":W,"bottom-right":W,left:W,right:W}}return{center:s.Point.convert(q.center||[0,0]),top:s.Point.convert(q.top||[0,0]),"top-left":s.Point.convert(q["top-left"]||[0,0]),"top-right":s.Point.convert(q["top-right"]||[0,0]),bottom:s.Point.convert(q.bottom||[0,0]),"bottom-left":s.Point.convert(q["bottom-left"]||[0,0]),"bottom-right":s.Point.convert(q["bottom-right"]||[0,0]),left:s.Point.convert(q.left||[0,0]),right:s.Point.convert(q.right||[0,0])}}return Mt(new s.Point(0,0))}var kt={version:s.version,supported:T,setRTLTextPlugin:s.setRTLTextPlugin,getRTLTextPluginStatus:s.getRTLTextPluginStatus,Map:bs,NavigationControl:po,GeolocateControl:as,AttributionControl:to,ScaleControl:Si,FullscreenControl:rt,Popup:vt,Marker:_a,Style:cr,LngLat:s.LngLat,LngLatBounds:s.LngLatBounds,Point:s.Point,MercatorCoordinate:s.MercatorCoordinate,Evented:s.Evented,config:s.config,prewarm:function(){Ct().acquire(ut)},clearPrewarmedResources:function(){var q=bt;q&&(q.isPreloaded()&&q.numActive()===1?(q.release(ut),bt=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 s.config.ACCESS_TOKEN},set accessToken(q){s.config.ACCESS_TOKEN=q},get baseApiUrl(){return s.config.API_URL},set baseApiUrl(q){s.config.API_URL=q},get workerCount(){return pt.workerCount},set workerCount(q){pt.workerCount=q},get maxParallelImageRequests(){return s.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(q){s.config.MAX_PARALLEL_IMAGE_REQUESTS=q},clearStorage:function(q){s.clearTileCache(q)},workerUrl:""};return kt}),_}()},27084:function(D){D.exports=Math.log2||function(E){return Math.log(E)*Math.LOG2E}},16825:function(D,E,e){D.exports=function(w,s){s||(s=w,w=window);var T=0,m=0,f=0,l={shift:!1,alt:!1,control:!1,meta:!1},t=!1;function a(v){var b=!1;return"altKey"in v&&(b=b||v.altKey!==l.alt,l.alt=!!v.altKey),"shiftKey"in v&&(b=b||v.shiftKey!==l.shift,l.shift=!!v.shiftKey),"ctrlKey"in v&&(b=b||v.ctrlKey!==l.control,l.control=!!v.ctrlKey),"metaKey"in v&&(b=b||v.metaKey!==l.meta,l.meta=!!v.metaKey),b}function r(v,b){var g=_.x(b),y=_.y(b);"buttons"in b&&(v=0|b.buttons),(v!==T||g!==m||y!==f||a(b))&&(T=0|v,m=g||0,f=y||0,s&&s(T,m,f,l))}function n(v){r(0,v)}function o(){(T||m||f||l.shift||l.alt||l.meta||l.control)&&(m=f=0,T=0,l.shift=l.alt=l.control=l.meta=!1,s&&s(0,0,0,l))}function i(v){a(v)&&s&&s(T,m,f,l)}function u(v){_.buttons(v)===0?r(0,v):r(T,v)}function p(v){r(T|_.buttons(v),v)}function c(v){r(T&~_.buttons(v),v)}function x(){t||(t=!0,w.addEventListener("mousemove",u),w.addEventListener("mousedown",p),w.addEventListener("mouseup",c),w.addEventListener("mouseleave",n),w.addEventListener("mouseenter",n),w.addEventListener("mouseout",n),w.addEventListener("mouseover",n),w.addEventListener("blur",o),w.addEventListener("keyup",i),w.addEventListener("keydown",i),w.addEventListener("keypress",i),w!==window&&(window.addEventListener("blur",o),window.addEventListener("keyup",i),window.addEventListener("keydown",i),window.addEventListener("keypress",i)))}x();var d={element:w};return Object.defineProperties(d,{enabled:{get:function(){return t},set:function(v){v?x():t&&(t=!1,w.removeEventListener("mousemove",u),w.removeEventListener("mousedown",p),w.removeEventListener("mouseup",c),w.removeEventListener("mouseleave",n),w.removeEventListener("mouseenter",n),w.removeEventListener("mouseout",n),w.removeEventListener("mouseover",n),w.removeEventListener("blur",o),w.removeEventListener("keyup",i),w.removeEventListener("keydown",i),w.removeEventListener("keypress",i),w!==window&&(window.removeEventListener("blur",o),window.removeEventListener("keyup",i),window.removeEventListener("keydown",i),window.removeEventListener("keypress",i)))},enumerable:!0},buttons:{get:function(){return T},enumerable:!0},x:{get:function(){return m},enumerable:!0},y:{get:function(){return f},enumerable:!0},mods:{get:function(){return l},enumerable:!0}}),d};var _=e(74311)},48956:function(D){var E={left:0,top:0};D.exports=function(e,_,w){_=_||e.currentTarget||e.srcElement,Array.isArray(w)||(w=[0,0]);var s,T=e.clientX||0,m=e.clientY||0,f=(s=_)===window||s===document||s===document.body?E:s.getBoundingClientRect();return w[0]=T-f.left,w[1]=m-f.top,w}},74311:function(D,E){function e(_){return _.target||_.srcElement||window}E.buttons=function(_){if(typeof _=="object"){if("buttons"in _)return _.buttons;if("which"in _){if((w=_.which)===2)return 4;if(w===3)return 2;if(w>0)return 1<=0)return 1<0&&r(o,k))}catch(h){p.call(new x(k),h)}}}function p(g){var y=this;y.triggered||(y.triggered=!0,y.def&&(y=y.def),y.msg=g,y.state=2,y.chain.length>0&&r(o,y))}function c(g,y,k,h){for(var M=0;M1&&(t*=v=Math.sqrt(v),a*=v);var b=t*t,g=a*a,y=(n==o?-1:1)*Math.sqrt(Math.abs((b*g-b*d*d-g*x*x)/(b*d*d+g*x*x)));y==1/0&&(y=1);var k=y*t*d/a+(f+i)/2,h=y*-a*x/t+(l+u)/2,M=Math.asin(((l-h)/a).toFixed(9)),A=Math.asin(((u-h)/a).toFixed(9));(M=fA&&(M-=2*E),!o&&A>M&&(A-=2*E)}if(Math.abs(A-M)>e){var C=A,L=i,P=u;A=M+e*(o&&A>M?1:-1);var I=s(i=k+t*Math.cos(A),u=h+a*Math.sin(A),t,a,r,0,o,L,P,[A,C,k,h])}var R=Math.tan((A-M)/4),U=4/3*t*R,B=4/3*a*R,G=[2*f-(f+U*Math.sin(M)),2*l-(l-B*Math.cos(M)),i+U*Math.sin(A),u-B*Math.cos(A),i,u];if(p)return G;I&&(G=G.concat(I));for(var N=0;N7&&(t.push(v.splice(0,7)),v.unshift("C"));break;case"S":var g=p,y=c;l!="C"&&l!="S"||(g+=g-a,y+=y-r),v=["C",g,y,v[1],v[2],v[3],v[4]];break;case"T":l=="Q"||l=="T"?(i=2*p-i,u=2*c-u):(i=p,u=c),v=w(p,c,i,u,v[1],v[2]);break;case"Q":i=v[1],u=v[2],v=w(p,c,v[1],v[2],v[3],v[4]);break;case"L":v=_(p,c,v[1],v[2]);break;case"H":v=_(p,c,v[1],c);break;case"V":v=_(p,c,p,v[1]);break;case"Z":v=_(p,c,n,o)}l=b,p=v[v.length-2],c=v[v.length-1],v.length>4?(a=v[v.length-4],r=v[v.length-3]):(a=p,r=c),t.push(v)}return t}},56131:function(D){var E=Object.getOwnPropertySymbols,e=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable;function w(s){if(s==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(s)}D.exports=function(){try{if(!Object.assign)return!1;var s=new String("abc");if(s[5]="de",Object.getOwnPropertyNames(s)[0]==="5")return!1;for(var T={},m=0;m<10;m++)T["_"+String.fromCharCode(m)]=m;if(Object.getOwnPropertyNames(T).map(function(l){return T[l]}).join("")!=="0123456789")return!1;var f={};return"abcdefghijklmnopqrst".split("").forEach(function(l){f[l]=l}),Object.keys(Object.assign({},f)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}()?Object.assign:function(s,T){for(var m,f,l=w(s),t=1;t"u")return!1;for(var o in window)try{if(!r["$"+o]&&w.call(window,o)&&window[o]!==null&&typeof window[o]=="object")try{a(window[o])}catch{return!0}}catch{return!0}return!1}();_=function(o){var i=o!==null&&typeof o=="object",u=s.call(o)==="[object Function]",p=T(o),c=i&&s.call(o)==="[object String]",x=[];if(!i&&!u&&!p)throw new TypeError("Object.keys called on a non-object");var d=l&&u;if(c&&o.length>0&&!w.call(o,0))for(var v=0;v0)for(var b=0;b"u"||!n)return a(h);try{return a(h)}catch{return!1}}(o),k=0;k=0&&E.call(e.callee)==="[object Function]"),w}},88641:function(D){function E(w,s){if(typeof w!="string")return[w];var T=[w];typeof s=="string"||Array.isArray(s)?s={brackets:s}:s||(s={});var m=s.brackets?Array.isArray(s.brackets)?s.brackets:[s.brackets]:["{}","[]","()"],f=s.escape||"___",l=!!s.flat;m.forEach(function(a){var r=new RegExp(["\\",a[0],"[^\\",a[0],"\\",a[1],"]*\\",a[1]].join("")),n=[];function o(i,u,p){var c=T.push(i.slice(a[0].length,-a[1].length))-1;return n.push(c),f+c+f}T.forEach(function(i,u){for(var p,c=0;i!=p;)if(p=i,i=i.replace(r,o),c++>1e4)throw Error("References have circular dependency. Please, check them.");T[u]=i}),n=n.reverse(),T=T.map(function(i){return n.forEach(function(u){i=i.replace(new RegExp("(\\"+f+u+"\\"+f+")","g"),a[0]+"$1"+a[1])}),i})});var t=new RegExp("\\"+f+"([0-9]+)\\"+f);return l?T:function a(r,n,o){for(var i,u=[],p=0;i=t.exec(r);){if(p++>1e4)throw Error("Circular references in parenthesis");u.push(r.slice(0,i.index)),u.push(a(n[i[1]],n)),r=r.slice(i.index+i[0].length)}return u.push(r),u}(T[0],T)}function e(w,s){if(s&&s.flat){var T,m=s&&s.escape||"___",f=w[0];if(!f)return"";for(var l=new RegExp("\\"+m+"([0-9]+)\\"+m),t=0;f!=T;){if(t++>1e4)throw Error("Circular references in "+w);T=f,f=f.replace(l,a)}return f}return w.reduce(function r(n,o){return Array.isArray(o)&&(o=o.reduce(r,"")),n+o},"");function a(r,n){if(w[n]==null)throw Error("Reference "+n+"is undefined");return w[n]}}function _(w,s){return Array.isArray(w)?e(w,s):E(w,s)}_.parse=E,_.stringify=e,D.exports=_},18863:function(D,E,e){var _=e(71299);D.exports=function(w){var s;return arguments.length>1&&(w=arguments),typeof w=="string"?w=w.split(/\s/).map(parseFloat):typeof w=="number"&&(w=[w]),w.length&&typeof w[0]=="number"?s=w.length===1?{width:w[0],height:w[0],x:0,y:0}:w.length===2?{width:w[0],height:w[1],x:0,y:0}:{x:w[0],y:w[1],width:w[2]-w[0]||0,height:w[3]-w[1]||0}:w&&(s={x:(w=_(w,{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:w.top||0},w.width==null?w.right?s.width=w.right-s.x:s.width=0:s.width=w.width,w.height==null?w.bottom?s.height=w.bottom-s.y:s.height=0:s.height=w.height),s}},95616:function(D){D.exports=function(w){var s=[];return w.replace(e,function(T,m,f){var l=m.toLowerCase();for(f=function(t){var a=t.match(_);return a?a.map(Number):[]}(f),l=="m"&&f.length>2&&(s.push([m].concat(f.splice(0,2))),l="l",m=m=="m"?"l":"L");;){if(f.length==E[l])return f.unshift(m),s.push(f);if(f.lengthT!=o>T&&s<(n-a)*(T-r)/(o-r)+a&&(m=!m)}return m}},52142:function(D,E,e){var _,w=e(69444),s=e(29023),T=e(87263),m=e(11328),f=e(55968),l=e(10670),t=!1,a=s();function r(n,o,i){var u=_.segments(n),p=_.segments(o),c=i(_.combine(u,p));return _.polygon(c)}_={buildLog:function(n){return n===!0?t=w():n===!1&&(t=!1),t!==!1&&t.list},epsilon:function(n){return a.epsilon(n)},segments:function(n){var o=T(!0,a,t);return n.regions.forEach(o.addRegion),{segments:o.calculate(n.inverted),inverted:n.inverted}},combine:function(n,o){return{combined:T(!1,a,t).calculate(n.segments,n.inverted,o.segments,o.inverted),inverted1:n.inverted,inverted2:o.inverted}},selectUnion:function(n){return{segments:f.union(n.combined,t),inverted:n.inverted1||n.inverted2}},selectIntersect:function(n){return{segments:f.intersect(n.combined,t),inverted:n.inverted1&&n.inverted2}},selectDifference:function(n){return{segments:f.difference(n.combined,t),inverted:n.inverted1&&!n.inverted2}},selectDifferenceRev:function(n){return{segments:f.differenceRev(n.combined,t),inverted:!n.inverted1&&n.inverted2}},selectXor:function(n){return{segments:f.xor(n.combined,t),inverted:n.inverted1!==n.inverted2}},polygon:function(n){return{regions:m(n.segments,a,t),inverted:n.inverted}},polygonFromGeoJSON:function(n){return l.toPolygon(_,n)},polygonToGeoJSON:function(n){return l.fromPolygon(_,a,n)},union:function(n,o){return r(n,o,_.selectUnion)},intersect:function(n,o){return r(n,o,_.selectIntersect)},difference:function(n,o){return r(n,o,_.selectDifference)},differenceRev:function(n,o){return r(n,o,_.selectDifferenceRev)},xor:function(n,o){return r(n,o,_.selectXor)}},typeof window=="object"&&(window.PolyBool=_),D.exports=_},69444:function(D){D.exports=function(){var E,e=0,_=!1;function w(s,T){return E.list.push({type:s,data:T?JSON.parse(JSON.stringify(T)):void 0}),E}return E={list:[],segmentId:function(){return e++},checkIntersection:function(s,T){return w("check",{seg1:s,seg2:T})},segmentChop:function(s,T){return w("div_seg",{seg:s,pt:T}),w("chop",{seg:s,pt:T})},statusRemove:function(s){return w("pop_seg",{seg:s})},segmentUpdate:function(s){return w("seg_update",{seg:s})},segmentNew:function(s,T){return w("new_seg",{seg:s,primary:T})},segmentRemove:function(s){return w("rem_seg",{seg:s})},tempStatus:function(s,T,m){return w("temp_status",{seg:s,above:T,below:m})},rewind:function(s){return w("rewind",{seg:s})},status:function(s,T,m){return w("status",{seg:s,above:T,below:m})},vert:function(s){return s===_?E:(_=s,w("vert",{x:s}))},log:function(s){return typeof s!="string"&&(s=JSON.stringify(s,!1," ")),w("log",{txt:s})},reset:function(){return w("reset")},selected:function(s){return w("selected",{segs:s})},chainStart:function(s){return w("chain_start",{seg:s})},chainRemoveHead:function(s,T){return w("chain_rem_head",{index:s,pt:T})},chainRemoveTail:function(s,T){return w("chain_rem_tail",{index:s,pt:T})},chainNew:function(s,T){return w("chain_new",{pt1:s,pt2:T})},chainMatch:function(s){return w("chain_match",{index:s})},chainClose:function(s){return w("chain_close",{index:s})},chainAddHead:function(s,T){return w("chain_add_head",{index:s,pt:T})},chainAddTail:function(s,T){return w("chain_add_tail",{index:s,pt:T})},chainConnect:function(s,T){return w("chain_con",{index1:s,index2:T})},chainReverse:function(s){return w("chain_rev",{index:s})},chainJoin:function(s,T){return w("chain_join",{index1:s,index2:T})},done:function(){return w("done")}}}},29023:function(D){D.exports=function(E){typeof E!="number"&&(E=1e-10);var e={epsilon:function(_){return typeof _=="number"&&(E=_),E},pointAboveOrOnLine:function(_,w,s){var T=w[0],m=w[1],f=s[0],l=s[1],t=_[0];return(f-T)*(_[1]-m)-(l-m)*(t-T)>=-E},pointBetween:function(_,w,s){var T=_[1]-w[1],m=s[0]-w[0],f=_[0]-w[0],l=s[1]-w[1],t=f*m+T*l;return!(t-E)},pointsSameX:function(_,w){return Math.abs(_[0]-w[0])E!=f-T>E&&(m-a)*(T-r)/(f-r)+a-s>E&&(l=!l),m=a,f=r}return l}};return e}},10670:function(D){var E={toPolygon:function(e,_){function w(m){if(m.length<=0)return e.segments({inverted:!1,regions:[]});function f(a){var r=a.slice(0,a.length-1);return e.segments({inverted:!1,regions:[r]})}for(var l=f(m[0]),t=1;t0})}function p(C,L){var P=C.seg,I=L.seg,R=P.start,U=P.end,B=I.start,G=I.end;T&&T.checkIntersection(P,I);var N=s.linesIntersect(R,U,B,G);if(N===!1){if(!s.pointsCollinear(R,U,B)||s.pointsSame(R,G)||s.pointsSame(U,B))return!1;var j=s.pointsSame(R,B),V=s.pointsSame(U,G);if(j&&V)return L;var H=!j&&s.pointBetween(R,B,G),ee=!V&&s.pointBetween(U,B,G);if(j)return ee?a(L,U):a(C,G),L;H&&(V||(ee?a(L,U):a(C,G)),a(L,R))}else N.alongA===0&&(N.alongB===-1?a(C,B):N.alongB===0?a(C,N.pt):N.alongB===1&&a(C,G)),N.alongB===0&&(N.alongA===-1?a(L,R):N.alongA===0?a(L,N.pt):N.alongA===1&&a(L,U));return!1}for(var c=[];!f.isEmpty();){var x=f.getHead();if(T&&T.vert(x.pt[0]),x.isStart){let C=function(){if(v){var L=p(x,v);if(L)return L}return!!b&&p(x,b)};var A=C;T&&T.segmentNew(x.seg,x.primary);var d=u(x),v=d.before?d.before.ev:null,b=d.after?d.after.ev:null;T&&T.tempStatus(x.seg,!!v&&v.seg,!!b&&b.seg);var g,y,k=C();if(k&&(w?(y=x.seg.myFill.below===null||x.seg.myFill.above!==x.seg.myFill.below)&&(k.seg.myFill.above=!k.seg.myFill.above):k.seg.otherFill=x.seg.myFill,T&&T.segmentUpdate(k.seg),x.other.remove(),x.remove()),f.getHead()!==x){T&&T.rewind(x.seg);continue}w?(y=x.seg.myFill.below===null||x.seg.myFill.above!==x.seg.myFill.below,x.seg.myFill.below=b?b.seg.myFill.above:n,x.seg.myFill.above=y?!x.seg.myFill.below:x.seg.myFill.below):x.seg.otherFill===null&&(g=b?x.primary===b.primary?b.seg.otherFill.above:b.seg.myFill.above:x.primary?o:n,x.seg.otherFill={above:g,below:g}),T&&T.status(x.seg,!!v&&v.seg,!!b&&b.seg),x.other.status=d.insert(_.node({ev:x}))}else{var h=x.status;if(h===null)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(i.exists(h.prev)&&i.exists(h.next)&&p(h.prev.ev,h.next.ev),T&&T.statusRemove(h.ev.seg),h.remove(),!x.primary){var M=x.seg.myFill;x.seg.myFill=x.seg.otherFill,x.seg.otherFill=M}c.push(x.seg)}f.getHead().remove()}return T&&T.done(),c}return w?{addRegion:function(n){for(var o,i,u,p=n[n.length-1],c=0;c0&&!this.aborted;){var T=this.ifds_to_read.shift();T.offset&&this.scan_ifd(T.id,T.offset,w)}},_.prototype.read_uint16=function(w){var s=this.input;if(w+2>s.length)throw E("unexpected EOF","EBADDATA");return this.big_endian?256*s[w]+s[w+1]:s[w]+256*s[w+1]},_.prototype.read_uint32=function(w){var s=this.input;if(w+4>s.length)throw E("unexpected EOF","EBADDATA");return this.big_endian?16777216*s[w]+65536*s[w+1]+256*s[w+2]+s[w+3]:s[w]+256*s[w+1]+65536*s[w+2]+16777216*s[w+3]},_.prototype.is_subifd_link=function(w,s){return w===0&&s===34665||w===0&&s===34853||w===34665&&s===40965},_.prototype.exif_format_length=function(w){switch(w){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}},_.prototype.exif_format_read=function(w,s){var T;switch(w){case 1:case 2:return this.input[s];case 6:return(T=this.input[s])|33554430*(128&T);case 3:return this.read_uint16(s);case 8:return(T=this.read_uint16(s))|131070*(32768&T);case 4:return this.read_uint32(s);case 9:return 0|this.read_uint32(s);default:return null}},_.prototype.scan_ifd=function(w,s,T){var m=this.read_uint16(s);s+=2;for(var f=0;fthis.input.length)throw E("unexpected EOF","EBADDATA");for(var u=[],p=o,c=0;c0&&(this.ifds_to_read.push({id:l,offset:u[0]}),i=!0),T({is_big_endian:this.big_endian,ifd:w,tag:l,format:t,count:a,entry_offset:s+this.start,data_length:n,data_offset:o+this.start,value:u,is_subifd_link:i})===!1)return void(this.aborted=!0);s+=12}w===0&&this.ifds_to_read.push({id:1,offset:this.read_uint32(s)})},D.exports.ExifParser=_,D.exports.get_orientation=function(w){var s=0;try{return new _(w,0,w.length).each(function(T){if(T.ifd===0&&T.tag===274&&Array.isArray(T.value))return s=T.value[0],!1}),s}catch{return-1}}},76767:function(D,E,e){var _=e(14847).n8,w=e(14847).Ag;function s(a,r){if(a.length<4+r)return null;var n=w(a,r);return a.length>4&15,o=15&a[4],i=a[5]>>4&15,u=_(a,6),p=8,c=0;cd.width||x.width===d.width&&x.height>d.height?x:d}),i=n.reduce(function(x,d){return x.height>d.height||x.height===d.height&&x.width>d.width?x:d}),o.width>i.height||o.width===i.height&&o.height>i.width?o:i),p=1;r.transforms.forEach(function(x){var d={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},v={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(x.type==="imir"&&(p=x.value===0?v[p]:d[p=d[p=v[p]]]),x.type==="irot")for(var b=0;b1&&(u.variants=i.variants),i.orientation&&(u.orientation=i.orientation),i.exif_location&&i.exif_location.offset+i.exif_location.length<=l.length){var p=s(l,i.exif_location.offset),c=l.slice(i.exif_location.offset+p+4,i.exif_location.offset+i.exif_location.length),x=m.get_orientation(c);x>0&&(u.orientation=x)}return u}}}}}}},2504:function(D,E,e){var _=e(14847).eG,w=e(14847).OF,s=e(14847).mP,T=_("BM");D.exports=function(m){if(!(m.length<26)&&w(m,0,T))return{width:s(m,18),height:s(m,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}},47342:function(D,E,e){var _=e(14847).eG,w=e(14847).OF,s=e(14847).mP,T=_("GIF87a"),m=_("GIF89a");D.exports=function(f){if(!(f.length<10)&&(w(f,0,T)||w(f,0,m)))return{width:s(f,6),height:s(f,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}},31355:function(D,E,e){var _=e(14847).mP;D.exports=function(w){var s=_(w,0),T=_(w,2),m=_(w,4);if(s===0&&T===1&&m){for(var f=[],l={width:0,height:0},t=0;tl.width||r>l.height)&&(l=n)}return{width:l.width,height:l.height,variants:f,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}},54261:function(D,E,e){var _=e(14847).n8,w=e(14847).eG,s=e(14847).OF,T=e(71371),m=w("Exif\0\0");D.exports=function(f){if(!(f.length<2)&&f[0]===255&&f[1]===216&&f[2]===255)for(var l=2;;){for(;;){if(f.length-l<2)return;if(f[l++]===255)break}for(var t,a,r=f[l++];r===255;)r=f[l++];if(208<=r&&r<=217||r===1)t=0;else{if(!(192<=r&&r<=254)||f.length-l<2)return;t=_(f,l)-2,l+=2}if(r===217||r===218)return;if(r===225&&t>=10&&s(f,l,m)&&(a=T.get_orientation(f.slice(l+6,l+t))),t>=5&&192<=r&&r<=207&&r!==196&&r!==200&&r!==204){if(f.length-l0&&(n.orientation=a),n}l+=t}}},6303:function(D,E,e){var _=e(14847).eG,w=e(14847).OF,s=e(14847).Ag,T=_(`‰PNG\r + +`),m=_("IHDR");D.exports=function(f){if(!(f.length<24)&&w(f,0,T)&&w(f,12,m))return{width:s(f,16),height:s(f,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}},38689:function(D,E,e){var _=e(14847).eG,w=e(14847).OF,s=e(14847).Ag,T=_("8BPS\0");D.exports=function(m){if(!(m.length<22)&&w(m,0,T))return{width:s(m,18),height:s(m,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}},6881:function(D){function E(l){return typeof l=="number"&&isFinite(l)&&l>0}var e=/<[-_.:a-zA-Z0-9][^>]*>/,_=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,w=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,s=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,T=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,m=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function f(l){return m.test(l)?l.match(m)[0]:"px"}D.exports=function(l){if(function(v){var b,g=0,y=v.length;for(v[0]===239&&v[1]===187&&v[2]===191&&(g=3);g>14&16383),type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function r(n,o){return{width:1+(n[o+6]<<16|n[o+5]<<8|n[o+4]),height:1+(n[o+9]<n.length)){for(;o+8=10?i=i||t(n,o+8):c==="VP8L"&&x>=9?i=i||a(n,o+8):c==="VP8X"&&x>=10?i=i||r(n,o+8):c==="EXIF"&&(u=m.get_orientation(n.slice(o+8,o+8+x)),o=1/0),o+=8+x}else o++;if(i)return u>0&&(i.orientation=u),i}}}},91497:function(D,E,e){D.exports={avif:e(24461),bmp:e(2504),gif:e(47342),ico:e(31355),jpeg:e(54261),png:e(6303),psd:e(38689),svg:e(6881),tiff:e(66278),webp:e(90784)}},33575:function(D,E,e){var _=e(91497);D.exports=function(w){return function(s){for(var T=Object.keys(_),m=0;m1)for(var p=1;p"u"?e.g:window,s=["moz","webkit"],T="AnimationFrame",m=w["request"+T],f=w["cancel"+T]||w["cancelRequest"+T],l=0;!m&&l1&&(C.scaleRatio=[C.scale[0]*C.viewport.width,C.scale[1]*C.viewport.height],i(C),C.after&&C.after(C))}function M(C){if(C){C.length!=null?typeof C[0]=="number"&&(C=[{positions:C}]):Array.isArray(C)||(C=[C]);var L=0,P=0;if(y.groups=g=C.map(function(j,V){var H=g[V];return j&&(typeof j=="function"?j={after:j}:typeof j[0]=="number"&&(j={positions:j}),j=T(j,{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||(g[V]=H={id:V,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},j=m({},b,j)),s(H,j,[{lineWidth:function(ee){return .5*+ee},capSize:function(ee){return .5*+ee},opacity:parseFloat,errors:function(ee){return ee=f(ee),P+=ee.length,ee},positions:function(ee,Q){return ee=f(ee,"float64"),Q.count=Math.floor(ee.length/2),Q.bounds=_(ee,2),Q.offset=L,L+=Q.count,ee}},{color:function(ee,Q){var X=Q.count;if(ee||(ee="transparent"),!Array.isArray(ee)||typeof ee[0]=="number"){var Y=ee;ee=Array(X);for(var K=0;K 0. && baClipping < length(normalWidth * endBotJoin)) { + //handle miter clipping + bTopCoord -= normalWidth * endTopJoin; + bTopCoord += normalize(endTopJoin * normalWidth) * baClipping; + } + + if (nextReverse) { + //make join rectangular + vec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5; + float normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.); + bBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5; + bTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5; + } + else if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) { + //handle miter clipping + aBotCoord -= normalWidth * startBotJoin; + aBotCoord += normalize(startBotJoin * normalWidth) * abClipping; + } + + vec2 aTopPosition = (aTopCoord) * adjustedScale + translate; + vec2 aBotPosition = (aBotCoord) * adjustedScale + translate; + + vec2 bTopPosition = (bTopCoord) * adjustedScale + translate; + vec2 bBotPosition = (bBotCoord) * adjustedScale + translate; + + //position is normalized 0..1 coord on the screen + vec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd; + + startCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy; + endCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy; + + gl_Position = vec4(position * 2.0 - 1.0, depth, 1); + + enableStartMiter = step(dot(currTangent, prevTangent), .5); + enableEndMiter = step(dot(currTangent, nextTangent), .5); + + //bevel miter cutoffs + if (miterMode == 1.) { + if (enableStartMiter == 1.) { + vec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5; + startCutoff = vec4(aCoord, aCoord); + startCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio; + startCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + startCutoff += viewport.xyxy; + startCutoff += startMiterWidth.xyxy; + } + + if (enableEndMiter == 1.) { + vec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5; + endCutoff = vec4(bCoord, bCoord); + endCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio; + endCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + endCutoff += viewport.xyxy; + endCutoff += endMiterWidth.xyxy; + } + } + + //round miter cutoffs + else if (miterMode == 2.) { + if (enableStartMiter == 1.) { + vec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5; + startCutoff = vec4(aCoord, aCoord); + startCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio; + startCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + startCutoff += viewport.xyxy; + startCutoff += startMiterWidth.xyxy; + } + + if (enableEndMiter == 1.) { + vec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5; + endCutoff = vec4(bCoord, bCoord); + endCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio; + endCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + endCutoff += viewport.xyxy; + endCutoff += endMiterWidth.xyxy; + } + } +} +`]),frag:T([`precision highp float; +#define GLSLIFY 1 + +uniform float dashLength, pixelRatio, thickness, opacity, id, miterMode; +uniform sampler2D dashTexture; + +varying vec4 fragColor; +varying vec2 tangent; +varying vec4 startCutoff, endCutoff; +varying vec2 startCoord, endCoord; +varying float enableStartMiter, enableEndMiter; + +float distToLine(vec2 p, vec2 a, vec2 b) { + vec2 diff = b - a; + vec2 perp = normalize(vec2(-diff.y, diff.x)); + return dot(p - a, perp); +} + +void main() { + float alpha = 1., distToStart, distToEnd; + float cutoff = thickness * .5; + + //bevel miter + if (miterMode == 1.) { + if (enableStartMiter == 1.) { + distToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw); + if (distToStart < -1.) { + discard; + return; + } + alpha *= min(max(distToStart + 1., 0.), 1.); + } + + if (enableEndMiter == 1.) { + distToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw); + if (distToEnd < -1.) { + discard; + return; + } + alpha *= min(max(distToEnd + 1., 0.), 1.); + } + } + + // round miter + else if (miterMode == 2.) { + if (enableStartMiter == 1.) { + distToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw); + if (distToStart < 0.) { + float radius = length(gl_FragCoord.xy - startCoord); + + if(radius > cutoff + .5) { + discard; + return; + } + + alpha -= smoothstep(cutoff - .5, cutoff + .5, radius); + } + } + + if (enableEndMiter == 1.) { + distToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw); + if (distToEnd < 0.) { + float radius = length(gl_FragCoord.xy - endCoord); + + if(radius > cutoff + .5) { + discard; + return; + } + + alpha -= smoothstep(cutoff - .5, cutoff + .5, radius); + } + } + } + + float t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25; + float dash = texture2D(dashTexture, vec2(t, .5)).r; + + gl_FragColor = fragColor; + gl_FragColor.a *= alpha * opacity * dash; +} +`]),attributes:{lineEnd:{buffer:d,divisor:0,stride:8,offset:0},lineTop:{buffer:d,divisor:0,stride:8,offset:4},aColor:{buffer:c.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:c.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:c.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:c.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:c.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:c.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},v))}catch{x=b}return{fill:c({primitive:"triangle",elements:function(g,y){return y.triangles},offset:0,vert:T([`precision highp float; +#define GLSLIFY 1 + +attribute vec2 position, positionFract; + +uniform vec4 color; +uniform vec2 scale, scaleFract, translate, translateFract; +uniform float pixelRatio, id; +uniform vec4 viewport; +uniform float opacity; + +varying vec4 fragColor; + +const float MAX_LINES = 256.; + +void main() { + float depth = (MAX_LINES - 4. - id) / (MAX_LINES); + + vec2 position = position * scale + translate + + positionFract * scale + translateFract + + position * scaleFract + + positionFract * scaleFract; + + gl_Position = vec4(position * 2.0 - 1.0, depth, 1); + + fragColor = color / 255.; + fragColor.a *= opacity; +} +`]),frag:T([`precision highp float; +#define GLSLIFY 1 + +varying vec4 fragColor; + +void main() { + gl_FragColor = fragColor; +} +`]),uniforms:{scale:c.prop("scale"),color:c.prop("fill"),scaleFract:c.prop("scaleFract"),translateFract:c.prop("translateFract"),translate:c.prop("translate"),opacity:c.prop("opacity"),pixelRatio:c.context("pixelRatio"),id:c.prop("id"),viewport:function(g,y){return[y.viewport.x,y.viewport.y,g.viewportWidth,g.viewportHeight]}},attributes:{position:{buffer:c.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:c.prop("positionFractBuffer"),stride:8,offset:8}},blend:v.blend,depth:{enable:!1},scissor:v.scissor,stencil:v.stencil,viewport:v.viewport}),rect:b,miter:x}},p.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},p.prototype.render=function(){for(var c,x=[],d=arguments.length;d--;)x[d]=arguments[d];x.length&&(c=this).update.apply(c,x),this.draw()},p.prototype.draw=function(){for(var c=this,x=[],d=arguments.length;d--;)x[d]=arguments[d];return(x.length?x:this.passes).forEach(function(v,b){var g;if(v&&Array.isArray(v))return(g=c).draw.apply(g,v);typeof v=="number"&&(v=c.passes[v]),v&&v.count>1&&v.opacity&&(c.regl._refresh(),v.fill&&v.triangles&&v.triangles.length>2&&c.shaders.fill(v),v.thickness&&(v.scale[0]*v.viewport.width>p.precisionThreshold||v.scale[1]*v.viewport.height>p.precisionThreshold||v.join==="rect"||!v.join&&(v.thickness<=2||v.count>=p.maxPoints)?c.shaders.rect(v):c.shaders.miter(v)))}),this},p.prototype.update=function(c){var x=this;if(c){c.length!=null?typeof c[0]=="number"&&(c=[{positions:c}]):Array.isArray(c)||(c=[c]);var d=this.regl,v=this.gl;if(c.forEach(function(h,M){var A=x.passes[M];if(h!==void 0)if(h!==null){if(typeof h[0]=="number"&&(h={positions:h}),h=m(h,{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"}),A||(x.passes[M]=A={id:M,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:d.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:d.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:d.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:d.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},h=s({},p.defaults,h)),h.thickness!=null&&(A.thickness=parseFloat(h.thickness)),h.opacity!=null&&(A.opacity=parseFloat(h.opacity)),h.miterLimit!=null&&(A.miterLimit=parseFloat(h.miterLimit)),h.overlay!=null&&(A.overlay=!!h.overlay,M=te});(X=X.slice(0,ie)).push(te)}for(var oe=function(Tt){var xt=B.slice(2*K,2*X[Tt]).concat(te?B.slice(2*te):[]),Dt=(A.hole||[]).map(function(Ft){return Ft-te+(X[Tt]-K)}),It=l(xt,Dt);It=It.map(function(Ft){return Ft+K+(Ft+Kv.length)&&(b=v.length);for(var g=0,y=new Array(b);g 1.0 + delta) { + discard; + } + + alpha -= smoothstep(1.0 - delta, 1.0 + delta, radius); + + float borderRadius = fragBorderRadius; + float ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius); + vec4 color = mix(fragColor, fragBorderColor, ratio); + color.a *= alpha * opacity; + gl_FragColor = color; +} +`]),C.vert=a([`precision highp float; +#define GLSLIFY 1 + +attribute float x, y, xFract, yFract; +attribute float size, borderSize; +attribute vec4 colorId, borderColorId; +attribute float isActive; + +uniform bool constPointSize; +uniform float pixelRatio; +uniform vec2 paletteSize, scale, scaleFract, translate, translateFract; +uniform sampler2D paletteTexture; + +const float maxSize = 100.; + +varying vec4 fragColor, fragBorderColor; +varying float fragBorderRadius, fragWidth; + +float pointSizeScale = (constPointSize) ? 2. : pixelRatio; + +bool isDirect = (paletteSize.x < 1.); + +vec4 getColor(vec4 id) { + return isDirect ? id / 255. : texture2D(paletteTexture, + vec2( + (id.x + .5) / paletteSize.x, + (id.y + .5) / paletteSize.y + ) + ); +} + +void main() { + // ignore inactive points + if (isActive == 0.) return; + + vec2 position = vec2(x, y); + vec2 positionFract = vec2(xFract, yFract); + + vec4 color = getColor(colorId); + vec4 borderColor = getColor(borderColorId); + + float size = size * maxSize / 255.; + float borderSize = borderSize * maxSize / 255.; + + gl_PointSize = (size + borderSize) * pointSizeScale; + + vec2 pos = (position + translate) * scale + + (positionFract + translateFract) * scale + + (position + translate) * scaleFract + + (positionFract + translateFract) * scaleFract; + + gl_Position = vec4(pos * 2. - 1., 0., 1.); + + fragBorderRadius = 1. - 2. * borderSize / (size + borderSize); + fragColor = color; + fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor; + fragWidth = 1. / gl_PointSize; +} +`]),i&&(C.frag=C.frag.replace("smoothstep","smoothStep"),A.frag=A.frag.replace("smoothstep","smoothStep")),this.drawCircle=v(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 v=this,b=arguments.length,g=new Array(b),y=0;yze)?he.tree=l(de,{bounds:ne}):ze&&ze.length&&(he.tree=ze),he.tree){var ue={primitive:"points",usage:"static",data:he.tree,type:"uint32"};he.elements?he.elements(ue):he.elements=M.elements(ue)}var me=u.float32(de);return Te({data:me,usage:"dynamic"}),Ae({data:u.fract32(de,me),usage:"dynamic"}),Me({data:new Uint8Array(Ce),type:"uint8",usage:"stream"}),de}},{marker:function(de,he,ye){var ze=he.activation;if(ze.forEach(function(me){return me&&me.destroy&&me.destroy()}),ze.length=0,de&&typeof de[0]!="number"){for(var Te=[],Ae=0,Me=Math.min(de.length,he.count);Ae=0)return h;if(v instanceof Uint8Array||v instanceof Uint8ClampedArray)b=v;else{b=new Uint8Array(v.length);for(var M=0,A=v.length;M4*y&&(this.tooManyColors=!0),this.updatePalette(g),k.length===1?k[0]:k},x.prototype.updatePalette=function(v){if(!this.tooManyColors){var b=this.maxColors,g=this.paletteTexture,y=Math.ceil(.25*v.length/b);if(y>1)for(var k=.25*(v=v.slice()).length%b;k2?(v[0],v[2],p=v[1],c=v[3]):v.length?(p=v[0],c=v[1]):(v.x,p=v.y,v.x,v.width,c=v.y+v.height),b.length>2?(x=b[0],d=b[2],b[1],b[3]):b.length?(x=b[0],d=b[1]):(x=b.x,b.y,d=b.x+b.width,b.y,b.height),[x,p,d,c]}function n(o){if(typeof o=="number")return[o,o,o,o];if(o.length===2)return[o[0],o[1],o[0],o[1]];var i=f(o);return[i.x,i.y,i.x+i.width,i.y+i.height]}D.exports=t,t.prototype.render=function(){for(var o,i=this,u=[],p=arguments.length;p--;)u[p]=arguments[p];return u.length&&(o=this).update.apply(o,u),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?this.planned==null&&(this.planned=T(function(){i.draw(),i.dirty=!0,i.planned=null})):(this.draw(),this.dirty=!0,T(function(){i.dirty=!1})),this)},t.prototype.update=function(){for(var o,i=[],u=arguments.length;u--;)i[u]=arguments[u];if(i.length){for(var p=0;pP))&&(x.lower||!(L"u"?1:window.devicePixelRatio,Lt=!1,Ct={},mt=function(_t){},Ot=function(){};if(typeof Qe=="string"?nt=document.querySelector(Qe):typeof Qe=="object"&&(typeof Qe.nodeName=="string"&&typeof Qe.appendChild=="function"&&typeof Qe.getBoundingClientRect=="function"?nt=Qe:typeof Qe.drawArrays=="function"||typeof Qe.drawElements=="function"?Oe=(Be=Qe).canvas:("gl"in Qe?Be=Qe.gl:"canvas"in Qe?Oe=s(Qe.canvas):"container"in Qe&&(ht=s(Qe.container)),"attributes"in Qe&&(Ge=Qe.attributes),"extensions"in Qe&&(ut=w(Qe.extensions)),"optionalExtensions"in Qe&&(pt=w(Qe.optionalExtensions)),"onDone"in Qe&&(mt=Qe.onDone),"profile"in Qe&&(Lt=!!Qe.profile),"pixelRatio"in Qe&&(bt=+Qe.pixelRatio),"cachedCode"in Qe&&(Ct=Qe.cachedCode))),nt&&(nt.nodeName.toLowerCase()==="canvas"?Oe=nt:ht=nt),!Be){if(!Oe){if(!(nt=function(_t,Pt,Bt){function Wt(){var Kt=window.innerWidth,nn=window.innerHeight;_t!==document.body&&(Kt=(nn=Xt.getBoundingClientRect()).right-nn.left,nn=nn.bottom-nn.top),Xt.width=Bt*Kt,Xt.height=Bt*nn}var Gt,Xt=document.createElement("canvas");return te(Xt.style,{border:0,margin:0,padding:0,top:0,left:0,width:"100%",height:"100%"}),_t.appendChild(Xt),_t===document.body&&(Xt.style.position="absolute",te(_t.style,{margin:0,padding:0})),_t!==document.body&&typeof ResizeObserver=="function"?(Gt=new ResizeObserver(function(){setTimeout(Wt)})).observe(_t):window.addEventListener("resize",Wt,!1),Wt(),{canvas:Xt,onDestroy:function(){Gt?Gt.disconnect():window.removeEventListener("resize",Wt),_t.removeChild(Xt)}}}(ht||document.body,0,bt)))return null;Oe=nt.canvas,Ot=nt.onDestroy}Ge.premultipliedAlpha===void 0&&(Ge.premultipliedAlpha=!0),Be=function(_t,Pt){function Bt(Wt){try{return _t.getContext(Wt,Pt)}catch{return null}}return Bt("webgl")||Bt("experimental-webgl")||Bt("webgl-experimental")}(Oe,Ge)}return Be?{gl:Be,canvas:Oe,container:ht,extensions:ut,optionalExtensions:pt,pixelRatio:bt,profile:Lt,cachedCode:Ct,onDone:mt,onDestroy:Ot}:(Ot(),mt("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function m(Ge,nt){for(var ht=Array(Ge),Oe=0;Oe>>=nt))<<3,(nt|=ht=(15<(Ge>>>=ht))<<2)|(ht=(3<(Ge>>>=ht))<<1)|Ge>>>ht>>1}function l(){function Ge(Oe){e:{for(var Be=16;268435456>=Be;Be*=16)if(Oe<=Be){Oe=Be;break e}Oe=0}return 0<(Be=ht[f(Oe)>>2]).length?Be.pop():new ArrayBuffer(Oe)}function nt(Oe){ht[f(Oe.byteLength)>>2].push(Oe)}var ht=m(8,function(){return[]});return{alloc:Ge,free:nt,allocType:function(Oe,Be){var Qe=null;switch(Oe){case 5120:Qe=new Int8Array(Ge(Be),0,Be);break;case 5121:Qe=new Uint8Array(Ge(Be),0,Be);break;case 5122:Qe=new Int16Array(Ge(2*Be),0,Be);break;case 5123:Qe=new Uint16Array(Ge(2*Be),0,Be);break;case 5124:Qe=new Int32Array(Ge(4*Be),0,Be);break;case 5125:Qe=new Uint32Array(Ge(4*Be),0,Be);break;case 5126:Qe=new Float32Array(Ge(4*Be),0,Be);break;default:return null}return Qe.length!==Be?Qe.subarray(0,Be):Qe},freeType:function(Oe){nt(Oe.buffer)}}}function t(Ge){return!!Ge&&typeof Ge=="object"&&Array.isArray(Ge.shape)&&Array.isArray(Ge.stride)&&typeof Ge.offset=="number"&&Ge.shape.length===Ge.stride.length&&(Array.isArray(Ge.data)||de(Ge.data))}function a(Ge,nt,ht,Oe,Be,Qe){for(var ut=0;ut(Ot=Bt)&&(Ot=mt.buffer.byteLength,Xt===5123?Ot>>=1:Xt===5125&&(Ot>>=2)),mt.vertCount=Ot,Ot=Pt,0>Pt&&(Ot=4,(Pt=mt.buffer.dimension)===1&&(Ot=0),Pt===2&&(Ot=1),Pt===3&&(Ot=4)),mt.primType=Ot}function ut(mt){Oe.elementsCount--,delete pt[mt.id],mt.buffer.destroy(),mt.buffer=null}var pt={},bt=0,Lt={uint8:5121,uint16:5123};nt.oes_element_index_uint&&(Lt.uint32=5125),Be.prototype.bind=function(){this.buffer.bind()};var Ct=[];return{create:function(mt,Ot){function _t(Wt){if(Wt)if(typeof Wt=="number")Pt(Wt),Bt.primType=4,Bt.vertCount=0|Wt,Bt.type=5121;else{var Gt=null,Xt=35044,Kt=-1,nn=-1,yn=0,ln=0;Array.isArray(Wt)||de(Wt)||t(Wt)?Gt=Wt:("data"in Wt&&(Gt=Wt.data),"usage"in Wt&&(Xt=Ae[Wt.usage]),"primitive"in Wt&&(Kt=ue[Wt.primitive]),"count"in Wt&&(nn=0|Wt.count),"type"in Wt&&(ln=Lt[Wt.type]),"length"in Wt?yn=0|Wt.length:(yn=nn,ln===5123||ln===5122?yn*=2:ln!==5125&&ln!==5124||(yn*=4))),Qe(Bt,Gt,Xt,Kt,nn,yn,ln)}else Pt(),Bt.primType=4,Bt.vertCount=0,Bt.type=5121;return _t}var Pt=ht.create(null,34963,!0),Bt=new Be(Pt._buffer);return Oe.elementsCount++,_t(mt),_t._reglType="elements",_t._elements=Bt,_t.subdata=function(Wt,Gt){return Pt.subdata(Wt,Gt),_t},_t.destroy=function(){ut(Bt)},_t},createStream:function(mt){var Ot=Ct.pop();return Ot||(Ot=new Be(ht.create(null,34963,!0,!1)._buffer)),Qe(Ot,mt,35040,-1,-1,0,0),Ot},destroyStream:function(mt){Ct.push(mt)},getElements:function(mt){return typeof mt=="function"&&mt._elements instanceof Be?mt._elements:null},clear:function(){he(pt).forEach(ut)}}}function c(Ge){for(var nt=xe.allocType(5123,Ge.length),ht=0;ht>>31<<15,Be=(Qe<<1>>>24)-127,Qe=Qe>>13&1023;nt[ht]=-24>Be?Oe:-14>Be?Oe+(Qe+1024>>-14-Be):15>=un,jt.height>>=un,Ot(jt,Jt[un]),tn.mipmask|=1<Pn;++Pn)tn.images[Pn]=null;return tn}function yn(tn){for(var Pn=tn.images,jt=0;jttn){for(var Pn=0;Pn=--this.refCount&&fn(this)}}),ut.profile&&(Qe.getTotalTextureSize=function(){var tn=0;return Object.keys(Zn).forEach(function(Pn){tn+=Zn[Pn].stats.size}),tn}),{create2D:function(tn,Pn){function jt(un,Rn){var On=Jt.texInfo;ln.call(On);var Sn=nn();return typeof un=="number"?Gt(Sn,0|un,typeof Rn=="number"?0|Rn:0|un):un?(kn(On,un),Xt(Sn,un)):Gt(Sn,1,1),On.genMipmaps&&(Sn.mipmask=(Sn.width<<1)-1),Jt.mipmask=Sn.mipmask,bt(Jt,Sn),Jt.internalformat=Sn.internalformat,jt.width=Sn.width,jt.height=Sn.height,on(Jt),Kt(Sn,3553),Wn(On,3553),_n(),yn(Sn),ut.profile&&(Jt.stats.size=h(Jt.internalformat,Jt.type,Sn.width,Sn.height,On.genMipmaps,!1)),jt.format=ir[Jt.internalformat],jt.type=dr[Jt.type],jt.mag=yr[On.magFilter],jt.min=$t[On.minFilter],jt.wrapS=mn[On.wrapS],jt.wrapT=mn[On.wrapT],jt}var Jt=new wn(3553);return Zn[Jt.id]=Jt,Qe.textureCount++,jt(tn,Pn),jt.subimage=function(un,Rn,On,Sn){Rn|=0,On|=0,Sn|=0;var pn=Pt();return bt(pn,Jt),pn.width=0,pn.height=0,Ot(pn,un),pn.width=pn.width||(Jt.width>>Sn)-Rn,pn.height=pn.height||(Jt.height>>Sn)-On,on(Jt),_t(pn,3553,Rn,On,Sn),_n(),Bt(pn),jt},jt.resize=function(un,Rn){var On=0|un,Sn=0|Rn||On;if(On===Jt.width&&Sn===Jt.height)return jt;jt.width=Jt.width=On,jt.height=Jt.height=Sn,on(Jt);for(var pn=0;Jt.mipmask>>pn;++pn){var bn=On>>pn,dn=Sn>>pn;if(!bn||!dn)break;Ge.texImage2D(3553,pn,Jt.format,bn,dn,0,Jt.format,Jt.type,null)}return _n(),ut.profile&&(Jt.stats.size=h(Jt.internalformat,Jt.type,On,Sn,!1,!1)),jt},jt._reglType="texture2d",jt._texture=Jt,ut.profile&&(jt.stats=Jt.stats),jt.destroy=function(){Jt.decRef()},jt},createCube:function(tn,Pn,jt,Jt,un,Rn){function On(bn,dn,vn,An,Bn,Xn){var er,Jn=Sn.texInfo;for(ln.call(Jn),er=0;6>er;++er)pn[er]=nn();if(typeof bn!="number"&&bn){if(typeof bn=="object")if(dn)Xt(pn[0],bn),Xt(pn[1],dn),Xt(pn[2],vn),Xt(pn[3],An),Xt(pn[4],Bn),Xt(pn[5],Xn);else if(kn(Jn,bn),Lt(Sn,bn),"faces"in bn)for(bn=bn.faces,er=0;6>er;++er)bt(pn[er],Sn),Xt(pn[er],bn[er]);else for(er=0;6>er;++er)Xt(pn[er],bn)}else for(bn=0|bn||1,er=0;6>er;++er)Gt(pn[er],bn,bn);for(bt(Sn,pn[0]),Sn.mipmask=Jn.genMipmaps?(pn[0].width<<1)-1:pn[0].mipmask,Sn.internalformat=pn[0].internalformat,On.width=pn[0].width,On.height=pn[0].height,on(Sn),er=0;6>er;++er)Kt(pn[er],34069+er);for(Wn(Jn,34067),_n(),ut.profile&&(Sn.stats.size=h(Sn.internalformat,Sn.type,On.width,On.height,Jn.genMipmaps,!0)),On.format=ir[Sn.internalformat],On.type=dr[Sn.type],On.mag=yr[Jn.magFilter],On.min=$t[Jn.minFilter],On.wrapS=mn[Jn.wrapS],On.wrapT=mn[Jn.wrapT],er=0;6>er;++er)yn(pn[er]);return On}var Sn=new wn(34067);Zn[Sn.id]=Sn,Qe.cubeCount++;var pn=Array(6);return On(tn,Pn,jt,Jt,un,Rn),On.subimage=function(bn,dn,vn,An,Bn){vn|=0,An|=0,Bn|=0;var Xn=Pt();return bt(Xn,Sn),Xn.width=0,Xn.height=0,Ot(Xn,dn),Xn.width=Xn.width||(Sn.width>>Bn)-vn,Xn.height=Xn.height||(Sn.height>>Bn)-An,on(Sn),_t(Xn,34069+bn,vn,An,Bn),_n(),Bt(Xn),On},On.resize=function(bn){if((bn|=0)!==Sn.width){On.width=Sn.width=bn,On.height=Sn.height=bn,on(Sn);for(var dn=0;6>dn;++dn)for(var vn=0;Sn.mipmask>>vn;++vn)Ge.texImage2D(34069+dn,vn,Sn.format,bn>>vn,bn>>vn,0,Sn.format,Sn.type,null);return _n(),ut.profile&&(Sn.stats.size=h(Sn.internalformat,Sn.type,On.width,On.height,!1,!0)),On}},On._reglType="textureCube",On._texture=Sn,ut.profile&&(On.stats=Sn.stats),On.destroy=function(){Sn.decRef()},On},clear:function(){for(var tn=0;tnJt;++Jt)if(jt.mipmask&1<>Jt,jt.height>>Jt,0,jt.internalformat,jt.type,null);else for(var un=0;6>un;++un)Ge.texImage2D(34069+un,Jt,jt.internalformat,jt.width>>Jt,jt.height>>Jt,0,jt.internalformat,jt.type,null);Wn(jt.texInfo,jt.target)})},refresh:function(){for(var tn=0;tnhn;++hn){for(qn=0;qnfn;++fn)_n[fn].resize(hn);return on.width=on.height=hn,on},_reglType:"framebufferCube",destroy:function(){_n.forEach(function(fn){fn.destroy()})}})},clear:function(){he(Wn).forEach(Wt)},restore:function(){Kt.cur=null,Kt.next=null,Kt.dirty=!0,he(Wn).forEach(function(wn){wn.framebuffer=Ge.createFramebuffer(),Gt(wn)})}})}function C(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function L(Ge,nt,ht,Oe,Be,Qe,ut){function pt(){this.id=++Ct,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var _t=nt.oes_vertex_array_object;this.vao=_t?_t.createVertexArrayOES():null,mt[this.id]=this,this.buffers=[]}var bt=ht.maxAttributes,Lt=Array(bt);for(ht=0;ht=kn.byteLength?nn.subdata(kn):(nn.destroy(),Bt.buffers[Kt]=null)),Bt.buffers[Kt]||(nn=Bt.buffers[Kt]=Be.create(yn,34962,!1,!0)),ln.buffer=Be.getBuffer(nn),ln.size=0|ln.buffer.dimension,ln.normalized=!1,ln.type=ln.buffer.dtype,ln.offset=0,ln.stride=0,ln.divisor=0,ln.state=1,Wt[Kt]=1):Be.getBuffer(yn)?(ln.buffer=Be.getBuffer(yn),ln.size=0|ln.buffer.dimension,ln.normalized=!1,ln.type=ln.buffer.dtype,ln.offset=0,ln.stride=0,ln.divisor=0,ln.state=1):Be.getBuffer(yn.buffer)?(ln.buffer=Be.getBuffer(yn.buffer),ln.size=0|(+yn.size||ln.buffer.dimension),ln.normalized=!!yn.normalized||!1,ln.type="type"in yn?Te[yn.type]:ln.buffer.dtype,ln.offset=0|(yn.offset||0),ln.stride=0|(yn.stride||0),ln.divisor=0|(yn.divisor||0),ln.state=1):"x"in yn&&(ln.x=+yn.x||0,ln.y=+yn.y||0,ln.z=+yn.z||0,ln.w=+yn.w||0,ln.state=2)}for(nn=0;nnPt&&(Pt=Bt.stats.uniformsCount)}),Pt},ht.getMaxAttributesCount=function(){var Pt=0;return Ot.forEach(function(Bt){Bt.stats.attributesCount>Pt&&(Pt=Bt.stats.attributesCount)}),Pt}),{clear:function(){var Pt=Ge.deleteShader.bind(Ge);he(Lt).forEach(Pt),Lt={},he(Ct).forEach(Pt),Ct={},Ot.forEach(function(Bt){Ge.deleteProgram(Bt.program)}),Ot.length=0,mt={},ht.shaderCount=0},program:function(Pt,Bt,Wt,Gt){var Xt=mt[Bt];Xt||(Xt=mt[Bt]={});var Kt=Xt[Pt];if(Kt&&(Kt.refCount++,!Gt))return Kt;var nn=new pt(Bt,Pt);return ht.shaderCount++,bt(nn,Wt,Gt),Kt||(Xt[Pt]=nn),Ot.push(nn),te(nn,{destroy:function(){if(nn.refCount--,0>=nn.refCount){Ge.deleteProgram(nn.program);var yn=Ot.indexOf(nn);Ot.splice(yn,1),ht.shaderCount--}0>=Xt[nn.vertId].refCount&&(Ge.deleteShader(Ct[nn.vertId]),delete Ct[nn.vertId],delete mt[nn.fragId][nn.vertId]),Object.keys(mt[nn.fragId]).length||(Ge.deleteShader(Lt[nn.fragId]),delete Lt[nn.fragId],delete mt[nn.fragId])}})},restore:function(){Lt={},Ct={};for(var Pt=0;Pt>>nt|Ge<<32-nt}function U(Ge,nt){var ht=(65535&Ge)+(65535&nt);return(Ge>>16)+(nt>>16)+(ht>>16)<<16|65535&ht}function B(Ge){return Array.prototype.slice.call(Ge)}function G(Ge){return B(Ge).join("")}function N(Ge){function nt(){var Ct=[],mt=[];return te(function(){Ct.push.apply(Ct,B(arguments))},{def:function(){var Ot="v"+Be++;return mt.push(Ot),0>>4&15)+"0123456789abcdef".charAt(15&Pt);return Bt}(function(_t){for(var Pt=Array(_t.length>>2),Bt=0;Bt>5]|=(255&_t.charCodeAt(Bt/8))<<24-Bt%32;var Wt,Gt,Xt,Kt,nn,yn,ln,kn,Wn,wn,on,_n=8*_t.length;for(_t=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],Bt=Array(64),Pt[_n>>5]|=128<<24-_n%32,Pt[15+(_n+64>>9<<4)]=_n,kn=0;knWn;Wn++){var fn;16>Wn?Bt[Wn]=Pt[Wn+kn]:(wn=Wn,on=U(on=R(on=Bt[Wn-2],17)^R(on,19)^on>>>10,Bt[Wn-7]),fn=R(fn=Bt[Wn-15],7)^R(fn,18)^fn>>>3,Bt[wn]=U(U(on,fn),Bt[Wn-16])),wn=U(U(U(U(ln,wn=R(wn=Kt,6)^R(wn,11)^R(wn,25)),Kt&nn^~Kt&yn),xt[Wn]),Bt[Wn]),on=U(ln=R(ln=_n,2)^R(ln,13)^R(ln,22),_n&Wt^_n&Gt^Wt&Gt),ln=yn,yn=nn,nn=Kt,Kt=U(Xt,wn),Xt=Gt,Gt=Wt,Wt=_n,_n=U(wn,on)}_t[0]=U(_n,_t[0]),_t[1]=U(Wt,_t[1]),_t[2]=U(Gt,_t[2]),_t[3]=U(Xt,_t[3]),_t[4]=U(Kt,_t[4]),_t[5]=U(nn,_t[5]),_t[6]=U(yn,_t[6]),_t[7]=U(ln,_t[7])}for(Pt="",Bt=0;Bt<32*_t.length;Bt+=8)Pt+=String.fromCharCode(_t[Bt>>5]>>>24-Bt%32&255);return Pt}(function(_t){for(var Pt,Bt,Wt="",Gt=-1;++Gt<_t.length;)Pt=_t.charCodeAt(Gt),Bt=Gt+1<_t.length?_t.charCodeAt(Gt+1):0,55296<=Pt&&56319>=Pt&&56320<=Bt&&57343>=Bt&&(Pt=65536+((1023&Pt)<<10)+(1023&Bt),Gt++),127>=Pt?Wt+=String.fromCharCode(Pt):2047>=Pt?Wt+=String.fromCharCode(192|Pt>>>6&31,128|63&Pt):65535>=Pt?Wt+=String.fromCharCode(224|Pt>>>12&15,128|Pt>>>6&63,128|63&Pt):2097151>=Pt&&(Wt+=String.fromCharCode(240|Pt>>>18&7,128|Pt>>>12&63,128|Pt>>>6&63,128|63&Pt));return Wt}(Ot))),Oe[mt])?Oe[mt].apply(null,ut):(Ot=Function.apply(null,Qe.concat(Ot)),Oe&&(Oe[mt]=Ot),Ot.apply(null,ut))}}}function j(Ge){return Array.isArray(Ge)||de(Ge)||t(Ge)}function V(Ge){return Ge.sort(function(nt,ht){return nt==="viewport"?-1:ht==="viewport"?1:nt"+vr+"?"+An+".constant["+vr+"]:0;"}).join(""),"}}else{","if(",er,"(",An,".buffer)){",sr,"=",Bn,".createStream(",34962,",",An,".buffer);","}else{",sr,"=",Bn,".getBuffer(",An,".buffer);","}",fr,'="type" in ',An,"?",Xn.glTypes,"[",An,".type]:",sr,".dtype;",Jn.normalized,"=!!",An,".normalized;"),vn("size"),vn("offset"),vn("stride"),vn("divisor"),dn("}}"),dn.exit("if(",Jn.isStream,"){",Bn,".destroyStream(",sr,");","}"),Jn})}),On}function Wn(jt,Jt,un,Rn,On){function Sn(lr){var sr=bn[lr];sr&&(vn[lr]=sr)}var pn=function(lr,sr){if(typeof(fr=lr.static).frag=="string"&&typeof fr.vert=="string"){if(0"u"?"Date.now()":"performance.now()"}function pn(lr){lr(vn=Jt.def(),"=",Sn(),";"),typeof On=="string"?lr(Xn,".count+=",On,";"):lr(Xn,".count++;"),_t&&(Rn?lr(An=Jt.def(),"=",Jn,".getNumPendingQueries();"):lr(Jn,".beginQuery(",Xn,");"))}function bn(lr){lr(Xn,".cpuTime+=",Sn(),"-",vn,";"),_t&&(Rn?lr(Jn,".pushScopeStats(",An,",",Jn,".getNumPendingQueries(),",Xn,");"):lr(Jn,".endQuery();"))}function dn(lr){var sr=Jt.def(er,".profile");Jt(er,".profile=",lr,";"),Jt.exit(er,".profile=",sr,";")}var vn,An,Bn=jt.shared,Xn=jt.stats,er=Bn.current,Jn=Bn.timer;if(un=un.profile){if(ee(un))return void(un.enable?(pn(Jt),bn(Jt.exit),dn("true")):dn("false"));dn(un=un.append(jt,Jt))}else un=Jt.def(er,".profile");pn(Bn=jt.block()),Jt("if(",un,"){",Bn,"}"),bn(jt=jt.block()),Jt.exit("if(",un,"){",jt,"}")}function Cn(jt,Jt,un,Rn,On){function Sn(bn,dn,vn){function An(){Jt("if(!",Jn,".buffer){",Xn,".enableVertexAttribArray(",er,");}");var cr,vr=vn.type;cr=vn.size?Jt.def(vn.size,"||",dn):dn,Jt("if(",Jn,".type!==",vr,"||",Jn,".size!==",cr,"||",fr.map(function(Sr){return Jn+"."+Sr+"!=="+vn[Sr]}).join("||"),"){",Xn,".bindBuffer(",34962,",",lr,".buffer);",Xn,".vertexAttribPointer(",[er,cr,vr,vn.normalized,vn.stride,vn.offset],");",Jn,".type=",vr,";",Jn,".size=",cr,";",fr.map(function(Sr){return Jn+"."+Sr+"="+vn[Sr]+";"}).join(""),"}"),$t&&(vr=vn.divisor,Jt("if(",Jn,".divisor!==",vr,"){",jt.instancing,".vertexAttribDivisorANGLE(",[er,vr],");",Jn,".divisor=",vr,";}"))}function Bn(){Jt("if(",Jn,".buffer){",Xn,".disableVertexAttribArray(",er,");",Jn,".buffer=null;","}if(",Dt.map(function(cr,vr){return Jn+"."+cr+"!=="+sr[vr]}).join("||"),"){",Xn,".vertexAttrib4f(",er,",",sr,");",Dt.map(function(cr,vr){return Jn+"."+cr+"="+sr[vr]+";"}).join(""),"}")}var Xn=pn.gl,er=Jt.def(bn,".location"),Jn=Jt.def(pn.attributes,"[",er,"]");bn=vn.state;var lr=vn.buffer,sr=[vn.x,vn.y,vn.z,vn.w],fr=["buffer","normalized","offset","stride"];bn===1?An():bn===2?Bn():(Jt("if(",bn,"===",1,"){"),An(),Jt("}else{"),Bn(),Jt("}"))}var pn=jt.shared;Rn.forEach(function(bn){var dn,vn=bn.name,An=un.attributes[vn];if(An){if(!On(An))return;dn=An.append(jt,Jt)}else{if(!On(Ke))return;var Bn=jt.scopeAttrib(vn);dn={},Object.keys(new dr).forEach(function(Xn){dn[Xn]=Jt.def(Bn,".",Xn)})}Sn(jt.link(bn),function(Xn){switch(Xn){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(bn.info.type),dn)})}function Nn(jt,Jt,un,Rn,On,Sn){for(var pn,bn=jt.shared,dn=bn.gl,vn=0;vn>1)",bn],");")}function Sr(){un(dn,".drawArraysInstancedANGLE(",[Jn,lr,sr,bn],");")}er&&er!=="null"?cr?vr():(un("if(",er,"){"),vr(),un("}else{"),Sr(),un("}")):Sr()}function pn(){function vr(){un(An+".drawElements("+[Jn,sr,fr,lr+"<<(("+fr+"-5121)>>1)"]+");")}function Sr(){un(An+".drawArrays("+[Jn,lr,sr]+");")}er&&er!=="null"?cr?vr():(un("if(",er,"){"),vr(),un("}else{"),Sr(),un("}")):Sr()}var bn,dn,vn=jt.shared,An=vn.gl,Bn=vn.draw,Xn=Rn.draw,er=function(){var vr=Xn.elements,Sr=Jt;return vr?((vr.contextDep&&Rn.contextDynamic||vr.propDep)&&(Sr=un),vr=vr.append(jt,Sr),Xn.elementsActive&&Sr("if("+vr+")"+An+".bindBuffer(34963,"+vr+".buffer.buffer);")):(vr=Sr.def(),Sr(vr,"=",Bn,".","elements",";","if(",vr,"){",An,".bindBuffer(",34963,",",vr,".buffer.buffer);}","else if(",vn.vao,".currentVAO){",vr,"=",jt.shared.elements+".getElements("+vn.vao,".currentVAO.elements);",Ln?"":"if("+vr+")"+An+".bindBuffer(34963,"+vr+".buffer.buffer);","}")),vr}(),Jn=On("primitive"),lr=On("offset"),sr=function(){var vr=Xn.count,Sr=Jt;return vr?((vr.contextDep&&Rn.contextDynamic||vr.propDep)&&(Sr=un),vr=vr.append(jt,Sr)):vr=Sr.def(Bn,".","count"),vr}();if(typeof sr=="number"){if(sr===0)return}else un("if(",sr,"){"),un.exit("}");$t&&(bn=On("instances"),dn=jt.instancing);var fr=er+".type",cr=Xn.elements&&ee(Xn.elements)&&!Xn.vaoActive;$t&&(typeof bn!="number"||0<=bn)?typeof bn=="string"?(un("if(",bn,">0){"),Sn(),un("}else if(",bn,"<0){"),pn(),un("}")):Sn():pn()}function qn(jt,Jt,un,Rn,On){return On=(Jt=Kt()).proc("body",On),$t&&(Jt.instancing=On.def(Jt.shared.extensions,".angle_instanced_arrays")),jt(Jt,On,un,Rn),Jt.compile().body}function or(jt,Jt,un,Rn){hn(jt,Jt),un.useVAO?un.drawVAO?Jt(jt.shared.vao,".setVAO(",un.drawVAO.append(jt,Jt),");"):Jt(jt.shared.vao,".setVAO(",jt.shared.vao,".targetVAO);"):(Jt(jt.shared.vao,".setVAO(null);"),Cn(jt,Jt,un,Rn.attributes,function(){return!0})),Nn(jt,Jt,un,Rn.uniforms,function(){return!0},!1),Hn(jt,Jt,Jt,un)}function tr(jt,Jt,un,Rn){function On(){return!0}jt.batchId="a1",hn(jt,Jt),Cn(jt,Jt,un,Rn.attributes,On),Nn(jt,Jt,un,Rn.uniforms,On,!1),Hn(jt,Jt,Jt,un)}function Tr(jt,Jt,un,Rn){function On(Bn){return Bn.contextDep&&pn||Bn.propDep}function Sn(Bn){return!On(Bn)}hn(jt,Jt);var pn=un.contextDep,bn=Jt.def(),dn=Jt.def();jt.shared.props=dn,jt.batchId=bn;var vn=jt.scope(),An=jt.scope();Jt(vn.entry,"for(",bn,"=0;",bn,"<","a1",";++",bn,"){",dn,"=","a0","[",bn,"];",An,"}",vn.exit),un.needsContext&&wn(jt,An,un.context),un.needsFramebuffer&&on(jt,An,un.framebuffer),fn(jt,An,un.state,On),un.profile&&On(un.profile)&&In(jt,An,un,!1,!0),Rn?(un.useVAO?un.drawVAO?On(un.drawVAO)?An(jt.shared.vao,".setVAO(",un.drawVAO.append(jt,An),");"):vn(jt.shared.vao,".setVAO(",un.drawVAO.append(jt,vn),");"):vn(jt.shared.vao,".setVAO(",jt.shared.vao,".targetVAO);"):(vn(jt.shared.vao,".setVAO(null);"),Cn(jt,vn,un,Rn.attributes,Sn),Cn(jt,An,un,Rn.attributes,On)),Nn(jt,vn,un,Rn.uniforms,Sn,!1),Nn(jt,An,un,Rn.uniforms,On,!0),Hn(jt,vn,An,un)):(Jt=jt.global.def("{}"),Rn=un.shader.progVar.append(jt,An),dn=An.def(Rn,".id"),vn=An.def(Jt,"[",dn,"]"),An(jt.shared.gl,".useProgram(",Rn,".program);","if(!",vn,"){",vn,"=",Jt,"[",dn,"]=",jt.link(function(Bn){return qn(tr,jt,un,Bn,2)}),"(",Rn,");}",vn,".call(this,a0[",bn,"],",bn,");"))}function gr(jt,Jt){function un(bn){var dn=Jt.shader[bn];dn&&(dn=dn.append(jt,Rn),isNaN(dn)?Rn.set(On.shader,"."+bn,dn):Rn.set(On.shader,"."+bn,jt.link(dn,{stable:!0})))}var Rn=jt.proc("scope",3);jt.batchId="a2";var On=jt.shared,Sn=On.current;if(wn(jt,Rn,Jt.context),Jt.framebuffer&&Jt.framebuffer.append(jt,Rn),V(Object.keys(Jt.state)).forEach(function(bn){var dn=Jt.state[bn],vn=dn.append(jt,Rn);x(vn)?vn.forEach(function(An,Bn){isNaN(An)?Rn.set(jt.next[bn],"["+Bn+"]",An):Rn.set(jt.next[bn],"["+Bn+"]",jt.link(An,{stable:!0}))}):ee(dn)?Rn.set(On.next,"."+bn,jt.link(vn,{stable:!0})):Rn.set(On.next,"."+bn,vn)}),In(jt,Rn,Jt,!0,!0),["elements","offset","count","instances","primitive"].forEach(function(bn){var dn=Jt.draw[bn];dn&&(dn=dn.append(jt,Rn),isNaN(dn)?Rn.set(On.draw,"."+bn,dn):Rn.set(On.draw,"."+bn,jt.link(dn),{stable:!0}))}),Object.keys(Jt.uniforms).forEach(function(bn){var dn=Jt.uniforms[bn].append(jt,Rn);Array.isArray(dn)&&(dn="["+dn.map(function(vn){return isNaN(vn)?vn:jt.link(vn,{stable:!0})})+"]"),Rn.set(On.uniforms,"["+jt.link(nt.id(bn),{stable:!0})+"]",dn)}),Object.keys(Jt.attributes).forEach(function(bn){var dn=Jt.attributes[bn].append(jt,Rn),vn=jt.scopeAttrib(bn);Object.keys(new dr).forEach(function(An){Rn.set(vn,"."+An,dn[An])})}),Jt.scopeVAO){var pn=Jt.scopeVAO.append(jt,Rn);isNaN(pn)?Rn.set(On.vao,".targetVAO",pn):Rn.set(On.vao,".targetVAO",jt.link(pn,{stable:!0}))}un("vert"),un("frag"),0=--this.refCount&&ut(this)},Be.profile&&(Oe.getTotalRenderbufferSize=function(){var mt=0;return Object.keys(Ct).forEach(function(Ot){mt+=Ct[Ot].stats.size}),mt}),{create:function(mt,Ot){function _t(Bt,Wt){var Gt=0,Xt=0,Kt=32854;if(typeof Bt=="object"&&Bt?("shape"in Bt?(Gt=0|(Xt=Bt.shape)[0],Xt=0|Xt[1]):("radius"in Bt&&(Gt=Xt=0|Bt.radius),"width"in Bt&&(Gt=0|Bt.width),"height"in Bt&&(Xt=0|Bt.height)),"format"in Bt&&(Kt=pt[Bt.format])):typeof Bt=="number"?(Gt=0|Bt,Xt=typeof Wt=="number"?0|Wt:Gt):Bt||(Gt=Xt=1),Gt!==Pt.width||Xt!==Pt.height||Kt!==Pt.format)return _t.width=Pt.width=Gt,_t.height=Pt.height=Xt,Pt.format=Kt,Ge.bindRenderbuffer(36161,Pt.renderbuffer),Ge.renderbufferStorage(36161,Kt,Gt,Xt),Be.profile&&(Pt.stats.size=ft[Pt.format]*Pt.width*Pt.height),_t.format=bt[Pt.format],_t}var Pt=new Qe(Ge.createRenderbuffer());return Ct[Pt.id]=Pt,Oe.renderbufferCount++,_t(mt,Ot),_t.resize=function(Bt,Wt){var Gt=0|Bt,Xt=0|Wt||Gt;return Gt===Pt.width&&Xt===Pt.height||(_t.width=Pt.width=Gt,_t.height=Pt.height=Xt,Ge.bindRenderbuffer(36161,Pt.renderbuffer),Ge.renderbufferStorage(36161,Pt.format,Gt,Xt),Be.profile&&(Pt.stats.size=ft[Pt.format]*Pt.width*Pt.height)),_t},_t._reglType="renderbuffer",_t._renderbuffer=Pt,Be.profile&&(_t.stats=Pt.stats),_t.destroy=function(){Pt.decRef()},_t},clear:function(){he(Ct).forEach(ut)},restore:function(){he(Ct).forEach(function(mt){mt.renderbuffer=Ge.createRenderbuffer(),Ge.bindRenderbuffer(36161,mt.renderbuffer),Ge.renderbufferStorage(36161,mt.format,mt.width,mt.height)}),Ge.bindRenderbuffer(36161,null)}}},Et=[];Et[6408]=4,Et[6407]=3;var Tt=[];Tt[5121]=1,Tt[5126]=4,Tt[36193]=2;var xt=[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],Dt=["x","y","z","w"],It="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),Ft={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},qt={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},Nt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Je={cw:2304,ccw:2305},Ke=new H(!1,!1,!1,function(){});return function(Ge){function nt(){if(tr.length===0)nn&&nn.update(),dr=null;else{dr=se.next(nt),Ct();for(var $t=tr.length-1;0<=$t;--$t){var mn=tr[$t];mn&&mn(Wn,null,0)}_t.flush(),nn&&nn.update()}}function ht(){!dr&&0=tr.length&&Oe()}}}}function Lt(){var $t=qn.viewport,mn=qn.scissor_box;$t[0]=$t[1]=mn[0]=mn[1]=0,Wn.viewportWidth=Wn.framebufferWidth=Wn.drawingBufferWidth=$t[2]=mn[2]=_t.drawingBufferWidth,Wn.viewportHeight=Wn.framebufferHeight=Wn.drawingBufferHeight=$t[3]=mn[3]=_t.drawingBufferHeight}function Ct(){Wn.tick+=1,Wn.time=Ot(),Lt(),Hn.procs.poll()}function mt(){In.refresh(),Lt(),Hn.procs.refresh(),nn&&nn.update()}function Ot(){return(ce()-yn)/1e3}if(!(Ge=T(Ge)))return null;var _t=Ge.gl,Pt=_t.getContextAttributes();_t.isContextLost();var Bt=function($t,mn){function Ln(Zn){var Qn;Zn=Zn.toLowerCase();try{Qn=En[Zn]=$t.getExtension(Zn)}catch{}return!!Qn}for(var En={},jn=0;jnmn;++mn)yr(te({framebuffer:$t.framebuffer.faces[mn]},$t),pt);else yr($t,pt);else pt(0,$t)},prop:oe.define.bind(null,1),context:oe.define.bind(null,2),this:oe.define.bind(null,3),draw:ut({}),buffer:function($t){return on.create($t,34962,!1,!1)},elements:function($t){return _n.create($t,!1)},texture:In.create2D,cube:In.createCube,renderbuffer:Cn.create,framebuffer:Nn.create,framebufferCube:Nn.createCube,vao:fn.createVAO,attributes:Pt,frame:bt,on:function($t,mn){var Ln;switch($t){case"frame":return bt(mn);case"lost":Ln=Tr;break;case"restore":Ln=gr;break;case"destroy":Ln=ir}return Ln.push(mn),{cancel:function(){for(var En=0;En2?"one of ".concat(s," ").concat(w.slice(0,T-1).join(", "),", or ")+w[T-1]:T===2?"one of ".concat(s," ").concat(w[0]," or ").concat(w[1]):"of ".concat(s," ").concat(w[0])}return"of ".concat(s," ").concat(String(w))}e("ERR_INVALID_OPT_VALUE",function(w,s){return'The value "'+s+'" is invalid for option "'+w+'"'},TypeError),e("ERR_INVALID_ARG_TYPE",function(w,s,T){var m,f,l,t,a;if(typeof s=="string"&&(f="not ",s.substr(0,f.length)===f)?(m="must not be",s=s.replace(/^not /,"")):m="must be",function(n,o,i){return(i===void 0||i>n.length)&&(i=n.length),n.substring(i-o.length,i)===o}(w," argument"))l="The ".concat(w," ").concat(m," ").concat(_(s,"type"));else{var r=(typeof a!="number"&&(a=0),a+1>(t=w).length||t.indexOf(".",a)===-1?"argument":"property");l='The "'.concat(w,'" ').concat(r," ").concat(m," ").concat(_(s,"type"))}return l+". Received type ".concat(typeof T)},TypeError),e("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),e("ERR_METHOD_NOT_IMPLEMENTED",function(w){return"The "+w+" method is not implemented"}),e("ERR_STREAM_PREMATURE_CLOSE","Premature close"),e("ERR_STREAM_DESTROYED",function(w){return"Cannot call "+w+" after a stream was destroyed"}),e("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),e("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),e("ERR_STREAM_WRITE_AFTER_END","write after end"),e("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),e("ERR_UNKNOWN_ENCODING",function(w){return"Unknown encoding: "+w},TypeError),e("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),D.exports.q=E},37865:function(D,E,e){var _=e(90386),w=Object.keys||function(n){var o=[];for(var i in n)o.push(i);return o};D.exports=t;var s=e(40410),T=e(37493);e(42018)(t,s);for(var m=w(T.prototype),f=0;f0)if(typeof X=="string"||oe.objectMode||Object.getPrototypeOf(X)===f.prototype||(X=function(se){return f.from(se)}(X)),K)oe.endEmitted?b(Q,new v):M(Q,oe,X,!0);else if(oe.ended)b(Q,new x);else{if(oe.destroyed)return!1;oe.reading=!1,oe.decoder&&!Y?(X=oe.decoder.write(X),oe.objectMode||X.length!==0?M(Q,oe,X,!1):I(Q,oe)):M(Q,oe,X,!1)}else K||(oe.reading=!1,I(Q,oe));return!oe.ended&&(oe.lengthX.highWaterMark&&(X.highWaterMark=function(Y){return Y>=A?Y=A:(Y--,Y|=Y>>>1,Y|=Y>>>2,Y|=Y>>>4,Y|=Y>>>8,Y|=Y>>>16,Y++),Y}(Q)),Q<=X.length?Q:X.ended?X.length:(X.needReadable=!0,0))}function L(Q){var X=Q._readableState;s("emitReadable",X.needReadable,X.emittedReadable),X.needReadable=!1,X.emittedReadable||(s("emitReadable",X.flowing),X.emittedReadable=!0,w.nextTick(P,Q))}function P(Q){var X=Q._readableState;s("emitReadable_",X.destroyed,X.length,X.ended),X.destroyed||!X.length&&!X.ended||(Q.emit("readable"),X.emittedReadable=!1),X.needReadable=!X.flowing&&!X.ended&&X.length<=X.highWaterMark,N(Q)}function I(Q,X){X.readingMore||(X.readingMore=!0,w.nextTick(R,Q,X))}function R(Q,X){for(;!X.reading&&!X.ended&&(X.length0,X.resumeScheduled&&!X.paused?X.flowing=!0:Q.listenerCount("data")>0&&Q.resume()}function B(Q){s("readable nexttick read 0"),Q.read(0)}function G(Q,X){s("resume",X.reading),X.reading||Q.read(0),X.resumeScheduled=!1,Q.emit("resume"),N(Q),X.flowing&&!X.reading&&Q.read(0)}function N(Q){var X=Q._readableState;for(s("flow",X.flowing);X.flowing&&Q.read()!==null;);}function j(Q,X){return X.length===0?null:(X.objectMode?Y=X.buffer.shift():!Q||Q>=X.length?(Y=X.decoder?X.buffer.join(""):X.buffer.length===1?X.buffer.first():X.buffer.concat(X.length),X.buffer.clear()):Y=X.buffer.consume(Q,X.decoder),Y);var Y}function V(Q){var X=Q._readableState;s("endReadable",X.endEmitted),X.endEmitted||(X.ended=!0,w.nextTick(H,X,Q))}function H(Q,X){if(s("endReadableNT",Q.endEmitted,Q.length),!Q.endEmitted&&Q.length===0&&(Q.endEmitted=!0,X.readable=!1,X.emit("end"),Q.autoDestroy)){var Y=X._writableState;(!Y||Y.autoDestroy&&Y.finished)&&X.destroy()}}function ee(Q,X){for(var Y=0,K=Q.length;Y=X.highWaterMark:X.length>0)||X.ended))return s("read: emitReadable",X.length,X.ended),X.length===0&&X.ended?V(this):L(this),null;if((Q=C(Q,X))===0&&X.ended)return X.length===0&&V(this),null;var K,te=X.needReadable;return s("need readable",te),(X.length===0||X.length-Q0?j(Q,X):null)===null?(X.needReadable=X.length<=X.highWaterMark,Q=0):(X.length-=Q,X.awaitDrain=0),X.length===0&&(X.ended||(X.needReadable=!0),Y!==Q&&X.ended&&V(this)),K!==null&&this.emit("data",K),K},k.prototype._read=function(Q){b(this,new d("_read()"))},k.prototype.pipe=function(Q,X){var Y=this,K=this._readableState;switch(K.pipesCount){case 0:K.pipes=Q;break;case 1:K.pipes=[K.pipes,Q];break;default:K.pipes.push(Q)}K.pipesCount+=1,s("pipe count=%d opts=%j",K.pipesCount,X);var te=X&&X.end===!1||Q===w.stdout||Q===w.stderr?he:ie;function ie(){s("onend"),Q.end()}K.endEmitted?w.nextTick(te):Y.once("end",te),Q.on("unpipe",function ye(ze,Te){s("onunpipe"),ze===Y&&Te&&Te.hasUnpiped===!1&&(Te.hasUnpiped=!0,s("cleanup"),Q.removeListener("close",pe),Q.removeListener("finish",de),Q.removeListener("drain",oe),Q.removeListener("error",xe),Q.removeListener("unpipe",ye),Y.removeListener("end",ie),Y.removeListener("end",he),Y.removeListener("data",ce),se=!0,!K.awaitDrain||Q._writableState&&!Q._writableState.needDrain||oe())});var oe=function(ye){return function(){var ze=ye._readableState;s("pipeOnDrain",ze.awaitDrain),ze.awaitDrain&&ze.awaitDrain--,ze.awaitDrain===0&&T(ye,"data")&&(ze.flowing=!0,N(ye))}}(Y);Q.on("drain",oe);var se=!1;function ce(ye){s("ondata");var ze=Q.write(ye);s("dest.write",ze),ze===!1&&((K.pipesCount===1&&K.pipes===Q||K.pipesCount>1&&ee(K.pipes,Q)!==-1)&&!se&&(s("false write response, pause",K.awaitDrain),K.awaitDrain++),Y.pause())}function xe(ye){s("onerror",ye),he(),Q.removeListener("error",xe),T(Q,"error")===0&&b(Q,ye)}function pe(){Q.removeListener("finish",de),he()}function de(){s("onfinish"),Q.removeListener("close",pe),he()}function he(){s("unpipe"),Y.unpipe(Q)}return Y.on("data",ce),function(ye,ze,Te){if(typeof ye.prependListener=="function")return ye.prependListener(ze,Te);ye._events&&ye._events.error?Array.isArray(ye._events.error)?ye._events.error.unshift(Te):ye._events.error=[Te,ye._events.error]:ye.on(ze,Te)}(Q,"error",xe),Q.once("close",pe),Q.once("finish",de),Q.emit("pipe",Y),K.flowing||(s("pipe resume"),Y.resume()),Q},k.prototype.unpipe=function(Q){var X=this._readableState,Y={hasUnpiped:!1};if(X.pipesCount===0)return this;if(X.pipesCount===1)return Q&&Q!==X.pipes||(Q||(Q=X.pipes),X.pipes=null,X.pipesCount=0,X.flowing=!1,Q&&Q.emit("unpipe",this,Y)),this;if(!Q){var K=X.pipes,te=X.pipesCount;X.pipes=null,X.pipesCount=0,X.flowing=!1;for(var ie=0;ie0,K.flowing!==!1&&this.resume()):Q==="readable"&&(K.endEmitted||K.readableListening||(K.readableListening=K.needReadable=!0,K.flowing=!1,K.emittedReadable=!1,s("on readable",K.length,K.reading),K.length?L(this):K.reading||w.nextTick(B,this))),Y},k.prototype.addListener=k.prototype.on,k.prototype.removeListener=function(Q,X){var Y=m.prototype.removeListener.call(this,Q,X);return Q==="readable"&&w.nextTick(U,this),Y},k.prototype.removeAllListeners=function(Q){var X=m.prototype.removeAllListeners.apply(this,arguments);return Q!=="readable"&&Q!==void 0||w.nextTick(U,this),X},k.prototype.resume=function(){var Q=this._readableState;return Q.flowing||(s("resume"),Q.flowing=!Q.readableListening,function(X,Y){Y.resumeScheduled||(Y.resumeScheduled=!0,w.nextTick(G,X,Y))}(this,Q)),Q.paused=!1,this},k.prototype.pause=function(){return s("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(s("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},k.prototype.wrap=function(Q){var X=this,Y=this._readableState,K=!1;for(var te in Q.on("end",function(){if(s("wrapped end"),Y.decoder&&!Y.ended){var oe=Y.decoder.end();oe&&oe.length&&X.push(oe)}X.push(null)}),Q.on("data",function(oe){s("wrapped data"),Y.decoder&&(oe=Y.decoder.write(oe)),Y.objectMode&&oe==null||(Y.objectMode||oe&&oe.length)&&(X.push(oe)||(K=!0,Q.pause()))}),Q)this[te]===void 0&&typeof Q[te]=="function"&&(this[te]=function(oe){return function(){return Q[oe].apply(Q,arguments)}}(te));for(var ie=0;ie-1))throw new v(I);return this._writableState.defaultEncoding=I,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(I,R,U){U(new i("_write()"))},k.prototype._writev=null,k.prototype.end=function(I,R,U){var B=this._writableState;return typeof I=="function"?(U=I,I=null,R=null):typeof R=="function"&&(U=R,R=null),I!=null&&this.write(I,R),B.corked&&(B.corked=1,this.uncork()),B.ending||function(G,N,j){N.ending=!0,P(G,N),j&&(N.finished?w.nextTick(j):G.once("finish",j)),N.ended=!0,G.writable=!1}(this,B,U),this},Object.defineProperty(k.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(k.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState!==void 0&&this._writableState.destroyed},set:function(I){this._writableState&&(this._writableState.destroyed=I)}}),k.prototype.destroy=a.destroy,k.prototype._undestroy=a.undestroy,k.prototype._destroy=function(I,R){R(I)}},68221:function(D,E,e){var _,w=e(90386);function s(x,d,v){return d in x?Object.defineProperty(x,d,{value:v,enumerable:!0,configurable:!0,writable:!0}):x[d]=v,x}var T=e(12726),m=Symbol("lastResolve"),f=Symbol("lastReject"),l=Symbol("error"),t=Symbol("ended"),a=Symbol("lastPromise"),r=Symbol("handlePromise"),n=Symbol("stream");function o(x,d){return{value:x,done:d}}function i(x){var d=x[m];if(d!==null){var v=x[n].read();v!==null&&(x[a]=null,x[m]=null,x[f]=null,d(o(v,!1)))}}function u(x){w.nextTick(i,x)}var p=Object.getPrototypeOf(function(){}),c=Object.setPrototypeOf((s(_={get stream(){return this[n]},next:function(){var x=this,d=this[l];if(d!==null)return Promise.reject(d);if(this[t])return Promise.resolve(o(void 0,!0));if(this[n].destroyed)return new Promise(function(y,k){w.nextTick(function(){x[l]?k(x[l]):y(o(void 0,!0))})});var v,b=this[a];if(b)v=new Promise(function(y,k){return function(h,M){y.then(function(){k[t]?h(o(void 0,!0)):k[r](h,M)},M)}}(b,this));else{var g=this[n].read();if(g!==null)return Promise.resolve(o(g,!1));v=new Promise(this[r])}return this[a]=v,v}},Symbol.asyncIterator,function(){return this}),s(_,"return",function(){var x=this;return new Promise(function(d,v){x[n].destroy(null,function(b){b?v(b):d(o(void 0,!0))})})}),_),p);D.exports=function(x){var d,v=Object.create(c,(s(d={},n,{value:x,writable:!0}),s(d,m,{value:null,writable:!0}),s(d,f,{value:null,writable:!0}),s(d,l,{value:null,writable:!0}),s(d,t,{value:x._readableState.endEmitted,writable:!0}),s(d,r,{value:function(b,g){var y=v[n].read();y?(v[a]=null,v[m]=null,v[f]=null,b(o(y,!1))):(v[m]=b,v[f]=g)},writable:!0}),d));return v[a]=null,T(x,function(b){if(b&&b.code!=="ERR_STREAM_PREMATURE_CLOSE"){var g=v[f];return g!==null&&(v[a]=null,v[m]=null,v[f]=null,g(b)),void(v[l]=b)}var y=v[m];y!==null&&(v[a]=null,v[m]=null,v[f]=null,y(o(void 0,!0))),v[t]=!0}),x.on("readable",u.bind(null,v)),v}},31125:function(D,E,e){function _(l,t){var a=Object.keys(l);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(l);t&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(l,n).enumerable})),a.push.apply(a,r)}return a}function w(l,t,a){return t in l?Object.defineProperty(l,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):l[t]=a,l}function s(l,t){for(var a=0;a0?this.tail.next=n:this.head=n,this.tail=n,++this.length}},{key:"unshift",value:function(r){var n={data:r,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var n=this.head,o=""+n.data;n=n.next;)o+=r+n.data;return o}},{key:"concat",value:function(r){if(this.length===0)return T.alloc(0);for(var n,o,i,u=T.allocUnsafe(r>>>0),p=this.head,c=0;p;)n=p.data,o=u,i=c,T.prototype.copy.call(n,o,i),c+=p.data.length,p=p.next;return u}},{key:"consume",value:function(r,n){var o;return ru.length?u.length:r;if(p===u.length?i+=u:i+=u.slice(0,r),(r-=p)==0){p===u.length?(++o,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=u.slice(p));break}++o}return this.length-=o,i}},{key:"_getBuffer",value:function(r){var n=T.allocUnsafe(r),o=this.head,i=1;for(o.data.copy(n),r-=o.data.length;o=o.next;){var u=o.data,p=r>u.length?u.length:r;if(u.copy(n,n.length-r,0,p),(r-=p)==0){p===u.length?(++i,o.next?this.head=o.next:this.head=this.tail=null):(this.head=o,o.data=u.slice(p));break}++i}return this.length-=i,n}},{key:f,value:function(r,n){return m(this,function(o){for(var i=1;i0,function(v){i||(i=v),v&&p.forEach(l),d||(p.forEach(l),u(i))})});return n.reduce(t)}},56306:function(D,E,e){var _=e(74322).q.ERR_INVALID_OPT_VALUE;D.exports={getHighWaterMark:function(w,s,T,m){var f=function(l,t,a){return l.highWaterMark!=null?l.highWaterMark:t?l[a]:null}(s,m,T);if(f!=null){if(!isFinite(f)||Math.floor(f)!==f||f<0)throw new _(m?T:"highWaterMark",f);return Math.floor(f)}return w.objectMode?16:16384}}},71405:function(D,E,e){D.exports=e(15398).EventEmitter},68019:function(D,E,e){var _=e(71665).Buffer,w=_.isEncoding||function(o){switch((o=""+o)&&o.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(o){var i;switch(this.encoding=function(u){var p=function(c){if(!c)return"utf8";for(var x;;)switch(c){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return c;default:if(x)return;c=(""+c).toLowerCase(),x=!0}}(u);if(typeof p!="string"&&(_.isEncoding===w||!w(u)))throw new Error("Unknown encoding: "+u);return p||u}(o),this.encoding){case"utf16le":this.text=f,this.end=l,i=4;break;case"utf8":this.fillLast=m,i=4;break;case"base64":this.text=t,this.end=a,i=3;break;default:return this.write=r,void(this.end=n)}this.lastNeed=0,this.lastTotal=0,this.lastChar=_.allocUnsafe(i)}function T(o){return o<=127?0:o>>5==6?2:o>>4==14?3:o>>3==30?4:o>>6==2?-1:-2}function m(o){var i=this.lastTotal-this.lastNeed,u=function(p,c,x){if((192&c[0])!=128)return p.lastNeed=0,"�";if(p.lastNeed>1&&c.length>1){if((192&c[1])!=128)return p.lastNeed=1,"�";if(p.lastNeed>2&&c.length>2&&(192&c[2])!=128)return p.lastNeed=2,"�"}}(this,o);return u!==void 0?u:this.lastNeed<=o.length?(o.copy(this.lastChar,i,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(o.copy(this.lastChar,i,0,o.length),void(this.lastNeed-=o.length))}function f(o,i){if((o.length-i)%2==0){var u=o.toString("utf16le",i);if(u){var p=u.charCodeAt(u.length-1);if(p>=55296&&p<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=o[o.length-2],this.lastChar[1]=o[o.length-1],u.slice(0,-1)}return u}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=o[o.length-1],o.toString("utf16le",i,o.length-1)}function l(o){var i=o&&o.length?this.write(o):"";if(this.lastNeed){var u=this.lastTotal-this.lastNeed;return i+this.lastChar.toString("utf16le",0,u)}return i}function t(o,i){var u=(o.length-i)%3;return u===0?o.toString("base64",i):(this.lastNeed=3-u,this.lastTotal=3,u===1?this.lastChar[0]=o[o.length-1]:(this.lastChar[0]=o[o.length-2],this.lastChar[1]=o[o.length-1]),o.toString("base64",i,o.length-u))}function a(o){var i=o&&o.length?this.write(o):"";return this.lastNeed?i+this.lastChar.toString("base64",0,3-this.lastNeed):i}function r(o){return o.toString(this.encoding)}function n(o){return o&&o.length?this.write(o):""}E.s=s,s.prototype.write=function(o){if(o.length===0)return"";var i,u;if(this.lastNeed){if((i=this.fillLast(o))===void 0)return"";u=this.lastNeed,this.lastNeed=0}else u=0;return u=0?(b>0&&(c.lastNeed=b-1),b):--v=0?(b>0&&(c.lastNeed=b-2),b):--v=0?(b>0&&(b===2?b=0:c.lastNeed=b-3),b):0}(this,o,i);if(!this.lastNeed)return o.toString("utf8",i);this.lastTotal=u;var p=o.length-(u-this.lastNeed);return o.copy(this.lastChar,0,p),o.toString("utf8",i,p)},s.prototype.fillLast=function(o){if(this.lastNeed<=o.length)return o.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);o.copy(this.lastChar,this.lastTotal-this.lastNeed,0,o.length),this.lastNeed-=o.length}},90715:function(D,E,e){var _=e(32791),w=e(41633)("stream-parser");function s(o){w("initializing parser stream"),o._parserBytesLeft=0,o._parserBuffers=[],o._parserBuffered=0,o._parserState=-1,o._parserCallback=null,typeof o.push=="function"&&(o._parserOutput=o.push.bind(o)),o._parserInit=!0}function T(o,i){_(!this._parserCallback,'there is already a "callback" set!'),_(isFinite(o)&&o>0,'can only buffer a finite number of bytes > 0, got "'+o+'"'),this._parserInit||s(this),w("buffering %o bytes",o),this._parserBytesLeft=o,this._parserCallback=i,this._parserState=0}function m(o,i){_(!this._parserCallback,'there is already a "callback" set!'),_(o>0,'can only skip > 0 bytes, got "'+o+'"'),this._parserInit||s(this),w("skipping %o bytes",o),this._parserBytesLeft=o,this._parserCallback=i,this._parserState=1}function f(o,i){_(!this._parserCallback,'There is already a "callback" set!'),_(o>0,'can only pass through > 0 bytes, got "'+o+'"'),this._parserInit||s(this),w("passing through %o bytes",o),this._parserBytesLeft=o,this._parserCallback=i,this._parserState=2}function l(o,i,u){this._parserInit||s(this),w("write(%o bytes)",o.length),typeof i=="function"&&(u=i),r(this,o,null,u)}function t(o,i,u){this._parserInit||s(this),w("transform(%o bytes)",o.length),typeof i!="function"&&(i=this._parserOutput),r(this,o,i,u)}function a(o,i,u,p){if(o._parserBytesLeft-=i.length,w("%o bytes left for stream piece",o._parserBytesLeft),o._parserState===0?(o._parserBuffers.push(i),o._parserBuffered+=i.length):o._parserState===2&&u(i),o._parserBytesLeft!==0)return p;var c=o._parserCallback;if(c&&o._parserState===0&&o._parserBuffers.length>1&&(i=Buffer.concat(o._parserBuffers,o._parserBuffered)),o._parserState!==0&&(i=null),o._parserCallback=null,o._parserBuffered=0,o._parserState=-1,o._parserBuffers.splice(0),c){var x=[];i&&x.push(i),u&&x.push(u);var d=c.length>x.length;d&&x.push(n(p));var v=c.apply(o,x);if(!d||p===v)return p}}D.exports=function(o){var i=o&&typeof o._transform=="function",u=o&&typeof o._write=="function";if(!i&&!u)throw new Error("must pass a Writable or Transform stream in");w("extending Parser into stream"),o._bytes=T,o._skipBytes=m,i&&(o._passthrough=f),i?o._transform=t:o._write=l};var r=n(function o(i,u,p,c){return i._parserBytesLeft<=0?c(new Error("got data but not currently parsing anything")):u.length<=i._parserBytesLeft?function(){return a(i,u,p,c)}:function(){var x=u.slice(0,i._parserBytesLeft);return a(i,x,p,function(d){return d?c(d):u.length>x.length?function(){return o(i,u.slice(x.length),p,c)}:void 0})}});function n(o){return function(){for(var i=o.apply(this,arguments);typeof i=="function";)i=i();return i}}},41633:function(D,E,e){var _=e(90386);function w(){var s;try{s=E.storage.debug}catch{}return!s&&_!==void 0&&"env"in _&&(s=_.env.DEBUG),s}(E=D.exports=e(74469)).log=function(){return typeof console=="object"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},E.formatArgs=function(s){var T=this.useColors;if(s[0]=(T?"%c":"")+this.namespace+(T?" %c":" ")+s[0]+(T?"%c ":" ")+"+"+E.humanize(this.diff),T){var m="color: "+this.color;s.splice(1,0,m,"color: inherit");var f=0,l=0;s[0].replace(/%[a-zA-Z%]/g,function(t){t!=="%%"&&(f++,t==="%c"&&(l=f))}),s.splice(l,0,m)}},E.save=function(s){try{s==null?E.storage.removeItem("debug"):E.storage.debug=s}catch{}},E.load=w,E.useColors=function(){return!(typeof window>"u"||!window.process||window.process.type!=="renderer")||typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},E.storage=typeof chrome<"u"&&chrome.storage!==void 0?chrome.storage.local:function(){try{return window.localStorage}catch{}}(),E.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],E.formatters.j=function(s){try{return JSON.stringify(s)}catch(T){return"[UnexpectedJSONParseError]: "+T.message}},E.enable(w())},74469:function(D,E,e){var _;function w(s){function T(){if(T.enabled){var m=T,f=+new Date,l=f-(_||f);m.diff=l,m.prev=_,m.curr=f,_=f;for(var t=new Array(arguments.length),a=0;a0)return function(t){if(!((t=String(t)).length>100)){var a=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(a){var r=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*r;case"days":case"day":case"d":return r*w;case"hours":case"hour":case"hrs":case"hr":case"h":return r*_;case"minutes":case"minute":case"mins":case"min":case"m":return r*e;case"seconds":case"second":case"secs":case"sec":case"s":return r*E;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}(T);if(l==="number"&&isNaN(T)===!1)return m.long?s(f=T,w,"day")||s(f,_,"hour")||s(f,e,"minute")||s(f,E,"second")||f+" ms":function(t){return t>=w?Math.round(t/w)+"d":t>=_?Math.round(t/_)+"h":t>=e?Math.round(t/e)+"m":t>=E?Math.round(t/E)+"s":t+"ms"}(T);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(T))}},99011:function(D,E,e){var _=e(88641);D.exports=function(w,s,T){if(w==null)throw Error("First argument should be a string");if(s==null)throw Error("Separator should be a string or a RegExp");T?(typeof T=="string"||Array.isArray(T))&&(T={ignore:T}):T={},T.escape==null&&(T.escape=!0),T.ignore==null?T.ignore=["[]","()","{}","<>",'""',"''","``","“”","«»"]:(typeof T.ignore=="string"&&(T.ignore=[T.ignore]),T.ignore=T.ignore.map(function(n){return n.length===1&&(n+=n),n}));var m=_.parse(w,{flat:!0,brackets:T.ignore}),f=m[0].split(s);if(T.escape){for(var l=[],t=0;t0;){p=x[x.length-1];var d=E[p];if(T[p]=0&&f[p].push(m[b])}T[p]=v}else{if(w[p]===_[p]){var g=[],y=[],k=0;for(v=c.length-1;v>=0;--v){var h=c[v];if(s[h]=!1,g.push(h),y.push(f[h]),k+=f[h].length,m[h]=r.length,h===p){c.length=v;break}}r.push(g);var M=new Array(k);for(v=0;v1&&(a=1),a<-1&&(a=-1),(m*t-f*l<0?-1:1)*Math.acos(a)};E.default=function(m){var f=m.px,l=m.py,t=m.cx,a=m.cy,r=m.rx,n=m.ry,o=m.xAxisRotation,i=o===void 0?0:o,u=m.largeArcFlag,p=u===void 0?0:u,c=m.sweepFlag,x=c===void 0?0:c,d=[];if(r===0||n===0)return[];var v=Math.sin(i*_/360),b=Math.cos(i*_/360),g=b*(f-t)/2+v*(l-a)/2,y=-v*(f-t)/2+b*(l-a)/2;if(g===0&&y===0)return[];r=Math.abs(r),n=Math.abs(n);var k=Math.pow(g,2)/Math.pow(r,2)+Math.pow(y,2)/Math.pow(n,2);k>1&&(r*=Math.sqrt(k),n*=Math.sqrt(k));var h=function(B,G,N,j,V,H,ee,Q,X,Y,K,te){var ie=Math.pow(V,2),oe=Math.pow(H,2),se=Math.pow(K,2),ce=Math.pow(te,2),xe=ie*oe-ie*ce-oe*se;xe<0&&(xe=0),xe/=ie*ce+oe*se;var pe=(xe=Math.sqrt(xe)*(ee===Q?-1:1))*V/H*te,de=xe*-H/V*K,he=Y*pe-X*de+(B+N)/2,ye=X*pe+Y*de+(G+j)/2,ze=(K-pe)/V,Te=(te-de)/H,Ae=(-K-pe)/V,Me=(-te-de)/H,Ce=T(1,0,ze,Te),ne=T(ze,Te,Ae,Me);return Q===0&&ne>0&&(ne-=_),Q===1&&ne<0&&(ne+=_),[he,ye,Ce,ne]}(f,l,t,a,r,n,p,x,v,b,g,y),M=function(B,G){if(Array.isArray(B))return B;if(Symbol.iterator in Object(B))return function(N,j){var V=[],H=!0,ee=!1,Q=void 0;try{for(var X,Y=N[Symbol.iterator]();!(H=(X=Y.next()).done)&&(V.push(X.value),!j||V.length!==j);H=!0);}catch(K){ee=!0,Q=K}finally{try{!H&&Y.return&&Y.return()}finally{if(ee)throw Q}}return V}(B,G);throw new TypeError("Invalid attempt to destructure non-iterable instance")}(h,4),A=M[0],C=M[1],L=M[2],P=M[3],I=Math.abs(P)/(_/4);Math.abs(1-I)<1e-7&&(I=1);var R=Math.max(Math.ceil(I),1);P/=R;for(var U=0;Ul[2]&&(l[2]=r[n+0]),r[n+1]>l[3]&&(l[3]=r[n+1]);return l}},29988:function(D,E,e){D.exports=function(T){for(var m,f=[],l=0,t=0,a=0,r=0,n=null,o=null,i=0,u=0,p=0,c=T.length;p4?(l=x[x.length-4],t=x[x.length-3]):(l=i,t=u),f.push(x)}return f};var _=e(7095);function w(T,m,f,l){return["C",T,m,f,l,f,l]}function s(T,m,f,l,t,a){return["C",T/3+.6666666666666666*f,m/3+.6666666666666666*l,t/3+.6666666666666666*f,a/3+.6666666666666666*l,t,a]}},82019:function(D,E,e){var _,w=e(1750),s=e(95616),T=e(31457),m=e(89546),f=e(44781),l=document.createElement("canvas"),t=l.getContext("2d");D.exports=function(a,r){if(!m(a))throw Error("Argument should be valid svg path string");var n,o;r||(r={}),r.shape?(n=r.shape[0],o=r.shape[1]):(n=l.width=r.w||r.width||200,o=l.height=r.h||r.height||200);var i=Math.min(n,o),u=r.stroke||0,p=r.viewbox||r.viewBox||w(a),c=[n/(p[2]-p[0]),o/(p[3]-p[1])],x=Math.min(c[0]||0,c[1]||0)/2;if(t.fillStyle="black",t.fillRect(0,0,n,o),t.fillStyle="white",u&&(typeof u!="number"&&(u=1),t.strokeStyle=u>0?"white":"black",t.lineWidth=Math.abs(u)),t.translate(.5*n,.5*o),t.scale(x,x),function(){if(_!=null)return _;var b=document.createElement("canvas").getContext("2d");if(b.canvas.width=b.canvas.height=1,!window.Path2D)return _=!1;var g=new Path2D("M0,0h1v1h-1v-1Z");b.fillStyle="black",b.fill(g);var y=b.getImageData(0,0,1,1);return _=y&&y.data&&y.data[3]===255}()){var d=new Path2D(a);t.fill(d),u&&t.stroke(d)}else{var v=s(a);T(t,v),t.fill(),u&&t.stroke()}return t.setTransform(1,0,0,1,0,0),f(t,{cutoff:r.cutoff!=null?r.cutoff:.5,radius:r.radius!=null?r.radius:.5*i})}},84267:function(D,E,e){var _;(function(w){var s=/^\s+/,T=/\s+$/,m=0,f=w.round,l=w.min,t=w.max,a=w.random;function r(K,te){if(te=te||{},(K=K||"")instanceof r)return K;if(!(this instanceof r))return new r(K,te);var ie=function(oe){var se,ce,xe,pe={r:0,g:0,b:0},de=1,he=null,ye=null,ze=null,Te=!1,Ae=!1;return typeof oe=="string"&&(oe=function(Me){Me=Me.replace(s,"").replace(T,"").toLowerCase();var Ce,ne=!1;if(L[Me])Me=L[Me],ne=!0;else if(Me=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};return(Ce=X.rgb.exec(Me))?{r:Ce[1],g:Ce[2],b:Ce[3]}:(Ce=X.rgba.exec(Me))?{r:Ce[1],g:Ce[2],b:Ce[3],a:Ce[4]}:(Ce=X.hsl.exec(Me))?{h:Ce[1],s:Ce[2],l:Ce[3]}:(Ce=X.hsla.exec(Me))?{h:Ce[1],s:Ce[2],l:Ce[3],a:Ce[4]}:(Ce=X.hsv.exec(Me))?{h:Ce[1],s:Ce[2],v:Ce[3]}:(Ce=X.hsva.exec(Me))?{h:Ce[1],s:Ce[2],v:Ce[3],a:Ce[4]}:(Ce=X.hex8.exec(Me))?{r:B(Ce[1]),g:B(Ce[2]),b:B(Ce[3]),a:V(Ce[4]),format:ne?"name":"hex8"}:(Ce=X.hex6.exec(Me))?{r:B(Ce[1]),g:B(Ce[2]),b:B(Ce[3]),format:ne?"name":"hex"}:(Ce=X.hex4.exec(Me))?{r:B(Ce[1]+""+Ce[1]),g:B(Ce[2]+""+Ce[2]),b:B(Ce[3]+""+Ce[3]),a:V(Ce[4]+""+Ce[4]),format:ne?"name":"hex8"}:!!(Ce=X.hex3.exec(Me))&&{r:B(Ce[1]+""+Ce[1]),g:B(Ce[2]+""+Ce[2]),b:B(Ce[3]+""+Ce[3]),format:ne?"name":"hex"}}(oe)),typeof oe=="object"&&(Y(oe.r)&&Y(oe.g)&&Y(oe.b)?(se=oe.r,ce=oe.g,xe=oe.b,pe={r:255*R(se,255),g:255*R(ce,255),b:255*R(xe,255)},Te=!0,Ae=String(oe.r).substr(-1)==="%"?"prgb":"rgb"):Y(oe.h)&&Y(oe.s)&&Y(oe.v)?(he=N(oe.s),ye=N(oe.v),pe=function(Me,Ce,ne){Me=6*R(Me,360),Ce=R(Ce,100),ne=R(ne,100);var ue=w.floor(Me),me=Me-ue,we=ne*(1-Ce),Ee=ne*(1-me*Ce),Ue=ne*(1-(1-me)*Ce),De=ue%6;return{r:255*[ne,Ee,we,we,Ue,ne][De],g:255*[Ue,ne,ne,Ee,we,we][De],b:255*[we,we,Ue,ne,ne,Ee][De]}}(oe.h,he,ye),Te=!0,Ae="hsv"):Y(oe.h)&&Y(oe.s)&&Y(oe.l)&&(he=N(oe.s),ze=N(oe.l),pe=function(Me,Ce,ne){var ue,me,we;function Ee(je,ge,be){return be<0&&(be+=1),be>1&&(be-=1),be<1/6?je+6*(ge-je)*be:be<.5?ge:be<2/3?je+(ge-je)*(2/3-be)*6:je}if(Me=R(Me,360),Ce=R(Ce,100),ne=R(ne,100),Ce===0)ue=me=we=ne;else{var Ue=ne<.5?ne*(1+Ce):ne+Ce-ne*Ce,De=2*ne-Ue;ue=Ee(De,Ue,Me+1/3),me=Ee(De,Ue,Me),we=Ee(De,Ue,Me-1/3)}return{r:255*ue,g:255*me,b:255*we}}(oe.h,he,ze),Te=!0,Ae="hsl"),oe.hasOwnProperty("a")&&(de=oe.a)),de=I(de),{ok:Te,format:oe.format||Ae,r:l(255,t(pe.r,0)),g:l(255,t(pe.g,0)),b:l(255,t(pe.b,0)),a:de}}(K);this._originalInput=K,this._r=ie.r,this._g=ie.g,this._b=ie.b,this._a=ie.a,this._roundA=f(100*this._a)/100,this._format=te.format||ie.format,this._gradientType=te.gradientType,this._r<1&&(this._r=f(this._r)),this._g<1&&(this._g=f(this._g)),this._b<1&&(this._b=f(this._b)),this._ok=ie.ok,this._tc_id=m++}function n(K,te,ie){K=R(K,255),te=R(te,255),ie=R(ie,255);var oe,se,ce=t(K,te,ie),xe=l(K,te,ie),pe=(ce+xe)/2;if(ce==xe)oe=se=0;else{var de=ce-xe;switch(se=pe>.5?de/(2-ce-xe):de/(ce+xe),ce){case K:oe=(te-ie)/de+(te>1)+720)%360;--te;)oe.h=(oe.h+se)%360,ce.push(r(oe));return ce}function C(K,te){te=te||6;for(var ie=r(K).toHsv(),oe=ie.h,se=ie.s,ce=ie.v,xe=[],pe=1/te;te--;)xe.push(r({h:oe,s:se,v:ce})),ce=(ce+pe)%1;return xe}r.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 K=this.toRgb();return(299*K.r+587*K.g+114*K.b)/1e3},getLuminance:function(){var K,te,ie,oe=this.toRgb();return K=oe.r/255,te=oe.g/255,ie=oe.b/255,.2126*(K<=.03928?K/12.92:w.pow((K+.055)/1.055,2.4))+.7152*(te<=.03928?te/12.92:w.pow((te+.055)/1.055,2.4))+.0722*(ie<=.03928?ie/12.92:w.pow((ie+.055)/1.055,2.4))},setAlpha:function(K){return this._a=I(K),this._roundA=f(100*this._a)/100,this},toHsv:function(){var K=o(this._r,this._g,this._b);return{h:360*K.h,s:K.s,v:K.v,a:this._a}},toHsvString:function(){var K=o(this._r,this._g,this._b),te=f(360*K.h),ie=f(100*K.s),oe=f(100*K.v);return this._a==1?"hsv("+te+", "+ie+"%, "+oe+"%)":"hsva("+te+", "+ie+"%, "+oe+"%, "+this._roundA+")"},toHsl:function(){var K=n(this._r,this._g,this._b);return{h:360*K.h,s:K.s,l:K.l,a:this._a}},toHslString:function(){var K=n(this._r,this._g,this._b),te=f(360*K.h),ie=f(100*K.s),oe=f(100*K.l);return this._a==1?"hsl("+te+", "+ie+"%, "+oe+"%)":"hsla("+te+", "+ie+"%, "+oe+"%, "+this._roundA+")"},toHex:function(K){return i(this._r,this._g,this._b,K)},toHexString:function(K){return"#"+this.toHex(K)},toHex8:function(K){return function(te,ie,oe,se,ce){var xe=[G(f(te).toString(16)),G(f(ie).toString(16)),G(f(oe).toString(16)),G(j(se))];return ce&&xe[0].charAt(0)==xe[0].charAt(1)&&xe[1].charAt(0)==xe[1].charAt(1)&&xe[2].charAt(0)==xe[2].charAt(1)&&xe[3].charAt(0)==xe[3].charAt(1)?xe[0].charAt(0)+xe[1].charAt(0)+xe[2].charAt(0)+xe[3].charAt(0):xe.join("")}(this._r,this._g,this._b,this._a,K)},toHex8String:function(K){return"#"+this.toHex8(K)},toRgb:function(){return{r:f(this._r),g:f(this._g),b:f(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+f(this._r)+", "+f(this._g)+", "+f(this._b)+")":"rgba("+f(this._r)+", "+f(this._g)+", "+f(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:f(100*R(this._r,255))+"%",g:f(100*R(this._g,255))+"%",b:f(100*R(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+f(100*R(this._r,255))+"%, "+f(100*R(this._g,255))+"%, "+f(100*R(this._b,255))+"%)":"rgba("+f(100*R(this._r,255))+"%, "+f(100*R(this._g,255))+"%, "+f(100*R(this._b,255))+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":!(this._a<1)&&(P[i(this._r,this._g,this._b,!0)]||!1)},toFilter:function(K){var te="#"+u(this._r,this._g,this._b,this._a),ie=te,oe=this._gradientType?"GradientType = 1, ":"";if(K){var se=r(K);ie="#"+u(se._r,se._g,se._b,se._a)}return"progid:DXImageTransform.Microsoft.gradient("+oe+"startColorstr="+te+",endColorstr="+ie+")"},toString:function(K){var te=!!K;K=K||this._format;var ie=!1,oe=this._a<1&&this._a>=0;return te||!oe||K!=="hex"&&K!=="hex6"&&K!=="hex3"&&K!=="hex4"&&K!=="hex8"&&K!=="name"?(K==="rgb"&&(ie=this.toRgbString()),K==="prgb"&&(ie=this.toPercentageRgbString()),K!=="hex"&&K!=="hex6"||(ie=this.toHexString()),K==="hex3"&&(ie=this.toHexString(!0)),K==="hex4"&&(ie=this.toHex8String(!0)),K==="hex8"&&(ie=this.toHex8String()),K==="name"&&(ie=this.toName()),K==="hsl"&&(ie=this.toHslString()),K==="hsv"&&(ie=this.toHsvString()),ie||this.toHexString()):K==="name"&&this._a===0?this.toName():this.toRgbString()},clone:function(){return r(this.toString())},_applyModification:function(K,te){var ie=K.apply(null,[this].concat([].slice.call(te)));return this._r=ie._r,this._g=ie._g,this._b=ie._b,this.setAlpha(ie._a),this},lighten:function(){return this._applyModification(d,arguments)},brighten:function(){return this._applyModification(v,arguments)},darken:function(){return this._applyModification(b,arguments)},desaturate:function(){return this._applyModification(p,arguments)},saturate:function(){return this._applyModification(c,arguments)},greyscale:function(){return this._applyModification(x,arguments)},spin:function(){return this._applyModification(g,arguments)},_applyCombination:function(K,te){return K.apply(null,[this].concat([].slice.call(te)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(y,arguments)},monochromatic:function(){return this._applyCombination(C,arguments)},splitcomplement:function(){return this._applyCombination(M,arguments)},triad:function(){return this._applyCombination(k,arguments)},tetrad:function(){return this._applyCombination(h,arguments)}},r.fromRatio=function(K,te){if(typeof K=="object"){var ie={};for(var oe in K)K.hasOwnProperty(oe)&&(ie[oe]=oe==="a"?K[oe]:N(K[oe]));K=ie}return r(K,te)},r.equals=function(K,te){return!(!K||!te)&&r(K).toRgbString()==r(te).toRgbString()},r.random=function(){return r.fromRatio({r:a(),g:a(),b:a()})},r.mix=function(K,te,ie){ie=ie===0?0:ie||50;var oe=r(K).toRgb(),se=r(te).toRgb(),ce=ie/100;return r({r:(se.r-oe.r)*ce+oe.r,g:(se.g-oe.g)*ce+oe.g,b:(se.b-oe.b)*ce+oe.b,a:(se.a-oe.a)*ce+oe.a})},r.readability=function(K,te){var ie=r(K),oe=r(te);return(w.max(ie.getLuminance(),oe.getLuminance())+.05)/(w.min(ie.getLuminance(),oe.getLuminance())+.05)},r.isReadable=function(K,te,ie){var oe,se,ce,xe,pe,de=r.readability(K,te);switch(se=!1,(ce=ie,(xe=((ce=ce||{level:"AA",size:"small"}).level||"AA").toUpperCase())!=="AA"&&xe!=="AAA"&&(xe="AA"),(pe=(ce.size||"small").toLowerCase())!=="small"&&pe!=="large"&&(pe="small"),oe={level:xe,size:pe}).level+oe.size){case"AAsmall":case"AAAlarge":se=de>=4.5;break;case"AAlarge":se=de>=3;break;case"AAAsmall":se=de>=7}return se},r.mostReadable=function(K,te,ie){var oe,se,ce,xe,pe=null,de=0;se=(ie=ie||{}).includeFallbackColors,ce=ie.level,xe=ie.size;for(var he=0;hede&&(de=oe,pe=r(te[he]));return r.isReadable(K,pe,{level:ce,size:xe})||!se?pe:(ie.includeFallbackColors=!1,r.mostReadable(K,["#fff","#000"],ie))};var L=r.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"},P=r.hexNames=function(K){var te={};for(var ie in K)K.hasOwnProperty(ie)&&(te[K[ie]]=ie);return te}(L);function I(K){return K=parseFloat(K),(isNaN(K)||K<0||K>1)&&(K=1),K}function R(K,te){(function(oe){return typeof oe=="string"&&oe.indexOf(".")!=-1&&parseFloat(oe)===1})(K)&&(K="100%");var ie=function(oe){return typeof oe=="string"&&oe.indexOf("%")!=-1}(K);return K=l(te,t(0,parseFloat(K))),ie&&(K=parseInt(K*te,10)/100),w.abs(K-te)<1e-6?1:K%te/parseFloat(te)}function U(K){return l(1,t(0,K))}function B(K){return parseInt(K,16)}function G(K){return K.length==1?"0"+K:""+K}function N(K){return K<=1&&(K=100*K+"%"),K}function j(K){return w.round(255*parseFloat(K)).toString(16)}function V(K){return B(K)/255}var H,ee,Q,X=(ee="[\\s|\\(]+("+(H="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+H+")[,|\\s]+("+H+")\\s*\\)?",Q="[\\s|\\(]+("+H+")[,|\\s]+("+H+")[,|\\s]+("+H+")[,|\\s]+("+H+")\\s*\\)?",{CSS_UNIT:new RegExp(H),rgb:new RegExp("rgb"+ee),rgba:new RegExp("rgba"+Q),hsl:new RegExp("hsl"+ee),hsla:new RegExp("hsla"+Q),hsv:new RegExp("hsv"+ee),hsva:new RegExp("hsva"+Q),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 Y(K){return!!X.CSS_UNIT.exec(K)}D.exports?D.exports=r:(_=function(){return r}.call(E,e,E,D))===void 0||(D.exports=_)})(Math)},57060:function(D){D.exports=e,D.exports.float32=D.exports.float=e,D.exports.fract32=D.exports.fract=function(_,w){if(_.length){if(_ instanceof Float32Array)return new Float32Array(_.length);w instanceof Float32Array||(w=e(_));for(var s=0,T=w.length;s":(T.length>100&&(T=T.slice(0,99)+"…"),T=T.replace(w,function(m){switch(m){case` +`:return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}}))}},47403:function(D,E,e){var _=e(24582),w={object:!0,function:!0,undefined:!0};D.exports=function(s){return!!_(s)&&hasOwnProperty.call(w,typeof s)}},82527:function(D,E,e){var _=e(69190),w=e(84985);D.exports=function(s){return w(s)?s:_(s,"%v is not a plain function",arguments[1])}},84985:function(D,E,e){var _=e(73116),w=/^\s*class[\s{/}]/,s=Function.prototype.toString;D.exports=function(T){return!!_(T)&&!w.test(s.call(T))}},24511:function(D,E,e){var _=e(47403);D.exports=function(w){if(!_(w))return!1;try{return!!w.constructor&&w.constructor.prototype===w}catch{return!1}}},9234:function(D,E,e){var _=e(24582),w=e(47403),s=Object.prototype.toString;D.exports=function(T){if(!_(T))return null;if(w(T)){var m=T.toString;if(typeof m!="function"||m===s)return null}try{return""+T}catch{return null}}},10424:function(D,E,e){var _=e(69190),w=e(24582);D.exports=function(s){return w(s)?s:_(s,"Cannot use %v",arguments[1])}},24582:function(D){D.exports=function(E){return E!=null}},58404:function(D,E,e){var _=e(13547),w=e(12129),s=e(12856).Buffer;e.g.__TYPEDARRAY_POOL||(e.g.__TYPEDARRAY_POOL={UINT8:w([32,0]),UINT16:w([32,0]),UINT32:w([32,0]),BIGUINT64:w([32,0]),INT8:w([32,0]),INT16:w([32,0]),INT32:w([32,0]),BIGINT64:w([32,0]),FLOAT:w([32,0]),DOUBLE:w([32,0]),DATA:w([32,0]),UINT8C:w([32,0]),BUFFER:w([32,0])});var T=typeof Uint8ClampedArray<"u",m=typeof BigUint64Array<"u",f=typeof BigInt64Array<"u",l=e.g.__TYPEDARRAY_POOL;l.UINT8C||(l.UINT8C=w([32,0])),l.BIGUINT64||(l.BIGUINT64=w([32,0])),l.BIGINT64||(l.BIGINT64=w([32,0])),l.BUFFER||(l.BUFFER=w([32,0]));var t=l.DATA,a=l.BUFFER;function r(M){if(M){var A=M.length||M.byteLength,C=_.log2(A);t[C].push(M)}}function n(M){M=_.nextPow2(M);var A=_.log2(M),C=t[A];return C.length>0?C.pop():new ArrayBuffer(M)}function o(M){return new Uint8Array(n(M),0,M)}function i(M){return new Uint16Array(n(2*M),0,M)}function u(M){return new Uint32Array(n(4*M),0,M)}function p(M){return new Int8Array(n(M),0,M)}function c(M){return new Int16Array(n(2*M),0,M)}function x(M){return new Int32Array(n(4*M),0,M)}function d(M){return new Float32Array(n(4*M),0,M)}function v(M){return new Float64Array(n(8*M),0,M)}function b(M){return T?new Uint8ClampedArray(n(M),0,M):o(M)}function g(M){return m?new BigUint64Array(n(8*M),0,M):null}function y(M){return f?new BigInt64Array(n(8*M),0,M):null}function k(M){return new DataView(n(M),0,M)}function h(M){M=_.nextPow2(M);var A=_.log2(M),C=a[A];return C.length>0?C.pop():new s(M)}E.free=function(M){if(s.isBuffer(M))a[_.log2(M.length)].push(M);else{if(Object.prototype.toString.call(M)!=="[object ArrayBuffer]"&&(M=M.buffer),!M)return;var A=M.length||M.byteLength,C=0|_.log2(A);t[C].push(M)}},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(M){r(M.buffer)},E.freeArrayBuffer=r,E.freeBuffer=function(M){a[_.log2(M.length)].push(M)},E.malloc=function(M,A){if(A===void 0||A==="arraybuffer")return n(M);switch(A){case"uint8":return o(M);case"uint16":return i(M);case"uint32":return u(M);case"int8":return p(M);case"int16":return c(M);case"int32":return x(M);case"float":case"float32":return d(M);case"double":case"float64":return v(M);case"uint8_clamped":return b(M);case"bigint64":return y(M);case"biguint64":return g(M);case"buffer":return h(M);case"data":case"dataview":return k(M);default:return null}return null},E.mallocArrayBuffer=n,E.mallocUint8=o,E.mallocUint16=i,E.mallocUint32=u,E.mallocInt8=p,E.mallocInt16=c,E.mallocInt32=x,E.mallocFloat32=E.mallocFloat=d,E.mallocFloat64=E.mallocDouble=v,E.mallocUint8Clamped=b,E.mallocBigUint64=g,E.mallocBigInt64=y,E.mallocDataView=k,E.mallocBuffer=h,E.clearCache=function(){for(var M=0;M<32;++M)l.UINT8[M].length=0,l.UINT16[M].length=0,l.UINT32[M].length=0,l.INT8[M].length=0,l.INT16[M].length=0,l.INT32[M].length=0,l.FLOAT[M].length=0,l.DOUBLE[M].length=0,l.BIGUINT64[M].length=0,l.BIGINT64[M].length=0,l.UINT8C[M].length=0,t[M].length=0,a[M].length=0}},90448:function(D){var E=/[\'\"]/;D.exports=function(e){return e?(E.test(e.charAt(0))&&(e=e.substr(1)),E.test(e.charAt(e.length-1))&&(e=e.substr(0,e.length-1)),e):""}},93447:function(D){D.exports=function(E,e,_){Array.isArray(_)||(_=[].slice.call(arguments,2));for(var w=0,s=_.length;w=N)return H;switch(H){case"%s":return String(G[B++]);case"%d":return Number(G[B++]);case"%j":try{return JSON.stringify(G[B++])}catch{return"[Circular]"}default:return H}}),V=G[B];B=3&&(B.depth=arguments[2]),arguments.length>=4&&(B.colors=arguments[3]),u(U)?B.showHidden=U:U&&E._extend(B,U),d(B.showHidden)&&(B.showHidden=!1),d(B.depth)&&(B.depth=2),d(B.colors)&&(B.colors=!1),d(B.customInspect)&&(B.customInspect=!0),B.colors&&(B.stylize=t),r(B,R,B.depth)}function t(R,U){var B=l.styles[U];return B?"\x1B["+l.colors[B][0]+"m"+R+"\x1B["+l.colors[B][1]+"m":R}function a(R,U){return R}function r(R,U,B){if(R.customInspect&&U&&k(U.inspect)&&U.inspect!==E.inspect&&(!U.constructor||U.constructor.prototype!==U)){var G=U.inspect(B,R);return x(G)||(G=r(R,G,B)),G}var N=function(K,te){if(d(te))return K.stylize("undefined","undefined");if(x(te)){var ie="'"+JSON.stringify(te).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return K.stylize(ie,"string")}return c(te)?K.stylize(""+te,"number"):u(te)?K.stylize(""+te,"boolean"):p(te)?K.stylize("null","null"):void 0}(R,U);if(N)return N;var j=Object.keys(U),V=function(K){var te={};return K.forEach(function(ie,oe){te[ie]=!0}),te}(j);if(R.showHidden&&(j=Object.getOwnPropertyNames(U)),y(U)&&(j.indexOf("message")>=0||j.indexOf("description")>=0))return n(U);if(j.length===0){if(k(U)){var H=U.name?": "+U.name:"";return R.stylize("[Function"+H+"]","special")}if(v(U))return R.stylize(RegExp.prototype.toString.call(U),"regexp");if(g(U))return R.stylize(Date.prototype.toString.call(U),"date");if(y(U))return n(U)}var ee,Q="",X=!1,Y=["{","}"];return i(U)&&(X=!0,Y=["[","]"]),k(U)&&(Q=" [Function"+(U.name?": "+U.name:"")+"]"),v(U)&&(Q=" "+RegExp.prototype.toString.call(U)),g(U)&&(Q=" "+Date.prototype.toUTCString.call(U)),y(U)&&(Q=" "+n(U)),j.length!==0||X&&U.length!=0?B<0?v(U)?R.stylize(RegExp.prototype.toString.call(U),"regexp"):R.stylize("[Object]","special"):(R.seen.push(U),ee=X?function(K,te,ie,oe,se){for(var ce=[],xe=0,pe=te.length;xe60?ie[0]+(te===""?"":te+` + `)+" "+K.join(`, + `)+" "+ie[1]:ie[0]+te+" "+K.join(", ")+" "+ie[1]}(ee,Q,Y)):Y[0]+Q+Y[1]}function n(R){return"["+Error.prototype.toString.call(R)+"]"}function o(R,U,B,G,N,j){var V,H,ee;if((ee=Object.getOwnPropertyDescriptor(U,N)||{value:U[N]}).get?H=ee.set?R.stylize("[Getter/Setter]","special"):R.stylize("[Getter]","special"):ee.set&&(H=R.stylize("[Setter]","special")),L(G,N)||(V="["+N+"]"),H||(R.seen.indexOf(ee.value)<0?(H=p(B)?r(R,ee.value,null):r(R,ee.value,B-1)).indexOf(` +`)>-1&&(H=j?H.split(` +`).map(function(Q){return" "+Q}).join(` +`).slice(2):` +`+H.split(` +`).map(function(Q){return" "+Q}).join(` +`)):H=R.stylize("[Circular]","special")),d(V)){if(j&&N.match(/^\d+$/))return H;(V=JSON.stringify(""+N)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(V=V.slice(1,-1),V=R.stylize(V,"name")):(V=V.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),V=R.stylize(V,"string"))}return V+": "+H}function i(R){return Array.isArray(R)}function u(R){return typeof R=="boolean"}function p(R){return R===null}function c(R){return typeof R=="number"}function x(R){return typeof R=="string"}function d(R){return R===void 0}function v(R){return b(R)&&h(R)==="[object RegExp]"}function b(R){return typeof R=="object"&&R!==null}function g(R){return b(R)&&h(R)==="[object Date]"}function y(R){return b(R)&&(h(R)==="[object Error]"||R instanceof Error)}function k(R){return typeof R=="function"}function h(R){return Object.prototype.toString.call(R)}function M(R){return R<10?"0"+R.toString(10):R.toString(10)}E.debuglog=function(R){if(R=R.toUpperCase(),!T[R])if(m.test(R)){var U=_.pid;T[R]=function(){var B=E.format.apply(E,arguments);console.error("%s %d: %s",R,U,B)}}else T[R]=function(){};return T[R]},E.inspect=l,l.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]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},E.types=e(4936),E.isArray=i,E.isBoolean=u,E.isNull=p,E.isNullOrUndefined=function(R){return R==null},E.isNumber=c,E.isString=x,E.isSymbol=function(R){return typeof R=="symbol"},E.isUndefined=d,E.isRegExp=v,E.types.isRegExp=v,E.isObject=b,E.isDate=g,E.types.isDate=g,E.isError=y,E.types.isNativeError=y,E.isFunction=k,E.isPrimitive=function(R){return R===null||typeof R=="boolean"||typeof R=="number"||typeof R=="string"||typeof R=="symbol"||R===void 0},E.isBuffer=e(45920);var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function C(){var R=new Date,U=[M(R.getHours()),M(R.getMinutes()),M(R.getSeconds())].join(":");return[R.getDate(),A[R.getMonth()],U].join(" ")}function L(R,U){return Object.prototype.hasOwnProperty.call(R,U)}E.log=function(){console.log("%s - %s",C(),E.format.apply(E,arguments))},E.inherits=e(42018),E._extend=function(R,U){if(!U||!b(U))return R;for(var B=Object.keys(U),G=B.length;G--;)R[B[G]]=U[B[G]];return R};var P=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;function I(R,U){if(!R){var B=new Error("Promise was rejected with a falsy value");B.reason=R,R=B}return U(R)}E.promisify=function(R){if(typeof R!="function")throw new TypeError('The "original" argument must be of type Function');if(P&&R[P]){var U;if(typeof(U=R[P])!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(U,P,{value:U,enumerable:!1,writable:!1,configurable:!0}),U}function U(){for(var B,G,N=new Promise(function(H,ee){B=H,G=ee}),j=[],V=0;V"u"?e.g:globalThis,t=w(),a=s("String.prototype.slice"),r={},n=Object.getPrototypeOf;f&&T&&n&&_(t,function(i){if(typeof l[i]=="function"){var u=new l[i];if(Symbol.toStringTag in u){var p=n(u),c=T(p,Symbol.toStringTag);if(!c){var x=n(p);c=T(x,Symbol.toStringTag)}r[i]=c.get}}});var o=e(9187);D.exports=function(i){return!!o(i)&&(f&&Symbol.toStringTag in i?function(u){var p=!1;return _(r,function(c,x){if(!p)try{var d=c.call(u);d===x&&(p=d)}catch{}}),p}(i):a(m(i),8,-1))}},3961:function(D,E,e){var _=e(63489),w=e(56131),s=_.instance();function T(n){this.local=this.regionalOptions[n||""]||this.regionalOptions[""]}T.prototype=new _.baseCalendar,w(T.prototype,{name:"Chinese",jdEpoch:17214255e-1,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(n,o){if(typeof n=="string"){var i=n.match(f);return i?i[0]:""}var u=this._validateYear(n),p=n.month(),c=""+this.toChineseMonth(u,p);return o&&c.length<2&&(c="0"+c),this.isIntercalaryMonth(u,p)&&(c+="i"),c},monthNames:function(n){if(typeof n=="string"){var o=n.match(l);return o?o[0]:""}var i=this._validateYear(n),u=n.month(),p=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"][this.toChineseMonth(i,u)-1];return this.isIntercalaryMonth(i,u)&&(p="闰"+p),p},monthNamesShort:function(n){if(typeof n=="string"){var o=n.match(t);return o?o[0]:""}var i=this._validateYear(n),u=n.month(),p=["一","二","三","四","五","六","七","八","九","十","十一","十二"][this.toChineseMonth(i,u)-1];return this.isIntercalaryMonth(i,u)&&(p="闰"+p),p},parseMonth:function(n,o){n=this._validateYear(n);var i,u=parseInt(o);if(isNaN(u))o[0]==="闰"&&(i=!0,o=o.substring(1)),o[o.length-1]==="月"&&(o=o.substring(0,o.length-1)),u=1+["一","二","三","四","五","六","七","八","九","十","十一","十二"].indexOf(o);else{var p=o[o.length-1];i=p==="i"||p==="I"}return this.toMonthIndex(n,u,i)},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(n,o){if(n.year&&(n=n.year()),typeof n!="number"||n<1888||n>2111)throw o.replace(/\{0\}/,this.local.name);return n},toMonthIndex:function(n,o,i){var u=this.intercalaryMonth(n);if(i&&o!==u||o<1||o>12)throw _.local.invalidMonth.replace(/\{0\}/,this.local.name);return u?!i&&o<=u?o-1:o:o-1},toChineseMonth:function(n,o){n.year&&(o=(n=n.year()).month());var i=this.intercalaryMonth(n);if(o<0||o>(i?12:11))throw _.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?o>13},isIntercalaryMonth:function(n,o){n.year&&(o=(n=n.year()).month());var i=this.intercalaryMonth(n);return!!i&&i===o},leapYear:function(n){return this.intercalaryMonth(n)!==0},weekOfYear:function(n,o,i){var u,p=this._validateYear(n,_.local.invalidyear),c=r[p-r[0]],x=c>>9&4095,d=c>>5&15,v=31&c;(u=s.newDate(x,d,v)).add(4-(u.dayOfWeek()||7),"d");var b=this.toJD(n,o,i)-u.toJD();return 1+Math.floor(b/7)},monthsInYear:function(n){return this.leapYear(n)?13:12},daysInMonth:function(n,o){n.year&&(o=n.month(),n=n.year()),n=this._validateYear(n);var i=a[n-a[0]];if(o>(i>>13?12:11))throw _.local.invalidMonth.replace(/\{0\}/,this.local.name);return i&1<<12-o?30:29},weekDay:function(n,o,i){return(this.dayOfWeek(n,o,i)||7)<6},toJD:function(n,o,i){var u=this._validate(n,c,i,_.local.invalidDate);n=this._validateYear(u.year()),o=u.month(),i=u.day();var p=this.isIntercalaryMonth(n,o),c=this.toChineseMonth(n,o),x=function(d,v,b,g,y){var k,h,M;if(typeof d=="object")h=d,k=v||{};else{var A;if(!(typeof d=="number"&&d>=1888&&d<=2111))throw new Error("Lunar year outside range 1888-2111");if(!(typeof v=="number"&&v>=1&&v<=12))throw new Error("Lunar month outside range 1 - 12");if(!(typeof b=="number"&&b>=1&&b<=30))throw new Error("Lunar day outside range 1 - 30");typeof g=="object"?(A=!1,k=g):(A=!!g,k={}),h={year:d,month:v,day:b,isIntercalary:A}}M=h.day-1;var C,L=a[h.year-a[0]],P=L>>13;C=P&&(h.month>P||h.isIntercalary)?h.month:h.month-1;for(var I=0;I>9&4095,(R>>5&15)-1,(31&R)+M);return k.year=U.getFullYear(),k.month=1+U.getMonth(),k.day=U.getDate(),k}(n,c,i,p);return s.toJD(x.year,x.month,x.day)},fromJD:function(n){var o=s.fromJD(n),i=function(p,c,x,d){var v,b;if(typeof p=="object")v=p,b=c||{};else{if(!(typeof p=="number"&&p>=1888&&p<=2111))throw new Error("Solar year outside range 1888-2111");if(!(typeof c=="number"&&c>=1&&c<=12))throw new Error("Solar month outside range 1 - 12");if(!(typeof x=="number"&&x>=1&&x<=31))throw new Error("Solar day outside range 1 - 31");v={year:p,month:c,day:x},b={}}var g=r[v.year-r[0]],y=v.year<<9|v.month<<5|v.day;b.year=y>=g?v.year:v.year-1,g=r[b.year-r[0]];var k,h=new Date(g>>9&4095,(g>>5&15)-1,31&g),M=new Date(v.year,v.month-1,v.day);k=Math.round((M-h)/864e5);var A,C=a[b.year-a[0]];for(A=0;A<13;A++){var L=C&1<<12-A?30:29;if(k>13;return!P||A=2&&t<=6},extraInfo:function(m,f,l){var t=this._validate(m,f,l,_.local.invalidDate);return{century:T[Math.floor((t.year()-1)/100)+1]||""}},toJD:function(m,f,l){var t=this._validate(m,f,l,_.local.invalidDate);return m=t.year()+(t.year()<0?1:0),f=t.month(),(l=t.day())+(f>1?16:0)+(f>2?32*(f-2):0)+400*(m-1)+this.jdEpoch-1},fromJD:function(m){m=Math.floor(m+.5)-Math.floor(this.jdEpoch)-1;var f=Math.floor(m/400)+1;m-=400*(f-1),m+=m>15?16:0;var l=Math.floor(m/32)+1,t=m-32*(l-1)+1;return this.newDate(f<=0?f-1:f,l,t)}});var T={20:"Fruitbat",21:"Anchovy"};_.calendars.discworld=s},37715:function(D,E,e){var _=e(63489),w=e(56131);function s(T){this.local=this.regionalOptions[T||""]||this.regionalOptions[""]}s.prototype=new _.baseCalendar,w(s.prototype,{name:"Ethiopian",jdEpoch:17242205e-1,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(T){var m=this._validate(T,this.minMonth,this.minDay,_.local.invalidYear);return(T=m.year()+(m.year()<0?1:0))%4==3||T%4==-1},monthsInYear:function(T){return this._validate(T,this.minMonth,this.minDay,_.local.invalidYear||_.regionalOptions[""].invalidYear),13},weekOfYear:function(T,m,f){var l=this.newDate(T,m,f);return l.add(-l.dayOfWeek(),"d"),Math.floor((l.dayOfYear()-1)/7)+1},daysInMonth:function(T,m){var f=this._validate(T,m,this.minDay,_.local.invalidMonth);return this.daysPerMonth[f.month()-1]+(f.month()===13&&this.leapYear(f.year())?1:0)},weekDay:function(T,m,f){return(this.dayOfWeek(T,m,f)||7)<6},toJD:function(T,m,f){var l=this._validate(T,m,f,_.local.invalidDate);return(T=l.year())<0&&T++,l.day()+30*(l.month()-1)+365*(T-1)+Math.floor(T/4)+this.jdEpoch-1},fromJD:function(T){var m=Math.floor(T)+.5-this.jdEpoch,f=Math.floor((m-Math.floor((m+366)/1461))/365)+1;f<=0&&f--,m=Math.floor(T)+.5-this.newDate(f,1,1).toJD();var l=Math.floor(m/30)+1,t=m-30*(l-1)+1;return this.newDate(f,l,t)}}),_.calendars.ethiopian=s},99384:function(D,E,e){var _=e(63489),w=e(56131);function s(m){this.local=this.regionalOptions[m||""]||this.regionalOptions[""]}function T(m,f){return m-f*Math.floor(m/f)}s.prototype=new _.baseCalendar,w(s.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(m){var f=this._validate(m,this.minMonth,this.minDay,_.local.invalidYear);return this._leapYear(f.year())},_leapYear:function(m){return T(7*(m=m<0?m+1:m)+1,19)<7},monthsInYear:function(m){return this._validate(m,this.minMonth,this.minDay,_.local.invalidYear),this._leapYear(m.year?m.year():m)?13:12},weekOfYear:function(m,f,l){var t=this.newDate(m,f,l);return t.add(-t.dayOfWeek(),"d"),Math.floor((t.dayOfYear()-1)/7)+1},daysInYear:function(m){return m=this._validate(m,this.minMonth,this.minDay,_.local.invalidYear).year(),this.toJD(m===-1?1:m+1,7,1)-this.toJD(m,7,1)},daysInMonth:function(m,f){return m.year&&(f=m.month(),m=m.year()),this._validate(m,f,this.minDay,_.local.invalidMonth),f===12&&this.leapYear(m)||f===8&&T(this.daysInYear(m),10)===5?30:f===9&&T(this.daysInYear(m),10)===3?29:this.daysPerMonth[f-1]},weekDay:function(m,f,l){return this.dayOfWeek(m,f,l)!==6},extraInfo:function(m,f,l){var t=this._validate(m,f,l,_.local.invalidDate);return{yearType:(this.leapYear(t)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(t)%10-3]}},toJD:function(m,f,l){var t=this._validate(m,f,l,_.local.invalidDate);m=t.year(),f=t.month(),l=t.day();var a=m<=0?m+1:m,r=this.jdEpoch+this._delay1(a)+this._delay2(a)+l+1;if(f<7){for(var n=7;n<=this.monthsInYear(m);n++)r+=this.daysInMonth(m,n);for(n=1;n=this.toJD(f===-1?1:f+1,7,1);)f++;for(var l=mthis.toJD(f,l,this.daysInMonth(f,l));)l++;var t=m-this.toJD(f,l,1)+1;return this.newDate(f,l,t)}}),_.calendars.hebrew=s},43805:function(D,E,e){var _=e(63489),w=e(56131);function s(T){this.local=this.regionalOptions[T||""]||this.regionalOptions[""]}s.prototype=new _.baseCalendar,w(s.prototype,{name:"Islamic",jdEpoch:19484395e-1,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-khamī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,_.local.invalidYear).year()+14)%30<11},weekOfYear:function(T,m,f){var l=this.newDate(T,m,f);return l.add(-l.dayOfWeek(),"d"),Math.floor((l.dayOfYear()-1)/7)+1},daysInYear:function(T){return this.leapYear(T)?355:354},daysInMonth:function(T,m){var f=this._validate(T,m,this.minDay,_.local.invalidMonth);return this.daysPerMonth[f.month()-1]+(f.month()===12&&this.leapYear(f.year())?1:0)},weekDay:function(T,m,f){return this.dayOfWeek(T,m,f)!==5},toJD:function(T,m,f){var l=this._validate(T,m,f,_.local.invalidDate);return T=l.year(),m=l.month(),T=T<=0?T+1:T,(f=l.day())+Math.ceil(29.5*(m-1))+354*(T-1)+Math.floor((3+11*T)/30)+this.jdEpoch-1},fromJD:function(T){T=Math.floor(T)+.5;var m=Math.floor((30*(T-this.jdEpoch)+10646)/10631);m=m<=0?m-1:m;var f=Math.min(12,Math.ceil((T-29-this.toJD(m,1,1))/29.5)+1),l=T-this.toJD(m,f,1)+1;return this.newDate(m,f,l)}}),_.calendars.islamic=s},88874:function(D,E,e){var _=e(63489),w=e(56131);function s(T){this.local=this.regionalOptions[T||""]||this.regionalOptions[""]}s.prototype=new _.baseCalendar,w(s.prototype,{name:"Julian",jdEpoch:17214235e-1,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(T){var m=this._validate(T,this.minMonth,this.minDay,_.local.invalidYear);return(T=m.year()<0?m.year()+1:m.year())%4==0},weekOfYear:function(T,m,f){var l=this.newDate(T,m,f);return l.add(4-(l.dayOfWeek()||7),"d"),Math.floor((l.dayOfYear()-1)/7)+1},daysInMonth:function(T,m){var f=this._validate(T,m,this.minDay,_.local.invalidMonth);return this.daysPerMonth[f.month()-1]+(f.month()===2&&this.leapYear(f.year())?1:0)},weekDay:function(T,m,f){return(this.dayOfWeek(T,m,f)||7)<6},toJD:function(T,m,f){var l=this._validate(T,m,f,_.local.invalidDate);return T=l.year(),m=l.month(),f=l.day(),T<0&&T++,m<=2&&(T--,m+=12),Math.floor(365.25*(T+4716))+Math.floor(30.6001*(m+1))+f-1524.5},fromJD:function(T){var m=Math.floor(T+.5)+1524,f=Math.floor((m-122.1)/365.25),l=Math.floor(365.25*f),t=Math.floor((m-l)/30.6001),a=t-Math.floor(t<14?1:13),r=f-Math.floor(a>2?4716:4715),n=m-l-Math.floor(30.6001*t);return r<=0&&r--,this.newDate(r,a,n)}}),_.calendars.julian=s},83290:function(D,E,e){var _=e(63489),w=e(56131);function s(f){this.local=this.regionalOptions[f||""]||this.regionalOptions[""]}function T(f,l){return f-l*Math.floor(f/l)}function m(f,l){return T(f-1,l)+1}s.prototype=new _.baseCalendar,w(s.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(f){return this._validate(f,this.minMonth,this.minDay,_.local.invalidYear),!1},formatYear:function(f){f=this._validate(f,this.minMonth,this.minDay,_.local.invalidYear).year();var l=Math.floor(f/400);return f%=400,f+=f<0?400:0,l+"."+Math.floor(f/20)+"."+f%20},forYear:function(f){if((f=f.split(".")).length<3)throw"Invalid Mayan year";for(var l=0,t=0;t19||t>0&&a<0)throw"Invalid Mayan year";l=20*l+a}return l},monthsInYear:function(f){return this._validate(f,this.minMonth,this.minDay,_.local.invalidYear),18},weekOfYear:function(f,l,t){return this._validate(f,l,t,_.local.invalidDate),0},daysInYear:function(f){return this._validate(f,this.minMonth,this.minDay,_.local.invalidYear),360},daysInMonth:function(f,l){return this._validate(f,l,this.minDay,_.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(f,l,t){return this._validate(f,l,t,_.local.invalidDate).day()},weekDay:function(f,l,t){return this._validate(f,l,t,_.local.invalidDate),!0},extraInfo:function(f,l,t){var a=this._validate(f,l,t,_.local.invalidDate).toJD(),r=this._toHaab(a),n=this._toTzolkin(a);return{haabMonthName:this.local.haabMonths[r[0]-1],haabMonth:r[0],haabDay:r[1],tzolkinDayName:this.local.tzolkinMonths[n[0]-1],tzolkinDay:n[0],tzolkinTrecena:n[1]}},_toHaab:function(f){var l=T(8+(f-=this.jdEpoch)+340,365);return[Math.floor(l/20)+1,T(l,20)]},_toTzolkin:function(f){return[m(20+(f-=this.jdEpoch),20),m(f+4,13)]},toJD:function(f,l,t){var a=this._validate(f,l,t,_.local.invalidDate);return a.day()+20*a.month()+360*a.year()+this.jdEpoch},fromJD:function(f){f=Math.floor(f)+.5-this.jdEpoch;var l=Math.floor(f/360);f%=360,f+=f<0?360:0;var t=Math.floor(f/20),a=f%20;return this.newDate(l,t,a)}}),_.calendars.mayan=s},29108:function(D,E,e){var _=e(63489),w=e(56131);function s(m){this.local=this.regionalOptions[m||""]||this.regionalOptions[""]}s.prototype=new _.baseCalendar;var T=_.instance("gregorian");w(s.prototype,{name:"Nanakshahi",jdEpoch:22576735e-1,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(m){var f=this._validate(m,this.minMonth,this.minDay,_.local.invalidYear||_.regionalOptions[""].invalidYear);return T.leapYear(f.year()+(f.year()<1?1:0)+1469)},weekOfYear:function(m,f,l){var t=this.newDate(m,f,l);return t.add(1-(t.dayOfWeek()||7),"d"),Math.floor((t.dayOfYear()-1)/7)+1},daysInMonth:function(m,f){var l=this._validate(m,f,this.minDay,_.local.invalidMonth);return this.daysPerMonth[l.month()-1]+(l.month()===12&&this.leapYear(l.year())?1:0)},weekDay:function(m,f,l){return(this.dayOfWeek(m,f,l)||7)<6},toJD:function(m,f,l){var t=this._validate(m,f,l,_.local.invalidMonth);(m=t.year())<0&&m++;for(var a=t.day(),r=1;r=this.toJD(f+1,1,1);)f++;for(var l=m-Math.floor(this.toJD(f,1,1)+.5)+1,t=1;l>this.daysInMonth(f,t);)l-=this.daysInMonth(f,t),t++;return this.newDate(f,t,l)}}),_.calendars.nanakshahi=s},55422:function(D,E,e){var _=e(63489),w=e(56131);function s(T){this.local=this.regionalOptions[T||""]||this.regionalOptions[""]}s.prototype=new _.baseCalendar,w(s.prototype,{name:"Nepali",jdEpoch:17007095e-1,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(T){return this.daysInYear(T)!==this.daysPerYear},weekOfYear:function(T,m,f){var l=this.newDate(T,m,f);return l.add(-l.dayOfWeek(),"d"),Math.floor((l.dayOfYear()-1)/7)+1},daysInYear:function(T){if(T=this._validate(T,this.minMonth,this.minDay,_.local.invalidYear).year(),this.NEPALI_CALENDAR_DATA[T]===void 0)return this.daysPerYear;for(var m=0,f=this.minMonth;f<=12;f++)m+=this.NEPALI_CALENDAR_DATA[T][f];return m},daysInMonth:function(T,m){return T.year&&(m=T.month(),T=T.year()),this._validate(T,m,this.minDay,_.local.invalidMonth),this.NEPALI_CALENDAR_DATA[T]===void 0?this.daysPerMonth[m-1]:this.NEPALI_CALENDAR_DATA[T][m]},weekDay:function(T,m,f){return this.dayOfWeek(T,m,f)!==6},toJD:function(T,m,f){var l=this._validate(T,m,f,_.local.invalidDate);T=l.year(),m=l.month(),f=l.day();var t=_.instance(),a=0,r=m,n=T;this._createMissingCalendarData(T);var o=T-(r>9||r===9&&f>=this.NEPALI_CALENDAR_DATA[n][0]?56:57);for(m!==9&&(a=f,r--);r!==9;)r<=0&&(r=12,n--),a+=this.NEPALI_CALENDAR_DATA[n][r],r--;return m===9?(a+=f-this.NEPALI_CALENDAR_DATA[n][0])<0&&(a+=t.daysInYear(o)):a+=this.NEPALI_CALENDAR_DATA[n][9]-this.NEPALI_CALENDAR_DATA[n][0],t.newDate(o,1,1).add(a,"d").toJD()},fromJD:function(T){var m=_.instance().fromJD(T),f=m.year(),l=m.dayOfYear(),t=f+56;this._createMissingCalendarData(t);for(var a=9,r=this.NEPALI_CALENDAR_DATA[t][0],n=this.NEPALI_CALENDAR_DATA[t][a]-r+1;l>n;)++a>12&&(a=1,t++),n+=this.NEPALI_CALENDAR_DATA[t][a];var o=this.NEPALI_CALENDAR_DATA[t][a]-(n-l);return this.newDate(t,a,o)},_createMissingCalendarData:function(T){var m=this.daysPerMonth.slice(0);m.unshift(17);for(var f=T-1;f0?474:473))%2820+474+38)%2816<682},weekOfYear:function(m,f,l){var t=this.newDate(m,f,l);return t.add(-(t.dayOfWeek()+1)%7,"d"),Math.floor((t.dayOfYear()-1)/7)+1},daysInMonth:function(m,f){var l=this._validate(m,f,this.minDay,_.local.invalidMonth);return this.daysPerMonth[l.month()-1]+(l.month()===12&&this.leapYear(l.year())?1:0)},weekDay:function(m,f,l){return this.dayOfWeek(m,f,l)!==5},toJD:function(m,f,l){var t=this._validate(m,f,l,_.local.invalidDate);m=t.year(),f=t.month(),l=t.day();var a=m-(m>=0?474:473),r=474+T(a,2820);return l+(f<=7?31*(f-1):30*(f-1)+6)+Math.floor((682*r-110)/2816)+365*(r-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(m){var f=(m=Math.floor(m)+.5)-this.toJD(475,1,1),l=Math.floor(f/1029983),t=T(f,1029983),a=2820;if(t!==1029982){var r=Math.floor(t/366),n=T(t,366);a=Math.floor((2134*r+2816*n+2815)/1028522)+r+1}var o=a+2820*l+474;o=o<=0?o-1:o;var i=m-this.toJD(o,1,1)+1,u=i<=186?Math.ceil(i/31):Math.ceil((i-6)/30),p=m-this.toJD(o,u,1)+1;return this.newDate(o,u,p)}}),_.calendars.persian=s,_.calendars.jalali=s},31320:function(D,E,e){var _=e(63489),w=e(56131),s=_.instance();function T(m){this.local=this.regionalOptions[m||""]||this.regionalOptions[""]}T.prototype=new _.baseCalendar,w(T.prototype,{name:"Taiwan",jdEpoch:24194025e-1,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(m){var f=this._validate(m,this.minMonth,this.minDay,_.local.invalidYear);return m=this._t2gYear(f.year()),s.leapYear(m)},weekOfYear:function(m,f,l){var t=this._validate(m,this.minMonth,this.minDay,_.local.invalidYear);return m=this._t2gYear(t.year()),s.weekOfYear(m,t.month(),t.day())},daysInMonth:function(m,f){var l=this._validate(m,f,this.minDay,_.local.invalidMonth);return this.daysPerMonth[l.month()-1]+(l.month()===2&&this.leapYear(l.year())?1:0)},weekDay:function(m,f,l){return(this.dayOfWeek(m,f,l)||7)<6},toJD:function(m,f,l){var t=this._validate(m,f,l,_.local.invalidDate);return m=this._t2gYear(t.year()),s.toJD(m,t.month(),t.day())},fromJD:function(m){var f=s.fromJD(m),l=this._g2tYear(f.year());return this.newDate(l,f.month(),f.day())},_t2gYear:function(m){return m+this.yearsOffset+(m>=-this.yearsOffset&&m<=-1?1:0)},_g2tYear:function(m){return m-this.yearsOffset-(m>=1&&m<=this.yearsOffset?1:0)}}),_.calendars.taiwan=T},51367:function(D,E,e){var _=e(63489),w=e(56131),s=_.instance();function T(m){this.local=this.regionalOptions[m||""]||this.regionalOptions[""]}T.prototype=new _.baseCalendar,w(T.prototype,{name:"Thai",jdEpoch:15230985e-1,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(m){var f=this._validate(m,this.minMonth,this.minDay,_.local.invalidYear);return m=this._t2gYear(f.year()),s.leapYear(m)},weekOfYear:function(m,f,l){var t=this._validate(m,this.minMonth,this.minDay,_.local.invalidYear);return m=this._t2gYear(t.year()),s.weekOfYear(m,t.month(),t.day())},daysInMonth:function(m,f){var l=this._validate(m,f,this.minDay,_.local.invalidMonth);return this.daysPerMonth[l.month()-1]+(l.month()===2&&this.leapYear(l.year())?1:0)},weekDay:function(m,f,l){return(this.dayOfWeek(m,f,l)||7)<6},toJD:function(m,f,l){var t=this._validate(m,f,l,_.local.invalidDate);return m=this._t2gYear(t.year()),s.toJD(m,t.month(),t.day())},fromJD:function(m){var f=s.fromJD(m),l=this._g2tYear(f.year());return this.newDate(l,f.month(),f.day())},_t2gYear:function(m){return m-this.yearsOffset-(m>=1&&m<=this.yearsOffset?1:0)},_g2tYear:function(m){return m+this.yearsOffset+(m>=-this.yearsOffset&&m<=-1?1:0)}}),_.calendars.thai=T},21457:function(D,E,e){var _=e(63489),w=e(56131);function s(m){this.local=this.regionalOptions[m||""]||this.regionalOptions[""]}s.prototype=new _.baseCalendar,w(s.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(m){var f=this._validate(m,this.minMonth,this.minDay,_.local.invalidYear);return this.daysInYear(f.year())===355},weekOfYear:function(m,f,l){var t=this.newDate(m,f,l);return t.add(-t.dayOfWeek(),"d"),Math.floor((t.dayOfYear()-1)/7)+1},daysInYear:function(m){for(var f=0,l=1;l<=12;l++)f+=this.daysInMonth(m,l);return f},daysInMonth:function(m,f){for(var l=this._validate(m,f,this.minDay,_.local.invalidMonth).toJD()-24e5+.5,t=0,a=0;al)return T[t]-T[t-1];t++}return 30},weekDay:function(m,f,l){return this.dayOfWeek(m,f,l)!==5},toJD:function(m,f,l){var t=this._validate(m,f,l,_.local.invalidDate),a=12*(t.year()-1)+t.month()-15292;return t.day()+T[a-1]-1+24e5-.5},fromJD:function(m){for(var f=m-24e5+.5,l=0,t=0;tf);t++)l++;var a=l+15292,r=Math.floor((a-1)/12),n=r+1,o=a-12*r,i=f-T[l-1]+1;return this.newDate(n,o,i)},isValid:function(m,f,l){var t=_.baseCalendar.prototype.isValid.apply(this,arguments);return t&&(t=(m=m.year!=null?m.year:m)>=1276&&m<=1500),t},_validate:function(m,f,l,t){var a=_.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw t.replace(/\{0\}/,this.local.name);return a}}),_.calendars.ummalqura=s;var T=[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]},63489:function(D,E,e){var _=e(56131);function w(){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 s(t,a,r,n){if(this._calendar=t,this._year=a,this._month=r,this._day=n,this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day))throw(l.local.invalidDate||l.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function T(t,a){return"000000".substring(0,a-(t=""+t).length)+t}function m(){this.shortYearCutoff="+10"}function f(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}_(w.prototype,{instance:function(t,a){t=(t||"gregorian").toLowerCase(),a=a||"";var r=this._localCals[t+"-"+a];if(!r&&this.calendars[t]&&(r=new this.calendars[t](a),this._localCals[t+"-"+a]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,a,r,n,o){return(n=(t!=null&&t.year?t.calendar():typeof n=="string"?this.instance(n,o):n)||this.instance()).newDate(t,a,r)},substituteDigits:function(t){return function(a){return(a+"").replace(/[0-9]/g,function(r){return t[r]})}},substituteChineseDigits:function(t,a){return function(r){for(var n="",o=0;r>0;){var i=r%10;n=(i===0?"":t[i]+a[o])+n,o++,r=Math.floor(r/10)}return n.indexOf(t[1]+a[1])===0&&(n=n.substr(1)),n||t[0]}}}),_(s.prototype,{newDate:function(t,a,r){return this._calendar.newDate(t??this,a,r)},year:function(t){return arguments.length===0?this._year:this.set(t,"y")},month:function(t){return arguments.length===0?this._month:this.set(t,"m")},day:function(t){return arguments.length===0?this._day:this.set(t,"d")},date:function(t,a,r){if(!this._calendar.isValid(t,a,r))throw(l.local.invalidDate||l.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=a,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(t,a){return this._calendar.add(this,t,a)},set:function(t,a){return this._calendar.set(this,t,a)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(l.local.differentCalendars||l.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var a=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return a===0?0:a<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+T(Math.abs(this.year()),4)+"-"+T(this.month(),2)+"-"+T(this.day(),2)}}),_(m.prototype,{_validateLevel:0,newDate:function(t,a,r){return t==null?this.today():(t.year&&(this._validate(t,a,r,l.local.invalidDate||l.regionalOptions[""].invalidDate),r=t.day(),a=t.month(),t=t.year()),new s(this,t,a,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var a=this._validate(t,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear);return(a.year()<0?"-":"")+T(Math.abs(a.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear),12},monthOfYear:function(t,a){var r=this._validate(t,a,this.minDay,l.local.invalidMonth||l.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,a){var r=(a+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,l.local.invalidMonth||l.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var a=this._validate(t,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear);return this.leapYear(a)?366:365},dayOfYear:function(t,a,r){var n=this._validate(t,a,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(t,a,r){var n=this._validate(t,a,r,l.local.invalidDate||l.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,a,r){return this._validate(t,a,r,l.local.invalidDate||l.regionalOptions[""].invalidDate),{}},add:function(t,a,r){return this._validate(t,this.minMonth,this.minDay,l.local.invalidDate||l.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,a,r),a,r)},_add:function(t,a,r){if(this._validateLevel++,r==="d"||r==="w"){var n=t.toJD()+a*(r==="w"?this.daysInWeek():1),o=t.calendar().fromJD(n);return this._validateLevel--,[o.year(),o.month(),o.day()]}try{var i=t.year()+(r==="y"?a:0),u=t.monthOfYear()+(r==="m"?a:0);o=t.day(),r==="y"?(t.month()!==this.fromMonthOfYear(i,u)&&(u=this.newDate(i,t.month(),this.minDay).monthOfYear()),u=Math.min(u,this.monthsInYear(i)),o=Math.min(o,this.daysInMonth(i,this.fromMonthOfYear(i,u)))):r==="m"&&(function(c){for(;ux-1+c.minMonth;)i++,u-=x,x=c.monthsInYear(i)}(this),o=Math.min(o,this.daysInMonth(i,this.fromMonthOfYear(i,u))));var p=[i,this.fromMonthOfYear(i,u),o];return this._validateLevel--,p}catch(c){throw this._validateLevel--,c}},_correctAdd:function(t,a,r,n){if(!(this.hasYearZero||n!=="y"&&n!=="m"||a[0]!==0&&t.year()>0==a[0]>0)){var o={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],i=r<0?-1:1;a=this._add(t,r*o[0]+i*o[1],o[2])}return t.date(a[0],a[1],a[2])},set:function(t,a,r){this._validate(t,this.minMonth,this.minDay,l.local.invalidDate||l.regionalOptions[""].invalidDate);var n=r==="y"?a:t.year(),o=r==="m"?a:t.month(),i=r==="d"?a:t.day();return r!=="y"&&r!=="m"||(i=Math.min(i,this.daysInMonth(n,o))),t.date(n,o,i)},isValid:function(t,a,r){this._validateLevel++;var n=this.hasYearZero||t!==0;if(n){var o=this.newDate(t,a,this.minDay);n=a>=this.minMonth&&a-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),x=o-(c>2.5?4716:4715);return x<=0&&x--,this.newDate(x,c,p)},toJSDate:function(t,a,r){var n=this._validate(t,a,r,l.local.invalidDate||l.regionalOptions[""].invalidDate),o=new Date(n.year(),n.month()-1,n.day());return o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0),o.setHours(o.getHours()>12?o.getHours()+2:0),o},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var l=D.exports=new w;l.cdate=s,l.baseCalendar=m,l.calendars.gregorian=f},94338:function(D,E,e){var _=e(56131),w=e(63489);_(w.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"}),w.local=w.regionalOptions[""],_(w.cdate.prototype,{formatDate:function(s,T){return typeof s!="string"&&(T=s,s=""),this._calendar.formatDate(s||"",this,T)}}),_(w.baseCalendar.prototype,{UNIX_EPOCH:w.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:w.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(s,T,m){if(typeof s!="string"&&(m=T,T=s,s=""),!T)return"";if(T.calendar()!==this)throw w.local.invalidFormat||w.regionalOptions[""].invalidFormat;s=s||this.local.dateFormat;for(var f,l,t,a=(m=m||{}).dayNamesShort||this.local.dayNamesShort,r=m.dayNames||this.local.dayNames,n=m.monthNumbers||this.local.monthNumbers,o=m.monthNamesShort||this.local.monthNamesShort,i=m.monthNames||this.local.monthNames,u=(m.calculateWeek||this.local.calculateWeek,function(h,M){for(var A=1;k+A1}),p=function(h,M,A,C){var L=""+M;if(u(h,C))for(;L.length1},g=function(R,U){var B=b(R,U),G=[2,3,B?4:2,B?4:2,10,11,20]["oyYJ@!".indexOf(R)+1],N=new RegExp("^-?\\d{1,"+G+"}"),j=T.substring(C).match(N);if(!j)throw(w.local.missingNumberAt||w.regionalOptions[""].missingNumberAt).replace(/\{0\}/,C);return C+=j[0].length,parseInt(j[0],10)},y=this,k=function(){if(typeof r=="function"){b("m");var R=r.call(y,T.substring(C));return C+=R.length,R}return g("m")},h=function(R,U,B,G){for(var N=b(R,G)?B:U,j=0;j-1){p=1,c=x;for(var I=this.daysInMonth(u,p);c>I;I=this.daysInMonth(u,p))p++,c-=I}return i>-1?this.fromJD(i):this.newDate(u,p,c)},determineDate:function(s,T,m,f,l){m&&typeof m!="object"&&(l=f,f=m,m=null),typeof f!="string"&&(l=f,f="");var t=this;return T=T?T.newDate():null,s==null?T:typeof s=="string"?function(a){try{return t.parseDate(f,a,l)}catch{}for(var r=((a=a.toLowerCase()).match(/^c/)&&m?m.newDate():null)||t.today(),n=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,o=n.exec(a);o;)r.add(parseInt(o[1],10),o[2]||"d"),o=n.exec(a);return r}(s):typeof s=="number"?isNaN(s)||s===1/0||s===-1/0?T:t.today().add(s,"d"):t.newDate(s)}})},69862:function(){},40964:function(){},72077:function(D,E,e){var _=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],w=typeof globalThis>"u"?e.g:globalThis;D.exports=function(){for(var s=[],T=0;T<_.length;T++)typeof w[_[T]]=="function"&&(s[s.length]=_[T]);return s}},81684:function(D,E,e){function _(pe,de,he){pe.prototype=de.prototype=he,he.constructor=pe}function w(pe,de){var he=Object.create(pe.prototype);for(var ye in de)he[ye]=de[ye];return he}function s(){}e.d(E,{sX:function(){return xe},k4:function(){return X}});var T=.7,m=1/T,f="\\s*([+-]?\\d+)\\s*",l="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",t="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",a=/^#([0-9a-f]{3,8})$/,r=new RegExp("^rgb\\(".concat(f,",").concat(f,",").concat(f,"\\)$")),n=new RegExp("^rgb\\(".concat(t,",").concat(t,",").concat(t,"\\)$")),o=new RegExp("^rgba\\(".concat(f,",").concat(f,",").concat(f,",").concat(l,"\\)$")),i=new RegExp("^rgba\\(".concat(t,",").concat(t,",").concat(t,",").concat(l,"\\)$")),u=new RegExp("^hsl\\(".concat(l,",").concat(t,",").concat(t,"\\)$")),p=new RegExp("^hsla\\(".concat(l,",").concat(t,",").concat(t,",").concat(l,"\\)$")),c={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};function x(){return this.rgb().formatHex()}function d(){return this.rgb().formatRgb()}function v(pe){var de,he;return pe=(pe+"").trim().toLowerCase(),(de=a.exec(pe))?(he=de[1].length,de=parseInt(de[1],16),he===6?b(de):he===3?new h(de>>8&15|de>>4&240,de>>4&15|240&de,(15&de)<<4|15&de,1):he===8?g(de>>24&255,de>>16&255,de>>8&255,(255&de)/255):he===4?g(de>>12&15|de>>8&240,de>>8&15|de>>4&240,de>>4&15|240&de,((15&de)<<4|15&de)/255):null):(de=r.exec(pe))?new h(de[1],de[2],de[3],1):(de=n.exec(pe))?new h(255*de[1]/100,255*de[2]/100,255*de[3]/100,1):(de=o.exec(pe))?g(de[1],de[2],de[3],de[4]):(de=i.exec(pe))?g(255*de[1]/100,255*de[2]/100,255*de[3]/100,de[4]):(de=u.exec(pe))?I(de[1],de[2]/100,de[3]/100,1):(de=p.exec(pe))?I(de[1],de[2]/100,de[3]/100,de[4]):c.hasOwnProperty(pe)?b(c[pe]):pe==="transparent"?new h(NaN,NaN,NaN,0):null}function b(pe){return new h(pe>>16&255,pe>>8&255,255&pe,1)}function g(pe,de,he,ye){return ye<=0&&(pe=de=he=NaN),new h(pe,de,he,ye)}function y(pe){return pe instanceof s||(pe=v(pe)),pe?new h((pe=pe.rgb()).r,pe.g,pe.b,pe.opacity):new h}function k(pe,de,he,ye){return arguments.length===1?y(pe):new h(pe,de,he,ye??1)}function h(pe,de,he,ye){this.r=+pe,this.g=+de,this.b=+he,this.opacity=+ye}function M(){return"#".concat(P(this.r)).concat(P(this.g)).concat(P(this.b))}function A(){var pe=C(this.opacity);return"".concat(pe===1?"rgb(":"rgba(").concat(L(this.r),", ").concat(L(this.g),", ").concat(L(this.b)).concat(pe===1?")":", ".concat(pe,")"))}function C(pe){return isNaN(pe)?1:Math.max(0,Math.min(1,pe))}function L(pe){return Math.max(0,Math.min(255,Math.round(pe)||0))}function P(pe){return((pe=L(pe))<16?"0":"")+pe.toString(16)}function I(pe,de,he,ye){return ye<=0?pe=de=he=NaN:he<=0||he>=1?pe=de=NaN:de<=0&&(pe=NaN),new U(pe,de,he,ye)}function R(pe){if(pe instanceof U)return new U(pe.h,pe.s,pe.l,pe.opacity);if(pe instanceof s||(pe=v(pe)),!pe)return new U;if(pe instanceof U)return pe;var de=(pe=pe.rgb()).r/255,he=pe.g/255,ye=pe.b/255,ze=Math.min(de,he,ye),Te=Math.max(de,he,ye),Ae=NaN,Me=Te-ze,Ce=(Te+ze)/2;return Me?(Ae=de===Te?(he-ye)/Me+6*(he0&&Ce<1?0:Ae,new U(Ae,Me,Ce,pe.opacity)}function U(pe,de,he,ye){this.h=+pe,this.s=+de,this.l=+he,this.opacity=+ye}function B(pe){return(pe=(pe||0)%360)<0?pe+360:pe}function G(pe){return Math.max(0,Math.min(1,pe||0))}function N(pe,de,he){return 255*(pe<60?de+(he-de)*pe/60:pe<180?he:pe<240?de+(he-de)*(240-pe)/60:de)}_(s,v,{copy:function(pe){return Object.assign(new this.constructor,this,pe)},displayable:function(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return R(this).formatHsl()},formatRgb:d,toString:d}),_(h,k,w(s,{brighter:function(pe){return pe=pe==null?m:Math.pow(m,pe),new h(this.r*pe,this.g*pe,this.b*pe,this.opacity)},darker:function(pe){return pe=pe==null?T:Math.pow(T,pe),new h(this.r*pe,this.g*pe,this.b*pe,this.opacity)},rgb:function(){return this},clamp:function(){return new h(L(this.r),L(this.g),L(this.b),C(this.opacity))},displayable:function(){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:M,formatHex:M,formatHex8:function(){return"#".concat(P(this.r)).concat(P(this.g)).concat(P(this.b)).concat(P(255*(isNaN(this.opacity)?1:this.opacity)))},formatRgb:A,toString:A})),_(U,function(pe,de,he,ye){return arguments.length===1?R(pe):new U(pe,de,he,ye??1)},w(s,{brighter:function(pe){return pe=pe==null?m:Math.pow(m,pe),new U(this.h,this.s,this.l*pe,this.opacity)},darker:function(pe){return pe=pe==null?T:Math.pow(T,pe),new U(this.h,this.s,this.l*pe,this.opacity)},rgb:function(){var pe=this.h%360+360*(this.h<0),de=isNaN(pe)||isNaN(this.s)?0:this.s,he=this.l,ye=he+(he<.5?he:1-he)*de,ze=2*he-ye;return new h(N(pe>=240?pe-240:pe+120,ze,ye),N(pe,ze,ye),N(pe<120?pe+240:pe-120,ze,ye),this.opacity)},clamp:function(){return new U(B(this.h),G(this.s),G(this.l),C(this.opacity))},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var pe=C(this.opacity);return"".concat(pe===1?"hsl(":"hsla(").concat(B(this.h),", ").concat(100*G(this.s),"%, ").concat(100*G(this.l),"%").concat(pe===1?")":", ".concat(pe,")"))}}));var j=function(pe){return function(){return pe}};function V(pe,de){var he=de-pe;return he?function(ye,ze){return function(Te){return ye+Te*ze}}(pe,he):j(isNaN(pe)?de:pe)}var H=function pe(de){var he=function(ze){return(ze=+ze)==1?V:function(Te,Ae){return Ae-Te?function(Me,Ce,ne){return Me=Math.pow(Me,ne),Ce=Math.pow(Ce,ne)-Me,ne=1/ne,function(ue){return Math.pow(Me+ue*Ce,ne)}}(Te,Ae,ze):j(isNaN(Te)?Ae:Te)}}(de);function ye(ze,Te){var Ae=he((ze=k(ze)).r,(Te=k(Te)).r),Me=he(ze.g,Te.g),Ce=he(ze.b,Te.b),ne=V(ze.opacity,Te.opacity);return function(ue){return ze.r=Ae(ue),ze.g=Me(ue),ze.b=Ce(ue),ze.opacity=ne(ue),ze+""}}return ye.gamma=pe,ye}(1);function ee(pe,de){var he,ye=de?de.length:0,ze=pe?Math.min(ye,pe.length):0,Te=new Array(ze),Ae=new Array(ye);for(he=0;heTe&&(ze=de.slice(Te,ze),Me[Ae]?Me[Ae]+=ze:Me[++Ae]=ze),(he=he[0])===(ye=ye[0])?Me[Ae]?Me[Ae]+=ye:Me[++Ae]=ye:(Me[++Ae]=null,Ce.push({i:Ae,x:X(he,ye)})),Te=ie.lastIndex;return Te"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function a(u){return a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(c){return c.__proto__||Object.getPrototypeOf(c)},a(u)}var r=["AfterExport","AfterPlot","Animated","AnimatingFrame","AnimationInterrupted","AutoSize","BeforeExport","BeforeHover","ButtonClicked","Click","ClickAnnotation","Deselect","DoubleClick","Framework","Hover","LegendClick","LegendDoubleClick","Relayout","Relayouting","Restyle","Redraw","Selected","Selecting","SliderChange","SliderEnd","SliderStart","SunburstClick","Transitioning","TransitionInterrupted","Unhover","WebGlContextLost"],n=["plotly_restyle","plotly_redraw","plotly_relayout","plotly_relayouting","plotly_doubleclick","plotly_animated","plotly_sunburstclick"],o=typeof window<"u";function i(u){var p=function(c){s(d,c);var x=m(d);function d(v){var b;return e(this,d),b=x.call(this,v),b.p=Promise.resolve(),b.resizeHandler=null,b.handlers={},b.syncWindowResize=b.syncWindowResize.bind(l(b)),b.syncEventHandlers=b.syncEventHandlers.bind(l(b)),b.attachUpdateEvents=b.attachUpdateEvents.bind(l(b)),b.getRef=b.getRef.bind(l(b)),b.handleUpdate=b.handleUpdate.bind(l(b)),b.figureCallback=b.figureCallback.bind(l(b)),b.updatePlotly=b.updatePlotly.bind(l(b)),b}return w(d,[{key:"updatePlotly",value:function(b,g,y){var k=this;this.p=this.p.then(function(){if(!k.unmounting){if(!k.el)throw new Error("Missing element reference");return u.react(k.el,{data:k.props.data,layout:k.props.layout,config:k.props.config,frames:k.props.frames})}}).then(function(){k.unmounting||(k.syncWindowResize(b),k.syncEventHandlers(),k.figureCallback(g),y&&k.attachUpdateEvents())}).catch(function(h){k.props.onError&&k.props.onError(h)})}},{key:"componentDidMount",value:function(){this.unmounting=!1,this.updatePlotly(!0,this.props.onInitialized,!0)}},{key:"componentDidUpdate",value:function(b){this.unmounting=!1;var g=b.frames&&b.frames.length?b.frames.length:0,y=this.props.frames&&this.props.frames.length?this.props.frames.length:0,k=!(b.layout===this.props.layout&&b.data===this.props.data&&b.config===this.props.config&&y===g),h=b.revision!==void 0,M=b.revision!==this.props.revision;!k&&(!h||h&&!M)||this.updatePlotly(!1,this.props.onUpdate,!1)}},{key:"componentWillUnmount",value:function(){this.unmounting=!0,this.figureCallback(this.props.onPurge),this.resizeHandler&&o&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null),this.removeUpdateEvents(),u.purge(this.el)}},{key:"attachUpdateEvents",value:function(){var b=this;!this.el||!this.el.removeListener||n.forEach(function(g){b.el.on(g,b.handleUpdate)})}},{key:"removeUpdateEvents",value:function(){var b=this;!this.el||!this.el.removeListener||n.forEach(function(g){b.el.removeListener(g,b.handleUpdate)})}},{key:"handleUpdate",value:function(){this.figureCallback(this.props.onUpdate)}},{key:"figureCallback",value:function(b){if(typeof b=="function"){var g=this.el,y=g.data,k=g.layout,h=this.el._transitionData?this.el._transitionData._frames:null,M={data:y,layout:k,frames:h};b(M,this.el)}}},{key:"syncWindowResize",value:function(b){var g=this;o&&(this.props.useResizeHandler&&!this.resizeHandler?(this.resizeHandler=function(){return u.Plots.resize(g.el)},window.addEventListener("resize",this.resizeHandler),b&&this.resizeHandler()):!this.props.useResizeHandler&&this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null))}},{key:"getRef",value:function(b){this.el=b,this.props.debug&&o&&(window.gd=this.el)}},{key:"syncEventHandlers",value:function(){var b=this;r.forEach(function(g){var y=b.props["on"+g],k=b.handlers[g],h=!!k;y&&!h?b.addEventHandler(g,y):!y&&h?b.removeEventHandler(g):y&&h&&y!==k&&(b.removeEventHandler(g),b.addEventHandler(g,y))})}},{key:"addEventHandler",value:function(b,g){this.handlers[b]=g,this.el.on(this.getPlotlyEventName(b),this.handlers[b])}},{key:"removeEventHandler",value:function(b){this.el.removeListener(this.getPlotlyEventName(b),this.handlers[b]),delete this.handlers[b]}},{key:"getPlotlyEventName",value:function(b){return"plotly_"+b.toLowerCase()}},{key:"render",value:function(){return J.default.createElement("div",{id:this.props.divId,style:this.props.style,ref:this.getRef,className:this.props.className})}}]),d}(J.Component);return p.propTypes={data:fe.default.arrayOf(fe.default.object),config:fe.default.object,layout:fe.default.object,frames:fe.default.arrayOf(fe.default.object),revision:fe.default.number,onInitialized:fe.default.func,onPurge:fe.default.func,onError:fe.default.func,onUpdate:fe.default.func,debug:fe.default.bool,style:fe.default.object,className:fe.default.string,useResizeHandler:fe.default.bool,divId:fe.default.string},r.forEach(function(c){p.propTypes["on"+c]=fe.default.func}),p.defaultProps={debug:!1,useResizeHandler:!1,data:[],style:{position:"relative",display:"inline-block"}},p}})(fw);const XT=Np(fw),Pu={sunIcon:{viewBox:"0 0 16 16",width:16,height:16,path:"M8 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"},moonIcon:{viewBox:"0 0 25 25",width:25,height:25,path:"M21.752 15.002A9.718 9.718 0 0118 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 003 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 009.002-5.998z"},plotCsv:{width:900,height:900,path:"M170.666667 106.666667l0.192 736H906.666667v64H149.546667c-23.552 0-42.666667-19.093333-42.666667-42.666667L106.666667 106.666667h64z m686.506666 454.144l13.653334 16.362666a21.333333 21.333333 0 0 1-2.666667 30.058667l-171.157333 143.146667a21.333333 21.333333 0 0 1-21.546667 3.477333l-229.973333-91.285333-113.834667 94.997333a21.333333 21.333333 0 0 1-30.037333-2.709333l-13.653334-16.362667a21.333333 21.333333 0 0 1 2.688-30.058667l133.312-111.274666a21.333333 21.333333 0 0 1 21.546667-3.456l229.930667 91.264 151.68-126.826667a21.333333 21.333333 0 0 1 30.037333 2.666667z m-1.621333-417.962667l16.896 13.013333a21.333333 21.333333 0 0 1 3.925333 29.888L685.802667 433.706667a21.333333 21.333333 0 0 1-20.202667 8.085333l-226.794667-35.413333-150.186666 222.357333a21.333333 21.333333 0 0 1-27.477334 7.018667l-2.133333-1.28-17.685333-11.946667a21.333333 21.333333 0 0 1-5.738667-29.610667l165.354667-244.821333a21.333333 21.333333 0 0 1 20.992-9.130667L650.453333 374.613333l175.146667-227.882666a21.333333 21.333333 0 0 1 29.930667-3.904z"},addText:{path:"M896 928H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32z m-736-64h704v-704h-704z M704 352H320a32 32 0 0 1 0-64h384a32 32 0 0 1 0 64z M512 736a32 32 0 0 1-32-32V320a32 32 0 0 1 64 0v384a32 32 0 0 1-32 32z",width:950,height:950},changeTitle:{path:"M122.368 165.888h778.24c-9.216 0-16.384-7.168-16.384-16.384v713.728c0-9.216 7.168-16.384 16.384-16.384h-778.24c9.216 0 16.384 7.168 16.384 16.384V150.016c0 8.192-6.656 15.872-16.384 15.872z m-32.768 684.544c0 26.112 20.992 47.104 47.104 47.104h750.08c26.112 0 47.104-20.992 47.104-47.104V162.304c0-26.112-20.992-47.104-47.104-47.104H136.704c-26.112 0-47.104 20.992-47.104 47.104v688.128z M244.736 656.896h534.016v62.464H244.736z M373.76 358.4H307.2v219.136h-45.568V358.4H192v-41.472H373.76V358.4zM403.968 316.928h44.032v50.176h-44.032v-50.176z m0 67.072h44.032v194.048h-44.032V384zM576.512 541.184l8.704 31.744c-13.312 5.12-26.624 8.192-38.912 8.704-32.768 1.024-48.64-15.36-48.128-48.128V422.912h-26.624V384h26.624v-46.592l44.032-21.504V384h36.352v38.912h-36.352V532.48c-1.024 10.24 3.072 14.848 11.264 13.824 5.12 0 12.8-1.536 23.04-5.12zM619.008 316.928h44.032v260.608h-44.032V316.928zM813.056 509.952l41.472 12.8c-11.776 40.96-37.888 61.44-78.336 60.416-52.736-1.536-80.384-34.304-81.92-98.304 2.56-67.072 29.696-102.4 81.92-105.984 52.224 1.536 78.336 36.864 79.36 105.984v13.824h-117.248c3.584 30.208 15.872 45.568 37.888 46.592 19.968 0.512 32.256-11.264 36.864-35.328z m-72.704-51.712h70.656c-1.024-25.088-12.288-38.4-33.792-38.912-21.504 0.512-33.792 13.824-36.864 38.912z",width:920,height:900},changeColor:{path:"M8 3C5.79 3 4 4.79 4 7V14C4 15.1 4.9 16 6 16H9V20C9 21.1 9.9 22 11 22H13C14.1 22 15 21.1 15 20V16H18C19.1 16 20 15.1 20 14V3H8M8 5H12V7H14V5H15V9H17V5H18V10H6V7C6 5.9 6.9 5 8 5M6 14V12H18V14H6Z",width:22,height:22},uploadImage:{path:"M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5",width:1024,height:1024},downloadCsv:{path:`M486.2,196.121h-13.164V132.59c0-0.399-0.064-0.795-0.116-1.2c-0.021-2.52-0.824-5-2.551-6.96L364.656,3.677 + c-0.031-0.034-0.064-0.044-0.085-0.075c-0.629-0.707-1.364-1.292-2.141-1.796c-0.231-0.157-0.462-0.286-0.704-0.419 + c-0.672-0.365-1.386-0.672-2.121-0.893c-0.199-0.052-0.377-0.134-0.576-0.188C358.229,0.118,357.4,0,356.562,0H96.757 + C84.893,0,75.256,9.649,75.256,21.502v174.613H62.093c-16.972,0-30.733,13.756-30.733,30.73v159.81 + c0,16.966,13.761,30.736,30.733,30.736h13.163V526.79c0,11.854,9.637,21.501,21.501,21.501h354.777 + c11.853,0,21.502-9.647,21.502-21.501V417.392H486.2c16.966,0,30.729-13.764,30.729-30.731v-159.81 + C516.93,209.872,503.166,196.121,486.2,196.121z M96.757,21.502h249.053v110.006c0,5.94,4.818,10.751,10.751,10.751h94.973v53.861 + H96.757V21.502z M258.618,313.18c-26.68-9.291-44.063-24.053-44.063-47.389c0-27.404,22.861-48.368,60.733-48.368 + c18.107,0,31.447,3.811,40.968,8.107l-8.09,29.3c-6.43-3.107-17.862-7.632-33.59-7.632c-15.717,0-23.339,7.149-23.339,15.485 + c0,10.247,9.047,14.769,29.78,22.632c28.341,10.479,41.681,25.239,41.681,47.874c0,26.909-20.721,49.786-64.792,49.786 + c-18.338,0-36.449-4.776-45.497-9.77l7.38-30.016c9.772,5.014,24.775,10.006,40.264,10.006c16.671,0,25.488-6.908,25.488-17.396 + C285.536,325.789,277.909,320.078,258.618,313.18z M69.474,302.692c0-54.781,39.074-85.269,87.654-85.269 + c18.822,0,33.113,3.811,39.549,7.149l-7.392,28.816c-7.38-3.084-17.632-5.939-30.491-5.939c-28.822,0-51.206,17.375-51.206,53.099 + c0,32.158,19.051,52.4,51.456,52.4c10.947,0,23.097-2.378,30.241-5.238l5.483,28.346c-6.672,3.34-21.674,6.919-41.208,6.919 + C98.06,382.976,69.474,348.424,69.474,302.692z M451.534,520.962H96.757v-103.57h354.777V520.962z M427.518,380.583h-42.399 + l-51.45-160.536h39.787l19.526,67.894c5.479,19.046,10.479,37.386,14.299,57.397h0.709c4.048-19.298,9.045-38.352,14.526-56.693 + l20.487-68.598h38.599L427.518,380.583z`,width:550,height:550,transform:"translate(4, 0)"},downloadImage:{path:"M22.71,6.29a1,1,0,0,0-1.42,0L20,7.59V2a1,1,0,0,0-2,0V7.59l-1.29-1.3a1,1,0,0,0-1.42,1.42l3,3a1,1,0,0,0,.33.21.94.94,0,0,0,.76,0,1,1,0,0,0,.33-.21l3-3A1,1,0,0,0,22.71,6.29ZM19,13a1,1,0,0,0-1,1v.38L16.52,12.9a2.79,2.79,0,0,0-3.93,0l-.7.7L9.41,11.12a2.85,2.85,0,0,0-3.93,0L4,12.6V7A1,1,0,0,1,5,6h8a1,1,0,0,0,0-2H5A3,3,0,0,0,2,7V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V14A1,1,0,0,0,19,13ZM5,20a1,1,0,0,1-1-1V15.43l2.9-2.9a.79.79,0,0,1,1.09,0l3.17,3.17,0,0L15.46,20Zm13-1a.89.89,0,0,1-.18.53L13.31,15l.7-.7a.77.77,0,0,1,1.1,0L18,17.21Z",width:21,height:21,transform:"translate(-2, -2)"}},$T={data:{candlestick:[{decreasing:{fillcolor:"#e4003a",line:{color:"#e4003a"}},increasing:{fillcolor:"#00ACFF",line:{color:"#00ACFF"}},type:"candlestick"}]},layout:{annotationdefaults:{showarrow:!1},autotypenumbers:"strict",colorway:["#ffed00","#ef7d00","#e4003a","#c13246","#822661","#48277c","#005ca9","#00aaff","#9b30d9","#af005f","#5f00af","#af87ff"],dragmode:"pan",font:{family:"Fira Code",size:18},hoverlabel:{align:"left"},mapbox:{style:"dark"},hovermode:"x",legend:{bgcolor:"rgba(0, 0, 0, 0)",x:.01,xanchor:"left",y:.99,yanchor:"top",font:{size:15}},paper_bgcolor:"#000000",plot_bgcolor:"#000000",xaxis:{automargin:!0,autorange:!0,rangeslider:{visible:!1},showgrid:!0,showline:!0,tickfont:{size:14},zeroline:!1,tick0:1,title:{standoff:20},linecolor:"#F5EFF3",mirror:!0,ticks:"outside"},yaxis:{anchor:"x",automargin:!0,fixedrange:!1,zeroline:!1,showgrid:!0,showline:!0,side:"right",tick0:.5,title:{standoff:20},gridcolor:"#283442",linecolor:"#F5EFF3",mirror:!0,ticks:"outside"}}},JT={data:{barpolar:[{marker:{line:{color:"white",width:.5},pattern:{fillmode:"overlay",size:10,solidity:.2}},type:"barpolar"}],bar:[{error_x:{color:"#2a3f5f"},error_y:{color:"#2a3f5f"},marker:{line:{color:"white",width:.5},pattern:{fillmode:"overlay",size:10,solidity:.2}},type:"bar"}],carpet:[{aaxis:{endlinecolor:"#2a3f5f",gridcolor:"#C8D4E3",linecolor:"#C8D4E3",minorgridcolor:"#C8D4E3",startlinecolor:"#2a3f5f"},baxis:{endlinecolor:"#2a3f5f",gridcolor:"#C8D4E3",linecolor:"#C8D4E3",minorgridcolor:"#C8D4E3",startlinecolor:"#2a3f5f"},type:"carpet"}],choropleth:[{colorbar:{outlinewidth:0,ticks:""},type:"choropleth"}],contourcarpet:[{colorbar:{outlinewidth:0,ticks:""},type:"contourcarpet"}],contour:[{colorbar:{outlinewidth:0,ticks:""},colorscale:[[0,"#0d0887"],[.1111111111111111,"#46039f"],[.2222222222222222,"#7201a8"],[.3333333333333333,"#9c179e"],[.4444444444444444,"#bd3786"],[.5555555555555556,"#d8576b"],[.6666666666666666,"#ed7953"],[.7777777777777778,"#fb9f3a"],[.8888888888888888,"#fdca26"],[1,"#f0f921"]],type:"contour"}],heatmapgl:[{colorbar:{outlinewidth:0,ticks:""},colorscale:[[0,"#0d0887"],[.1111111111111111,"#46039f"],[.2222222222222222,"#7201a8"],[.3333333333333333,"#9c179e"],[.4444444444444444,"#bd3786"],[.5555555555555556,"#d8576b"],[.6666666666666666,"#ed7953"],[.7777777777777778,"#fb9f3a"],[.8888888888888888,"#fdca26"],[1,"#f0f921"]],type:"heatmapgl"}],heatmap:[{colorbar:{outlinewidth:0,ticks:""},colorscale:[[0,"#0d0887"],[.1111111111111111,"#46039f"],[.2222222222222222,"#7201a8"],[.3333333333333333,"#9c179e"],[.4444444444444444,"#bd3786"],[.5555555555555556,"#d8576b"],[.6666666666666666,"#ed7953"],[.7777777777777778,"#fb9f3a"],[.8888888888888888,"#fdca26"],[1,"#f0f921"]],type:"heatmap"}],histogram2dcontour:[{colorbar:{outlinewidth:0,ticks:""},colorscale:[[0,"#0d0887"],[.1111111111111111,"#46039f"],[.2222222222222222,"#7201a8"],[.3333333333333333,"#9c179e"],[.4444444444444444,"#bd3786"],[.5555555555555556,"#d8576b"],[.6666666666666666,"#ed7953"],[.7777777777777778,"#fb9f3a"],[.8888888888888888,"#fdca26"],[1,"#f0f921"]],type:"histogram2dcontour"}],histogram2d:[{colorbar:{outlinewidth:0,ticks:""},colorscale:[[0,"#0d0887"],[.1111111111111111,"#46039f"],[.2222222222222222,"#7201a8"],[.3333333333333333,"#9c179e"],[.4444444444444444,"#bd3786"],[.5555555555555556,"#d8576b"],[.6666666666666666,"#ed7953"],[.7777777777777778,"#fb9f3a"],[.8888888888888888,"#fdca26"],[1,"#f0f921"]],type:"histogram2d"}],histogram:[{marker:{pattern:{fillmode:"overlay",size:10,solidity:.2}},type:"histogram"}],mesh3d:[{colorbar:{outlinewidth:0,ticks:""},type:"mesh3d"}],parcoords:[{line:{colorbar:{outlinewidth:0,ticks:""}},type:"parcoords"}],pie:[{automargin:!0,type:"pie"}],scatter3d:[{line:{colorbar:{outlinewidth:0,ticks:""}},marker:{colorbar:{outlinewidth:0,ticks:""}},type:"scatter3d"}],scattercarpet:[{marker:{colorbar:{outlinewidth:0,ticks:""}},type:"scattercarpet"}],scattergeo:[{marker:{colorbar:{outlinewidth:0,ticks:""}},type:"scattergeo"}],scattergl:[{marker:{colorbar:{outlinewidth:0,ticks:""}},type:"scattergl"}],scattermapbox:[{marker:{colorbar:{outlinewidth:0,ticks:""}},type:"scattermapbox"}],scatterpolargl:[{marker:{colorbar:{outlinewidth:0,ticks:""}},type:"scatterpolargl"}],scatterpolar:[{marker:{colorbar:{outlinewidth:0,ticks:""}},type:"scatterpolar"}],scatter:[{fillpattern:{fillmode:"overlay",size:10,solidity:.2},type:"scatter"}],scatterternary:[{marker:{colorbar:{outlinewidth:0,ticks:""}},type:"scatterternary"}],surface:[{colorbar:{outlinewidth:0,ticks:""},colorscale:[[0,"#0d0887"],[.1111111111111111,"#46039f"],[.2222222222222222,"#7201a8"],[.3333333333333333,"#9c179e"],[.4444444444444444,"#bd3786"],[.5555555555555556,"#d8576b"],[.6666666666666666,"#ed7953"],[.7777777777777778,"#fb9f3a"],[.8888888888888888,"#fdca26"],[1,"#f0f921"]],type:"surface"}],table:[{cells:{fill:{color:"#EBF0F8"},line:{color:"white"}},header:{fill:{color:"#C8D4E3"},line:{color:"white"}},type:"table"}],candlestick:[{decreasing:{fillcolor:"#c80000",line:{color:"#990000"}},increasing:{fillcolor:"#009600",line:{color:"#007500"}},type:"candlestick"}]},layout:{annotationdefaults:{arrowcolor:"#2a3f5f",arrowhead:0,arrowwidth:1,showarrow:!1},autotypenumbers:"strict",coloraxis:{colorbar:{outlinewidth:0,ticks:""}},colorscale:{diverging:[[0,"#8e0152"],[.1,"#c51b7d"],[.2,"#de77ae"],[.3,"#f1b6da"],[.4,"#fde0ef"],[.5,"#f7f7f7"],[.6,"#e6f5d0"],[.7,"#b8e186"],[.8,"#7fbc41"],[.9,"#4d9221"],[1,"#276419"]],sequential:[[0,"#0d0887"],[.1111111111111111,"#46039f"],[.2222222222222222,"#7201a8"],[.3333333333333333,"#9c179e"],[.4444444444444444,"#bd3786"],[.5555555555555556,"#d8576b"],[.6666666666666666,"#ed7953"],[.7777777777777778,"#fb9f3a"],[.8888888888888888,"#fdca26"],[1,"#f0f921"]],sequentialminus:[[0,"#0d0887"],[.1111111111111111,"#46039f"],[.2222222222222222,"#7201a8"],[.3333333333333333,"#9c179e"],[.4444444444444444,"#bd3786"],[.5555555555555556,"#d8576b"],[.6666666666666666,"#ed7953"],[.7777777777777778,"#fb9f3a"],[.8888888888888888,"#fdca26"],[1,"#f0f921"]]},colorway:["#254495","#c13246","#48277c","#e4003a","#ef7d00","#822661","#ffed00","#00aaff","#9b30d9","#af005f","#5f00af","#af87ff"],font:{color:"#2a3f5f"},geo:{bgcolor:"white",lakecolor:"white",landcolor:"white",showlakes:!0,showland:!0,subunitcolor:"#C8D4E3"},hoverlabel:{align:"left"},hovermode:"x",mapbox:{style:"light"},paper_bgcolor:"white",plot_bgcolor:"white",polar:{angularaxis:{gridcolor:"#EBF0F8",linecolor:"#EBF0F8",ticks:""},bgcolor:"white",radialaxis:{gridcolor:"#EBF0F8",linecolor:"#EBF0F8",ticks:""}},scene:{xaxis:{backgroundcolor:"white",gridcolor:"#DFE8F3",gridwidth:2,linecolor:"#EBF0F8",showbackground:!0,ticks:"",zerolinecolor:"#EBF0F8"},yaxis:{backgroundcolor:"white",gridcolor:"#DFE8F3",gridwidth:2,linecolor:"#EBF0F8",showbackground:!0,ticks:"",zerolinecolor:"#EBF0F8"},zaxis:{backgroundcolor:"white",gridcolor:"#DFE8F3",gridwidth:2,linecolor:"#EBF0F8",showbackground:!0,ticks:"",zerolinecolor:"#EBF0F8"}},shapedefaults:{line:{color:"#2a3f5f"}},ternary:{aaxis:{gridcolor:"#DFE8F3",linecolor:"#A2B1C6",ticks:""},baxis:{gridcolor:"#DFE8F3",linecolor:"#A2B1C6",ticks:""},bgcolor:"white",caxis:{gridcolor:"#DFE8F3",linecolor:"#A2B1C6",ticks:""}},title:{x:.05},xaxis:{automargin:!0,ticks:"outside",zerolinewidth:2,rangeslider:{visible:!1},showgrid:!0,showline:!0,tickfont:{size:15},title:{standoff:20},mirror:!0,zeroline:!1},yaxis:{automargin:!0,ticks:"outside",tickfont:{size:15},zerolinewidth:2,fixedrange:!1,title:{standoff:20},nticks:8,showgrid:!0,showline:!0,side:"right",mirror:!0,zeroline:!1},dragmode:"pan",legend:{bgcolor:"rgba(0, 0, 0, 0)",x:1.03,xanchor:"left",y:.99,yanchor:"top"}}};function Io(){return Io=Object.assign?Object.assign.bind():function(O){for(var F=1;FO.forEach(J=>KT(J,F))}function Zp(...O){return Vn.useCallback(gw(...O),O)}function QT(O,F=[]){let J=[];function fe(D,E){const e=Vn.createContext(E),_=J.length;J=[...J,E];function w(T){const{scope:m,children:f,...l}=T,t=(m==null?void 0:m[O][_])||e,a=Vn.useMemo(()=>l,Object.values(l));return Vn.createElement(t.Provider,{value:a},f)}function s(T,m){const f=(m==null?void 0:m[O][_])||e,l=Vn.useContext(f);if(l)return l;if(E!==void 0)return E;throw new Error(`\`${T}\` must be used within \`${D}\``)}return w.displayName=D+"Provider",[w,s]}const Pe=()=>{const D=J.map(E=>Vn.createContext(E));return function(e){const _=(e==null?void 0:e[O])||D;return Vn.useMemo(()=>({[`__scope${O}`]:{...e,[O]:_}}),[e,_])}};return Pe.scopeName=O,[fe,ek(Pe,...F)]}function ek(...O){const F=O[0];if(O.length===1)return F;const J=()=>{const fe=O.map(Pe=>({useScope:Pe(),scopeName:Pe.scopeName}));return function(D){const E=fe.reduce((e,{useScope:_,scopeName:w})=>{const T=_(D)[`__scope${w}`];return{...e,...T}},{});return Vn.useMemo(()=>({[`__scope${F.scopeName}`]:E}),[E])}};return J.scopeName=F.scopeName,J}const jv=globalThis!=null&&globalThis.document?Vn.useLayoutEffect:()=>{},tk=P4["useId".toString()]||(()=>{});let nk=0;function Lg(O){const[F,J]=Vn.useState(tk());return jv(()=>{O||J(fe=>fe??String(nk++))},[O]),O||(F?`radix-${F}`:"")}function sf(O){const F=Vn.useRef(O);return Vn.useEffect(()=>{F.current=O}),Vn.useMemo(()=>(...J)=>{var fe;return(fe=F.current)===null||fe===void 0?void 0:fe.call(F,...J)},[])}function rk({prop:O,defaultProp:F,onChange:J=()=>{}}){const[fe,Pe]=ik({defaultProp:F,onChange:J}),D=O!==void 0,E=D?O:fe,e=sf(J),_=Vn.useCallback(w=>{if(D){const T=typeof w=="function"?w(O):w;T!==O&&e(T)}else Pe(w)},[D,O,Pe,e]);return[E,_]}function ik({defaultProp:O,onChange:F}){const J=Vn.useState(O),[fe]=J,Pe=Vn.useRef(fe),D=sf(F);return Vn.useEffect(()=>{Pe.current!==fe&&(D(fe),Pe.current=fe)},[fe,Pe,D]),J}const Km=Vn.forwardRef((O,F)=>{const{children:J,...fe}=O,Pe=Vn.Children.toArray(J),D=Pe.find(ok);if(D){const E=D.props.children,e=Pe.map(_=>_===D?Vn.Children.count(E)>1?Vn.Children.only(null):Vn.isValidElement(E)?E.props.children:null:_);return Vn.createElement(Uv,Io({},fe,{ref:F}),Vn.isValidElement(E)?Vn.cloneElement(E,void 0,e):null)}return Vn.createElement(Uv,Io({},fe,{ref:F}),J)});Km.displayName="Slot";const Uv=Vn.forwardRef((O,F)=>{const{children:J,...fe}=O;return Vn.isValidElement(J)?Vn.cloneElement(J,{...sk(fe,J.props),ref:gw(F,J.ref)}):Vn.Children.count(J)>1?Vn.Children.only(null):null});Uv.displayName="SlotClone";const ak=({children:O})=>Vn.createElement(Vn.Fragment,null,O);function ok(O){return Vn.isValidElement(O)&&O.type===ak}function sk(O,F){const J={...F};for(const fe in F){const Pe=O[fe],D=F[fe];/^on[A-Z]/.test(fe)?Pe&&D?J[fe]=(...e)=>{D(...e),Pe(...e)}:Pe&&(J[fe]=Pe):fe==="style"?J[fe]={...Pe,...D}:fe==="className"&&(J[fe]=[Pe,D].filter(Boolean).join(" "))}return{...O,...J}}const lk=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],dh=lk.reduce((O,F)=>{const J=Vn.forwardRef((fe,Pe)=>{const{asChild:D,...E}=fe,e=D?Km:F;return Vn.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),Vn.createElement(e,Io({},E,{ref:Pe}))});return J.displayName=`Primitive.${F}`,{...O,[F]:J}},{});function uk(O,F){O&&Hm.flushSync(()=>O.dispatchEvent(F))}function ck(O,F=globalThis==null?void 0:globalThis.document){const J=sf(O);Vn.useEffect(()=>{const fe=Pe=>{Pe.key==="Escape"&&J(Pe)};return F.addEventListener("keydown",fe),()=>F.removeEventListener("keydown",fe)},[J,F])}const Vv="dismissableLayer.update",fk="dismissableLayer.pointerDownOutside",hk="dismissableLayer.focusOutside";let kb;const pk=Vn.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),dk=Vn.forwardRef((O,F)=>{var J;const{disableOutsidePointerEvents:fe=!1,onEscapeKeyDown:Pe,onPointerDownOutside:D,onFocusOutside:E,onInteractOutside:e,onDismiss:_,...w}=O,s=Vn.useContext(pk),[T,m]=Vn.useState(null),f=(J=T==null?void 0:T.ownerDocument)!==null&&J!==void 0?J:globalThis==null?void 0:globalThis.document,[,l]=Vn.useState({}),t=Zp(F,x=>m(x)),a=Array.from(s.layers),[r]=[...s.layersWithOutsidePointerEventsDisabled].slice(-1),n=a.indexOf(r),o=T?a.indexOf(T):-1,i=s.layersWithOutsidePointerEventsDisabled.size>0,u=o>=n,p=gk(x=>{const d=x.target,v=[...s.branches].some(b=>b.contains(d));!u||v||(D==null||D(x),e==null||e(x),x.defaultPrevented||_==null||_())},f),c=vk(x=>{const d=x.target;[...s.branches].some(b=>b.contains(d))||(E==null||E(x),e==null||e(x),x.defaultPrevented||_==null||_())},f);return ck(x=>{o===s.layers.size-1&&(Pe==null||Pe(x),!x.defaultPrevented&&_&&(x.preventDefault(),_()))},f),Vn.useEffect(()=>{if(T)return fe&&(s.layersWithOutsidePointerEventsDisabled.size===0&&(kb=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),s.layersWithOutsidePointerEventsDisabled.add(T)),s.layers.add(T),Ab(),()=>{fe&&s.layersWithOutsidePointerEventsDisabled.size===1&&(f.body.style.pointerEvents=kb)}},[T,f,fe,s]),Vn.useEffect(()=>()=>{T&&(s.layers.delete(T),s.layersWithOutsidePointerEventsDisabled.delete(T),Ab())},[T,s]),Vn.useEffect(()=>{const x=()=>l({});return document.addEventListener(Vv,x),()=>document.removeEventListener(Vv,x)},[]),Vn.createElement(dh.div,Io({},w,{ref:t,style:{pointerEvents:i?u?"auto":"none":void 0,...O.style},onFocusCapture:tf(O.onFocusCapture,c.onFocusCapture),onBlurCapture:tf(O.onBlurCapture,c.onBlurCapture),onPointerDownCapture:tf(O.onPointerDownCapture,p.onPointerDownCapture)}))});function gk(O,F=globalThis==null?void 0:globalThis.document){const J=sf(O),fe=Vn.useRef(!1),Pe=Vn.useRef(()=>{});return Vn.useEffect(()=>{const D=e=>{if(e.target&&!fe.current){let s=function(){vw(fk,J,w,{discrete:!0})};var _=s;const w={originalEvent:e};e.pointerType==="touch"?(F.removeEventListener("click",Pe.current),Pe.current=s,F.addEventListener("click",Pe.current,{once:!0})):s()}fe.current=!1},E=window.setTimeout(()=>{F.addEventListener("pointerdown",D)},0);return()=>{window.clearTimeout(E),F.removeEventListener("pointerdown",D),F.removeEventListener("click",Pe.current)}},[F,J]),{onPointerDownCapture:()=>fe.current=!0}}function vk(O,F=globalThis==null?void 0:globalThis.document){const J=sf(O),fe=Vn.useRef(!1);return Vn.useEffect(()=>{const Pe=D=>{D.target&&!fe.current&&vw(hk,J,{originalEvent:D},{discrete:!1})};return F.addEventListener("focusin",Pe),()=>F.removeEventListener("focusin",Pe)},[F,J]),{onFocusCapture:()=>fe.current=!0,onBlurCapture:()=>fe.current=!1}}function Ab(){const O=new CustomEvent(Vv);document.dispatchEvent(O)}function vw(O,F,J,{discrete:fe}){const Pe=J.originalEvent.target,D=new CustomEvent(O,{bubbles:!1,cancelable:!0,detail:J});F&&Pe.addEventListener(O,F,{once:!0}),fe?uk(Pe,D):Pe.dispatchEvent(D)}const Pg="focusScope.autoFocusOnMount",Og="focusScope.autoFocusOnUnmount",Mb={bubbles:!1,cancelable:!0},mk=Vn.forwardRef((O,F)=>{const{loop:J=!1,trapped:fe=!1,onMountAutoFocus:Pe,onUnmountAutoFocus:D,...E}=O,[e,_]=Vn.useState(null),w=sf(Pe),s=sf(D),T=Vn.useRef(null),m=Zp(F,t=>_(t)),f=Vn.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;Vn.useEffect(()=>{if(fe){let r=function(o){if(f.paused||!e)return;const i=o.target;e.contains(i)?T.current=i:Gc(T.current,{select:!0})},n=function(o){f.paused||!e||e.contains(o.relatedTarget)||Gc(T.current,{select:!0})};var t=r,a=n;return document.addEventListener("focusin",r),document.addEventListener("focusout",n),()=>{document.removeEventListener("focusin",r),document.removeEventListener("focusout",n)}}},[fe,e,f.paused]),Vn.useEffect(()=>{if(e){Eb.add(f);const t=document.activeElement;if(!e.contains(t)){const r=new CustomEvent(Pg,Mb);e.addEventListener(Pg,w),e.dispatchEvent(r),r.defaultPrevented||(yk(Tk(mw(e)),{select:!0}),document.activeElement===t&&Gc(e))}return()=>{e.removeEventListener(Pg,w),setTimeout(()=>{const r=new CustomEvent(Og,Mb);e.addEventListener(Og,s),e.dispatchEvent(r),r.defaultPrevented||Gc(t??document.body,{select:!0}),e.removeEventListener(Og,s),Eb.remove(f)},0)}}},[e,w,s,f]);const l=Vn.useCallback(t=>{if(!J&&!fe||f.paused)return;const a=t.key==="Tab"&&!t.altKey&&!t.ctrlKey&&!t.metaKey,r=document.activeElement;if(a&&r){const n=t.currentTarget,[o,i]=xk(n);o&&i?!t.shiftKey&&r===i?(t.preventDefault(),J&&Gc(o,{select:!0})):t.shiftKey&&r===o&&(t.preventDefault(),J&&Gc(i,{select:!0})):r===n&&t.preventDefault()}},[J,fe,f.paused]);return Vn.createElement(dh.div,Io({tabIndex:-1},E,{ref:m,onKeyDown:l}))});function yk(O,{select:F=!1}={}){const J=document.activeElement;for(const fe of O)if(Gc(fe,{select:F}),document.activeElement!==J)return}function xk(O){const F=mw(O),J=Sb(F,O),fe=Sb(F.reverse(),O);return[J,fe]}function mw(O){const F=[],J=document.createTreeWalker(O,NodeFilter.SHOW_ELEMENT,{acceptNode:fe=>{const Pe=fe.tagName==="INPUT"&&fe.type==="hidden";return fe.disabled||fe.hidden||Pe?NodeFilter.FILTER_SKIP:fe.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;J.nextNode();)F.push(J.currentNode);return F}function Sb(O,F){for(const J of O)if(!bk(J,{upTo:F}))return J}function bk(O,{upTo:F}){if(getComputedStyle(O).visibility==="hidden")return!0;for(;O;){if(F!==void 0&&O===F)return!1;if(getComputedStyle(O).display==="none")return!0;O=O.parentElement}return!1}function _k(O){return O instanceof HTMLInputElement&&"select"in O}function Gc(O,{select:F=!1}={}){if(O&&O.focus){const J=document.activeElement;O.focus({preventScroll:!0}),O!==J&&_k(O)&&F&&O.select()}}const Eb=wk();function wk(){let O=[];return{add(F){const J=O[0];F!==J&&(J==null||J.pause()),O=Cb(O,F),O.unshift(F)},remove(F){var J;O=Cb(O,F),(J=O[0])===null||J===void 0||J.resume()}}}function Cb(O,F){const J=[...O],fe=J.indexOf(F);return fe!==-1&&J.splice(fe,1),J}function Tk(O){return O.filter(F=>F.tagName!=="A")}function kk(O,F){return Vn.useReducer((J,fe)=>{const Pe=F[J][fe];return Pe??J},O)}const Qm=O=>{const{present:F,children:J}=O,fe=Ak(F),Pe=typeof J=="function"?J({present:fe.isPresent}):Vn.Children.only(J),D=Zp(fe.ref,Pe.ref);return typeof J=="function"||fe.isPresent?Vn.cloneElement(Pe,{ref:D}):null};Qm.displayName="Presence";function Ak(O){const[F,J]=Vn.useState(),fe=Vn.useRef({}),Pe=Vn.useRef(O),D=Vn.useRef("none"),E=O?"mounted":"unmounted",[e,_]=kk(E,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return Vn.useEffect(()=>{const w=$d(fe.current);D.current=e==="mounted"?w:"none"},[e]),jv(()=>{const w=fe.current,s=Pe.current;if(s!==O){const m=D.current,f=$d(w);O?_("MOUNT"):f==="none"||(w==null?void 0:w.display)==="none"?_("UNMOUNT"):_(s&&m!==f?"ANIMATION_OUT":"UNMOUNT"),Pe.current=O}},[O,_]),jv(()=>{if(F){const w=T=>{const f=$d(fe.current).includes(T.animationName);T.target===F&&f&&Hm.flushSync(()=>_("ANIMATION_END"))},s=T=>{T.target===F&&(D.current=$d(fe.current))};return F.addEventListener("animationstart",s),F.addEventListener("animationcancel",w),F.addEventListener("animationend",w),()=>{F.removeEventListener("animationstart",s),F.removeEventListener("animationcancel",w),F.removeEventListener("animationend",w)}}else _("ANIMATION_END")},[F,_]),{isPresent:["mounted","unmountSuspended"].includes(e),ref:Vn.useCallback(w=>{w&&(fe.current=getComputedStyle(w)),J(w)},[])}}function $d(O){return(O==null?void 0:O.animationName)||"none"}let Ig=0;function Mk(){Vn.useEffect(()=>{var O,F;const J=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",(O=J[0])!==null&&O!==void 0?O:Lb()),document.body.insertAdjacentElement("beforeend",(F=J[1])!==null&&F!==void 0?F:Lb()),Ig++,()=>{Ig===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(fe=>fe.remove()),Ig--}},[])}function Lb(){const O=document.createElement("span");return O.setAttribute("data-radix-focus-guard",""),O.tabIndex=0,O.style.cssText="outline: none; opacity: 0; position: fixed; pointer-events: none",O}var iu=function(){return iu=Object.assign||function(F){for(var J,fe=1,Pe=arguments.length;fe"u")return Hk;var F=qk(O),J=document.documentElement.clientWidth,fe=window.innerWidth;return{left:F[0],top:F[1],right:F[2],gap:Math.max(0,fe-J+F[2]-F[0])}},Wk=_w(),Zk=function(O,F,J,fe){var Pe=O.left,D=O.top,E=O.right,e=O.gap;return J===void 0&&(J="margin"),` + .`.concat(Ek,` { + overflow: hidden `).concat(fe,`; + padding-right: `).concat(e,"px ").concat(fe,`; + } + body { + overflow: hidden `).concat(fe,`; + overscroll-behavior: contain; + `).concat([F&&"position: relative ".concat(fe,";"),J==="margin"&&` + padding-left: `.concat(Pe,`px; + padding-top: `).concat(D,`px; + padding-right: `).concat(E,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(e,"px ").concat(fe,`; + `),J==="padding"&&"padding-right: ".concat(e,"px ").concat(fe,";")].filter(Boolean).join(""),` + } + + .`).concat(v0,` { + right: `).concat(e,"px ").concat(fe,`; + } + + .`).concat(m0,` { + margin-right: `).concat(e,"px ").concat(fe,`; + } + + .`).concat(v0," .").concat(v0,` { + right: 0 `).concat(fe,`; + } + + .`).concat(m0," .").concat(m0,` { + margin-right: 0 `).concat(fe,`; + } + + body { + `).concat(Ck,": ").concat(e,`px; + } +`)},Yk=function(O){var F=O.noRelative,J=O.noImportant,fe=O.gapMode,Pe=fe===void 0?"margin":fe,D=Vn.useMemo(function(){return Gk(Pe)},[Pe]);return Vn.createElement(Wk,{styles:Zk(D,!F,Pe,J?"":"!important")})},Hv=!1;if(typeof window<"u")try{var Jd=Object.defineProperty({},"passive",{get:function(){return Hv=!0,!0}});window.addEventListener("test",Jd,Jd),window.removeEventListener("test",Jd,Jd)}catch{Hv=!1}var If=Hv?{passive:!1}:!1,Xk=function(O){return O.tagName==="TEXTAREA"},ww=function(O,F){var J=window.getComputedStyle(O);return J[F]!=="hidden"&&!(J.overflowY===J.overflowX&&!Xk(O)&&J[F]==="visible")},$k=function(O){return ww(O,"overflowY")},Jk=function(O){return ww(O,"overflowX")},Ob=function(O,F){var J=F;do{typeof ShadowRoot<"u"&&J instanceof ShadowRoot&&(J=J.host);var fe=Tw(O,J);if(fe){var Pe=kw(O,J),D=Pe[1],E=Pe[2];if(D>E)return!0}J=J.parentNode}while(J&&J!==document.body);return!1},Kk=function(O){var F=O.scrollTop,J=O.scrollHeight,fe=O.clientHeight;return[F,J,fe]},Qk=function(O){var F=O.scrollLeft,J=O.scrollWidth,fe=O.clientWidth;return[F,J,fe]},Tw=function(O,F){return O==="v"?$k(F):Jk(F)},kw=function(O,F){return O==="v"?Kk(F):Qk(F)},e7=function(O,F){return O==="h"&&F==="rtl"?-1:1},t7=function(O,F,J,fe,Pe){var D=e7(O,window.getComputedStyle(F).direction),E=D*fe,e=J.target,_=F.contains(e),w=!1,s=E>0,T=0,m=0;do{var f=kw(O,e),l=f[0],t=f[1],a=f[2],r=t-a-D*l;(l||r)&&Tw(O,e)&&(T+=r,m+=l),e=e.parentNode}while(!_&&e!==document.body||_&&(F.contains(e)||F===e));return(s&&(Pe&&T===0||!Pe&&E>T)||!s&&(Pe&&m===0||!Pe&&-E>m))&&(w=!0),w},Kd=function(O){return"changedTouches"in O?[O.changedTouches[0].clientX,O.changedTouches[0].clientY]:[0,0]},Ib=function(O){return[O.deltaX,O.deltaY]},Rb=function(O){return O&&"current"in O?O.current:O},n7=function(O,F){return O[0]===F[0]&&O[1]===F[1]},r7=function(O){return` + .block-interactivity-`.concat(O,` {pointer-events: none;} + .allow-interactivity-`).concat(O,` {pointer-events: all;} +`)},i7=0,Rf=[];function a7(O){var F=Vn.useRef([]),J=Vn.useRef([0,0]),fe=Vn.useRef(),Pe=Vn.useState(i7++)[0],D=Vn.useState(function(){return _w()})[0],E=Vn.useRef(O);Vn.useEffect(function(){E.current=O},[O]),Vn.useEffect(function(){if(O.inert){document.body.classList.add("block-interactivity-".concat(Pe));var t=Sk([O.lockRef.current],(O.shards||[]).map(Rb),!0).filter(Boolean);return t.forEach(function(a){return a.classList.add("allow-interactivity-".concat(Pe))}),function(){document.body.classList.remove("block-interactivity-".concat(Pe)),t.forEach(function(a){return a.classList.remove("allow-interactivity-".concat(Pe))})}}},[O.inert,O.lockRef.current,O.shards]);var e=Vn.useCallback(function(t,a){if("touches"in t&&t.touches.length===2)return!E.current.allowPinchZoom;var r=Kd(t),n=J.current,o="deltaX"in t?t.deltaX:n[0]-r[0],i="deltaY"in t?t.deltaY:n[1]-r[1],u,p=t.target,c=Math.abs(o)>Math.abs(i)?"h":"v";if("touches"in t&&c==="h"&&p.type==="range")return!1;var x=Ob(c,p);if(!x)return!0;if(x?u=c:(u=c==="v"?"h":"v",x=Ob(c,p)),!x)return!1;if(!fe.current&&"changedTouches"in t&&(o||i)&&(fe.current=u),!u)return!0;var d=fe.current||u;return t7(d,a,t,d==="h"?o:i,!0)},[]),_=Vn.useCallback(function(t){var a=t;if(!(!Rf.length||Rf[Rf.length-1]!==D)){var r="deltaY"in a?Ib(a):Kd(a),n=F.current.filter(function(u){return u.name===a.type&&u.target===a.target&&n7(u.delta,r)})[0];if(n&&n.should){a.cancelable&&a.preventDefault();return}if(!n){var o=(E.current.shards||[]).map(Rb).filter(Boolean).filter(function(u){return u.contains(a.target)}),i=o.length>0?e(a,o[0]):!E.current.noIsolation;i&&a.cancelable&&a.preventDefault()}}},[]),w=Vn.useCallback(function(t,a,r,n){var o={name:t,delta:a,target:r,should:n};F.current.push(o),setTimeout(function(){F.current=F.current.filter(function(i){return i!==o})},1)},[]),s=Vn.useCallback(function(t){J.current=Kd(t),fe.current=void 0},[]),T=Vn.useCallback(function(t){w(t.type,Ib(t),t.target,e(t,O.lockRef.current))},[]),m=Vn.useCallback(function(t){w(t.type,Kd(t),t.target,e(t,O.lockRef.current))},[]);Vn.useEffect(function(){return Rf.push(D),O.setCallbacks({onScrollCapture:T,onWheelCapture:T,onTouchMoveCapture:m}),document.addEventListener("wheel",_,If),document.addEventListener("touchmove",_,If),document.addEventListener("touchstart",s,If),function(){Rf=Rf.filter(function(t){return t!==D}),document.removeEventListener("wheel",_,If),document.removeEventListener("touchmove",_,If),document.removeEventListener("touchstart",s,If)}},[]);var f=O.removeScrollBar,l=O.inert;return Vn.createElement(Vn.Fragment,null,l?Vn.createElement(D,{styles:r7(Pe)}):null,f?Vn.createElement(Yk,{gapMode:"margin"}):null)}const o7=Dk(bw,a7);var Aw=Vn.forwardRef(function(O,F){return Vn.createElement(f1,iu({},O,{ref:F,sideCar:o7}))});Aw.classNames=f1.classNames;const s7=Aw;var l7=function(O){if(typeof document>"u")return null;var F=Array.isArray(O)?O[0]:O;return F.ownerDocument.body},zf=new WeakMap,Qd=new WeakMap,e0={},Dg=0,Mw=function(O){return O&&(O.host||Mw(O.parentNode))},u7=function(O,F){return F.map(function(J){if(O.contains(J))return J;var fe=Mw(J);return fe&&O.contains(fe)?fe:(console.error("aria-hidden",J,"in not contained inside",O,". Doing nothing"),null)}).filter(function(J){return!!J})},c7=function(O,F,J,fe){var Pe=u7(F,Array.isArray(O)?O:[O]);e0[J]||(e0[J]=new WeakMap);var D=e0[J],E=[],e=new Set,_=new Set(Pe),w=function(T){!T||e.has(T)||(e.add(T),w(T.parentNode))};Pe.forEach(w);var s=function(T){!T||_.has(T)||Array.prototype.forEach.call(T.children,function(m){if(e.has(m))s(m);else{var f=m.getAttribute(fe),l=f!==null&&f!=="false",t=(zf.get(m)||0)+1,a=(D.get(m)||0)+1;zf.set(m,t),D.set(m,a),E.push(m),t===1&&l&&Qd.set(m,!0),a===1&&m.setAttribute(J,"true"),l||m.setAttribute(fe,"true")}})};return s(F),e.clear(),Dg++,function(){E.forEach(function(T){var m=zf.get(T)-1,f=D.get(T)-1;zf.set(T,m),D.set(T,f),m||(Qd.has(T)||T.removeAttribute(fe),Qd.delete(T)),f||T.removeAttribute(J)}),Dg--,Dg||(zf=new WeakMap,zf=new WeakMap,Qd=new WeakMap,e0={})}},f7=function(O,F,J){J===void 0&&(J="data-aria-hidden");var fe=Array.from(Array.isArray(O)?O:[O]),Pe=F||l7(O);return Pe?(fe.push.apply(fe,Array.from(Pe.querySelectorAll("[aria-live]"))),c7(fe,Pe,J,"aria-hidden")):function(){return null}};const Sw="Dialog",[Ew,d9]=QT(Sw),[h7,ju]=Ew(Sw),p7=O=>{const{__scopeDialog:F,children:J,open:fe,defaultOpen:Pe,onOpenChange:D,modal:E=!0}=O,e=Vn.useRef(null),_=Vn.useRef(null),[w=!1,s]=rk({prop:fe,defaultProp:Pe,onChange:D});return Vn.createElement(h7,{scope:F,triggerRef:e,contentRef:_,contentId:Lg(),titleId:Lg(),descriptionId:Lg(),open:w,onOpenChange:s,onOpenToggle:Vn.useCallback(()=>s(T=>!T),[s]),modal:E},J)},d7="DialogPortal",[g9,Cw]=Ew(d7,{forceMount:void 0}),qv="DialogOverlay",g7=Vn.forwardRef((O,F)=>{const J=Cw(qv,O.__scopeDialog),{forceMount:fe=J.forceMount,...Pe}=O,D=ju(qv,O.__scopeDialog);return D.modal?Vn.createElement(Qm,{present:fe||D.open},Vn.createElement(v7,Io({},Pe,{ref:F}))):null}),v7=Vn.forwardRef((O,F)=>{const{__scopeDialog:J,...fe}=O,Pe=ju(qv,J);return Vn.createElement(s7,{as:Km,allowPinchZoom:!0,shards:[Pe.contentRef]},Vn.createElement(dh.div,Io({"data-state":Pw(Pe.open)},fe,{ref:F,style:{pointerEvents:"auto",...fe.style}})))}),Fp="DialogContent",m7=Vn.forwardRef((O,F)=>{const J=Cw(Fp,O.__scopeDialog),{forceMount:fe=J.forceMount,...Pe}=O,D=ju(Fp,O.__scopeDialog);return Vn.createElement(Qm,{present:fe||D.open},D.modal?Vn.createElement(y7,Io({},Pe,{ref:F})):Vn.createElement(x7,Io({},Pe,{ref:F})))}),y7=Vn.forwardRef((O,F)=>{const J=ju(Fp,O.__scopeDialog),fe=Vn.useRef(null),Pe=Zp(F,J.contentRef,fe);return Vn.useEffect(()=>{const D=fe.current;if(D)return f7(D)},[]),Vn.createElement(Lw,Io({},O,{ref:Pe,trapFocus:J.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:tf(O.onCloseAutoFocus,D=>{var E;D.preventDefault(),(E=J.triggerRef.current)===null||E===void 0||E.focus()}),onPointerDownOutside:tf(O.onPointerDownOutside,D=>{const E=D.detail.originalEvent,e=E.button===0&&E.ctrlKey===!0;(E.button===2||e)&&D.preventDefault()}),onFocusOutside:tf(O.onFocusOutside,D=>D.preventDefault())}))}),x7=Vn.forwardRef((O,F)=>{const J=ju(Fp,O.__scopeDialog),fe=Vn.useRef(!1);return Vn.createElement(Lw,Io({},O,{ref:F,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:Pe=>{var D;if((D=O.onCloseAutoFocus)===null||D===void 0||D.call(O,Pe),!Pe.defaultPrevented){var E;fe.current||(E=J.triggerRef.current)===null||E===void 0||E.focus(),Pe.preventDefault()}fe.current=!1},onInteractOutside:Pe=>{var D,E;(D=O.onInteractOutside)===null||D===void 0||D.call(O,Pe),Pe.defaultPrevented||(fe.current=!0);const e=Pe.target;((E=J.triggerRef.current)===null||E===void 0?void 0:E.contains(e))&&Pe.preventDefault()}}))}),Lw=Vn.forwardRef((O,F)=>{const{__scopeDialog:J,trapFocus:fe,onOpenAutoFocus:Pe,onCloseAutoFocus:D,...E}=O,e=ju(Fp,J),_=Vn.useRef(null),w=Zp(F,_);return Mk(),Vn.createElement(Vn.Fragment,null,Vn.createElement(mk,{asChild:!0,loop:!0,trapped:fe,onMountAutoFocus:Pe,onUnmountAutoFocus:D},Vn.createElement(dk,Io({role:"dialog",id:e.contentId,"aria-describedby":e.descriptionId,"aria-labelledby":e.titleId,"data-state":Pw(e.open)},E,{ref:w,onDismiss:()=>e.onOpenChange(!1)}))),!1)}),b7="DialogTitle",_7=Vn.forwardRef((O,F)=>{const{__scopeDialog:J,...fe}=O,Pe=ju(b7,J);return Vn.createElement(dh.h2,Io({id:Pe.titleId},fe,{ref:F}))}),w7="DialogDescription",T7=Vn.forwardRef((O,F)=>{const{__scopeDialog:J,...fe}=O,Pe=ju(w7,J);return Vn.createElement(dh.p,Io({id:Pe.descriptionId},fe,{ref:F}))}),k7="DialogClose",A7=Vn.forwardRef((O,F)=>{const{__scopeDialog:J,...fe}=O,Pe=ju(k7,J);return Vn.createElement(dh.button,Io({type:"button"},fe,{ref:F,onClick:tf(O.onClick,()=>Pe.onOpenChange(!1))}))});function Pw(O){return O?"open":"closed"}const M7=p7,S7=g7,E7=m7,C7=_7,L7=T7,zb=A7,Db=({title:O,titleId:F,...J})=>Ar("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,...J,children:Ar("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}),Ow={margin:"2px 0px 2px 10px",padding:"5px 2px 2px 5px"};function ey({open:O,close:F,title:J,description:fe,children:Pe}){return ti(M7,{open:O,onOpenChange:F,children:[ti("div",{id:"loading",className:"saving",children:[Ar("div",{id:"loading_text",className:"loading_text"}),Ar("div",{id:"loader",className:"loader"})]}),Ar(S7,{onClick:F,className:"_modal-overlay"}),ti(E7,{className:"_modal",children:[Ar(C7,{className:"_modal-title",children:J}),Ar(L7,{className:"_modal_description",children:fe}),Ar(zb,{children:Ar(Db,{})}),Pe,Ar(zb,{className:"_modal-close",onClick:F,children:Ar(Db,{className:"w-6 h-6"})})]})]})}const Fb=new FileReader,P7={overlaying:"y",side:"left",tickfont:{size:12},tickpadding:5,showgrid:!1,showline:!1,showticklabels:!0,showlegend:!0,zeroline:!1,anchor:"x",type:"linear",autorange:!0};function O7({open:O,close:F,setLoading:J,addOverlay:fe,plotlyData:Pe}){const[D,E]=Vn.useState("scatter"),[e,_]=Vn.useState("#FFDD00"),[w,s]=Vn.useState("#00ACFF"),[T,m]=Vn.useState("#FF0000"),[f,l]=Vn.useState(""),[t,a]=Vn.useState([]),[r,n]=Vn.useState([]),[o,i]=Vn.useState({}),[u,p]=Vn.useState({}),c=["x","open","high","low","close"];let x={scatter:"Scatter (Line)",candlestick:"Candlestick",bar:"Bar"};const[d,v]=Vn.useState({});function b(){F(),E("scatter"),l(""),a([]),n([]),i({}),v({})}function g(){var k,h;if(t.length==0){(k=document.getElementById("csv_file"))==null||k.focus(),(h=document.getElementById("csv_file"))==null||h.style.setProperty("border","1px solid red"),document.getElementById("csv_file_warning").style.display="block";return}const y=I7({csvData:t,plotlyData:Pe,yaxisOptions:u,traceType:D,traceColor:e,traceName:f,options:d,increasingColor:w,decreasingColor:T});fe(y),b()}return Ar(ey,{title:"Overlay Chart",description:"Upload a CSV file to overlay a chart on the main chart.",open:O,close:F,children:ti("div",{id:"popup_csv",className:"popup_content",children:[ti("div",{children:[ti("label",{htmlFor:"csv_file",children:[Ar("b",{children:"CSV file:"}),Ar("div",{id:"csv_file_warning",className:"popup_warning",style:{marginLeft:"80px",marginBottom:"10px"},children:"CSV file is required."})]}),Ar("input",{onChange:y=>{var k,h;if(y.target.files){if(y.target.files[0].type!=="text/csv"){(k=document.getElementById("csv_file"))==null||k.focus(),(h=document.getElementById("csv_file"))==null||h.style.setProperty("border","1px solid red"),document.getElementById("csv_file_warning").style.display="block";return}}else return;r.length>0&&(n([]),i({}),v({}),E("scatter")),Fb.onload=M=>{var G;if(!((G=M.target)!=null&&G.result)||typeof M.target.result!="string")return;let A=M.target.result.split(` +`).map(N=>N.replace(/\r/g,""));const C=A[0].split(","),L=C.map(N=>N.trim().toLowerCase());let P={};for(let N=0;NL.includes(N))&&E("candlestick"),L.includes("close")&&(v({...d,y:C[L.indexOf("close")]}),P.y=C[L.indexOf("close")]);let U=[];for(let N=1;N2&&(j.test(N[0])?N.splice(0,2):j.test(N[N.length-2])&&N.splice(N.length-2,2),B=N.join("_").replace(/openbb_/g,""))}}catch(N){console.log(N)}l(B),v(P),n(C),a(U)},Fb.readAsText(y.target.files[0])},type:"file",id:"csv_file",accept:".csv",style:{marginLeft:10}})]}),ti("div",{style:{marginTop:15},children:[Ar("label",{htmlFor:"csv_trace_type",children:Ar("b",{children:"Display data type:"})}),ti("select",{onChange:y=>{E(y.target.value)},id:"csv_trace_type",style:Ow,defaultValue:x[D],children:[D&&Ar("option",{value:D,children:x[D]},D),Object.keys(x).map(y=>D!==y&&Ar("option",{value:y,children:x[y]},y))]})]}),ti("div",{style:{marginTop:12},children:[Ar("label",{htmlFor:"csv_name",children:Ar("b",{children:"Trace Name:"})}),Ar("textarea",{id:"csv_name",value:f,onChange:y=>{l(y.target.value)},style:{padding:"5px 2px 2px 5px",width:"100%",maxWidth:"100%",maxHeight:200,marginTop:2},rows:2,cols:20,placeholder:"Enter a name to give this trace"})]}),r.length>0&&ti(eg,{children:[["scatter","bar"].includes(D)&&Ar("div",{style:{marginTop:15,marginBottom:10},id:"csv_columns",className:"csv_column_container",children:["x","y"].map(y=>ti("div",{style:{marginTop:10,display:"flex",alignItems:"center",justifyContent:"space-between"},children:[ti("label",{htmlFor:`csv_${y}`,style:{width:"100px"},children:[y.toUpperCase()," Axis"]}),ti("select",{onChange:k=>{i({...o,[y]:k.target.value}),v({...d,[y]:k.target.value})},id:`csv_${y}`,style:{width:"100%"},defaultValue:d[y],children:[d[y]&&Ar("option",{value:d[y],children:d[y]},y),r.map(k=>Ar("option",{value:k,children:k},k))]})]},y))}),D==="candlestick"&&Ar("div",{id:"csv_columns",className:"csv_column_container",style:{marginTop:15},children:["x","open","high","low","close"].map(y=>ti("div",{style:{marginTop:10,display:"flex",alignItems:"center",justifyContent:"space-between"},children:[Ar("label",{htmlFor:`csv_${y}`,style:{width:"100px"},children:y.charAt(0).toUpperCase()+y.slice(1)}),ti("select",{onChange:k=>{i({...o,[y]:k.target.value}),v({...d,[y]:k.target.value})},id:`csv_${y}`,style:{width:"100%"},children:[d[y]&&Ar("option",{value:d[y],children:d[y]},y),r.map(k=>k!=d[k]&&Ar("option",{value:k,children:k},k))]})]},y))}),ti("div",{style:{marginTop:20},id:"csv_colors",children:[["scatter","bar"].includes(D)&&ti("div",{children:[Ar("label",{htmlFor:"csv_color",children:`${D.charAt(0).toUpperCase()}${D.slice(1)} color`}),Ar("input",{type:"color",id:"csv_color",defaultValue:"#FFDD00",style:{margin:"2px 2px 2px 10px"},onChange:y=>{console.log(y.target.value),_(y.target.value)}})]}),D==="candlestick"&&ti(eg,{children:[Ar("label",{htmlFor:"csv_increasing",children:"Increasing color"}),Ar("input",{type:"color",id:"csv_increasing",defaultValue:"#00ACFF",style:{margin:"2px 0px 2px 10px"},onChange:y=>{s(y.target.value)}}),Ar("label",{htmlFor:"csv_decreasing",style:{marginLeft:15},children:"Decreasing color"}),Ar("input",{style:{margin:"2px 0px 2px 10px"},type:"color",id:"csv_decreasing",defaultValue:"#FF0000",onChange:y=>{m(y.target.value)}})]})]}),ti("div",{style:{marginTop:20},id:"csv_plot_yaxis_options",children:[D!=="candlestick"&&ti(eg,{children:[Ar("input",{type:"checkbox",id:"csv_percent_change",name:"csv_plot_yaxis_check",style:{marginBottom:2},onChange:y=>{p({...u,percentChange:y.target.checked,sameYaxis:!1})},checked:!u.sameYaxis&&u.percentChange}),Ar("label",{htmlFor:"csv_percent_change",style:{marginLeft:5},children:"Plot as percent change from first value"}),Ar("br",{})]}),Ar("input",{style:{marginTop:2},type:"checkbox",id:"csv_same_yaxis",name:"csv_plot_yaxis_check",onChange:y=>{p({...u,sameYaxis:y.target.checked,percentChange:!1})},checked:!u.percentChange&&u.sameYaxis}),Ar("label",{htmlFor:"csv_same_yaxis",style:{marginLeft:5},children:"Share Y-axis"}),D==="bar"&&ti("div",{style:{marginTop:2},id:"csv_bar_orientation",children:[Ar("input",{type:"checkbox",id:"csv_bar_horizontal",onChange:y=>{v({...d,orientation:y.target.checked?"h":"v"})}}),Ar("label",{htmlFor:"csv_bar_horizontal",style:{marginLeft:5},children:"Plot horizontally"})]})]})]}),Ar("br",{}),ti("div",{style:{float:"right",marginTop:20},children:[Ar("button",{className:"_btn-tertiary",id:"csv_cancel",onClick:b,children:"Cancel"}),Ar("button",{className:"_btn",id:"csv_submit",onClick:g,children:"Submit"})]})]})})}function I7({csvData:O,plotlyData:F,yaxisOptions:J,traceType:fe,traceColor:Pe,traceName:D,options:E,increasingColor:e,decreasingColor:_}){let w=F.data[0];w.xaxis==null&&(w.xaxis="x"),w.yaxis==null&&(w.yaxis="y");let s=w.yaxis,T,f=Object.keys(F.layout).filter(r=>r.startsWith("yaxis")).map(r=>F.layout[r]).filter(r=>r.side=="left"&&(r.overlaying=="y"||r.fixedrange!=null&&r.fixedrange==!0)).length>0?" ":"";if(J.sameYaxis!==!0){const r=Object.keys(F.layout).filter(n=>n.startsWith("yaxis")).map(n=>F.layout[n]);T=`y${r.length+1}`,s=`yaxis${r.length+1}`,console.log(`yaxis: ${T} ${s}`),F.layout[s]={...P7,title:{text:D,font:{size:14},standoff:0},ticksuffix:f,layer:"below traces"}}else T=w.yaxis.replace("yaxis","y");const l={type:fe,name:D,showlegend:!0,yaxis:T};let t={};if(["scatter","bar"].includes(fe)){const r=O.findIndex(n=>n[E.y]!=null&&n[E.y]!=0);t={...l,x:O.map(n=>n[E.x]),y:O.map(function(n){return J.percentChange&&fe==="scatter"?(n[E.y]-O[r][E.y])/O[r][E.y]:n[E.y]}),customdata:O.map(n=>n[E.y]),hovertemplate:"%{customdata:.2f}",connectgaps:!0,marker:{color:Pe}},fe==="bar"&&(t.orientation=E.orientation,t.marker.opacity=.7,delete t.connectgaps,delete t.hovertemplate,delete t.customdata)}else fe==="candlestick"&&(t={...l,x:O.map(r=>r[E.x]),open:O.map(r=>r[E.open]),high:O.map(r=>r[E.high]),low:O.map(r=>r[E.low]),close:O.map(r=>r[E.close]),increasing:{line:{color:e}},decreasing:{line:{color:_}}});return{...F,data:[...F.data,t]}}function R7({plotlyData:O,open:F,close:J,defaultTitle:fe,updateTitle:Pe,updateAxesTitles:D}){const[E,e]=Vn.useState(fe),_=Object.keys(O.layout||{}).filter(m=>m.startsWith("yaxis")&&O.layout[m].range!=null),w=Object.keys(O.layout||{}).filter(m=>{var f;return m.startsWith("xaxis")&&O.layout[m].showticklabels!=null&&((f=O.layout[m])==null?void 0:f.anchor)}),[s,T]=Vn.useState({});return Ar(ey,{title:"Chart Titles",description:"Change the titles on the chart.",open:F,close:J,children:ti("div",{id:"popup_title",className:"popup_content",children:[ti("div",{style:{display:"flex",flexDirection:"column",gap:0},children:[ti("div",{children:[Ar("label",{htmlFor:"title_text",children:Ar("b",{children:"Title:"})}),Ar("textarea",{id:"title_text",style:{...Ow,width:"100%",maxWidth:"100%",maxHeight:"200px",marginTop:"8px",marginLeft:"0px"},rows:2,cols:20,value:E,onChange:m=>e(m.target.value)})]}),Ar("div",{id:"xaxis_div",className:"csv_column_container",style:{marginTop:5,marginBottom:-5},children:w.map((m,f)=>{var l,t;return ti("div",{style:{marginTop:5,marginBottom:5},children:[Ar("label",{htmlFor:`title_${m}`,children:f===0?Ar("b",{children:"X axis:"}):ti("b",{children:["X axis ",f+1,":"]})}),Ar("input",{id:`title_${m}`,style:{marginLeft:"0px",padding:"5px 2px 2px 5px"},type:"text",defaultValue:((t=(l=O==null?void 0:O.layout[m])==null?void 0:l.title)==null?void 0:t.text)||"",onChange:a=>{T({...s,[m]:a.target.value})}})]},m)})}),Ar("div",{id:"yaxis_div",className:"csv_column_container",style:{marginTop:5,marginBottom:5},children:_.map((m,f)=>{var l,t;return ti("div",{style:{marginTop:10},children:[Ar("label",{htmlFor:`title_${m}`,children:f===0?Ar("b",{children:"Y axis:"}):ti("b",{children:["Y axis ",f+1,":"]})}),Ar("input",{id:`title_${m}`,style:{marginLeft:"0px",padding:"5px 2px 2px 5px"},type:"text",defaultValue:((t=(l=O==null?void 0:O.layout[m])==null?void 0:l.title)==null?void 0:t.text)||"",onChange:a=>{T({...s,[m]:a.target.value})}})]},m)})})]}),ti("div",{style:{float:"right",marginTop:20},children:[Ar("button",{className:"_btn-tertiary ph-capture",id:"title_cancel",onClick:J,children:"Cancel"}),Ar("button",{className:"_btn ph-capture",id:"title_submit",onClick:()=>{Pe(E),D(s),J()},children:"Submit"})]})]})})}const Bb={padding:"5px 2px 2px 5px",margin:"2px 0"};function z7({open:O,close:F,addAnnotation:J,deleteAnnotation:fe,popupData:Pe}){var l,t,a,r;const D={text:"",color:"#0088CC",size:18,bordercolor:"#822661",yanchor:"above"},[E,e]=Vn.useState(D),[_,w]=Vn.useState(D);Pe&&Pe!==E&&Pe.annotation&&(Pe.annotation=(Pe==null?void 0:Pe.annotation)||{},e(Pe),w(Pe));function s(){console.log("closing"),e(D),w(D),F()}function T(n){console.log(n.target.id.replace("addtext_",""),n.target.value);const o=n.target.id.replace("addtext_",""),i=n.target.type==="checkbox"?n.target.checked?1:0:n.target.value;w({..._,[o]:i})}function m(){if(console.log("submitting",_),_.text!==""){let n=["above",1].includes(_.yanchor);_.yanchor=n?"above":"below",E!=null&&E.annotation&&w({..._,annotation:E.annotation}),J(_),F()}else document.getElementById("popup_textarea_warning").style.display="block",document.getElementById("addtext_text").style.border="1px solid red"}function f(){fe(E),s()}return Ar(ey,{title:"Add Text to Chart",description:"Change the titles on the chart.",open:O,close:s,children:ti("div",{id:"popup_title",className:"popup_content",children:[ti("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[ti("div",{style:{marginBottom:20},children:[ti("label",{htmlFor:"popup_text",children:[Ar("b",{children:"Text:"}),Ar("div",{id:"popup_textarea_warning",className:"popup_warning",children:"Text is required"})]}),Ar("textarea",{id:"addtext_text",style:{...Bb,width:"100%",maxWidth:"100%",maxHeight:"200px",marginTop:"8px"},rows:4,cols:50,placeholder:"Enter text here",onChange:T,defaultValue:((l=E==null?void 0:E.annotation)==null?void 0:l.text)||(_==null?void 0:_.text)})]}),ti("div",{style:{display:"flex",justifyContent:"space-between"},children:[ti("div",{children:[Ar("label",{htmlFor:"addtext_color",children:Ar("b",{children:"Font color:"})}),Ar("input",{type:"color",id:"addtext_color",defaultValue:((t=E==null?void 0:E.annotation)==null?void 0:t.color)||(_==null?void 0:_.color),onChange:T})]}),ti("div",{children:[Ar("label",{htmlFor:"addtext_bordercolor",children:Ar("b",{children:"Border color:"})}),Ar("input",{type:"color",id:"addtext_bordercolor",defaultValue:((a=E==null?void 0:E.annotation)==null?void 0:a.bordercolor)||(_==null?void 0:_.bordercolor),onChange:T})]})]}),ti("div",{style:{display:"flex",justifyContent:"space-between"},children:[ti("div",{children:[Ar("label",{htmlFor:"addtext_size",children:Ar("b",{children:"Font size:"})}),Ar("input",{style:{...Bb,width:"45px"},type:"number",id:"addtext_size",onChange:T,defaultValue:((r=E==null?void 0:E.annotation)==null?void 0:r.size)||(_==null?void 0:_.size)})]}),ti("div",{children:[Ar("label",{htmlFor:"addtext_yanchor",children:Ar("b",{children:"Position (Above):"})}),Ar("input",{type:"checkbox",id:"addtext_yanchor",name:"check",defaultChecked:(_==null?void 0:_.yanchor)==="above",onChange:T})]})]})]}),ti("div",{style:{float:"right",marginTop:20},children:[Ar("button",{className:"_btn-tertiary ph-capture",id:"title_cancel",onClick:s,children:"Cancel"}),Ar("button",{className:"_btn ph-capture",id:"title_delete",onClick:f,children:"Delete"}),Ar("button",{className:"_btn ph-capture",id:"title_submit",onClick:m,children:"Submit"})]})]})})}function D7({plotData:O,popup_data:F,current_text:J}){var _;let fe=F.x,Pe=F.y,D=F.yref,E=((_=O==null?void 0:O.layout)==null?void 0:_.annotations)||[],e=-1;for(let w=0;wi!=null)),O.layout.dragmode="pan",J({...O,...t.update}),_.removeAllListeners("plotly_click")};F.text=F.text.replace(/\n/g,"
");let s;if(F.annotation){console.log("data",F),s={x:F.annotation.x,y:F.annotation.y,yref:F.annotation.yref,yanchor:F.annotation.ym!=null)),O.layout.dragmode="pan",J({...O,...T.update}),Pe({});return}_.on("plotly_clickannotation",T=>{console.log("plotly_clickannotation",T);let m=T.annotation;if(m.text==null){console.log("annotation.text is undefined");return}console.log("annotation.text",m.text),m.text=m.text.replace(/
/g,` +`);let f={x:m.x,y:m.y,yanchor:m.y'),!0):F?O.some(function(J){return F.includes(J)})||O.includes("*"):!0}var G7=function(F,J,fe){fe===void 0&&(fe=!1);var Pe=J.alt,D=J.meta,E=J.mod,e=J.shift,_=J.ctrl,w=J.keys,s=F.key,T=F.code,m=F.ctrlKey,f=F.metaKey,l=F.shiftKey,t=F.altKey,a=ac(T),r=s.toLowerCase();if(!fe){if(Pe===!t&&r!=="alt"||e===!l&&r!=="shift")return!1;if(E){if(!f&&!m)return!1}else if(D===!f&&r!=="meta"&&r!=="os"||_===!m&&r!=="ctrl"&&r!=="control")return!1}return w&&w.length===1&&(w.includes(r)||w.includes(a))?!0:w?j7(w):!w},W7=Vn.createContext(void 0),Z7=function(){return Vn.useContext(W7)};function Fw(O,F){return O&&F&&typeof O=="object"&&typeof F=="object"?Object.keys(O).length===Object.keys(F).length&&Object.keys(O).reduce(function(J,fe){return J&&Fw(O[fe],F[fe])},!0):O===F}var Y7=Vn.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),X7=function(){return Vn.useContext(Y7)};function $7(O){var F=Vn.useRef(void 0);return Fw(F.current,O)||(F.current=O),F.current}var jb=function(F){F.stopPropagation(),F.preventDefault(),F.stopImmediatePropagation()},J7=typeof window<"u"?Vn.useLayoutEffect:Vn.useEffect;function ep(O,F,J,fe){var Pe=Vn.useRef(null),D=Vn.useRef(!1),E=J instanceof Array?fe instanceof Array?void 0:fe:J,e=O instanceof Array?O.join(E==null?void 0:E.splitKey):O,_=J instanceof Array?J:fe instanceof Array?fe:void 0,w=Vn.useCallback(F,_??[]),s=Vn.useRef(w);_?s.current=w:s.current=F;var T=$7(E),m=X7(),f=m.enabledScopes,l=Z7();return J7(function(){if(!((T==null?void 0:T.enabled)===!1||!q7(f,T==null?void 0:T.scopes))){var t=function(i,u){var p;if(u===void 0&&(u=!1),!(H7(i)&&!Dw(i,T==null?void 0:T.enableOnFormTags))&&!(T!=null&&T.ignoreEventWhen!=null&&T.ignoreEventWhen(i))){if(Pe.current!==null&&document.activeElement!==Pe.current&&!Pe.current.contains(document.activeElement)){jb(i);return}(p=i.target)!=null&&p.isContentEditable&&!(T!=null&&T.enableOnContentEditable)||Fg(e,T==null?void 0:T.splitKey).forEach(function(c){var x,d=Bg(c,T==null?void 0:T.combinationKey);if(G7(i,d,T==null?void 0:T.ignoreModifiers)||(x=d.keys)!=null&&x.includes("*")){if(u&&D.current)return;if(U7(i,d,T==null?void 0:T.preventDefault),!V7(i,d,T==null?void 0:T.enabled)){jb(i);return}s.current(i,d),u||(D.current=!0)}})}},a=function(i){i.key!==void 0&&(Rw(ac(i.code)),((T==null?void 0:T.keydown)===void 0&&(T==null?void 0:T.keyup)!==!0||T!=null&&T.keydown)&&t(i))},r=function(i){i.key!==void 0&&(zw(ac(i.code)),D.current=!1,T!=null&&T.keyup&&t(i,!0))},n=Pe.current||(E==null?void 0:E.document)||document;return n.addEventListener("keyup",r),n.addEventListener("keydown",a),l&&Fg(e,T==null?void 0:T.splitKey).forEach(function(o){return l.addHotkey(Bg(o,T==null?void 0:T.combinationKey,T==null?void 0:T.description))}),function(){n.removeEventListener("keyup",r),n.removeEventListener("keydown",a),l&&Fg(e,T==null?void 0:T.splitKey).forEach(function(o){return l.removeHotkey(Bg(o,T==null?void 0:T.combinationKey,T==null?void 0:T.description))})}}},[e,T,f]),Pe}var Bw={exports:{}};(function(O){(function(F){var J=o(),fe=i(),Pe=u(),D=p(),E={imagePlaceholder:void 0,cacheBust:!1},e={toSvg:_,toPng:s,toJpeg:T,toBlob:m,toPixelData:w,impl:{fontFaces:Pe,images:D,util:J,inliner:fe,options:{}}};O.exports=e;function _(c,x){return x=x||{},f(x),Promise.resolve(c).then(function(v){return t(v,x.filter,!0)}).then(a).then(r).then(d).then(function(v){return n(v,x.width||J.width(c),x.height||J.height(c))});function d(v){return x.bgcolor&&(v.style.backgroundColor=x.bgcolor),x.width&&(v.style.width=x.width+"px"),x.height&&(v.style.height=x.height+"px"),x.style&&Object.keys(x.style).forEach(function(b){v.style[b]=x.style[b]}),v}}function w(c,x){return l(c,x||{}).then(function(d){return d.getContext("2d").getImageData(0,0,J.width(c),J.height(c)).data})}function s(c,x){return l(c,x||{}).then(function(d){return d.toDataURL()})}function T(c,x){return x=x||{},l(c,x).then(function(d){return d.toDataURL("image/jpeg",x.quality||1)})}function m(c,x){return l(c,x||{}).then(J.canvasToBlob)}function f(c){typeof c.imagePlaceholder>"u"?e.impl.options.imagePlaceholder=E.imagePlaceholder:e.impl.options.imagePlaceholder=c.imagePlaceholder,typeof c.cacheBust>"u"?e.impl.options.cacheBust=E.cacheBust:e.impl.options.cacheBust=c.cacheBust}function l(c,x){return _(c,x).then(J.makeImage).then(J.delay(100)).then(function(v){var b=d(c);return b.getContext("2d").drawImage(v,0,0),b});function d(v){var b=document.createElement("canvas");if(b.width=x.width||J.width(v),b.height=x.height||J.height(v),x.bgcolor){var g=b.getContext("2d");g.fillStyle=x.bgcolor,g.fillRect(0,0,b.width,b.height)}return b}}function t(c,x,d){if(!d&&x&&!x(c))return Promise.resolve();return Promise.resolve(c).then(v).then(function(y){return b(c,y,x)}).then(function(y){return g(c,y)});function v(y){return y instanceof HTMLCanvasElement?J.makeImage(y.toDataURL()):y.cloneNode(!1)}function b(y,k,h){var M=y.childNodes;if(M.length===0)return Promise.resolve(k);return A(k,J.asArray(M),h).then(function(){return k});function A(C,L,P){var I=Promise.resolve();return L.forEach(function(R){I=I.then(function(){return t(R,P)}).then(function(U){U&&C.appendChild(U)})}),I}}function g(y,k){if(!(k instanceof Element))return k;return Promise.resolve().then(h).then(M).then(A).then(C).then(function(){return k});function h(){L(window.getComputedStyle(y),k.style);function L(P,I){P.cssText?I.cssText=P.cssText:R(P,I);function R(U,B){J.asArray(U).forEach(function(G){B.setProperty(G,U.getPropertyValue(G),U.getPropertyPriority(G))})}}}function M(){[":before",":after"].forEach(function(P){L(P)});function L(P){var I=window.getComputedStyle(y,P),R=I.getPropertyValue("content");if(R===""||R==="none")return;var U=J.uid();k.className=k.className+" "+U;var B=document.createElement("style");B.appendChild(G(U,P,I)),k.appendChild(B);function G(N,j,V){var H="."+N+":"+j,ee=V.cssText?Q(V):X(V);return document.createTextNode(H+"{"+ee+"}");function Q(Y){var K=Y.getPropertyValue("content");return Y.cssText+" content: "+K+";"}function X(Y){return J.asArray(Y).map(K).join("; ")+";";function K(te){return te+": "+Y.getPropertyValue(te)+(Y.getPropertyPriority(te)?" !important":"")}}}}}function A(){y instanceof HTMLTextAreaElement&&(k.innerHTML=y.value),y instanceof HTMLInputElement&&k.setAttribute("value",y.value)}function C(){k instanceof SVGElement&&(k.setAttribute("xmlns","http://www.w3.org/2000/svg"),k instanceof SVGRectElement&&["width","height"].forEach(function(L){var P=k.getAttribute(L);P&&k.style.setProperty(L,P)}))}}}function a(c){return Pe.resolveAll().then(function(x){var d=document.createElement("style");return c.appendChild(d),d.appendChild(document.createTextNode(x)),c})}function r(c){return D.inlineAll(c).then(function(){return c})}function n(c,x,d){return Promise.resolve(c).then(function(v){return v.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),new XMLSerializer().serializeToString(v)}).then(J.escapeXhtml).then(function(v){return''+v+""}).then(function(v){return''+v+""}).then(function(v){return"data:image/svg+xml;charset=utf-8,"+v})}function o(){return{escape:C,parseExtension:x,mimeType:d,dataAsUrl:A,isDataUrl:v,canvasToBlob:g,resolveUrl:y,getAndEncode:M,uid:k(),delay:L,asArray:P,escapeXhtml:I,makeImage:h,width:R,height:U};function c(){var G="application/font-woff",N="image/jpeg";return{woff:G,woff2:G,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:N,jpeg:N,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml"}}function x(G){var N=/\.([^\.\/]*?)$/g.exec(G);return N?N[1]:""}function d(G){var N=x(G).toLowerCase();return c()[N]||""}function v(G){return G.search(/^(data:)/)!==-1}function b(G){return new Promise(function(N){for(var j=window.atob(G.toDataURL().split(",")[1]),V=j.length,H=new Uint8Array(V),ee=0;ee{if(O)return e9({fileHandle:O,blob:F})},e9=async({fileHandle:O,blob:F})=>{const J=await O.createWritable();await J.write(F),await J.close()},t9=[{description:"PNG Image",accept:{"image/png":[".png"]}},{description:"JPEG Image",accept:{"image/jpeg":[".jpeg"]}}],jw=({filename:O,is_image:F})=>{if("showSaveFilePicker"in window){const J={suggestedName:O,types:F?t9:[{description:"CSV File",accept:{"image/csv":[".csv"]}}],excludeAcceptAllOption:!0};return showSaveFilePicker(J)}return new Promise(J=>{J(null)})},ty=(O,F,J)=>{try{if(J===null)throw new Error("Cannot access filesystem");return Q7({fileHandle:J,blob:O})}catch(fe){console.error("oops, something went wrong!",fe);const Pe=URL.createObjectURL(O),D=document.createElement("a");D.setAttribute("href",Pe),D.setAttribute("download",F),D.style.visibility="hidden",document.body.appendChild(D),D.click(),document.body.removeChild(D)}return new Promise(fe=>{fe(!0)})};async function n9(O){let F=O.data,J=[],fe=[],Pe="title"in O.layout.xaxis&&O.layout.xaxis.title.text!=null?O.layout.xaxis.title.text:"x";return"title"in O.layout.yaxis&&O.layout.yaxis.title.text!=null&&O.layout.yaxis.title.text,F.forEach(function(D){D.type=="candlestick"&&(J.length==0&&(J=["Date","Open","High","Low","Close"]),D.x.forEach(function(E,e){fe.push([E,D.open[e],D.high[e],D.low[e],D.close[e]])})),D.type=="scatter"&&(J.length==0&&J.push(Pe),J.push(D.name),D.x.forEach(function(E,e){fe[e]==null&&(fe[e]=[E]),fe[e].push(D.y[e])}))}),await r9(J,fe)}async function r9(O,F){const J=O,fe=F.map(_=>_.map(w=>w==null?"":typeof w=="object"?JSON.stringify(w):w.toString().replace(/"/g,'""'))),D=[J,...fe].map(_=>_.join(",")).join(` +`),E=new Blob([D],{type:"text/csv;charset=utf-8;"}),e=`${window.title}.csv`;try{let _=await jw({filename:e}),w="png";_!==null&&(w=_.name.split(".").pop()),await Z0(`Saving ${w.toUpperCase()}`),Bp(async function(){ty(E,e,_).then(async function(){await Z0("",!0)})},2)()}catch(_){console.error(_)}}function Z0(O,F){const J=window.document.getElementById("loading"),fe=window.document.getElementById("loading_text");return new Promise(Pe=>{F?J.classList.remove("show"):(fe.innerHTML=O,J.classList.add("show"));let D=setInterval(function(){(F?!J.classList.contains("show"):J.classList.contains("show"))&&(clearInterval(D),Pe(!0))},.1)})}const Bp=(O,F)=>{let J;return function(){const fe=this,Pe=arguments;clearTimeout(J),J=setTimeout(()=>O.apply(fe,Pe),F)}},i9={yref:"paper",xref:"paper",x:1,y:0,text:"OpenBB Terminal",font_size:17,font_color:"gray",opacity:.5,xanchor:"right",yanchor:"bottom",yshift:-80,xshift:40};async function Ub(O,F,J=!1){J&&(globals.CHART_DIV.layout.annotations.push(i9),globals.cmd_idx&&globals.cmd_src&&(globals.CHART_DIV.layout.annotations[globals.cmd_idx].text=globals.cmd_src),Plotly.relayout(globals.CHART_DIV,{"title.text":globals.title,margin:globals.old_margin})),J||(globals.cmd_idx&&globals.cmd_src&&(globals.CHART_DIV.layout.annotations[globals.cmd_idx].text=""),globals.CHART_DIV.layout.annotations.splice(F,1),Plotly.relayout(globals.CHART_DIV,{"title.text":"",margin:O}))}async function a9(O,F,J){const fe=document.getElementById(O);if(["svg","pdf"].includes(J)){const Pe=globals.CHART_DIV.layout.margin,D=globals.CHART_DIV.layout.annotations.length;await Ub(Pe,D,!0),Plotly.downloadImage(globals.CHART_DIV,{format:"svg",height:globals.CHART_DIV.clientHeight,width:globals.CHART_DIV.clientWidth,filename:F}),await Ub(Pe,D,!1);return}Bp(async function(){Nw.toBlob(fe).then(function(Pe){ty(Pe,F,null)})},2)()}async function o9(O,F,J){const fe=document.getElementById(O),Pe=`${window.title}.png`;try{let D=await jw({filename:Pe,is_image:!0}),E="png";D!==null&&(E=D.name.split(".").pop()),J(!0),await Z0(`Saving ${E.toUpperCase()}`),Bp(async function(){Nw.toBlob(fe).then(function(e){ty(e,Pe,D).then(async function(){await Z0("",!0),F(!1)})})},2)(),J(!1)}catch(D){console.error(D),F(!1)}}function th(O=!0){return new Promise(F=>{window.MODEBAR||(window.MODEBAR=window.document.getElementsByClassName("modebar-container")[0],window.MODEBAR.style.cssText=`${window.MODEBAR.style.cssText}; display:flex;`),window.MODEBAR&&(window.MODEBAR.style.cssText.includes("display: none")&&!O?window.MODEBAR.style.cssText=`${window.MODEBAR.style.cssText}; display:flex;`:window.MODEBAR.style.cssText=`${window.MODEBAR.style.cssText}; display:none;`,F(!0))})}function s9({setModal:O,changeTheme:F,autoScaling:J,Loading:fe,changeColor:Pe}){return ep("ctrl+shift+t",()=>{O({modal:"titleDialog"})},{preventDefault:!0}),ep("ctrl+t",()=>{O({modal:"textDialog"})},{preventDefault:!0}),ep("ctrl+o",()=>{O({modal:"overlayChart"})},{preventDefault:!0}),ep("ctrl+shift+h",()=>{th()},{preventDefault:!0}),ep("ctrl+w",()=>{window.close()},{preventDefault:!0}),{plotGlPixelRatio:1,scrollZoom:!0,responsive:!0,displaylogo:!1,displayModeBar:!0,modeBarButtonsToRemove:["lasso2d","select2d","downloadImage"],modeBarButtons:[[{name:"Download CSV (Ctrl+Shift+S)",icon:Pu.downloadCsv,click:async function(E){O({modal:"downloadCsv"}),await n9(E)}},{name:"Download Chart as Image (Ctrl+S)",icon:Pu.downloadImage,click:async function(){th(),await o9("MainChart",th,fe)}}],[{name:"Edit Color (Ctrl+E)",icon:Pu.changeColor,click:function(){Pe(!0)}},"drawline","drawopenpath","drawcircle","drawrect","eraseshape"],[{name:"Overlay chart from CSV (Ctrl+O)",icon:Pu.plotCsv,click:function(){O({modal:"overlayChart"})}},{name:"Add Text (Ctrl+T)",icon:Pu.addText,click:function(){O({modal:"textDialog",data:{text:""}})}},{name:"Change Titles (Ctrl+Shift+T)",icon:Pu.changeTitle,click:function(){O({modal:"titleDialog"})}},{name:"Change Theme",icon:Pu.sunIcon,click:function(){F(!0)}}],["hoverClosestCartesian","hoverCompareCartesian","toggleSpikelines"],[{name:"Auto Scale (Ctrl+Shift+A)",icon:ru.Icons.autoscale,click:function(){J(!0)}},"zoomIn2d","zoomOut2d","autoScale2d","zoom2d","pan2d"]]}}async function l9(O,F){try{if(O["xaxis.range[0]"]!=null){const J=O["xaxis.range[0]"],fe=O["xaxis.range[1]"];let Pe={},D,E;const e=F.data.filter(s=>s.yaxis!=null),_=[...new Set(e.map(s=>s.yaxis||s.y!=null||s.type=="candlestick"))],w=s=>F.data.filter(T=>T.yaxis==s&&(T.y||T.type=="candlestick"));return _.forEach(s=>{if(typeof s!="string")return;let T="yaxis"+s.replace("y",""),m=[],f=[],l=F.layout[T].type=="log";w(s).forEach(r=>{let n=r.x;l=F.layout[T].type=="log";let o=r.y!=null?r.y:[],i=r.type=="candlestick"?r.low:[],u=r.type=="candlestick"?r.high:[];l&&(o=o.map(Math.log10),r.type=="candlestick"&&(i=r.low.map(Math.log10),u=r.high.map(Math.log10)));let p=n.map((c,x)=>{let d=null;return c>=J&&c<=fe&&(r.y!=null&&(console.log(r.name,r.type,r.yaxis),d=o[x]),r.type=="candlestick"&&(m.push(i[x]),m.push(u[x]))),d});f=f.concat(p)}),f=f.filter(r=>r!=null&&r!=null),D=Math.min(...f),E=Math.max(...f),m.length>0&&(m=m.filter(r=>r!=null&&r!=null),D=Math.min(...m),E=Math.max(...m));let t=E,a=F.layout[T].fixedrange!=null&&F.layout[T].fixedrange==!0;if(D!=null&&E!=null){let r=E-D,n=.15;if(m.length>0&&(n=.3),D-=r*n,E+=r*n,a){if(F.layout[T].tickvals!=null){let i=t,u=-3,p=Math.round(i*.2,u),c=[2,5,6,7,8,9,10],x=[1,4,5,6,7,8,9];for(let b=0;bc[b]&&(u=-x[b],p=Math.round(i*.2,u));let d=[Math.floor(p),Math.floor(p*2),Math.floor(p*3),Math.floor(p*4)],v=[0,Math.floor(i*7)];Pe[T+".tickvals"]=d,Pe[T+".range"]=v,Pe[T+".tickformat"]=".2s";return}D=0,E=F.layout[T].range[1]}Pe[T+".range"]=[D,E]}}),Pe}}catch(J){console.log(`Error in AutoScaling: ${J}`)}return{}}async function u9({plotData:O,Volume:F}){const J=Object.keys(O.layout).filter(w=>w.startsWith("xaxis")).filter(w=>O.layout[w].showticklabels),fe=O.data.filter(w=>{var s;return(s=w==null?void 0:w.name)==null?void 0:s.startsWith("Volume")});let Pe={},D=F||{old_nticks:{}};const E=window.innerWidth,e=window.innerHeight;let _=e>420&&E<920?9:e>420&&E<500?10:8;return E<750?(fe.forEach(w=>{w.type=="bar"&&(w.opacity=1,w.marker.line.width=.09,F.yaxis==null&&(D.yaxis="yaxis"+w.yaxis.replace("y",""),Pe[D.yaxis+".tickfont.size"]=_,D.tickfont=O.layout[D.yaxis].tickfont||{},O.layout.margin.l-=40))}),J.forEach(w=>{var s;((s=D.old_nticks)==null?void 0:s[w])==null&&(Pe[w+".nticks"]=6,D.old_nticks[w]=O.layout[w].nticks||10)}),await th()):window.MODEBAR.style.cssText.includes("display: none")&&(await th(!1),F.old_nticks!=null&&J.forEach(w=>{D.old_nticks[w]!=null&&(Pe[w+".nticks"]=D.old_nticks[w],D.old_nticks[w]=void 0)}),F.yaxis!=null&&fe.forEach(w=>{w.type=="bar"&&(w.opacity=.5,w.marker.line.width=.2,Pe[D.yaxis+".tickfont.size"]=D.tickfont.size+3,O.layout.margin.l+=40,D.yaxis=void 0)})),{volume_update:D,layout_update:Pe,plotData:O}}function c9({open:O,onColorChange:F}){const[J,fe]=Vn.useState(!1);function Pe(D){F(D)}return O&&!J&&fe(!0),!O&&J&&fe(!1),Vn.useEffect(()=>{if(J){let D=function(e){let _=0,w=0,s=0,T=0;document.getElementById(e.id+"_header")?document.getElementById(e.id+"_header").onmousedown=m:e.onmousedown=m;function m(t){t=t||window.event,t.preventDefault(),s=t.clientX,T=t.clientY,document.onmouseup=l,document.onmousemove=f}function f(t){t=t||window.event,t.preventDefault(),_=s-t.clientX,w=T-t.clientY,s=t.clientX,T=t.clientY,e.style.top=e.offsetTop-w+"px",e.style.left=e.offsetLeft-_+"px"}function l(){document.onmouseup=null,document.onmousemove=null}},E=document.getElementById("changecolor");E.style.display="block",E.style.width=null,D(E)}else document.getElementById("changecolor").style.display="none"},[J]),Ar("div",{id:"changecolor",children:Ar("div",{id:"changecolor_header",children:Ar("input",{type:"color",id:"picked_color",value:"#00ACFF",onChange:D=>{let E=D.target.value;Pe(E)}})})})}const f9=XT(HT);function h9({json:O,date:F,cmd:J,title:fe,info:Pe}){const D=UT();Pe&&Vn.useEffect(()=>{D&&D.capture("chart",Pe)},[D]),delete O.layout.width,delete O.layout.height,O.layout.title.text="";const[E,e]=Vn.useState({}),[_,w]=Vn.useState(!1),[s,T]=Vn.useState(fe),[m,f]=Vn.useState({}),[l,t]=Vn.useState(!1),[a,r]=Vn.useState({modal:""}),[n,o]=Vn.useState(!1),[i,u]=Vn.useState(null),[p,c]=Vn.useState({old_nticks:{}}),[x,d]=Vn.useState(O),[v,b]=Vn.useState([]),[g,y]=Vn.useState(!1),[k,h]=Vn.useState(!0),[M,A]=Vn.useState(!1),[C,L]=Vn.useState(!1),[P,I]=Vn.useState(!1),[R,U]=Vn.useState({}),B=()=>r({modal:""});function G(Q){var Y,K,te,ie,oe;console.log("onDeleteAnnotation",Q);const X=(K=(Y=x==null?void 0:x.layout)==null?void 0:Y.annotations)==null?void 0:K.findIndex(se=>se.text===Q.text);console.log("index",X),X>-1&&((ie=(te=x==null?void 0:x.layout)==null?void 0:te.annotations)==null||ie.splice(X,1),d({...x}),b((oe=x==null?void 0:x.layout)==null?void 0:oe.annotations))}function N(Q){F7({plotData:x,popupData:Q,setPlotData:d,setModal:r,setOnAnnotationClick:U,setAnnotations:b,onAnnotationClick:R,annotations:v,plotDiv:i})}m&&Object.keys(m).length>0&&(Object.keys(m).forEach(Q=>{x.layout[Q].title={...x.layout[Q].title||{},text:m[Q]},x.layout[Q].showticklabels=!0}),f({}));function j(Q){let X=i.layout.shapes;if(!X||X.length==0)return;let Y=X[X.length-1];Y.line.color=Q,ru.update(i,{},{shapes:X})}function V(Q,X=!1){let Y=E[Q]||document.querySelector(`[data-title="${Q}"]`);X?(Y.style.border="transparent",Y.style.boxShadow="none"):(Y.style.border="1px solid rgba(0, 151, 222, 1.0)",Y.style.borderRadius="5px",Y.style.borderpadding="5px",Y.style.boxShadow="0 0 5px rgba(0, 151, 222, 1.0)"),e({...E,[Q]:Y})}function H(){let Q="Auto Scale (Ctrl+Shift+A)",X=E[Q]||document.querySelector(`[data-title="${Q}"]`),Y=!0;X.style.border=="transparent"?(Y=!1,i.on("plotly_relayout",Bp(async function(K){if(K["xaxis.range[0]"]==null)return;let te=await l9(K,i);ru.update(i,{},te)},100))):i.removeAllListeners("plotly_relayout"),V(Q,Y)}function ee(){let Q="Edit Color (Ctrl+E)",X=E[Q]||document.querySelector(`[data-title="${Q}"]`),Y=!0;X.style.border=="transparent"&&(Y=!1),I(!Y),V(Q,Y)}return Vn.useEffect(()=>{M&&(console.log("activateAutoScale",!M),H(),A(!1))},[M]),Vn.useEffect(()=>{C&&(ee(),L(!1))},[C]),Vn.useEffect(()=>{if(g)try{console.log("changeTheme",g);const Q=x==null?void 0:x.data.filter(te=>{var ie;return(ie=te==null?void 0:te.name)==null?void 0:ie.startsWith("Volume")});let X=!k;window.document.body.style.backgroundColor=X?"#000":"#fff",x.layout.font={...x.layout.font||{},color:X?"#fff":"#000"};const Y=X?Pu.sunIcon:Pu.moonIcon;document.querySelector('[data-title="Change Theme"]').getElementsByTagName("path")[0].setAttribute("d",Y.path),document.querySelector('[data-title="Change Theme"]').getElementsByTagName("svg")[0].setAttribute("viewBox",Y.viewBox);const K={"#e4003a":"#c80000","#00ACFF":"#009600","#009600":"#00ACFF","#c80000":"#e4003a"};Q.forEach(te=>{te.type=="bar"&&(te.marker.color=te.marker.color.map(ie=>K[ie]||ie))}),x.layout.template=X?$T:JT,d({...x}),ru.react(i,x.data,x.layout),h(X),y(!1)}catch(Q){console.log("error",Q)}},[g]),Vn.useEffect(()=>{if(l){h(!0),A(!1);const Q=["Download CSV","Download Chart as Image","Overlay chart from CSV","Add Text","Change Titles","Auto Scale (Ctrl+Shift+A)","Reset Axes"],X=document.querySelector('[data-title="Autoscale"]');X&&(X.getElementsByTagName("path")[0].setAttribute("d",ru.Icons.home.path),X.setAttribute("data-title","Reset Axes")),window.MODEBAR=document.getElementsByClassName("modebar-container")[0];const Y=window.MODEBAR.getElementsByClassName("modebar-btn");if(window.MODEBAR.style.cssText=`${window.MODEBAR.style.cssText}; display:flex;`,Y){let K={};for(let te=0;te0&&(d(ie),c(oe),ru.relayout(i,te))})}},[l]),ti("div",{className:"relative h-full",children:[n&&Ar("div",{className:"absolute inset-0 flex items-center justify-center z-[100]",children:ti("svg",{className:"animate-spin h-20 w-20 text-white",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[Ar("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),Ar("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8v8z"})]})}),Ar(O7,{addOverlay:Q=>{console.log(Q),x.layout.showlegend=!0,d(Q),t(!1)},plotlyData:x,setLoading:o,open:a.modal==="overlayChart",close:B}),Ar(R7,{updateTitle:Q=>T(Q),updateAxesTitles:Q=>f(Q),defaultTitle:s,plotlyData:x,open:a.modal==="titleDialog",close:B}),Ar(z7,{popupData:a.modal==="textDialog"?a==null?void 0:a.data:null,open:a.modal==="textDialog",close:B,addAnnotation:Q=>N(Q),deleteAnnotation:Q=>G(Q)}),Ar(c9,{open:P,onColorChange:j}),ti("div",{className:"relative h-full",id:"MainChart",children:[ti("div",{className:"_header relative gap-4 py-2 text-center text-xs flex items-center justify-between px-4 text-white",children:[Ar("div",{className:"w-1/3",children:Ar("svg",{xmlns:"http://www.w3.org/2000/svg",width:"64",height:"40",fill:"none",viewBox:"0 0 64 40",children:Ar("path",{fill:"#fff",d:"M61.283 3.965H33.608v27.757h25.699V19.826H37.561v-3.965H63.26V3.965h-1.977zM39.538 23.792h15.815v3.965H37.561v-3.965h1.977zM59.306 9.913v1.983H37.561V7.931h21.745v1.982zM33.606 0h-3.954v3.965H33.606V0zM25.7 3.966H0V15.86h25.7v3.965H3.953v11.896h25.7V3.966h-3.955zm0 21.808v1.983H7.907v-3.965h17.791v1.982zm0-15.86v1.982H3.953V7.931h21.745v1.982zM37.039 35.693v2.952l-.246-.246-.245-.245-.245-.247-.245-.246-.246-.246-.245-.245-.245-.247-.247-.246-.245-.246-.245-.246-.245-.246-.246-.246h-.49v3.936h.49v-3.198l.246.246.245.246.245.246.245.246.246.246.246.246.245.247.246.245.245.246.245.247.245.246.246.245.245.246h.245v-3.936h-.49zM44.938 37.17h-.491v-1.477h-2.944v3.937h3.93v-2.46h-.495zm-2.944-.246v-.739h1.962v.984h-1.962v-.245zm2.944.984v1.23h-2.944V37.66h2.944v.247zM52.835 37.17h-.49v-1.477h-2.946v3.937h3.925v-2.46h-.489zm-2.944-.246v-.739h1.963v.984h-1.965l.002-.245zm2.944.984v1.23H49.89V37.66h2.946v.247zM29.174 35.693H25.739v3.936H29.663v-.491H26.229v-.984h2.943v-.493H26.229v-1.476h3.434v-.492h-.489zM13.37 35.693H9.934v3.937h3.925v-3.937h-.49zm0 .738v2.709h-2.945v-2.955h2.943l.001.246zM21.276 35.693h-3.435v3.937h.491v-1.476h3.434v-2.461h-.49zm0 .738v1.23h-2.944v-1.476h2.944v.246z"})})}),Ar("p",{className:"font-bold w-1/3 flex flex-col gap-0.5 items-center",children:s}),ti("p",{className:"w-1/3 text-right text-xs",children:[new Intl.DateTimeFormat("en-GB",{dateStyle:"full",timeStyle:"long"}).format(F).replace(/:\d\d /," "),Ar("br",{}),Ar("span",{className:"text-grey-400",children:J})]})]}),Ar("div",{className:"w-full h-[calc(100%-50px)] sm:pb-12",children:Ar(f9,{onInitialized:()=>{if(!i){const Q=document.getElementById("plotlyChart");console.log("plot",Q),Q&&u(Q)}l||t(!0)},className:"w-full h-full",divId:"plotlyChart",data:x.data,layout:x.layout,config:s9({setModal:r,changeTheme:y,autoScaling:A,Loading:o,changeColor:L})})})]})]})}function p9(){const[O,F]=Vn.useState(null),[J,fe]=Vn.useState({});Vn.useEffect(()=>{{const E=setInterval(()=>{if(window.plotly_figure){const e=window.plotly_figure;console.log(e),F(e),clearInterval(E)}},100);return()=>clearInterval(E)}},[]);const D=(E=>{var m,f,l,t;if(!E)return null;let e=(f=(m=E.layout)==null?void 0:m.title)==null?void 0:f.text.replace(/|<\/b>/g,"").replace(/ /g,"_"),_=new Date().toISOString().slice(0,10).replace(/-/g,""),w=new Date().toISOString().slice(11,19).replace(/:/g,"");window.title=`openbb_${e}_${_}_${w}`;let s="";window.export_image!=null&&(e=window.export_image.split("/").pop(),s=e.split(".").pop().replace("jpg","jpeg")),E.layout.annotations!=null&&E.layout.annotations.forEach(function(a){if(a.text!=null&&!["svg","pdf"].includes(s)&&a.text[0]=="/"){a.text="";let r=E.layout.margin;r.t!=null&&r.t>40&&(r.t=40),r.l=70,E.cmd=="/stocks/candle"&&(r.r-=40)}});let T=(t=(l=E.layout)==null?void 0:l.title)==null?void 0:t.text;return{data:E,date:new Date,cmd:E.command_location,posthog:E.posthog,python_version:E.python_version,pywry_version:E.pywry_version,terminal_version:E.terminal_version,title:T}})(O);if(D){D.posthog.collect_logs&&!J&&fe({api_host:"https://app.posthog.com",autocapture:{css_selector_allowlist:[".ph-capture"]},capture_pageview:!1,loaded:function(w){const s=(D==null?void 0:D.log_id)||"";s!=""&&s!="REPLACE_ME"&&w.identify(s),w.onFeatureFlags(function(){w.isFeatureEnabled("record-pywry",{send_event:!1})||w.stopSessionRecording(),w.isFeatureEnabled("collect-logs-pywry",{send_event:!1})?w.has_opted_out_capturing()&&w.opt_in_capturing():w.opt_out_capturing()})}});const E={INFO:{command:D.cmd,title:D.title,date:D.date,python_version:D.python_version,pywry_version:D.pywry_version,terminal_version:D.terminal_version}},e=Ar(h9,{json:D.data,date:D.date,cmd:D.cmd,title:D.title,info:E});return D.posthog.collect_logs&&J?Ar(jT,{apiKey:"phc_vhssDAMod5qIplznQ75Kdgz4aB1qPFmeVmfEOZ4hkRw",options:J,children:e}):e}else return Ar("div",{className:"absolute inset-0 flex items-center justify-center z-[100]",children:ti("svg",{className:"animate-spin h-20 w-20 text-white",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[Ar("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),Ar("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8v8z"})]})})}P8.render(Ar(a_.StrictMode,{children:Ar(p9,{})}),document.getElementById("root")); + + + + + +
+ diff --git a/openbb_terminal/core/plots/plotly_helper.py b/openbb_terminal/core/plots/plotly_helper.py index adb64b1954e..21c48e72d68 100644 --- a/openbb_terminal/core/plots/plotly_helper.py +++ b/openbb_terminal/core/plots/plotly_helper.py @@ -1550,9 +1550,9 @@ class OpenBBFigure(go.Figure): return margin_add = ( - dict(l=80, r=60, b=90, t=40, pad=0) + dict(l=80, r=60, b=80, t=40, pad=0) if not self._has_secondary_y or not self.has_subplots - else dict(l=60, r=50, b=95, t=40, pad=0) + else dict(l=60, r=50, b=85, t=40, pad=0) ) # We adjust margins diff --git a/openbb_terminal/core/plots/plotly_ta/plugins/momentum_plugin.py b/openbb_terminal/core/plots/plotly_ta/plugins/momentum_plugin.py index 1e10c1164b5..5cf129790cd 100644 --- a/openbb_terminal/core/plots/plotly_ta/plugins/momentum_plugin.py +++ b/openbb_terminal/core/plots/plotly_ta/plugins/momentum_plugin.py @@ -165,9 +165,9 @@ class Momentum(PltTA): yref="paper", text="CLenow", x=0, - xanchor="left", + xanchor="right", + xshift=-6, yshift=-inchart_index * 18, - xshift=-60, y=0.98, font_size=14, font_color=self.inchart_colors[inchart_index], @@ -225,9 +225,9 @@ class Momentum(PltTA): yref="paper", text="Demark", x=0, - xanchor="left", + xanchor="right", + xshift=-6, yshift=-inchart_index * 18, - xshift=-60, y=0.98, font_size=14, font_color=self.inchart_colors[inchart_index], diff --git a/openbb_terminal/core/plots/plotly_ta/plugins/overlap_plugin.py b/openbb_terminal/core/plots/plotly_ta/plugins/overlap_plugin.py index 1ef202fbe70..2256a937cb0 100644 --- a/openbb_terminal/core/plots/plotly_ta/plugins/overlap_plugin.py +++ b/openbb_terminal/core/plots/plotly_ta/plugins/overlap_plugin.py @@ -49,9 +49,9 @@ class Overlap(PltTA): yref="paper", text=f"{column.replace('_', '').replace('RMA', 'MA')}", x=0, - xanchor="left", + xanchor="right", + xshift=-6, yshift=-inchart_index * 18, - xshift=-60, y=0.98, font_size=14, font_color=self.inchart_colors[inchart_index], @@ -83,9 +83,9 @@ class Overlap(PltTA): yref="paper", text="VWAP", x=0, - xanchor="left", + xanchor="right", + xshift=-6, yshift=-inchart_index * 18, - xshift=-60, y=0.98, font_size=14, font_color=self.inchart_colors[inchart_index], diff --git a/openbb_terminal/core/plots/plotly_ta/plugins/volatility_plugin.py b/openbb_terminal/core/plots/plotly_ta/plugins/volatility_plugin.py index f010b156e27..fe626f027c7 100644 --- a/openbb_terminal/core/plots/plotly_ta/plugins/volatility_plugin.py +++ b/openbb_terminal/core/plots/plotly_ta/plugins/volatility_plugin.py @@ -94,9 +94,9 @@ class Volatility(PltTA): yref="paper", text=f"{bbands_text}", x=0, - xanchor="left", + xanchor="right", + xshift=-6, yshift=-inchart_index * 18, - xshift=-60, y=0.98, font_size=14, font_color=theme.get_colors()[1], @@ -153,9 +153,9 @@ class Volatility(PltTA): yref="paper", text=f"{donchian_text}", x=0, - xanchor="left", + xanchor="right", + xshift=-6, yshift=-inchart_index * 18, - xshift=-60, y=0.98, font_size=14, font_color="#B47DA0", @@ -211,9 +211,9 @@ class Volatility(PltTA): yref="paper", text=f"{kctext}", x=0, - xanchor="left", + xanchor="right", + xshift=-6, yshift=-inchart_index * 18, - xshift=-60, y=0.98, font_size=14, font_color="#B47DA0", diff --git a/openbb_terminal/core/plots/plotly_ta/ta_class.py b/openbb_terminal/core/plots/plotly_ta/ta_class.py index 293c9e031d6..4deaca0d4a7 100644 --- a/openbb_terminal/core/plots/plotly_ta/ta_class.py +++ b/openbb_terminal/core/plots/plotly_ta/ta_class.py @@ -452,7 +452,7 @@ class PlotlyTA(PltTA): if indicator in self.ma_mode: if ma_done: continue - indicator, ma_done = "ma", True + indicator, ma_done = "ma", True # noqa figure, inchart_index = getattr(self, f"plot_{indicator}")( figure, self.df_ta, inchart_index

+2gkl)Z+8MjICx7f3!;PLDz80xn5{@>CSGf>!C;+smh)pRYU9b*sI-{brBETt9g5 z;0?~VM`CD1mqtb=t|4JdFlJlT&ziMsS7#q^iIG|UX2YymZKW8I4YK;iU#`~c*}_6S zSmf^37r~0rYPHG-wb=cA%GBEy0-rW9ag>|%bU^`QW!2trRIk_PA1*t1sI;{7dk3$u z1xvJpLLw%vj=@d_T=LDcBU2trGz565yU=3x>Lp7uGc!{Hq&L3&pzxE6jrCm`w7MO0 z>=0Oc_fm)LU|rnk{vPI3-LmNSoW+yLS`d2vgWt^u&9XW!WWt0f<|S3y)TvWLoK^Dn z8v{Iy*9u~c>*-RR{Ns-uFQ2>7H$6Rl@7}$I274bLPtQxPPW?QrJMqsb(ZPh4$Ay3!NM%BNfb`oB3JVKil)6f9puZYyIgPUfb$rKGL#q5^X0HT-5{<6( zF=NujLOuP@X&3>1ibWfldcN?^^yCgc80k3U<5)+04t@0m^Q=J6s|R zikIXWFeYz+O|NJ2^o&%1PGhDlE$zU8f*6d#QW!;v2Bu9fY2!FDaX_%So${jv_Z=2b zCJR-d!}Qb_@S~U`(&V^f$D)kWq{oiwbcSf^KKdvoPnMgDfzX`KdJCAAyfs?9v$S;k zTfDREJ1!RQ?ubuepiBcPiXRm`z&(1HW5>Ub9Xpnt9U7XQU07(a<5E{+lCXJ$g8DYP zSDt*&9zVZ=0zCwdAGw23-sRr%>FEa!R98QsG@F;Fm*nM%Whq9+FFpOy#9;M}x|)y6 zK0I>d$cc*L;^Nwt8y9K{OS-tI^mI-8`Ql>D6m;8h2EVjL85tcNZ7nUJrmM>ailzR2 zjIl2tGGI<#hHCdXD(RNU6YW?HnE$%YnM<^T3cw77Ikhq+Wd7%IiPYFay6TU%Q~ zLw&iszqj~kZ99JZvAOkjN5|FyO${|QHQ(0#@LNYsV_oajwm+qvHQadA=NKPJ?WdJB zO|}7{yLOiv#&~+Vblhoe^@@v&8xz`f2mJqXfog%3+Njm)`f7lwtJCyCEri4k^Q^3_ z{7o60l$7Kzz4d)nRi}>+E2*-m5tIF(1AShZi)P2ijtA)2=*a0QDTRfZiqjZ34}I0? zyC^gBvAzbopnibt;iQz_0?t;wz0y4+W3cp2B__62wGopuMA&1ATOa$IZIPoxxXxNk ziRu`&|H$Z0+df*DORz@Kn=+ydo*Oo-&yvEZZ0lsDc5Z;}qB`>OzJ2@Zq?=;;aD zwlM7vdb+p&KP=yP(Br);A>q)W_fH%-{ys#j^i=uL=XZ6Ez!){huj~B&UAtboY+&7$ zde24%PQapAFoVuj~0 z7#JhGx|&YIUUpJ`OJhO4^v)>GG-fwYHH7ZT&(d5 zjEL-XcC_*FwI|efy1EcHDeV*Ne7dl;vFW$=^4+_4AO5Pt2jU=(Kh{9cHYLHTR*DoY zLyE-R(=*CAo2{*-Z+CazGGe#nM;jkEKB3rx@q7Ez&%_wlg6P@S<+70@M-FJOcwsE8 zli9e^nKukpp`oxtLjQ9$@O^#)aQ0o2nG&Y;=<7afMwp`ELnw`+3mx|1u)wD!wD(C% z+q3VAp>Lfs7X3CoMWq0LcVr5w3RUYW@91c(D=q!Q&+n&F3z@Xkr2mso)Q*avl%;F% zFN)bd6lBx+F& z;kwef<9?p8J!*7AP;tMr2 z90^cHpqz)VZ)Rg-;e$)t@sb|;S1^bYXp}BN^H7YYOKhxGd-!l(-r>VtUa-x)x-K3* zeE6b4!ewOW9WpWw9^_I|hN^C$c5kSLriiqdtVM}L7OOp+cNoV!WE`~Mw$q|!{%@b? ze561~^r~p4H#HF*qPlpZ($wmdU34jiyx%YsF-HZ##p5q4YH&PNQ}&0Ey;HX3i;;UEaJ zsx3YBChXa&Dy2WBb^gj9LFtb?Aw{wkeQz~ojfElp3=Xe2qPn+Yd8~r~$<7ke14~O# zx@Yv*!kBzDy-}V?ih++N*tl7qT$Yx0=#YWs)Ov}MbJs()n(<~DC&|CVq(!k-R?$0` zRPl1ia$R~!D-2qbE#!|ZYIJ4`TdJhQV5hv-ijo{SAYu`FK{M0UU1z+n=P5?{04l`X zYW(;%|CYDDhAeC;c>q>*T-$MOj)veTw;XK zbN77QrkReeYuIAVaef1Zu4^4>^$Gg!hgTZRJwPTKY6jJ0yDA_cU{GjiOU*gV+%KOy z2j4m5!fyVG8H*P$e(SBbj@PP!SJE`}Y36Bzo0k{cT=P|%R9brSLUX4Vyj_0}m!Nkn z?PwDnWF5)k<9lB!iKe04H5ZC#=X0N!R1vtGO8Uv*m^f7aOJnAW74u>RzDOtaa4Xgg zc`bT%sl(6{Bb=EVm|z!F{L&SKwhLy?VYYtO0Q=3=PTBqohRfDlO0~P^!Gjl-!IVLH z$z+3=+dluh_X4jb|CxDd^4bjQa*GsbYbxVutJ1}`_yz}+6f3IEb@{;s6zRZJV^k_@ zCC`y1rJDAxDC1);qgqr9`QriJAnvw@sg1qjVkd#~xbX?FcMA*C(lXMz z$n;I`C;bc!bGX_7kDkf=ZR}{`xS(Kwgy|axRmvN}VjJ_&GBX!UwS;&tGt z9|(=NU(bE;uS16t5_au+xuoE|A~ehgpG!x9mE-{FrI%p8HW<7;JqHGJTvJEIRj_?a zN;WKSzeXdQx&2D;JPQkV?=CFV#>R{fj+&mN>FuTo9GjRJA75L`B>5V)a2Xkg4so2j z4?JIv+&IYn6Xa^bm2F*=k-_YT3vIv1tsqa9^Ha+wlm46o%>K%+(dD1td*JPlVLp7( z;_N#%QKk6PGZ|CNl_|-|v*Dec=*M+cm8w)qgMV6DAlG^Mbmi#_jZLlAs4f?-pa81s zQk$*s(4fG;K|a0Z#I7=RL7D|UCi%9McHzm=gJhZ0G+)l4T559+9yMxI?CcD9{g=#$ z4h{|u^5z`W>QTXxmiNcPGfvkg>-{A)klPDI&&3!w(`A!i-0T6d$E@^Y!!UPuuB+21 zx3;!csx__-R#JxMPro*&ufSv=j$>MX`tC|y-Nh@-9mcL(Rp6~0LrQ0tyU<_A6Qqfc z8PM?=^~Q>Vf)y(gb(oP%4;bX_ZqRUKReR0azn|k6IE41^PfDe^dbU^>Q7GLzG7_%W zf``KBt$_`o`A?8AuJdEk7FvQZ85;@pca)^&R%JpH8n&{WTyU~)*$f( zkC;>!QCJvdTqG?hh>SF_+1Yw|_MSah+!SaKYVhyO#S#H;0Q6Ks%!ppze|~B)<34ie zo*DN5j+?b$c}BHX`zt6Xm#Vo<}B+~C{ zIe#*}HJ3H?UwEt~Z0f-+;tHbq+yB-*wThluZP?Ch2y>`Hdzt0|@L@=?_AHUa<{jR` z{!h+_Eb*cipu8S7JF(1*Ju)&W(I}18<{g%1FbB<7UQL`>mig~I{T(XHMS0-o8<+?A zYE*2yr``3hpTVqZ&z=YPUGJR|977tmly!HSqD6YJ(DkYMFqVf|`I_+n`!$KuuvyfV4IU?oWzk8;LxchuN}! zX~s%m#tO4e!kL>ZwAx?#dAtNa58QAYHzo|`zW@GvZg9dzQO^FOXTvLsxzDq4FDRa; zhk6k1TZidcMVSH~w0k0wtGj~LoVue+-P*;qb%h?T&d{9Gw%7Q!)p)9E{d~`9o8jYt zv!cl2zuIKRz>*RFi(EYhxPB(Tmzj6c+-+&;45LbtW@P-kK<{MoSDHIAW0<#b=@oM$ z9UUDb=SE|+cw59pUhF_~kIqBzSvrg!P^~PSrEr)E&Qf#abLS4TZ#{MDRIB~4xq|#m z22OIVTX<{kcgA)Y?5yr}-&pT>>ZwD=dC#mhAuB(B-O5UUN;^jfTUzQS>-!-*8C<;> z4Z#x4chRf|BM+=avBt;;<`m@R>+1{O?U_!eaj~&AH4%}Keg-`w*{bloisVamdTB?8 z!d8%VYR^DvC>*%D$WfkMh^tmOr<&{oYakBkSwi)>ft%4yQe$Exs%> zc)PpXcO)bxC3PA9?7W3ID4EjE$H%ArN0ccm*SNSR>1~q`@X*Nx!t&Eah}7wTYfB&X zfS{ltUq`0(Tf|mgzTxiP*vR-JfWn{o23FHI1_w-!q)O=>fW50wS~&n1msD1EU5NmM zM6L3AnF!6imqroa&djV?extxhbY$eNU9Gcbwb#8athHpbZ(N3joSTceTR$H^x2+Pc zv~(;*R^igiX8E+AF|9e6L*+F#&Iyx9wa$t8QZCmb(yC0ZvQnnvld*p^GwZB>Cmh z3-A^Jp2W{N8TL85A0cULjB_Q2|Cz5dZZxhm&Zo;74*Di$kiWlwjPWtLY@aRoE+Az_ z+<-?P-M!nO0%ES#Ec8i%(5KMQ-tBsu_TS(|X%Eew5!&OyBpV*9swMIDkdCj*ia?km zF@5#p=`$0FMlY|O(U{~uCMj*27>!NAPqI%m8Cs!$LCf|VN6M6n!8bh<1PSmB2YHalMEI*))cF(UsII4kdZPnXqDZWMc zr`01x9H$qc+z^FxApDtQLo^}L5fKrCZClR4dDV5J@f|FJ9XL^0*H-t{o4L8Uub;2K zEm4=9yk@{kf}5jCWz*Gm{pz*Wt28NXZ%<5tUKp;tehxy8iT?nr<}Z#SdZp-u+STOe zq|w3weKsj6Zba~b#6&EBeN>qa9e@Bg953R+e1~Jyj*-G0d-tqSVT?2`6~`H>2g}%1 zlgDH+-mr-tyATCFE)D?qEQtE+~G=ZCtwHt!`dIGF~QEWAynIukbrNnFUVS)nn!XTd_pV(>K1E=|mp47l)*C#?CgaUPXcAUIp}s)}cG0Tu zIa<|uR?0Du4JJqEe=0$HVNxTJdp4$41s&WXewBuG=uA+i`SdVD$T&NIhjLO@mq*Rwh6xE8wH1jhH<{itxBjmc%H`j*77P%z#ob74k-VtN~N;8-AYl(2UAkU!>^fz1@Sok zTFLA;QPJ07s~ucwRaNl&t&G>+sWrt-i~}5rM$={RP!txb{e}(e&vn*ZIQLm;@c|_y zrM(DC0~Zloq|*)2_Sx!IT-@5p+-Yr&8x!L1rQw>I;JMCtMBCCN*a@^2Ao2C>-0I5N zb`%#Q?65u|p}3gy_2q7U1efzAa1}aqpw{1gE7iP;;}95LR<>qM*2ZM*wUZB!rYV4^ zRP`Gj*Uor)2G65-{ajXwxP8Q+J1iRNj3u1dP#5MZDYdgL?qqNKB|-l}TqV2aN- z7m$Evz7s%rm`|3;%6W^UaIL{BQo#3f?hFcK=U^gRcsR*yktr07;PWe zIikQQk2Uw5vt&tWX-5YJ`hELSrXYILSEX0zWauDm@SpD6C-!Qp5v|G*jid2WIXkP+ zG_|!l9mlCuA?Xmaw4tijQY>eD{F{M;d)Zle6NFzZud33!P<8kBEG@0=Qo2%5L%6H* zZmr337zVhm)ICRK7wmf(06whC?-~xL@3hc-(txy|#=iFA=|;FW(Ub+X?I2%lv58ch z;As@klP`Ora?dkc$I{{wUA8^U#RePP_N7ecnNwc<HgYP!7St@Ocz|9kxIPA@4A3NmbQ;yBd%`YG<`FkYfke0pg-?DVom zWNH-pMJgcm%E?KEE4!-7r*|*i-~i~qVIyXZ2n+HYG<4ST82of?9dnHh3W~wc{QS(k zBU_ykx_t~tdzxIxp_peSZg%bvY}m2g-jw$ z=LoVAUxY&6%n#yvNek0O#?EG0SAJ`2eowEBVu}$#NJ}J9ENfGtb~aYCegDkzuM*T=?2-~ICLb~*kQ#nmBjQr_<8 z*W8R*(d+Wc&dy-z3B4>%m(|chvB%lA6%|22I#qN~#rw@&21Uc4 zA#qdZY>dHKTJJM&_^wC@(hiM{kMQl)KR7s67nINm1%%!fR;I|$M+d3R2=3?z&PWw% z*jxjc-;=$i@br(0pSLClQNFCcDvEj4N>fnK?C$Qt85D;Opr?IUN4vwKtK^uX1dbAU z5;Tm-=fKAtHvEF1xT^1eX=u2Lz`Uys4euc=;@t*{PO|B!Yiw#NYxHTUk~*tz{bKOK zejTiHJClO2Q98)l;^O)$Z({xG56(NTvC~#Y>%6IO+yDI4Wf9|OY9Fce`KMvfyPkQ7 zDa%g`BsmW>X!#LYpxb04lVu|f4}W7HVA_0hzsV+oGdJ9LDE%2mWhad3{OFGHUEv(M zJJeazMH^N8AoPBiTqrck8ivyRM&_;aX(;Hm6YTw6uwDGJ9j1}dF2PkVE0Ba zqI4A)R8t(x5ennQ0F+T`b-Duw8XI*wPaOh))yxq_Wt?YVD=YQZv|bg2B_NY!>3xso zA@SRnPdcQ+xJWW%=Zt8?;RgxEhp>%Fz~Y0>i*xZz=1SDv4vAJ7gy?$7io+`qc+UjD z_7-B~4>GXxgi>jsjXQB7Gqb&Y)F^j~YKr04@s=uIJaJ_}%BTVEhhRT#!fMFDJZl z2uBcql8$#S|aTUu{)Z2k2r=Fyif{@m$0O4rsdQ}miP7Qr~L)1}JtX;j>7 zw}K2hS}CsmvQ^#r+x6DQs)A$3q#>A4#|{aMHH>I(hQ%Rw=mp`o>OA}!RuhkYSkJhP zh>tJ2DD52(9MT&?**8S1?!3|593QU@f{`hWNSqbH)(aG8f{xy`QfwMv>wmsn(QxIv zb5)2WZKz=W#!g4AlCf#IjBZs?rEv!d9;(~F!4Ua-yB{F~jGazbcqp$yh#iI>gO_MF zCr>X!z%Z95_APUrKz+hSr%MAL_r`9Y5SL>mCr(&|ar1p55apyJN4~W`%D7p1>E7^g z9aMP?|1g8l_^DJnzrTbvlwf(ngA^;) zn(eX5J8>H_7sg~|6%-hx5BC@FRCo=9#Kd5?7%sbgwGJ~jWM(E&Nu@FdTcs8orf)B6){OAEeXYfvxvu=}HX@uQT~HbtRnW?4{BYK* zj{0YcVc*o%cnyN-;M>xow!)stq1R8Bm;WAyD1xbp9GO2|cFuh%a9P$~T-@O7<74}6 zu~ysLi$j1QBowlG%VLax%b%AIa~Y$1(`bmvb|93ct@+pi1t!TZ%BDY~MoPyTr^Dei(>PTwXjpS! z1pMf)M{=PzITM0OPO zGOJKv>E6n{NXP9tv~M?6l8)cKI2pSaCrfv?we8j!XBeZ+_b&EOYo=LDE&cFWiSWj> z9z}jmuM;P*G{5b``X6sAiqBr{^1wVd*rlubqZ6H{pVDV#j4*hq`h|@eRgYQF%SWWH zkVosz-$*=ddSzs|)zoM+L<(eZ|KRH0$!ST2@N`*}QSwnJyM8$JUXjAyrWxK(KKewG zx4)J)2JNs)io~3Fvv*l#nX4M+Jo11UjsnZ`xOH1p+wZjNgC=_meot=%%oq{1| z^0z(+uW5#6`7R1nAjZUUe0ifUtw~A1{jzUXXjc23n9F(vyekq#xV%Y5p)LGPythBW;fftH2M%~en>JU>^*899l-{9nKnznQCkG*&#?TpSOjHZyeZ6I1~``x=8V(U_5vTbegiwBC6QX*wF zpX}5Lh82C=IJ;tk?%Y{bRriMI!&bi7)ZE-?jbUYK6s*l-20sK%H5N9sjl}FRBb2#= z*-;lOmELJ9^z!nO)t4Zw43l4`{$^Wap`iar`zULxI{?~$a++_HF-cZjS68_w#yE{G z`IeGePfzTS*l3)Ga2sf8?3m;?P}(6h4!b7#?UOW?caKkx0is{W^}4z`Oh~m%``1`u zDK2(L$foB2kItsw6)HPrYh+|yU2IC~W63%XgJ(y_AI%S{l;-Ghk3K=;*b%Z(5r+JS zRbksZx8P_TfL)|KY=_vi^uWe;942wQ>9<>dw24?30Mihq z-{{EJyPR*>JcPbII#lbW42@1hb0#=DNIT<359Zo0!hdt(i{{EwsHTgz$usY&K2Zd% zdF+d3s{t72k$(OL7Yg5eN@DvTP@uow>}tQ!+Sb|G(Is;V@LM?v##QspKn}mrVWP49Ky+& zV_V_3D=ih8wx`tv3Dp6f=doj2PbZi+e&eR;;^Knr%F*GjY2)H{YrBp?Q9Q>48@9k1 z#kp8Fb#+`um&b~lpI!53a60K_CptLJS6o$~Qz-13%dTM?kCjbZa&l#5Fm^7={3e?P3b?uXf!Z-5U{46>f8Lx<5jnmP-aQJyg5e4JEz zM<3UlwM@^P40}@40{u&Y7f02@d;GWNdiKazR$jhlO=sttHRa`qiG!2*;qyH?=6ei! zAljUIpx7EQz$xFqKP|1Jf_!_t%HdwFPfKg-w1q};_X*HT_G1g^!yIBwXyzud_mCgd znWh$qy}!~N8L9jlMQVdye zp#+k%dDbq%c(li(hk6f2dc^sBqi7F-1?&={2(Pp`7dDotZ!U3+Y-vbF8{4>i@5 zEiFoNcmFB1wv8s0&Q{YVfo9)OuC_~$2ZN*}DTxd@y*w$Ygu#8UqzO|}mZn2zCneR^ zram(Bk=Y$;#3IngPtSIA=o!=4L9!~Mw{1B|XQhbX zAxmEO%x=tk&SJnF>N9KP03V-Tec>xZwR=jhe+HN6S9P`0kqHTlsa-F61^{5=)HE0Q5s4tHCBxlZ#Q2hZNU zT+}L+qbNgU`S?2b3WZHLAbKQLTS9v)j~%PN#SNa4ks&#Yy`G;jO2l^8@$2&B40lt@ zZPm6$PG;PyQENQQ%THHgLNh6VZGnctNZ`_PzFd$ld%%{b9Xg~{rx{4<^74dq!S*u6 z%JETCyLM@{VoqseWF#MEi|m43LwmJlv9YH=EQm5@ngB|&X$a0XhwFflFPs$ww+hz0 zqAT{z+UF)$l)Jk_afv(e7Xp$MYO_%~Bsqi5n)oO4q}7sjYcX(CR*HvqI99GmXsP}D z_^s=g&wYCI=+R}%mW6=s8d%ae-NU#}`HzDEJ{V5huh!`ylguuT+r>}Y5@^XcS}#fN zBl>yB(s0n}I^$ZuKU-E-aVR5m)ymZyY1{ar@1mIZl;3xse7#=J|4+~lg^i6hsY-ZY z()P6FXJ^;{O3-a32pRuSfbkQR4Sij!8sJ0g1K06umP*GWydy4xZ-e2A(E&*myd$68g zex6Oc#27^$Kvzpf4l?1M|Pw>+Ql(k4hy7lgX@)i*Q*4!B+Y zc5`ZKdLpT5HfovxM>d6|s=26YA3pT}4H31I>`R%{&YQ`|1=ZCnR>eW^`bN*t)j81wY^qhF^k%nbGgtSz7r?EK zw;s6IOU}D-Rqd*ci~O4@QI>}T>J3}hB<-)QtX)KJyp^OK5?y~kq9w!kOIMd{Y4#Jn zM!hynxxO>E4t<(#(CNl%lBY}n^ynsOVl_IQ!O(fK%dj8l^r4QfYe!#2CnC>a>_TOyuecEg|@KoVvEQ3yZy|C{x}2 z1CGkp9(6iWD!Qw7m^DS_CW2^;R({p=8Su-Jl9D_X{V_C1G00(Gw}ND{!1IG>0*XkB z;^s!q@N)?(m*MG7-CPJ(JgunMsLyoI^%qg1waiw9CyopB7M1M9j!)S){v%xpQuamVes$Kb703&NhHl|cU7fOnYd(K2c_i5C*`ics3 zadB6JXOUC?1d)S%TdR@u*&!%zXuxhbUvA@MnnWHg(djH=STu)6%eHQH>U6@N{^1e2 z`h5ujdOJkqK(@j~VL}M%+uN}bE}SSi+wLW6pNvwX3JaCfb8*Jx7v{bGdRv>Yuu$gM z4$b7lXaUf&5I3(P0}u>!yY+E|`(0CsS}eq}Qi*-4 zq|iYin00#KflTK7aQUf0RVEIYT6Q-}1Sh+pdG!LnOeh40I#=>L#Lxj} zUoVPq(0PR@P|?|$oO}jVR5!p{a2Qx;*CKZcd-ucpn&1afs+1`}J16T@u~Ctd>};5T zW=mxwqE+{Kj?BO{^Ho<`LGxPlArM3eg;y@1AzizH?BRUDyu||PzbFhE3oK)7knn61 zJ9Z3AR92?lfun9&PGx0w-4DP|d(xIItFFt2##A`GChW2h{~ZQ{{lbavE<%#<><0F% zDn!d9t5(6Hd)0GyGq&J)siB>WIp!KkDItXGIBQIpeAnuO6~vW+PJ`m2r9c)X4{3O? z%zScrL5j5n&_fI}{ov{#)g!s~9tAS9(J&&+%FUHdn2DqCuE&aAe!02%<(FN#xuUaG zp2a}@s2Ay!%Iw&dF)-C2iMeTrQ0Uf*M|*x%S7a zvO8ad7Zva?2<7k3Fk&Kfw{}J z^~Kb-w459Wu8Q=fBMA22)coV5`K&)HsLQn_vKt7%GL;95s6-5Utw3Iubi0H zepK-na4YGTAN^o1Dc^71AYR5$aVArCHrZ*~TRz*;x#ydP_d&dY^t0gK$8FBURL!_} zsT4Obm)J)`wr*v3%*m6WNR%iplVnIcsm?lVo7>wZexPqoHM4N}5=KW}aMvO%>v?lB zQXs>ayI?_1f#xa{B*N1k^01HuFRWUbx8#B4+0-AQQ$#+030Yl`GqM+=Yu@ydM}ECl zAGW>qQjj2|-)J-rSbF;%HXFlTjJ!`JFoIMyiX+6AIyb+;`ue$#c@}K5@x?*`IRd0o z&ukHkfHCc^xVX6f!^aMObM#PWODmDLe{&n&g>=J-qHn|F&`8wjm!17x-A9@3l>tC; zfg(0H>lqlP*MZ?##s}k*T}>m9H*o9Lsu$_k3yX{Ofu9_d3f^v{W2&P5Xf$qyb&q(_g2Qo71r?(MtHk zgfeLm45n*9yn0Ym7T$ay(^*c|En7w4(Z=YVc5Ro^C(FHqKq3ft&ieT%03T0qlJlUn02sAlG*V(Cv zvdw}lcN_JGsJqgqOjZ^Yj8<8VGDvf95 zAm_T=lYt1|ohJ&wZVMkr0q~5V2q7+xnwqX?wRR5{#O|7$2U_owgnh!%xeuUy{)8mS zmt~<%#{=@=w%T9_D$0g@s+M)R7%Uk$doVVfvYo;cj~hnnUPjiege1TP?q5XiCE{dP zAZH~^-b@R290+dAQ!2Bd0{dWS+MxN)rXt9_BGbNhiwQrc+|#?#E-(NRV3w+G<(|M55@@vH{L)rh+v$ZSzskY zCC!iUvBeU79`${K*=WmJ_e!_UpWQgGHGzS~8EAo=K;nB}U!&*v+qP_Z?eQ^62_p^; za`3@rS8Ji2{{*MRy((V><_r45_Ji01@tk(-)#8_5dAZEG1=Nx!E9W?`xwP37> zEQf8|wr_`Ut?>SFqMpxdYrooSx1YDwe11v~!Z=JIjK&^ngLZN<6e*3TPFs>dOzVv4 z=Rpf^s~3iHlmS~m=j)Ty&+$||Qbr3Wam~ZCP;>jYI~$yKW5-8Wt?!uXU@jiGDxY}y zof-zCmB;*>nsmCfI(@v!bpC8t&I2H%ld0nnB7xqDjaSA{CJ8Ym-vYi73w7Q#-sn0L zHOCJ1k^)3QOSMP>x?BmD`E0l zd_-4p!v=XX*p;3(5-E_frm(Q4^ZQRLP96dG^Nly&xaXdG5`26E5VQR23-dk}*dCJ; zER?)i~lD6PzLUGn7;d}rs4au(hTVTmSkxBTdM2#I0DEk`e_bFh&C1YyB|O{ zf0BqM65s%#kiz+I8<0d2pL*%(j$XhbOfG{z-6T&{4o44NS&1fxbbk&~ z4|Jr}blhT0A%yb7Gf11*p3gx|v_Md?ewI6rd?deXbvTOq^j0KKP zA64aD+y#^KXchHJJBJW6P*#l6w6f+M+duuJW_wy%U7b34(srdOT zE57;)(>L*eUS>|8G9!fonbXt+;pVqTPXf6W$mD!@qLY|Ih7KUxW+LBHS5@WZwYKKv zRaI%Vo!@Q)I)y_hu&eDoa93U`XC%VzvwDaoTFcOxbZGZFnUa@fQfF>haxO|13S~N- z!x5w!b+<>6AUsnzu&1U*D=jR{(TUDOG<)OAOFVkDxZc{=M$k)8Fq)5h`!ffcQ{D#dZ3}sKsj`o z-38IDu_(1b(y|*q=(-OWPCA?pI5r{9O+0uP;a$_|DcZX{ObO+^ny^c*+%%0+XoP0_ zw+CGN(bg`WV%p3_0!ec6{T_KXuOJP)Yn+#7B}7yIjvVtzK<34Z_TI}^sQ!L|AMs5c zFK^m`y>^c+K&|#bWdZ8r*Sz`rO!qT>JGOz@=TUF>hq~wG8}N61Rw|A2?uPtc!gY&j zd96Oxx>=qtudpsswzYoO^krSc@^W43^hrr^piIEqT}0Ndq@FUTPs_;?0&u|ZAzd zi{E)qCiT8w>Yt*YdrlwRAt_P&ke=)=Nq7holDj$&7+RZKb8;FR)3bADPZ`_s!xvk- z_I=y3}FkyiZs)Zj`=(@uch9B$|X2gkom;#s&vBy>yK>ORyrrm1Q9a+7KKa>7=- z4cZM$7)%hdgl~_2n~6FY*{f8m6=& z0ua`SE?Ud{RLJJ>FiPM(6ioRpi8um%4hxYbr$OZ(?w>-m+7xZ``EhA!<1U&$#@ zLapWf{sTR+CAy(=tUKa}n^+GFF}R}b=N~^GxYX0$0^|hNTGM_Zu1KUm<83w_c1&ZB ztwkh)`G8b8N;_s8O<%oms=K>Osa(EHCWFH!L0Z1V1e6HWFuy)Kn~^{(At1}nhWMm- z`GX6n?8U!Y`(yzIxkn7nFZqIj09Wr+kEg}Ypf;dAf}Wm5Mfa~*mr1=G)L6F-!bNZ< zEEXo7La;SEyP#mPF31Y?pV>SqI2qfZI>r!mxjczPFDog5-O;T4M}M_t%g#0sWLtK? zUGEmc<}6uFiqQK#QBYq}!nBWHQc~}!o6tMF^mInUIJ{uRvrpfbB5nS@`Rgz0p!T%o zwU>aG5?mBGmX9pShg;*lQf}v($Z7pn7u0N|VBpK@oAN{zj8dGZRku?LgVogMJg3xx3O){u5RJfw5+zQv?;=$zUM4@yz5~&@pW~3E#QiQ zFA4={ovs@@1yD6jP7XM*=1b>KTScNyY8LjL^f@%t5v}L?%q)#ogjSaFG*GZ$!rDY- zN+eB9^`C+h+tNcR;d&rrQBFpN#j?{QF6O;?L@$7KA(ea28t|yg!q%>RVRddC zclElpYs+xk|G9f|sV_L+h5}MYru#+C_lhTd&yaM{kn~b6&0_g~_F(y*w+C~xPv00; zH5W2u$NK-74U@2Tu(@<}H6_Yr@I62e7eR;557^w6va~I`Athj=Xd`85?ra*Q zJUHBX5&9Idb!$=4(6w-*I3kp}OkuumSzH%Ogp{jNnf3xjPTssFP}!KN4>#w`)40qBcDFSCtG4w_Kq!t~&+aYSSl8Y=a%##1-DqX_MHbUk zqufy4=tRwHuO+AE7fe(U4H&&>>-#`AiQ)%n_VR1K3>3&6ytzE1sJ%gxwYFjFQgCjY z8>z@rIB%*+sJMrjZ&k&R5xUcI`yx-pabd!VTP<4@ad{Xrsqz*Z8b;$QWg(a44XaR9*# zW0jtscwp*zUx?$l;e@NAj~P1Azi`vL4uS}V{=XY-%zIauM@kPPW&AWhQw%-#LC;WKy74Qb)vE>B>4INr{G z;yyPTD~I%cC?p5@^e)pqdPrI~Bpv6IreH|wI~tD;9gT;FjK+`?(H9~)NcODLH@S7_ zNmoFd+XuD^d|CtE`;hegL(+NI(o`w6(dWGNN-=Oe{uU!Q`&wB{{)L`2x2D$)u4#5% za^-vAcn~Vsr%s=?aHqYe-&?tH2m}Q2oaOpb3R-GDBLUM5pY)6&=|_g7eMgRJ;^vWs z8wv)9?7aH6olU*&(^k&nh<)ap^3@LXefICB$eBFad$_W6jAJ$Gh_*yefw1N7l}igUr+^1J|BmFyi{0{=OYL=F#xYj7f@*P2 zj;#&RxgfJ}KNwVJP6FQmXU|tB^b;ZOy<`_FBL#sW5~(!oDj1frS$WIgo%yb*$xd({ zP`Eb0_%(P}XLWR!EMd?i!#LC~eI>W(uDkQ zNXBBkCWw0vd-x!apk97%$^#xeJnrr^WuPDzu0jHifdTfTX)h@I_A{^M3U!@PMYux|)G1eQ{RW|1+rBZ$7Mg|08h8@_3Ey`ccBlA5YpvNptSVn>sQ< zE2ACx3&u*Wnhv!dIenQPu(xjd%U{4<;rujaqYly1d?2eBj&}_L&BKK5fk}!GAhz4^ z;*0BumEU^mAw4)l(TG%V&BuCBZep-g60Vt|8_i)K1fNN`PJU2OFeiaJ_GPszVP0Wj z)%%|#I*DAK5KW&vj$t@yrejCSySf}xFpX0jRaN`pZaQ#3Cr2P0CduZ;7I4I-Ym*{{ zI(dkxar0(9l*vS*;-_K6f&fV*B#$E10~-X(wf*zgZUL(zdhps znM$?5=a#57XRCwu|*D5b*l{Tv5t=H^oc0GAxcPf+=QeE@Kcl$b4-Jh-$Z_b4u z{s5Vbch;gvc`B27g}+*1_vlp+JM;uW+=NuC|CrQA(XG|1Q?)Pt*Ka^8K3-TnBN0#m z8GdQDdzpv%{%rW`L?a!uwBw82ruOe3pg-);r@{0>QvVUi_$H$Ta#TR21twyP^RsiZ zCTa*UWQ|LZhftTT{IC$W*SCKv+9Y4Mj?p$;lB2kaQgynO3sho} z(=Yr=i=NtCHez$d%HRHah3#x?{$?S>+mARw-m@mr%{)!ELNhH_IgwCuclH z%=5|T_p)CX-8l~|v?ymI;l#iCamR@cjESLFpQupy(_7vIBfOzknlN^9#>^R$lB3V} zWM%23{{1%7NuxtLAmAXE$lOL+9Z+;E>ait2Gk=AS+KYETHxxaJ=FgN-XNf29&kXvJ zQfX*VZEa1>C*Pi+#v|i6SATPD)3%*PGjYCi&PEABIZcWgq}6$Ol{>%RV`={kOLSc* zURao(K3b7IHr{CfFH0Xy{M5Yuk4pH+5pD8?XpbN0G?X$To%r0FEU}TWPXOhy0;hp= z7&IGIu8$JMidg^V;qdN|nu|)FC>k$F80X>K6V9T>3DaxMgy|U>?d@$~9~%rgi_x>J zK#qSAfpFUyju?iKA}J;a5>CyEhM6ypy}eG1hT1lxng-7l-eA+w7ex6`h2rz zmM4<-6)c<;XU}?Yi+R)62fnY`Qd5{^&iUOYyMBa1;vb*i<`0X$m}~@uHjNiK6P<&WH#q?&of4g1|A^fAQANe*hO#> zHn-{n8XGe*Bq5=2TAmvl=44m88Z8MeD%!l6wwxJ=kkYg!MSfKus&tr?uhD)`{Ss}& zIq?_I920(M)b{Owyg9mtLQ|e91V!&Ya>@h{x?>Sagh~Na={}Em@nMmuma?6{NcB;? zo?6k$7k<6QQ$`NT5ZVrZP($_h8ygYIi{WC2erdeou-AOrO(~~9WH(lCeeOep4iVl;d3P^to^9^SYjH3c^qT#=k^%Az7f4!T+752XnE z&QPiLFws9AL}`Mal9H!ZFM}3VIqZ_i=atxHxp(Ga@kBWrwt%De#(Nc;D!&Kd9X-%~ z-g%)%KUyYoUO3x*=+IeOH8nkJ+Srlm@Jr^LIpgJ5PG52bgh%+G{|1vN}C$LJT9vJ41!LbPM5^-NM@srF)JE( z91y5`a+g27`stoJOweE+M}B3+wVB=X}0 zNsT{kCob%A*>;eVG^)8qs5NwmBpuG_klj60Tm&EZP(L=1xFTv-S%g+jDRdLW7KhVn zat8NX9F~3DzOWwe^R~a01r3t>$8Y@ae^yq$|Ni?}ezv-n$gI>8^m(lL%8z#*JORXQ ze6o}Hv?-jQHZl@I#61SRq@$zLn7aTPEm>Om(sV(Gjmo5c;3>pJXh8Mhp5s9-)aA3`glepS3A-lTlSt%l0YaM4{PcZq?;ByCn9s(PkCF*(G z!{Ukhn}HsWH)Y)#P4`iVevExWu@YmHqECV^I0+()P~!jv+2PKCc7Q^sE48rj-YbsF zR);GDGNPCW`n+c~5J}{ioai_lhGUYlbDUV8z3?p;1jrOO)SG(H&HaZ83ewXH3o5Ic znkp;xV?;rTTA{-kK8^H1kod_cW$T+!oC08;LrB6kw2VtD>@cQ?H|*Zm@K z*oe<^7+d^SpSH#B1iKKnSX;JSJ-W|AP(gMFK5a2{4-ACIL|@y1&4W9zJX&(q(-NYs zHL{^ik)3*qg``iK4xeHmiHb!1#Y-}^3ZOp+I`ljb~JPSGkA?`>0-))r3 z8~-%RJ$t}0@C{{TcM9TJPt~c_R(AFZGcz-%OwL^V;G>Ve_uhNo_D*{A(MRu<_kR7- zOD}D1)kC8L$2$6bYmARQ*+P9zJuY%8`^-1us&9-{-)Ec$GWI>+lhju~%s1!%G{v3c z3@3yqRB}<-hEInMdEP%Hoj4>NIV3&w`Ox}sICvrgu=NXuq_5>?$H$jrW%Zc>xlhV> ze0-nXKKDcAQ>HK8G}Y&s@67o=8y+KKd*s_P-<&r~aojp~+!Qw7aU7af4S6melAbyw zoirpp^!d>8rw_?5ACkV7pY1gl&ylQs4(DW_XnjUC+9&1v%y%|?@!epb_k45y^3>yG zC(3}>70d@}ebRjyi4c`09_<4<-*@yIV1VBw7f25d!wQfQAH7EGz($uGhuyVnNQ0$C z>P0u?6p$K2jyh0*cFE%j|Qr>5hjl`6kXYQh_q@L-ROm1C=OezzFx4mQ+I3N!giz~A z;)}byuSbjs4+#m8L`=+|#|nxO$q{Cv%;(S2r|%mvOv5;yDpfidqmhLX4))oU?<(<) zDZxGShO--8v!#XmK+b?q%6C8h_gcZ$#_h&zirbfN)WX}jPq4{}x;r51y+bF10-mhx z3={~?w0#QH@l)koLCa04^_u}~3;_1V#5{YJGqtzD*Nnv6whc9I(=9+t7U&|-l8Ek9 zd)@!Mb^!0KYTtss#~!SI_0?DF5B9=Fq<4f9XqIzC3efiy=cP;i)YUR|!#Bqq1H67m zzrzkK%$v67e+JDlfaY7Zl%4PYm*MFp&$&!sj=T1>x}1&W#HMUMDTPl;3!jI3IWdm8%U-22xM`?KojL{Bk`njdE zjh}-n25ep|32?jD6SWDUfTn|j1%e=9P;9KnqVg`(M?I6p3*-d`J##yrGNn_eUb=L< zo-w0|MH%aZkC>hd<33(|eDTNB#66TiM7>9e@?OE9xL=`4nLTt8nv&_h!*5hhPE8Fc z)xg8`_4)a4Jh-9~_MHRw57ZO)2U)!Lcn|VH)PX<4`~C0n*F((^jS~94`|kM_*uvtK zE1R2x#w@%qDJdvu^k|srY@q(gyZ7EK_#6C-|GlGKvu3&U{@td7An}O#ujtazSAYB4 zS9{+7J$PC(Gcx8Sy2~gxi70M{#IZ$rrMH+C% zMtS-`G}1UW_zB7C|QHK z0a6ry69sEtRECWhhSZcb&H{}jWObVo^K~}Th2fP zq2&aU$@hX9T}cp&x2WpyrTJ}bpZ#+)cp;Vh?cwT_wq57+AOyn#MA4HLJ_)_G&{g+k zO^gq)eg}l)tu5wD9=&cdkK=?RXTnlzVNUA&#rQuX*46rHmCJp`^a(K$`KGnO&~@Nb zytdnDIqRsXJggrFep$FUP%Ne#&H;y$#J>!YtXc&!G+k=%z^)CrNDj8{B#is54w~bI zGkQf^a@J;L)z`0H{Z;*5NEXd`P&ZGb%XoRTXABrwPcDL?-hX%2v}|Hk5MXKjdj)Mf z*7^b9@PoGQs{;A!ec#l?@fOJLA=FIC z%M*mEQi@)jO})h6f~Cso0s~l)wI)I4^Xp#xuV)u6Sqz1ld84Td2O8lnd%r-BK*&-_ zbv1Z3CuXk7DZvIa-SP7-lpd1);zH=@%Z03!jyu5FbK0NlC$z~ZL19Jt_U+KX6Iivc zydn~D@`mT}Y-&cvJ;je;jHV^HdVYX_<uz-1K&P(KPZb19rM!OPvl=de1azO%CUChfyI{Pp2;~ikt?eyMO>LJHbI{aj zlqP+8*7Q*h0|X4+p3yBp{Tj)bJ0N9Uka)pR^ZNQfY=~`w`zo5u3}diHl8JH?pgeaED9fH!km{Wq5kbM;YZF zZUxy%N=M(gyn#SzR8*8SaKL`%)TvWv?0W4@+Njm4BmM0sx{h|8u=_`z9DO9p??L8L9esnJh#gl#t-J?jYenfUL4|$0=db zBCPRzt?<;2O0c!3P>ZNPduoaB-YJSIyEoNno4|Z^KjHVfL`J>H>=T50QW_Yh#u^!u zoV6Nci+{Sdwe`c7vJvTFHR}^8V0*_gN>W?ft%nn{5Sn(=5fko%8fWOLqO|zn%jRaR z`-*CtzsyrF!wqywh}WrwsZ-`+dFE(@$3BKD1ed)5-TA7gsl&Pt3;*-(b7$6<#|n-E${>Ke(hjf7TPiATeq1d|w4B#ijF2O67}?pm za^=6OcA|k@OP3;~1{_B&CC-rGkCxc?jY!oL72Q>sF(Cy+n%dFXxZ!2%u>*C8S-^x} z2>APVU03-+gcL~tM>Tyi24hsTJi>)`gs4_N2La9k(V12(KP()Ntn&YQzaV%Jot2da zq1#%-na~Sl)t!(-du;q~uw#JLdYd~&sBFlN;pcKW7=w&3KliP73M$P}p@gh5L3?`9I#Qcw?yS9o% z?kjWkzXvNDA)Dq|(IfLb=%KJpBz3Np%>*6y{SdkyP(5K%|khw6fsTc%j4GL59yPT2J+{ zE1%fTX`DC=r4Uy@A%W*S_j8XV^ql!S9M*e!4BeJJxGC8Qrg!=yIAZh7A1?*)8VYv*dWcY3ewXR3VnHCvdaRWLNbkp z&Bgd3QmLZs$B%T2f@~H83}5zHtzoc#P)af~X2hxERC=CMxIR?iREG<1SJu_h#eQqCX?x^Of@o8Xh|%&J2S?4039;u zLyeHI8~RlcSPS?(L4ed`^mk7}(f7A~28}FQV^GDaw?Jg9rHsyR)-Zs+9akHHyH%%X@)p|7f(uX&v_9 zXq7(9>)o5~0EEjrQAyLv!-xG3_vGXRD-shEL+beO2 ziE|8S;zdXMxh@3kICG{_sUO44 zRv;b7=egZ3K85DfZtWzf6loP#fnou>lQ|%r?lcDb2VP%4@dP$n*55BP7+i+VnKQ?X zNpPJ#VTz3C@9o5l9qH?nLtLE{os%)x!MP9P*Mvo7eI*hghxHxkmEZlhP ztW1`a2t-*XqpZEXy{FGy0R9ktRuC!s`6ZD1 zOFF=e-g{j8Z!yEeHG8ntl3|*yy^VSP#jR!Lnw%vb-0YX4Va!|$lG@uvqMv_BWeS$-09(^c;f{(x+XXb<c9!4O%XWvO zf8dI>qociTU(Y3H9~|ik`RDX;>FQo6|FAzlHhDYqx*)R$~@?8`r_>qaF_S zvfTyDXQ_K_U{QiU)ql375{$;bAxIiN5*&l+53FqdaaTiaEkbHfOU(d(Sx~yYs|&Wl z9xO_V;qYgr0#seLJC|C4?^hJ+1v#zwW;WXj89V*%ym;gQKCwOB}KE>5dh zjnYG#n>*~ZWGr|oVjoDik74SRr{of}z8gJEy8RWH^h;OW|6i;9 zWAtk#+pqaKvon3SmaZe#xa=XD%Wz{L9ex{{$qvG$3%34nX78Dp9MjM2Jum;c-aKUY z8E(L&H`}M4M9cXF1#7|h$0B9?n*4$Z(s65dxO#`LmVp`u4y*!fwgPsu1z&ImV-gZ$ zzp#JT#L3~uzj^~&9)J1kW@xPHle|Hx_4tuPKV$pMgYfIgd-(pKAZMrN*qfH+s)yN4ymww5%7`>1CmReK42@|Tn><6_VAr%}^GF&b)Bjddv5d90@TaS1&l(LahdY|j-ePvDlnf7Q^s>yvFg-ffvNY+GO#_HJEs(PRlt^`B{}OkYsEY?qZ&4^Q#tnaPoCG1mKKg8DQ}ZseCEWA)^Q1BxschVhE29$cS-CXN))y2N zaow)KaE$YtY7lbEoGk6|w99)ZWVpvLO_3Tlv@;ollGWYqxpegn@_X;akb+Z!XIK4| zTCtIF6qV`D9P|{$)ZA2%fnc{C(qxWT&7K|{kDW+fDR@_2=eJ?&R>bZS)LBRvyshkx zLC%)YoZ_wZ-q@?2GL(r7aADWo0urO8yO*0iVvCbB?70_hvmR(2dhQ|k__ZS1&z(Ge z#uYQZa2BN}pRhGcgF`Q0zI-)E1}%w5L0>!DBDVG1?2?fv_t4hRtqBqF_%v}FjX#KI zBI?wV@M|A{%_(pk6J<3X?-$B-Gj($3@pg9QW#IiXFVsEM3w4KwIudb6aYMWvq%;>3 z0VD12hbs9zzudY_D^~bfq{}LnvUS8`2*m^)^=g^8z*XS#YMYqgrY1@pH#vK9oZEDm zeKQHIgODg@q|({F1E}VXZl`i&j6^R{Po8&oiCi%{S*=JIlWe}kkMuwl^M=)W@~0kw zYA#G>=BfleKb^GVjY$3_bMlx3g*th(LSAzByvbg0$c-R7ww%0zO$mm{7l3wcpot?i zc1{F9vdDmUP`sS_K@3RV)O5x}B%Hwsd%y-sFhc>JX)5C#K3s-qq)AC-yriVxl_uSA zjE~%Z|B-h`je3{+?`aLu|0?4hKVC*3KOPrX#=|%CI`Touy~O>$j$~lknvJr8z4!Do zUd`6BkpCg(K}zEll#~T>x09RTW&Fo)ZoAXUiJ+8D!t~B2*@fVgx*7^pTP&@iy zZcGTl!_MN(pE7h6fnu_}0!C05DN;_r{YOTZ_l1G{+>OjGuJI_bDc-NYhn8`7OjG=$<-TkaHTg0V9&!JXBlnMb_uWz4f3GoAA=FzaM>7+;nf!#3*NoN1YK2i@EKn3ELdhFP z?tga__hm-&KgHc)%Jt9~2W##eeI>Uz_sZxyYYql{@vkoe^idu%V@XodlKc1jO|SX# z*s(8bru*%`-)q0}=FM@}?_z{*iKCAim9hHSHLD^!1Ph;E^W?8)jv95W`ok~3{O-G& zw|AU5Q@l&7NVKsiJ2qsQ<8h%A>`#7u6yd8bLhGV#>oA#ly5l zmEWBipaqgiMa^~Z!b=NV{x#V^UEYd3n()b)IlXp2cl)O8v}IWZ%RLW-@&d3FJ|Efn z(h4vRhz{Z4U1a7XFMHQ}KK;lEk9p?}6Bo}r-+%ggDPT}@tJOKUIH~{X;=68LL_vKz zkcXiInnMRrNwXl9_=?)%w<3vhQG#-leC`u3@XD?qHx=3|ZfWUughKuiPAj@ihgS73nTfoyH8sGeVRzs(3t9}{)O2;(MJn)(N6S*|uJc_!uZr+0 zSJH{=OH!*v_G3^PJ7PA71X6W={xlVdrXY|x({wZQ^}?rz5SnMe|F!7Ir} z(z{J0@L(T|%?GT)*7l}arcH1sq4BgS)@dZ* zQbv_xOuA1aylPdGQA1Q5^j)QrP>OEj!DcAKTqC~C|S_#D9O(+alpTee=Yo+$ZPc>R#%3qp`zRK zkKNlCy|Mg`nwpOM61~7iiZgSO%$a8uHJbc9 zPs2Il4Jud&9%Dttwp!wDK4Yx#e2;O}Q%^mZLkt$14^whayS!U~GXnbr+zt=(?Ap$f z){@pjqI=gYQHP-ooR-m)P|sz9uE~C%pZFYJV?|{UDx7aF|j7^SpoxU~|~nn36tu0!Rr| z^rkop;hO(}ewlU%crLnmNOGBCA!{ro`wvpBi=4{IG z>myv1?$XRPd_f`~;BKu!p8o!av~0N~q} zqqdVyq0w~QJ`>35<8w3tonO}0ese+(wbP07@5)ptf}luyd~Z9ns?Oo+N}v5WXx_4s z_IMJJMRCC-L{tS>S?ui=g(+%lZFbifC{w4aHH~##6x8R?rqTfIyc~;Nk@BF&yR>4( zyi^e=zG(?zA|d4B9fw+5j~sy><;ng{8O5`yQa0+4|8MgYwhuSyC&D?ur1eWIn>|J= z*>_r6j6acJ3a2j!Wqg59=%QrGc)l;ETa4({n0!Cm!g9%QHa-M5zGM+it)dpr#&1W^cAWN>R{{lwmO~-@@#4}g8 z{b&Q-(6IZQ9vzLAHSAy%jj70Z^~72RFyY5WAqUB+IV zh+#Cb18eIt9*5^1i}|GSI9VV+A2*&fTi6x%G+Hp3mLc{)+Bg|~j)eGVJ8Gk8KpQd1 znAIfICGDD3m=f*9jlf1vuNDe zGnNZhi_2wqkrK=}6J16lN(pcpJ$=tc&CyzQOIO!PyUl5^SqB6HSruiAOU8Y1T3RDwF5)W`lE3hNPo?QYTv-0hSKW=PS=9R!?Ow>vVItlN zN=3Uf`3{-*tVN*Us4Dt;Jhuo6sReYO_n6;^Gp^4DylHfaP*{X@<~A#yNzwpR($t5$SS9V@ER*_=e5 zXi`>|P%IviG!-(M`g+I%x_4nw>vZrFHEj~6J$XWkb^-{s3EGr9VS{vMN+_&gBS^3V zUKxUd-{;o2{ReCV=ZSIe9A>lL!wcmpdEq?K(lTmknY{O$?c7P?hR$lc&_})g`hHtD zwv}+({?|Rw%R+_n6)VP)U?3G0hR(D*I628& zl&YAO32ubOg2#iXZHEWhG+-+^&`BmB! zjhM0@+l!6hz*(m!3k%=gees51!v8Pzi};W#Jg?`c2fqXCnDkNjTi&zHQ*|R~w z%$Yk@C^VT4{S=U#9B|QUGSy<2-*eK0ShA)D!1F;9AD|Fw0>@`#=LX84pD8W4Yx$~@ znm6D0$L6%;aEdQc`ghcBH=C*~-eCCCxmu+v}-{G9NIA2;(T$rEG`O}9L@9d`) za~6R$v>}_OYP_Iexb^Pc>f62cE@!xFJ?Z`K)Kq!aqL3r&5y- z96F*8{pr|&>E2a9ubF_BJ7kXe(bfGV07Mx{o_lzG_4z%*f zcFgBLLcO)#U$l<;vxv1{V(~-{4+DlN39IXO*DH8o95IXQ)%K3qFv2>nA3>PC5=0OW};b%pj(qHeQFN{e&S zx}{LI){EvXJh0at@apeA8$bHMHc#oJkk1dAbdt_Y_r3m|+!fWS4@uQ@H|Np~o`0VF zQ-;s)^QP4IO|Ae2o*u^gJjuFjUK&qBT|lU!_hCgk82|8jKOfSp`gcf7@o6JOH53tUT_-MLcVb5SB{_Kw(SNy4`=z*nF0ATS4X^z| zq>T#Cn>SFO3GozgOD&okVK&@-vf?EzEo)j@42HC1M7!FMR$L4dU>r*BbrengOK64xwi@e$gI&>bgBVRYb<--`m5N*OGChIL*4hp*R1=slv7hR)@^# z@^2k3Y{LRn>>alF3eKy9ckY{Ab36d=JdB2dF?o%~XfR~dK$Rg#2S9J{RyERt z8VyNkfyAT5;GI?CQD(UQ4euH{@b-0lg_$?yE1aPcrs}56&P*FE^{Bu@THbQd(&y2B zw^|)MH?J&Q9CX!5SPotsh+Ax=c#bj$Y>$uJkxVVG-1N{$$if8$;aSru+>JYxMAiRD<@3q%ey3|bI)ZRaH=jY{QeDU3$AHRbG z7Vn?>4q-l3Bg#Tx-@ECp^*O~^)Q8yd?4DMYpjF9UHUv(-Ads~t@EJ;=C_pnjCI!jf zqrjOKKquLIJh*Ym%kx+m@N!Vo9E2sE>z?A)p*0Ws|L%9C`VH$}#EzTip6(vw9_^m! zCZS93f+O~)5El6XT?P#`R{N~bw{~_;r{qZ_dUor+ns`P z#~^=?zV{w?TsOBJ0=?hSHq4Ya%*&kQqKmf*tvj(Lk<{vnrxf-aLU#ZnE3!mFpt%juFp7O~W_QrW`=h}ORxzRPZuaWY-^LXFq zuE|a+&6?hQ>C)9;p~NH71^(wli!Ig|eymX+R;-a^|o-7F=~;?2IAHp8d9_edc}!`xKw%GxzIrxclDkLc8Nye792mBX3ce)Q&Q^?G32UA#ZT+NUm|$ODT{B zOdfyl979SK1ydeO74!jrgXazCm#~Tg*Gl$j0sRQ|$Y2YI63MlE-sMB)Ebu4g(|kSp z>`zMNT6(i*z9V8^BV5jo)Zl!S^0kzfCKWUD#K^V-I298X{s;5Y;A~LW@=gX!=xJ+) zwLE8_WuONvvU~AK9q1Wof!rye9;o9@*6l6cCRpfA-UjcLDiw5gQlxq|K!K2}5Su#F zmrUd-*me_7Hkkug%kX7JcOhC^?heA(1`Yhvb=-AzV9CI0 ze3rPbx{eS0Qy+4z<2MM_s;1&#= zz}0H^1ige5i&V(JhNp3eCzmaWi-`nGWJ)Gfq& zWmyAl18rqX$X^_BPvLm^Y+%*E69e}R%pce{unph&xPAinK4S`JXFHaI(V^o_(i{X3 ztA{e)pZ>&rnfQTa%wPVo@yG6PKZmnV>yE+5{sqK|5tolONaZyiQ~tQH`Ud*0Ey~2D@uR%*=HZm9c_C1?YB=v!d>9s$j9%_ zQ78ZLl0HDCiVh9(cTvz$p78k0QGI^$QInis8{jI07aShQ7fHfJ0)bTZ@yDn9B9iY| zmX{zn^6@)g+T(M7^PAsfab9RXLyKl!4wVI7fP<4GhkH5>L9X_L^@pZwDfdQ`msMIM_ri_o`_w6VvE353}3&IvK{w}G~ zq!(6;BC)l*uDAq}@W6qA0e?{tf6UCWfoIyaN>oi`6b zctf2xBGmx_=1ox!Q;gD=uDoGs4CXlTxCe72knN2jaX8r@a9@<1+&gQ-C*7C))Y*5v zFq?Xl`Mf;tk=)0hgzMUzkzz<3g2Thzmd_DjV^eM0M>XJZpN-MxJ+{0s3#O3Ye~<5X z`kCtPn&;_@?O#^GL&YbD9l>L>b7v$*DJqo+C7b!hIB z&pp0mN^;v2jY3y8F|o=+n&~SH8op zyb!cl&!WLJInr2M*!wOyFt5K$m}u245Y_$smJlF5t_+ zkr)yo02;RUL&J6y+h?CA9yRt`JsFC(QXaf@HEQ9`5@H|`^UIHriQEzL%g+rW%R+dU z896z0xKgtK##0N`3ce#}&Wx0lwzl1nCN}SBYl8zvd4xY*0e6Y7chSkn_1p@IzHGBt z9Kvv#_6tG0dUo%81m%rai9`G;r_J6iR7OKE5v>$juAAR>bARrB&~a<~vh|W%t>0(A3PW8c3L}XkNu;Gf6qm$ApePcF z0Rl##v6=b)?>T2=P%(Gc19E20dwtIHKJW8BSGB>>bqVV3OI>z@nl@&$wOK6Z$qcON z8RWc0?Cl}+HdmqW3yJNqjwuxLO;GsHM9Sap?yqVp9a3o1$8}LKL2zrLxVai#s6Mo% z;r-IZv!+KH{Ov*$C=?3DZNw^^xqO9yg>baf%fSg1I9DvJ-aSRUW} zl-a+dQT=0IcwS?fA*H^|kc6Qi$u@bBUXnj9=}C4yz&v-RP*!|i+16+`Zs%7i<>S@Q zJy+EW4#0=l%w~(lYPDEWC_5uD*B&%MinD^h9+mv97zwVzP;hKOE{ClG>4}Ny8O_ed zPxhULq52}=k}&@@XjM^D(|ib2_mzsFWO7no(-~`|QF~L!4pJ_!sZpuuZz?$tVEj#z z`-+_-HP3_$5A=QkX^c`?*YH8H#Wq~Cx4C(*1t055VaMDew7v?h>(vV~v#mb{$5K2-pV(Sb%eJW1NNtcS*vveE@xWvg zJJV;Sr9>{jj`m-_nXRRpnR{D-dC1K+O^@A6*kauqhX4&qZ5C!{BmSM8l`Az^b-Ct6 zk!rc)N1OHHz(7%1UB~24xP|JSJJrjVr=^02G_4G0TA=>^)~!!H ziJ1CNZ_8TX1N^gH#%sSkq)YhKRuTVl(R+02x84uZ5!`$fobOAPU$0*A>8C5yyLPEp zl0V_%5ZSnZzmUVw|CcF2U@QqtNm#}iow_-h{7IPO_~~Aez0$%i|J3EnV=pho?kK%? zy3MrOWSf3(X@?)i@5iZA_4?HNPD$^0xBlYA`giY;p1MyQZ!*Rk_A}!QqwzhmvhFtD zdFP$?thr6~Z9_vt<0-87Qw>A@OS8n5JWmgv_Z0UdZvh(ee+v?xJ$c?k?|XwtchEEV zD4^qYD|y4Vt@~+d_U}7_l3l-7EDSHMrjQh23B9Mc++CLBr;r-*hBTGJTkbB&!#vP) z_m{d`W0q#i*Il5E%_tW34PIl?w`NV>g$s70dCeMg)>^QaYqRLB(SCu`Em~AxPa;<3 z<>djhM&PJ`oF6Kz)uWvvgqLAXuvKG>#xzKXvvB>F>fk?&#(y+G|K31v4yHiVk;Q2z zH1!kly4nywV#*uS+)aX1)e~x-_a6Mp4J=hXOM37}SLg5L0ZA$P8@I=d#-}ORUo(Ar z{<&`-oY!lq(HvKx+MFbTZP;adem+33CRd=x29)-vseF@CSDAl{YAAb#Mn;FxG>uMM zUS23EI_0KXRKn!DcJ10Qsr1;3dyrL*D^Mh6@oweQ<|PR&@=;4sX6%DYM*KmcUEKbY zC;#`EU3_`@{dyt%PoZz^$Ty{%d#P~UUBj69UpU2*d@PHTPPJA)vuQU zcmoZ2pM`^KmliPjR-wezZ;O|%9rtALgsJC!GJ5^lHJaPnnv39xF$gy{D~`SR5n%IH z@u5S9ii_&I1Kb`Xp6`@mvLf4yBI%4`9xozs81i*vJf-|(c?vl|I4^?-R{K)qpNQE! z&Ff5#_~aH=IbZ$XTIu&uC?u3NufOs7Dapwx;TTnH4k;tAk^x2qZMvCWq?5nCBUUm% zhRBcbd7u|0J-FT?P0Z%aV%(}k2;u|y`GY?2G=g`El}G|;x6!h)lCn}*dE$>Odd*?< zW#;>8LMuDPR)^3F`r~_E%%}>;W*)Nqo6K){|c|yYcdEmR|CMf$)fE#-I zU9gq!T3T%32}wzbOJSRJM~c>dnp&TJh!f+76&+V%l0>?(5|E2@zn`1*6G{8IC0ZYQ z6;jlY)&o`n)bB2!WFo8rsPA3YdF6S^2iYfm6(H=>Q8 z)}EAI!B3aB0O9GnU{5~YXJ6)=Cbv$|LxU*l4Y@FL!pCPtHDH3L#!%1`ig4vAIvxFu zF_P2Kk>8Y}Uu_{eT6U(a1o(9j>-Hc}tfcIWELv;n&^KlF8=*kzp>@Omw(nZgEE+ng|DJvqv-dT?b(e<77h;7?)l4gOanU$2Y zO@!q*M>El)hnG~jX_CArNmoms%Z-kD$5pEzlp!*hrXT`A6DKqB(FfeN4g51G^y7M( z=rcj@FZQXYv+FRMJIeN#rKcm7O$s9=!^{?V@t=WN&Hs_73So;NP;9=e!JKb4l$CAV z2Hk@on&&hB$Hv!vJ<6irfd`7j4|trB8v10MDXI+gude^UyGAJ;o|=TO2FgW zP4Hg#vp9cs=gO|PNXnYB1nBTkzW@FTs?Mc0uw*|C;~+eH5;I+7llTFFeXn$N_uIyB zOm~+`&2JHBwd0-3Qi_nrrY>Bte z^5m4R;jq9q;cR}DZMufr8t0)rIS(F_h42WBM9yYp6y@cWJLJlpquum}9|h&mnCa80 zLr&8CWU@~-eR_ZYYyJJ4aw@#E92++D_vgqCyQTPHD9vVOCT67|f5q=4#*SiG>%Z~} z?01u(9UvNkrr@0s4bHHcDfxTQiw9Wd_+gC!sVhSGk{2*+eU)@*y`tH4O z_V?da#KyrXJ>34?yGWYz)>mBgmZu+B0{N^G?}3?Sh)u*8P)FDd*+q=jY8I z)&5W~jF;E6Q=X6$WMn$@1wM3Xctp{m!(c1das~2553S_`FA27%l(H(9OpeAl8J|`=bM=9z5wl{!N#Nz);7;Aj9Y>OeM(#;#59qOt$5v?jmIHJKHgY& z0+y;L>Kf0SLx%TrXX0X_;4~8z6E~Np)?PT5o2S+G^i)-SKBNJU5ju3LYG8mE(lJZ3 zfeeI(#u^RNB4PR-2|z?6@Xe@W=wkmfUi}w`Mu*&yS&m{P%VJ{&Z1!o3;P|p6*xp(R zu|s96T>({(k|AFEaP#lTK? zrb;3Ep$%CB6oiUwkk3h6Ka)ZD*O*tqY>&u){o)pbR)ooqv(DAt;c7f~S@fU=o;9qAzY=cP(7l&E(RIdmvX? z`L9FAbM8wizw7RK0>3NtJCWbzdo|Nup|79xY#_XkaVXhkcO7AqKY8_^*RB0o{2Jd1 z--hYr9p4?b<=NTw^*eTym+#=@AseiR_U?uAgV(lgjg3iE$O&CTCdFC(t>9_Yzkr)> zqSa-Sb0)X;#BZV~j$1alux;wpDgHEXX<+ZEq8DCx;l;n~+O_L1FC002WvZtb&JP6o zdO6%AQW*$u1i^&MSAf4KM|}N>SlD6RJBTMnc;2HgB5gAo+uD*{>q#3Y%ZceIhLyPR zE<8(m-V1HJWjnwy5;7PV6%`dY*mV5(@diKMyU5Sl-rnB5fA&4q+!UixGiw<dpRyjLwkp!gq|Km8@?$Upo!m*G9Ai>5G0f$e`P-YFxmA7=^LQMZ!CBH z0md(P@>h;;^QcrR9c?}WKI?7H*Ry$e(!iANcjSE(pdESBj)Ys5-U|KkxH}763p>$1 z%yX8W_wz75$l!~T$&2!b*JovwmX_>Gc0I}D+Ti@7EJ|~pb1|+6*Bm(V-0m{Cq|R2R z$PN2A)MX46X|Q*E+Vz<00q^qaj0{U<#pjKj&+F>_`}gkMsaEgbljdx71;h6$Mi}7| z)Z#5U(qQZ~0Moy0rl!UOqnvct6lW`M^2EArWFGW-lec)GW;W#>R;IJjhQiSJc}1lq zBcr-J&Gi8Kf7@m91RM!;5 z;{F4(Kc8y*>c|gFW+zRJ)sm75_l6E~kbNw-Xm=`JgWffTsWf2Zdti#P#PuMHS0K1C zNC)yO42?XLg+ZX4!%FzIjh}_O=D2p)y^d zB-3dGH)u>)x?|&ql_($9lKI+p7CZ+eBi);z3P^~fWStkMh*5B6JodwZ?@ zgTo^~QvYC%@vcmE{WkKbw!p#1&d{=gO@=j#H zn&}V!Mj;k0Dm`~SoaqT#Qbx*5t`*MbokyG_uAsu@ut8J6AT+-5EuV*oA;L&>5QmO7cGR>NT>buzA@H2S^gy01EUWBeEHl?E10_LTc3cX%> z2~x{4YRfKhUU6ET7hpO9PhsZ;++T4?Fas_0{jD=*6c=A>GAFh>7i}poTv)uA{_l3g1)Ay`*&@eF==iY@LN;HzxH!;myBG z{@ZGku8L#hl~qmRx73QmwMol-ec6;>6XU#Dez(`;wOF%vM3nRCd3-rI%w*;?>SXY&Rm^z zpxbI~{@PEsAV(}4i*Zfe`mnC2?ps6(7#kQoT=eR*&p!KiZt51DI%C6z)R^GDukCi5 zV`@y&hHL9I^?^$xw*KNnukYTyyWCx8SY`Kf#j&l!e4^?qVY%=@%OGm0G_sb{ zr_Z&0+1B>z{;KBI_H)hWnwtUxFLQxPMNk4wb$?faK2WcO!OUZiJ@)vMnXnprpY-w9 zAh|4F!=P`+$W{S+`99Rmbq$adceB)q#NZeiaUypqTV4CDosl~2PWvcQ?s0(%MMPjk zJQe+{il3_Z7y6*O(vbMO5w+#+_+SVSf}8p<{|4@s8fegjN9 z=t+uir?Cg`si*NBNQT}quEvyC8v|hD6VQ=htGIbPX2bnLJC9;KVP`85H@))gfJOpAD*JBE7>*)!=8I_f$xU zb5X#&td;P8q}N}_9`V{Gd2C(K^;CjiRfd@Q*RiUas@z=lwY0-cFD9;O&r-rlaqAQL zR+T1g6UXMqHM=E2{I}Ma&T@R))9j9(4($S^6U1GY@({9wbPYRDg~03Cx=w4S&dvL3 z=`&4wLSxkc%Ymt6%^Hmvf5|psW(GX>m$ja#t5y4Z%b1~o#3iY-Ie&#>W>)^D2O$G{ za8rKPOofQk*Y?cM?rK&W{;6YpT=>ijVVmL@yC7%voIjQHB|G2bhoeu}`rpLQ~!*^C|z73XF8Wi;dqr|s(Ui!~u~i7D0($uY<8#U2Iybu{dgqSavQKuKo6_C*t!gkHd95Q$S<|&xiR6-tHC^mt zZMWDG|BkyW>*Gxt2PbP*nM|tYw(;2ua5gfXg8qpwtue*dS9YVcNzvS_FeQqmg*V>U zR9ma|!y6wNN=jM~#`z;4Qb0mtGUScPi3tJUxpxa*C*=rU0usI?*zrv*)S|WDID8P- z#>X*;O>mG4L3EdR{ghrQibcIuxCZ-!`<(PN~*jjS(|}1HOKI7Kd$a@ zg14k08xD=Fahbl0+cl9j<2GY zN_oFvjmwvaHTidTersX{$Ldwv_le(n;xmuGn6P`!*M8<(7)_69;n*!^+k`z@k;1ld z>{ixh9-lQf|M9l?_Ze?e6KiGtwJV(3mwKt`yS8qZZHgZqjo*~#v9{TBpVZdC#*!7* zb{yw#wfZhdH&g4FRp#^szSc?lymtK8e)gO@WIu#0PuEs~#QcvWUYRbo$$wvF;=g}c zk`(G*0pn|XW_*gRr2*Up*0xqV+I99=n_69LsXhOLR&0Z}Kd(;W1REP3igi_qh@01@ zRJvEd3flk5gbzMDc=HUsY)Ad{go8hyr*{+Di?=HR*>)?UJp}~?1$aw->i5wyKVG_U z;lj6?s5xPyvT*%v5b?+9Lxa2xb3+0oNd4w0iJvy@r=R*dzyJPwr&kcN$LYgl^8WsQ zZ!dp1S4{Rq^gg6Amf)L2o_Z%ZFi`1gZ^EhSq9kC!f(5f9Z8&`P+9kv%@Ew6_Qmf5E ztv~ifdiujZa1L0emx(Xb1HL6X2*FNOx3^2B?d{d4@S%5v@%Q&l`k|AzCD z=#~_h8>#TZST4RlocEzu2Z54H7%vH<*x}f=xpQY|=$6g`X3G{qheI_=Z^eK$U>)Ev z>grB4$IS=fUpzmq`BYsULEJ1W6bxWH6gH*O#uXd7U{c%CMf5Wu#fzJv?`WkC$gLe$ zi=oQUkbp5b@e}DUB7Q-dw?8ky$P;sK3{vSjC|9={XcvS!Z literal 0 HcmV?d00001 diff --git a/frontend-components/plotly/src/index.css b/frontend-components/plotly/src/index.css new file mode 100644 index 00000000000..de932d6d8d1 --- /dev/null +++ b/frontend-components/plotly/src/index.css @@ -0,0 +1,483 @@ +@font-face { + font-family: "Fira Code"; + src: url("./fonts/FiraCode-VF.ttf") format("truetype"); + /* fix Fire Code font width issue that makes Text get cut off in Plotly.js */ + font-weight: 400 700; + font-stretch: 50%; +} + +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer components { + ._input { + @apply w-full text-xs px-2 py-1 bg-grey-50 dark:bg-grey-900 h-[36px] border-[1.5px] border-grey-300 dark:border-grey-700 rounded outline-none dark:outline-1 focus:border-grey-500 active:border-grey-500 dark:text-white dark:focus:text-white dark:focus:border-white dark:active:border-white dark:hover:border-white disabled:border-grey-600 font-normal; + } + ._label { + @apply text-grey-500 text-xs uppercase tracking-widest font-bold; + } + ._btn-common { + @apply whitespace-nowrap inline-flex w-full items-center justify-center gap-2 rounded py-2 px-6 text-center !no-underline transition duration-150 ease-out md:w-fit; + } + ._btn { + @apply _btn-common text-sm bg-grey-800 text-white hover:bg-grey-600 dark:bg-grey-100 dark:text-grey-800 dark:hover:bg-white focus:outline focus:outline-2 focus:outline-grey-500 dark:active:bg-grey-200 dark:hover:active:text-grey-900 disabled:bg-grey-300 disabled:text-grey-500 active:disabled:bg-grey-300 active:disabled:text-grey-500; + } + ._btn-secondary { + @apply _btn-common border border-grey-300 text-grey-300 outline-offset-0 hover:border-white hover:text-white focus:outline focus:outline-2 focus:outline-grey-500 active:border-white active:bg-grey-800 active:text-white disabled:border-grey-500 disabled:bg-transparent disabled:text-grey-500; + } + ._btn-tertiary { + @apply _btn-common bg-grey-900 text-grey-50 hover:bg-grey-800 hover:text-white focus:bg-grey-900 focus:outline focus:outline-2 focus:outline-grey-500 active:bg-grey-700 active:text-white disabled:bg-grey-500 disabled:text-grey-700; + } + ._icon-btn { + @apply _btn-common bg-grey-900 text-grey-50 hover:bg-grey-800 hover:text-white focus:bg-grey-900 focus:outline focus:outline-2 focus:outline-grey-500 active:bg-grey-700 active:text-white disabled:bg-grey-500 disabled:text-grey-700; + } + ._hyper-link { + @apply underline text-blue-300 hover:text-blue-400 active:text-blue-500 disabled:text-grey-600; + } + ._modal { + @apply card fixed top-1/2 left-1/2 z-50 max-h-[608px] w-[80%] max-w-[500px] -translate-x-1/2 -translate-y-1/2 overflow-auto text-white bg-grey-900 p-2 duration-300 focus:outline-none md:p-10; + } + ._modal-overlay { + @apply bg-grey-900 opacity-60 z-40 inset-0 fixed; + } + ._modal-close { + @apply absolute top-[10px] right-[20px] text-grey-200 hover:text-white rounded-[4px] focus:outline focus:outline-2 focus:outline-grey-500; + } + ._modal-title { + @apply text-white uppercase tracking-widest text-lg font-bold; + } + .card { + @apply w-full rounded border border-grey-600 p-6 shadow bg-grey-850; + } +} + +._header { + background: #062d48; + background: linear-gradient( + 90deg, + #062d48, + #0b3054 15%, + #0e386c 45%, + #0b203d 64%, + #06101a 82%, + #060709 + ); +} + +/* custom scrollbar */ +::-webkit-scrollbar { + width: 20px; +} + +::-webkit-scrollbar-track { + background-color: transparent; +} + +::-webkit-scrollbar-thumb { + background-color: #d6dee1; + border-radius: 20px; + border: 6px solid transparent; + background-clip: content-box; +} + +::-webkit-scrollbar-thumb:hover { + background-color: #a8bbbf; +} + +::-webkit-scrollbar-corner { + background: rgba(0, 0, 0, 0); +} + +body, html { + height: 100%; + overflow:hidden; + background: #000; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", + "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +body { + font-family: "Fira Code", monospace, "Arial Black"; + font-size: 12px; + font-size: 1.2rem; + color: #ffffff; + background-color: #000000; + font-stretch: 50%; + overflow: hidden; +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", + monospace; +} + +.saving { + position: absolute; + z-index: 9999999; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + height: 100px; + width: 200px; + display: none; + justify-content: center; + align-items: center; + background-color: rgba(0, 0, 0, 0.7); + color: white; + box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5); + border: 1px solid rgba(250, 250, 250, 0.5); + font-size: 0.9em; + border-radius: 20px; + animation: popup 0.3s ease-in-out; +} + +.saving.show { + display: flex; +} + + +.popup_overlay { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 420px; + background: #070707; + border: 1px solid #dcdcdc; + box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06); + border-radius: 4px; + padding: 40px; + box-sizing: border-box; + display: none; + font-family: "Fira Code", monospace, "Arial Black"; + animation: popup 0.3s ease-in-out; + box-shadow: 0 3px 10px rgb(0 0 0 / 0.2); + z-index: 2; + overflow: auto; +} + +.popup_content { + position: relative; + background-color: transparent; + padding: 0px; + font-size: 0.75rem !important; + width: 100%; + height: 100%; + z-index: 3; +} + +.popup_warning { + color: #ff0000; + font-size: 12px; + font-size: 0.8rem; + font-family: "Fira Code", monospace, "Arial Black"; + display: none; + background-color: rgba(255, 0, 0, 0.1); + border-radius: 4px; + font-weight: bold; + margin-top: -18px; + margin-left: 45px; +} + +._modal {font-size: 0.65rem !important; animation: popup 0.3s ease-in-out;} + +#changecolor { + position: absolute; + z-index: 9; + text-align: center; + top: 50%; + left: 50%; + width: 100px; + height: 60px; + background-color: transparent; + padding: 10px; + box-sizing: border-box; + display: none; +} + +#changecolor_header:hover { + margin-top: 0px !important; + margin-bottom: 0px !important; + border: 1px solid gold; + box-shadow: 0 0 5px gold; +} + +#changecolor_header { + padding: 10px; + cursor: move; + z-index: 10; + color: #fff; +} + +#changecolor_header input[type="color"] { + width: 100%; + height: 40px; + border: none; + border-radius: 5px; + margin-bottom: 20px !important; + cursor: pointer; + border: 1px solid #7d7d7d; + padding: 5px; + background-color: #131313; + color: #ffffff; + margin-right: 50px !important; +} + +@keyframes popup { + 0% { + -webkit-transition: all 0.3s ease-in-out; + transform: translate(-50%, -50%) scale(0.2); + } + + 40% { + transform: translate(-50%, -50%) scale(1.1); + } + + 80% { + transform: translate(-50%, -50%) scale(1.05); + } + + 100% { + transform: translate(-50%, -50%) scale(1); + } +} + +.loader { + position: relative; + bottom: 0px; + right: -5px; + border: 4px solid #f3f3f3; + border-radius: 50%; + border-top: 4px solid #00acff; + width: 20px; + height: 20px; + animation: spin 1.5s linear infinite; + opacity: 1; +} + + +@keyframes spin { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} + + +.csv_column_container { + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: 0px 10px; + margin-top: 10px; + margin-bottom: 10px; +} + +.plotly-graph-div .modebar--hover .modebar-group { + border: 2px solid #5a5a5a !important; + border-radius: 4px; + padding: 2px 2px 2px !important; +} + +.modebar-group { + display: flex !important; + background-color: transparent !important; +} + +.modebar { + z-index: 5000 !important; + position: fixed !important; + bottom: 10px !important; + top: auto !important; + left: 50% !important; + right: auto !important; + align-items: center; + transform: translate(-50%, 10%) !important; +} + +@media screen and (max-width: 600px) { + .modebar-group { + display: block !important; + background-color: transparent !important; + } + + .modebar { + bottom: 20px !important; + } +} + +@media screen and (max-width: 900px) { + ._modal {font-size: 0.65rem !important; animation: popup 0.3s ease-in-out; height: 70% !important; overflow: auto !important;} +} + +.modebar-group { + margin-left: 10px; + margin-right: 10px; + background: #0f0f0f !important; + border: 1px solid #404040; + box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06); + border-radius: 8px; +} + + +.modebar-group:nth-of-type(1):after { + content: "Panning Tools"; + height: fit-content; + width: fit-content; + position: absolute; + display: none; +} + +.modebar-group:nth-of-type(1):hover:after { + padding: 10px; + display: block; + font-size: 10px; + color: white; + cursor: pointer; + background: #0f0f0f !important; + border: 1px solid #404040; + box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06); + border-radius: 8px; + top: -40px; + left: 50%; + transform: translateX(-50%); +} + +.modebar-group:nth-of-type(2):after { + content: "Indicator Tools"; + height: fit-content; + width: fit-content; + position: absolute; + display: none; +} + +.modebar-group:nth-of-type(2):hover:after { + padding: 10px; + display: block; + font-size: 10px; + color: white; + cursor: pointer; + background: #0f0f0f !important; + border: 1px solid #404040; + box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06); + border-radius: 8px; + top: -40px; + left: 50%; + transform: translateX(-50%); +} + +.modebar-group:nth-of-type(3):after { + content: "Chart Tools"; + height: fit-content; + width: fit-content; + position: absolute; + display: none; +} + +.modebar-group:nth-of-type(3):hover:after { + padding: 10px; + display: block; + font-size: 10px; + color: white; + cursor: pointer; + background: #0f0f0f !important; + border: 1px solid #404040; + box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06); + border-radius: 8px; + top: -40px; + left: 50%; + transform: translateX(-50%); +} + +.modebar-group:nth-of-type(4):after { + content: "Drawing Tools"; + height: fit-content; + width: fit-content; + position: absolute; + display: none; +} + +.modebar-group:nth-of-type(4):hover:after { + padding: 10px; + display: block; + font-size: 10px; + color: white; + cursor: pointer; + background: #0f0f0f !important; + border: 1px solid #404040; + box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06); + border-radius: 8px; + top: -40px; + left: 50%; + transform: translateX(-50%); +} + +.modebar-group:nth-of-type(5):after { + content: "Export Tools"; + height: fit-content; + width: fit-content; + position: absolute; + display: none; +} + +.modebar-group:nth-of-type(5):hover:after { + padding: 10px; + display: block; + font-size: 10px; + color: white; + cursor: pointer; + background: #0f0f0f !important; + border: 1px solid #404040; + box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06); + border-radius: 8px; + top: -40px; + left: 50%; + transform: translateX(-50%); +} + +.modebar.vertical { + flex-direction: row !important; + flex-flow: initial !important; + gap: 6px !important; +} + +.js-plotly-plot .plotly .modebar.vertical .modebar-group { + padding-bottom: 0px !important; +} + +.modebar-container { + position: initial !important; +} + +.modebar-btn:hover .icon path { + fill: #00acff !important; +} + +.modebar-btn.active .icon path { + fill: #00acff !important; +} + + +.modebar-btn { + padding: 4px !important; + margin-left: 4px !important; + margin-right: 4px !important; + margin-top: 4px !important; + margin-bottom: 4px !important; +} + + +.modebar-btn:hover { + background-color: #1f1f1f !important; + border-radius: 8px; +} diff --git a/frontend-components/plotly/src/main.tsx b/frontend-components/plotly/src/main.tsx new file mode 100644 index 00000000000..9733d2ea77c --- /dev/null +++ b/frontend-components/plotly/src/main.tsx @@ -0,0 +1,22 @@ +import React from "react"; +import ReactDOM from "react-dom"; +import App from "./App"; +import "./index.css"; + +declare global { + interface Window { + plotly_figure: any; + export_image: string; + save_image: boolean; + title: string; + Plotly: any; + MODEBAR: HTMLElement; + } +} + +ReactDOM.render( + + + , + document.getElementById("root") as HTMLElement +); diff --git a/frontend-components/plotly/src/utils/addAnnotation.tsx b/frontend-components/plotly/src/utils/addAnnotation.tsx new file mode 100644 index 00000000000..be508937ece --- /dev/null +++ b/frontend-components/plotly/src/utils/addAnnotation.tsx @@ -0,0 +1,239 @@ +//@ts-nocheck +import { + Annotations, + PlotMouseEvent, + PlotlyHTMLElement, +} from "plotly.js-dist-min"; +import { Figure } from "react-plotly.js"; + +type PopupData = { + x: number; + y: number; + yref: string; + text: string; + yshift: number; + yanchor: string; + bordercolor: string; + color: string; + size: number; + annotation?: any; +}; + +export function add_annotation({ + plotData, + popup_data, + current_text, +}: { + plotData: Figure; + popup_data: PopupData; + current_text?: string; +}) { + let x = popup_data.x; + let y = popup_data.y; + let yref = popup_data.yref; + let annotations = plotData?.layout?.annotations || []; + let index = -1; + + for (let i = 0; i < annotations.length; i++) { + if ( + annotations[i].x == x && + annotations[i].y == y && + annotations[i].text == current_text + ) { + index = i; + break; + } + } + if (index == -1) { + let annotation: Annotations = { + x: x, + y: y, + xref: "x", + yref: yref, + xanchor: "center", + text: popup_data.text, + showarrow: true, + arrowhead: 2, + arrowsize: 1, + arrowwidth: 2, + ax: x, + ay: y + popup_data.yshift, + ayref: yref, + axref: "x", + bordercolor: popup_data.bordercolor, + bgcolor: "#000000", + borderwidth: 2, + borderpad: 4, + opacity: 0.8, + font: { + color: popup_data.color, + size: popup_data.size, + }, + clicktoshow: "onoff", + captureevents: true, + }; + annotations.push(annotation); + } else { + annotations[index].text = popup_data.text; + annotations[index].font.color = popup_data.color; + annotations[index].font.size = popup_data.size; + annotations[index].ay = y + popup_data.yshift; + annotations[index].bordercolor = popup_data.bordercolor; + } + return { annotations: annotations, annotation: annotations[index] }; +} + +export function plot_text({ + plotData, + popup_data, + current_text, +}: { + plotData: Figure; + popup_data: PopupData; + current_text?: string; +}) { + // Plots text on the chart based on the popup_data + // If current_text is not null, it will be replaced with the new text + // If current_text is null, a new annotation will be added + // popup_data is the data from the popup + // data is the data from the chart + + console.log("plot_text: current_text", current_text); + let output = undefined; + let yaxis = popup_data.yref.replace("y", "yaxis"); + let yrange = plotData.layout[yaxis].range; + let yshift = (yrange[1] - yrange[0]) * 0.2; + + if (popup_data.yanchor == "below") { + yshift = -yshift; + } + popup_data.yshift = yshift; + + output = add_annotation({ plotData, popup_data, current_text }); + + let to_update = { annotations: output.annotations, dragmode: "pan" }; + to_update[yaxis + ".type"] = "linear"; + return { update: to_update, annotation: output.annotation }; +} + +export function init_annotation({ + plotData, + popupData, + setPlotData, + setModal, + setOnAnnotationClick, + setAnnotations, + onAnnotationClick, + annotations, + plotDiv, +}: { + plotData: Figure; + popupData: Partial; + setPlotData: (plotData: Partial