diff --git a/.github/ISSUE_TEMPLATE/bug-developer.yml b/.github/ISSUE_TEMPLATE/bug-developer.yml deleted file mode 100644 index 3880f58..0000000 --- a/.github/ISSUE_TEMPLATE/bug-developer.yml +++ /dev/null @@ -1,187 +0,0 @@ -name: 🐛 Developer Bug report -description: File a Code bug/issue -title: -labels: - - bug -body: - - type: checkboxes - attributes: - label: Is there an existing issue for this? - description: Please search to see if an issue already exists for the bug you encountered. - options: - - label: I have searched the existing issues - required: true - - - type: textarea - attributes: - label: Current Behavior - description: A concise description of what you're experiencing. - validations: - required: true - - - type: textarea - attributes: - label: Expected Behavior - description: A concise description of what you expected to happen. - validations: - required: true - - - type: textarea - attributes: - label: Steps To Reproduce - description: Steps to reproduce the behavior. - placeholder: | - 1. In this environment... - 2. With this config... - 3. Run '...' - 4. See error... - validations: - required: true - - - type: dropdown - id: system - attributes: - label: On which operating system are you experiencing the problem? - multiple: true - options: - - BSD - - Linux - - Windows - - MacOS - - iOS - - Android - validations: - required: true - - - type: input - id: system-version - attributes: - label: The version of your Operation System - validations: - required: true - - - type: dropdown - id: subsystem - attributes: - label: What subsystem is the problem related to? - multiple: true - options: - - Docker - - WSL - - WINE - - - type: input - id: subsystem-version - attributes: - label: The version of your Sub-system - - - type: dropdown - id: Web-browser - attributes: - label: What browsers are you seeing the problem on? - multiple: true - options: - - Firefox - - Chrome - - Safari - - Microsoft Edge - - Opera - - Brave - - Arc Browser - - UC Browser - validations: - required: true - - - type: input - id: Web-browser-version - attributes: - label: The version of your Web browser - validations: - required: true - - - type: dropdown - id: network-region - attributes: - label: What network region are you in? - multiple: true - options: - - Global - - China mainland - validations: - required: true - - - type: dropdown - id: cli - attributes: - label: Which command line terminal are you using? - multiple: true - options: - - Shell - - CMD - - Powershell - validations: - required: true - - - type: input - id: cli-version - attributes: - label: The version of your Command-line Terminal - - - type: dropdown - id: JavaScript-runtime - attributes: - label: Which JavaScript runtime are you using? - multiple: true - options: - - Node.js - - Bun - - Deno - validations: - required: true - - - type: input - id: JavaScript-runtime-version - attributes: - label: The version of your JavaScript runtime - validations: - required: true - - - type: dropdown - id: JavaScript-package-manager - attributes: - label: Which JavaScript package manager are you using? - multiple: true - options: - - npm - - Yarn - - pnpm - - Bun - validations: - required: true - - - type: input - id: JavaScript-package-manager-version - attributes: - label: The version of your JavaScript package manager - validations: - required: true - - - type: dropdown - id: development_environment - attributes: - label: Which development environment are you using? - multiple: true - options: - - Local - - Gitpod - - GitHub Codespaces - validations: - required: true - - - type: textarea - attributes: - label: Anything else? - description: | - Links? References? Anything that will give us more context about the issue you are encountering! - - Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. diff --git a/.github/ISSUE_TEMPLATE/bug-user.yml b/.github/ISSUE_TEMPLATE/bug-user.yml deleted file mode 100644 index 751475d..0000000 --- a/.github/ISSUE_TEMPLATE/bug-user.yml +++ /dev/null @@ -1,131 +0,0 @@ -name: 🐛 User Bug report -description: File an UI bug/issue -title: <title> -labels: - - bug -body: - - type: checkboxes - attributes: - label: Is there an existing issue for this? - description: Please search to see if an issue already exists for the bug you encountered. - options: - - label: I have searched the existing issues - required: true - - - type: textarea - attributes: - label: Current Behavior - description: A concise description of what you're experiencing. - validations: - required: true - - - type: textarea - attributes: - label: Expected Behavior - description: A concise description of what you expected to happen. - validations: - required: true - - - type: textarea - attributes: - label: Steps To Reproduce - description: Steps to reproduce the behavior. - placeholder: | - 1. In this environment... - 2. With this config... - 3. Run '...' - 4. See error... - validations: - required: true - - - type: dropdown - id: hardware - attributes: - label: What kind of hardware did the bug occur on? - multiple: true - options: - - Desktop - - Pad - - Phone - - Smart Device - - Car - validations: - required: true - - - type: dropdown - id: system - attributes: - label: On which operating system are you experiencing the problem? - multiple: true - options: - - BSD - - Linux - - Windows - - MacOS - - iOS - - Android - validations: - required: true - - - type: input - id: system-version - attributes: - label: The version of your Operation System - validations: - required: true - - - type: dropdown - id: Web-browser - attributes: - label: What browsers are you seeing the problem on? - multiple: true - options: - - Firefox - - Chrome - - Safari - - Microsoft Edge - - Opera - - Brave - - Arc Browser - - UC Browser - validations: - required: true - - - type: input - id: Web-browser-version - attributes: - label: The version of your Web browser - validations: - required: true - - - type: dropdown - id: network-connection - attributes: - label: What kind of network are you connecting to? - multiple: true - options: - - WLAN - - WiFi - - 4G - - 5G - validations: - required: true - - - type: dropdown - id: network-region - attributes: - label: What network region are you in? - multiple: true - options: - - Global - - China mainland - validations: - required: true - - - type: textarea - attributes: - label: Anything else? - description: | - Links? References? Anything that will give us more context about the issue you are encountering! - - Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. diff --git a/.github/ISSUE_TEMPLATE/feature-enhancement.yml b/.github/ISSUE_TEMPLATE/feature-enhancement.yml deleted file mode 100644 index 7d34e7b..0000000 --- a/.github/ISSUE_TEMPLATE/feature-enhancement.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: ✨ Feature/Enhancement -description: Request a new feature or enhancement -title: <title> -labels: - - enhancement -body: - - type: checkboxes - attributes: - label: Is there an existing feature request for this? - description: Please search to see if a feature request already exists for the enhancement you are proposing. - options: - - label: I have searched the existing feature requests - required: true - - - type: textarea - attributes: - label: Description - description: | - A detailed description of the new feature or enhancement you are proposing. Additionally, provide any relevant - links, references, or attachments to offer more context about the proposal. You can also attach images or other - files by clicking this area to highlight it and then dragging files in. - - Tip: You can attach images or other files by clicking this area to highlight it and then dragging files in. - validations: - required: true - - - type: textarea - attributes: - label: Use Case - description: Provide a use case or scenario where this feature or enhancement would be beneficial. - - - type: textarea - attributes: - label: Proposed Solution - description: If you have a specific solution in mind, please describe it here. diff --git a/.github/pr-badge.yml b/.github/pr-badge.yml deleted file mode 100644 index 7400516..0000000 --- a/.github/pr-badge.yml +++ /dev/null @@ -1,17 +0,0 @@ -- icon: visualstudio - label: 'GitHub.dev' - message: 'PR-$prNumber' - color: 'blue' - url: 'https://github.dev/$owner/$repo/pull/$prNumber' - -- icon: github - label: 'GitHub codespaces' - message: 'PR-$prNumber' - color: 'black' - url: 'https://codespaces.new/$owner/$repo/pull/$prNumber' - -- icon: git - label: 'GitPod.io' - message: 'PR-$prNumber' - color: 'orange' - url: 'https://gitpod.io/?autostart=true#https://github.com/$owner/$repo/pull/$prNumber' diff --git a/.github/settings.yml b/.github/settings.yml deleted file mode 100644 index 87ecb22..0000000 --- a/.github/settings.yml +++ /dev/null @@ -1,85 +0,0 @@ -# These settings are synced to GitHub by https://probot.github.io/apps/settings/ - -repository: - allow_merge_commit: false - - delete_branch_on_merge: true - - enable_vulnerability_alerts: true - -labels: - - name: bug - color: '#d73a4a' - description: Something isn't working - - - name: documentation - color: '#0075ca' - description: Improvements or additions to documentation - - - name: duplicate - color: '#cfd3d7' - description: This issue or pull request already exists - - - name: enhancement - color: '#a2eeef' - description: Some improvements - - - name: feature - color: '#16b33f' - description: New feature or request - - - name: good first issue - color: '#7057ff' - description: Good for newcomers - - - name: help wanted - color: '#008672' - description: Extra attention is needed - - - name: invalid - color: '#e4e669' - description: This doesn't seem right - - - name: question - color: '#d876e3' - description: Further information is requested - - - name: wontfix - color: '#ffffff' - description: This will not be worked on - -branches: - - name: master - # https://docs.github.com/en/rest/reference/repos#update-branch-protection - protection: - # Required. Require at least one approving review on a pull request, before merging. Set to null to disable. - required_pull_request_reviews: - # The number of approvals required. (1-6) - required_approving_review_count: 1 - # Dismiss approved reviews automatically when a new commit is pushed. - dismiss_stale_reviews: true - # Blocks merge until code owners have reviewed. - require_code_owner_reviews: true - # Specify which users and teams can dismiss pull request reviews. - # Pass an empty dismissal_restrictions object to disable. - # User and team dismissal_restrictions are only available for organization-owned repositories. - # Omit this parameter for personal repositories. - dismissal_restrictions: - # users: [] - # teams: [] - # Required. Require status checks to pass before merging. Set to null to disable - required_status_checks: - # Required. Require branches to be up to date before merging. - strict: true - # Required. The list of status checks to require in order to merge into this branch - contexts: [] - # Required. Enforce all configured restrictions for administrators. - # Set to true to enforce required status checks for repository administrators. - # Set to null to disable. - enforce_admins: true - # Prevent merge commits from being pushed to matching branches - required_linear_history: true - # Required. Restrict who can push to this branch. - # Team and user restrictions are only available for organization-owned repositories. - # Set to null to disable. - restrictions: null diff --git a/.github/workflows/init-template.yml b/.github/workflows/init-template.yml deleted file mode 100644 index bf8aacf..0000000 --- a/.github/workflows/init-template.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Template Repository initialization -on: - push: - branches: - - master -env: - TEMPLATE_OWNER: EasyWebApp - TEMPLATE_NAME: WebCell-mobile - -jobs: - replace-repository-name: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - if: github.repository != format('{0}/{1}', env.TEMPLATE_OWNER, env.TEMPLATE_NAME) - run: | - sh .github/workflows/replace-repository-name.sh \ - ${{ env.TEMPLATE_OWNER }} ${{ env.TEMPLATE_NAME }} \ - ${{ github.repository_owner }} ${{ github.event.repository.name }} - rm -f .github/workflows/init-template.yml - - - uses: stefanzweifel/git-auto-commit-action@v5 - with: - commit_message: '[fix] replace Repository Name' diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index bccb5a2..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: CI & CD -on: - push: - branches: - - master -jobs: - Build-and-Deploy: - runs-on: ubuntu-latest - env: - VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - steps: - - uses: actions/checkout@v4 - - - uses: pnpm/action-setup@v4 - with: - version: 9 - - uses: actions/setup-node@v4 - with: - node-version: 20 - cache: pnpm - - name: Install Dependencies - run: pnpm i --frozen-lockfile - - - name: Build Production - run: pnpm build - - - name: Deploy to GitHub pages - uses: peaceiris/actions-gh-pages@v4 - with: - publish_dir: ./dist - personal_token: ${{ secrets.GITHUB_TOKEN }} - force_orphan: true - - - name: Deploy to Vercel - uses: amondnet/vercel-action@v25 - if: ${{ env.VERCEL_TOKEN && env.VERCEL_ORG_ID && env.VERCEL_PROJECT_ID }} - with: - vercel-token: ${{ secrets.VERCEL_TOKEN }} - github-token: ${{ secrets.GITHUB_TOKEN }} - vercel-org-id: ${{ secrets.VERCEL_ORG_ID }} - vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }} - working-directory: ./ - vercel-args: --prod diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml deleted file mode 100644 index 61c4e3b..0000000 --- a/.github/workflows/pull-request.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Pull Request -on: - push: - branches-ignore: - - master -jobs: - Build-and-Deploy: - runs-on: ubuntu-latest - permissions: - contents: write - env: - VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - steps: - - uses: actions/checkout@v4 - if: ${{ env.VERCEL_TOKEN && env.VERCEL_ORG_ID && env.VERCEL_PROJECT_ID }} - - - name: Deploy to Vercel - uses: amondnet/vercel-action@v25 - if: ${{ env.VERCEL_TOKEN && env.VERCEL_ORG_ID && env.VERCEL_PROJECT_ID }} - with: - vercel-token: ${{ secrets.VERCEL_TOKEN }} - github-token: ${{ secrets.GITHUB_TOKEN }} - vercel-org-id: ${{ secrets.VERCEL_ORG_ID }} - vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }} - working-directory: ./ diff --git a/.github/workflows/replace-repository-name.sh b/.github/workflows/replace-repository-name.sh deleted file mode 100644 index 978d174..0000000 --- a/.github/workflows/replace-repository-name.sh +++ /dev/null @@ -1,13 +0,0 @@ -#! /usr/bin/env bash - -SourceOwner=$1 -SourceName=$2 -TargetOwner=$3 -TargetName=$4 - -sed -i "s/$SourceOwner\/$SourceName/$TargetOwner\/$TargetName/ig" \ - $(grep -i $SourceOwner/$SourceName -rl . --exclude-dir=.git --exclude-dir=node_modules) -sed -i "s/$SourceOwner/$TargetOwner/ig" \ - $(grep -i $SourceOwner -rl . --exclude-dir=.git --exclude-dir=node_modules) -sed -i "s/$SourceName/$TargetName/ig" \ - $(grep -i $SourceName -rl . --exclude-dir=.git --exclude-dir=node_modules) diff --git a/.github/workflows/update-meta.yml b/.github/workflows/update-meta.yml deleted file mode 100644 index ec013e7..0000000 --- a/.github/workflows/update-meta.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: Update Meta -on: - push: - branches: - - master - paths: - - package.json -jobs: - Update-Meta: - runs-on: ubuntu-latest - permissions: - contents: write - steps: - - uses: actions/checkout@v4 - - - uses: actions/setup-node@v4 - with: - node-version: 20 - - - name: Set NPM metadata - env: - # "Administration" repository permissions (write), - # https://docs.github.com/en/rest/repos/repos?apiVersion=2022-11-28#replace-all-repository-topics - GH_TOKEN: ${{ secrets.GH_ADMIN_TOKEN }} - REPOSITORY: ${{ github.repository }} - run: | - DESCRIPTION=$(node -p "JSON.parse(require('fs').readFileSync('package.json')).description || ''") - HOME_PAGE=$(node -p "JSON.parse(require('fs').readFileSync('package.json')).homepage || ''") - TOPICS=$(node -p "JSON.parse(require('fs').readFileSync('package.json')).keywords?.join().toLowerCase() || ''") - - [[ "$DESCRIPTION" ]] && gh repo edit "$REPOSITORY" --description "$DESCRIPTION" - [[ "$HOME_PAGE" ]] && gh repo edit "$REPOSITORY" --homepage "$HOME_PAGE" - [[ "$TOPICS" ]] && { - gh api --method PUT "repos/$REPOSITORY/topics" -f "names[]" - gh repo edit "$REPOSITORY" --add-topic "$TOPICS" - } diff --git a/.gitignore b/.gitignore deleted file mode 100644 index fcd6c3f..0000000 --- a/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -node_modules/ -package-lock.json -yarn.lock -.parcel-cache/ -dist/ -.vercel/ \ No newline at end of file diff --git a/.gitpod.yml b/.gitpod.yml deleted file mode 100644 index 2382166..0000000 --- a/.gitpod.yml +++ /dev/null @@ -1,29 +0,0 @@ -# This configuration file was automatically generated by Gitpod. -# Please adjust to your needs (see https://www.gitpod.io/docs/introduction/learn-gitpod/gitpod-yaml) -# and commit this file to your remote git repository to share the goodness with others. - -# Learn more from ready-to-use templates: https://www.gitpod.io/docs/introduction/getting-started/quickstart - -vscode: - extensions: - - yzhang.markdown-all-in-one - - unifiedjs.vscode-mdx - - xyc.vscode-mdx-preview - - jock.svg - - redhat.vscode-yaml - - clinyong.vscode-css-modules - - akamud.vscode-caniuse - - visualstudioexptteam.intellicode-api-usage-examples - - pflannery.vscode-versionlens - - christian-kohler.npm-intellisense - - esbenp.prettier-vscode - - rangav.vscode-thunder-client - - eamodio.gitlens - - github.vscode-pull-request-github - - github.vscode-github-actions -tasks: - - before: | - pnpm i vercel -g - vercel login --github --oob - init: pnpm i - command: npm start diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100644 index 72c4429..0000000 --- a/.husky/pre-commit +++ /dev/null @@ -1 +0,0 @@ -npm test diff --git a/.husky/pre-push b/.husky/pre-push deleted file mode 100644 index d6cb288..0000000 --- a/.husky/pre-push +++ /dev/null @@ -1 +0,0 @@ -npm run build diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/.npmrc b/.npmrc deleted file mode 100644 index 8638f02..0000000 --- a/.npmrc +++ /dev/null @@ -1 +0,0 @@ -auto-install-peers = false diff --git a/.parcelrc b/.parcelrc deleted file mode 100644 index 36cdf20..0000000 --- a/.parcelrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "@parcel/config-default", - "transformers": { - "*.{ts,tsx}": [ - "@parcel/transformer-typescript-tsc" - ] - } -} diff --git a/.postcssrc b/.postcssrc deleted file mode 100644 index 20f7c8d..0000000 --- a/.postcssrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - plugins: { - "@tailwindcss/postcss": {} - }, -} diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index 9723ebb..0000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "recommendations": [ - "yzhang.markdown-all-in-one", - "unifiedjs.vscode-mdx", - "xyc.vscode-mdx-preview", - "jock.svg", - "redhat.vscode-yaml", - "clinyong.vscode-css-modules", - "akamud.vscode-caniuse", - "visualstudioexptteam.intellicode-api-usage-examples", - "pflannery.vscode-versionlens", - "christian-kohler.npm-intellisense", - "esbenp.prettier-vscode", - "rangav.vscode-thunder-client", - "eamodio.gitlens", - "github.vscode-pull-request-github", - "github.vscode-github-actions" - ] -} diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 12abc24..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "html.customData": ["./node_modules/mdui/html-data.en.json"], - "css.customData": ["./node_modules/mdui/css-data.en.json"], - "typescript.tsdk": "./node_modules/typescript/lib" -} diff --git a/ReadMe.md b/ReadMe.md deleted file mode 100644 index 0504dfa..0000000 --- a/ReadMe.md +++ /dev/null @@ -1,74 +0,0 @@ -![](https://github.com/EasyWebApp.png) - -# WebCell-mobile - -Mobile App scaffold of [WebCell v3][1] - -https://web-cell.dev/WebCell-mobile/ - -[![CI & CD](https://github.com/EasyWebApp/WebCell-mobile/actions/workflows/main.yml/badge.svg)][2] - -[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)][3] -[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)][4] - -## Technology stack - -- Language: [TypeScript v5][5] -- Component engine: [WebCell v3][1] -- Component suite: [MDUI v2][6] -- PWA framework: [Workbox v7][7] -- Package bundler: [Parcel v2][8] -- CI / CD: GitHub [Actions][9] + [Pages][10] - -## Development - -```shell -npm i pnpm -g -pnpm i -npm start -``` - -## Deployment - -```shell -pnpm build -``` - -## Best practice - -1. Install GitHub apps in your organization or account: - - 1. [Probot settings][11]: set up Issue labels & Pull Request rules - 2. [PR badge][12]: set up Online [VS Code][13] editor entries in Pull Request description - -2. Click the **[<kbd>Use this template</kbd>][14] button** on the top of this GitHub repository's home page, then create your own repository in the app-installed namespace above - -3. Click the **[<kbd>Open in GitHub codespaces</kbd>][3] button** on the top of ReadMe file, then an **online VS Code development environment** will be started immediately - -4. Set [Vercel variables][15] as [Repository secrets][16], then every commit will get an independent **Preview URL** - -5. Recommend to add a [Notification step in GitHub actions][17] for your Team IM app - -6. Remind the PMs & users of your product to submit **Feature/Enhancement** requests or **Bug** reports with [Issue forms][18] instead of IM messages or Mobile Phone calls - -7. Collect all these issues into [Project kanbans][19], then create **Pull requests** & add `closes #issue_number` into its description for automation - -[1]: https://web-cell.dev/ -[2]: https://github.com/EasyWebApp/WebCell-mobile/actions/workflows/main.yml -[3]: https://codespaces.new/EasyWebApp/WebCell-mobile -[4]: https://gitpod.io/?autostart=true#https://github.com/EasyWebApp/WebCell-mobile -[5]: https://typescriptlang.org/ -[6]: https://www.mdui.org/ -[7]: https://developers.google.com/web/tools/workbox -[8]: https://parceljs.org/ -[9]: https://github.com/features/actions -[10]: https://pages.github.com/ -[11]: https://github.com/apps/settings -[12]: https://pullrequestbadge.com/ -[13]: https://code.visualstudio.com/ -[14]: https://github.com/new?template_name=WebCell-mobile&template_owner=EasyWebApp -[15]: https://github.com/EasyWebApp/mobile/blob/05baec7446a8cb84a3cdc6dd184cc7314c63b468/.github/workflows/main.yml#L10-L12 -[16]: https://github.com/EasyWebApp/WebCell-mobile/settings/secrets/actions -[17]: https://github.com/kaiyuanshe/kaiyuanshe.github.io/blob/bb4675a56bf1d6b207231313da5ed0af7cf0ebd6/.github/workflows/pull-request.yml#L32-L56 -[18]: https://github.com/EasyWebApp/WebCell-mobile/issues/new/choose -[19]: https://github.com/EasyWebApp/WebCell-mobile/projects diff --git a/src/image/WebCell-0.png b/WebCell-0.a6336415.png similarity index 51% rename from src/image/WebCell-0.png rename to WebCell-0.a6336415.png index 052d9e0..4401344 100644 Binary files a/src/image/WebCell-0.png and b/WebCell-0.a6336415.png differ diff --git a/eslint.config.ts b/eslint.config.ts deleted file mode 100644 index 7681acb..0000000 --- a/eslint.config.ts +++ /dev/null @@ -1,139 +0,0 @@ -import cspellPlugin from '@cspell/eslint-plugin'; -import eslint from '@eslint/js'; -import html from '@html-eslint/eslint-plugin'; -import stylistic from '@stylistic/eslint-plugin'; -import eslintConfigPrettier from 'eslint-config-prettier'; -import react from 'eslint-plugin-react'; -import simpleImportSortPlugin from 'eslint-plugin-simple-import-sort'; -import globals from 'globals'; -import tsEslint from 'typescript-eslint'; -import { fileURLToPath } from 'url'; - -/** - * @see{@link https://github.com/typescript-eslint/typescript-eslint/blob/main/eslint.config.mjs} - * @see{@link https://github.com/vercel/next.js/issues/71763#issuecomment-2476838298} - */ - -const tsconfigRootDir = fileURLToPath(new URL('.', import.meta.url)); - -export default tsEslint.config( - // register all of the plugins up-front - { - plugins: { - '@typescript-eslint': tsEslint.plugin, - react, - '@stylistic': stylistic, - 'simple-import-sort': simpleImportSortPlugin, - '@cspell': cspellPlugin - } - }, - { - // config with just ignores is the replacement for `.eslintignore` - ignores: ['**/node_modules/**', 'dist/**', '.parcel-cache/**'] - }, - - // extends ... - eslint.configs.recommended, - ...tsEslint.configs.recommended, - - // base config - { - languageOptions: { - globals: { ...globals.es2020, ...globals.browser, ...globals.node }, - parserOptions: { - projectService: true, - tsconfigRootDir, - warnOnUnsupportedTypeScriptVersion: false - } - }, - rules: { - 'arrow-body-style': ['error', 'as-needed'], - 'no-empty-pattern': 'warn', - 'no-console': ['error', { allow: ['warn', 'error', 'info'] }], - 'consistent-return': 'warn', - 'prefer-destructuring': ['error', { object: true, array: true }], - // react - 'react/no-unescaped-entities': 'off', - 'react/self-closing-comp': [ - 'error', - { component: true, html: true } - ], - 'react/jsx-curly-brace-presence': [ - 'error', - { props: 'never', children: 'never' } - ], - 'react/jsx-no-target-blank': 'warn', - 'react/jsx-sort-props': [ - 'error', - { - reservedFirst: true, - callbacksLast: true, - noSortAlphabetically: true - } - ], - // typescript - '@typescript-eslint/no-unused-vars': 'warn', - '@typescript-eslint/no-explicit-any': 'warn', - '@typescript-eslint/no-empty-object-type': 'off', - '@typescript-eslint/no-unsafe-declaration-merging': 'warn', - - // @typescript-eslint + eslint, works together - '@typescript-eslint/consistent-type-definitions': [ - 'error', - 'interface' - ], - 'no-restricted-syntax': [ - 'error', - { - selector: "TSPropertySignature[key.name='children']", - message: - 'Please use PropsWithChildren<T> instead of defining children manually' - } - ], - // stylistic - '@stylistic/padding-line-between-statements': [ - 'error', - { blankLine: 'always', prev: '*', next: 'return' }, - { blankLine: 'always', prev: 'directive', next: '*' }, - { blankLine: 'any', prev: 'directive', next: 'directive' }, - { - blankLine: 'always', - prev: '*', - next: ['enum', 'interface', 'type'] - } - ], - - // simple-import-sort - 'simple-import-sort/exports': 'error', - 'simple-import-sort/imports': 'error', - // spellchecker - '@cspell/spellchecker': [ - 'warn', - { - cspell: { - language: 'en', - dictionaries: [ - 'typescript', - 'node', - 'html', - 'css', - 'bash', - 'npm' - ] - } - } - ] - } - }, - { - ...html.configs['flat/recommended'], - files: ['**/*.html'], - rules: { - '@html-eslint/sort-attrs': [ - 'error', - { priority: ['rel', 'name', 'id', 'type', 'class', 'style'] } - ] - } - }, - eslintConfigPrettier -); diff --git a/index.5c60cf67.css b/index.5c60cf67.css new file mode 100644 index 0000000..b9abf32 --- /dev/null +++ b/index.5c60cf67.css @@ -0,0 +1,3 @@ +/*! tailwindcss v4.0.14 | MIT License | https://tailwindcss.com */ +@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-500:oklch(.623 .214 259.815);--color-neutral-500:oklch(.556 0 0);--color-white:#fff;--spacing:.25rem;--font-weight-bold:700;--default-font-family:var(--font-sans);--default-font-feature-settings:var(--font-sans--font-feature-settings);--default-font-variation-settings:var(--font-sans--font-variation-settings);--default-mono-font-family:var(--font-mono);--default-mono-font-feature-settings:var(--font-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-mono--font-variation-settings)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1;color:color-mix(in oklab,currentColor 50%,transparent)}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.contents{display:contents}.flex{display:flex}.grid{display:grid}.h-full{height:100%}.h-screen{height:100vh}.flex-1{flex:1}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:calc(var(--spacing)*4)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bg-white{background-color:var(--color-white)}.p-4{padding:calc(var(--spacing)*4)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.text-blue-500{color:var(--color-blue-500)}.text-neutral-500{color:var(--color-neutral-500)}.underline{text-decoration-line:underline}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}@property --tw-font-weight{syntax:"*";inherits:false} +/*# sourceMappingURL=index.5c60cf67.css.map */ diff --git a/index.5c60cf67.css.map b/index.5c60cf67.css.map new file mode 100644 index 0000000..99b77eb --- /dev/null +++ b/index.5c60cf67.css.map @@ -0,0 +1 @@ +{"mappings":"mE,a,4vB,Y,oF,+E,wY,yB,+C,8F,wD,wM,4B,0T,oB,8E,kB,c,kE,6B,iC,0B,2B,mF,qC,uM,wL,iE,+E,6C,+E,yB,oD,gE,4C,iD,wC,mD,oD,kD,mD,qD,qD,0D,uD,iC,+E,yC,wC,wC,mE,kB,iB,2B,mB,mB,oB,uB,e,wC,sC,gC,iC,+C,kC,oE,8C,oC,wF,2C,iD,0C,sB,gE,sB,gE,sB,iE","sources":["index.5c60cf67.css","src/index.css"],"sourcesContent":["/*! tailwindcss v4.0.14 | MIT License | https://tailwindcss.com */\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --color-blue-500: oklch(.623 .214 259.815);\n --color-neutral-500: oklch(.556 0 0);\n --color-white: #fff;\n --spacing: .25rem;\n --font-weight-bold: 700;\n --default-font-family: var(--font-sans);\n --default-font-feature-settings: var(--font-sans--font-feature-settings);\n --default-font-variation-settings: var(--font-sans--font-variation-settings);\n --default-mono-font-family: var(--font-mono);\n --default-mono-font-feature-settings: var(--font-mono--font-feature-settings);\n --default-mono-font-variation-settings: var(--font-mono--font-variation-settings);\n }\n}\n\n@layer base {\n *, :after, :before, ::backdrop {\n box-sizing: border-box;\n border: 0 solid;\n margin: 0;\n padding: 0;\n }\n\n ::file-selector-button {\n box-sizing: border-box;\n border: 0 solid;\n margin: 0;\n padding: 0;\n }\n\n html, :host {\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n line-height: 1.5;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n\n body {\n line-height: inherit;\n }\n\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n\n abbr:where([title]) {\n text-decoration: underline dotted;\n }\n\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n\n b, strong {\n font-weight: bolder;\n }\n\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n\n small {\n font-size: 80%;\n }\n\n sub, sup {\n vertical-align: baseline;\n font-size: 75%;\n line-height: 0;\n position: relative;\n }\n\n sub {\n bottom: -.25em;\n }\n\n sup {\n top: -.5em;\n }\n\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n\n :-moz-focusring {\n outline: auto;\n }\n\n progress {\n vertical-align: baseline;\n }\n\n summary {\n display: list-item;\n }\n\n ol, ul, menu {\n list-style: none;\n }\n\n img, svg, video, canvas, audio, iframe, embed, object {\n vertical-align: middle;\n display: block;\n }\n\n img, video {\n max-width: 100%;\n height: auto;\n }\n\n button, input, select, optgroup, textarea {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n opacity: 1;\n background-color: #0000;\n border-radius: 0;\n }\n\n ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n opacity: 1;\n background-color: #0000;\n border-radius: 0;\n }\n\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n\n ::placeholder {\n opacity: 1;\n color: color-mix(in oklab, currentColor 50%, transparent);\n }\n\n textarea {\n resize: vertical;\n }\n\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n\n ::-webkit-datetime-edit {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-year-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-month-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-day-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-hour-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-minute-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-second-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-millisecond-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n\n :-moz-ui-invalid {\n box-shadow: none;\n }\n\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]) {\n appearance: button;\n }\n\n ::file-selector-button {\n appearance: button;\n }\n\n ::-webkit-inner-spin-button {\n height: auto;\n }\n\n ::-webkit-outer-spin-button {\n height: auto;\n }\n\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n\n@layer components;\n\n@layer utilities {\n .contents {\n display: contents;\n }\n\n .flex {\n display: flex;\n }\n\n .grid {\n display: grid;\n }\n\n .h-full {\n height: 100%;\n }\n\n .h-screen {\n height: 100vh;\n }\n\n .flex-1 {\n flex: 1;\n }\n\n .list-inside {\n list-style-position: inside;\n }\n\n .list-decimal {\n list-style-type: decimal;\n }\n\n .flex-col {\n flex-direction: column;\n }\n\n .items-center {\n align-items: center;\n }\n\n .justify-between {\n justify-content: space-between;\n }\n\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n\n .truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n\n .bg-white {\n background-color: var(--color-white);\n }\n\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n\n .text-blue-500 {\n color: var(--color-blue-500);\n }\n\n .text-neutral-500 {\n color: var(--color-neutral-500);\n }\n\n .underline {\n text-decoration-line: underline;\n }\n\n @media (width >= 48rem) {\n .md\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n\n @media (width >= 64rem) {\n .lg\\:grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n\n @media (width >= 80rem) {\n .xl\\:grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n }\n}\n\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false\n}\n/*# sourceMappingURL=index.5c60cf67.css.map */\n","@import 'http://github.com/tailwindcss';\n"],"names":[],"version":3,"file":"index.5c60cf67.css.map"} \ No newline at end of file diff --git a/index.ae813e81.js b/index.ae813e81.js new file mode 100644 index 0000000..04dd9df --- /dev/null +++ b/index.ae813e81.js @@ -0,0 +1,81 @@ +let e,t,r,n,i,o,a,s,l,c,u,d,h,f,p,m,v,b,y,g,_,w,S,E,T,O,x,k,C,A,P,R,j,$,L,M,N,D,I,q,B,F,U,V,z,W,H,K,G,Y,X,J,Z,Q,ee,et,er,en,ei,eo,ea,es,el,ec,eu,ed,eh,ef;function ep(e,t,r,n){Object.defineProperty(e,t,{get:r,set:n,enumerable:!0,configurable:!0})}var em,ev,eb,ey,eg,e_,ew,eS,eE,eT,eO,ex,ek,eC,eA,eP,eR,ej,e$,eL,eM,eN,eD,eI,eq,eB,eF,eU,eV,ez,eW=globalThis,eH={},eK={},eG=eW.parcelRequire94c2;null==eG&&((eG=function(e){if(e in eH)return eH[e].exports;if(e in eK){var t=eK[e];delete eK[e];var r={id:e,exports:{}};return eH[e]=r,t.call(r.exports,r,r.exports),r.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,t){eK[e]=t},eW.parcelRequire94c2=eG);var eY=eG.register;eY("8alBv",function(e,t){Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.VNode=e.exports.VNodeMeta=void 0;var r=eG("ceFTv"),n=eG("8AMcb"),i=eG("kYZOD"),o=function(){this.children=[]};e.exports.VNodeMeta=o;var a=function(e){var t;function o(n){var i,o,a,s,l,c=this,u=n.children,d=r.__rest(n,["children"]);(c=e.call(this)||this).children=[],Object.assign(c,d);try{for(var h=r.__values(u||[]),f=h.next();!f.done;f=h.next()){var p=f.value;(a=c.children).push.apply(a,r.__spreadArray([],r.__read(t.isFragment(p)?p.children||[]:[p]),!1))}}catch(e){i={error:e}}finally{try{f&&!f.done&&(o=h.return)&&o.call(h)}finally{if(i)throw i.error}}try{for(var m=r.__values(c.children),v=m.next();!v.done;v=m.next())v.value.parent=c}catch(e){s={error:e}}finally{try{v&&!v.done&&(l=m.return)&&l.call(m)}finally{if(s)throw s.error}}var b=d.tagName,y=d.is,g=d.props;return(b||(null==g?void 0:g.className)||y)&&(c.selector=[null==b?void 0:b.toLowerCase(),(null==g?void 0:g.className)&&".".concat(g.className.trim().replace(/\s+/,".")),y&&'[is="'.concat(y,'"]')].filter(Boolean).join("")),c}return r.__extends(o,e),o.prototype.walkUp=function(){var e;return r.__generator(this,function(t){switch(t.label){case 0:e=this,t.label=1;case 1:if(!(e=e.parent))return[3,3];return[4,e];case 2:return t.sent(),[3,1];case 3:return[2]}})},o.prototype.namespaceOf=function(e){var t,n;if(i.XMLNamespace[e])return i.XMLNamespace[e];try{for(var o=r.__values(this.walkUp()),a=o.next();!a.done;a=o.next()){var s=a.value.namespace;if(s)return s}}catch(e){t={error:e}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}return i.XMLNamespace.html},o.prototype.createDOM=function(e){void 0===e&&(e=globalThis.document);var t=this.tagName,r=this.is,n=this.text;return this.node=n?e.createTextNode(n):t?e.createElementNS(this.namespace||(this.namespace=this.namespaceOf(t)),t,{is:r}):e.createDocumentFragment()},o.prototype.toJSON=function(){return JSON.parse(JSON.stringify({key:this.key,text:this.text,selector:this.selector,namespace:this.namespace,tagName:this.tagName,is:this.is,props:this.props,style:this.style,children:this.children}))},o.prototype.generateElementXML=function(){var e,o,a,s,l,c,u,d,h,f,p,m,v,b,y,g,_,w,S,E,T,O,x,k;return r.__generator(this,function(C){switch(C.label){case 0:if(e=this,o=e.tagName,a=e.props,s=e.style,l=e.children,c=e.node,!(o.includes("-")&&"html"===(0,i.elementTypeOf)(o)))return[3,2];return(u=((null==c?void 0:c.ownerDocument)||document).implementation.createHTMLDocument().body).innerHTML="<".concat(o,"></").concat(o,">"),d=r.__spreadArray([],r.__read((0,n.findShadowRoots)(u)),!1),[4,u.getHTML({serializableShadowRoots:!0,shadowRoots:d})];case 1:return C.sent(),[3,29];case 2:return h=a.innerHTML,f=r.__rest(a,["innerHTML"]),[4,"<".concat(o)];case 3:for(v in C.sent(),m=[],p=f)m.push(v);b=0,C.label=4;case 4:if(!(b<m.length))return[3,7];if(!((v=m[b])in p))return[3,6];return y=v,[4," ".concat(t.propsMap[y]||y,'="').concat(f[y],'"')];case 5:C.sent(),C.label=6;case 6:return b++,[3,4];case 7:if(!s)return[3,14];return[4,' style="'];case 8:for(w in C.sent(),_=[],g=s)_.push(w);S=0,C.label=9;case 9:if(!(S<_.length))return[3,12];if(!((w=_[S])in g))return[3,11];return y=w,[4,"".concat((0,i.toHyphenCase)(y),":").concat(s[y],";")];case 10:C.sent(),C.label=11;case 11:return S++,[3,9];case 12:return[4,'"'];case 13:C.sent(),C.label=14;case 14:if(!h)return[3,16];return[4,">".concat(h,"</").concat(o,">")];case 15:return C.sent(),[3,29];case 16:if(!l[0])return[3,27];return[4,">"];case 17:C.sent(),C.label=18;case 18:C.trys.push([18,23,24,25]),T=(E=r.__values(l)).next(),C.label=19;case 19:if(T.done)return[3,22];return O=T.value,[5,r.__values(O.generateXML())];case 20:C.sent(),C.label=21;case 21:return T=E.next(),[3,19];case 22:return[3,25];case 23:return x={error:C.sent()},[3,25];case 24:try{T&&!T.done&&(k=E.return)&&k.call(E)}finally{if(x)throw x.error}return[7];case 25:return[4,"</".concat(o,">")];case 26:return C.sent(),[3,29];case 27:return[4,"script"===o?"><\/script>":" />"];case 28:C.sent(),C.label=29;case 29:return[2]}})},o.prototype.generateXML=function(){var e;return r.__generator(this,function(n){switch(n.label){case 0:if(!t.isFragment(this))return[3,5];return[4,"<template"];case 1:if(n.sent(),!(e=(this.node||{}).mode))return[3,3];return[4,' shadowrootmode="'.concat(e,'"')];case 2:n.sent(),n.label=3;case 3:return[4,">"];case 4:case 6:return n.sent(),[3,9];case 5:if(!(null!=this.text))return[3,7];return[4,this.text];case 7:return[5,r.__values(this.generateElementXML())];case 8:n.sent(),n.label=9;case 9:return[2]}})},o.isFragment=function(e){e.key,e.node,e.children;var t=r.__rest(e,["key","node","children"]);for(var n in t)if(!(0,i.isEmpty)(t[n]))return!1;return!0},o.fromDOM=function(e){var r=this;if(e instanceof Text)return new t({node:e,text:e.nodeValue});if(!(e instanceof Element))return new t({node:e});var n=e.namespaceURI,i=e.tagName,o=e.attributes,a=e.style,s=e.childNodes,l={node:e,namespace:n,tagName:i.toLowerCase(),is:e.getAttribute("is")},c=Array.from(o,function(e){var t=e.name,n=e.value;return"style"!==t&&[r.attrsMap[t]||t,n]}).filter(Boolean);c[0]&&(l.props=Object.fromEntries(c));var u=Array.from(a,function(e){return[e,a[e]]});u[0]&&(l.style=Object.fromEntries(u));var d=Array.from(s,function(e){return t.fromDOM(e)});return d[0]&&(l.children=d),new t(l)},t=o,o.propsMap={httpEquiv:"http-equiv",className:"class",htmlFor:"for"},o.attrsMap=Object.fromEntries(Object.entries(t.propsMap).map(function(e){return e.reverse()})),o}(o);e.exports.VNode=a}),eY("ceFTv",function(e,t){ep(e.exports,"__extends",()=>n),ep(e.exports,"__assign",()=>i),ep(e.exports,"__rest",()=>o),ep(e.exports,"__decorate",()=>a),ep(e.exports,"__awaiter",()=>s),ep(e.exports,"__generator",()=>l),ep(e.exports,"__exportStar",()=>u),ep(e.exports,"__values",()=>d),ep(e.exports,"__read",()=>h),ep(e.exports,"__spreadArray",()=>f);var r=function(e,t){return(r=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};function n(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var i=function(){return(i=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function o(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)0>t.indexOf(n[i])&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r}function a(e,t,r,n){var i,o=arguments.length,a=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,r,a):i(t,r))||a);return o>3&&a&&Object.defineProperty(t,r,a),a}function s(e,t,r,n){return new(r||(r=Promise))(function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(a,s)}l((n=n.apply(e,t||[])).next())})}function l(e,t){var r,n,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(l){return function(s){if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(o=0)),o;)try{if(r=1,n&&(i=2&s[0]?n.return:s[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,s[1])).done)return i;switch(n=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,n=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){o.label=s[1];break}if(6===s[0]&&o.label<i[1]){o.label=i[1],i=s;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(s);break}i[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],n=0}finally{r=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}var c=Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]};function u(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||c(t,e,r)}function d(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function h(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}function f(e,t,r){if(r||2==arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError}),eY("8AMcb",function(e,t){var r=e.exports&&e.exports.__generator||function(e,t){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(l){return function(s){if(r)throw TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(i=2&s[0]?n.return:s[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,s[1])).done)return i;switch(n=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){a.label=s[1];break}if(6===s[0]&&a.label<i[1]){a.label=i[1],i=s;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(s);break}i[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}},n=e.exports&&e.exports.__read||function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a},i=e.exports&&e.exports.__spreadArray||function(e,t,r){if(r||2==arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))},o=e.exports&&e.exports.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};!function(t){if("object"==typeof e.exports){var r=t(void 0,e.exports);void 0!==r&&(e.exports=r)}else"function"==typeof define&&define.amd&&define(["require","exports"],t)}(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.findShadowRoots=function e(t){var n,i,a;return r(this,function(r){switch(r.label){case 0:n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:function(e){return e instanceof HTMLElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}}),i=null,r.label=1;case 1:if(!(i=n.nextNode()))return[3,5];if(!(a=h.get(i)))return[3,4];return[4,a];case 2:return r.sent(),[5,o(e(a))];case 3:r.sent(),r.label=4;case 4:return[3,1];case 5:return[2]}})},t.generateHTML=f,t.getHTML=p,t.attachDeclarativeShadowRoots=m,t.setHTMLUnsafe=v,t.parseHTMLUnsafe=g;var a,s,l,c,u=new XMLSerializer,d=HTMLElement.prototype.attachShadow,h=new WeakMap;function f(e,t){var o,a,s,l,c,d,p,m,v=void 0===t?{}:t,b=v.serializableShadowRoots,y=v.shadowRoots;return r(this,function(t){switch(t.label){case 0:if(y=(null==y?void 0:y.filter(Boolean))||[],!(!b||!y[0]))return[3,2];return[4,e.innerHTML];case 1:return t.sent(),[2];case 2:o=document.createTreeWalker(e,NodeFilter.SHOW_ALL,{acceptNode:function(t){return t===e||t instanceof SVGElement?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT}}),a=null,t.label=3;case 3:if(!(a=o.nextNode()))return[3,19];if(!(a instanceof CDATASection))return[3,5];return[4,"<![CDATA[".concat(a.nodeValue,"]]>")];case 4:case 6:case 8:case 10:return t.sent(),[3,16];case 5:if(!(a instanceof Text))return[3,7];return[4,a.nodeValue||""];case 7:if(!(a instanceof Comment))return[3,9];return[4,"\x3c!--".concat(a.nodeValue,"--\x3e")];case 9:if(!(a instanceof SVGElement))return[3,11];return[4,u.serializeToString(a)];case 11:if(!(a instanceof Element))return[3,16];return s=a.tagName.toLowerCase(),l=i([],n(a.attributes),!1).map(function(e){var t=e.name,r=e.value;return"".concat(t,"=").concat(JSON.parse(r))}),c=h.get(a),[4,"<".concat(i([s],n(l),!1).join(" "),">")];case 12:if(t.sent(),!(c&&y.includes(c)))return[3,14];return d=i([],n(f(c,{serializableShadowRoots:b,shadowRoots:y})),!1).join(""),[4,'<template shadowrootmode="'.concat(c.mode,'">').concat(d,"</template>")];case 13:t.sent(),t.label=14;case 14:if(a.childNodes[0])return[3,16];return[4,"</".concat(s,">")];case 15:t.sent(),t.label=16;case 16:if(p=a.nextSibling,m=a.parentElement,!(!p&&m&&m!==e))return[3,18];return[4,"</".concat(m.tagName.toLowerCase(),">")];case 17:t.sent(),t.label=18;case 18:return[3,3];case 19:return[2]}})}function p(e){return void 0===e&&(e={}),i([],n(f(this,e)),!1).join("")}function m(e){var t,r,n=e.querySelectorAll("template[shadowrootmode]");try{for(var i=o(n),a=i.next();!a.done;a=i.next()){var s=a.value,l=s.parentElement,c=s.content,u=l.attachShadow({mode:s.getAttribute("shadowrootmode")});u.append(c),s.remove(),m(u)}}catch(e){t={error:e}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}}function v(e){this.innerHTML=e,m(this)}HTMLElement.prototype.attachShadow=function(e){var t=d.call(this,e);return h.set(this,t),t};var b=new DOMParser,y=function(e){return m((void 0===e?document:e).documentElement)};function g(e){var t=b.parseFromString(e,"text/html");return y(t),t}(a=Element.prototype).getHTML||(a.getHTML=p),(s=Element.prototype).setHTMLUnsafe||(s.setHTMLUnsafe=v),(l=ShadowRoot.prototype).getHTML||(l.getHTML=p),(c=ShadowRoot.prototype).setHTMLUnsafe||(c.setHTMLUnsafe=v),Document.parseHTMLUnsafe||(Document.parseHTMLUnsafe=g),new Promise(function(e){"complete"===document.readyState?e():(document.addEventListener("DOMContentLoaded",e),window.addEventListener("load",e))}).then(function(){return y()})})}),eY("kYZOD",function(e,t){function r(e,t,r,n){Object.defineProperty(e,t,{get:r,set:n,enumerable:!0,configurable:!0})}ep(e.exports,"isEmpty",()=>m),ep(e.exports,"toHyphenCase",()=>w),ep(e.exports,"toCamelCase",()=>S),ep(e.exports,"DiffStatus",()=>O),ep(e.exports,"diffKeys",()=>x),ep(e.exports,"groupBy",()=>R),ep(e.exports,"likeArray",()=>k),ep(e.exports,"isTypedArray",()=>C),ep(e.exports,"createAsyncIterator",()=>L),ep(e.exports,"parseJSON",()=>Q),ep(e.exports,"isXDomain",()=>en),ep(e.exports,"parseURLData",()=>ei),ep(e.exports,"buildURLData",()=>ea),ep(e.exports,"XMLNamespace",()=>ev),ep(e.exports,"templateOf",()=>ey),ep(e.exports,"elementTypeOf",()=>eg),ep(e.exports,"isHTMLElementClass",()=>e_),ep(e.exports,"tagNameOf",()=>eS),ep(e.exports,"stringifyDOM",()=>eO),ep(e.exports,"getVisibleText",()=>ek),ep(e.exports,"importCSS",()=>eA),ep(e.exports,"scrollTo",()=>eR),ep(e.exports,"formToJSON",()=>eL),ep(e.exports,"delegate",()=>eq),ep(e.exports,"documentReady",()=>eB),ep(e.exports,"serviceWorkerUpdate",()=>ez);var n,i={};r(i,"likeNull",function(){return p}),r(i,"isEmpty",function(){return m}),r(i,"classNameOf",function(){return v}),r(i,"assertInheritance",function(){return b}),r(i,"proxyPrototype",function(){return y}),r(i,"isUnsafeNumeric",function(){return g}),r(i,"byteLength",function(){return _}),r(i,"toHyphenCase",function(){return w}),r(i,"toCamelCase",function(){return S}),r(i,"uniqueID",function(){return E}),r(i,"objectFrom",function(){return T}),r(i,"DiffStatus",function(){return O}),r(i,"diffKeys",function(){return x}),r(i,"groupBy",function(){return R}),r(i,"likeArray",function(){return k}),r(i,"isTypedArray",function(){return C}),r(i,"makeArray",function(){return A}),r(i,"splitArray",function(){return P}),r(i,"findDeep",function(){return function e(t,r,n){for(let i of t){if(n(i))return[i];if(i[r]instanceof Array){let t=e(i[r],r,n);if(t.length)return[i,...t]}}return[]}}),r(i,"countBy",function(){return j}),r(i,"cache",function(){return $}),r(i,"createAsyncIterator",function(){return L}),r(i,"mergeStream",function(){return M}),r(i,"ByteSize",function(){return N});var o={};function a(...e){return e.reduce((e,t)=>e+t,0)}function s(...e){return a(...e)/e.length}function l(e,t=!1){let r=s(...e);return a(...e.map(e=>(e-r)**2))/(e.length-(t?1:0))}function c(e,t=!1){return Math.sqrt(l(e,t))}function u(...e){return Math.sqrt(a(...e.map(e=>e**2)))}function d(e,t){let r=e.toFixed(t+2),n=r.indexOf(".")+t+1,i=e=>e.slice(0,n-(t?0:1));if(!+r.slice(n))return i(r);let o=i((+i(r)+10**-t).toFixed(t));return o.includes(".")?o.padEnd(n,"0"):o}function h(e,t=2){let r=e.toFixed(t+2),n=r.indexOf(".");if(n<0)return t?`${r}.${"0".repeat(t)}`:r;let i=n+t+1,o=+r[i-1],a=+r[i],s=+r[i+1];if(a>5||5===a&&(s||o%2))return d(e,t);let l=r.slice(0,i-(t?0:1));return l.includes(".")?l.padEnd(i,"0"):l}r(o,"sum",function(){return a}),r(o,"averageOf",function(){return s}),r(o,"varianceOf",function(){return l}),r(o,"standardDeviationOf",function(){return c}),r(o,"hypotenuseOf",function(){return u}),r(o,"carryFloat",function(){return d}),r(o,"fixFloat",function(){return h}),r(o,"Scalar",function(){return f});class f{constructor(e){this.value=e}valueOf(){return this.value}toShortString(e=2){let{units:t,value:r}=this,{base:n,name:i}=[...t].reverse().find(({base:e})=>Math.abs(r)>=e)||t[0];return`${(r/n).toFixed(e)} ${i}`}static distanceOf(e,t){return Reflect.construct(this,[e-t])}}function p(e){return!(null!=e)||Number.isNaN(e)}function m(e){return p(e)||("object"==typeof e?!Object.keys(e).length:""===e)}let v=e=>Object.prototype.toString.call(e).slice(8,-1);function b(e,t){return e.prototype instanceof t}function y(e,t,r){let n=Object.getPrototypeOf(e);Object.setPrototypeOf(e,new Proxy(n,{set:(e,i,o,a)=>(i in a?Reflect.set(n,i,o,a):t[i]=o,r?.(i,o),!0),get:(e,r,n)=>r in t?t[r]:Reflect.get(e,r,n)}))}function g(e){return/^[\d.]+$/.test(e)&&e.localeCompare(Number.MAX_SAFE_INTEGER+"",void 0,{numeric:!0})>0}function _(e){return e.replace(/[^\u0021-\u007e\uff61-\uffef]/g,"xx").length}function w(e){return e.replace(/[A-Z]+|[^A-Za-z][A-Za-z]/g,(e,t)=>`${t?"-":""}${(e[1]||e[0]).toLowerCase()}`)}function S(e,t=!1){return e.replace(/^[A-Za-z]|[^A-Za-z][A-Za-z]/g,(e,r)=>r||t?(e[1]||e[0]).toUpperCase():e.toLowerCase())}function E(){return(Date.now()+parseInt((Math.random()+"").slice(2))).toString(36)}function T(e,t){return Object.fromEntries(e.map((e,r)=>[t[r],e]))}var O=((n={})[n.Old=-1]="Old",n[n.Same=0]="Same",n[n.New=1]="New",n);function x(e,t){let r={};for(let t of e)r[t]=-1;for(let e of t)r[e]||=0,r[e]+=1;return{map:r,group:R(Object.entries(r),([e,t])=>t)}}function k(e){if(p(e))return!1;let{length:t}=e;return"number"==typeof t&&t>=0&&~~t===t}let C=e=>e instanceof Object.getPrototypeOf(Int8Array);function A(e){return e instanceof Array?e:p(e)?[]:k(e)?Array.from(e):[e]}let P=(e,t)=>e.reduce((e,r,n)=>((e[~~(n/t)]||=[])[n%t]=r,e),[]);function R(e,t){let r={};for(let n of e){let e=t instanceof Function?t(n):n[t];for(let t of(e instanceof Array||(e=[e]),new Set(e.filter(e=>null!=e))))(r[t]=r[t]||[]).push(n)}return r}function j(e,t){return Object.fromEntries(Object.entries(R(e,t)).map(([e,{length:t}])=>[e,t]))}function $(e,t){var r;return function(...n){return null!=r||(console.trace(`[Cache] execute: ${t}`),Promise.resolve(r=e.call(this,()=>r=void 0,...n)).then(e=>console.log(`[Cache] refreshed: ${t} => ${e}`),e=>console.error(`[Cache] failed: ${e?.message||e}`))),r}}async function*L(e){let{promise:t,resolve:r,reject:n}=Promise.withResolvers(),i=Symbol("done"),o=Promise.withResolvers(),a=e({next:e=>r(e),error:e=>{n(e),a?.()},complete:()=>{o.resolve(i),a?.()}});for(;;){let e=await Promise.race([t,o.promise]);if(e===i)return;yield e,{promise:t,resolve:r,reject:n}=Promise.withResolvers()}}async function*M(...e){for(var t=e.map(e=>e());t[0];){let e=[];for(let r=0,n;n=t[r];r++){let{done:t,value:i}=await n.next();t?e.push(r):yield i}t=t.filter((t,r)=>!e.includes(r))}}class N extends f{constructor(...e){super(...e),this.units=["","K","M","G","T","P","E","Z","Y"].map((e,t)=>({base:1024**t,name:e+"B"}))}}var D={};r(D,"Second",function(){return I}),r(D,"Minute",function(){return q}),r(D,"Quarter",function(){return B}),r(D,"Hour",function(){return F}),r(D,"Day",function(){return U}),r(D,"Week",function(){return V}),r(D,"Year",function(){return z}),r(D,"Month",function(){return W}),r(D,"Season",function(){return H}),r(D,"Timestamp",function(){return K}),r(D,"diffTime",function(){return G}),r(D,"formatDate",function(){return X}),r(D,"changeMonth",function(){return J});let I=1e3,q=6e4,B=9e5,F=36e5,U=864e5,V=6048e5,z=31536e6,W=2628e6,H=7884e6;class K extends f{toShortString(e=0){return super.toShortString(e)}constructor(...e){super(...e),this.units=[{base:I,name:"s"},{base:q,name:"m"},{base:F,name:"H"},{base:U,name:"D"},{base:V,name:"W"},{base:W,name:"M"},{base:z,name:"Y"}]}}function G(e,t=new Date){let[r,n]=K.distanceOf(+new Date(e),+new Date(t)).toShortString().split(/\s+/);return{distance:+r,unit:n}}function Y(e){return e=+e+"",t=>(e.length<t.length?e.padStart(t.length,"0"):e).slice(-Math.max(t.length,2))}function X(e=new Date,t="YYYY-MM-DD HH:mm:ss"){let[r,n,i,o,a,s,l]=(e=new Date(+(e=e instanceof Date?e:new Date(e))-e.getTimezoneOffset()*q)).toJSON().split(/\D/);return t.replace(/ms/g,l).replace(/Y+/g,Y(r)).replace(/M+/g,Y(n)).replace(/D+/g,Y(i)).replace(/H+/g,Y(o)).replace(/m+/g,Y(a)).replace(/s+/g,Y(s))}function J(e,t){let r=(e=new Date(e)).getMonth()+t;return e.setFullYear(e.getFullYear()+Math.floor(r/12)),t=r%12,e.setMonth(t<0?12+t:t),e}var Z={};function Q(e){function t(e){if("string"==typeof e&&/^\d+(-\d{1,2}){1,2}/.test(e)){let t=new Date(e);if(!Number.isNaN(+t))return t}return e}let r=t(e);if("string"!=typeof r||g(r))return r;try{return JSON.parse(e,(e,r)=>t(r))}catch{return e}}function ee(e){let t=Q(e);if("string"!=typeof t)return t;let r=+t;return Number.isNaN(r)||r+""!==t?t:r}function et(e,t,r=","){let n=e.trim().split(/[\r\n]+/).map(e=>{let t=[];do{let n;if('"'===e[0]||"'"===e[0])n=function(e){let t=e[0],r=e.indexOf(t,1);if(r<0)throw SyntaxError(`A ${t} is missing`);return e.slice(1,r)}(e),e=e.slice(n.length+3);else{let t=e.indexOf(r);t>-1?(n=e.slice(0,t),e=e.slice(t+1)):(n=e,e="")}t.push(ee(n.trim()))}while(e)return t});return t?n.slice(1).map(e=>e.reduce((e,t,r)=>(e[n[0][r]]=t,e),{})):n}r(Z,"parseJSON",function(){return Q}),r(Z,"toJSValue",function(){return ee}),r(Z,"parseTextTable",function(){return et});var er={};function en(e){return new URL(e,document.baseURI).origin!==location.origin}function ei(e=globalThis.location?.search,t=!0){let r=e.split("#").map(e=>{let[t,r]=e.split("?");return new URLSearchParams(r||(t.includes("=")?t:""))}).join("&"),n=new URLSearchParams(r);return Object.fromEntries([...n.keys()].map(e=>{let r=t?n.getAll(e).map(Q):n.getAll(e);return[e,r.length<2?r[0]:r]}))}r(er,"isXDomain",function(){return en}),r(er,"parseURLData",function(){return ei}),r(er,"buildURLData",function(){return ea}),r(er,"blobOf",function(){return es}),r(er,"blobFrom",function(){return ec});let eo=e=>"string"==typeof e?e:k(e)?A(e)+"":JSON.stringify(e);function ea(e){return e instanceof Array||(e=Object.entries(e)),new URLSearchParams(e.map(([e,t])=>!m(t)&&[e,eo(t)]).filter(Boolean))}async function es(e){return(await fetch(e+"")).blob()}let el=/^data:(.+?\/(.+?))?(;base64)?,([\s\S]+)/;function ec(e){var[t,r,n,i,o]=el.exec(e)||[];let a=new ArrayBuffer((o=i?atob(o):o).length),s=new Uint8Array(a);for(let e=0;o[e];e++)s[e]=o.charCodeAt(e);return new Blob([a],{type:r})}var eu={};r(eu,"makeCRC32",function(){return eh}),r(eu,"makeSHA",function(){return ef});let ed=Array.from(Array(256),(e,t)=>{for(var r=0;r<8;r++)t=1&t?t>>1&0x7fffffff^0xedb88320:t>>1&0x7fffffff;return t});function eh(e){var t=0xffffffff;for(let r of e)t=t>>8&0xffffff^ed[255&t^r.charCodeAt(0)];return"0x"+((0xffffffff^t)>>>0).toString(16)}if("object"==typeof self){if("msCrypto"in globalThis){let{subtle:e}=globalThis.crypto=globalThis.msCrypto;for(let t in e){let r=e[t];r instanceof Function&&(e[t]=function(){let e=r.apply(this,arguments);return new Promise((t,r)=>{e.oncomplete=({target:e})=>t(e.result),e.onabort=e.onerror=r})})}}let{crypto:e}=globalThis;!e?.subtle&&e?.webkitSubtle&&(e.subtle=e.webkitSubtle)}async function ef(e,t="SHA-1"){return Array.from(new Uint8Array(await crypto.subtle.digest(t,new TextEncoder().encode(e))),e=>e.toString(16).padStart(2,"0")).join("")}var em={};r(em,"XMLNamespace",function(){return ev}),r(em,"templateOf",function(){return ey}),r(em,"elementTypeOf",function(){return eg}),r(em,"isHTMLElementClass",function(){return e_}),r(em,"tagNameOf",function(){return eS}),r(em,"isDOMReadOnly",function(){return eE}),r(em,"parseDOM",function(){return eT}),r(em,"stringifyDOM",function(){return eO}),r(em,"walkDOM",function(){return ex}),r(em,"getVisibleText",function(){return ek}),r(em,"splitPages",function(){return eC}),r(em,"importCSS",function(){return eA}),r(em,"stringifyCSS",function(){return function e(t,r=0,n=" "){let i=n.repeat(r);return Object.entries(t).map(([t,o])=>"object"!=typeof o?`${i}${w(t)}: ${o};`:`${i}${t} { +${e(o,r+1,n)} +${i}}`).join("\n")}}),r(em,"insertToCursor",function(){return eP}),r(em,"scrollTo",function(){return eR}),r(em,"watchScroll",function(){return ej}),r(em,"watchVisible",function(){return e$}),r(em,"formToJSON",function(){return eL});let ev={html:"http://www.w3.org/1999/xhtml",svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},eb={};function ey(e){if(eb[e])return eb[e];let t=document.createElement("template");return t.innerHTML=`<${e} />`,eb[e]=t.content.firstElementChild}function eg(e){if(e.includes("-"))return"html";let[t,r]=e.split(":");if(r)return"html"===t?"html":"xml";let n=ey(e);return n instanceof HTMLElement&&!(n instanceof HTMLUnknownElement)?"html":"xml"}function e_(e){return b(e,HTMLElement)}let ew=new WeakMap;function eS(e){let t=ew.get(e);if(t)return t;var{tagName:r}=new e;return ew.set(e,r=r.toLowerCase()),r}function eE(e,t){let r=[[HTMLLinkElement,["sizes"]],[HTMLIFrameElement,["sandbox"]],[HTMLObjectElement,["form"]],[HTMLInputElement,["form","list"]],[HTMLButtonElement,["form"]],[HTMLSelectElement,["form"]],[HTMLTextAreaElement,["form"]],[HTMLOutputElement,["form"]],[HTMLFieldSetElement,["form"]]],n=ey(e);for(let[e,i]of r)if(n instanceof e&&i.includes(t))return!0;return!1}function eT(e){let t=document.createElement("template");return t.innerHTML=e,[...t.content.childNodes].map(e=>(e.remove(),e))}function eO(e){return new XMLSerializer().serializeToString(e).replace(/ xmlns="http:\/\/www.w3.org\/1999\/xhtml"/g,"")}function*ex(e,t){let r=[...e.childNodes];for(let n of((m(t)||t===e.nodeType)&&(yield e),r))yield*ex(n,t)}function ek(e){var t="";for(let{nodeType:r,parentElement:n,nodeValue:i}of ex(e))if(r===Node.TEXT_NODE&&"true"!==n.getAttribute("aria-hidden")){let{width:e,height:r}=n.getBoundingClientRect();e&&r&&(t+=i.trim().replace(/\s+/g," "))}return t}function eC({offsetWidth:e,children:t},r=841.89,n=595.28){let i=r/n*e;var o=0;return[...t].reduce((e,t)=>{var{offsetTop:r,offsetHeight:n}=t;let a=((r+=o)+n)/i,s=~~a;return~~(r/i)!==s&&(o+=n-a),(e[s]||=[]).push(t),e},[])}function eA(e,{alternate:t,...r}={}){let n=[...document.styleSheets].find(({href:t})=>t===e);if(n)return Promise.resolve(n);let i=document.createElement("link");return new Promise((n,o)=>{i.onload=()=>n(i.sheet),i.onerror=(e,t,r,n,i)=>o(i),Object.assign(i,r),i.rel=(t?"alternate ":"")+"stylesheet",i.href=e,document.head.append(i)})}function eP(...e){let t=document.createDocumentFragment();for(let r of(t.append(...e),ex(t)))(![1,3,11].includes(r.nodeType)||["meta","title","link","script"].includes(r.nodeName.toLowerCase()))&&r.replaceWith(...r.childNodes);let r=globalThis.getSelection();if(!r)return;let n=r.getRangeAt(0);n.deleteContents(),n.insertNode(t)}function eR(e,t,r,n){let[i,o]=/^#(.+)/.exec(e)||[];"top"===o?window.scrollTo({top:0,left:0,behavior:"smooth"}):(t||document).querySelector(o?`[id="${o}"]`:e)?.scrollIntoView({behavior:"smooth",block:r,inline:n})}function ej(e,t,r=6){return Array.from(e.querySelectorAll(Array.from(Array(r),(e,t)=>`h${++t}`)+""),e=>(new IntersectionObserver(([e])=>{if(!e.isIntersecting)return;let r=e.target;t({target:r,links:[...r.ownerDocument.querySelectorAll(`[href="#${r.id}"]`)]})}).observe(e),e.id.trim()||(e.id=e.textContent.trim().replace(/\W+/g,"-")),{level:+e.tagName[1],id:e.id,text:e.textContent.trim()}))}function e$(e,t){var r="visible"===document.visibilityState?1:0;function n(e){(3===e||3===r)&&t(3===e),r=e}new IntersectionObserver(([{isIntersecting:e}])=>n(e?2|r:1&r)).observe(e),document.addEventListener("visibilitychange",()=>n("visible"===document.visibilityState?1|r:2&r))}function eL(e){let t={};for(let r of e.elements){let{name:n,value:i,checked:o,defaultValue:a,selectedOptions:s,files:l}=r,c=r.type;if(!n||""===i)continue;let u="fieldset"!==c&&r.closest("fieldset");if(u&&u!==e)continue;let d=i;switch(c){case"radio":case"checkbox":if(!o)continue;d=!a||ee(a);break;case"select-multiple":d=Array.from(s,({value:e})=>ee(e));break;case"fieldset":d=eL(r);break;case"file":d=l&&Array.from(l);break;case"date":case"datetime-local":case"month":case"hidden":case"number":case"range":case"select-one":d=ee(i)}n in t?t[n]=[].concat(t[n],d):t[n]=d instanceof Array&&m(d[1])?d[0]:d}return t}var eM={};function eN(e=1){return new Promise(t=>setTimeout(t,1e3*e))}function eD(e,t=1){var r=!1;return(async()=>{for(;!r;){let r=e();r instanceof Promise&&await r,await eN(t)}})(),()=>r=!0}r(eM,"sleep",function(){return eN}),r(eM,"asyncLoop",function(){return eD});var eI={};function eq(e,t){return function(r){for(var n,i=r.composedPath();(n=i.shift())&&n!==r.currentTarget;)if(n instanceof HTMLElement&&n.matches(e))return t.call(this,r,n,r.detail)}}r(eI,"delegate",function(){return eq}),r(eI,"documentReady",function(){return eB}),r(eI,"promisify",function(){return eF}),r(eI,"createMessageServer",function(){return eU}),r(eI,"createMessageClient",function(){return eV}),r(eI,"serviceWorkerUpdate",function(){return ez});let eB="undefined"!=typeof window?new Promise(e=>{function t(){document?.removeEventListener("DOMContentLoaded",t),window.removeEventListener("load",t),e()}document?.addEventListener("DOMContentLoaded",t),window.addEventListener("load",t),setTimeout(function t(){document?.readyState==="complete"?e():setTimeout(t)})}):Promise.resolve();function eF(e,t){return new Promise((r,n)=>{function i(e){r(e),a()}function o(e){n(e),a()}function a(){t.removeEventListener(e+"end",i),t.removeEventListener(e+"cancel",o)}t.addEventListener(e+"end",i),t.addEventListener(e+"cancel",o)})}function eU(e){async function t({data:{type:t,id:r,...n},source:i,origin:o}){var a=e[t]?.(n);a instanceof Promise&&(a=await a),i.postMessage({...a,id:r},o)}return globalThis.addEventListener("message",t),()=>globalThis.removeEventListener("message",t)}function eV(e,t="*"){return(r,n)=>new Promise(i=>{let o=E();globalThis.addEventListener("message",function e({data:{id:t,...r}}){t===o&&(i(r),globalThis.removeEventListener("message",e))}),e.postMessage({id:o,type:r,...n},t)})}function ez(e){return new Promise(t=>{if(e.waiting)return t(e.waiting);e.onupdatefound=()=>e.installing?.addEventListener("statechange",function(){"installed"===this.state&&navigator.serviceWorker.controller&&t(this)})})}var eW={};r(eW,"PageVector",function(){return eH}),r(eW,"getSwipeVector",function(){return eK}),r(eW,"durationOf",function(){return eG}),r(eW,"watchMotion",function(){return eY}),r(eW,"transitIn",function(){return eZ}),r(eW,"animateIn",function(){return eQ}),r(eW,"transitOut",function(){return e0}),r(eW,"animateOut",function(){return e1});class eH{constructor(e,t){this.from=e,this.to=t}get length(){let{from:e,to:t}=this;return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)+(null!=t.z?Math.pow(t.z-e.z,2):0))}get direction(){let{from:e,to:t}=this,r=t.x-e.x,n=t.y-e.y,i=t.z-e.z,o=Math.abs(r),a=Math.abs(n),s=Math.abs(i);switch(isNaN(s)?Math.max(o,a):Math.max(o,a,s)){case o:return r>0?"right":"left";case a:return n>0?"forward":"backward";case s:return i>0?"up":"down"}}}function eK(e,t,r=6*parseInt(getComputedStyle(document.body).fontSize)){let n=new eH(e,t);if(n.length>=r&&!getSelection()?.toString().trim())return n}function eG(e,t){let{transitionDuration:r,animationDuration:n}=getComputedStyle(t),i="animation"===e?n:r;return parseFloat(i)*("ms"===i.slice(-2)?1:1e3)}function eY(e,t){return Promise.race([eF(e,t).catch(e=>Promise.resolve(e)),new Promise(r=>setTimeout(r,eG(e,t)))])}function eX(e,t,r,n){t.style.display=n;let i=eY(e,t);return new Promise(e=>requestAnimationFrame(()=>{t.classList.add(r),i.then(e)}))}async function eJ(e,t,r,n){let i=eY(e,t);t.classList.remove(r),await i,n?t.remove():t.style.display="none"}function eZ(e,t,r="block"){return eX("transition",e,t,r)}function eQ(e,t,r="block"){return eX("animation",e,t,r)}function e0(e,t,r){return eJ("transition",e,t,r)}function e1(e,t,r){return eJ("animation",e,t,r)}var e2={};async function e3(e,t){console.log(e),console.time(e),await t(),console.timeEnd(e)}async function e5(e,t,r=3){async function n(){throw await eN(r),RangeError("Timed out")}console.time(e=" "+e);try{return await Promise.race([t(t=>console.assert(t,e)),n()])}finally{console.timeEnd(e)}}r(e2,"describe",function(){return e3}),r(e2,"it",function(){return e5})}),eY("e1Ksv",function(e,t){Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.DOMRenderer=void 0;var r=eG("ceFTv");eG("8BuuC");var n=eG("flxkr"),i=eG("kYZOD"),o=eG("8alBv"),a=function(){function e(){var e=this;this.eventPattern=/^on[A-Z]/,this.ariaPattern=/^aira[A-Z]/,this.document=globalThis.document,this.treeCache=new WeakMap,this.signalCache=new WeakMap,this.keyOf=function(e,t){var r=e.key,n=e.text,i=e.props,o=e.selector;return(null==r?void 0:r.toString())||(null==i?void 0:i.id)||(n||o||"")+t},this.vNodeOf=function(t,r){return t.find(function(t,n){return"".concat(e.keyOf(t,n))===String(r)})},this.propsKeyOf=function(t){return t.startsWith("aria-")?(0,i.toCamelCase)(t):e.eventPattern.test(t)?t.toLowerCase():t},this.attrsNameOf=function(e){return o.VNode.propsMap[e]||e},this.removeProperty=function(t,r){return e.eventPattern.test(r)?t[r.toLowerCase()]=null:t.removeAttribute(e.ariaPattern.test(r)?(0,i.toHyphenCase)(r):e.attrsNameOf(r))},this.setProperty=function(t,r,n){if((0,i.templateOf)(t.tagName)&&"xml"===(0,i.elementTypeOf)(t.tagName)||r.includes("-"))t.setAttribute(e.attrsNameOf(r),n);else try{var o=e.propsKeyOf(r);!e.eventPattern.test(r)||o in t||e.handleCustomEvent(t,o.slice(2)),t[o]=n}catch(i){t.setAttribute(e.attrsNameOf(r),n)}}}return e.prototype.updateProps=function(e,t,n,o,a){void 0===t&&(t={}),void 0===n&&(n={});var s,l,c,u,d=(0,i.diffKeys)(Object.keys(t),Object.keys(n)).group;try{for(var h=r.__values(d[i.DiffStatus.Old]||[]),f=h.next();!f.done;f=h.next()){var p=r.__read(f.value,1)[0];null==o||o(e,p)}}catch(e){s={error:e}}finally{try{f&&!f.done&&(l=h.return)&&l.call(h)}finally{if(s)throw s.error}}try{for(var m=r.__values(r.__spreadArray(r.__spreadArray([],r.__read(d[i.DiffStatus.Same]||[]),!1),r.__read(d[i.DiffStatus.New]||[]),!1)),v=m.next();!v.done;v=m.next()){var p=r.__read(v.value,1)[0];t[p]!==n[p]&&(a instanceof Function?a(e,p,n[p]):Reflect.set(e,p,n[p]))}}catch(e){c={error:e}}finally{try{v&&!v.done&&(u=m.return)&&u.call(m)}finally{if(c)throw c.error}}},e.prototype.deleteNode=function(e){var t=e.ref,r=e.node,n=e.children;r instanceof DocumentFragment?null==n||n.forEach(this.deleteNode):r&&(r.remove(),null==t||t())},e.prototype.commitChild=function(e,t,r){void 0===r&&(r=0);var n=e.childNodes[r];n!==t&&(n?n.before(t):e.append(t))},e.prototype.diffVChildren=function(e,t){var n,a,s,l,c,u,d,h,f,p,m,v,b,y,g,_,w,S,E,T,O,x,k,C=this;return r.__generator(this,function(A){switch(A.label){case 0:t.children=t.children.map(function(e){return new o.VNode(e)}),a=(n=(0,i.diffKeys)(e.children.map(this.keyOf),t.children.map(this.keyOf))).map,l=(s=n.group)[i.DiffStatus.Old]&&(0,i.groupBy)(s[i.DiffStatus.Old].map(function(t){var n=r.__read(t,1)[0];return C.vNodeOf(e.children,n)}),function(e){return e.selector+""}),A.label=1;case 1:A.trys.push([1,7,8,9]),u=(c=r.__values(t.children.entries())).next(),A.label=2;case 2:if(u.done)return[3,6];return h=(d=r.__read(u.value,2))[0],f=d[1],m=a[p=this.keyOf(f,h)]===i.DiffStatus.Same?this.vNodeOf(e.children,p):null===(k=null==l?void 0:l[f.selector])||void 0===k?void 0:k.shift(),[4,{index:h,oldVNode:m,newVNode:f}];case 3:if(A.sent(),!((null==m?void 0:m.children[0])||f.children[0]))return[3,5];return m||(m=new o.VNode(r.__assign(r.__assign({},f),{children:[]}))),[5,r.__values(this.diffVChildren(m,f))];case 4:A.sent(),A.label=5;case 5:return u=c.next(),[3,2];case 6:return[3,9];case 7:return E={error:A.sent()},[3,9];case 8:try{u&&!u.done&&(T=c.return)&&T.call(c)}finally{if(E)throw E.error}return[7];case 9:for(y in b=[],v=l)b.push(y);g=0,A.label=10;case 10:if(!(g<b.length))return[3,19];if(!((y=b[g])in v))return[3,18];_=y,A.label=11;case 11:A.trys.push([11,16,17,18]),O=void 0,S=(w=r.__values(l[_])).next(),A.label=12;case 12:if(S.done)return[3,15];return[4,{oldVNode:S.value}];case 13:A.sent(),A.label=14;case 14:return S=w.next(),[3,12];case 15:return[3,18];case 16:return O={error:A.sent()},[3,18];case 17:try{S&&!S.done&&(x=w.return)&&x.call(w)}finally{if(O)throw O.error}return[7];case 18:return g++,[3,10];case 19:return[2]}})},e.prototype.handleCustomEvent=function(e,t){var r;Object.defineProperty(e,"on".concat(t),{set:function(n){r&&e.removeEventListener(t,r),e.addEventListener(t,r=n)},get:function(){return r}})},e.prototype.patchNode=function(e,t){return this.updateProps(e.node,e.props,t.props,this.removeProperty,this.setProperty),this.updateProps(e.node.style,e.style,t.style,function(e,t){return e.removeProperty((0,i.toHyphenCase)(t))},function(e,t,r){return e.setProperty((0,i.toHyphenCase)(t),r)}),t.node||(t.node=e.node),t},e.prototype.generateDOM=function(e,t){var n,i,a,s,l,c,u,d,h,f,p,m,v;return r.__generator(this,function(b){switch(b.label){case 0:return o.VNode.isFragment(t)&&(t=new o.VNode(r.__assign(r.__assign({},e),{children:t.children}))),[4,this.patchNode(e,t)];case 1:b.sent(),b.label=2;case 2:b.trys.push([2,7,8,9]),i=(n=r.__values(this.diffVChildren(e,t))).next(),b.label=3;case 3:if(i.done)return[3,6];if(s=(a=i.value).index,l=a.oldVNode,!(c=a.newVNode))return this.deleteNode(l),[3,5];return u=!l,l?c.node=l.node:(c.createDOM(this.document),d=c.tagName,h=c.node,f=c.parent,l=new o.VNode({tagName:d,node:h,parent:f})),c.text?l.node.nodeValue=c.text:o.VNode.isFragment(c)||this.patchNode(l,c),l.parent&&(this.commitChild(l.parent.node,c.node,s),u&&(null===(v=c.ref)||void 0===v||v.call(c,c.node))),[4,c];case 4:b.sent(),b.label=5;case 5:return i=n.next(),[3,3];case 6:return[3,9];case 7:return p={error:b.sent()},[3,9];case 8:try{i&&!i.done&&(m=n.return)&&m.call(n)}finally{if(p)throw p.error}return[7];case 9:return[2]}})},e.prototype.patch=function(e,t){var n,i,o=0;try{for(var a=r.__values(this.generateDOM(e,t)),s=a.next();!s.done;s=a.next()){var l=s.value;1==++o&&(t=l)}}catch(e){n={error:e}}finally{try{s&&!s.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}return t},e.prototype.patchAsync=function(e,t){return r.__awaiter(this,void 0,void 0,function(){var n,i,a,s,l,c,u,d;return r.__generator(this,function(h){switch(h.label){case 0:(n=this.signalCache.get(e.node))&&(n.abort(),e=o.VNode.fromDOM(e.node)),i=new AbortController,this.signalCache.set(e.node,i),a=0,h.label=1;case 1:h.trys.push([1,6,7,8]),l=(s=r.__values(this.generateDOM(e,t))).next(),h.label=2;case 2:if(l.done)return[3,5];return c=l.value,1==++a&&(t=c),[4,scheduler.yield()];case 3:h.sent(),i.signal.aborted&&(this.signalCache.delete(e.node),i.signal.throwIfAborted()),h.label=4;case 4:return l=s.next(),[3,2];case 5:return[3,8];case 6:return u={error:h.sent()},[3,8];case 7:try{l&&!l.done&&(d=s.return)&&d.call(s)}finally{if(u)throw u.error}return[7];case 8:return this.signalCache.delete(e.node),[2,t]}})})},e.prototype.render=function(e,t,n){var i,a=this;void 0===t&&(t=null===(i=globalThis.document)||void 0===i?void 0:i.body),void 0===n&&(n="sync"),this.document=t.ownerDocument;var s=this.treeCache.get(t)||o.VNode.fromDOM(t),l=function(e){return a.treeCache.set(t,e)&&e};return"sync"===n?l(this.patch(s,new o.VNode(r.__assign(r.__assign({},s),{children:[e]})))):this.patchAsync(s,new o.VNode(r.__assign(r.__assign({},s),{children:[e]}))).then(l)},e.prototype.renderToStaticMarkup=function(e){return r.__spreadArray([],r.__read(e.generateXML()),!1).join("")},e.prototype.renderToReadableStream=function(e){return n.ReadableStream.from(e.generateXML())},e}();e.exports.DOMRenderer=a}),eY("8BuuC",function(e,t){!function(){var e=["user-blocking","user-visible","background"];class t{constructor(){this.t=new MessageChannel,this.i=this.t.port2,this.l={},this.o=1,this.t.port1.onmessage=e=>this.h(e)}u(e){var t=this.o++;return this.l[t]=e,this.i.postMessage(t),t}p(e){delete this.l[e]}h(e){var t=e.data;if(t in this.l){var r=this.l[t];delete this.l[t],r()}}}function r(){return r.v||(r.v=new t),r.v}class n{constructor(e,t,r){void 0===r&&(r=0),this.k=e,this.T=null,this.C=null,this.m=!1,this._(t,r)}isIdleCallback(){return 0===this.T}I(){return 2===this.T}cancel(){if(!this.m)switch(this.m=!0,this.T){case 0:cancelIdleCallback(this.C);break;case 1:clearTimeout(this.C);break;case 2:r().p(this.C);break;default:throw TypeError("Unknown CallbackType")}}_(t,n){if(n&&n>0)return this.T=1,void(this.C=setTimeout(()=>{this.P()},n));if(!e.includes(t))throw TypeError("Invalid task priority : "+t);return"background"===t&&"function"==typeof requestIdleCallback?(this.T=0,void(this.C=requestIdleCallback(()=>{this.P()}))):"function"==typeof MessageChannel?(this.T=2,void(this.C=r().u(()=>{this.P()}))):(this.T=1,void(this.C=setTimeout(()=>{this.P()})))}P(){this.m||this.k()}}var i=0;class o{constructor(){this.j=null,this.M=null}isEmpty(){return null==this.j}push(e){if("object"!=typeof e)throw TypeError("Task must be an Object");e.A=i++,this.isEmpty()?(e.N=null,this.j=e):(e.N=this.M,this.M.O=e),e.O=null,this.M=e}takeNextTask(){if(this.isEmpty())return null;var e=this.j;return this.q(e),e}merge(e,t){if("function"!=typeof t)throw TypeError("Must provide a selector function.");if(null==e)throw Error("sourceQueue cannot be null");for(var r=this.j,n=null,i=e.j;i;){var o=i;if(i=i.O,t(o)){for(e.q(o);r&&r.A<o.A;)n=r,r=r.O;this.D(o,n),n=o}}}D(e,t){if(t!=this.M){var r=t?t.O:this.j;e.O=r,r.N=e,e.N=t,null!=t?t.O=e:this.j=e}else this.push(e)}q(e){if(null==e)throw Error("Expected task to be non-null");e===this.j&&(this.j=e.O),e===this.M&&(this.M=this.M.N),e.O&&(e.O.N=e.N),e.N&&(e.N.O=e.O)}}class a extends Event{constructor(t,r){if(!r||!e.includes(r.previousPriority))throw TypeError("Invalid task priority: '"+r.previousPriority+"'");super(t),this.previousPriority=r.previousPriority}}class s extends AbortController{constructor(t){if(void 0===t&&(t={}),super(),null==t&&(t={}),"object"!=typeof t)throw TypeError("'init' is not an object");var r,n,i=void 0===t.priority?"user-visible":t.priority;if(!e.includes(i))throw TypeError("Invalid task priority: '"+i+"'");this.H=i,this.R=!1,Object.defineProperties(n=(r=this).signal,{priority:{get:function(){return r.H},enumerable:!0},onprioritychange:{value:null,writable:!0,enumerable:!0}}),n.addEventListener("prioritychange",e=>{n.onprioritychange&&n.onprioritychange(e)})}setPriority(t){if(!e.includes(t))throw TypeError("Invalid task priority: "+t);if(this.R)throw new DOMException("","NotAllowedError");if(this.signal.priority!==t){this.R=!0;var r=this.H;this.H=t;var n=new a("prioritychange",{previousPriority:r});this.signal.dispatchEvent(n),this.R=!1}}}void 0===self.scheduler?(self.scheduler=new class{constructor(){this.S={},e.forEach(e=>{this.S[e]=[new o,new o]}),this.U=null,this.W=new WeakMap}yield(){return this.B(()=>{},{priority:"user-visible"},!0)}postTask(e,t){return this.B(e,t,!1)}B(t,r,n){if(void 0!==(r=Object.assign({},r)).signal){if(null===r.signal||!("aborted"in r.signal)||"function"!=typeof r.signal.addEventListener)return Promise.reject(TypeError("'signal' is not a valid 'AbortSignal'"));if(r.signal&&r.signal.priority&&!e.includes(r.signal.priority))return Promise.reject(TypeError("Invalid task priority: '"+r.signal.priority+"'"))}if(void 0!==r.priority&&(null===r.priority||!e.includes(r.priority)))return Promise.reject(TypeError("Invalid task priority: '"+r.priority+"'"));if(void 0===r.delay&&(r.delay=0),r.delay=Number(r.delay),r.delay<0)return Promise.reject(TypeError("'delay' must be a positive number."));var i={callback:t,options:r,resolve:null,reject:null,hostCallback:null,abortCallback:null,onTaskCompleted:function(){this.options.signal&&this.abortCallback&&(this.options.signal.removeEventListener("abort",this.abortCallback),this.abortCallback=null)},onTaskAborted:function(){this.hostCallback&&(this.hostCallback.cancel(),this.hostCallback=null),this.options.signal.removeEventListener("abort",this.abortCallback),this.abortCallback=null,this.reject(this.options.signal.reason)},isAborted:function(){return this.options.signal&&this.options.signal.aborted},isContinuation:n},o=new Promise((e,t)=>{i.resolve=e,i.reject=t});return this._(i),o}_(e){var t=e.options.signal;if(t){if(t.aborted)return void e.reject(t.reason);e.abortCallback=()=>{e.onTaskAborted()},t.addEventListener("abort",e.abortCallback)}e.options.delay>0?e.hostCallback=new n(()=>{e.hostCallback=null,this.F(e)},null,e.options.delay):(this.G(e),this.J())}F(e){this.G(e),this.U&&(this.U.cancel(),this.U=null),this.K()}L(e){var t=this.W.get(e);if(void 0===t)throw Error("Attempting to change priority on an unregistered signal");if(t!==e.priority){for(var r=0;r<2;r++)this.S[e.priority][r].merge(this.S[t][r],t=>t.options.signal===e);this.W.set(e,e.priority)}}K(){this.U=null,this.V(),this.J()}J(){var{priority:e}=this.X();null!=e&&("background"!==e&&this.U&&this.U.isIdleCallback()&&(this.U.cancel(),this.U=null),this.U||(this.U=new n(()=>{this.K()},e,0)))}G(t){var r;if(!e.includes(r=t.options.priority?t.options.priority:t.options.signal&&t.options.signal.priority?t.options.signal.priority:"user-visible"))throw TypeError("Invalid task priority: "+r);if(t.options.signal&&t.options.signal.priority){var n=t.options.signal;this.W.has(n)||(n.addEventListener("prioritychange",()=>{this.L(n)}),this.W.set(n,n.priority))}this.S[r][t.isContinuation?0:1].push(t)}V(){var e=null;do{var{priority:t,type:r}=this.X();if(null==t)return;e=this.S[t][r].takeNextTask()}while(e.isAborted())try{var n=e.callback();e.resolve(n)}catch(t){e.reject(t)}finally{e.onTaskCompleted()}}X(){for(var t=0;t<e.length;t++)for(var r=e[t],n=0;n<2;n++)if(!this.S[r][n].isEmpty())return{priority:r,type:n};return{priority:null,type:0}}},self.TaskController=s,self.TaskPriorityChangeEvent=a):self.scheduler.yield||(self.scheduler.yield=function(){return self.scheduler.postTask(()=>{},{priority:"user-blocking"})})}()}),eY("flxkr",function(e,t){var r,n,i;/** + * @license + * web-streams-polyfill v4.1.0 + * Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors. + * This code is released under the MIT license. + * SPDX-License-Identifier: MIT + */function o(){}function a(e){return"object"==typeof e&&null!==e||"function"==typeof e}function s(e,t){try{Object.defineProperty(e,"name",{value:t,configurable:!0})}catch(e){}}ep(e.exports,"ReadableStream",()=>t0);let l=Promise,c=Promise.resolve.bind(l),u=Promise.prototype.then,d=Promise.reject.bind(l);function h(e){return new l(e)}function f(e){return h(t=>t(e))}function p(e,t,r){return u.call(e,t,r)}function m(e,t,r){p(p(e,t,r),void 0,o)}function v(e,t){m(e,void 0,t)}function b(e){p(e,void 0,o)}let y=e=>{if("function"==typeof queueMicrotask)y=queueMicrotask;else{let e=f(void 0);y=t=>p(e,t)}return y(e)};function g(e,t,r){if("function"!=typeof e)throw TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function _(e,t,r){try{return f(g(e,t,r))}catch(e){return d(e)}}class w{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(e){let t=this._back,r=t;16383===t._elements.length&&(r={_elements:[],_next:void 0}),t._elements.push(e),r!==t&&(this._back=r,t._next=r),++this._size}shift(){let e=this._front,t=e,r=this._cursor,n=r+1,i=e._elements,o=i[r];return 16384===n&&(t=e._next,n=0),--this._size,this._cursor=n,e!==t&&(this._front=t),i[r]=void 0,o}forEach(e){let t=this._cursor,r=this._front,n=r._elements;for(;!(t===n.length&&void 0===r._next||t===n.length&&(n=(r=r._next)._elements,t=0,0===n.length));)e(n[t]),++t}peek(){let e=this._front,t=this._cursor;return e._elements[t]}}let S=Symbol("[[AbortSteps]]"),E=Symbol("[[ErrorSteps]]"),T=Symbol("[[CancelSteps]]"),O=Symbol("[[PullSteps]]"),x=Symbol("[[ReleaseSteps]]");function k(e,t){var r;e._ownerReadableStream=t,t._reader=e,"readable"===t._state?R(e):"closed"===t._state?(R(e),$(e)):(r=t._storedError,R(e),j(e,r))}function C(e,t){return t8(e._ownerReadableStream,t)}function A(e){var t;let r=e._ownerReadableStream;"readable"===r._state?j(e,TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):(t=TypeError("Reader was released and can no longer be used to monitor the stream's closedness"),R(e),j(e,t)),r._readableStreamController[x](),r._reader=void 0,e._ownerReadableStream=void 0}function P(e){return TypeError("Cannot "+e+" a stream using a released reader")}function R(e){e._closedPromise=h((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}function j(e,t){void 0!==e._closedPromise_reject&&(b(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function $(e){void 0!==e._closedPromise_resolve&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}let L=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)},M=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function N(e,t){var r;if(void 0!==e&&"object"!=typeof(r=e)&&"function"!=typeof r)throw TypeError(`${t} is not an object.`)}function D(e,t){if("function"!=typeof e)throw TypeError(`${t} is not a function.`)}function I(e,t){if(!("object"==typeof e&&null!==e||"function"==typeof e))throw TypeError(`${t} is not an object.`)}function q(e,t,r){if(void 0===e)throw TypeError(`Parameter ${t} is required in '${r}'.`)}function B(e,t,r){if(void 0===e)throw TypeError(`${t} is required in '${r}'.`)}function F(e){return Number(e)}function U(e,t){var r,n;let i=Number.MAX_SAFE_INTEGER,o=Number(e);if(!L(o=0===(r=o)?0:r))throw TypeError(`${t} is not a finite number`);if((o=0===(n=M(o))?0:n)<0||o>i)throw TypeError(`${t} is outside the accepted range of 0 to ${i}, inclusive`);return L(o)&&0!==o?o:0}function V(e,t){if(!t5(e))throw TypeError(`${t} is not a ReadableStream.`)}function z(e){return new Y(e)}function W(e,t){e._reader._readRequests.push(t)}function H(e,t,r){let n=e._reader._readRequests.shift();r?n._closeSteps():n._chunkSteps(t)}function K(e){return e._reader._readRequests.length}function G(e){let t=e._reader;return void 0!==t&&!!X(t)}class Y{constructor(e){if(q(e,1,"ReadableStreamDefaultReader"),V(e,"First parameter"),t4(e))throw TypeError("This stream has already been locked for exclusive reading by another reader");k(this,e),this._readRequests=new w}get closed(){return X(this)?this._closedPromise:d(Q("closed"))}cancel(e){return X(this)?void 0===this._ownerReadableStream?d(P("cancel")):C(this,e):d(Q("cancel"))}read(){let e,t;if(!X(this))return d(Q("read"));if(void 0===this._ownerReadableStream)return d(P("read from"));let r=h((r,n)=>{e=r,t=n});return J(this,{_chunkSteps:t=>e({value:t,done:!1}),_closeSteps:()=>e({value:void 0,done:!0}),_errorSteps:e=>t(e)}),r}releaseLock(){if(!X(this))throw Q("releaseLock");void 0!==this._ownerReadableStream&&(A(this),Z(this,TypeError("Reader was released")))}}function X(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")&&e instanceof Y}function J(e,t){let r=e._ownerReadableStream;r._disturbed=!0,"closed"===r._state?t._closeSteps():"errored"===r._state?t._errorSteps(r._storedError):r._readableStreamController[O](t)}function Z(e,t){let r=e._readRequests;e._readRequests=new w,r.forEach(e=>{e._errorSteps(t)})}function Q(e){return TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}function ee(e){return e.slice()}function et(e,t,r,n,i){new Uint8Array(e).set(new Uint8Array(r,n,i),t)}Object.defineProperties(Y.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),s(Y.prototype.cancel,"cancel"),s(Y.prototype.read,"read"),s(Y.prototype.releaseLock,"releaseLock"),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(Y.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});let er=e=>(er="function"==typeof e.transfer?e=>e.transfer():"function"==typeof structuredClone?e=>structuredClone(e,{transfer:[e]}):e=>e)(e),en=e=>(en="boolean"==typeof e.detached?e=>e.detached:e=>0===e.byteLength)(e);function ei(e,t,r){if(e.slice)return e.slice(t,r);let n=r-t,i=new ArrayBuffer(n);return et(i,0,e,t,n),i}function eo(e,t){let r=e[t];if(null!=r){if("function"!=typeof r)throw TypeError(`${String(t)} is not a function`);return r}}function ea(e){try{let t=e.done,r=e.value;return p(c(r),e=>({done:t,value:e}))}catch(e){return d(e)}}let es=null!==(i=null!==(r=Symbol.asyncIterator)&&void 0!==r?r:null===(n=Symbol.for)||void 0===n?void 0:n.call(Symbol,"Symbol.asyncIterator"))&&void 0!==i?i:"@@asyncIterator";function el(e){let t=g(e.nextMethod,e.iterator,[]);if(!a(t))throw TypeError("The iterator.next() method must return an object");return t}class ec{constructor(e,t){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=e,this._preventCancel=t}next(){let e=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?p(this._ongoingPromise,e,e):e(),this._ongoingPromise}return(e){let t=()=>this._returnSteps(e);return this._ongoingPromise=this._ongoingPromise?p(this._ongoingPromise,t,t):t(),this._ongoingPromise}_nextSteps(){let e,t;if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let r=this._reader,n=h((r,n)=>{e=r,t=n});return J(r,{_chunkSteps:t=>{this._ongoingPromise=void 0,y(()=>e({value:t,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,A(r),e({value:void 0,done:!0})},_errorSteps:e=>{this._ongoingPromise=void 0,this._isFinished=!0,A(r),t(e)}}),n}_returnSteps(e){if(this._isFinished)return Promise.resolve({value:e,done:!0});this._isFinished=!0;let t=this._reader;if(!this._preventCancel){let r=C(t,e);return A(t),p(r,()=>({value:e,done:!0}),void 0)}return A(t),f({value:e,done:!0})}}let eu={next(){return ed(this)?this._asyncIteratorImpl.next():d(eh("next"))},return(e){return ed(this)?this._asyncIteratorImpl.return(e):d(eh("return"))},[es](){return this}};function ed(e){if(!a(e)||!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof ec}catch(e){return!1}}function eh(e){return TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}Object.defineProperty(eu,es,{enumerable:!1});let ef=Number.isNaN||function(e){return e!=e};function em(e){return new Uint8Array(ei(e.buffer,e.byteOffset,e.byteOffset+e.byteLength))}function ev(e){let t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function eb(e,t,r){if("number"!=typeof r||ef(r)||r<0||r===1/0)throw RangeError("Size must be a finite, non-NaN, non-negative number.");e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function ey(e){e._queue=new w,e._queueTotalSize=0}function eg(e){return e===DataView}class e_{constructor(){throw TypeError("Illegal constructor")}get view(){if(!eE(this))throw eX("view");return this._view}respond(e){if(!eE(this))throw eX("respond");if(q(e,1,"respond"),e=U(e,"First parameter"),void 0===this._associatedReadableByteStreamController)throw TypeError("This BYOB request has been invalidated");if(en(this._view.buffer))throw TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");eK(this._associatedReadableByteStreamController,e)}respondWithNewView(e){if(!eE(this))throw eX("respondWithNewView");if(q(e,1,"respondWithNewView"),!ArrayBuffer.isView(e))throw TypeError("You can only respond with array buffer views");if(void 0===this._associatedReadableByteStreamController)throw TypeError("This BYOB request has been invalidated");if(en(e.buffer))throw TypeError("The given view's buffer has been detached and so cannot be used as a response");eG(this._associatedReadableByteStreamController,e)}}Object.defineProperties(e_.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),s(e_.prototype.respond,"respond"),s(e_.prototype.respondWithNewView,"respondWithNewView"),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(e_.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class ew{constructor(){throw TypeError("Illegal constructor")}get byobRequest(){if(!eS(this))throw eJ("byobRequest");return ez(this)}get desiredSize(){if(!eS(this))throw eJ("desiredSize");return eH(this)}close(){if(!eS(this))throw eJ("close");if(this._closeRequested)throw TypeError("The stream has already been closed; do not close it again!");let e=this._controlledReadableByteStream._state;if("readable"!==e)throw TypeError(`The stream (in ${e} state) is not in the readable state and cannot be closed`);eB(this)}enqueue(e){if(!eS(this))throw eJ("enqueue");if(q(e,1,"enqueue"),!ArrayBuffer.isView(e))throw TypeError("chunk must be an array buffer view");if(0===e.byteLength)throw TypeError("chunk must have non-zero byteLength");if(0===e.buffer.byteLength)throw TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw TypeError("stream is closed or draining");let t=this._controlledReadableByteStream._state;if("readable"!==t)throw TypeError(`The stream (in ${t} state) is not in the readable state and cannot be enqueued to`);eF(this,e)}error(e){if(!eS(this))throw eJ("error");eU(this,e)}[T](e){eO(this),ey(this);let t=this._cancelAlgorithm(e);return eq(this),t}[O](e){let t=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void eV(this,e);let r=this._autoAllocateChunkSize;if(void 0!==r){let t;try{t=new ArrayBuffer(r)}catch(t){return void e._errorSteps(t)}let n={buffer:t,bufferByteLength:r,byteOffset:0,byteLength:r,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(n)}W(t,e),eT(this)}[x](){if(this._pendingPullIntos.length>0){let e=this._pendingPullIntos.peek();e.readerType="none",this._pendingPullIntos=new w,this._pendingPullIntos.push(e)}}}function eS(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")&&e instanceof ew}function eE(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")&&e instanceof e_}function eT(e){if(function(e){let t=e._controlledReadableByteStream;return"readable"===t._state&&!e._closeRequested&&!!e._started&&!!(G(t)&&K(t)>0||e0(t)&&eQ(t)>0||eH(e)>0)}(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,m(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,eT(e)),null),t=>(eU(e,t),null))}}function eO(e){eM(e),e._pendingPullIntos=new w}function ex(e,t){let r=!1;"closed"===e._state&&(r=!0);let n=eC(t);"default"===t.readerType?H(e,n,r):function(e,t,r){let n=e._reader._readIntoRequests.shift();r?n._closeSteps(t):n._chunkSteps(t)}(e,n,r)}function ek(e,t){for(let r=0;r<t.length;++r)ex(e,t[r])}function eC(e){let t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function eA(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function eP(e,t,r,n){let i;try{i=ei(t,r,r+n)}catch(t){throw eU(e,t),t}eA(e,i,0,n)}function eR(e,t){t.bytesFilled>0&&eP(e,t.buffer,t.byteOffset,t.bytesFilled),eI(e)}function ej(e,t){let r=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),n=t.bytesFilled+r,i=r,o=!1,a=n-n%t.elementSize;a>=t.minimumFill&&(i=a-t.bytesFilled,o=!0);let s=e._queue;for(;i>0;){let r=s.peek(),n=Math.min(i,r.byteLength),o=t.byteOffset+t.bytesFilled;et(t.buffer,o,r.buffer,r.byteOffset,n),r.byteLength===n?s.shift():(r.byteOffset+=n,r.byteLength-=n),e._queueTotalSize-=n,e$(e,n,t),i-=n}return o}function e$(e,t,r){r.bytesFilled+=t}function eL(e){0===e._queueTotalSize&&e._closeRequested?(eq(e),t6(e._controlledReadableByteStream)):eT(e)}function eM(e){null!==e._byobRequest&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function eN(e){let t=[];for(;e._pendingPullIntos.length>0&&0!==e._queueTotalSize;){let r=e._pendingPullIntos.peek();ej(e,r)&&(eI(e),t.push(r))}return t}function eD(e,t){let r=e._pendingPullIntos.peek();eM(e),"closed"===e._controlledReadableByteStream._state?function(e,t){"none"===t.readerType&&eI(e);let r=e._controlledReadableByteStream;if(e0(r)){let t=[];for(let n=0;n<eQ(r);++n)t.push(eI(e));ek(r,t)}}(e,r):function(e,t,r){if(e$(0,t,r),"none"===r.readerType){eR(e,r);let t=eN(e);return void ek(e._controlledReadableByteStream,t)}if(r.bytesFilled<r.minimumFill)return;eI(e);let n=r.bytesFilled%r.elementSize;if(n>0){let t=r.byteOffset+r.bytesFilled;eP(e,r.buffer,t-n,n)}r.bytesFilled-=n;let i=eN(e);ex(e._controlledReadableByteStream,r),ek(e._controlledReadableByteStream,i)}(e,t,r),eT(e)}function eI(e){return e._pendingPullIntos.shift()}function eq(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function eB(e){let t=e._controlledReadableByteStream;if(!e._closeRequested&&"readable"===t._state){if(e._queueTotalSize>0)e._closeRequested=!0;else{if(e._pendingPullIntos.length>0){let t=e._pendingPullIntos.peek();if(t.bytesFilled%t.elementSize!=0){let t=TypeError("Insufficient bytes to fill elements in the given buffer");throw eU(e,t),t}}eq(e),t6(t)}}}function eF(e,t){let r=e._controlledReadableByteStream;if(e._closeRequested||"readable"!==r._state)return;let{buffer:n,byteOffset:i,byteLength:o}=t;if(en(n))throw TypeError("chunk's buffer is detached and so cannot be enqueued");let a=er(n);if(e._pendingPullIntos.length>0){let t=e._pendingPullIntos.peek();if(en(t.buffer))throw TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");eM(e),t.buffer=er(t.buffer),"none"===t.readerType&&eR(e,t)}if(G(r))((function(e){let t=e._controlledReadableByteStream._reader;for(;t._readRequests.length>0;){if(0===e._queueTotalSize)return;eV(e,t._readRequests.shift())}})(e),0===K(r))?eA(e,a,i,o):(e._pendingPullIntos.length>0&&eI(e),H(r,new Uint8Array(a,i,o),!1));else if(e0(r)){eA(e,a,i,o);let t=eN(e);ek(e._controlledReadableByteStream,t)}else eA(e,a,i,o);eT(e)}function eU(e,t){let r=e._controlledReadableByteStream;"readable"===r._state&&(eO(e),ey(e),eq(e),t9(r,t))}function eV(e,t){let r=e._queue.shift();e._queueTotalSize-=r.byteLength,eL(e);let n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(n)}function ez(e){if(null===e._byobRequest&&e._pendingPullIntos.length>0){let t=e._pendingPullIntos.peek(),r=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),n=Object.create(e_.prototype);n._associatedReadableByteStreamController=e,n._view=r,e._byobRequest=n}return e._byobRequest}function eH(e){let t=e._controlledReadableByteStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function eK(e,t){let r=e._pendingPullIntos.peek();if("closed"===e._controlledReadableByteStream._state){if(0!==t)throw TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(0===t)throw TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(r.bytesFilled+t>r.byteLength)throw RangeError("bytesWritten out of range")}r.buffer=er(r.buffer),eD(e,t)}function eG(e,t){let r=e._pendingPullIntos.peek();if("closed"===e._controlledReadableByteStream._state){if(0!==t.byteLength)throw TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(0===t.byteLength)throw TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw RangeError("The region specified by view does not match byobRequest");if(r.bufferByteLength!==t.buffer.byteLength)throw RangeError("The buffer of view has different capacity than byobRequest");if(r.bytesFilled+t.byteLength>r.byteLength)throw RangeError("The region specified by view is larger than byobRequest");let n=t.byteLength;r.buffer=er(t.buffer),eD(e,n)}function eY(e,t,r,n,i,o,a){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,ey(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=o,t._pullAlgorithm=n,t._cancelAlgorithm=i,t._autoAllocateChunkSize=a,t._pendingPullIntos=new w,e._readableStreamController=t,m(f(r()),()=>(t._started=!0,eT(t),null),e=>(eU(t,e),null))}function eX(e){return TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function eJ(e){return TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function eZ(e,t){e._reader._readIntoRequests.push(t)}function eQ(e){return e._reader._readIntoRequests.length}function e0(e){let t=e._reader;return void 0!==t&&!!e2(t)}Object.defineProperties(ew.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),s(ew.prototype.close,"close"),s(ew.prototype.enqueue,"enqueue"),s(ew.prototype.error,"error"),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(ew.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});class e1{constructor(e){if(q(e,1,"ReadableStreamBYOBReader"),V(e,"First parameter"),t4(e))throw TypeError("This stream has already been locked for exclusive reading by another reader");if(!eS(e._readableStreamController))throw TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");k(this,e),this._readIntoRequests=new w}get closed(){return e2(this)?this._closedPromise:d(e4("closed"))}cancel(e){return e2(this)?void 0===this._ownerReadableStream?d(P("cancel")):C(this,e):d(e4("cancel"))}read(e,t={}){let r,n,i;if(!e2(this))return d(e4("read"));if(!ArrayBuffer.isView(e))return d(TypeError("view must be an array buffer view"));if(0===e.byteLength)return d(TypeError("view must have non-zero byteLength"));if(0===e.buffer.byteLength)return d(TypeError("view's buffer must have non-zero byteLength"));if(en(e.buffer))return d(TypeError("view's buffer has been detached"));try{var o,a;o="options",N(t,o),r={min:U(null!==(a=null==t?void 0:t.min)&&void 0!==a?a:1,`${o} has member 'min' that`)}}catch(e){return d(e)}let s=r.min;if(0===s)return d(TypeError("options.min must be greater than 0"));if(eg(e.constructor)){if(s>e.byteLength)return d(RangeError("options.min must be less than or equal to view's byteLength"))}else if(s>e.length)return d(RangeError("options.min must be less than or equal to view's length"));if(void 0===this._ownerReadableStream)return d(P("read from"));let l=h((e,t)=>{n=e,i=t});return e3(this,e,s,{_chunkSteps:e=>n({value:e,done:!1}),_closeSteps:e=>n({value:e,done:!0}),_errorSteps:e=>i(e)}),l}releaseLock(){if(!e2(this))throw e4("releaseLock");void 0!==this._ownerReadableStream&&(A(this),e5(this,TypeError("Reader was released")))}}function e2(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")&&e instanceof e1}function e3(e,t,r,n){let i=e._ownerReadableStream;i._disturbed=!0,"errored"===i._state?n._errorSteps(i._storedError):function(e,t,r,n){let i;let o=e._controlledReadableByteStream,a=t.constructor,s=eg(a)?1:a.BYTES_PER_ELEMENT,{byteOffset:l,byteLength:c}=t;try{i=er(t.buffer)}catch(e){return void n._errorSteps(e)}let u={buffer:i,bufferByteLength:i.byteLength,byteOffset:l,byteLength:c,bytesFilled:0,minimumFill:r*s,elementSize:s,viewConstructor:a,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(u),void eZ(o,n);if("closed"!==o._state){if(e._queueTotalSize>0){if(ej(e,u)){let t=eC(u);return eL(e),void n._chunkSteps(t)}if(e._closeRequested){let t=TypeError("Insufficient bytes to fill elements in the given buffer");return eU(e,t),void n._errorSteps(t)}}e._pendingPullIntos.push(u),eZ(o,n),eT(e)}else{let e=new a(u.buffer,u.byteOffset,0);n._closeSteps(e)}}(i._readableStreamController,t,r,n)}function e5(e,t){let r=e._readIntoRequests;e._readIntoRequests=new w,r.forEach(e=>{e._errorSteps(t)})}function e4(e){return TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function e8(e,t){let{highWaterMark:r}=e;if(void 0===r)return t;if(ef(r)||r<0)throw RangeError("Invalid highWaterMark");return r}function e6(e){let{size:t}=e;return t||(()=>1)}function e9(e,t){N(e,t);let r=null==e?void 0:e.highWaterMark,n=null==e?void 0:e.size;return{highWaterMark:void 0===r?void 0:F(r),size:void 0===n?void 0:(D(n,`${t} has member 'size' that`),e=>F(n(e)))}}function e7(e,t){if(!tr(e))throw TypeError(`${t} is not a WritableStream.`)}Object.defineProperties(e1.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),s(e1.prototype.cancel,"cancel"),s(e1.prototype.read,"read"),s(e1.prototype.releaseLock,"releaseLock"),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(e1.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});class te{constructor(e={},t={}){void 0===e?e=null:I(e,"First parameter");let r=e9(t,"Second parameter"),n=function(e,t){N(e,t);let r=null==e?void 0:e.abort,n=null==e?void 0:e.close,i=null==e?void 0:e.start,o=null==e?void 0:e.type,a=null==e?void 0:e.write;return{abort:void 0===r?void 0:(D(r,`${t} has member 'abort' that`),t=>_(r,e,[t])),close:void 0===n?void 0:(D(n,`${t} has member 'close' that`),()=>_(n,e,[])),start:void 0===i?void 0:(D(i,`${t} has member 'start' that`),t=>g(i,e,[t])),write:void 0===a?void 0:(D(a,`${t} has member 'write' that`),(t,r)=>_(a,e,[t,r])),type:o}}(e,"First parameter");if(tt(this),void 0!==n.type)throw RangeError("Invalid type is specified");let i=e6(r);!function(e,t,r,n){let i,o;let a=Object.create(tg.prototype);i=void 0!==t.start?()=>t.start(a):()=>{},o=void 0!==t.write?e=>t.write(e,a):()=>f(void 0),tw(e,a,i,o,void 0!==t.close?()=>t.close():()=>f(void 0),void 0!==t.abort?e=>t.abort(e):()=>f(void 0),r,n)}(this,n,e8(r,1),i)}get locked(){if(!tr(this))throw tk("locked");return tn(this)}abort(e){return tr(this)?tn(this)?d(TypeError("Cannot abort a stream that already has a writer")):ti(this,e):d(tk("abort"))}close(){return tr(this)?tn(this)?d(TypeError("Cannot close a stream that already has a writer")):tc(this)?d(TypeError("Cannot close an already-closing stream")):to(this):d(tk("close"))}getWriter(){if(!tr(this))throw tk("getWriter");return new th(this)}}function tt(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new w,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function tr(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")&&e instanceof te}function tn(e){return void 0!==e._writer}function ti(e,t){var r;if("closed"===e._state||"errored"===e._state)return f(void 0);e._writableStreamController._abortReason=t,null===(r=e._writableStreamController._abortController)||void 0===r||r.abort(t);let n=e._state;if("closed"===n||"errored"===n)return f(void 0);if(void 0!==e._pendingAbortRequest)return e._pendingAbortRequest._promise;let i=!1;"erroring"===n&&(i=!0,t=void 0);let o=h((r,n)=>{e._pendingAbortRequest={_promise:void 0,_resolve:r,_reject:n,_reason:t,_wasAlreadyErroring:i}});return e._pendingAbortRequest._promise=o,i||ts(e,t),o}function to(e){var t;let r=e._state;if("closed"===r||"errored"===r)return d(TypeError(`The stream (in ${r} state) is not in the writable state and cannot be closed`));let n=h((t,r)=>{e._closeRequest={_resolve:t,_reject:r}}),i=e._writer;return void 0!==i&&e._backpressure&&"writable"===r&&tD(i),eb(t=e._writableStreamController,ty,0),tT(t),n}function ta(e,t){"writable"!==e._state?tl(e):ts(e,t)}function ts(e,t){let r=e._writableStreamController;e._state="erroring",e._storedError=t;let n=e._writer;void 0!==n&&tm(n,t),!(void 0!==e._inFlightWriteRequest||void 0!==e._inFlightCloseRequest)&&r._started&&tl(e)}function tl(e){e._state="errored",e._writableStreamController[E]();let t=e._storedError;if(e._writeRequests.forEach(e=>{e._reject(t)}),e._writeRequests=new w,void 0===e._pendingAbortRequest)return void tu(e);let r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void tu(e);m(e._writableStreamController[S](r._reason),()=>(r._resolve(),tu(e),null),t=>(r._reject(t),tu(e),null))}function tc(e){return void 0!==e._closeRequest||void 0!==e._inFlightCloseRequest}function tu(e){void 0!==e._closeRequest&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);let t=e._writer;void 0!==t&&tj(t,e._storedError)}function td(e,t){let r=e._writer;void 0!==r&&t!==e._backpressure&&(t?tL(r):tD(r)),e._backpressure=t}Object.defineProperties(te.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),s(te.prototype.abort,"abort"),s(te.prototype.close,"close"),s(te.prototype.getWriter,"getWriter"),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(te.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});class th{constructor(e){if(q(e,1,"WritableStreamDefaultWriter"),e7(e,"First parameter"),tn(e))throw TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=e,e._writer=this;let t=e._state;if("writable"===t)!tc(e)&&e._backpressure?tL(this):(tL(this),tD(this)),tR(this);else if("erroring"===t)tM(this,e._storedError),tR(this);else if("closed"===t)tL(this),tD(this),tR(this),t$(this);else{let t=e._storedError;tM(this,t),tR(this),tj(this,t)}}get closed(){return tf(this)?this._closedPromise:d(tA("closed"))}get desiredSize(){if(!tf(this))throw tA("desiredSize");if(void 0===this._ownerWritableStream)throw tP("desiredSize");return function(e){let t=e._ownerWritableStream,r=t._state;return"errored"===r||"erroring"===r?null:"closed"===r?0:tE(t._writableStreamController)}(this)}get ready(){return tf(this)?this._readyPromise:d(tA("ready"))}abort(e){return tf(this)?void 0===this._ownerWritableStream?d(tP("abort")):ti(this._ownerWritableStream,e):d(tA("abort"))}close(){if(!tf(this))return d(tA("close"));let e=this._ownerWritableStream;return void 0===e?d(tP("close")):tc(e)?d(TypeError("Cannot close an already-closing stream")):tp(this)}releaseLock(){if(!tf(this))throw tA("releaseLock");void 0!==this._ownerWritableStream&&tv(this)}write(e){return tf(this)?void 0===this._ownerWritableStream?d(tP("write to")):tb(this,e):d(tA("write"))}}function tf(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")&&e instanceof th}function tp(e){return to(e._ownerWritableStream)}function tm(e,t){"pending"===e._readyPromiseState?tN(e,t):tM(e,t)}function tv(e){let t=e._ownerWritableStream,r=TypeError("Writer was released and can no longer be used to monitor the stream's closedness");tm(e,r),"pending"===e._closedPromiseState||tR(e),tj(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function tb(e,t){let r=e._ownerWritableStream,n=r._writableStreamController,i=function(e,t){if(void 0===e._strategySizeAlgorithm)return 1;try{return e._strategySizeAlgorithm(t)}catch(t){return tO(e,t),1}}(n,t);if(r!==e._ownerWritableStream)return d(tP("write to"));let o=r._state;if("errored"===o)return d(r._storedError);if(tc(r)||"closed"===o)return d(TypeError("The stream is closing or closed and cannot be written to"));if("erroring"===o)return d(r._storedError);let a=h((e,t)=>{r._writeRequests.push({_resolve:e,_reject:t})});return function(e,t,r){try{eb(e,t,r)}catch(t){return void tO(e,t)}let n=e._controlledWritableStream;tc(n)||"writable"!==n._state||td(n,0>=tE(e)),tT(e)}(n,t,i),a}Object.defineProperties(th.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),s(th.prototype.abort,"abort"),s(th.prototype.close,"close"),s(th.prototype.releaseLock,"releaseLock"),s(th.prototype.write,"write"),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(th.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});let ty={};class tg{constructor(){throw TypeError("Illegal constructor")}get abortReason(){if(!t_(this))throw tC("abortReason");return this._abortReason}get signal(){if(!t_(this))throw tC("signal");if(void 0===this._abortController)throw TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(e){if(!t_(this))throw tC("error");"writable"===this._controlledWritableStream._state&&tx(this,e)}[S](e){let t=this._abortAlgorithm(e);return tS(this),t}[E](){ey(this)}}function t_(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")&&e instanceof tg}function tw(e,t,r,n,i,o,a,s){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,ey(t),t._abortReason=void 0,t._abortController=function(){if("function"==typeof AbortController)return new AbortController}(),t._started=!1,t._strategySizeAlgorithm=s,t._strategyHWM=a,t._writeAlgorithm=n,t._closeAlgorithm=i,t._abortAlgorithm=o,td(e,0>=tE(t)),m(f(r()),()=>(t._started=!0,tT(t),null),r=>(t._started=!0,ta(e,r),null))}function tS(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function tE(e){return e._strategyHWM-e._queueTotalSize}function tT(e){let t=e._controlledWritableStream;if(!e._started||void 0!==t._inFlightWriteRequest)return;if("erroring"===t._state)return void tl(t);if(0===e._queue.length)return;let r=e._queue.peek().value;r===ty?function(e){let t=e._controlledWritableStream;t._inFlightCloseRequest=t._closeRequest,t._closeRequest=void 0,ev(e);let r=e._closeAlgorithm();tS(e),m(r,()=>((function(e){e._inFlightCloseRequest._resolve(void 0),e._inFlightCloseRequest=void 0,"erroring"===e._state&&(e._storedError=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._resolve(),e._pendingAbortRequest=void 0)),e._state="closed";let t=e._writer;void 0!==t&&t$(t)})(t),null),e=>(t._inFlightCloseRequest._reject(e),t._inFlightCloseRequest=void 0,void 0!==t._pendingAbortRequest&&(t._pendingAbortRequest._reject(e),t._pendingAbortRequest=void 0),ta(t,e),null))}(e):function(e,t){let r=e._controlledWritableStream;r._inFlightWriteRequest=r._writeRequests.shift(),m(e._writeAlgorithm(t),()=>{r._inFlightWriteRequest._resolve(void 0),r._inFlightWriteRequest=void 0;let t=r._state;return ev(e),tc(r)||"writable"!==t||td(r,0>=tE(e)),tT(e),null},t=>("writable"===r._state&&tS(e),r._inFlightWriteRequest._reject(t),r._inFlightWriteRequest=void 0,ta(r,t),null))}(e,r)}function tO(e,t){"writable"===e._controlledWritableStream._state&&tx(e,t)}function tx(e,t){let r=e._controlledWritableStream;tS(e),ts(r,t)}function tk(e){return TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function tC(e){return TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function tA(e){return TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function tP(e){return TypeError("Cannot "+e+" a stream using a released writer")}function tR(e){e._closedPromise=h((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function tj(e,t){void 0!==e._closedPromise_reject&&(b(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function t$(e){void 0!==e._closedPromise_resolve&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}function tL(e){e._readyPromise=h((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function tM(e,t){tL(e),tN(e,t)}function tN(e,t){void 0!==e._readyPromise_reject&&(b(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function tD(e){void 0!==e._readyPromise_resolve&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}Object.defineProperties(tg.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(tg.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});let tI="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:void 0!==eW?eW:void 0,tq=function(){let e=null==tI?void 0:tI.DOMException;return!function(e){if("function"!=typeof e&&"object"!=typeof e||"DOMException"!==e.name)return!1;try{return new e,!0}catch(e){return!1}}(e)?void 0:e}()||function(){let e=function(e,t){this.message=e||"",this.name=t||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return s(e,"DOMException"),e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,configurable:!0}),e}();function tB(e,t,r,n,i,a){let s=z(e),l=new th(t);e._disturbed=!0;let c=!1,u=f(void 0);return h((y,g)=>{var _,w;let S;if(void 0!==a){if(S=()=>{let r=void 0!==a.reason?a.reason:new tq("Aborted","AbortError"),o=[];n||o.push(()=>"writable"===t._state?ti(t,r):f(void 0)),i||o.push(()=>"readable"===e._state?t8(e,r):f(void 0)),O(()=>Promise.all(o.map(e=>e())),!0,r)},a.aborted)return void S();a.addEventListener("abort",S)}if(T(e,s._closedPromise,e=>(n?x(!0,e):O(()=>ti(t,e),!0,e),null)),T(t,l._closedPromise,t=>(i?x(!0,t):O(()=>t8(e,t),!0,t),null)),_=s._closedPromise,w=()=>(r?x():O(()=>(function(e){let t=e._ownerWritableStream,r=t._state;return tc(t)||"closed"===r?f(void 0):"errored"===r?d(t._storedError):tp(e)})(l)),null),"closed"===e._state?w():m(_,w),tc(t)||"closed"===t._state){let t=TypeError("the destination writable stream closed before all data could be piped to it");i?x(!0,t):O(()=>t8(e,t),!0,t)}function E(){let e=u;return p(u,()=>e!==u?E():void 0)}function T(e,t,r){"errored"===e._state?r(e._storedError):v(t,r)}function O(e,r,n){function i(){return m(e(),()=>k(r,n),e=>k(!0,e)),null}c||(c=!0,"writable"!==t._state||tc(t)?i():m(E(),i))}function x(e,r){c||(c=!0,"writable"!==t._state||tc(t)?k(e,r):m(E(),()=>k(e,r)))}function k(e,t){return tv(l),A(s),void 0!==a&&a.removeEventListener("abort",S),e?g(t):y(void 0),null}b(h((e,t)=>{!function r(n){n?e():p(c?f(!0):p(l._readyPromise,()=>h((e,t)=>{J(s,{_chunkSteps:t=>{u=p(tb(l,t),void 0,o),e(!1)},_closeSteps:()=>e(!0),_errorSteps:t})})),r,t)}(!1)}))})}class tF{constructor(){throw TypeError("Illegal constructor")}get desiredSize(){if(!tU(this))throw tZ("desiredSize");return tY(this)}close(){if(!tU(this))throw tZ("close");if(!tX(this))throw TypeError("The stream is not in a state that permits close");tH(this)}enqueue(e){if(!tU(this))throw tZ("enqueue");if(!tX(this))throw TypeError("The stream is not in a state that permits enqueue");return tK(this,e)}error(e){if(!tU(this))throw tZ("error");tG(this,e)}[T](e){ey(this);let t=this._cancelAlgorithm(e);return tW(this),t}[O](e){let t=this._controlledReadableStream;if(this._queue.length>0){let r=ev(this);this._closeRequested&&0===this._queue.length?(tW(this),t6(t)):tV(this),e._chunkSteps(r)}else W(t,e),tV(this)}[x](){}}function tU(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")&&e instanceof tF}function tV(e){if(tz(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,m(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,tV(e)),null),t=>(tG(e,t),null))}}function tz(e){let t=e._controlledReadableStream;return!!tX(e)&&!!e._started&&(!!(t4(t)&&K(t)>0)||tY(e)>0)}function tW(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function tH(e){if(!tX(e))return;let t=e._controlledReadableStream;e._closeRequested=!0,0===e._queue.length&&(tW(e),t6(t))}function tK(e,t){if(!tX(e))return;let r=e._controlledReadableStream;if(t4(r)&&K(r)>0)H(r,t,!1);else{let r;try{r=e._strategySizeAlgorithm(t)}catch(t){throw tG(e,t),t}try{eb(e,t,r)}catch(t){throw tG(e,t),t}}tV(e)}function tG(e,t){let r=e._controlledReadableStream;"readable"===r._state&&(ey(e),tW(e),t9(r,t))}function tY(e){let t=e._controlledReadableStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function tX(e){let t=e._controlledReadableStream._state;return!e._closeRequested&&"readable"===t}function tJ(e,t,r,n,i,o,a){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,ey(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=a,t._strategyHWM=o,t._pullAlgorithm=n,t._cancelAlgorithm=i,e._readableStreamController=t,m(f(r()),()=>(t._started=!0,tV(t),null),e=>(tG(t,e),null))}function tZ(e){return TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function tQ(e,t){N(e,t);let r=null==e?void 0:e.preventAbort,n=null==e?void 0:e.preventCancel,i=null==e?void 0:e.preventClose,o=null==e?void 0:e.signal;return void 0!==o&&function(e,t){if(!function(e){if("object"!=typeof e||null===e)return!1;try{return"boolean"==typeof e.aborted}catch(e){return!1}}(e))throw TypeError(`${t} is not an AbortSignal.`)}(o,`${t} has member 'signal' that`),{preventAbort:!!r,preventCancel:!!n,preventClose:!!i,signal:o}}Object.defineProperties(tF.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),s(tF.prototype.close,"close"),s(tF.prototype.enqueue,"enqueue"),s(tF.prototype.error,"error"),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(tF.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});class t0{constructor(e={},t={}){void 0===e?e=null:I(e,"First parameter");let r=e9(t,"Second parameter"),n=function(e,t){N(e,t);let r=null==e?void 0:e.autoAllocateChunkSize,n=null==e?void 0:e.cancel,i=null==e?void 0:e.pull,o=null==e?void 0:e.start,a=null==e?void 0:e.type;return{autoAllocateChunkSize:void 0===r?void 0:U(r,`${t} has member 'autoAllocateChunkSize' that`),cancel:void 0===n?void 0:(D(n,`${t} has member 'cancel' that`),t=>_(n,e,[t])),pull:void 0===i?void 0:(D(i,`${t} has member 'pull' that`),t=>_(i,e,[t])),start:void 0===o?void 0:(D(o,`${t} has member 'start' that`),t=>g(o,e,[t])),type:void 0===a?void 0:function(e,t){if("bytes"!=(e=`${e}`))throw TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}(a,`${t} has member 'type' that`)}}(e,"First parameter");if(t3(this),"bytes"===n.type){if(void 0!==r.size)throw RangeError("The strategy for a byte stream cannot have a size function");!function(e,t,r){let n,i,o;let a=Object.create(ew.prototype);n=void 0!==t.start?()=>t.start(a):()=>{},i=void 0!==t.pull?()=>t.pull(a):()=>f(void 0),o=void 0!==t.cancel?e=>t.cancel(e):()=>f(void 0);let s=t.autoAllocateChunkSize;if(0===s)throw TypeError("autoAllocateChunkSize must be greater than 0");eY(e,a,n,i,o,r,s)}(this,n,e8(r,0))}else{let e=e6(r);!function(e,t,r,n){let i,o;let a=Object.create(tF.prototype);i=void 0!==t.start?()=>t.start(a):()=>{},o=void 0!==t.pull?()=>t.pull(a):()=>f(void 0),tJ(e,a,i,o,void 0!==t.cancel?e=>t.cancel(e):()=>f(void 0),r,n)}(this,n,e8(r,1),e)}}get locked(){if(!t5(this))throw t7("locked");return t4(this)}cancel(e){return t5(this)?t4(this)?d(TypeError("Cannot cancel a stream that already has a reader")):t8(this,e):d(t7("cancel"))}getReader(e){if(!t5(this))throw t7("getReader");return void 0===function(e,t){N(e,t);let r=null==e?void 0:e.mode;return{mode:void 0===r?void 0:function(e,t){if("byob"!=(e=`${e}`))throw TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}(r,`${t} has member 'mode' that`)}}(e,"First parameter").mode?z(this):new e1(this)}pipeThrough(e,t={}){if(!t5(this))throw t7("pipeThrough");q(e,1,"pipeThrough");let r=function(e,t){N(e,t);let r=null==e?void 0:e.readable;B(r,"readable","ReadableWritablePair"),V(r,`${t} has member 'readable' that`);let n=null==e?void 0:e.writable;return B(n,"writable","ReadableWritablePair"),e7(n,`${t} has member 'writable' that`),{readable:r,writable:n}}(e,"First parameter"),n=tQ(t,"Second parameter");if(t4(this))throw TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(tn(r.writable))throw TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return b(tB(this,r.writable,n.preventClose,n.preventAbort,n.preventCancel,n.signal)),r.readable}pipeTo(e,t={}){let r;if(!t5(this))return d(t7("pipeTo"));if(void 0===e)return d("Parameter 1 is required in 'pipeTo'.");if(!tr(e))return d(TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));try{r=tQ(t,"Second parameter")}catch(e){return d(e)}return t4(this)?d(TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):tn(e)?d(TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):tB(this,e,r.preventClose,r.preventAbort,r.preventCancel,r.signal)}tee(){if(!t5(this))throw t7("tee");return ee(eS(this._readableStreamController)?function(e){let t,r,n,i,o,a=z(e),s=!1,l=!1,c=!1,u=!1,d=!1,p=h(e=>{o=e});function m(e){v(e._closedPromise,t=>(e!==a||(eU(n._readableStreamController,t),eU(i._readableStreamController,t),u&&d||o(void 0)),null))}function b(){e2(a)&&(A(a),m(a=z(e))),J(a,{_chunkSteps:t=>{y(()=>{l=!1,c=!1;let r=t;if(!u&&!d)try{r=em(t)}catch(t){return eU(n._readableStreamController,t),eU(i._readableStreamController,t),void o(t8(e,t))}u||eF(n._readableStreamController,t),d||eF(i._readableStreamController,r),s=!1,l?_():c&&w()})},_closeSteps:()=>{s=!1,u||eB(n._readableStreamController),d||eB(i._readableStreamController),n._readableStreamController._pendingPullIntos.length>0&&eK(n._readableStreamController,0),i._readableStreamController._pendingPullIntos.length>0&&eK(i._readableStreamController,0),u&&d||o(void 0)},_errorSteps:()=>{s=!1}})}function g(t,r){X(a)&&(A(a),m(a=new e1(e)));let h=r?i:n,f=r?n:i;e3(a,t,1,{_chunkSteps:t=>{y(()=>{l=!1,c=!1;let n=r?d:u;if(r?u:d)n||eG(h._readableStreamController,t);else{let r;try{r=em(t)}catch(t){return eU(h._readableStreamController,t),eU(f._readableStreamController,t),void o(t8(e,t))}n||eG(h._readableStreamController,t),eF(f._readableStreamController,r)}s=!1,l?_():c&&w()})},_closeSteps:e=>{s=!1;let t=r?d:u,n=r?u:d;t||eB(h._readableStreamController),n||eB(f._readableStreamController),void 0!==e&&(t||eG(h._readableStreamController,e),!n&&f._readableStreamController._pendingPullIntos.length>0&&eK(f._readableStreamController,0)),t&&n||o(void 0)},_errorSteps:()=>{s=!1}})}function _(){if(s)return l=!0,f(void 0);s=!0;let e=ez(n._readableStreamController);return null===e?b():g(e._view,!1),f(void 0)}function w(){if(s)return c=!0,f(void 0);s=!0;let e=ez(i._readableStreamController);return null===e?b():g(e._view,!0),f(void 0)}function S(){}return n=t2(S,_,function(n){if(u=!0,t=n,d){let n=t8(e,ee([t,r]));o(n)}return p}),i=t2(S,w,function(n){if(d=!0,r=n,u){let n=t8(e,ee([t,r]));o(n)}return p}),m(a),[n,i]}(this):function(e,t){let r=z(e),n,i,o,a,s,l=!1,c=!1,u=!1,d=!1,p=h(e=>{s=e});function m(){return l?c=!0:(l=!0,J(r,{_chunkSteps:e=>{y(()=>{c=!1,u||tK(o._readableStreamController,e),d||tK(a._readableStreamController,e),l=!1,c&&m()})},_closeSteps:()=>{l=!1,u||tH(o._readableStreamController),d||tH(a._readableStreamController),u&&d||s(void 0)},_errorSteps:()=>{l=!1}})),f(void 0)}function b(){}return o=t1(b,m,function(t){if(u=!0,n=t,d){let t=t8(e,ee([n,i]));s(t)}return p}),a=t1(b,m,function(t){if(d=!0,i=t,u){let t=t8(e,ee([n,i]));s(t)}return p}),v(r._closedPromise,e=>(tG(o._readableStreamController,e),tG(a._readableStreamController,e),u&&d||s(void 0),null)),[o,a]}(this))}values(e){if(!t5(this))throw t7("values");return function(e,t){let r=new ec(z(e),t),n=Object.create(eu);return n._asyncIteratorImpl=r,n}(this,(N(e,"First parameter"),{preventCancel:!!(null==e?void 0:e.preventCancel)}).preventCancel)}[es](e){return this.values(e)}static from(e){var t;let r;return a(e)&&void 0!==e.getReader?(t=e.getReader(),r=t1(o,function(){let e;try{e=t.read()}catch(e){return d(e)}return p(e,e=>{if(!a(e))throw TypeError("The promise returned by the reader.read() method must fulfill with an object");if(e.done)tH(r._readableStreamController);else{let t=e.value;tK(r._readableStreamController,t)}},void 0)},function(e){try{return f(t.cancel(e))}catch(e){return d(e)}},0)):function(e){let t;let r=function e(t,r="sync",n){if(void 0===n){if("async"===r){if(void 0===(n=eo(t,es)))return function(e){let t={next(){let t;try{t=el(e)}catch(e){return d(e)}return ea(t)},return(t){let r;try{let n=eo(e.iterator,"return");if(void 0===n)return f({done:!0,value:t});r=g(n,e.iterator,[t])}catch(e){return d(e)}return a(r)?ea(r):d(TypeError("The iterator.return() method must return an object"))}};return{iterator:t,nextMethod:t.next,done:!1}}(e(t,"sync",eo(t,Symbol.iterator)))}else n=eo(t,Symbol.iterator)}if(void 0===n)throw TypeError("The object is not iterable");let i=g(n,t,[]);if(!a(i))throw TypeError("The iterator method must return an object");return{iterator:i,nextMethod:i.next,done:!1}}(e,"async");return t=t1(o,function(){let e;try{e=el(r)}catch(e){return d(e)}return p(f(e),e=>{if(!a(e))throw TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(e.done)tH(t._readableStreamController);else{let r=e.value;tK(t._readableStreamController,r)}},void 0)},function(e){let t;let n=r.iterator;try{t=eo(n,"return")}catch(e){return d(e)}return void 0===t?f(void 0):p(_(t,n,[e]),e=>{if(!a(e))throw TypeError("The promise returned by the iterator.return() method must fulfill with an object")},void 0)},0)}(e)}}function t1(e,t,r,n=1,i=()=>1){let o=Object.create(t0.prototype);return t3(o),tJ(o,Object.create(tF.prototype),e,t,r,n,i),o}function t2(e,t,r){let n=Object.create(t0.prototype);return t3(n),eY(n,Object.create(ew.prototype),e,t,r,0,void 0),n}function t3(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function t5(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")&&e instanceof t0}function t4(e){return void 0!==e._reader}function t8(e,t){if(e._disturbed=!0,"closed"===e._state)return f(void 0);if("errored"===e._state)return d(e._storedError);t6(e);let r=e._reader;if(void 0!==r&&e2(r)){let e=r._readIntoRequests;r._readIntoRequests=new w,e.forEach(e=>{e._closeSteps(void 0)})}return p(e._readableStreamController[T](t),o,void 0)}function t6(e){e._state="closed";let t=e._reader;if(void 0!==t&&($(t),X(t))){let e=t._readRequests;t._readRequests=new w,e.forEach(e=>{e._closeSteps()})}}function t9(e,t){e._state="errored",e._storedError=t;let r=e._reader;void 0!==r&&(j(r,t),X(r)?Z(r,t):e5(r,t))}function t7(e){return TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function re(e,t){N(e,t);let r=null==e?void 0:e.highWaterMark;return B(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:F(r)}}Object.defineProperties(t0,{from:{enumerable:!0}}),Object.defineProperties(t0.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),s(t0.from,"from"),s(t0.prototype.cancel,"cancel"),s(t0.prototype.getReader,"getReader"),s(t0.prototype.pipeThrough,"pipeThrough"),s(t0.prototype.pipeTo,"pipeTo"),s(t0.prototype.tee,"tee"),s(t0.prototype.values,"values"),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(t0.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(t0.prototype,es,{value:t0.prototype.values,writable:!0,configurable:!0});let rt=e=>e.byteLength;s(rt,"size");class rr{constructor(e){q(e,1,"ByteLengthQueuingStrategy"),e=re(e,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=e.highWaterMark}get highWaterMark(){if(!ri(this))throw rn("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!ri(this))throw rn("size");return rt}}function rn(e){return TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function ri(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")&&e instanceof rr}Object.defineProperties(rr.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(rr.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});let ro=()=>1;s(ro,"size");class ra{constructor(e){q(e,1,"CountQueuingStrategy"),e=re(e,"First parameter"),this._countQueuingStrategyHighWaterMark=e.highWaterMark}get highWaterMark(){if(!rl(this))throw rs("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!rl(this))throw rs("size");return ro}}function rs(e){return TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function rl(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")&&e instanceof ra}Object.defineProperties(ra.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(ra.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});class rc{constructor(e={},t={},r={}){let n;void 0===e&&(e=null);let i=e9(t,"Second parameter"),o=e9(r,"Third parameter"),a=function(e,t){N(e,t);let r=null==e?void 0:e.cancel,n=null==e?void 0:e.flush,i=null==e?void 0:e.readableType,o=null==e?void 0:e.start,a=null==e?void 0:e.transform,s=null==e?void 0:e.writableType;return{cancel:void 0===r?void 0:(D(r,`${t} has member 'cancel' that`),t=>_(r,e,[t])),flush:void 0===n?void 0:(D(n,`${t} has member 'flush' that`),t=>_(n,e,[t])),readableType:i,start:void 0===o?void 0:(D(o,`${t} has member 'start' that`),t=>g(o,e,[t])),transform:void 0===a?void 0:(D(a,`${t} has member 'transform' that`),(t,r)=>_(a,e,[t,r])),writableType:s}}(e,"First parameter");if(void 0!==a.readableType)throw RangeError("Invalid readableType specified");if(void 0!==a.writableType)throw RangeError("Invalid writableType specified");let s=e8(o,0),l=e6(o),c=e8(i,1),u=e6(i);(function(e,t,r,n,i,o){function a(){return t}e._writable=function(e,t,r,n,i=1,o=()=>1){let a=Object.create(te.prototype);return tt(a),tw(a,Object.create(tg.prototype),e,t,r,n,i,o),a}(a,function(t){return function(e,t){let r=e._transformStreamController;return e._backpressure?p(e._backpressureChangePromise,()=>{let n=e._writable;if("erroring"===n._state)throw n._storedError;return rg(r,t)},void 0):rg(r,t)}(e,t)},function(){return function(e){let t=e._transformStreamController;if(void 0!==t._finishPromise)return t._finishPromise;let r=e._readable;t._finishPromise=h((e,r)=>{t._finishPromise_resolve=e,t._finishPromise_reject=r});let n=t._flushAlgorithm();return rb(t),m(n,()=>("errored"===r._state?rS(t,r._storedError):(tH(r._readableStreamController),rw(t)),null),e=>(tG(r._readableStreamController,e),rS(t,e),null)),t._finishPromise}(e)},function(t){return function(e,t){let r=e._transformStreamController;if(void 0!==r._finishPromise)return r._finishPromise;let n=e._readable;r._finishPromise=h((e,t)=>{r._finishPromise_resolve=e,r._finishPromise_reject=t});let i=r._cancelAlgorithm(t);return rb(r),m(i,()=>("errored"===n._state?rS(r,n._storedError):(tG(n._readableStreamController,t),rw(r)),null),e=>(tG(n._readableStreamController,e),rS(r,e),null)),r._finishPromise}(e,t)},r,n),e._readable=t1(a,function(){return rp(e,!1),e._backpressureChangePromise},function(t){return function(e,t){let r=e._transformStreamController;if(void 0!==r._finishPromise)return r._finishPromise;let n=e._writable;r._finishPromise=h((e,t)=>{r._finishPromise_resolve=e,r._finishPromise_reject=t});let i=r._cancelAlgorithm(t);return rb(r),m(i,()=>("errored"===n._state?rS(r,n._storedError):(tO(n._writableStreamController,t),rf(e),rw(r)),null),t=>(tO(n._writableStreamController,t),rf(e),rS(r,t),null)),r._finishPromise}(e,t)},i,o),e._backpressure=void 0,e._backpressureChangePromise=void 0,e._backpressureChangePromise_resolve=void 0,rp(e,!0),e._transformStreamController=void 0})(this,h(e=>{n=e}),c,u,s,l),function(e,t){let r,n,i;let o=Object.create(rm.prototype);r=void 0!==t.transform?e=>t.transform(e,o):e=>{try{return ry(o,e),f(void 0)}catch(e){return d(e)}},n=void 0!==t.flush?()=>t.flush(o):()=>f(void 0),i=void 0!==t.cancel?e=>t.cancel(e):()=>f(void 0),o._controlledTransformStream=e,e._transformStreamController=o,o._transformAlgorithm=r,o._flushAlgorithm=n,o._cancelAlgorithm=i,o._finishPromise=void 0,o._finishPromise_resolve=void 0,o._finishPromise_reject=void 0}(this,a),void 0!==a.start?n(a.start(this._transformStreamController)):n(void 0)}get readable(){if(!ru(this))throw rE("readable");return this._readable}get writable(){if(!ru(this))throw rE("writable");return this._writable}}function ru(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")&&e instanceof rc}function rd(e,t){tG(e._readable._readableStreamController,t),rh(e,t)}function rh(e,t){rb(e._transformStreamController),tO(e._writable._writableStreamController,t),rf(e)}function rf(e){e._backpressure&&rp(e,!1)}function rp(e,t){void 0!==e._backpressureChangePromise&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=h(t=>{e._backpressureChangePromise_resolve=t}),e._backpressure=t}Object.defineProperties(rc.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(rc.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});class rm{constructor(){throw TypeError("Illegal constructor")}get desiredSize(){if(!rv(this))throw r_("desiredSize");return tY(this._controlledTransformStream._readable._readableStreamController)}enqueue(e){if(!rv(this))throw r_("enqueue");ry(this,e)}error(e){if(!rv(this))throw r_("error");rd(this._controlledTransformStream,e)}terminate(){if(!rv(this))throw r_("terminate");!function(e){let t=e._controlledTransformStream;tH(t._readable._readableStreamController),rh(t,TypeError("TransformStream terminated"))}(this)}}function rv(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")&&e instanceof rm}function rb(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0,e._cancelAlgorithm=void 0}function ry(e,t){let r=e._controlledTransformStream,n=r._readable._readableStreamController;if(!tX(n))throw TypeError("Readable side is not in a state that permits enqueue");try{tK(n,t)}catch(e){throw rh(r,e),r._readable._storedError}!tz(n)!==r._backpressure&&rp(r,!0)}function rg(e,t){return p(e._transformAlgorithm(t),void 0,t=>{throw rd(e._controlledTransformStream,t),t})}function r_(e){return TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function rw(e){void 0!==e._finishPromise_resolve&&(e._finishPromise_resolve(),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function rS(e,t){void 0!==e._finishPromise_reject&&(b(e._finishPromise),e._finishPromise_reject(t),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function rE(e){return TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(rm.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),s(rm.prototype.enqueue,"enqueue"),s(rm.prototype.error,"error"),s(rm.prototype.terminate,"terminate"),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(rm.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0})}),eY("kpaC8",function(e,t){function r(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];throw Error("number"==typeof e?"[MobX] minified error nr: "+e+(r.length?" "+r.map(String).join(","):"")+". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts":"[MobX] "+e)}ep(e.exports,"observable",()=>eq),ep(e.exports,"computed",()=>eV),ep(e.exports,"autorun",()=>tk),ep(e.exports,"action",()=>tT),ep(e.exports,"reaction",()=>tP),ep(e.exports,"configure",()=>tL);var n,i,o,a,s,l,c,u,d,h,f,p={};function m(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==eW?eW:"undefined"!=typeof self?self:p}var v=Object.assign,b=Object.getOwnPropertyDescriptor,y=Object.defineProperty,g=Object.prototype,_=[];Object.freeze(_);var w={};Object.freeze(w);var S="undefined"!=typeof Proxy,E=/*#__PURE__*/Object.toString();function T(){S||r("Proxy not available")}function O(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var x=function(){};function k(e){return"function"==typeof e}function C(e){switch(typeof e){case"string":case"symbol":case"number":return!0}return!1}function A(e){return null!==e&&"object"==typeof e}function P(e){if(!A(e))return!1;var t=Object.getPrototypeOf(e);if(null==t)return!0;var r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r.toString()===E}function R(e){var t=null==e?void 0:e.constructor;return!!t&&("GeneratorFunction"===t.name||"GeneratorFunction"===t.displayName)}function j(e,t,r){y(e,t,{enumerable:!1,writable:!0,configurable:!0,value:r})}function $(e,t,r){y(e,t,{enumerable:!1,writable:!1,configurable:!0,value:r})}function L(e,t){var r="isMobX"+e;return t.prototype[r]=!0,function(e){return A(e)&&!0===e[r]}}function M(e){return null!=e&&"[object Map]"===Object.prototype.toString.call(e)}function N(e){return null!=e&&"[object Set]"===Object.prototype.toString.call(e)}var D=void 0!==Object.getOwnPropertySymbols,I="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:D?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function q(e){return null===e?null:"object"==typeof e?""+e:e}function B(e,t){return g.hasOwnProperty.call(e,t)}var F=Object.getOwnPropertyDescriptors||function(e){var t={};return I(e).forEach(function(r){t[r]=b(e,r)}),t};function U(e,t,r){return r?e|=t:e&=~t,e}function V(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function z(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(n.key),n)}}function W(e,t,r){return t&&z(e.prototype,t),r&&z(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function H(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return V(e,void 0);var r=({}).toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?V(e,void 0):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function K(){return(K=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}function G(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,Y(e,t)}function Y(e,t){return(Y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var X=/*#__PURE__*/Symbol("mobx-stored-annotations");function J(e){return Object.assign(function(t,r){if(Q(r))return e.decorate_20223_(t,r);Z(t,r,e)},e)}function Z(e,t,r){B(e,X)||j(e,X,K({},e[X])),"override"===r.annotationType_||(e[X][t]=r)}function Q(e){return"object"==typeof e&&"string"==typeof e.kind}var ee=/*#__PURE__*/Symbol("mobx administration"),et=/*#__PURE__*/function(){function e(e){void 0===e&&(e="Atom"),this.name_=void 0,this.flags_=0,this.observers_=new Set,this.lastAccessedBy_=0,this.lowestObserverState_=d.NOT_TRACKING_,this.onBOL=void 0,this.onBUOL=void 0,this.name_=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.reportObserved=function(){return tu(this)},t.reportChanged=function(){tl(),td(this),tc()},t.toString=function(){return this.name_},W(e,[{key:"isBeingObserved",get:function(){return!!(this.flags_&e.isBeingObservedMask_)},set:function(t){this.flags_=U(this.flags_,e.isBeingObservedMask_,t)}},{key:"isPendingUnobservation",get:function(){return!!(this.flags_&e.isPendingUnobservationMask_)},set:function(t){this.flags_=U(this.flags_,e.isPendingUnobservationMask_,t)}},{key:"diffValue",get:function(){return this.flags_&e.diffValueMask_?1:0},set:function(t){this.flags_=U(this.flags_,e.diffValueMask_,1===t)}}])}();et.isBeingObservedMask_=1,et.isPendingUnobservationMask_=2,et.diffValueMask_=4;var er=/*#__PURE__*/L("Atom",et);function en(e,t,r){void 0===t&&(t=x),void 0===r&&(r=x);var n=new et(e);return t!==x&&tj("onBO",n,t,void 0),r!==x&&tR(n,r),n}var ei={structural:function(e,t){return rx(e,t)},default:function(e,t){return Object.is?Object.is(e,t):e===t?0!==e||1/e==1/t:e!=e&&t!=t}};function eo(e,t,r){return tU(e)?e:Array.isArray(e)?eq.array(e,{name:r}):P(e)?eq.object(e,void 0,{name:r}):M(e)?eq.map(e,{name:r}):N(e)?eq.set(e,{name:r}):"function"!=typeof e||tx(e)||tF(e)?e:R(e)?tq(e):tO(r,e)}function ea(e){return e}function es(e,t){return{annotationType_:e,options_:t,make_:el,extend_:ec,decorate_20223_:eu}}function el(e,t,r,n){if(null!=(i=this.options_)&&i.bound)return null===this.extend_(e,t,r,!1)?0:1;if(n===e.target_)return null===this.extend_(e,t,r,!1)?0:2;if(tx(r.value))return 1;var i,o=ed(e,this,t,r,!1);return y(n,t,o),2}function ec(e,t,r,n){var i=ed(e,this,t,r);return e.defineProperty_(t,i,n)}function eu(e,t){var n,i=t.kind,o=t.name,a=t.addInitializer,s=this,l=function(e){var t,r,n,i;return eY(null!=(t=null==(r=s.options_)?void 0:r.name)?t:o.toString(),e,null!=(n=null==(i=s.options_)?void 0:i.autoAction)&&n)};return"field"==i?function(e){var t,r=e;return tx(r)||(r=l(r)),null!=(t=s.options_)&&t.bound&&((r=r.bind(this)).isMobxAction=!0),r}:"method"==i?(tx(e)||(e=l(e)),null!=(n=this.options_)&&n.bound&&a(function(){var e=this[o].bind(this);e.isMobxAction=!0,this[o]=e}),e):void r("Cannot apply '"+s.annotationType_+"' to '"+String(o)+"' (kind: "+i+"):\n'"+s.annotationType_+"' can only be used on properties with a function value.")}function ed(e,t,r,n,i){void 0===i&&(i=to.safeDescriptors),t.annotationType_,n.value;var o,a,s,l,c,u,d,h,f=n.value;return null!=(o=t.options_)&&o.bound&&(f=f.bind(null!=(h=e.proxy_)?h:e.target_)),{value:eY(null!=(a=null==(s=t.options_)?void 0:s.name)?a:r.toString(),f,null!=(l=null==(c=t.options_)?void 0:c.autoAction)&&l,null!=(u=t.options_)&&u.bound?null!=(d=e.proxy_)?d:e.target_:void 0),configurable:!i||e.isPlainObject_,enumerable:!1,writable:!i}}function eh(e,t){return{annotationType_:e,options_:t,make_:ef,extend_:em,decorate_20223_:ev}}function ef(e,t,r,n){if(n===e.target_)return null===this.extend_(e,t,r,!1)?0:2;if(null!=(i=this.options_)&&i.bound&&(!B(e.target_,t)||!tF(e.target_[t]))&&null===this.extend_(e,t,r,!1))return 0;if(tF(r.value))return 1;var i,o=eb(e,this,t,r,!1,!1);return y(n,t,o),2}function em(e,t,r,n){var i,o=eb(e,this,t,r,null==(i=this.options_)?void 0:i.bound);return e.defineProperty_(t,o,n)}function ev(e,t){var r,n=t.name,i=t.addInitializer;return tF(e)||(e=tq(e)),null!=(r=this.options_)&&r.bound&&i(function(){var e=this[n].bind(this);e.isMobXFlow=!0,this[n]=e}),e}function eb(e,t,r,n,i,o){void 0===o&&(o=to.safeDescriptors),t.annotationType_,n.value;var a,s=n.value;return tF(s)||(s=tq(s)),i&&((s=s.bind(null!=(a=e.proxy_)?a:e.target_)).isMobXFlow=!0),{value:s,configurable:!o||e.isPlainObject_,enumerable:!1,writable:!o}}function ey(e,t){return{annotationType_:e,options_:t,make_:eg,extend_:e_,decorate_20223_:ew}}function eg(e,t,r){return null===this.extend_(e,t,r,!1)?0:1}function e_(e,t,r,n){return this.annotationType_,r.get,e.defineComputedProperty_(t,K({},this.options_,{get:r.get,set:r.set}),n)}function ew(e,t){var r=this,n=t.name;return(0,t.addInitializer)(function(){var t=ru(this)[ee],i=K({},r.options_,{get:e,context:this});i.name||(i.name="ObservableObject."+n.toString()),t.values_.set(n,new eQ(i))}),function(){return this[ee].getObservablePropValue_(n)}}function eS(e,t){return{annotationType_:e,options_:t,make_:eE,extend_:eT,decorate_20223_:eO}}function eE(e,t,r){return null===this.extend_(e,t,r,!1)?0:1}function eT(e,t,r,n){var i,o;return this.annotationType_,e.defineObservableProperty_(t,r.value,null!=(i=null==(o=this.options_)?void 0:o.enhancer)?i:eo,n)}function eO(e,t){var r=this,n=t.kind,i=t.name,o=new WeakSet;function a(e,t){var n,a,s=ru(e)[ee],l=new eZ(t,null!=(n=null==(a=r.options_)?void 0:a.enhancer)?n:eo,"ObservableObject."+i.toString(),!1);s.values_.set(i,l),o.add(e)}if("accessor"==n)return{get:function(){return o.has(this)||a(this,e.get.call(this)),this[ee].getObservablePropValue_(i)},set:function(e){return o.has(this)||a(this,e),this[ee].setObservablePropValue_(i,e)},init:function(e){return o.has(this)||a(this,e),e}}}var ex=/*#__PURE__*/ek();function ek(e){return{annotationType_:"true",options_:e,make_:eC,extend_:eA,decorate_20223_:eP}}function eC(e,t,r,n){if(r.get)return eV.make_(e,t,r,n);if(r.set){var i,o,a,s,l,c=eY(t.toString(),r.set);return n===e.target_?null===e.defineProperty_(t,{configurable:!to.safeDescriptors||e.isPlainObject_,set:c})?0:2:(y(n,t,{configurable:!0,set:c}),2)}if(n!==e.target_&&"function"==typeof r.value)return R(r.value)?(null!=(s=this.options_)&&s.autoBind?tq.bound:tq).make_(e,t,r,n):(null!=(a=this.options_)&&a.autoBind?tO.bound:tO).make_(e,t,r,n);var u=(null==(i=this.options_)?void 0:i.deep)===!1?eq.ref:eq;return"function"==typeof r.value&&null!=(o=this.options_)&&o.autoBind&&(r.value=r.value.bind(null!=(l=e.proxy_)?l:e.target_)),u.make_(e,t,r,n)}function eA(e,t,r,n){var i,o,a;return r.get?eV.extend_(e,t,r,n):r.set?e.defineProperty_(t,{configurable:!to.safeDescriptors||e.isPlainObject_,set:eY(t.toString(),r.set)},n):("function"==typeof r.value&&null!=(i=this.options_)&&i.autoBind&&(r.value=r.value.bind(null!=(a=e.proxy_)?a:e.target_)),((null==(o=this.options_)?void 0:o.deep)===!1?eq.ref:eq).extend_(e,t,r,n))}function eP(e,t){r("'"+this.annotationType_+"' cannot be used as a decorator")}var eR={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(eR);var ej=/*#__PURE__*/eS("observable"),e$=/*#__PURE__*/eS("observable.ref",{enhancer:ea}),eL=/*#__PURE__*/eS("observable.shallow",{enhancer:function(e,t,r){return null==e||rf(e)||t6(e)||rt(e)||ro(e)?e:Array.isArray(e)?eq.array(e,{name:r,deep:!1}):P(e)?eq.object(e,void 0,{name:r,deep:!1}):M(e)?eq.map(e,{name:r,deep:!1}):N(e)?eq.set(e,{name:r,deep:!1}):void 0}}),eM=/*#__PURE__*/eS("observable.struct",{enhancer:function(e,t){return rx(e,t)?t:e}}),eN=/*#__PURE__*/J(ej);function eD(e){var t,r,n;return!0===e.deep?eo:!1===e.deep?ea:(t=e.defaultDecorator)&&null!=(r=null==(n=t.options_)?void 0:n.enhancer)?r:eo}function eI(e,t,r){if(Q(t))return ej.decorate_20223_(e,t);if(C(t)){Z(e,t,ej);return}return tU(e)?e:P(e)?eq.object(e,t,r):Array.isArray(e)?eq.array(e,t):M(e)?eq.map(e,t):N(e)?eq.set(e,t):"object"==typeof e&&null!==e?e:eq.box(e,t)}v(eI,eN);var eq=/*#__PURE__*/v(eI,{box:function(e,t){var r=t||eR;return new eZ(e,eD(r),r.name,!0,r.equals)},array:function(e,t){var r=t||eR;return(!1===to.useProxies||!1===r.proxy?function(e,t,r){return new rg(e,t,r)}:function(e,t,r,n){return void 0===r&&(r="ObservableArray"),void 0===n&&(n=!1),T(),rT(function(){var i=new t0(r,t,n,!1);$(i.values_,ee,i);var o=new Proxy(i.values_,tQ);return i.proxy_=o,e&&e.length&&i.spliceWithArray_(0,0,e),o})})(e,eD(r),r.name)},map:function(e,t){var r=t||eR;return new re(e,eD(r),r.name)},set:function(e,t){var r=t||eR;return new ri(e,eD(r),r.name)},object:function(e,t,r){return rT(function(){var n,i,o,a,s;return a=!1===to.useProxies||(null==r?void 0:r.proxy)===!1?ru({},r):(n={},T(),null!=(o=(i=(n=ru(n,r))[ee]).proxy_)?o:i.proxy_=new Proxy(n,tz)),s=F(e),rT(function(){var e=ru(a,void 0)[ee];I(s).forEach(function(r){e.extend_(r,s[r],!t||!(r in t)||t[r])})}),a})},ref:/*#__PURE__*/J(e$),shallow:/*#__PURE__*/J(eL),deep:eN,struct:/*#__PURE__*/J(eM)}),eB="computed",eF=/*#__PURE__*/ey(eB),eU=/*#__PURE__*/ey("computed.struct",{equals:ei.structural}),eV=function(e,t){if(Q(t))return eF.decorate_20223_(e,t);if(C(t))return Z(e,t,eF);if(P(e))return J(ey(eB,e));var r=P(t)?t:{};return r.get=e,r.name||(r.name=e.name||""),new eQ(r)};Object.assign(eV,eF),eV.struct=/*#__PURE__*/J(eU);var ez=0,eH=1,eK=null!=(c=null==(u=/*#__PURE__*/b(function(){},"name"))?void 0:u.configurable)&&c,eG={value:"action",configurable:!0,writable:!1,enumerable:!1};function eY(e,t,n,i){function o(){return function(e,t,n,i,o){var a,s,l,c,u=(a=to.trackingDerivation,s=!t||!a,tl(),l=to.allowStateChanges,s&&(e6(),l=eX(!0)),ez=(c={runAsAction_:s,prevDerivation_:a,prevAllowStateChanges_:l,prevAllowStateReads_:e7(!0),notifySpy_:!1,startTime_:0,actionId_:eH++,parentActionId_:ez}).actionId_,c);try{return n.apply(i,o)}catch(e){throw u.error_=e,e}finally{ez!==u.actionId_&&r(30),ez=u.parentActionId_,void 0!==u.error_&&(to.suppressReactionErrors=!0),eJ(u.prevAllowStateChanges_),te(u.prevAllowStateReads_),tc(),u.runAsAction_&&e9(u.prevDerivation_),to.suppressReactionErrors=!1}}(0,n,t,i||this,arguments)}return void 0===n&&(n=!1),o.isMobxAction=!0,o.toString=function(){return t.toString()},eK&&(eG.value=e,y(o,"name",eG)),o}function eX(e){var t=to.allowStateChanges;return to.allowStateChanges=e,t}function eJ(e){to.allowStateChanges=e}var eZ=/*#__PURE__*/function(e){function t(t,r,n,i,o){var a;return void 0===n&&(n="ObservableValue"),void 0===i&&(i=!0),void 0===o&&(o=ei.default),(a=e.call(this,n)||this).enhancer=void 0,a.name_=void 0,a.equals=void 0,a.hasUnreportedChange_=!1,a.interceptors_=void 0,a.changeListeners_=void 0,a.value_=void 0,a.dehancer=void 0,a.enhancer=r,a.name_=n,a.equals=o,a.value_=r(t,void 0,n),a}G(t,e);var r=t.prototype;return r.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},r.set=function(e){this.value_,(e=this.prepareNewValue_(e))!==to.UNCHANGED&&this.setNewValue_(e)},r.prepareNewValue_=function(e){if(tW(this)){var t=tK(this,{object:this,type:tZ,newValue:e});if(!t)return to.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?to.UNCHANGED:e},r.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),tG(this)&&tX(this,{type:tZ,object:this,newValue:e,oldValue:t})},r.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},r.intercept_=function(e){return tH(this,e)},r.observe_=function(e,t){return t&&e({observableKind:"value",debugObjectName:this.name_,object:this,type:tZ,newValue:this.value_,oldValue:void 0}),tY(this,e)},r.raw=function(){return this.value_},r.toJSON=function(){return this.get()},r.toString=function(){return this.name_+"["+this.value_+"]"},r.valueOf=function(){return q(this.get())},r[Symbol.toPrimitive]=function(){return this.valueOf()},t}(et),eQ=/*#__PURE__*/function(){function e(e){this.dependenciesState_=d.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.observers_=new Set,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=d.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new e1(null),this.name_=void 0,this.triggeredBy_=void 0,this.flags_=0,this.derivation=void 0,this.setter_=void 0,this.isTracing_=h.NONE,this.scope_=void 0,this.equals_=void 0,this.requiresReaction_=void 0,this.keepAlive_=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||r(31),this.derivation=e.get,this.name_=e.name||"ComputedValue",e.set&&(this.setter_=eY("ComputedValue-setter",e.set)),this.equals_=e.equals||(e.compareStructural||e.struct?ei.structural:ei.default),this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}var t=e.prototype;return t.onBecomeStale_=function(){this.lowestObserverState_===d.UP_TO_DATE_&&(this.lowestObserverState_=d.POSSIBLY_STALE_,this.observers_.forEach(function(e){e.dependenciesState_===d.UP_TO_DATE_&&(e.dependenciesState_=d.POSSIBLY_STALE_,e.onBecomeStale_())}))},t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.get=function(){if(this.isComputing&&r(32,this.name_,this.derivation),0!==to.inBatch||0!==this.observers_.size||this.keepAlive_){if(tu(this),e3(this)){var e,t=to.trackingContext;this.keepAlive_&&!t&&(to.trackingContext=this),this.trackAndCompute()&&(e=this,e.lowestObserverState_!==d.STALE_&&(e.lowestObserverState_=d.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===d.POSSIBLY_STALE_?t.dependenciesState_=d.STALE_:t.dependenciesState_===d.UP_TO_DATE_&&(e.lowestObserverState_=d.UP_TO_DATE_)}))),to.trackingContext=t}}else e3(this)&&(this.warnAboutUntrackedRead_(),tl(),this.value_=this.computeValue_(!1),tc());var n=this.value_;if(e2(n))throw n.cause;return n},t.set=function(e){if(this.setter_){this.isRunningSetter&&r(33,this.name_),this.isRunningSetter=!0;try{this.setter_.call(this.scope_,e)}finally{this.isRunningSetter=!1}}else r(34,this.name_)},t.trackAndCompute=function(){var e=this.value_,t=this.dependenciesState_===d.NOT_TRACKING_,r=this.computeValue_(!0),n=t||e2(e)||e2(r)||!this.equals_(e,r);return n&&(this.value_=r),n},t.computeValue_=function(e){this.isComputing=!0;var t,r=eX(!1);if(e)t=e5(this,this.derivation,this.scope_);else if(!0===to.disableErrorBoundaries)t=this.derivation.call(this.scope_);else try{t=this.derivation.call(this.scope_)}catch(e){t=new e1(e)}return eJ(r),this.isComputing=!1,t},t.suspend_=function(){this.keepAlive_||(e4(this),this.value_=void 0)},t.observe_=function(e,t){var r=this,n=!0,i=void 0;return tk(function(){var o=r.get();if(!n||t){var a=e6();e({observableKind:"computed",debugObjectName:r.name_,type:tZ,object:r,newValue:o,oldValue:i}),e9(a)}n=!1,i=o})},t.warnAboutUntrackedRead_=function(){},t.toString=function(){return this.name_+"["+this.derivation.toString()+"]"},t.valueOf=function(){return q(this.get())},t[Symbol.toPrimitive]=function(){return this.valueOf()},W(e,[{key:"isComputing",get:function(){return!!(this.flags_&e.isComputingMask_)},set:function(t){this.flags_=U(this.flags_,e.isComputingMask_,t)}},{key:"isRunningSetter",get:function(){return!!(this.flags_&e.isRunningSetterMask_)},set:function(t){this.flags_=U(this.flags_,e.isRunningSetterMask_,t)}},{key:"isBeingObserved",get:function(){return!!(this.flags_&e.isBeingObservedMask_)},set:function(t){this.flags_=U(this.flags_,e.isBeingObservedMask_,t)}},{key:"isPendingUnobservation",get:function(){return!!(this.flags_&e.isPendingUnobservationMask_)},set:function(t){this.flags_=U(this.flags_,e.isPendingUnobservationMask_,t)}},{key:"diffValue",get:function(){return this.flags_&e.diffValueMask_?1:0},set:function(t){this.flags_=U(this.flags_,e.diffValueMask_,1===t)}}])}();eQ.isComputingMask_=1,eQ.isRunningSetterMask_=2,eQ.isBeingObservedMask_=4,eQ.isPendingUnobservationMask_=8,eQ.diffValueMask_=16;var e0=/*#__PURE__*/L("ComputedValue",eQ);(n=d||(d={}))[n.NOT_TRACKING_=-1]="NOT_TRACKING_",n[n.UP_TO_DATE_=0]="UP_TO_DATE_",n[n.POSSIBLY_STALE_=1]="POSSIBLY_STALE_",n[n.STALE_=2]="STALE_",(i=h||(h={}))[i.NONE=0]="NONE",i[i.LOG=1]="LOG",i[i.BREAK=2]="BREAK";var e1=function(e){this.cause=void 0,this.cause=e};function e2(e){return e instanceof e1}function e3(e){switch(e.dependenciesState_){case d.UP_TO_DATE_:return!1;case d.NOT_TRACKING_:case d.STALE_:return!0;case d.POSSIBLY_STALE_:for(var t=e7(!0),r=e6(),n=e.observing_,i=n.length,o=0;o<i;o++){var a=n[o];if(e0(a)){if(to.disableErrorBoundaries)a.get();else try{a.get()}catch(e){return e9(r),te(t),!0}if(e.dependenciesState_===d.STALE_)return e9(r),te(t),!0}}return tt(e),e9(r),te(t),!1}}function e5(e,t,r){var n,i=e7(!0);tt(e),e.newObserving_=Array(0===e.runId_?100:e.observing_.length),e.unboundDepsCount_=0,e.runId_=++to.runId;var o=to.trackingDerivation;if(to.trackingDerivation=e,to.inBatch++,!0===to.disableErrorBoundaries)n=t.call(r);else try{n=t.call(r)}catch(e){n=new e1(e)}return to.inBatch--,to.trackingDerivation=o,function(e){for(var t=e.observing_,r=e.observing_=e.newObserving_,n=d.UP_TO_DATE_,i=0,o=e.unboundDepsCount_,a=0;a<o;a++){var s=r[a];0===s.diffValue&&(s.diffValue=1,i!==a&&(r[i]=s),i++),s.dependenciesState_>n&&(n=s.dependenciesState_)}for(r.length=i,e.newObserving_=null,o=t.length;o--;){var l=t[o];0===l.diffValue&&ta(l,e),l.diffValue=0}for(;i--;){var c=r[i];1===c.diffValue&&(c.diffValue=0,c.observers_.add(e),c.lowestObserverState_>e.dependenciesState_&&(c.lowestObserverState_=e.dependenciesState_))}n!==d.UP_TO_DATE_&&(e.dependenciesState_=n,e.onBecomeStale_())}(e),te(i),n}function e4(e){var t=e.observing_;e.observing_=[];for(var r=t.length;r--;)ta(t[r],e);e.dependenciesState_=d.NOT_TRACKING_}function e8(e){var t=e6();try{return e()}finally{e9(t)}}function e6(){var e=to.trackingDerivation;return to.trackingDerivation=null,e}function e9(e){to.trackingDerivation=e}function e7(e){var t=to.allowStateReads;return to.allowStateReads=e,t}function te(e){to.allowStateReads=e}function tt(e){if(e.dependenciesState_!==d.UP_TO_DATE_){e.dependenciesState_=d.UP_TO_DATE_;for(var t=e.observing_,r=t.length;r--;)t[r].lowestObserverState_=d.UP_TO_DATE_}}var tr=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},tn=!0,ti=!1,to=((o=/*#__PURE__*/m()).__mobxInstanceCount>0&&!o.__mobxGlobals&&(tn=!1),o.__mobxGlobals&&o.__mobxGlobals.version!==new tr().version&&(tn=!1),tn)?o.__mobxGlobals?(o.__mobxInstanceCount+=1,o.__mobxGlobals.UNCHANGED||(o.__mobxGlobals.UNCHANGED={}),o.__mobxGlobals):(o.__mobxInstanceCount=1,o.__mobxGlobals=/*#__PURE__*/new tr):(setTimeout(function(){ti||r(35)},1),new tr);function ta(e,t){e.observers_.delete(t),0===e.observers_.size&&ts(e)}function ts(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,to.pendingUnobservations.push(e))}function tl(){to.inBatch++}function tc(){if(0==--to.inBatch){tp();for(var e=to.pendingUnobservations,t=0;t<e.length;t++){var r=e[t];r.isPendingUnobservation=!1,0===r.observers_.size&&(r.isBeingObserved&&(r.isBeingObserved=!1,r.onBUO()),r instanceof eQ&&r.suspend_())}to.pendingUnobservations=[]}}function tu(e){var t=to.trackingDerivation;return null!==t?(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved&&to.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved):(0===e.observers_.size&&to.inBatch>0&&ts(e),!1)}function td(e){e.lowestObserverState_!==d.STALE_&&(e.lowestObserverState_=d.STALE_,e.observers_.forEach(function(e){e.dependenciesState_===d.UP_TO_DATE_&&e.onBecomeStale_(),e.dependenciesState_=d.STALE_}))}var th=/*#__PURE__*/function(){function e(e,t,r,n){void 0===e&&(e="Reaction"),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=d.NOT_TRACKING_,this.runId_=0,this.unboundDepsCount_=0,this.flags_=0,this.isTracing_=h.NONE,this.name_=e,this.onInvalidate_=t,this.errorHandler_=r,this.requiresObservable_=n}var t=e.prototype;return t.onBecomeStale_=function(){this.schedule_()},t.schedule_=function(){this.isScheduled||(this.isScheduled=!0,to.pendingReactions.push(this),tp())},t.runReaction_=function(){if(!this.isDisposed){tl(),this.isScheduled=!1;var e=to.trackingContext;if(to.trackingContext=this,e3(this)){this.isTrackPending=!0;try{this.onInvalidate_()}catch(e){this.reportExceptionInDerivation_(e)}}to.trackingContext=e,tc()}},t.track=function(e){if(!this.isDisposed){tl(),this.isRunning=!0;var t=to.trackingContext;to.trackingContext=this;var r=e5(this,e,void 0);to.trackingContext=t,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&e4(this),e2(r)&&this.reportExceptionInDerivation_(r.cause),tc()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_){this.errorHandler_(e,this);return}if(to.disableErrorBoundaries)throw e;to.suppressReactionErrors||console.error("[mobx] uncaught error in '"+this+"'",e),to.globalReactionErrorHandlers.forEach(function(r){return r(e,t)})},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(tl(),e4(this),tc()))},t.getDisposer_=function(e){var t=this,r=function r(){t.dispose(),null==e||null==e.removeEventListener||e.removeEventListener("abort",r)};return null==e||null==e.addEventListener||e.addEventListener("abort",r),r[ee]=this,r},t.toString=function(){return"Reaction["+this.name_+"]"},t.trace=function(e){void 0===e&&(e=!1)},W(e,[{key:"isDisposed",get:function(){return!!(this.flags_&e.isDisposedMask_)},set:function(t){this.flags_=U(this.flags_,e.isDisposedMask_,t)}},{key:"isScheduled",get:function(){return!!(this.flags_&e.isScheduledMask_)},set:function(t){this.flags_=U(this.flags_,e.isScheduledMask_,t)}},{key:"isTrackPending",get:function(){return!!(this.flags_&e.isTrackPendingMask_)},set:function(t){this.flags_=U(this.flags_,e.isTrackPendingMask_,t)}},{key:"isRunning",get:function(){return!!(this.flags_&e.isRunningMask_)},set:function(t){this.flags_=U(this.flags_,e.isRunningMask_,t)}},{key:"diffValue",get:function(){return this.flags_&e.diffValueMask_?1:0},set:function(t){this.flags_=U(this.flags_,e.diffValueMask_,1===t)}}])}();th.isDisposedMask_=1,th.isScheduledMask_=2,th.isTrackPendingMask_=4,th.isRunningMask_=8,th.diffValueMask_=16;var tf=function(e){return e()};function tp(){to.inBatch>0||to.isRunningReactions||tf(tm)}function tm(){to.isRunningReactions=!0;for(var e=to.pendingReactions,t=0;e.length>0;){100==++t&&(console.error("[mobx] cycle in reaction: "+e[0]),e.splice(0));for(var r=e.splice(0),n=0,i=r.length;n<i;n++)r[n].runReaction_()}to.isRunningReactions=!1}var tv=/*#__PURE__*/L("Reaction",th),tb="action",ty="autoAction",tg=/*#__PURE__*/es(tb),t_=/*#__PURE__*/es("action.bound",{bound:!0}),tw=/*#__PURE__*/es(ty,{autoAction:!0}),tS=/*#__PURE__*/es("autoAction.bound",{autoAction:!0,bound:!0});function tE(e){return function(t,r){return k(t)?eY(t.name||"<unnamed action>",t,e):k(r)?eY(t,r,e):Q(r)?(e?tw:tg).decorate_20223_(t,r):C(r)?Z(t,r,e?tw:tg):C(t)?J(es(e?ty:tb,{name:t,autoAction:e})):void 0}}var tT=/*#__PURE__*/tE(!1);Object.assign(tT,tg);var tO=/*#__PURE__*/tE(!0);function tx(e){return k(e)&&!0===e.isMobxAction}function tk(e,t){void 0===t&&(t=w);var r,n,i,o,a,s=null!=(r=null==(n=t)?void 0:n.name)?r:"Autorun";if(t.scheduler||t.delay){var l=tA(t),c=!1;a=new th(s,function(){c||(c=!0,l(function(){c=!1,a.isDisposed||a.track(u)}))},t.onError,t.requiresObservable)}else a=new th(s,function(){this.track(u)},t.onError,t.requiresObservable);function u(){e(a)}return null!=(i=t)&&null!=(i=i.signal)&&i.aborted||a.schedule_(),a.getDisposer_(null==(o=t)?void 0:o.signal)}Object.assign(tO,tw),tT.bound=/*#__PURE__*/J(t_),tO.bound=/*#__PURE__*/J(tS);var tC=function(e){return e()};function tA(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:tC}function tP(e,t,r){void 0===r&&(r=w);var n,i,o,a,s,l=null!=(i=r.name)?i:"Reaction",c=tT(l,r.onError?(n=r.onError,function(){try{return t.apply(this,arguments)}catch(e){n.call(this,e)}}):t),u=!r.scheduler&&!r.delay,d=tA(r),h=!0,f=!1,p=r.compareStructural?ei.structural:r.equals||ei.default,m=new th(l,function(){h||u?v():f||(f=!0,d(v))},r.onError,r.requiresObservable);function v(){if(f=!1,!m.isDisposed){var t=!1,n=s;m.track(function(){var r=function(e,t){var r=eX(e);try{return t()}finally{eJ(r)}}(!1,function(){return e(m)});t=h||!p(s,r),s=r}),h&&r.fireImmediately?c(s,n,m):!h&&t&&c(s,n,m),h=!1}}return null!=(o=r)&&null!=(o=o.signal)&&o.aborted||m.schedule_(),m.getDisposer_(null==(a=r)?void 0:a.signal)}function tR(e,t,r){return tj("onBUO",e,t,r)}function tj(e,t,r,n){var i="function"==typeof n?rS(t,r):rS(t),o=k(n)?n:r,a=e+"L";return i[a]?i[a].add(o):i[a]=new Set([o]),function(){var e=i[a];e&&(e.delete(o),0===e.size&&delete i[a])}}var t$="always";function tL(e){!0===e.isolateGlobalState&&function(){if((to.pendingReactions.length||to.inBatch||to.isRunningReactions)&&r(36),ti=!0,tn){var e=m();0==--e.__mobxInstanceCount&&(e.__mobxGlobals=void 0),to=new tr}}();var t,n,i=e.useProxies,o=e.enforceActions;if(void 0!==i&&(to.useProxies=i===t$||"never"!==i&&"undefined"!=typeof Proxy),"ifavailable"===i&&(to.verifyProxies=!0),void 0!==o){var a=o===t$?t$:"observed"===o;to.enforceActions=a,to.allowStateChanges=!0!==a&&a!==t$}["computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","disableErrorBoundaries","safeDescriptors"].forEach(function(t){t in e&&(to[t]=!!e[t])}),to.allowStateReads=!to.observableRequiresReaction,e.reactionScheduler&&(t=e.reactionScheduler,n=tf,tf=function(e){return t(function(){return n(e)})})}var tM=0;function tN(){this.message="FLOW_CANCELLED"}tN.prototype=/*#__PURE__*/Object.create(Error.prototype);var tD=/*#__PURE__*/eh("flow"),tI=/*#__PURE__*/eh("flow.bound",{bound:!0}),tq=/*#__PURE__*/Object.assign(function(e,t){if(Q(t))return tD.decorate_20223_(e,t);if(C(t))return Z(e,t,tD);var r=e.name||"<unnamed flow>",n=function(){var t,n=arguments,i=++tM,o=tT(r+" - runid: "+i+" - init",e).apply(this,n),a=void 0,s=new Promise(function(e,n){var s=0;function l(e){var t;a=void 0;try{t=tT(r+" - runid: "+i+" - yield "+s++,o.next).call(o,e)}catch(e){return n(e)}u(t)}function c(e){var t;a=void 0;try{t=tT(r+" - runid: "+i+" - yield "+s++,o.throw).call(o,e)}catch(e){return n(e)}u(t)}function u(t){if(k(null==t?void 0:t.then)){t.then(u,n);return}return t.done?e(t.value):(a=Promise.resolve(t.value)).then(l,c)}t=n,l(void 0)});return s.cancel=tT(r+" - runid: "+i+" - cancel",function(){try{a&&tB(a);var e=o.return(void 0),r=Promise.resolve(e.value);r.then(x,x),tB(r),t(new tN)}catch(e){t(e)}}),s};return n.isMobXFlow=!0,n},tD);function tB(e){k(e.cancel)&&e.cancel()}function tF(e){return(null==e?void 0:e.isMobXFlow)===!0}function tU(e){return!!e&&(rf(e)||!!e[ee]||er(e)||tv(e)||e0(e))}function tV(e,t){void 0===t&&(t=void 0),tl();try{return e.apply(t)}finally{tc()}}tq.bound=/*#__PURE__*/J(tI);var tz={has:function(e,t){return e[ee].has_(t)},get:function(e,t){return e[ee].get_(t)},set:function(e,t,r){var n;return!!C(t)&&(null==(n=e[ee].set_(t,r,!0))||n)},deleteProperty:function(e,t){var r;return!!C(t)&&(null==(r=e[ee].delete_(t,!0))||r)},defineProperty:function(e,t,r){var n;return null==(n=e[ee].defineProperty_(t,r))||n},ownKeys:function(e){return e[ee].ownKeys_()},preventExtensions:function(e){r(13)}};function tW(e){return void 0!==e.interceptors_&&e.interceptors_.length>0}function tH(e,t){var r=e.interceptors_||(e.interceptors_=[]);return r.push(t),O(function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)})}function tK(e,t){var n=e6();try{for(var i=[].concat(e.interceptors_||[]),o=0,a=i.length;o<a&&((t=i[o](t))&&!t.type&&r(14),t);o++);return t}finally{e9(n)}}function tG(e){return void 0!==e.changeListeners_&&e.changeListeners_.length>0}function tY(e,t){var r=e.changeListeners_||(e.changeListeners_=[]);return r.push(t),O(function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)})}function tX(e,t){var r=e6(),n=e.changeListeners_;if(n){n=n.slice();for(var i=0,o=n.length;i<o;i++)n[i](t);e9(r)}}var tJ="splice",tZ="update",tQ={get:function(e,t){var r=e[ee];return t===ee?r:"length"===t?r.getArrayLength_():"string"!=typeof t||isNaN(t)?B(t1,t)?t1[t]:e[t]:r.get_(parseInt(t))},set:function(e,t,r){var n=e[ee];return"length"===t&&n.setArrayLength_(r),"symbol"==typeof t||isNaN(t)?e[t]=r:n.set_(parseInt(t),r),!0},preventExtensions:function(){r(15)}},t0=/*#__PURE__*/function(){function e(e,t,r,n){void 0===e&&(e="ObservableArray"),this.owned_=void 0,this.legacyMode_=void 0,this.atom_=void 0,this.values_=[],this.interceptors_=void 0,this.changeListeners_=void 0,this.enhancer_=void 0,this.dehancer=void 0,this.proxy_=void 0,this.lastKnownLength_=0,this.owned_=r,this.legacyMode_=n,this.atom_=new et(e),this.enhancer_=function(e,r){return t(e,r,"ObservableArray[..]")}}var t=e.prototype;return t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.dehanceValues_=function(e){return void 0!==this.dehancer&&e.length>0?e.map(this.dehancer):e},t.intercept_=function(e){return tH(this,e)},t.observe_=function(e,t){return void 0===t&&(t=!1),t&&e({observableKind:"array",object:this.proxy_,debugObjectName:this.atom_.name_,type:"splice",index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),tY(this,e)},t.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},t.setArrayLength_=function(e){("number"!=typeof e||isNaN(e)||e<0)&&r("Out of range: "+e);var t=this.values_.length;if(e!==t){if(e>t){for(var n=Array(e-t),i=0;i<e-t;i++)n[i]=void 0;this.spliceWithArray_(t,0,n)}else this.spliceWithArray_(e,t-e)}},t.updateArrayLength_=function(e,t){e!==this.lastKnownLength_&&r(16),this.lastKnownLength_+=t,this.legacyMode_&&t>0&&rw(e+t+1)},t.spliceWithArray_=function(e,t,r){var n=this;this.atom_;var i=this.values_.length;if(void 0===e?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=1==arguments.length?i-e:null==t?0:Math.max(0,Math.min(t,i-e)),void 0===r&&(r=_),tW(this)){var o=tK(this,{object:this.proxy_,type:tJ,index:e,removedCount:t,added:r});if(!o)return _;t=o.removedCount,r=o.added}if(r=0===r.length?r:r.map(function(e){return n.enhancer_(e,void 0)}),this.legacyMode_){var a=r.length-t;this.updateArrayLength_(i,a)}var s=this.spliceItemsIntoValues_(e,t,r);return(0!==t||0!==r.length)&&this.notifyArraySplice_(e,r,s),this.dehanceValues_(s)},t.spliceItemsIntoValues_=function(e,t,r){if(r.length<1e4){var n;return(n=this.values_).splice.apply(n,[e,t].concat(r))}var i=this.values_.slice(e,e+t),o=this.values_.slice(e+t);this.values_.length+=r.length-t;for(var a=0;a<r.length;a++)this.values_[e+a]=r[a];for(var s=0;s<o.length;s++)this.values_[e+r.length+s]=o[s];return i},t.notifyArrayChildUpdate_=function(e,t,r){var n=!this.owned_&&!1,i=tG(this),o=i||n?{observableKind:"array",object:this.proxy_,type:tZ,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:r}:null;this.atom_.reportChanged(),i&&tX(this,o)},t.notifyArraySplice_=function(e,t,r){var n=!this.owned_&&!1,i=tG(this),o=i||n?{observableKind:"array",object:this.proxy_,debugObjectName:this.atom_.name_,type:tJ,index:e,removed:r,added:t,removedCount:r.length,addedCount:t.length}:null;this.atom_.reportChanged(),i&&tX(this,o)},t.get_=function(e){if(this.legacyMode_&&e>=this.values_.length){console.warn("[mobx] Out of bounds read: "+e);return}return this.atom_.reportObserved(),this.dehanceValue_(this.values_[e])},t.set_=function(e,t){var n=this.values_;if(this.legacyMode_&&e>n.length&&r(17,e,n.length),e<n.length){this.atom_;var i=n[e];if(tW(this)){var o=tK(this,{type:tZ,object:this.proxy_,index:e,newValue:t});if(!o)return;t=o.newValue}(t=this.enhancer_(t,i))!==i&&(n[e]=t,this.notifyArrayChildUpdate_(e,t,i))}else{for(var a=Array(e+1-n.length),s=0;s<a.length-1;s++)a[s]=void 0;a[a.length-1]=t,this.spliceWithArray_(n.length,0,a)}},e}(),t1={clear:function(){return this.splice(0)},replace:function(e){var t=this[ee];return t.spliceWithArray_(0,t.values_.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){for(var r=arguments.length,n=Array(r>2?r-2:0),i=2;i<r;i++)n[i-2]=arguments[i];var o=this[ee];switch(arguments.length){case 0:return[];case 1:return o.spliceWithArray_(e);case 2:return o.spliceWithArray_(e,t)}return o.spliceWithArray_(e,t,n)},spliceWithArray:function(e,t,r){return this[ee].spliceWithArray_(e,t,r)},push:function(){for(var e=this[ee],t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];return e.spliceWithArray_(e.values_.length,0,r),e.values_.length},pop:function(){return this.splice(Math.max(this[ee].values_.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[ee],t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];return e.spliceWithArray_(0,0,r),e.values_.length},reverse:function(){return to.trackingDerivation&&r(37,"reverse"),this.replace(this.slice().reverse()),this},sort:function(){to.trackingDerivation&&r(37,"sort");var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[ee],r=t.dehanceValues_(t.values_).indexOf(e);return r>-1&&(this.splice(r,1),!0)}};function t2(e,t){"function"==typeof Array.prototype[e]&&(t1[e]=t(e))}function t3(e){return function(){var t=this[ee];t.atom_.reportObserved();var r=t.dehanceValues_(t.values_);return r[e].apply(r,arguments)}}function t5(e){return function(t,r){var n=this,i=this[ee];return i.atom_.reportObserved(),i.dehanceValues_(i.values_)[e](function(e,i){return t.call(r,e,i,n)})}}function t4(e){return function(){var t=this,r=this[ee];r.atom_.reportObserved();var n=r.dehanceValues_(r.values_),i=arguments[0];return arguments[0]=function(e,r,n){return i(e,r,n,t)},n[e].apply(n,arguments)}}t2("at",t3),t2("concat",t3),t2("flat",t3),t2("includes",t3),t2("indexOf",t3),t2("join",t3),t2("lastIndexOf",t3),t2("slice",t3),t2("toString",t3),t2("toLocaleString",t3),t2("toSorted",t3),t2("toSpliced",t3),t2("with",t3),t2("every",t5),t2("filter",t5),t2("find",t5),t2("findIndex",t5),t2("findLast",t5),t2("findLastIndex",t5),t2("flatMap",t5),t2("forEach",t5),t2("map",t5),t2("some",t5),t2("toReversed",t5),t2("reduce",t4),t2("reduceRight",t4);var t8=/*#__PURE__*/L("ObservableArrayAdministration",t0);function t6(e){return A(e)&&t8(e[ee])}var t9={},t7="delete",re=/*#__PURE__*/function(){function e(e,t,n){var i=this;void 0===t&&(t=eo),void 0===n&&(n="ObservableMap"),this.enhancer_=void 0,this.name_=void 0,this[ee]=t9,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=t,this.name_=n,k(Map)||r(18),rT(function(){i.keysAtom_=en("ObservableMap.keys()"),i.data_=new Map,i.hasMap_=new Map,e&&i.merge(e)})}var t=e.prototype;return t.has_=function(e){return this.data_.has(e)},t.has=function(e){var t=this;if(!to.trackingDerivation)return this.has_(e);var r=this.hasMap_.get(e);if(!r){var n=r=new eZ(this.has_(e),ea,"ObservableMap.key?",!1);this.hasMap_.set(e,n),tR(n,function(){return t.hasMap_.delete(e)})}return r.get()},t.set=function(e,t){var r=this.has_(e);if(tW(this)){var n=tK(this,{type:r?tZ:"add",object:this,newValue:t,name:e});if(!n)return this;t=n.newValue}return r?this.updateValue_(e,t):this.addValue_(e,t),this},t.delete=function(e){var t=this;if(this.keysAtom_,tW(this)&&!tK(this,{type:t7,object:this,name:e}))return!1;if(this.has_(e)){var r=tG(this),n=r?{observableKind:"map",debugObjectName:this.name_,type:t7,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return tV(function(){var r;t.keysAtom_.reportChanged(),null==(r=t.hasMap_.get(e))||r.setNewValue_(!1),t.data_.get(e).setNewValue_(void 0),t.data_.delete(e)}),r&&tX(this,n),!0}return!1},t.updateValue_=function(e,t){var r=this.data_.get(e);if((t=r.prepareNewValue_(t))!==to.UNCHANGED){var n=tG(this),i=n?{observableKind:"map",debugObjectName:this.name_,type:tZ,object:this,oldValue:r.value_,name:e,newValue:t}:null;r.setNewValue_(t),n&&tX(this,i)}},t.addValue_=function(e,t){var r=this;this.keysAtom_,tV(function(){var n,i=new eZ(t,r.enhancer_,"ObservableMap.key",!1);r.data_.set(e,i),t=i.value_,null==(n=r.hasMap_.get(e))||n.setNewValue_(!0),r.keysAtom_.reportChanged()});var n=tG(this),i=n?{observableKind:"map",debugObjectName:this.name_,type:"add",object:this,name:e,newValue:t}:null;n&&tX(this,i)},t.get=function(e){return this.has(e)?this.dehanceValue_(this.data_.get(e).get()):this.dehanceValue_(void 0)},t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},t.values=function(){var e=this,t=this.keys();return rr({next:function(){var r=t.next(),n=r.done,i=r.value;return{done:n,value:n?void 0:e.get(i)}}})},t.entries=function(){var e=this,t=this.keys();return rr({next:function(){var r=t.next(),n=r.done,i=r.value;return{done:n,value:n?void 0:[i,e.get(i)]}}})},t[Symbol.iterator]=function(){return this.entries()},t.forEach=function(e,t){for(var r,n=H(this);!(r=n()).done;){var i=r.value,o=i[0],a=i[1];e.call(t,a,o,this)}},t.merge=function(e){var t=this;return rt(e)&&(e=new Map(e)),tV(function(){P(e)?(function(e){var t=Object.keys(e);if(!D)return t;var r=Object.getOwnPropertySymbols(e);return r.length?[].concat(t,r.filter(function(t){return g.propertyIsEnumerable.call(e,t)})):t})(e).forEach(function(r){return t.set(r,e[r])}):Array.isArray(e)?e.forEach(function(e){var r=e[0],n=e[1];return t.set(r,n)}):M(e)?(null!==Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(e)))&&r(19,e),e.forEach(function(e,r){return t.set(r,e)})):null!=e&&r(20,e)}),this},t.clear=function(){var e=this;tV(function(){e8(function(){for(var t,r=H(e.keys());!(t=r()).done;){var n=t.value;e.delete(n)}})})},t.replace=function(e){var t=this;return tV(function(){for(var n,i=function(e){if(M(e)||rt(e))return e;if(Array.isArray(e))return new Map(e);if(!P(e))return r(21,e);var t=new Map;for(var n in e)t.set(n,e[n]);return t}(e),o=new Map,a=!1,s=H(t.data_.keys());!(n=s()).done;){var l=n.value;if(!i.has(l)){if(t.delete(l))a=!0;else{var c=t.data_.get(l);o.set(l,c)}}}for(var u,d=H(i.entries());!(u=d()).done;){var h=u.value,f=h[0],p=h[1],m=t.data_.has(f);if(t.set(f,p),t.data_.has(f)){var v=t.data_.get(f);o.set(f,v),m||(a=!0)}}if(!a){if(t.data_.size!==o.size)t.keysAtom_.reportChanged();else for(var b=t.data_.keys(),y=o.keys(),g=b.next(),_=y.next();!g.done;){if(g.value!==_.value){t.keysAtom_.reportChanged();break}g=b.next(),_=y.next()}}t.data_=o}),this},t.toString=function(){return"[object ObservableMap]"},t.toJSON=function(){return Array.from(this)},t.observe_=function(e,t){return tY(this,e)},t.intercept_=function(e){return tH(this,e)},W(e,[{key:"size",get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return"Map"}}])}(),rt=/*#__PURE__*/L("ObservableMap",re);function rr(e){return e[Symbol.toStringTag]="MapIterator",rA(e)}var rn={},ri=/*#__PURE__*/function(){function e(e,t,n){var i=this;void 0===t&&(t=eo),void 0===n&&(n="ObservableSet"),this.name_=void 0,this[ee]=rn,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=n,k(Set)||r(22),this.enhancer_=function(e,r){return t(e,r,n)},rT(function(){i.atom_=en(i.name_),e&&i.replace(e)})}var t=e.prototype;return t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.clear=function(){var e=this;tV(function(){e8(function(){for(var t,r=H(e.data_.values());!(t=r()).done;){var n=t.value;e.delete(n)}})})},t.forEach=function(e,t){for(var r,n=H(this);!(r=n()).done;){var i=r.value;e.call(t,i,i,this)}},t.add=function(e){var t=this;if(this.atom_,tW(this)&&!tK(this,{type:"add",object:this,newValue:e}))return this;if(!this.has(e)){tV(function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()});var r=tG(this),n=r?{observableKind:"set",debugObjectName:this.name_,type:"add",object:this,newValue:e}:null;r&&tX(this,n)}return this},t.delete=function(e){var t=this;if(tW(this)&&!tK(this,{type:t7,object:this,oldValue:e}))return!1;if(this.has(e)){var r=tG(this),n=r?{observableKind:"set",debugObjectName:this.name_,type:t7,object:this,oldValue:e}:null;return tV(function(){t.atom_.reportChanged(),t.data_.delete(e)}),r&&tX(this,n),!0}return!1},t.has=function(e){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(e))},t.entries=function(){var e=this.values();return ra({next:function(){var t=e.next(),r=t.value,n=t.done;return n?{value:void 0,done:n}:{value:[r,r],done:n}}})},t.keys=function(){return this.values()},t.values=function(){this.atom_.reportObserved();var e=this,t=this.data_.values();return ra({next:function(){var r=t.next(),n=r.value,i=r.done;return i?{value:void 0,done:i}:{value:e.dehanceValue_(n),done:i}}})},t.intersection=function(e){return N(e)&&!ro(e)?e.intersection(this):new Set(this).intersection(e)},t.union=function(e){return N(e)&&!ro(e)?e.union(this):new Set(this).union(e)},t.difference=function(e){return new Set(this).difference(e)},t.symmetricDifference=function(e){return N(e)&&!ro(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},t.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},t.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},t.isDisjointFrom=function(e){return N(e)&&!ro(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},t.replace=function(e){var t=this;return ro(e)&&(e=new Set(e)),tV(function(){Array.isArray(e)?(t.clear(),e.forEach(function(e){return t.add(e)})):N(e)?(t.clear(),e.forEach(function(e){return t.add(e)})):null!=e&&r("Cannot initialize set from "+e)}),this},t.observe_=function(e,t){return tY(this,e)},t.intercept_=function(e){return tH(this,e)},t.toJSON=function(){return Array.from(this)},t.toString=function(){return"[object ObservableSet]"},t[Symbol.iterator]=function(){return this.values()},W(e,[{key:"size",get:function(){return this.atom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return"Set"}}])}(),ro=/*#__PURE__*/L("ObservableSet",ri);function ra(e){return e[Symbol.toStringTag]="SetIterator",rA(e)}var rs=/*#__PURE__*/Object.create(null),rl="remove",rc=/*#__PURE__*/function(){function e(e,t,r,n){void 0===t&&(t=new Map),void 0===n&&(n=ex),this.target_=void 0,this.values_=void 0,this.name_=void 0,this.defaultAnnotation_=void 0,this.keysAtom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.proxy_=void 0,this.isPlainObject_=void 0,this.appliedAnnotations_=void 0,this.pendingKeys_=void 0,this.target_=e,this.values_=t,this.name_=r,this.defaultAnnotation_=n,this.keysAtom_=new et("ObservableObject.keys"),this.isPlainObject_=P(this.target_)}var t=e.prototype;return t.getObservablePropValue_=function(e){return this.values_.get(e).get()},t.setObservablePropValue_=function(e,t){var r=this.values_.get(e);if(r instanceof eQ)return r.set(t),!0;if(tW(this)){var n=tK(this,{type:tZ,object:this.proxy_||this.target_,name:e,newValue:t});if(!n)return null;t=n.newValue}if((t=r.prepareNewValue_(t))!==to.UNCHANGED){var i=tG(this),o=i?{type:tZ,observableKind:"object",debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:r.value_,name:e,newValue:t}:null;r.setNewValue_(t),i&&tX(this,o)}return!0},t.get_=function(e){return to.trackingDerivation&&!B(this.target_,e)&&this.has_(e),this.target_[e]},t.set_=function(e,t,r){return(void 0===r&&(r=!1),B(this.target_,e))?this.values_.has(e)?this.setObservablePropValue_(e,t):r?Reflect.set(this.target_,e,t):(this.target_[e]=t,!0):this.extend_(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.defaultAnnotation_,r)},t.has_=function(e){if(!to.trackingDerivation)return e in this.target_;this.pendingKeys_||(this.pendingKeys_=new Map);var t=this.pendingKeys_.get(e);return t||(t=new eZ(e in this.target_,ea,"ObservableObject.key?",!1),this.pendingKeys_.set(e,t)),t.get()},t.make_=function(e,t){if(!0===t&&(t=this.defaultAnnotation_),!1!==t){if(!(e in this.target_)){var n;if(null!=(n=this.target_[X])&&n[e])return;r(1,t.annotationType_,this.name_+"."+e.toString())}for(var i=this.target_;i&&i!==g;){var o=b(i,e);if(o){var a=t.make_(this,e,o,i);if(0===a)return;if(1===a)break}i=Object.getPrototypeOf(i)}rp(this,t,e)}},t.extend_=function(e,t,r,n){if(void 0===n&&(n=!1),!0===r&&(r=this.defaultAnnotation_),!1===r)return this.defineProperty_(e,t,n);var i=r.extend_(this,e,t,n);return i&&rp(this,r,e),i},t.defineProperty_=function(e,t,r){void 0===r&&(r=!1),this.keysAtom_;try{tl();var n=this.delete_(e);if(!n)return n;if(tW(this)){var i=tK(this,{object:this.proxy_||this.target_,name:e,type:"add",newValue:t.value});if(!i)return null;var o=i.newValue;t.value!==o&&(t=K({},t,{value:o}))}if(r){if(!Reflect.defineProperty(this.target_,e,t))return!1}else y(this.target_,e,t);this.notifyPropertyAddition_(e,t.value)}finally{tc()}return!0},t.defineObservableProperty_=function(e,t,r,n){void 0===n&&(n=!1),this.keysAtom_;try{tl();var i=this.delete_(e);if(!i)return i;if(tW(this)){var o=tK(this,{object:this.proxy_||this.target_,name:e,type:"add",newValue:t});if(!o)return null;t=o.newValue}var a=rh(e),s={configurable:!to.safeDescriptors||this.isPlainObject_,enumerable:!0,get:a.get,set:a.set};if(n){if(!Reflect.defineProperty(this.target_,e,s))return!1}else y(this.target_,e,s);var l=new eZ(t,r,"ObservableObject.key",!1);this.values_.set(e,l),this.notifyPropertyAddition_(e,l.value_)}finally{tc()}return!0},t.defineComputedProperty_=function(e,t,r){void 0===r&&(r=!1),this.keysAtom_;try{tl();var n=this.delete_(e);if(!n)return n;if(tW(this)&&!tK(this,{object:this.proxy_||this.target_,name:e,type:"add",newValue:void 0}))return null;t.name||(t.name="ObservableObject.key"),t.context=this.proxy_||this.target_;var i=rh(e),o={configurable:!to.safeDescriptors||this.isPlainObject_,enumerable:!1,get:i.get,set:i.set};if(r){if(!Reflect.defineProperty(this.target_,e,o))return!1}else y(this.target_,e,o);this.values_.set(e,new eQ(t)),this.notifyPropertyAddition_(e,void 0)}finally{tc()}return!0},t.delete_=function(e,t){if(void 0===t&&(t=!1),this.keysAtom_,!B(this.target_,e))return!0;if(tW(this)&&!tK(this,{object:this.proxy_||this.target_,name:e,type:rl}))return null;try{tl();var r,n,i=tG(this),o=this.values_.get(e),a=void 0;if(!o&&i&&(a=null==(n=b(this.target_,e))?void 0:n.value),t){if(!Reflect.deleteProperty(this.target_,e))return!1}else delete this.target_[e];if(o&&(this.values_.delete(e),o instanceof eZ&&(a=o.value_),td(o)),this.keysAtom_.reportChanged(),null==(r=this.pendingKeys_)||null==(r=r.get(e))||r.set(e in this.target_),i){var s={type:rl,observableKind:"object",object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:a,name:e};i&&tX(this,s)}}finally{tc()}return!0},t.observe_=function(e,t){return tY(this,e)},t.intercept_=function(e){return tH(this,e)},t.notifyPropertyAddition_=function(e,t){var r,n=tG(this);if(n){var i=n?{type:"add",observableKind:"object",debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;n&&tX(this,i)}null==(r=this.pendingKeys_)||null==(r=r.get(e))||r.set(!0),this.keysAtom_.reportChanged()},t.ownKeys_=function(){return this.keysAtom_.reportObserved(),I(this.target_)},t.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function ru(e,t){if(B(e,ee))return e;var r,n,i=null!=(n=null==t?void 0:t.name)?n:"ObservableObject",o=new rc(e,new Map,String(i),t?null!=(r=t.defaultDecorator)?r:ek(t):void 0);return j(e,ee,o),e}var rd=/*#__PURE__*/L("ObservableObjectAdministration",rc);function rh(e){return rs[e]||(rs[e]={get:function(){return this[ee].getObservablePropValue_(e)},set:function(t){return this[ee].setObservablePropValue_(e,t)}})}function rf(e){return!!A(e)&&rd(e[ee])}function rp(e,t,r){var n;null==(n=e.target_[X])||delete n[r]}var rm=/*#__PURE__*/r_(0),rv=(a=!1,Object.defineProperty(s={},"0",{set:function(){a=!0}}),/*#__PURE__*/Object.create(s)["0"]=1,!1===a),rb=0,ry=function(){};l=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(ry.prototype,l):void 0!==ry.prototype.__proto__?ry.prototype.__proto__=l:ry.prototype=l;var rg=/*#__PURE__*/function(e){function t(t,r,n,i){var o;return void 0===n&&(n="ObservableArray"),void 0===i&&(i=!1),o=e.call(this)||this,rT(function(){var e=new t0(n,r,i,!0);e.proxy_=o,$(o,ee,e),t&&t.length&&o.spliceWithArray(0,0,t),rv&&Object.defineProperty(o,"0",rm)}),o}G(t,e);var r=t.prototype;return r.concat=function(){this[ee].atom_.reportObserved();for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return Array.prototype.concat.apply(this.slice(),t.map(function(e){return t6(e)?e.slice():e}))},r[Symbol.iterator]=function(){var e=this,t=0;return rA({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},W(t,[{key:"length",get:function(){return this[ee].getArrayLength_()},set:function(e){this[ee].setArrayLength_(e)}},{key:Symbol.toStringTag,get:function(){return"Array"}}])}(ry);function r_(e){return{enumerable:!1,configurable:!0,get:function(){return this[ee].get_(e)},set:function(t){this[ee].set_(e,t)}}}function rw(e){if(e>rb){for(var t,r=rb;r<e+100;r++)t=r,y(rg.prototype,""+t,r_(t));rb=e}}function rS(e,t){if("object"==typeof e&&null!==e){if(t6(e))return void 0!==t&&r(23),e[ee].atom_;if(ro(e))return e.atom_;if(rt(e)){if(void 0===t)return e.keysAtom_;var n=e.data_.get(t)||e.hasMap_.get(t);return n||r(25,t,rE(e)),n}if(rf(e)){if(!t)return r(26);var i=e[ee].values_.get(t);return i||r(27,t,rE(e)),i}if(er(e)||e0(e)||tv(e))return e}else if(k(e)&&tv(e[ee]))return e[ee];r(28)}function rE(e,t){var n;if(void 0!==t)n=rS(e,t);else{if(tx(e))return e.name;n=rf(e)||rt(e)||ro(e)?function e(t,n){return(t||r(29),void 0!==n)?e(rS(t,n)):er(t)||e0(t)||tv(t)||rt(t)||ro(t)?t:t[ee]?t[ee]:void r(24,t)}(e):rS(e)}return n.name_}function rT(e){var t=e6(),r=eX(!0);tl();try{return e()}finally{tc(),eJ(r),e9(t)}}Object.entries(t1).forEach(function(e){var t=e[0],r=e[1];"concat"!==t&&j(rg.prototype,t,r)}),rw(1e3);var rO=g.toString;function rx(e,t,r){return void 0===r&&(r=-1),function e(t,r,n,i,o){if(t===r)return 0!==t||1/t==1/r;if(null==t||null==r)return!1;if(t!=t)return r!=r;var a=typeof t;if("function"!==a&&"object"!==a&&"object"!=typeof r)return!1;var s=rO.call(t);if(s!==rO.call(r))return!1;switch(s){case"[object RegExp]":case"[object String]":return""+t==""+r;case"[object Number]":if(+t!=+t)return+r!=+r;return 0==+t?1/+t==1/r:+t==+r;case"[object Date]":case"[object Boolean]":return+t==+r;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(t)===Symbol.valueOf.call(r);case"[object Map]":case"[object Set]":n>=0&&n++}t=rk(t),r=rk(r);var l="[object Array]"===s;if(!l){if("object"!=typeof t||"object"!=typeof r)return!1;var c=t.constructor,u=r.constructor;if(c!==u&&!(k(c)&&c instanceof c&&k(u)&&u instanceof u)&&"constructor"in t&&"constructor"in r)return!1}if(0===n)return!1;n<0&&(n=-1),o=o||[];for(var d=(i=i||[]).length;d--;)if(i[d]===t)return o[d]===r;if(i.push(t),o.push(r),l){if((d=t.length)!==r.length)return!1;for(;d--;)if(!e(t[d],r[d],n-1,i,o))return!1}else{var h,f=Object.keys(t);if(d=f.length,Object.keys(r).length!==d)return!1;for(;d--;)if(!(B(r,h=f[d])&&e(t[h],r[h],n-1,i,o)))return!1}return i.pop(),o.pop(),!0}(e,t,r)}function rk(e){return t6(e)?e.slice():M(e)||rt(e)||N(e)||ro(e)?Array.from(e.entries()):e}var rC=(null==(f=/*#__PURE__*/m().Iterator)?void 0:f.prototype)||{};function rA(e){return e[Symbol.iterator]=rP,Object.assign(Object.create(rC),e)}function rP(){return this}["Symbol","Map","Set"].forEach(function(e){void 0===m()[e]&&r("MobX requires global '"+e+"' to be available or polyfilled")}),"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:function(e){return console.warn("[mobx.spy] Is a no-op in production builds"),function(){}},extras:{getDebugName:rE},$mobx:ee})});var eX={};Object.defineProperty(eX,"__esModule",{value:!0}),eX.Fragment=eX.jsxDEV=eX.jsxs=void 0,eX.jsx=e0;var eJ=eG("ceFTv"),eZ=eG("kYZOD"),eQ=eG("8alBv");function e0(e,t,r){var n=t.ref,i=t.is,o=t.style,a=t.children,s=eJ.__rest(t,["ref","is","style","children"]);"function"==typeof e&&(0,eZ.isHTMLElementClass)(e)&&(e=(0,eZ.tagNameOf)(e));var l={key:r,ref:n,is:i,style:o,children:a=[a].flat(1/0).map(function(e){return e instanceof Object?new eQ.VNode(e):0===e||e?new eQ.VNode({text:e.toString()}):void 0}).filter(Boolean)};return"string"==typeof e?new eQ.VNode(eJ.__assign(eJ.__assign({},l),{tagName:e,props:s})):e(eJ.__assign(eJ.__assign({},l),s))}eX.jsxs=e0,eX.jsxDEV=e0,eX.Fragment=function(e){var t=e.key,r=e.ref,n=e.is,i=e.style,o=e.children,a=eJ.__rest(e,["key","ref","is","style","children"]);return new eQ.VNode({key:t,ref:r,is:n,props:(0,eZ.isEmpty)(a)?void 0:a,style:i,children:o})};var e1=Promise,e2=function(e){if(!(this instanceof e2))throw TypeError("Cannot call a class as a function");var t=new e1(function(r,n){return e(r,function(e){return e1.resolve().then(function(){var r;void 0===t._hasDownstreams&&(Object.defineProperties(r=document.createEvent("Event"),{promise:{value:t,writable:!1},reason:{value:e,writable:!1}}),r.initEvent("unhandledrejection",!1,!0),window.dispatchEvent(r))}),n(e)})});return t.__proto__=e2.prototype,t};e2.__proto__=e1,e2.prototype.__proto__=e1.prototype,e2.prototype.then=function(e,t){var r=e1.prototype.then.call(this,e,t);return this._hasDownstreams=!0,r};var e3={};Object.defineProperty(e3,"__esModule",{value:!0});var eJ=eG("ceFTv");eJ.__exportStar(eG("8alBv"),e3),eJ.__exportStar(eG("e1Ksv"),e3);var e5=eG("kpaC8"),eZ=eG("kYZOD"),eJ=eG("ceFTv");/** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const e4=globalThis,e8=e4.ShadowRoot&&(void 0===e4.ShadyCSS||e4.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,e6=Symbol(),e9=new WeakMap;class e7{constructor(e,t,r){if(this._$cssResult$=!0,r!==e6)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(e8&&void 0===e){let r=void 0!==t&&1===t.length;r&&(e=e9.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&e9.set(t,e))}return e}toString(){return this.cssText}}const te=e=>new e7("string"==typeof e?e:e+"",void 0,e6),tt=(e,...t)=>new e7(1===e.length?e[0]:t.reduce((t,r,n)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+e[n+1],e[0]),e,e6),tr=(e,t)=>{if(e8)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let r of t){let t=document.createElement("style"),n=e4.litNonce;void 0!==n&&t.setAttribute("nonce",n),t.textContent=r.cssText,e.appendChild(t)}},tn=e8?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(let r of e.cssRules)t+=r.cssText;return te(t)})(e):e,{is:ti,defineProperty:to,getOwnPropertyDescriptor:ta,getOwnPropertyNames:ts,getOwnPropertySymbols:tl,getPrototypeOf:tc}=Object,tu=globalThis,td=tu.trustedTypes,th=td?td.emptyScript:"",tf=tu.reactiveElementPolyfillSupport,tp=(e,t)=>e,tm={toAttribute(e,t){switch(t){case Boolean:e=e?th:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=null!==e;break;case Number:r=null===e?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch(e){r=null}}return r}},tv=(e,t)=>!ti(e,t),tb={attribute:!0,type:String,converter:tm,reflect:!1,hasChanged:tv};Symbol.metadata??=Symbol("metadata"),tu.litPropertyMetadata??=new WeakMap;class ty extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=tb){if(t.state&&(t.attribute=!1),this._$Ei(),this.elementProperties.set(e,t),!t.noAccessor){let r=Symbol(),n=this.getPropertyDescriptor(e,r,t);void 0!==n&&to(this.prototype,e,n)}}static getPropertyDescriptor(e,t,r){let{get:n,set:i}=ta(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get(){return n?.call(this)},set(t){let o=n?.call(this);i.call(this,t),this.requestUpdate(e,o,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??tb}static _$Ei(){if(this.hasOwnProperty(tp("elementProperties")))return;let e=tc(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(tp("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(tp("properties"))){let e=this.properties;for(let t of[...ts(e),...tl(e)])this.createProperty(t,e[t])}let e=this[Symbol.metadata];if(null!==e){let t=litPropertyMetadata.get(e);if(void 0!==t)for(let[e,r]of t)this.elementProperties.set(e,r)}for(let[e,t]of(this._$Eh=new Map,this.elementProperties)){let r=this._$Eu(e,t);void 0!==r&&this._$Eh.set(r,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e))for(let r of new Set(e.flat(1/0).reverse()))t.unshift(tn(r));else void 0!==e&&t.push(tn(e));return t}static _$Eu(e,t){let r=t.attribute;return!1===r?void 0:"string"==typeof r?r:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map;for(let t of this.constructor.elementProperties.keys())this.hasOwnProperty(t)&&(e.set(t,this[t]),delete this[t]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return tr(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,r){this._$AK(e,r)}_$EC(e,t){let r=this.constructor.elementProperties.get(e),n=this.constructor._$Eu(e,r);if(void 0!==n&&!0===r.reflect){let i=(void 0!==r.converter?.toAttribute?r.converter:tm).toAttribute(t,r.type);this._$Em=e,null==i?this.removeAttribute(n):this.setAttribute(n,i),this._$Em=null}}_$AK(e,t){let r=this.constructor,n=r._$Eh.get(e);if(void 0!==n&&this._$Em!==n){let e=r.getPropertyOptions(n),i="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:tm;this._$Em=n,this[n]=i.fromAttribute(t,e.type),this._$Em=null}}requestUpdate(e,t,r){if(void 0!==e){if(!((r??=this.constructor.getPropertyOptions(e)).hasChanged??tv)(this[e],t))return;this.P(e,t,r)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(e,t,r){this._$AL.has(e)||this._$AL.set(e,t),!0===r.reflect&&this._$Em!==e&&(this._$Ej??=new Set).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[t,r]of e)!0!==r.wrapped||this._$AL.has(t)||void 0===this[t]||this.P(t,this[t],r)}let e=!1,t=this._$AL;try{(e=this.shouldUpdate(t))?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EU()}catch(t){throw e=!1,this._$EU(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&=this._$Ej.forEach(e=>this._$EC(e,this[e])),this._$EU()}updated(e){}firstUpdated(e){}}ty.elementStyles=[],ty.shadowRootOptions={mode:"open"},ty[tp("elementProperties")]=new Map,ty[tp("finalized")]=new Map,tf?.({ReactiveElement:ty}),(tu.reactiveElementVersions??=[]).push("2.0.4");/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const tg=globalThis,t_=tg.trustedTypes,tw=t_?t_.createPolicy("lit-html",{createHTML:e=>e}):void 0,tS="$lit$",tE=`lit$${Math.random().toFixed(9).slice(2)}$`,tT="?"+tE,tO=`<${tT}>`,tx=document,tk=()=>tx.createComment(""),tC=e=>null===e||"object"!=typeof e&&"function"!=typeof e,tA=Array.isArray,tP=e=>tA(e)||"function"==typeof e?.[Symbol.iterator],tR="[ \n\f\r]",tj=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,t$=/-->/g,tL=/>/g,tM=RegExp(`>|${tR}(?:([^\\s"'>=/]+)(${tR}*=${tR}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),tN=/'/g,tD=/"/g,tI=/^(?:script|style|textarea|title)$/i,tq=e=>(t,...r)=>({_$litType$:e,strings:t,values:r}),tB=tq(1),tF=(tq(2),tq(3),Symbol.for("lit-noChange")),tU=Symbol.for("lit-nothing"),tV=new WeakMap,tz=tx.createTreeWalker(tx,129);function tW(e,t){if(!tA(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==tw?tw.createHTML(t):t}const tH=(e,t)=>{let r=e.length-1,n=[],i,o=2===t?"<svg>":3===t?"<math>":"",a=tj;for(let t=0;t<r;t++){let r=e[t],s,l,c=-1,u=0;for(;u<r.length&&(a.lastIndex=u,null!==(l=a.exec(r)));)u=a.lastIndex,a===tj?"!--"===l[1]?a=t$:void 0!==l[1]?a=tL:void 0!==l[2]?(tI.test(l[2])&&(i=RegExp("</"+l[2],"g")),a=tM):void 0!==l[3]&&(a=tM):a===tM?">"===l[0]?(a=i??tj,c=-1):void 0===l[1]?c=-2:(c=a.lastIndex-l[2].length,s=l[1],a=void 0===l[3]?tM:'"'===l[3]?tD:tN):a===tD||a===tN?a=tM:a===t$||a===tL?a=tj:(a=tM,i=void 0);let d=a===tM&&e[t+1].startsWith("/>")?" ":"";o+=a===tj?r+tO:c>=0?(n.push(s),r.slice(0,c)+tS+r.slice(c)+tE+d):r+tE+(-2===c?t:d)}return[tW(e,o+(e[r]||"<?>")+(2===t?"</svg>":3===t?"</math>":"")),n]};class tK{constructor({strings:e,_$litType$:t},r){let n;this.parts=[];let i=0,o=0,a=e.length-1,s=this.parts,[l,c]=tH(e,t);if(this.el=tK.createElement(l,r),tz.currentNode=this.el.content,2===t||3===t){let e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(n=tz.nextNode())&&s.length<a;){if(1===n.nodeType){if(n.hasAttributes())for(let e of n.getAttributeNames())if(e.endsWith(tS)){let t=c[o++],r=n.getAttribute(e).split(tE),a=/([.?@])?(.*)/.exec(t);s.push({type:1,index:i,name:a[2],strings:r,ctor:"."===a[1]?tZ:"?"===a[1]?tQ:"@"===a[1]?t0:tJ}),n.removeAttribute(e)}else e.startsWith(tE)&&(s.push({type:6,index:i}),n.removeAttribute(e));if(tI.test(n.tagName)){let e=n.textContent.split(tE),t=e.length-1;if(t>0){n.textContent=t_?t_.emptyScript:"";for(let r=0;r<t;r++)n.append(e[r],tk()),tz.nextNode(),s.push({type:2,index:++i});n.append(e[t],tk())}}}else if(8===n.nodeType){if(n.data===tT)s.push({type:2,index:i});else{let e=-1;for(;-1!==(e=n.data.indexOf(tE,e+1));)s.push({type:7,index:i}),e+=tE.length-1}}i++}}static createElement(e,t){let r=tx.createElement("template");return r.innerHTML=e,r}}function tG(e,t,r=e,n){if(t===tF)return t;let i=void 0!==n?r._$Co?.[n]:r._$Cl,o=tC(t)?void 0:t._$litDirective$;return i?.constructor!==o&&(i?._$AO?.(!1),void 0===o?i=void 0:(i=new o(e))._$AT(e,r,n),void 0!==n?(r._$Co??=[])[n]=i:r._$Cl=i),void 0!==i&&(t=tG(e,i._$AS(e,t.values),i,n)),t}class tY{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:r}=this._$AD,n=(e?.creationScope??tx).importNode(t,!0);tz.currentNode=n;let i=tz.nextNode(),o=0,a=0,s=r[0];for(;void 0!==s;){if(o===s.index){let t;2===s.type?t=new tX(i,i.nextSibling,this,e):1===s.type?t=new s.ctor(i,s.name,s.strings,this,e):6===s.type&&(t=new t1(i,this,e)),this._$AV.push(t),s=r[++a]}o!==s?.index&&(i=tz.nextNode(),o++)}return tz.currentNode=tx,n}p(e){let t=0;for(let r of this._$AV)void 0!==r&&(void 0!==r.strings?(r._$AI(e,r,t),t+=r.strings.length-2):r._$AI(e[t])),t++}}class tX{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,r,n){this.type=2,this._$AH=tU,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=r,this.options=n,this._$Cv=n?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return void 0!==t&&11===e?.nodeType&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){tC(e=tG(this,e,t))?e===tU||null==e||""===e?(this._$AH!==tU&&this._$AR(),this._$AH=tU):e!==this._$AH&&e!==tF&&this._(e):void 0!==e._$litType$?this.$(e):void 0!==e.nodeType?this.T(e):tP(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==tU&&tC(this._$AH)?this._$AA.nextSibling.data=e:this.T(tx.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:r}=e,n="number"==typeof r?this._$AC(e):(void 0===r.el&&(r.el=tK.createElement(tW(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===n)this._$AH.p(t);else{let e=new tY(n,this),r=e.u(this.options);e.p(t),this.T(r),this._$AH=e}}_$AC(e){let t=tV.get(e.strings);return void 0===t&&tV.set(e.strings,t=new tK(e)),t}k(e){tA(this._$AH)||(this._$AH=[],this._$AR());let t=this._$AH,r,n=0;for(let i of e)n===t.length?t.push(r=new tX(this.O(tk()),this.O(tk()),this,this.options)):r=t[n],r._$AI(i),n++;n<t.length&&(this._$AR(r&&r._$AB.nextSibling,n),t.length=n)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e&&e!==this._$AB;){let t=e.nextSibling;e.remove(),e=t}}setConnected(e){void 0===this._$AM&&(this._$Cv=e,this._$AP?.(e))}}class tJ{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,r,n,i){this.type=1,this._$AH=tU,this._$AN=void 0,this.element=e,this.name=t,this._$AM=n,this.options=i,r.length>2||""!==r[0]||""!==r[1]?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=tU}_$AI(e,t=this,r,n){let i=this.strings,o=!1;if(void 0===i)(o=!tC(e=tG(this,e,t,0))||e!==this._$AH&&e!==tF)&&(this._$AH=e);else{let n,a;let s=e;for(e=i[0],n=0;n<i.length-1;n++)(a=tG(this,s[r+n],t,n))===tF&&(a=this._$AH[n]),o||=!tC(a)||a!==this._$AH[n],a===tU?e=tU:e!==tU&&(e+=(a??"")+i[n+1]),this._$AH[n]=a}o&&!n&&this.j(e)}j(e){e===tU?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class tZ extends tJ{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===tU?void 0:e}}class tQ extends tJ{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==tU)}}class t0 extends tJ{constructor(e,t,r,n,i){super(e,t,r,n,i),this.type=5}_$AI(e,t=this){if((e=tG(this,e,t,0)??tU)===tF)return;let r=this._$AH,n=e===tU&&r!==tU||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,i=e!==tU&&(r===tU||n);n&&this.element.removeEventListener(this.name,this,r),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}}class t1{constructor(e,t,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){tG(this,e)}}const t2=tg.litHtmlPolyfillSupport;t2?.(tK,tX),(tg.litHtmlVersions??=[]).push("3.2.1");const t3=(e,t,r)=>{let n=r?.renderBefore??t,i=n._$litPart$;if(void 0===i){let e=r?.renderBefore??null;n._$litPart$=i=new tX(t.insertBefore(tk(),e),e,void 0,r??{})}return i._$AI(e),i};/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */class t5 extends ty{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=t3(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return tF}}t5._$litElement$=!0,t5.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:t5});const t4=globalThis.litElementPolyfillSupport;t4?.({LitElement:t5}),(globalThis.litElementVersions??=[]).push("4.1.1");/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const t8=e=>(t,r)=>{void 0!==r?r.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)},t6={attribute:!0,type:String,converter:tm,reflect:!1,hasChanged:tv},t9=(e=t6,t,r)=>{let{kind:n,metadata:i}=r,o=globalThis.litPropertyMetadata.get(i);if(void 0===o&&globalThis.litPropertyMetadata.set(i,o=new Map),o.set(r.name,e),"accessor"===n){let{name:n}=r;return{set(r){let i=t.get.call(this);t.set.call(this,r),this.requestUpdate(n,i,e)},init(t){return void 0!==t&&this.P(n,void 0,e),t}}}if("setter"===n){let{name:n}=r;return function(r){let i=this[n];t.call(this,r),this.requestUpdate(n,i,e)}}throw Error("Unsupported decorator location: "+n)};function t7(e){return(t,r)=>"object"==typeof r?t9(e,t,r):((e,t,r)=>{let n=t.hasOwnProperty(r);return t.constructor.createProperty(r,n?{...e,wrapped:!0}:e),n?Object.getOwnPropertyDescriptor(t,r):void 0})(e,t,r)}/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */function re(e){return t7({...e,state:!0,attribute:!1})}/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const rt=(e,t,r)=>(r.configurable=!0,r.enumerable=!0,Reflect.decorate&&"object"!=typeof t&&Object.defineProperty(e,t,r),r);/** + * @license + * Copyright 2021 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */function rr(e){return(t,r)=>{let{slot:n,selector:i}=e??{},o="slot"+(n?`[name=${n}]`:":not([name])");return rt(t,r,{get(){let t=this.renderRoot?.querySelector(o),r=t?.assignedElements(e)??[];return void 0===i?r:r.filter(e=>e.matches(i))}})}}/** + * @license + * Copyright 2020 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const{I:rn}={M:tS,P:tE,A:tT,C:1,L:tH,R:tY,D:tP,V:tG,I:tX,H:tJ,N:tQ,U:t0,B:tZ,F:t1},ri=e=>null===e||"object"!=typeof e&&"function"!=typeof e,ro=e=>void 0===e.strings,ra=e=>(...t)=>({_$litDirective$:e,values:t});class rs{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,r){this._$Ct=e,this._$AM=t,this._$Ci=r}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const rl=(e,t)=>{let r=e._$AN;if(void 0===r)return!1;for(let e of r)e._$AO?.(t,!1),rl(e,t);return!0},rc=e=>{let t,r;do{if(void 0===(t=e._$AM))break;(r=t._$AN).delete(e),e=t}while(0===r?.size)},ru=e=>{for(let t;t=e._$AM;e=t){let r=t._$AN;if(void 0===r)t._$AN=r=new Set;else if(r.has(e))break;r.add(e),rf(t)}};function rd(e){void 0!==this._$AN?(rc(this),this._$AM=e,ru(this)):this._$AM=e}function rh(e,t=!1,r=0){let n=this._$AH,i=this._$AN;if(void 0!==i&&0!==i.size){if(t){if(Array.isArray(n))for(let e=r;e<n.length;e++)rl(n[e],!1),rc(n[e]);else null!=n&&(rl(n,!1),rc(n))}else rl(this,e)}}const rf=e=>{2==e.type&&(e._$AP??=rh,e._$AQ??=rd)};class rp extends rs{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,r){super._$AT(e,t,r),ru(this),this.isConnected=e._$AU}_$AO(e,t=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),t&&(rl(this,e),rc(this))}setValue(e){if(ro(this._$Ct))this._$Ct._$AI(e,this);else{let t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}}/** + * @license + * Copyright 2020 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const rm=()=>new rv;class rv{}const rb=new WeakMap,ry=ra(class extends rp{render(e){return tU}update(e,[t]){let r=t!==this.Y;return r&&void 0!==this.Y&&this.rt(void 0),(r||this.lt!==this.ct)&&(this.Y=t,this.ht=e.options?.host,this.rt(this.ct=e.element)),tU}rt(e){if(this.isConnected||(e=void 0),"function"==typeof this.Y){let t=this.ht??globalThis,r=rb.get(t);void 0===r&&(r=new WeakMap,rb.set(t,r)),void 0!==r.get(this.Y)&&this.Y.call(this.ht,void 0),r.set(this.Y,e),void 0!==e&&this.Y.call(this.ht,e)}else this.Y.value=e}get lt(){return"function"==typeof this.Y?rb.get(this.ht??globalThis)?.get(this.Y):this.Y?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});function rg(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function r_(e={},t={}){Object.keys(t).forEach(r=>{void 0===e[r]?e[r]=t[r]:rg(t[r])&&rg(e[r])&&Object.keys(t[r]).length>0&&r_(e[r],t[r])})}const rw={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function rS(){let e="undefined"!=typeof document?document:{};return r_(e,rw),e}const rE={document:rw,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function rT(){let e="undefined"!=typeof window?window:{};return r_(e,rE),e}const rO=e=>e?.nodeName.toLowerCase()??"",rx=(e,t)=>e?.nodeName.toLowerCase()===t.toLowerCase(),rk=e=>"function"==typeof e,rC=e=>"string"==typeof e,rA=e=>"number"==typeof e,rP=e=>"boolean"==typeof e,rR=e=>void 0===e,rj=e=>null===e,r$=e=>"undefined"!=typeof Window&&e instanceof Window,rL=e=>"undefined"!=typeof Document&&e instanceof Document,rM=e=>"undefined"!=typeof Element&&e instanceof Element,rN=e=>"undefined"!=typeof Node&&e instanceof Node,rD=e=>!rk(e)&&!r$(e)&&rA(e.length),rI=e=>"object"==typeof e&&null!==e,rq=e=>rL(e)?e.documentElement:e,rB=e=>e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase()),rF=e=>e?e.replace(/^./,e[0].toLowerCase()).replace(/[A-Z]/g,e=>"-"+e.toLowerCase()):e,rU=()=>!1,rV=(e,t)=>{for(let r=0;r<e.length&&!1!==t.call(e[r],e[r],r);r+=1);return e},rz=(e,t)=>{let r=Object.keys(e);for(let n=0;n<r.length;n+=1){let i=r[n];if(!1===t.call(e[i],i,e[i]))break}return e};class rW{constructor(e){if(this.length=0,!e)return this;return rV(e,(e,t)=>{this[t]=e}),this.length=e.length,this}}const rH=(e=rS())=>/complete|interactive/.test(e.readyState),rK=e=>rS().createElement(e),rG=(e,t)=>e.appendChild(t),rY=e=>e.parentNode?e.parentNode.removeChild(e):e,rX=(e,t)=>{let r=rK(t);return r.innerHTML=e,[].slice.call(r.childNodes)},rJ=(()=>{let e=function(t){if(!t)return new rW;if(t instanceof rW)return t;if(rk(t)){let r=rS();return rH(r)?t.call(r,e):r.addEventListener("DOMContentLoaded",()=>t.call(r,e),{once:!0}),new rW([r])}if(rC(t)){let e=t.trim();if(e.startsWith("<")&&e.endsWith(">")){let t="div";return rz({li:"ul",tr:"tbody",td:"tr",th:"tr",tbody:"table",option:"select"},(r,n)=>{if(e.startsWith(`<${r}`))return t=n,!1}),new rW(rX(e,t))}return new rW(rS().querySelectorAll(t))}return new rW(rD(t)&&!rN(t)?t:[t])};return e.fn=rW.prototype,e})();class rZ{constructor(e,...t){this.slotNames=[],(this.host=e).addController(this),this.slotNames=t,this.onSlotChange=this.onSlotChange.bind(this)}hostConnected(){this.host.shadowRoot.addEventListener("slotchange",this.onSlotChange),rH()||rJ(()=>{this.host.requestUpdate()})}hostDisconnected(){this.host.shadowRoot.removeEventListener("slotchange",this.onSlotChange)}test(e){return"[default]"===e?this.hasDefaultSlot():this.hasNamedSlot(e)}hasDefaultSlot(){return[...this.host.childNodes].some(e=>!((e.nodeType!==e.TEXT_NODE||""===e.textContent.trim())&&(e.nodeType!==e.ELEMENT_NODE||e.hasAttribute("slot"))))}hasNamedSlot(e){return null!==this.host.querySelector(`:scope > [slot="${e}"]`)}onSlotChange(e){let t=e.target;(this.slotNames.includes("[default]")&&!t.name||t.name&&this.slotNames.includes(t.name))&&this.host.requestUpdate()}}function rQ(e,t=!1){return(r,n)=>{let{update:i}=r;e in r&&(r.update=function(r){if(r.has(e)){let i=r.get(e),o=this[e];i!==o&&(!t||this.hasUpdated)&&this[n](i,o)}i.call(this,r)})}}const r0=e=>null!==e&&"false"!==e.toLowerCase(),r1=tB`${tU}`;var eJ=eG("ceFTv");/** + * @license + * Copyright 2018 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const r2=e=>e??tU;function r3(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let r=0,n;r<e.length;r++)""!==(n=r3(e[r]))&&(t+=(t&&" ")+n);else for(let r in e)e[r]&&(t+=(t&&" ")+r);return t}class r5 extends t5{emit(e,t){let r=new CustomEvent(e,Object.assign({bubbles:!0,cancelable:!1,composed:!0,detail:{}},t));return this.dispatchEvent(r)}}const r4=(e,t,r)=>{let n=e.getAttribute(t);return rj(n)?r:n},r8=(e,t)=>{e.removeAttribute(t)},r6=(e,t,r)=>{rj(r)?r8(e,t):e.setAttribute(t,r)},r9=(e,t)=>rT().getComputedStyle(e).getPropertyValue(rF(t)),r7=e=>"border-box"===r9(e,"box-sizing"),ne=(e,t,r)=>{let n="width"===t?["Left","Right"]:["Top","Bottom"];return[0,1].reduce((t,i,o)=>{let a=r+n[o];return"border"===r&&(a+="Width"),t+parseFloat(r9(e,a)||"0")},0)},nt=(e,t)=>{if("width"===t||"height"===t){let r=e.getBoundingClientRect()[t];return r7(e)?`${r}px`:`${r-ne(e,t,"border")-ne(e,t,"padding")}px`}return r9(e,t)},nr=["animation-iteration-count","column-count","fill-opacity","flex-grow","flex-shrink","font-weight","grid-area","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","line-height","opacity","order","orphans","widows","z-index","zoom"];rJ.fn.each=function(e){return rV(this,(t,r)=>e.call(t,r,t))},rV(["attr","prop","css"],(e,t)=>{let r=(e,r,n)=>{if(!rR(n)){if(0===t)return r6(e,r,n);if(1===t){e[r]=n;return}r=rF(r),e.style.setProperty(r,rA(n)?`${n}${r.startsWith("--")||nr.includes(r)?"":"px"}`:n)}},n=(e,r)=>0===t?r4(e,r):1===t?e[r]:nt(e,r);rJ.fn[e]=function(t,i){if(rI(t))return rz(t,(t,r)=>{this[e](t,r)}),this;if(1==arguments.length){let e=this[0];return rM(e)?n(e,t):void 0}return this.each((e,o)=>{r(o,t,rk(i)?i.call(o,e,n(o,t)):i)})}});const nn=new WeakMap,ni=e=>[...e.elements,...nn.get(e)||[]].sort((e,t)=>e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1),no=e=>[...new Set(e)];class na{constructor(e,t){this.defined=!1,(this.host=e).addController(this),this.relatedElements=t.relatedElements,this.needDomReady=t.needDomReady||!!t.relatedElements,this.onSlotChange=this.onSlotChange.bind(this)}hostConnected(){this.host.shadowRoot.addEventListener("slotchange",this.onSlotChange)}hostDisconnected(){this.host.shadowRoot.removeEventListener("slotchange",this.onSlotChange)}isDefined(){return!!this.defined||(this.defined=(!this.needDomReady||rH())&&!this.getUndefinedLocalNames().length,this.defined)}async whenDefined(){if(this.defined)return Promise.resolve();let e=rS();this.needDomReady&&!rH(e)&&await new Promise(t=>{e.addEventListener("DOMContentLoaded",()=>t(),{once:!0})});let t=this.getUndefinedLocalNames();if(t.length){let e=[];t.forEach(t=>{e.push(customElements.whenDefined(t))}),await Promise.all(e)}this.defined=!0}getScopeLocalNameSelector(){let e=this.relatedElements;return e?Array.isArray(e)?e.map(e=>`${e}:not(:defined)`).join(","):Object.keys(e).filter(t=>!e[t]).map(e=>`${e}:not(:defined)`).join(","):null}getGlobalLocalNameSelector(){let e=this.relatedElements;return!e||Array.isArray(e)?null:Object.keys(e).filter(t=>e[t]).map(e=>`${e}:not(:defined)`).join(",")}getUndefinedLocalNames(){let e=this.getScopeLocalNameSelector(),t=this.getGlobalLocalNameSelector();return no([...e?[...this.host.querySelectorAll(e)]:[],...t?[...rS().querySelectorAll(t)]:[]].map(e=>e.localName))}onSlotChange(){let e=this.getScopeLocalNameSelector();e&&this.host.querySelectorAll(e).length&&(this.defined=!1)}}const ns=new WeakMap,nl=new WeakMap;class nc{constructor(e,t){(this.host=e).addController(this),this.definedController=new na(e,{needDomReady:!0}),this.options={form:e=>{let t=rJ(e).attr("form");return t?e.getRootNode().getElementById(t):e.closest("form")},name:e=>e.name,value:e=>e.value,defaultValue:e=>e.defaultValue,setValue:(e,t)=>e.value=t,disabled:e=>e.disabled,reportValidity:e=>!rk(e.reportValidity)||e.reportValidity(),...t},this.onFormData=this.onFormData.bind(this),this.onFormSubmit=this.onFormSubmit.bind(this),this.onFormReset=this.onFormReset.bind(this),this.reportFormValidity=this.reportFormValidity.bind(this)}hostConnected(){this.definedController.whenDefined().then(()=>{this.form=this.options.form(this.host),this.form&&this.attachForm(this.form)})}hostDisconnected(){this.detachForm()}hostUpdated(){this.definedController.whenDefined().then(()=>{let e=this.options.form(this.host);e||this.detachForm(),e&&this.form!==e&&(this.detachForm(),this.attachForm(e))})}getForm(){return this.form??null}reset(e){this.doAction("reset",e)}submit(e){this.doAction("submit",e)}attachForm(e){if(!e){this.form=void 0;return}this.form=e,nn.has(this.form)?nn.get(this.form).add(this.host):nn.set(this.form,new Set([this.host])),this.form.addEventListener("formdata",this.onFormData),this.form.addEventListener("submit",this.onFormSubmit),this.form.addEventListener("reset",this.onFormReset),ns.has(this.form)||(ns.set(this.form,this.form.reportValidity),this.form.reportValidity=()=>this.reportFormValidity())}detachForm(){this.form&&(nn.get(this.form).delete(this.host),this.form.removeEventListener("formdata",this.onFormData),this.form.removeEventListener("submit",this.onFormSubmit),this.form.removeEventListener("reset",this.onFormReset),ns.has(this.form)&&!nn.get(this.form).size&&(this.form.reportValidity=ns.get(this.form),ns.delete(this.form)))}doAction(e,t){if(!this.form)return;let r=rJ(`<button type="${e}">`).css({position:"absolute",width:0,height:0,clipPath:"inset(50%)",overflow:"hidden",whiteSpace:"nowrap"}),n=r[0];t&&(n.name=t.name,n.value=t.value,["formaction","formenctype","formmethod","formnovalidate","formtarget"].forEach(e=>{r.attr(e,rJ(t).attr(e))})),this.form.append(n),n.click(),n.remove()}onFormData(e){let t=this.options.disabled(this.host),r=this.options.name(this.host),n=this.options.value(this.host),i=["mdui-button","mdui-button-icon","mdui-chip","mdui-fab","mdui-segmented-button"].includes(this.host.tagName.toLowerCase());!t&&!i&&rC(r)&&r&&!rR(n)&&(Array.isArray(n)?n.forEach(t=>{e.formData.append(r,t.toString())}):e.formData.append(r,n.toString()))}onFormSubmit(e){let t=this.options.disabled(this.host),r=this.options.reportValidity;!this.form||this.form.noValidate||t||r(this.host)||(e.preventDefault(),e.stopImmediatePropagation())}onFormReset(){this.form&&(this.options.setValue(this.host,this.options.defaultValue(this.host)),this.host.invalid=!1,nl.has(this.form)?nl.get(this.form).add(this.host):nl.set(this.form,new Set([this.host])))}reportFormValidity(){if(this.form&&!this.form.noValidate){for(let e of ni(this.form))if(rk(e.reportValidity)&&!e.reportValidity())return!1}return!0}}const nu=tt`:host{box-sizing:border-box}:host *,:host ::after,:host ::before{box-sizing:inherit}:host :focus,:host :focus-visible,:host(:focus),:host(:focus-visible){outline:0}[hidden]{display:none!important}`;var eJ=eG("ceFTv");const nd=e=>{class t extends e{renderAnchor({id:e,className:t,part:r,content:n=tB`<slot></slot>`,refDirective:i,tabIndex:o}){return tB`<a ${i} id="${r2(e)}" class="_a ${t||""}" part="${r2(r)}" href="http://github.com/$%7Br2(this.href)%7D" download="${r2(this.download)}" target="${r2(this.target)}" rel="${r2(this.rel)}" tabindex="${r2(o)}">${n}</a>`}}return(0,eJ.__decorate)([t7({reflect:!0})],t.prototype,"href",void 0),(0,eJ.__decorate)([t7({reflect:!0})],t.prototype,"download",void 0),(0,eJ.__decorate)([t7({reflect:!0})],t.prototype,"target",void 0),(0,eJ.__decorate)([t7({reflect:!0})],t.prototype,"rel",void 0),t};var eJ=eG("ceFTv");rJ.fn.removeAttr=function(e){let t=e.split(" ").filter(e=>e);return this.each(function(){rV(t,e=>{r8(this,e)})})};let nh=!0;const nf=rS();nf.addEventListener("pointerdown",()=>{nh=!0}),nf.addEventListener("keydown",()=>{nh=!1});const np=e=>{class t extends e{constructor(){super(...arguments),this.autofocus=!1,this.focused=!1,this.focusVisible=!1,this.focusableDefinedController=new na(this,{relatedElements:[""]}),this._manipulatingTabindex=!1,this._tabIndex=0}get tabIndex(){let e=rJ(this);if(this.focusElement===this)return Number(e.attr("tabindex")||-1);let t=Number(e.attr("tabindex")||0);return this.focusDisabled||t<0?-1:this.focusElement?this.focusElement.tabIndex:t}set tabIndex(e){if(this._manipulatingTabindex){this._manipulatingTabindex=!1;return}let t=rJ(this);if(this.focusElement===this){null!==e&&(this._tabIndex=e),t.attr("tabindex",this.focusDisabled?null:e);return}let r=()=>{-1===this.tabIndex&&(this.tabIndex=0,this.focus({preventScroll:!0}))};if(-1===e?this.addEventListener("pointerdown",r):(this._manipulatingTabindex=!0,this.removeEventListener("pointerdown",r)),-1===e||this.focusDisabled){t.attr("tabindex",-1),-1!==e&&this.manageFocusElementTabindex(e);return}this.hasAttribute("tabindex")||(this._manipulatingTabindex=!1),this.manageFocusElementTabindex(e)}get focusDisabled(){throw Error("Must implement focusDisabled getter!")}get focusElement(){throw Error("Must implement focusElement getter!")}connectedCallback(){super.connectedCallback(),this.updateComplete.then(()=>{requestAnimationFrame(()=>{this.manageAutoFocus()})})}click(){this.focusDisabled||(this.focusElement!==this?this.focusElement.click():HTMLElement.prototype.click.apply(this))}focus(e){!this.focusDisabled&&this.focusElement&&(this.focusElement!==this?this.focusElement.focus(e):HTMLElement.prototype.focus.apply(this,[e]))}blur(){this.focusElement!==this?this.focusElement.blur():HTMLElement.prototype.blur.apply(this)}firstUpdated(e){super.firstUpdated(e),this.focusElement.addEventListener("focus",()=>{this.focused=!0,this.focusVisible=!nh}),this.focusElement.addEventListener("blur",()=>{this.focused=!1,this.focusVisible=!1})}update(e){if(void 0===this._lastFocusDisabled||this._lastFocusDisabled!==this.focusDisabled){this._lastFocusDisabled=this.focusDisabled;let e=rJ(this);this.focusDisabled?e.removeAttr("tabindex"):this.focusElement===this?(this._manipulatingTabindex=!0,e.attr("tabindex",this._tabIndex)):this.tabIndex>-1&&e.removeAttr("tabindex")}super.update(e)}updated(e){super.updated(e),this.focused&&this.focusDisabled&&this.blur()}async manageFocusElementTabindex(e){this.focusElement||await this.updateComplete,null===e?this.focusElement.removeAttribute("tabindex"):this.focusElement.tabIndex=e}manageAutoFocus(){this.autofocus&&(this.dispatchEvent(new KeyboardEvent("keydown",{code:"Tab"})),this.focusElement.focus())}}return(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],t.prototype,"autofocus",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],t.prototype,"focused",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0,attribute:"focus-visible"})],t.prototype,"focusVisible",void 0),(0,eJ.__decorate)([t7({type:Number,attribute:"tabindex"})],t.prototype,"tabIndex",null),t};var eJ=eG("ceFTv");/** + * @license + * Copyright 2018 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const nm=ra(class extends rs{constructor(e){if(super(e),1!==e.type||"class"!==e.name||e.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return" "+Object.keys(e).filter(t=>e[t]).join(" ")+" "}update(e,[t]){if(void 0===this.st){for(let r in this.st=new Set,void 0!==e.strings&&(this.nt=new Set(e.strings.join(" ").split(/\s/).filter(e=>""!==e))),t)t[r]&&!this.nt?.has(r)&&this.st.add(r);return this.render(t)}let r=e.element.classList;for(let e of this.st)e in t||(r.remove(e),this.st.delete(e));for(let e in t){let n=!!t[e];n===this.st.has(e)||this.nt?.has(e)||(n?(r.add(e),this.st.add(e)):(r.remove(e),this.st.delete(e)))}return tF}}),nv=tt`:host{position:relative;display:inline-block;flex-shrink:0;width:2.5rem;height:2.5rem;stroke:rgb(var(--mdui-color-primary))}.progress{position:relative;display:inline-block;width:100%;height:100%;text-align:left;transition:opacity var(--mdui-motion-duration-medium1) var(--mdui-motion-easing-linear)}.determinate svg{transform:rotate(-90deg);fill:transparent}.determinate .track{stroke:transparent}.determinate .circle{stroke:inherit;transition:stroke-dashoffset var(--mdui-motion-duration-long2) var(--mdui-motion-easing-standard)}.indeterminate{font-size:0;letter-spacing:0;white-space:nowrap;animation:mdui-comp-circular-progress-rotate 1568ms var(--mdui-motion-easing-linear) infinite}.indeterminate .circle,.indeterminate .layer{position:absolute;width:100%;height:100%}.indeterminate .layer{animation:mdui-comp-circular-progress-layer-rotate 5332ms var(--mdui-motion-easing-standard) infinite both}.indeterminate .circle{fill:transparent;stroke:inherit}.indeterminate .gap-patch{position:absolute;top:0;left:47.5%;width:5%;height:100%;overflow:hidden}.indeterminate .gap-patch .circle{left:-900%;width:2000%;transform:rotate(180deg)}.indeterminate .clipper{position:relative;display:inline-block;width:50%;height:100%;overflow:hidden}.indeterminate .clipper .circle{width:200%}.indeterminate .clipper.left .circle{animation:mdui-comp-circular-progress-left-spin 1333ms var(--mdui-motion-easing-standard) infinite both}.indeterminate .clipper.right .circle{left:-100%;animation:mdui-comp-circular-progress-right-spin 1333ms var(--mdui-motion-easing-standard) infinite both}@keyframes mdui-comp-circular-progress-rotate{to{transform:rotate(360deg)}}@keyframes mdui-comp-circular-progress-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes mdui-comp-circular-progress-left-spin{0%{transform:rotate(265deg)}50%{transform:rotate(130deg)}100%{transform:rotate(265deg)}}@keyframes mdui-comp-circular-progress-right-spin{0%{transform:rotate(-265deg)}50%{transform:rotate(-130deg)}100%{transform:rotate(-265deg)}}`;let nb=class extends r5{constructor(){super(...arguments),this.max=1}render(){let e=!rR(this.value);return tB`<div class="progress ${nm({determinate:e,indeterminate:!e})}">${e?this.renderDeterminate():this.renderInDeterminate()}</div>`}renderDeterminate(){let e=this.value,t=(1-e/Math.max(this.max??e,e))*113.0973336;return tB`<svg viewBox="0 0 ${40} ${40}"><circle class="track" cx="${20}" cy="${20}" r="${18}" stroke-width="${4}"></circle><circle class="circle" cx="${20}" cy="${20}" r="${18}" stroke-dasharray="${113.0973336}" stroke-dashoffset="${t}" stroke-width="${4}"></circle></svg>`}renderInDeterminate(){let e=e=>tB`<svg class="circle" viewBox="0 0 ${40} ${40}"><circle cx="${20}" cy="${20}" r="${18}" stroke-dasharray="${113.0973336}" stroke-dashoffset="${56.5486668}" stroke-width="${e}"></circle></svg>`;return tB`<div class="layer"><div class="clipper left">${e(4)}</div><div class="gap-patch">${e(3.2)}</div><div class="clipper right">${e(4)}</div></div>`}};nb.styles=[nu,nv],(0,eJ.__decorate)([t7({type:Number,reflect:!0})],nb.prototype,"max",void 0),(0,eJ.__decorate)([t7({type:Number})],nb.prototype,"value",void 0),nb=(0,eJ.__decorate)([t8("mdui-circular-progress")],nb);var eJ=eG("ceFTv");rJ.fn.is=function(e){let t=!1;if(rk(e))return this.each((r,n)=>{e.call(n,r,n)&&(t=!0)}),t;if(rC(e))return this.each((r,n)=>{!(rL(n)||r$(n))&&n.matches.call(n,e)&&(t=!0)}),t;let r=rJ(e);return this.each((e,n)=>{r.each((e,r)=>{n===r&&(t=!0)})}),t},rJ.fn.children=function(e){let t=[];return this.each((r,n)=>{rV(n.childNodes,r=>{rM(r)&&(!e||rJ(r).is(e))&&t.push(r)})}),new rW(no(t))},rJ.fn.slice=function(...e){return new rW([].slice.apply(this,e))},rJ.fn.eq=function(e){return new rW(-1===e?this.slice(e):this.slice(e,+e+1))},rJ.fn.get=function(e){return void 0===e?[].slice.call(this):this[e>=0?e:e+this.length]};const ny=(e,t,r,n,i)=>{let o;let a=[];return e.each((e,s)=>{for(o=s[r];o&&rM(o);){if(2===t){if(n&&rJ(o).is(n))break;(!i||rJ(o).is(i))&&a.push(o)}else if(0===t){(!n||rJ(o).is(n))&&a.push(o);break}else(!n||rJ(o).is(n))&&a.push(o);o=o[r]}}),new rW(no(a))};rV(["","s","sUntil"],(e,t)=>{rJ.fn[`parent${e}`]=function(e,r){return ny(t?rJ(this.get().reverse()):this,t,"parentNode",e,r)}}),rJ.fn.index=function(e){return arguments.length?rC(e)?rJ(e).get().indexOf(this[0]):this.get().indexOf(rJ(e)[0]):this.eq(0).parent().children().get().indexOf(this[0])};var eJ=eG("ceFTv");rV(["add","remove","toggle"],e=>{rJ.fn[`${e}Class`]=function(t){return"remove"!==e||arguments.length?this.each((r,n)=>{rM(n)&&rV((rk(t)?t.call(n,r,r4(n,"class","")):t).split(" ").filter(e=>e),t=>{n.classList[e](t)})}):this.each((e,t)=>{r6(t,"class","")})}});const ng=new WeakMap,n_=e=>ng.get(e)??{},nw=(e,t)=>{let r=n_(e),n=rB(t);return n in r?r[n]:void 0},nS=(e,t)=>{let r=n_(e);rz(t,(e,t)=>{r[rB(e)]=t}),ng.set(e,r)},nE=(e,t,r)=>{nS(e,{[t]:r})},nT=/^(?:{[\w\W]*\}|\[[\w\W]*\])$/,nO=e=>"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:nT.test(e)?JSON.parse(e):e),nx=(e,t,r)=>{if(rR(r)&&1===e.nodeType&&rC(r=e.dataset[t]))try{r=nO(r)}catch(e){}return r};rJ.fn.data=function(e,t){if(rR(e)){if(!this.length)return;let e=this[0],t=n_(e);return 1!==e.nodeType||rz(e.dataset,r=>{t[r]=nx(e,r,t[r])}),t}return rI(e)?this.each(function(){nS(this,e)}):2==arguments.length&&rR(t)?this:rR(t)?this.length?nx(this[0],rB(e),nw(this[0],e)):void 0:this.each(function(){nE(this,e,t)})},rJ.fn.map=function(e){return new rW(function(e,t){var r;let n;let i=rT(),o=[];return r=(e,r)=>{null!=(n=t.call(i,r,e))&&o.push(n)},rD(e)?rV(e,(e,t)=>r.call(e,t,e)):rz(e,r),[].concat(...o)}(this,(t,r)=>e.call(t,r,t)))},rJ.fn.filter=function(e){if(rk(e))return this.map((t,r)=>e.call(r,t,r)?r:void 0);if(rC(e))return this.map((t,r)=>rJ(r).is(e)?r:void 0);let t=rJ(e);return this.map((e,r)=>t.get().includes(r)?r:void 0)};const nk=(e,t,r,n,i,o)=>{let a=r=>ne(e,t.toLowerCase(),r)*o;return 2===n&&i&&(r+=a("margin")),r7(e)?(0===n&&(r-=a("border")),1===n&&(r-=a("border"),r-=a("padding"))):(0===n&&(r+=a("padding")),2===n&&(r+=a("border"),r+=a("padding"))),r},nC=(e,t,r,n)=>{let i=rS(),o=`client${t}`,a=`scroll${t}`,s=`offset${t}`,l=`inner${t}`;if(r$(e))return 2===r?e[l]:rq(i)[o];if(rL(e)){let t=rq(e);return Math.max(e.body[a],t[a],e.body[s],t[s],t[o])}let c=parseFloat(r9(e,t.toLowerCase())||"0");return nk(e,t,c,r,n,1)},nA=(e,t,r,n,i,o)=>{let a=rk(o)?o.call(e,t,nC(e,r,n,i)):o;if(null==a)return;let s=rJ(e),l=r.toLowerCase();if(rC(a)&&["auto","inherit",""].includes(a)){s.css(l,a);return}let c=a.toString().replace(/\b[0-9.]*/,"");a=nk(e,r,parseFloat(a),n,i,-1)+(c||"px"),s.css(l,a)};function nP(e,...t){return rV(t,t=>{rz(t,(t,r)=>{rR(r)||(e[t]=r)})}),e}rV(["Width","Height"],e=>{rV([`inner${e}`,e.toLowerCase(),`outer${e}`],(t,r)=>{rJ.fn[t]=function(t,n){let i=arguments.length&&(r<2||!rP(t)),o=!0===t||!0===n;return i?this.each((n,i)=>nA(i,n,e,r,o,t)):this.length?nC(this[0],e,r,o):void 0}})}),rJ.fn.offsetParent=function(){let e=rS();return this.map(function(){let t=this.offsetParent;for(;t&&"static"===rJ(t).css("position");)t=t.offsetParent;return t||e.documentElement})};const nR=(e,t)=>parseFloat(e.css(t));rJ.fn.position=function(){let e;if(!this.length)return;let t=this.eq(0),r={left:0,top:0};if("fixed"===t.css("position"))e=t[0].getBoundingClientRect();else{e=t.offset();let n=t.offsetParent();r=n.offset(),r.top+=nR(n,"border-top-width"),r.left+=nR(n,"border-left-width")}return{top:e.top-r.top-nR(t,"margin-top"),left:e.left-r.left-nR(t,"margin-left")}};const nj=e=>{if(!e.getClientRects().length)return{top:0,left:0};let{top:t,left:r}=e.getBoundingClientRect(),{pageYOffset:n,pageXOffset:i}=e.ownerDocument.defaultView;return{top:t+n,left:r+i}},n$=(e,t,r)=>{let n,i;let o=rJ(e),a=o.css("position");"static"===a&&o.css("position","relative");let s=nj(e),l=o.css("top"),c=o.css("left");if(("absolute"===a||"fixed"===a)&&(l+c).includes("auto")){let e=o.position();n=e.top,i=e.left}else n=parseFloat(l),i=parseFloat(c);let u=rk(t)?t.call(e,r,nP({},s)):t;o.css({top:null!=u.top?u.top-s.top+n:void 0,left:null!=u.left?u.left-s.left+i:void 0})};rJ.fn.offset=function(e){if(!arguments.length){if(!this.length)return;return nj(this[0])}return this.each(function(t){n$(this,e,t)})};const nL=(e,t)=>e!==t&&rq(e).contains(t),nM=(e,t)=>(rV(t,t=>{e.push(t)}),e);rJ.fn.find=function(e){let t=[];return this.each((r,n)=>{nM(t,rJ(n.querySelectorAll(e)).get())}),new rW(t)};const nN=rT().CustomEvent;class nD extends nN{constructor(e,t){super(e,t),this.data=t.data,this.namespace=t.namespace}}const nI=new WeakMap;let nq=1;const nB=e=>(nI.has(e)||nI.set(e,++nq),nI.get(e)),nF=new Map,nU=e=>{let t=nB(e);return nF.get(t)||nF.set(t,[]).get(t)},nV=e=>{let t=e.split(".");return{type:t[0],namespace:t.slice(1).sort().join(" ")}},nz=e=>RegExp("(?:^| )"+e.replace(" "," .* ?")+"(?: |$)"),nW=(e,t,r,n)=>{let i=nV(t);return nU(e).filter(e=>e&&(!i.type||e.type===i.type)&&(!i.namespace||nz(i.namespace).test(e.namespace))&&(!r||nB(e.func)===nB(r))&&(!n||e.selector===n))},nH=(e,t,r,n,i)=>{let o=!1;rI(n)&&n.useCapture&&(o=!0),t.split(" ").forEach(t=>{if(!t)return;let a=nV(t),s=(e,t)=>{!1===r.apply(t,null===e.detail?[e]:[e].concat(e.detail))&&(e.preventDefault(),e.stopPropagation())},l=t=>{(!t.namespace||nz(t.namespace).test(a.namespace))&&(t.data=n,i?rJ(e).find(i).get().reverse().forEach(e=>{(e===t.target||nL(e,t.target))&&s(t,e)}):s(t,e))},c={type:a.type,namespace:a.namespace,func:r,selector:i,id:nU(e).length,proxy:l};nU(e).push(c),e.addEventListener(c.type,l,o)})},nK=(e,t,r,n)=>{let i=nU(e),o=t=>{delete i[t.id],e.removeEventListener(t.type,t.proxy,!1)};t?t.split(" ").forEach(t=>{t&&nW(e,t,r,n).forEach(e=>{o(e)})}):i.forEach(e=>{o(e)})};rJ.fn.off=function(e,t,r){return rI(e)?(rz(e,(e,r)=>{this.off(e,t,r)}),this):((!1===t||rk(t))&&(r=t,t=void 0),!1===r&&(r=rU),this.each(function(){nK(this,e,r,t)}))},rJ.fn.on=function(e,t,r,n,i){if(rI(e))return rC(t)||(r=r||t,t=void 0),rz(e,(e,n)=>{this.on(e,t,r,n,i)}),this;if(null==r&&null==n?(n=t,r=t=void 0):null==n&&(rC(t)?(n=r,r=void 0):(n=r,r=t,t=void 0)),!1===n)n=rU;else if(!n)return this;if(i){let e=this,r=n;n=function(i,...o){return e.off(i.type,t,n),r.call(this,i,...o)}}return this.each(function(){nH(this,e,n,r,t)})},rV(["insertBefore","insertAfter"],(e,t)=>{rJ.fn[e]=function(e){let r=t?rJ(this.get().reverse()):this,n=rJ(e),i=[];return n.each((e,n)=>{n.parentNode&&r.each((r,o)=>{let a=e?o.cloneNode(!0):o,s=t?n.nextSibling:n;i.push(a),n.parentNode.insertBefore(a,s)})}),rJ(t?i.reverse():i)}}),rJ.fn.remove=function(e){return this.each((t,r)=>{(!e||rJ(r).is(e))&&rY(r)})},rV(["appendTo","prependTo"],(e,t)=>{rJ.fn[e]=function(e){let r=[],n=rJ(e).map((e,n)=>{let i=n.childNodes,o=i.length;if(o)return i[t?0:o-1];let a=rK("div");return rG(n,a),r.push(a),a}),i=this[t?"insertBefore":"insertAfter"](n);return rJ(r).remove(),i}});const nG=tt`:host{position:absolute;top:0;left:0;display:block;width:100%;height:100%;overflow:hidden;pointer-events:none}.surface{position:absolute;top:0;left:0;width:100%;height:100%;transition-duration:280ms;transition-property:background-color;pointer-events:none;transition-timing-function:var(--mdui-motion-easing-standard)}.hover{background-color:rgba(var(--mdui-comp-ripple-state-layer-color,var(--mdui-color-on-surface)),var(--mdui-state-layer-hover))}:host-context([focus-visible]) .focused{background-color:rgba(var(--mdui-comp-ripple-state-layer-color,var(--mdui-color-on-surface)),var(--mdui-state-layer-focus))}.dragged{background-color:rgba(var(--mdui-comp-ripple-state-layer-color,var(--mdui-color-on-surface)),var(--mdui-state-layer-dragged))}.wave{position:absolute;z-index:1;background-color:rgb(var(--mdui-comp-ripple-state-layer-color,var(--mdui-color-on-surface)));border-radius:50%;transform:translate3d(0,0,0) scale(.4);opacity:0;animation:225ms ease 0s 1 normal forwards running mdui-comp-ripple-radius-in,75ms ease 0s 1 normal forwards running mdui-comp-ripple-opacity-in;pointer-events:none}.out{transform:translate3d(var(--mdui-comp-ripple-transition-x,0),var(--mdui-comp-ripple-transition-y,0),0) scale(1);animation:150ms ease 0s 1 normal none running mdui-comp-ripple-opacity-out}@keyframes mdui-comp-ripple-radius-in{from{transform:translate3d(0,0,0) scale(.4);animation-timing-function:var(--mdui-motion-easing-standard)}to{transform:translate3d(var(--mdui-comp-ripple-transition-x,0),var(--mdui-comp-ripple-transition-y,0),0) scale(1)}}@keyframes mdui-comp-ripple-opacity-in{from{opacity:0;animation-timing-function:linear}to{opacity:var(--mdui-state-layer-pressed)}}@keyframes mdui-comp-ripple-opacity-out{from{animation-timing-function:linear;opacity:var(--mdui-state-layer-pressed)}to{opacity:0}}`;let nY=class extends r5{constructor(){super(...arguments),this.noRipple=!1,this.hover=!1,this.focused=!1,this.dragged=!1,this.surfaceRef=rm()}startPress(e){let t,r;if(this.noRipple)return;let n=rJ(this.surfaceRef.value),i=n.innerHeight(),o=n.innerWidth();if(e){let a="undefined"!=typeof TouchEvent&&e instanceof TouchEvent&&e.touches.length?e.touches[0]:e,s=n.offset();if(a.pageX<s.left||a.pageX>s.left+o||a.pageY<s.top||a.pageY>s.top+i)return;t=a.pageX-s.left,r=a.pageY-s.top}else t=o/2,r=i/2;let a=Math.max(Math.pow(Math.pow(i,2)+Math.pow(o,2),.5),48),s=`${-t+o/2}px`,l=`${-r+i/2}px`,c=`translate3d(${s}, ${l}, 0) scale(1)`;rJ('<div class="wave"></div>').css({width:a,height:a,marginTop:-a/2,marginLeft:-a/2,left:t,top:r}).each((e,t)=>{t.style.setProperty("--mdui-comp-ripple-transition-x",s),t.style.setProperty("--mdui-comp-ripple-transition-y",l)}).prependTo(this.surfaceRef.value).each((e,t)=>t.clientLeft).css("transform",c).on("animationend",function(e){"mdui-comp-ripple-radius-in"===e.animationName&&rJ(this).data("filled",!0)})}endPress(){let e=rJ(this.surfaceRef.value).children().filter((e,t)=>!rJ(t).data("removing")).data("removing",!0),t=e=>{e.addClass("out").each((e,t)=>t.clientLeft).on("animationend",function(){rJ(this).remove()})};e.filter((e,t)=>!rJ(t).data("filled")).on("animationend",function(e){"mdui-comp-ripple-radius-in"===e.animationName&&t(rJ(this))}),t(e.filter((e,t)=>!!rJ(t).data("filled")))}startHover(){this.hover=!0}endHover(){this.hover=!1}startFocus(){this.focused=!0}endFocus(){this.focused=!1}startDrag(){this.dragged=!0}endDrag(){this.dragged=!1}render(){return tB`<div ${ry(this.surfaceRef)} class="surface ${nm({hover:this.hover,focused:this.focused,dragged:this.dragged})}"></div>`}};nY.styles=[nu,nG],(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0,attribute:"no-ripple"})],nY.prototype,"noRipple",void 0),(0,eJ.__decorate)([re()],nY.prototype,"hover",void 0),(0,eJ.__decorate)([re()],nY.prototype,"focused",void 0),(0,eJ.__decorate)([re()],nY.prototype,"dragged",void 0),nY=(0,eJ.__decorate)([t8("mdui-ripple")],nY);const nX=e=>{class t extends e{constructor(){super(...arguments),this.noRipple=!1,this.rippleIndex=void 0,this.getRippleIndex=()=>this.rippleIndex}get rippleElement(){throw Error("Must implement rippleElement getter!")}get rippleDisabled(){throw Error("Must implement rippleDisabled getter!")}get rippleTarget(){return this}firstUpdated(e){super.firstUpdated(e);let t=rJ(this.rippleTarget),r=e=>{rD(this.rippleTarget)&&(this.rippleIndex=t.index(e.target))};(rD(this.rippleTarget)?this.rippleTarget:[this.rippleTarget]).forEach(e=>{e.addEventListener("pointerdown",e=>{r(e),this.startPress(e)}),e.addEventListener("pointerenter",e=>{r(e),this.startHover(e)}),e.addEventListener("pointerleave",e=>{r(e),this.endHover(e)}),e.addEventListener("focus",e=>{r(e),this.startFocus()}),e.addEventListener("blur",e=>{r(e),this.endFocus()})})}startHover(e){"mouse"!==e.pointerType||this.isRippleDisabled()||(this.getRippleTarget().setAttribute("hover",""),this.getRippleElement().startHover())}endHover(e){"mouse"!==e.pointerType||this.isRippleDisabled()||(this.getRippleTarget().removeAttribute("hover"),this.getRippleElement().endHover())}isRippleDisabled(){let e=this.rippleDisabled;if(!Array.isArray(e))return e;let t=this.getRippleIndex();return void 0!==t?e[t]:!!e.length&&e[0]}getRippleElement(){let e=this.rippleElement;if(!rD(e))return e;let t=this.getRippleIndex();return void 0!==t?e[t]:e[0]}getRippleTarget(){let e=this.rippleTarget;if(!rD(e))return e;let t=this.getRippleIndex();return void 0!==t?e[t]:e[0]}startFocus(){this.isRippleDisabled()||this.getRippleElement().startFocus()}endFocus(){this.isRippleDisabled()||this.getRippleElement().endFocus()}startPress(e){if(this.isRippleDisabled()||e.button)return;let t=this.getRippleTarget();if(t.setAttribute("pressed",""),["touch","pen"].includes(e.pointerType)){let r=!1,n=setTimeout(()=>{n=0,this.getRippleElement().startPress(e)},70),i=()=>{n&&(clearTimeout(n),n=0,this.getRippleElement().startPress(e)),r||(r=!0,this.endPress()),t.removeEventListener("pointerup",i),t.removeEventListener("pointercancel",i)},o=()=>{n&&(clearTimeout(n),n=0),t.removeEventListener("touchmove",o)};t.addEventListener("touchmove",o),t.addEventListener("pointerup",i),t.addEventListener("pointercancel",i)}if("mouse"===e.pointerType&&0===e.button){let r=()=>{this.endPress(),t.removeEventListener("pointerup",r),t.removeEventListener("pointercancel",r),t.removeEventListener("pointerleave",r)};this.getRippleElement().startPress(e),t.addEventListener("pointerup",r),t.addEventListener("pointercancel",r),t.addEventListener("pointerleave",r)}}endPress(){this.isRippleDisabled()||(this.getRippleTarget().removeAttribute("pressed"),this.getRippleElement().endPress())}startDrag(){this.isRippleDisabled()||this.getRippleElement().startDrag()}endDrag(){this.isRippleDisabled()||this.getRippleElement().endDrag()}}return(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0,attribute:"no-ripple"})],t.prototype,"noRipple",void 0),t},nJ=tt`.button{position:relative;display:inline-flex;align-items:center;justify-content:center;height:100%;padding:0;overflow:hidden;color:inherit;font-size:inherit;font-family:inherit;font-weight:inherit;letter-spacing:inherit;white-space:nowrap;text-align:center;text-decoration:none;vertical-align:middle;background:0 0;border:none;outline:0;cursor:inherit;-webkit-user-select:none;user-select:none;touch-action:manipulation;zoom:1;-webkit-user-drag:none}`;class nZ extends nd(nX(np(r5))){constructor(){super(...arguments),this.disabled=!1,this.loading=!1,this.name="",this.value="",this.type="button",this.formNoValidate=!1,this.formController=new nc(this)}get validity(){if(this.isButton())return this.focusElement.validity}get validationMessage(){if(this.isButton())return this.focusElement.validationMessage}get rippleDisabled(){return this.disabled||this.loading}get focusElement(){return this.isButton()?this.renderRoot?.querySelector("._button"):this.focusDisabled?this:this.renderRoot?.querySelector("._a")}get focusDisabled(){return this.disabled||this.loading}checkValidity(){if(this.isButton()){let e=this.focusElement.checkValidity();return e||this.emit("invalid",{bubbles:!1,cancelable:!0,composed:!1}),e}return!0}reportValidity(){if(this.isButton()){let e=!this.focusElement.reportValidity();return e&&this.emit("invalid",{bubbles:!1,cancelable:!0,composed:!1}),!e}return!0}setCustomValidity(e){this.isButton()&&this.focusElement.setCustomValidity(e)}firstUpdated(e){super.firstUpdated(e),this.addEventListener("click",()=>{"submit"===this.type&&this.formController.submit(this),"reset"===this.type&&this.formController.reset(this)})}renderLoading(){return this.loading?tB`<mdui-circular-progress part="loading"></mdui-circular-progress>`:r1}renderButton({id:e,className:t,part:r,content:n=tB`<slot></slot>`}){return tB`<button id="${r2(e)}" class="${r3(["_button",t])}" part="${r2(r)}" ?disabled="${this.rippleDisabled||this.focusDisabled}">${n}</button>`}isButton(){return!this.href}}nZ.styles=[nu,nJ],(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],nZ.prototype,"disabled",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],nZ.prototype,"loading",void 0),(0,eJ.__decorate)([t7({reflect:!0})],nZ.prototype,"name",void 0),(0,eJ.__decorate)([t7({reflect:!0})],nZ.prototype,"value",void 0),(0,eJ.__decorate)([t7({reflect:!0})],nZ.prototype,"type",void 0),(0,eJ.__decorate)([t7({reflect:!0})],nZ.prototype,"form",void 0),(0,eJ.__decorate)([t7({reflect:!0,attribute:"formaction"})],nZ.prototype,"formAction",void 0),(0,eJ.__decorate)([t7({reflect:!0,attribute:"formenctype"})],nZ.prototype,"formEnctype",void 0),(0,eJ.__decorate)([t7({reflect:!0,attribute:"formmethod"})],nZ.prototype,"formMethod",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0,attribute:"formnovalidate"})],nZ.prototype,"formNoValidate",void 0),(0,eJ.__decorate)([t7({reflect:!0,attribute:"formtarget"})],nZ.prototype,"formTarget",void 0);var eJ=eG("ceFTv");/** + * @license + * Copyright 2018 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const nQ="important",n0=" !"+nQ,n1=ra(class extends rs{constructor(e){if(super(e),1!==e.type||"style"!==e.name||e.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce((t,r)=>{let n=e[r];return null==n?t:t+`${r=r.includes("-")?r:r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${n};`},"")}update(e,[t]){let{style:r}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(t)),this.render(t);for(let e of this.ft)null==t[e]&&(this.ft.delete(e),e.includes("-")?r.removeProperty(e):r[e]=null);for(let e in t){let n=t[e];if(null!=n){this.ft.add(e);let t="string"==typeof n&&n.endsWith(n0);e.includes("-")||t?r.setProperty(e,t?n.slice(0,-11):n,t?nQ:""):r[e]=n}}return tF}});/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */class n2 extends rs{constructor(e){if(super(e),this.it=tU,2!==e.type)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===tU||null==e)return this._t=void 0,this.it=e;if(e===tF)return e;if("string"!=typeof e)throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;let t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}}n2.directiveName="unsafeHTML",n2.resultType=1,ra(n2);/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */class n3 extends n2{}n3.directiveName="unsafeSVG",n3.resultType=2;const n5=ra(n3);class n4{constructor(e){this.Y=e}disconnect(){this.Y=void 0}reconnect(e){this.Y=e}deref(){return this.Y}}class n8{constructor(){this.Z=void 0,this.q=void 0}get(){return this.Z}pause(){this.Z??=new Promise(e=>this.q=e)}resume(){this.q?.(),this.Z=this.q=void 0}}/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const n6=e=>!ri(e)&&"function"==typeof e.then,n9=ra(class extends rp{constructor(){super(...arguments),this._$Cwt=0x3fffffff,this._$Cbt=[],this._$CK=new n4(this),this._$CX=new n8}render(...e){return e.find(e=>!n6(e))??tF}update(e,t){let r=this._$Cbt,n=r.length;this._$Cbt=t;let i=this._$CK,o=this._$CX;this.isConnected||this.disconnected();for(let e=0;e<t.length&&!(e>this._$Cwt);e++){let a=t[e];if(!n6(a))return this._$Cwt=e,a;e<n&&a===r[e]||(this._$Cwt=0x3fffffff,n=0,Promise.resolve(a).then(async e=>{for(;o.get();)await o.get();let t=i.deref();if(void 0!==t){let r=t._$Cbt.indexOf(a);r>-1&&r<t._$Cwt&&(t._$Cwt=r,t.setValue(e))}}))}return tF}disconnected(){this._$CK.disconnect(),this._$CX.pause()}reconnected(){this._$CK.reconnect(this),this._$CX.resume()}});rJ.fn.trigger=function(e,t=null,r){let{type:n,namespace:i}=nV(e),o=new nD(n,{detail:t,data:null,namespace:i,bubbles:!0,cancelable:!1,composed:!0,...r});return this.each((e,t)=>{t.dispatchEvent(o)})};const n7="ajaxSuccess",ie="ajaxError",it="ajaxComplete",ir={},ii=e=>["GET","HEAD"].includes(e),io=(e,t)=>`${e}&${t}`.replace(/[&?]{1,2}/,"?"),ia=e=>{let t=rT();return/^([\w-]+:)?\/\/([^/]+)/.test(e)&&RegExp.$2!==t.location.host},is=e=>e>=200&&e<300||[0,304].includes(e),il=e=>{let t={url:"",method:"GET",data:"",processData:!0,async:!0,cache:!0,username:"",password:"",headers:{},xhrFields:{},statusCode:{},dataType:"",contentType:"application/x-www-form-urlencoded",timeout:0,global:!0};return rz(ir,(e,r)=>{["beforeSend","success","error","complete","statusCode"].includes(e)||rR(r)||(t[e]=r)}),nP({},t,e)},ic=e=>{if(!rI(e)&&!Array.isArray(e))return"";let t=[],r=(e,n)=>{let i;rI(n)?rz(n,(t,o)=>{i=Array.isArray(n)&&!rI(o)?"":t,r(`${e}[${i}]`,o)}):(i=null==n||""===n?"=":`=${encodeURIComponent(n)}`,t.push(encodeURIComponent(e)+i))};return Array.isArray(e)?rV(e,({name:e,value:t})=>r(e,t)):rz(e,r),t.join("&")},iu=e=>{let t;let r=rS(),n=rT(),i=!1,o={},a={},s=il(e),l=s.method.toUpperCase(),{data:c,url:u}=s;u=u||n.location.toString();let{processData:d,async:h,cache:f,username:p,password:m,headers:v,xhrFields:b,statusCode:y,dataType:g,contentType:_,timeout:w,global:S}=s,E=ii(l);!c||!E&&!d||rC(c)||c instanceof ArrayBuffer||c instanceof Blob||c instanceof Document||c instanceof FormData||(c=ic(c)),c&&E&&(u=io(u,c),c=null);let T=(e,t,...n)=>{let l,c;S&&rJ(r).trigger(e,"success"===t?a:o),t in ir&&(l=ir[t](...n)),s[t]&&(c=s[t](...n)),"beforeSend"===t&&[l,c].includes(!1)&&(i=!0)};return new Promise((e,r)=>{let d;let S=e=>r(Error(e));E&&!f&&(u=io(u,`_=${Date.now()}`));let O=new XMLHttpRequest;if(O.open(l,u,h,p,m),(_||c&&!E&&!1!==_)&&O.setRequestHeader("Content-Type",_),"json"===g&&O.setRequestHeader("Accept","application/json, text/javascript"),rz(v,(e,t)=>{rR(t)||O.setRequestHeader(e,t+"")}),ia(u)||O.setRequestHeader("X-Requested-With","XMLHttpRequest"),rz(b,(e,t)=>{O[e]=t}),o.xhr=a.xhr=O,o.options=a.options=s,O.onload=()=>{let r;d&&clearTimeout(d);let n=is(O.status);if(n){if(t=204===O.status||"HEAD"===l?"nocontent":304===O.status?"notmodified":"success","json"===g||!g&&(O.getResponseHeader("content-type")||"").includes("json")){try{r="HEAD"===l?void 0:JSON.parse(O.responseText),a.response=r}catch(e){T(ie,"error",O,t="parsererror"),S(t)}"parsererror"!==t&&(T(n7,"success",r,t,O),e(r))}else r="HEAD"===l?void 0:"text"===O.responseType||""===O.responseType?O.responseText:O.response,a.response=r,T(n7,"success",r,t,O),e(r)}else T(ie,"error",O,t="error"),S(t);rV([ir.statusCode??{},y],e=>{e[O.status]&&(n?e[O.status](r,t,O):e[O.status](O,t))}),T(it,"complete",O,t)},O.onerror=()=>{d&&clearTimeout(d),T(ie,"error",O,O.statusText),T(it,"complete",O,"error"),S(O.statusText)},O.onabort=()=>{let e="abort";d&&(e="timeout",clearTimeout(d)),T(ie,"error",O,e),T(it,"complete",O,e),S(e)},T("ajaxStart","beforeSend",O,s),i)return S("cancel");w>0&&(d=n.setTimeout(()=>O.abort(),w)),O.send(c)})},id=tt`:host{display:inline-block;width:1em;height:1em;font-weight:400;font-family:'Material Icons';font-display:block;font-style:normal;line-height:1;direction:ltr;letter-spacing:normal;white-space:nowrap;text-transform:none;word-wrap:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-moz-osx-font-smoothing:grayscale;font-size:1.5rem}::slotted(svg),svg{width:100%;height:100%;fill:currentcolor}`;let ih=class extends r5{constructor(){super(...arguments),this.hasSlotController=new rZ(this,"[default]")}render(){return this.hasSlotController.test("[default]")?tB`<slot></slot>`:(()=>{if(this.name){let[e,t]=this.name.split("--"),r=new Map([["outlined","Material Icons Outlined"],["filled","Material Icons"],["rounded","Material Icons Round"],["sharp","Material Icons Sharp"],["two-tone","Material Icons Two Tone"]]);return tB`<span style="${n1({fontFamily:r.get(t)})}">${e}</span>`}return this.src?tB`${n9(iu({url:this.src}).then(n5))}`:tB``})()}};ih.styles=[nu,id],(0,eJ.__decorate)([t7({reflect:!0})],ih.prototype,"name",void 0),(0,eJ.__decorate)([t7({reflect:!0})],ih.prototype,"src",void 0),ih=(0,eJ.__decorate)([t8("mdui-icon")],ih);const ip=tt`:host{--shape-corner:var(--mdui-shape-corner-full);position:relative;display:inline-block;flex-shrink:0;overflow:hidden;text-align:center;border-radius:var(--shape-corner);cursor:pointer;-webkit-tap-highlight-color:transparent;font-size:1.5rem;width:2.5rem;height:2.5rem}:host([variant=standard]){color:rgb(var(--mdui-color-on-surface-variant));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}:host([variant=filled]){color:rgb(var(--mdui-color-primary));background-color:rgb(var(--mdui-color-surface-container-highest));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=tonal]){color:rgb(var(--mdui-color-on-surface-variant));background-color:rgb(var(--mdui-color-surface-container-highest));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}:host([variant=outlined]){border:.0625rem solid rgb(var(--mdui-color-outline));color:rgb(var(--mdui-color-on-surface-variant));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}:host([variant=outlined][pressed]){color:rgb(var(--mdui-color-on-surface));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([variant=standard][selected]:not([selected=false i])){color:rgb(var(--mdui-color-primary));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=filled]:not([selectable])),:host([variant=filled][selectable=false i]),:host([variant=filled][selected]:not([selected=false i])){color:rgb(var(--mdui-color-on-primary));background-color:rgb(var(--mdui-color-primary));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-primary)}:host([variant=tonal]:not([selectable])),:host([variant=tonal][selectable=false i]),:host([variant=tonal][selected]:not([selected=false i])){color:rgb(var(--mdui-color-on-secondary-container));background-color:rgb(var(--mdui-color-secondary-container));--mdui-comp-ripple-state-layer-color:var( + --mdui-color-on-secondary-container + )}:host([variant=outlined][selected]:not([selected=false i])){border:none;color:rgb(var(--mdui-color-inverse-on-surface));background-color:rgb(var(--mdui-color-inverse-surface));--mdui-comp-ripple-state-layer-color:var(--mdui-color-inverse-on-surface)}:host([variant=filled][disabled]:not([disabled=false i])),:host([variant=outlined][disabled]:not([disabled=false i])),:host([variant=tonal][disabled]:not([disabled=false i])){background-color:rgba(var(--mdui-color-on-surface),.12);border-color:rgba(var(--mdui-color-on-surface),.12)}:host([disabled]:not([disabled=false i])),:host([loading]:not([loading=false i])){cursor:default;pointer-events:none}:host([disabled]:not([disabled=false i])){color:rgba(var(--mdui-color-on-surface),.38)!important}:host([loading]:not([loading=false i])) .button,:host([loading]:not([loading=false i])) mdui-ripple{opacity:0}.button{float:left;width:100%}.icon,.selected-icon mdui-icon,::slotted(*){font-size:inherit}mdui-circular-progress{display:flex;position:absolute;top:calc(50% - 1.5rem / 2);left:calc(50% - 1.5rem / 2);width:1.5rem;height:1.5rem}:host([variant=filled]:not([disabled])) mdui-circular-progress,:host([variant=filled][disabled=false i]) mdui-circular-progress{stroke:rgb(var(--mdui-color-on-primary))}:host([disabled]:not([disabled=false i])) mdui-circular-progress{stroke:rgba(var(--mdui-color-on-surface),38%)}`;let im=class extends nZ{constructor(){super(...arguments),this.variant="standard",this.selectable=!1,this.selected=!1,this.rippleRef=rm(),this.hasSlotController=new rZ(this,"[default]","selected-icon")}get rippleElement(){return this.rippleRef.value}onSelectedChange(){this.emit("change")}firstUpdated(e){super.firstUpdated(e),this.addEventListener("click",()=>{this.selectable&&!this.disabled&&(this.selected=!this.selected)})}render(){return tB`<mdui-ripple ${ry(this.rippleRef)} .noRipple="${this.noRipple}"></mdui-ripple>${this.isButton()?this.renderButton({className:"button",part:"button",content:this.renderIcon()}):this.disabled||this.loading?tB`<span part="button" class="button _a">${this.renderIcon()}</span>`:this.renderAnchor({className:"button",part:"button",content:this.renderIcon()})} ${this.renderLoading()}`}renderIcon(){return this.selected&&(this.hasSlotController.test("selected-icon")||this.selectedIcon)?tB`<slot name="selected-icon" part="selected-icon" class="selected-icon"><mdui-icon name="${this.selectedIcon}"></mdui-icon></slot>`:this.hasSlotController.test("[default]")?tB`<slot></slot>`:this.icon?tB`<mdui-icon part="icon" class="icon" name="${this.icon}"></mdui-icon>`:r1}};im.styles=[nZ.styles,ip],(0,eJ.__decorate)([t7({reflect:!0})],im.prototype,"variant",void 0),(0,eJ.__decorate)([t7({reflect:!0})],im.prototype,"icon",void 0),(0,eJ.__decorate)([t7({reflect:!0,attribute:"selected-icon"})],im.prototype,"selectedIcon",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],im.prototype,"selectable",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],im.prototype,"selected",void 0),(0,eJ.__decorate)([rQ("selected",!0)],im.prototype,"onSelectedChange",null),im=(0,eJ.__decorate)([t8("mdui-button-icon")],im);var eJ=eG("ceFTv");const iv=tt`:host{position:relative;display:flex;flex:1 1 auto;overflow:hidden}:host([full-height]:not([full-height=false i])){height:100%}`;let ib=class extends r5{constructor(){super(...arguments),this.fullHeight=!1}render(){return tB`<slot></slot>`}};ib.styles=[nu,iv],(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0,attribute:"full-height"})],ib.prototype,"fullHeight",void 0),ib=(0,eJ.__decorate)([t8("mdui-layout")],ib);var eJ=(eG("ceFTv"),eG("ceFTv"));let iy=0;const ig=()=>++iy,i_=(r,n)=>{let i=rJ(r),o=ig(),a={unobserve:()=>{i.each((r,n)=>{let i=e.get(n),a=i.coArr.findIndex(e=>e.key===o);-1!==a&&i.coArr.splice(a,1),i.coArr.length?e.set(n,i):(t.unobserve(n),e.delete(n))})}};return e||(e=new WeakMap,t=new ResizeObserver(t=>{t.forEach(t=>{let r=t.target,n=e.get(r);n.entry=t,n.coArr.forEach(e=>{e.callback.call(a,t,a)})})})),i.each((r,i)=>{let s=e.get(i)??{coArr:[]};s.coArr.length&&s.entry&&n.call(a,s.entry,a),s.coArr.push({callback:n,key:o}),e.set(i,s),t.observe(i)}),a};class iw{constructor(){this.states=[]}registerMain(e){this.$main=rJ(e)}unregisterMain(){this.$main=void 0}registerItem(e){let t={element:e};this.states.push(t),t.observeResize=i_(t.element,()=>{this.updateLayout(t.element,{width:this.isNoWidth(t)?0:void 0})}),this.items=void 0,this.resort(),this.updateLayout()}unregisterItem(e){let t=this.states.findIndex(t=>t.element===e);if(t<0)return;let r=this.states[t];r.observeResize?.unobserve(),this.items=void 0,this.states.splice(t,1),this.states[t]&&this.updateLayout(this.states[t].element)}getItems(){if(!this.items){let e=this.states.map(e=>e.element);this.items=e.sort((e,t)=>{let r=e.compareDocumentPosition(t);return r&Node.DOCUMENT_POSITION_FOLLOWING?-1:r&Node.DOCUMENT_POSITION_PRECEDING?1:0})}return this.items}getMain(){return this.$main?this.$main[0]:void 0}getItemsAndMain(){return[...this.getItems(),this.getMain()].filter(e=>e)}updateOrder(){this.resort(),this.updateLayout()}updateLayout(e,t){let r=e?{element:e,width:t?.width,height:t?.height}:void 0,n=r?this.states.findIndex(e=>e.element===r.element):0;if(n<0)return;Object.assign(this.states[n],r),this.states.forEach((e,t)=>{if(t<n)return;let r=e.element.layoutPlacement,i=t>0?this.states[t-1]:void 0,o=i?.top??0,a=i?.right??0,s=i?.bottom??0,l=i?.left??0;switch(Object.assign(e,{top:o,right:a,bottom:s,left:l}),r){case"top":case"bottom":e[r]+=e.height??e.element.offsetHeight;break;case"right":case"left":e[r]+=(this.isNoWidth(e)?0:e.width)??e.element.offsetWidth}e.height=e.width=void 0,rJ(e.element).css({position:"absolute",top:"bottom"===r?null:o,right:"left"===r?null:a,bottom:"top"===r?null:s,left:"right"===r?null:l})});let i=this.states[this.states.length-1];this.$main&&this.$main.css({paddingTop:i.top,paddingRight:i.right,paddingBottom:i.bottom,paddingLeft:i.left})}resort(){let e=this.getItems();this.states.sort((t,r)=>{let n=t.element.order??0,i=r.element.order??0;return n>i?1:n<i?-1:e.indexOf(t.element)>e.indexOf(r.element)?1:e.indexOf(t.element)<e.indexOf(r.element)?-1:0})}isNoWidth(e){return rx(e.element,"mdui-navigation-drawer")&&e.element.isModal}}const iS=new WeakMap,iE=e=>(iS.has(e)||iS.set(e,new iw),iS.get(e));class iT extends r5{constructor(){super(...arguments),this.isParentLayout=!1}get layoutPlacement(){throw Error("Must implement placement getter!")}onOrderChange(){this.layoutManager?.updateOrder()}connectedCallback(){super.connectedCallback();let e=this.parentElement;this.isParentLayout=rx(e,"mdui-layout"),this.isParentLayout&&(this.layoutManager=iE(e),this.layoutManager.registerItem(this))}disconnectedCallback(){super.disconnectedCallback(),this.layoutManager&&this.layoutManager.unregisterItem(this)}}(0,eJ.__decorate)([t7({type:Number,reflect:!0})],iT.prototype,"order",void 0),(0,eJ.__decorate)([rQ("order",!0)],iT.prototype,"onOrderChange",null);const iO=tt`:host{display:flex;z-index:1}`;let ix=class extends iT{constructor(){super(...arguments),this.placement="top"}get layoutPlacement(){return this.placement}onPlacementChange(){this.layoutManager?.updateLayout(this)}render(){return tB`<slot></slot>`}};ix.styles=[nu,iO],(0,eJ.__decorate)([t7({reflect:!0})],ix.prototype,"placement",void 0),(0,eJ.__decorate)([rQ("placement",!0)],ix.prototype,"onPlacementChange",null),ix=(0,eJ.__decorate)([t8("mdui-layout-item")],ix);var eJ=eG("ceFTv");const ik=tt`:host{flex:1 0 auto;max-width:100%;overflow:auto}`;let iC=class extends r5{connectedCallback(){super.connectedCallback();let e=this.parentElement;rx(e,"mdui-layout")&&(this.layoutManager=iE(e),this.layoutManager.registerMain(this))}disconnectedCallback(){super.disconnectedCallback(),this.layoutManager&&this.layoutManager.unregisterMain()}render(){return tB`<slot></slot>`}};iC.styles=[nu,ik],iC=(0,eJ.__decorate)([t8("mdui-layout-main")],iC);var eJ=eG("ceFTv");const iA=tt`:host{display:block;padding:.5rem 0}::slotted(mdui-divider[middle]){margin-left:1rem;margin-right:1.5rem}`;let iP=class extends r5{render(){return tB`<slot></slot>`}};iP.styles=[nu,iA],iP=(0,eJ.__decorate)([t8("mdui-list")],iP);var eJ=eG("ceFTv");const iR=tt`:host{--shape-corner:var(--mdui-shape-corner-none);--shape-corner-rounded:var(--mdui-shape-corner-extra-large);position:relative;display:block;border-radius:var(--shape-corner);--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([rounded]:not([rounded=false i])),:host([rounded]:not([rounded=false i])) mdui-ripple{border-radius:var(--shape-corner-rounded)}:host([active]:not([active=false i])){background-color:rgb(var(--mdui-color-secondary-container));--mdui-comp-ripple-state-layer-color:var( + --mdui-color-on-secondary-container + )}:host([disabled]:not([disabled=false i])){pointer-events:none}.container{cursor:pointer;-webkit-user-select:none;user-select:none;text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}:host([disabled]:not([disabled=false i])) .container{cursor:default;opacity:.38}:host([nonclickable]:not([href],[nonclickable=false i])) .container{cursor:auto;-webkit-user-select:auto;user-select:auto}.preset{display:flex;align-items:center;padding:.5rem 1.5rem .5rem 1rem;min-height:3.5rem}:host([alignment=start]) .preset{align-items:flex-start}:host([alignment=end]) .preset{align-items:flex-end}.body{display:flex;flex:1 1 100%;flex-direction:column;justify-content:center;min-width:0}.headline{display:block;color:rgb(var(--mdui-color-on-surface));font-size:var(--mdui-typescale-body-large-size);font-weight:var(--mdui-typescale-body-large-weight);letter-spacing:var(--mdui-typescale-body-large-tracking);line-height:var(--mdui-typescale-body-large-line-height)}:host([active]:not([active=false i])) .headline{color:rgb(var(--mdui-color-on-secondary-container))}.description{display:none;color:rgb(var(--mdui-color-on-surface-variant));font-size:var(--mdui-typescale-body-medium-size);font-weight:var(--mdui-typescale-body-medium-weight);letter-spacing:var(--mdui-typescale-body-medium-tracking);line-height:var(--mdui-typescale-body-medium-line-height)}:host([disabled]:not([disabled=false i])) .description,:host([focused]) .description,:host([hover]) .description,:host([pressed]) .description{color:rgb(var(--mdui-color-on-surface))}.has-description .description{display:block}:host([description-line='1']) .description,:host([headline-line='1']) .headline{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host([description-line='2']) .description,:host([description-line='3']) .description,:host([headline-line='2']) .headline,:host([headline-line='3']) .headline{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}:host([description-line='2']) .description,:host([headline-line='2']) .headline{-webkit-line-clamp:2}:host([description-line='3']) .description,:host([headline-line='3']) .headline{-webkit-line-clamp:3}.end-icon,.icon{display:flex;flex:0 0 auto;font-size:var(--mdui-typescale-label-small-size);font-weight:var(--mdui-typescale-label-small-weight);letter-spacing:var(--mdui-typescale-label-small-tracking);line-height:var(--mdui-typescale-label-small-line-height);color:rgb(var(--mdui-color-on-surface-variant))}:host([disabled]:not([disabled=false i])) .end-icon,:host([disabled]:not([disabled=false i])) .icon,:host([focused]) .end-icon,:host([focused]) .icon,:host([hover]) .end-icon,:host([hover]) .icon,:host([pressed]) .end-icon,:host([pressed]) .icon{color:rgb(var(--mdui-color-on-surface))}:host([active]:not([active=false i])) .end-icon,:host([active]:not([active=false i])) .icon{color:rgb(var(--mdui-color-on-secondary-container))}.end-icon mdui-icon,.icon mdui-icon,.is-end-icon ::slotted([slot=end-icon]),.is-icon ::slotted([slot=icon]){font-size:1.5rem}.has-icon .icon{margin-right:1rem}.has-icon ::slotted(mdui-checkbox[slot=icon]),.has-icon ::slotted(mdui-radio[slot=icon]){margin-left:-.5rem}.has-end-icon .end-icon{margin-left:1rem}.has-end-icon ::slotted(mdui-checkbox[slot=end-icon]),.has-end-icon ::slotted(mdui-radio[slot=end-icon]){margin-right:-.5rem}`;let ij=class extends nd(nX(np(r5))){constructor(){super(...arguments),this.disabled=!1,this.active=!1,this.nonclickable=!1,this.rounded=!1,this.alignment="center",this.rippleRef=rm(),this.itemRef=rm(),this.hasSlotController=new rZ(this,"[default]","description","icon","end-icon","custom")}get rippleElement(){return this.rippleRef.value}get rippleDisabled(){return this.focusDisabled}get focusElement(){return this.href&&!this.disabled?this.itemRef.value:this}get focusDisabled(){return this.href?this.disabled:this.disabled||this.nonclickable}render(){let e=!this.hasSlotController.test("custom"),t=r3({container:!0,preset:e,"has-icon":this.icon||this.hasSlotController.test("icon"),"has-end-icon":this.endIcon||this.hasSlotController.test("end-icon"),"has-description":this.description||this.hasSlotController.test("description"),"is-icon":rx(this.iconElements[0],"mdui-icon"),"is-end-icon":rO(this.endIconElements[0]).startsWith("mdui-icon-")});return tB`<mdui-ripple ${ry(this.rippleRef)} .noRipple="${this.noRipple}"></mdui-ripple>${this.href&&!this.disabled?this.renderAnchor({className:t,content:this.renderInner(),part:"container",refDirective:ry(this.itemRef)}):tB`<div part="container" class="${t}" ${ry(this.itemRef)}>${this.renderInner()}</div>`}`}renderInner(){let e=this.hasSlotController.test("[default]");return tB`<slot name="custom"><slot name="icon" part="icon" class="icon">${this.icon?tB`<mdui-icon name="${this.icon}"></mdui-icon>`:r1}</slot><div part="body" class="body">${e?tB`<slot part="headline" class="headline"></slot>`:tB`<div part="headline" class="headline">${this.headline}</div>`}<slot name="description" part="description" class="description">${this.description}</slot></div><slot name="end-icon" part="end-icon" class="end-icon">${this.endIcon?tB`<mdui-icon name="${this.endIcon}"></mdui-icon>`:r1}</slot></slot>`}};ij.styles=[nu,iR],(0,eJ.__decorate)([t7({reflect:!0})],ij.prototype,"headline",void 0),(0,eJ.__decorate)([t7({type:Number,reflect:!0,attribute:"headline-line"})],ij.prototype,"headlineLine",void 0),(0,eJ.__decorate)([t7({reflect:!0})],ij.prototype,"description",void 0),(0,eJ.__decorate)([t7({type:Number,reflect:!0,attribute:"description-line"})],ij.prototype,"descriptionLine",void 0),(0,eJ.__decorate)([t7({reflect:!0})],ij.prototype,"icon",void 0),(0,eJ.__decorate)([t7({reflect:!0,attribute:"end-icon"})],ij.prototype,"endIcon",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],ij.prototype,"disabled",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],ij.prototype,"active",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],ij.prototype,"nonclickable",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],ij.prototype,"rounded",void 0),(0,eJ.__decorate)([t7({reflect:!0})],ij.prototype,"alignment",void 0),(0,eJ.__decorate)([rr({slot:"icon",flatten:!0})],ij.prototype,"iconElements",void 0),(0,eJ.__decorate)([rr({slot:"end-icon",flatten:!0})],ij.prototype,"endIconElements",void 0),ij=(0,eJ.__decorate)([t8("mdui-list-item")],ij);var eJ=eG("ceFTv");function i$(e,t,r){return e?new Promise(n=>{if(r.duration===1/0)throw Error("Promise-based animations must be finite.");rA(r.duration)&&isNaN(r.duration)&&(r.duration=0),""===r.easing&&(r.easing="linear");let i=e.animate(t,r);i.addEventListener("cancel",n,{once:!0}),i.addEventListener("finish",n,{once:!0})}):Promise.resolve()}const iL=e=>{let t=rT(),r=rS(),n=t.getComputedStyle(r.documentElement),i=rM(e)?rJ(e).innerWidth():rA(e)?e:rJ(t).innerWidth(),o=e=>parseFloat(n.getPropertyValue(`--mdui-breakpoint-${e}`).toLowerCase()),a=e=>{switch(e){case"xs":return"sm";case"sm":return"md";case"md":return"lg";case"lg":return"xl";case"xl":return"xxl"}};return{up:e=>i>=o(e),down:e=>i<o(e),only(e){return"xxl"===e?this.up(e):this.up(e)&&this.down(a(e))},not(e){return!this.only(e)},between(e,t){return this.up(e)&&this.down(t)}}};function iM(e){let t=rT(),r=e.localName;return!("-1"===e.getAttribute("tabindex")||e.hasAttribute("disabled")||e.hasAttribute("aria-disabled")&&"false"!==e.getAttribute("aria-disabled"))&&("input"!==r||"radio"!==e.getAttribute("type")||!!e.hasAttribute("checked"))&&null!==e.offsetParent&&"hidden"!==t.getComputedStyle(e).visibility&&(!!(("audio"===r||"video"===r)&&e.hasAttribute("controls")||e.hasAttribute("tabindex")||e.hasAttribute("contenteditable")&&"false"!==e.getAttribute("contenteditable"))||["button","input","select","textarea","a","audio","video","summary"].includes(r))}let iN=[];class iD{constructor(e){this.tabDirection="forward",this.element=e,this.handleFocusIn=this.handleFocusIn.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleKeyUp=this.handleKeyUp.bind(this)}activate(){iN.push(this.element),document.addEventListener("focusin",this.handleFocusIn),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keyup",this.handleKeyUp)}deactivate(){iN=iN.filter(e=>e!==this.element),document.removeEventListener("focusin",this.handleFocusIn),document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("keyup",this.handleKeyUp)}isActive(){return iN[iN.length-1]===this.element}checkFocus(){if(this.isActive()&&!this.element.matches(":focus-within")){let{start:e,end:t}=function(e){let t=[];return!function e(r){r instanceof HTMLElement&&(t.push(r),null!==r.shadowRoot&&"open"===r.shadowRoot.mode&&e(r.shadowRoot)),[...r.children].forEach(t=>e(t))}(e),{start:t.find(e=>iM(e))??null,end:t.reverse().find(e=>iM(e))??null}}(this.element),r="forward"===this.tabDirection?e:t;"function"==typeof r?.focus&&r.focus({preventScroll:!0})}}handleFocusIn(){this.checkFocus()}handleKeyDown(e){"Tab"===e.key&&e.shiftKey&&(this.tabDirection="backward"),requestAnimationFrame(()=>this.checkFocus())}handleKeyUp(){this.tabDirection="forward"}}const iI=(e,t)=>{let r=`--mdui-motion-easing-${t}`;return rJ(e).css(r).trim()},iq=(e,t)=>{let r=`--mdui-motion-duration-${t}`,n=rJ(e).css(r).trim().toLowerCase();return n.endsWith("ms")?parseFloat(n):1e3*parseFloat(n)},iB=e=>rC(e)&&!(e.startsWith("<")&&e.endsWith(">"));rV(["before","after"],(e,t)=>{rJ.fn[e]=function(...e){return 1===t&&(e=e.reverse()),this.each((r,n)=>{rV(rk(e[0])?[e[0].call(n,r,n.innerHTML)]:e,e=>{(iB(e)?rJ(rX(e,"div")):r&&rM(e)?rJ(e.cloneNode(!0)):rJ(e))[t?"insertAfter":"insertBefore"](n)})})}}),rJ.fn.clone=function(){return this.map(function(){return this.cloneNode(!0)})},rV(["prepend","append"],(e,t)=>{rJ.fn[e]=function(...e){return this.each((r,n)=>{let i=n.childNodes,o=i.length,a=o?i[t?o-1:0]:rK("div");o||rG(n,a);let s=rk(e[0])?[e[0].call(n,r,n.innerHTML)]:e;r&&(s=s.map(e=>rC(e)?e:rJ(e).clone())),rJ(a)[t?"after":"before"](...s),o||rY(a)})}});const iF=e=>{if(rR(document))return 0;if(e||void 0===r){let e=rJ("<div>").css({width:"100%",height:"200px"}),t=rJ("<div>").css({position:"absolute",top:"0",left:"0",pointerEvents:"none",visibility:"hidden",width:"200px",height:"150px",overflow:"hidden"}).append(e).appendTo(document.body),n=e[0].offsetWidth;t.css("overflow","scroll");let i=e[0].offsetWidth;n===i&&(i=t[0].clientWidth),t.remove(),r=n-i}return r},iU=e=>e.scrollHeight>e.clientHeight,iV=new WeakMap,iz="mdui-lock-screen",iW=(e,t)=>{let r=rS();t??=r.documentElement,iV.has(t)||iV.set(t,new Set),iV.get(t).add(e);let n=rJ(t);iU(t)&&n.css("width",`calc(100% - ${iF()}px)`),n.addClass(iz)},iH=(e,t)=>{let r=rS();t??=r.documentElement;let n=iV.get(t);n&&(n.delete(e),0===n.size&&(iV.delete(t),rJ(t).removeClass(iz).width("")))},iK=tt`:host{--shape-corner:var(--mdui-shape-corner-large);--z-index:2200;display:none;position:fixed;top:0;bottom:0;left:0;z-index:1;width:22.5rem}:host([placement=right]){left:initial;right:0}:host([mobile]),:host([modal]:not([modal=false i])){top:0!important;right:0;bottom:0!important;width:initial;z-index:var(--z-index)}:host([placement=right][mobile]),:host([placement=right][modal]:not([modal=false i])){left:0}:host([contained]:not([contained=false i])){position:absolute}.overlay{position:absolute;inset:0;z-index:inherit;background-color:rgba(var(--mdui-color-scrim),.4)}.panel{display:block;position:absolute;top:0;bottom:0;left:0;width:100%;overflow:auto;z-index:inherit;background-color:rgb(var(--mdui-color-surface));box-shadow:var(--mdui-elevation-level0)}:host([mobile]) .panel,:host([modal]:not([modal=false i])) .panel{border-radius:0 var(--shape-corner) var(--shape-corner) 0;max-width:80%;width:22.5rem;background-color:rgb(var(--mdui-color-surface-container-low));box-shadow:var(--mdui-elevation-level1)}:host([placement=right]) .panel{left:initial;right:0}:host([placement=right][mobile]) .panel,:host([placement=right][modal]:not([modal=false i])) .panel{border-radius:var(--shape-corner) 0 0 var(--shape-corner)}`;let iG=class extends iT{constructor(){super(...arguments),this.open=!1,this.modal=!1,this.closeOnEsc=!1,this.closeOnOverlayClick=!1,this.placement="left",this.contained=!1,this.mobile=!1,this.overlayRef=rm(),this.panelRef=rm(),this.definedController=new na(this,{needDomReady:!0})}get layoutPlacement(){return this.placement}get lockTarget(){return this.contained||this.isParentLayout?this.parentElement:document.documentElement}get isModal(){return this.mobile||this.modal}async onContainedChange(){await this.definedController.whenDefined(),this.observeResize?.unobserve(),this.setObserveResize()}onPlacementChange(){this.isParentLayout&&this.layoutManager.updateLayout(this)}async onMobileChange(){!this.open||this.isParentLayout||this.contained||(await this.definedController.whenDefined(),this.isModal?(iW(this,this.lockTarget),await this.getLockTargetAnimate(!1,0)):(iH(this,this.lockTarget),await this.getLockTargetAnimate(!0,0)))}async onOpenChange(){let e=this.panelRef.value,t=this.overlayRef.value,r="right"===this.placement,n=iI(this,"linear"),i=iI(this,"emphasized"),o=(e,t)=>{rJ(this.layoutManager.getItemsAndMain()).css("transition",rj(e)?null:`all ${e}ms ${t}`)},a=async()=>{let r=[];if(this.isModal?r.push(t,e):this.isParentLayout||r.push(this.lockTarget),this.isParentLayout){let e=this.layoutManager.getItemsAndMain(),t=e.indexOf(this);r.push(...e.slice(t))}this.isModal||r.includes(this)||r.push(this),await Promise.all(r.map(e=>e?Promise.all(e.getAnimations().map(e=>new Promise(t=>{let r=requestAnimationFrame(t);e.addEventListener("cancel",()=>r,{once:!0}),e.addEventListener("finish",()=>r,{once:!0}),e.cancel()}))):Promise.resolve()))};if(this.open){let s=this.hasUpdated;if(s||(await this.updateComplete,e=this.panelRef.value,t=this.overlayRef.value),s&&!this.emit("open",{cancelable:!0}))return;await this.definedController.whenDefined(),this.style.display="block",this.originalTrigger=document.activeElement,this.isModal&&(this.modalHelper.activate(),this.contained||iW(this,this.lockTarget)),await a(),requestAnimationFrame(()=>{let t=this.querySelector("[autofocus]");t?t.focus({preventScroll:!0}):e.focus({preventScroll:!0})});let l=iq(this,"long2"),c=[];if(this.isModal?c.push(i$(t,[{opacity:0},{opacity:1,offset:.3},{opacity:1}],{duration:s?l:0,easing:n})):this.isParentLayout||c.push(this.getLockTargetAnimate(!0,s?l:0)),this.isParentLayout&&s&&(o(l,i),this.layoutManager.updateLayout(this)),c.push(i$(this.isModal?e:this,[{transform:`translateX(${r?"":"-"}100%)`},{transform:"translateX(0)"}],{duration:s?l:0,easing:i})),await Promise.all(c),!this.open)return;this.isParentLayout&&s&&o(null),s&&this.emit("opened")}else if(this.hasUpdated){if(!this.emit("close",{cancelable:!0}))return;await this.definedController.whenDefined(),this.isModal&&this.modalHelper.deactivate(),await a();let s=iq(this,"short4"),l=[];if(this.isModal?l.push(i$(t,[{opacity:1},{opacity:0}],{duration:s,easing:n})):this.isParentLayout||l.push(this.getLockTargetAnimate(!1,s)),this.isParentLayout&&(o(s,i),this.layoutManager.updateLayout(this,{width:0})),l.push(i$(this.isModal?e:this,[{transform:"translateX(0)"},{transform:`translateX(${r?"":"-"}100%)`}],{duration:s,easing:i})),await Promise.all(l),this.open)return;this.isParentLayout&&o(null),this.style.display="none",this.isModal&&!this.contained&&iH(this,this.lockTarget);let c=this.originalTrigger;rk(c?.focus)&&setTimeout(()=>c.focus()),this.emit("closed")}}connectedCallback(){super.connectedCallback(),this.modalHelper=new iD(this),this.definedController.whenDefined().then(()=>{this.setObserveResize()})}disconnectedCallback(){super.disconnectedCallback(),iH(this,this.lockTarget),this.observeResize?.unobserve()}firstUpdated(e){super.firstUpdated(e),this.addEventListener("keydown",e=>{this.open&&this.closeOnEsc&&"Escape"===e.key&&this.isModal&&(e.stopPropagation(),this.open=!1)})}render(){var e,t;return tB`${e=this.isModal,t=()=>tB`<div ${ry(this.overlayRef)} part="overlay" class="overlay" @click="${this.onOverlayClick}"></div>`,e?t(e):void 0}<slot ${ry(this.panelRef)} part="panel" class="panel" tabindex="0"></slot>`}setObserveResize(){this.observeResize=i_(this.contained?this.parentElement:document.documentElement,()=>{let e=this.contained?this.parentElement:void 0;this.mobile=iL(e).down("md"),this.isParentLayout&&this.layoutManager.updateLayout(this,{width:this.isModal?0:void 0})})}onOverlayClick(){this.emit("overlay-click"),this.closeOnOverlayClick&&(this.open=!1)}getLockTargetAnimate(e,t){let r="right"===this.placement?"paddingRight":"paddingLeft",n=rJ(this.panelRef.value).innerWidth()+"px";return i$(this.lockTarget,[{[r]:e?0:n},{[r]:e?n:0}],{duration:t,easing:iI(this,"emphasized"),fill:"forwards"})}};iG.styles=[nu,iK],(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],iG.prototype,"open",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],iG.prototype,"modal",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0,attribute:"close-on-esc"})],iG.prototype,"closeOnEsc",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0,attribute:"close-on-overlay-click"})],iG.prototype,"closeOnOverlayClick",void 0),(0,eJ.__decorate)([t7({reflect:!0})],iG.prototype,"placement",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],iG.prototype,"contained",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],iG.prototype,"mobile",void 0),(0,eJ.__decorate)([rQ("contained",!0)],iG.prototype,"onContainedChange",null),(0,eJ.__decorate)([rQ("placement",!0)],iG.prototype,"onPlacementChange",null),(0,eJ.__decorate)([rQ("mobile",!0),rQ("modal",!0)],iG.prototype,"onMobileChange",null),(0,eJ.__decorate)([rQ("open")],iG.prototype,"onOpenChange",null),iG=(0,eJ.__decorate)([t8("mdui-navigation-drawer")],iG);var eJ=(eG("ceFTv"),eG("ceFTv"));const iY=new WeakMap,iX=e=>{class t extends e{constructor(...e){super(...e),this.scrollBehaviorDefinedController=new na(this,{needDomReady:!0}),this.lastScrollTopThreshold=0,this.lastScrollTopNoThreshold=0,this.isParentLayout=!1,this.onListeningScroll=this.onListeningScroll.bind(this)}get scrollPaddingPosition(){throw Error("Must implement scrollPaddingPosition getter")}async onScrollTargetChange(e,t){let r=this.hasUpdated;if(await this.scrollBehaviorDefinedController.whenDefined(),r&&(this.setContainerPadding("remove",e),this.setContainerPadding("add",t)),!this.scrollBehavior)return;let n=this.getListening(e);n&&n.removeEventListener("scroll",this.onListeningScroll);let i=this.getListening(t);i&&(this.updateScrollTop(i),i.addEventListener("scroll",this.onListeningScroll))}async onScrollBehaviorChange(){await this.scrollBehaviorDefinedController.whenDefined();let e=this.getListening(this.scrollTarget);e&&(this.scrollBehavior?(this.updateScrollTop(e),e.addEventListener("scroll",this.onListeningScroll)):e.removeEventListener("scroll",this.onListeningScroll))}connectedCallback(){super.connectedCallback(),this.scrollBehaviorDefinedController.whenDefined().then(()=>{this.isParentLayout=rx(this.parentElement,"mdui-layout"),this.setContainerPadding("add",this.scrollTarget)})}disconnectedCallback(){super.disconnectedCallback(),this.scrollBehaviorDefinedController.whenDefined().then(()=>{this.setContainerPadding("remove",this.scrollTarget)})}hasScrollBehavior(e){let t=this.scrollBehavior?.split(" ")??[];return Array.isArray(e)?!!t.filter(t=>e.includes(t)).length:t.includes(e)}runScrollThreshold(e,t){}runScrollNoThreshold(e,t){}setContainerPadding(e,t){let r=this.getContainer(t);if(!r||this.isParentLayout)return;let n=this.scrollPaddingPosition,i="top"===n?"paddingTop":"paddingBottom";if("add"===e||"update"===e){let t=["fixed","absolute"].includes(rJ(this).css("position"))?this.offsetHeight:null;if(rJ(r).css({[i]:t}),"add"===e&&null!==t){let e=iY.get(r)??{top:[],bottom:[]};e[n].push(this),iY.set(r,e)}}if("remove"===e){let e=iY.get(r);if(!e)return;let t=e[n].indexOf(this);t>-1&&(e[n].splice(t,1),iY.set(r,e)),e[n].length||rJ(r).css({[i]:null})}}onListeningScroll(){let e=this.getListening(this.scrollTarget);window.requestAnimationFrame(()=>this.onScroll(e))}onScroll(e){let t=e.scrollY??e.scrollTop;this.lastScrollTopNoThreshold!==t&&(this.runScrollNoThreshold(t<this.lastScrollTopNoThreshold,t),this.lastScrollTopNoThreshold=t),Math.abs(t-this.lastScrollTopThreshold)>(this.scrollThreshold||0)&&(this.runScrollThreshold(t<this.lastScrollTopThreshold,t),this.lastScrollTopThreshold=t)}updateScrollTop(e){this.lastScrollTopThreshold=this.lastScrollTopNoThreshold=e.scrollY??e.scrollTop}getListening(e){return e?rJ(e)[0]:window}getContainer(e){return e?rJ(e)[0]:document.body}}return(0,eJ.__decorate)([t7({attribute:"scroll-target"})],t.prototype,"scrollTarget",void 0),(0,eJ.__decorate)([t7({reflect:!0,attribute:"scroll-behavior"})],t.prototype,"scrollBehavior",void 0),(0,eJ.__decorate)([t7({type:Number,reflect:!0,attribute:"scroll-threshold"})],t.prototype,"scrollThreshold",void 0),(0,eJ.__decorate)([rQ("scrollTarget")],t.prototype,"onScrollTargetChange",null),(0,eJ.__decorate)([rQ("scrollBehavior")],t.prototype,"onScrollBehaviorChange",null),t},iJ=tt`:host{--shape-corner:var(--mdui-shape-corner-none);--z-index:2000;position:fixed;top:0;right:0;left:0;display:flex;flex:0 0 auto;align-items:flex-start;justify-content:flex-start;border-bottom-left-radius:var(--shape-corner);border-bottom-right-radius:var(--shape-corner);z-index:var(--z-index);transition:top var(--mdui-motion-duration-long2) var(--mdui-motion-easing-standard),height var(--mdui-motion-duration-long2) var(--mdui-motion-easing-standard),box-shadow var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear),background-color var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);padding:.75rem .5rem;height:4rem;background-color:rgb(var(--mdui-color-surface))}:host([scroll-target]:not([scroll-target=''])){position:absolute}:host([scroll-behavior~=shrink]){transition-duration:var(--mdui-motion-duration-short4)}:host([scrolling]){background-color:rgb(var(--mdui-color-surface-container));box-shadow:var(--mdui-elevation-level2)}::slotted(mdui-button-icon){color:rgb(var(--mdui-color-on-surface-variant));font-size:1.5rem}::slotted(mdui-button-icon:first-child){color:rgb(var(--mdui-color-on-surface))}::slotted(mdui-avatar){width:1.875rem;height:1.875rem;margin-top:.3125rem;margin-bottom:.3125rem}::slotted(*){flex-shrink:0}::slotted(:not(:last-child)){margin-right:.5rem}:host([variant=medium]){height:7rem}:host([variant=large]){height:9.5rem}:host([hide]:not([hide=false i])){transition-duration:var(--mdui-motion-duration-short4);top:-4.625rem}:host([hide][variant=medium]:not([hide=false i])){top:-7.625rem}:host([hide][variant=large]:not([hide=false i])){top:-10.125rem}:host([shrink][variant=large]:not([shrink=false i])),:host([shrink][variant=medium]:not([shrink=false i])){transition-duration:var(--mdui-motion-duration-short4);height:4rem}`;let iZ=class extends iX(iT){constructor(){super(...arguments),this.variant="small",this.hide=!1,this.shrink=!1,this.scrolling=!1}get scrollPaddingPosition(){return"top"}get layoutPlacement(){return"top"}async onVariantChange(){this.hasUpdated?this.addEventListener("transitionend",async()=>{await this.scrollBehaviorDefinedController.whenDefined(),this.setContainerPadding("update",this.scrollTarget)},{once:!0}):await this.updateComplete,this.titleElements.forEach(e=>{e.variant=this.variant})}async onShrinkChange(){this.hasUpdated||await this.updateComplete,this.titleElements.forEach(e=>{e.shrink=this.shrink})}firstUpdated(e){super.firstUpdated(e),this.addEventListener("transitionend",e=>{e.target===this&&this.emit(this.hide?"hidden":"shown")})}render(){return tB`<slot></slot>`}runScrollNoThreshold(e,t){this.hasScrollBehavior("shrink")&&e&&t<8&&(this.shrink=!1)}runScrollThreshold(e,t){this.hasScrollBehavior("elevate")&&(this.scrolling=!!t),this.hasScrollBehavior("shrink")&&!e&&(this.shrink=!0),this.hasScrollBehavior("hide")&&(!e&&!this.hide&&this.emit("hide",{cancelable:!0})&&(this.hide=!0),e&&this.hide&&this.emit("show",{cancelable:!0})&&(this.hide=!1))}};iZ.styles=[nu,iJ],(0,eJ.__decorate)([t7({reflect:!0})],iZ.prototype,"variant",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],iZ.prototype,"hide",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],iZ.prototype,"shrink",void 0),(0,eJ.__decorate)([t7({reflect:!0,attribute:"scroll-behavior"})],iZ.prototype,"scrollBehavior",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],iZ.prototype,"scrolling",void 0),(0,eJ.__decorate)([rr({selector:"mdui-top-app-bar-title",flatten:!0})],iZ.prototype,"titleElements",void 0),(0,eJ.__decorate)([rQ("variant")],iZ.prototype,"onVariantChange",null),(0,eJ.__decorate)([rQ("shrink")],iZ.prototype,"onShrinkChange",null),iZ=(0,eJ.__decorate)([t8("mdui-top-app-bar")],iZ);var eJ=eG("ceFTv");const iQ=e=>{let t=e.assignedNodes({flatten:!0}),r="";return[...t].forEach(e=>{e.nodeType===Node.ELEMENT_NODE&&(r+=e.outerHTML),e.nodeType===Node.TEXT_NODE&&(r+=e.textContent)}),r},i0=tt`:host{display:block;width:100%;flex-shrink:initial!important;overflow:hidden;color:rgb(var(--mdui-color-on-surface));font-size:var(--mdui-typescale-title-large-size);font-weight:var(--mdui-typescale-title-large-weight);letter-spacing:var(--mdui-typescale-title-large-tracking);line-height:var(--mdui-typescale-title-large-line-height);line-height:2.5rem}.label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:1;transition:opacity var(--mdui-motion-duration-short2) var(--mdui-motion-easing-linear)}.label.variant-center-aligned{text-align:center}.label.variant-large:not(.shrink),.label.variant-medium:not(.shrink){opacity:0}.label.variant-large.shrink,.label.variant-medium.shrink{transition-delay:var(--mdui-motion-duration-short2)}.label-large{display:none;position:absolute;width:100%;left:0;margin-right:0;padding:0 1rem;transition:opacity var(--mdui-motion-duration-short2) var(--mdui-motion-easing-linear)}.label-large.variant-large,.label-large.variant-medium{display:block}.label-large.variant-medium{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;bottom:.75rem;font-size:var(--mdui-typescale-headline-small-size);font-weight:var(--mdui-typescale-headline-small-weight);letter-spacing:var(--mdui-typescale-headline-small-tracking);line-height:var(--mdui-typescale-headline-small-line-height)}.label-large.variant-large{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;bottom:1.25rem;font-size:var(--mdui-typescale-headline-medium-size);font-weight:var(--mdui-typescale-headline-medium-weight);letter-spacing:var(--mdui-typescale-headline-medium-tracking);line-height:var(--mdui-typescale-headline-medium-line-height)}.label-large.variant-large:not(.shrink),.label-large.variant-medium:not(.shrink){opacity:1;transition-delay:var(--mdui-motion-duration-short2)}.label-large.variant-large.shrink,.label-large.variant-medium.shrink{opacity:0;z-index:-1}`;let i1=class extends r5{constructor(){super(...arguments),this.variant="small",this.shrink=!1,this.hasSlotController=new rZ(this,"label-large"),this.labelLargeRef=rm(),this.defaultSlotRef=rm()}render(){let e=this.hasSlotController.test("label-large"),t=nm({shrink:this.shrink,"variant-center-aligned":"center-aligned"===this.variant,"variant-small":"small"===this.variant,"variant-medium":"medium"===this.variant,"variant-large":"large"===this.variant});return tB`<slot part="label" class="label ${t}" ${ry(this.defaultSlotRef)} @slotchange="${()=>this.onSlotChange(e)}"></slot>${e?tB`<slot name="label-large" part="label-large" class="label-large ${t}"></slot>`:tB`<div ${ry(this.labelLargeRef)} part="label-large" class="label-large ${t}"></div>`}`}onSlotChange(e){e||(this.labelLargeRef.value.innerHTML=iQ(this.defaultSlotRef.value))}};i1.styles=[nu,i0],(0,eJ.__decorate)([re()],i1.prototype,"variant",void 0),(0,eJ.__decorate)([re()],i1.prototype,"shrink",void 0),i1=(0,eJ.__decorate)([t8("mdui-top-app-bar-title")],i1);var i2=class{type=3;name="";prefix="";value="";suffix="";modifier=3;constructor(e,t,r,n,i,o){this.type=e,this.name=t,this.prefix=r,this.value=n,this.suffix=i,this.modifier=o}hasCustomName(){return""!==this.name&&"number"!=typeof this.name}},i3=/[$_\p{ID_Start}]/u,i5=/[$_\u200C\u200D\p{ID_Continue}]/u;function i4(e,t=!1){let r=[],n=0;for(;n<e.length;){let o=e[n],a=function(i){if(!t)throw TypeError(i);r.push({type:"INVALID_CHAR",index:n,value:e[n++]})};if("*"===o){r.push({type:"ASTERISK",index:n,value:e[n++]});continue}if("+"===o||"?"===o){r.push({type:"OTHER_MODIFIER",index:n,value:e[n++]});continue}if("\\"===o){r.push({type:"ESCAPED_CHAR",index:n++,value:e[n++]});continue}if("{"===o){r.push({type:"OPEN",index:n,value:e[n++]});continue}if("}"===o){r.push({type:"CLOSE",index:n,value:e[n++]});continue}if(":"===o){let t="",i=n+1;for(;i<e.length;){let r=e.substr(i,1);if(i===n+1&&i3.test(r)||i!==n+1&&i5.test(r)){t+=e[i++];continue}break}if(!t){a(`Missing parameter name at ${n}`);continue}r.push({type:"NAME",index:n,value:t}),n=i;continue}if("("===o){let t=1,o="",s=n+1,l=!1;if("?"===e[s]){a(`Pattern cannot start with "?" at ${s}`);continue}for(;s<e.length;){var i;if(i=e[s],!/^[\x00-\x7F]*$/.test(i)){a(`Invalid character '${e[s]}' at ${s}.`),l=!0;break}if("\\"===e[s]){o+=e[s++]+e[s++];continue}if(")"===e[s]){if(0==--t){s++;break}}else if("("===e[s]&&(t++,"?"!==e[s+1])){a(`Capturing groups are not allowed at ${s}`),l=!0;break}o+=e[s++]}if(l)continue;if(t){a(`Unbalanced pattern at ${n}`);continue}if(!o){a(`Missing pattern at ${n}`);continue}r.push({type:"REGEX",index:n,value:o}),n=s;continue}r.push({type:"CHAR",index:n,value:e[n++]})}return r.push({type:"END",index:n,value:""}),r}function i8(e,t={}){let r=i4(e);t.delimiter??="/#?",t.prefixes??="./";let n=`[^${i6(t.delimiter)}]+?`,i=[],o=0,a=0,s=new Set,l=e=>{if(a<r.length&&r[a].type===e)return r[a++].value},c=()=>l("OTHER_MODIFIER")??l("ASTERISK"),u=e=>{let t=l(e);if(void 0!==t)return t;let{type:n,index:i}=r[a];throw TypeError(`Unexpected ${n} at ${i}, expected ${e}`)},d=()=>{let e="",t;for(;t=l("CHAR")??l("ESCAPED_CHAR");)e+=t;return e},h=t.encodePart||(e=>e),f="",p=e=>{f+=e},m=()=>{f.length&&(i.push(new i2(3,"","",h(f),"",3)),f="")},v=(e,t,r,a,l)=>{let c,u,d=3;switch(l){case"?":d=1;break;case"*":d=0;break;case"+":d=2}if(!t&&!r&&3===d){p(e);return}if(m(),!t&&!r){if(!e)return;i.push(new i2(3,"","",h(e),"",d));return}let f=2;if((c=r?"*"===r?".*":r:n)===n?(f=1,c=""):".*"===c&&(f=0,c=""),t?u=t:r&&(u=o++),s.has(u))throw TypeError(`Duplicate name '${u}'.`);s.add(u),i.push(new i2(f,u,h(e),c,h(a),d))};for(;a<r.length;){let e=l("CHAR"),r=l("NAME"),n=l("REGEX");if(r||n||(n=l("ASTERISK")),r||n){let i=e??"";-1===t.prefixes.indexOf(i)&&(p(i),i=""),m(),v(i,r,n,"",c());continue}let i=e??l("ESCAPED_CHAR");if(i){p(i);continue}if(l("OPEN")){let e=d(),t=l("NAME"),r=l("REGEX");t||r||(r=l("ASTERISK"));let n=d();u("CLOSE"),v(e,t,r,n,c());continue}m(),u("END")}return i}function i6(e){return e.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function i9(e){return e&&e.ignoreCase?"ui":"u"}function i7(e){switch(e){case 0:return"*";case 1:return"?";case 2:return"+";case 3:return""}}function oe(e,t,r={}){r.delimiter??="/#?",r.prefixes??="./",r.sensitive??=!1,r.strict??=!1,r.end??=!0,r.start??=!0,r.endsWith="";let n=r.start?"^":"";for(let i of e){if(3===i.type){3===i.modifier?n+=i6(i.value):n+=`(?:${i6(i.value)})${i7(i.modifier)}`;continue}t&&t.push(i.name);let e=`[^${i6(r.delimiter)}]+?`,o=i.value;if(1===i.type?o=e:0===i.type&&(o=".*"),!i.prefix.length&&!i.suffix.length){3===i.modifier||1===i.modifier?n+=`(${o})${i7(i.modifier)}`:n+=`((?:${o})${i7(i.modifier)})`;continue}if(3===i.modifier||1===i.modifier){n+=`(?:${i6(i.prefix)}(${o})${i6(i.suffix)})`,n+=i7(i.modifier);continue}n+=`(?:${i6(i.prefix)}`,n+=`((?:${o})(?:`,n+=i6(i.suffix),n+=i6(i.prefix),n+=`(?:${o}))*)${i6(i.suffix)})`,0===i.modifier&&(n+="?")}let i=`[${i6(r.endsWith)}]|$`,o=`[${i6(r.delimiter)}]`;if(r.end)return r.strict||(n+=`${o}?`),r.endsWith.length?n+=`(?=${i})`:n+="$",new RegExp(n,i9(r));r.strict||(n+=`(?:${o}(?=${i}))?`);let a=!1;if(e.length){let t=e[e.length-1];3===t.type&&3===t.modifier&&(a=r.delimiter.indexOf(t)>-1)}return a||(n+=`(?=${o}|${i})`),new RegExp(n,i9(r))}var ot={delimiter:"",prefixes:"",sensitive:!0,strict:!0},or={delimiter:".",prefixes:"",sensitive:!0,strict:!0},on={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function oi(e,t){return e.startsWith(t)?e.substring(t.length,e.length):e}function oo(e){return!!e&&!(e.length<2)&&("["===e[0]||("\\"===e[0]||"{"===e[0])&&"["===e[1])}var oa=["ftp","file","http","https","ws","wss"];function os(e){if(!e)return!0;for(let t of oa)if(e.test(t))return!0;return!1}function ol(e){switch(e){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}function oc(e){if(""===e)return e;if(/^[-+.A-Za-z0-9]*$/.test(e))return e.toLowerCase();throw TypeError(`Invalid protocol '${e}'.`)}function ou(e){if(""===e)return e;let t=new URL("https://example.com/");return t.username=e,t.username}function od(e){if(""===e)return e;let t=new URL("https://example.com/");return t.password=e,t.password}function oh(e){if(""===e)return e;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(e))throw TypeError(`Invalid hostname '${e}'`);let t=new URL("https://example.com/");return t.hostname=e,t.hostname}function of(e){if(""===e)return e;if(/[^0-9a-fA-F[\]:]/g.test(e))throw TypeError(`Invalid IPv6 hostname '${e}'`);return e.toLowerCase()}function op(e){if(""===e||/^[0-9]*$/.test(e)&&65535>=parseInt(e))return e;throw TypeError(`Invalid port '${e}'.`)}function om(e){if(""===e)return e;let t=new URL("https://example.com/");return t.pathname="/"!==e[0]?"/-"+e:e,"/"!==e[0]?t.pathname.substring(2,t.pathname.length):t.pathname}function ov(e){return""===e?e:new URL(`data:${e}`).pathname}function ob(e){if(""===e)return e;let t=new URL("https://example.com/");return t.search=e,t.search.substring(1,t.search.length)}function oy(e){if(""===e)return e;let t=new URL("https://example.com/");return t.hash=e,t.hash.substring(1,t.hash.length)}var og=class{#e;#t=[];#r={};#n=0;#i=1;#o=0;#a=0;#s=0;#l=0;#c=!1;constructor(e){this.#e=e}get result(){return this.#r}parse(){for(this.#t=i4(this.#e,!0);this.#n<this.#t.length;this.#n+=this.#i){if(this.#i=1,"END"===this.#t[this.#n].type){if(0===this.#a){this.#u(),this.#d()?this.#h(9,1):this.#f()?this.#h(8,1):this.#h(7,0);continue}if(2===this.#a){this.#p(5);continue}this.#h(10,0);break}if(this.#s>0){if(!this.#m())continue;this.#s-=1}if(this.#v()){this.#s+=1;continue}switch(this.#a){case 0:this.#b()&&this.#p(1);break;case 1:if(this.#b()){this.#y();let e=7,t=1;this.#g()?(e=2,t=3):this.#c&&(e=2),this.#h(e,t)}break;case 2:this.#_()?this.#p(3):(this.#w()||this.#f()||this.#d())&&this.#p(5);break;case 3:this.#S()?this.#h(4,1):this.#_()&&this.#h(5,1);break;case 4:this.#_()&&this.#h(5,1);break;case 5:this.#E()?this.#l+=1:this.#T()&&(this.#l-=1),this.#O()&&!this.#l?this.#h(6,1):this.#w()?this.#h(7,0):this.#f()?this.#h(8,1):this.#d()&&this.#h(9,1);break;case 6:this.#w()?this.#h(7,0):this.#f()?this.#h(8,1):this.#d()&&this.#h(9,1);break;case 7:this.#f()?this.#h(8,1):this.#d()&&this.#h(9,1);break;case 8:this.#d()&&this.#h(9,1)}}void 0!==this.#r.hostname&&void 0===this.#r.port&&(this.#r.port="")}#h(e,t){switch(this.#a){case 0:case 2:break;case 1:this.#r.protocol=this.#x();break;case 3:this.#r.username=this.#x();break;case 4:this.#r.password=this.#x();break;case 5:this.#r.hostname=this.#x();break;case 6:this.#r.port=this.#x();break;case 7:this.#r.pathname=this.#x();break;case 8:this.#r.search=this.#x();break;case 9:this.#r.hash=this.#x()}0!==this.#a&&10!==e&&([1,2,3,4].includes(this.#a)&&[6,7,8,9].includes(e)&&(this.#r.hostname??=""),[1,2,3,4,5,6].includes(this.#a)&&[8,9].includes(e)&&(this.#r.pathname??=this.#c?"/":""),[1,2,3,4,5,6,7].includes(this.#a)&&9===e&&(this.#r.search??="")),this.#k(e,t)}#k(e,t){this.#a=e,this.#o=this.#n+t,this.#n+=t,this.#i=0}#u(){this.#n=this.#o,this.#i=0}#p(e){this.#u(),this.#a=e}#C(e){return e<0&&(e=this.#t.length-e),e<this.#t.length?this.#t[e]:this.#t[this.#t.length-1]}#A(e,t){let r=this.#C(e);return r.value===t&&("CHAR"===r.type||"ESCAPED_CHAR"===r.type||"INVALID_CHAR"===r.type)}#b(){return this.#A(this.#n,":")}#g(){return this.#A(this.#n+1,"/")&&this.#A(this.#n+2,"/")}#_(){return this.#A(this.#n,"@")}#S(){return this.#A(this.#n,":")}#O(){return this.#A(this.#n,":")}#w(){return this.#A(this.#n,"/")}#f(){if(this.#A(this.#n,"?"))return!0;if("?"!==this.#t[this.#n].value)return!1;let e=this.#C(this.#n-1);return"NAME"!==e.type&&"REGEX"!==e.type&&"CLOSE"!==e.type&&"ASTERISK"!==e.type}#d(){return this.#A(this.#n,"#")}#v(){return"OPEN"==this.#t[this.#n].type}#m(){return"CLOSE"==this.#t[this.#n].type}#E(){return this.#A(this.#n,"[")}#T(){return this.#A(this.#n,"]")}#x(){let e=this.#t[this.#n],t=this.#C(this.#o).index;return this.#e.substring(t,e.index)}#y(){var e,t;let r={};Object.assign(r,ot),r.encodePart=oc;let n=(e=this.#x(),t=void 0,oe(i8(e,r),t,r));this.#c=os(n)}},o_=["protocol","username","password","hostname","port","pathname","search","hash"];function ow(e,t){if("string"!=typeof e)throw TypeError("parameter 1 is not of type 'string'.");let r=new URL(e,t);return{protocol:r.protocol.substring(0,r.protocol.length-1),username:r.username,password:r.password,hostname:r.hostname,port:r.port,pathname:r.pathname,search:""!==r.search?r.search.substring(1,r.search.length):void 0,hash:""!==r.hash?r.hash.substring(1,r.hash.length):void 0}}function oS(e,t){return t?oT(e):e}function oE(e,t,r){var n,i,o,a,s;let l;if("string"==typeof t.baseURL)try{l=new URL(t.baseURL),void 0===t.protocol&&(e.protocol=oS(l.protocol.substring(0,l.protocol.length-1),r)),r||void 0!==t.protocol||void 0!==t.hostname||void 0!==t.port||void 0!==t.username||(e.username=oS(l.username,r)),r||void 0!==t.protocol||void 0!==t.hostname||void 0!==t.port||void 0!==t.username||void 0!==t.password||(e.password=oS(l.password,r)),void 0===t.protocol&&void 0===t.hostname&&(e.hostname=oS(l.hostname,r)),void 0===t.protocol&&void 0===t.hostname&&void 0===t.port&&(e.port=oS(l.port,r)),void 0===t.protocol&&void 0===t.hostname&&void 0===t.port&&void 0===t.pathname&&(e.pathname=oS(l.pathname,r)),void 0===t.protocol&&void 0===t.hostname&&void 0===t.port&&void 0===t.pathname&&void 0===t.search&&(e.search=oS(l.search.substring(1,l.search.length),r)),void 0===t.protocol&&void 0===t.hostname&&void 0===t.port&&void 0===t.pathname&&void 0===t.search&&void 0===t.hash&&(e.hash=oS(l.hash.substring(1,l.hash.length),r))}catch{throw TypeError(`invalid baseURL '${t.baseURL}'.`)}if("string"==typeof t.protocol&&(e.protocol=(n=(i=n=t.protocol).endsWith(":")?i.substr(0,i.length-1):i,r||""===n?n:oc(n))),"string"==typeof t.username&&(e.username=function(e,t){if(t||""===e)return e;let r=new URL("https://example.com/");return r.username=e,r.username}(t.username,r)),"string"==typeof t.password&&(e.password=function(e,t){if(t||""===e)return e;let r=new URL("https://example.com/");return r.password=e,r.password}(t.password,r)),"string"==typeof t.hostname&&(e.hostname=(o=t.hostname,r||""===o?o:oo(o)?of(o):oh(o))),"string"==typeof t.port&&(e.port=(a=t.port,ol(e.protocol)===a&&(a=""),r||""===a?a:op(a))),"string"==typeof t.pathname){if(e.pathname=t.pathname,l&&(!(s=e.pathname).length||"/"!==s[0]&&(!r||s.length<2||"\\"!=s[0]&&"{"!=s[0]||"/"!=s[1]))){let t=l.pathname.lastIndexOf("/");t>=0&&(e.pathname=oS(l.pathname.substring(0,t+1),r)+e.pathname)}e.pathname=function(e,t,r){if(r||""===e)return e;if(t&&!oa.includes(t))return new URL(`${t}:${e}`).pathname;let n="/"==e[0];return e=new URL(n?e:"/-"+e,"https://example.com/").pathname,n||(e=e.substring(2,e.length)),e}(e.pathname,e.protocol,r)}return"string"==typeof t.search&&(e.search=function(e,t){if(e=oi(e,"?"),t||""===e)return e;let r=new URL("https://example.com/");return r.search=e,r.search?r.search.substring(1,r.search.length):""}(t.search,r)),"string"==typeof t.hash&&(e.hash=function(e,t){if(e=oi(e,"#"),t||""===e)return e;let r=new URL("https://example.com/");return r.hash=e,r.hash?r.hash.substring(1,r.hash.length):""}(t.hash,r)),e}function oT(e){return e.replace(/([+*?:{}()\\])/g,"\\$1")}var oO=class{#e;#t={};#r={};#n={};#i={};#o=!1;constructor(e={},t,r){try{let n,i;if("string"==typeof t?n=t:r=t,"string"==typeof e){let t=new og(e);if(t.parse(),e=t.result,void 0===n&&"string"!=typeof e.protocol)throw TypeError("A base URL must be provided for a relative constructor string.");e.baseURL=n}else{if(!e||"object"!=typeof e)throw TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary.");if(n)throw TypeError("parameter 1 is not of type 'string'.")}typeof r>"u"&&(r={ignoreCase:!1});let o={ignoreCase:!0===r.ignoreCase};for(i of(this.#e=oE({pathname:"*",protocol:"*",username:"*",password:"*",hostname:"*",port:"*",search:"*",hash:"*"},e,!0),ol(this.#e.protocol)===this.#e.port&&(this.#e.port=""),o_)){if(!(i in this.#e))continue;let e={},t=this.#e[i];switch(this.#r[i]=[],i){case"protocol":Object.assign(e,ot),e.encodePart=oc;break;case"username":Object.assign(e,ot),e.encodePart=ou;break;case"password":Object.assign(e,ot),e.encodePart=od;break;case"hostname":Object.assign(e,or),oo(t)?e.encodePart=of:e.encodePart=oh;break;case"port":Object.assign(e,ot),e.encodePart=op;break;case"pathname":os(this.#t.protocol)?(Object.assign(e,on,o),e.encodePart=om):(Object.assign(e,ot,o),e.encodePart=ov);break;case"search":Object.assign(e,ot,o),e.encodePart=ob;break;case"hash":Object.assign(e,ot,o),e.encodePart=oy}try{this.#i[i]=i8(t,e),this.#t[i]=oe(this.#i[i],this.#r[i],e),this.#n[i]=function(e,t){t.delimiter??="/#?",t.prefixes??="./",t.sensitive??=!1,t.strict??=!1,t.end??=!0,t.start??=!0,t.endsWith="";let r=`[^${t.delimiter.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}]+?`,n=/[$_\u200C\u200D\p{ID_Continue}]/u,i="";for(let o=0;o<e.length;++o){let a=e[o];if(3===a.type){if(3===a.modifier){i+=oT(a.value);continue}i+=`{${oT(a.value)}}${i7(a.modifier)}`;continue}let s=a.hasCustomName(),l=!!a.suffix.length||!!a.prefix.length&&(1!==a.prefix.length||!t.prefixes.includes(a.prefix)),c=o>0?e[o-1]:null,u=o<e.length-1?e[o+1]:null;if(!l&&s&&1===a.type&&3===a.modifier&&u&&!u.prefix.length&&!u.suffix.length){if(3===u.type){let e=u.value.length>0?u.value[0]:"";l=n.test(e)}else l=!u.hasCustomName()}if(!l&&!a.prefix.length&&c&&3===c.type){let e=c.value[c.value.length-1];l=t.prefixes.includes(e)}l&&(i+="{"),i+=oT(a.prefix),s&&(i+=`:${a.name}`),2===a.type?i+=`(${a.value})`:1===a.type?s||(i+=`(${r})`):0===a.type&&(s||c&&3!==c.type&&3===c.modifier&&!l&&""===a.prefix?i+="(.*)":i+="*"),1===a.type&&s&&a.suffix.length&&n.test(a.suffix[0])&&(i+="\\"),i+=oT(a.suffix),l&&(i+="}"),3!==a.modifier&&(i+=i7(a.modifier))}return i}(this.#i[i],e),this.#o=this.#o||this.#i[i].some(e=>2===e.type)}catch{throw TypeError(`invalid ${i} pattern '${this.#e[i]}'.`)}}}catch(e){throw TypeError(`Failed to construct 'URLPattern': ${e.message}`)}}test(e={},t){let r,n={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if("string"!=typeof e&&t)throw TypeError("parameter 1 is not of type 'string'.");if(typeof e>"u")return!1;try{n="object"==typeof e?oE(n,e,!1):oE(n,ow(e,t),!1)}catch{return!1}for(r of o_)if(!this.#t[r].exec(n[r]))return!1;return!0}exec(e={},t){let r,n={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if("string"!=typeof e&&t)throw TypeError("parameter 1 is not of type 'string'.");if(typeof e>"u")return;try{n="object"==typeof e?oE(n,e,!1):oE(n,ow(e,t),!1)}catch{return null}let i={};for(r of(t?i.inputs=[e,t]:i.inputs=[e],o_)){let e=this.#t[r].exec(n[r]);if(!e)return null;let t={};for(let[n,i]of this.#r[r].entries())if("string"==typeof i||"number"==typeof i){let r=e[n+1];t[i]=r}i[r]={input:n[r]??"",groups:t}}return i}static compareComponent(e,t,r){let n=(e,t)=>{for(let r of["type","modifier","prefix","value","suffix"]){if(e[r]<t[r])return -1;if(e[r]!==t[r])return 1}return 0},i=new i2(3,"","","","",3),o=new i2(0,"","","","",3),a=(e,t)=>{let r=0;for(;r<Math.min(e.length,t.length);++r){let i=n(e[r],t[r]);if(i)return i}return e.length===t.length?0:n(e[r]??i,t[r]??i)};return t.#n[e]||r.#n[e]?t.#n[e]&&!r.#n[e]?a(t.#i[e],[o]):a(!t.#n[e]&&r.#n[e]?[o]:t.#i[e],r.#i[e]):0}get protocol(){return this.#n.protocol}get username(){return this.#n.username}get password(){return this.#n.password}get hostname(){return this.#n.hostname}get port(){return this.#n.port}get pathname(){return this.#n.pathname}get search(){return this.#n.search}get hash(){return this.#n.hash}get hasRegExpGroups(){return this.#o}};globalThis.URLPattern||(globalThis.URLPattern=oO);var eZ=eG("kYZOD"),e5=(eG("kpaC8"),eG("kpaC8")),eZ=eG("kYZOD");function ox(e,t,r,n){Object.defineProperty(e,t,{get:r,set:n,enumerable:!0,configurable:!0})}var ok={};ox(ok,"AnimateCSS",function(){return oH});var oC={};ox(oC,"observer",function(){return oM}),ox(oC,"attribute",function(){return oN}),ox(oC,"reaction",function(){return oD});var oA={};ox(oA,"Defer",function(){return oP}),ox(oA,"getMobxData",function(){return oR}),ox(oA,"animated",function(){return oj});class oP{constructor(){Object.defineProperty(this,"resolve",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reject",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"promise",{enumerable:!0,configurable:!0,writable:!0,value:new Promise((e,t)=>{this.resolve=e,this.reject=t})})}}function oR(e){var t;for(let r of Object.getOwnPropertySymbols(e)){let n=null===(t=e[r])||void 0===t?void 0:t.values_;if(n instanceof Map)return Object.fromEntries(Array.from(n,([e,{value_:t}])=>[e,t]))}}const oj=(e,t)=>new Promise(r=>{let n=(0,eZ.delegate)(t,t=>{e.removeEventListener("animationend",n),e.removeEventListener("animationcancel",n),r(t)});e.addEventListener("animationend",n),e.addEventListener("animationcancel",n)});var o$=function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};const oL=new WeakMap;function oM(e,t){return(0,eZ.isHTMLElementClass)(e)?function(e){var t,r;class n extends e{get props(){return oR(this)}constructor(){super(),t.add(this),Object.defineProperty(this,"disposers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"update",{enumerable:!0,configurable:!0,writable:!0,value:()=>{let{update:e}=Object.getPrototypeOf(this);return new Promise(t=>this.disposers.push((0,e5.autorun)(()=>e.call(this).then(t))))}}),Promise.resolve().then(()=>o$(this,t,"m",r).call(this))}disconnectedCallback(){var e;for(let e of this.disposers)e();this.disposers.length=0,null===(e=super.disconnectedCallback)||void 0===e||e.call(this)}setAttribute(e,t){let r=super.getAttribute(e),n=this.constructor.observedAttributes;super.setAttribute(e,t),n.includes(e)&&this.attributeChangedCallback(e,r,t)}attributeChangedCallback(e,t,r){var n;this[(0,eZ.toCamelCase)(e)]=(0,eZ.parseJSON)(r),null===(n=super.attributeChangedCallback)||void 0===n||n.call(this,e,t,r)}syncPropAttr(e){var t;let r=this[(0,eZ.toCamelCase)(e)];if(!(null!=r)||!1===r)return this.removeAttribute(e);"object"==typeof(r=!0===r?e:r)&&(r="object"==typeof(r=null===(t=r.toJSON)||void 0===t?void 0:t.call(r))?JSON.stringify(r):r),super.setAttribute(e,r)}}return t=new WeakSet,r=function(){let e=this.constructor.observedAttributes||[],t=oL.get(this)||[];this.disposers.push(...e.map(e=>(0,e5.autorun)(()=>this.syncPropAttr(e))),...t.map(({expression:e,effect:t})=>(0,e5.reaction)(t=>e(this,t),t.bind(this))))},Object.defineProperty(n,"observedAttributes",{enumerable:!0,configurable:!0,writable:!0,value:[]}),n}(e):function(e){let t=new e3.DOMRenderer;return r=>{let n=e(r),i;if(!(0,e3.VNode).isFragment(n)){let o=(0,e5.autorun)(()=>{(n=e(r))&&i&&t.patch((0,e3.VNode).fromDOM(i),n)}),{ref:a}=n;n.ref=e=>{e?i=e:o(),null==a||a(e)}}return n}}(e)}function oN(e,{name:t,addInitializer:r}){r(function(){let e=this.constructor.observedAttributes,r=(0,eZ.toHyphenCase)(t.toString());e.includes(r)||e.push(r)})}function oD(e){return(t,{addInitializer:r})=>r(function(){let r=oL.get(this)||[];r.push({expression:e,effect:t}),oL.set(this,r)})}var oI={};ox(oI,"component",function(){return oB}),ox(oI,"on",function(){return oF});const oq=new WeakMap;function oB(e){return(t,{addInitializer:r})=>(r(function(){var t;null===(t=globalThis.customElements)||void 0===t||t.define(e.tagName,this,e)}),class extends t{get root(){return this.shadowRoot||this.internals.shadowRoot||this}constructor(){var t;super(),Object.defineProperty(this,"internals",{enumerable:!0,configurable:!0,writable:!0,value:this.tagName.includes("-")?this.attachInternals():void 0}),Object.defineProperty(this,"renderer",{enumerable:!0,configurable:!0,writable:!0,value:new e3.DOMRenderer}),Object.defineProperty(this,"mounted",{enumerable:!0,configurable:!0,writable:!0,value:!1}),!e.mode||(null===(t=this.internals)||void 0===t?void 0:t.shadowRoot)||this.attachShadow(e)}async connectedCallback(){var t,r;let{mode:n}=e,i=!(null!=n),{root:o}=this;for(let{type:e,selector:t,handler:r}of oq.get(this)||[])i&&/^:host/.test(t)&&console.warn(`[WebCell] DOM Event delegation of "${t}" won't work if you don't invoke "this.attachShadow()" manually.`),o.addEventListener(e,r);null===(t=super.connectedCallback)||void 0===t||t.call(this),this.mounted||(await this.update(),this.mounted=!0,null===(r=this.mountedCallback)||void 0===r||r.call(this))}updateDOM(t){var r,n;let i=this.renderer.render(t,this.root,e.renderMode);return i instanceof Promise?i.then(null===(r=this.updatedCallback)||void 0===r?void 0:r.bind(this)):null===(n=this.updatedCallback)||void 0===n?void 0:n.call(this)}async update(){var t;let r=null===(t=this.render)||void 0===t?void 0:t.call(this),n=(0,eZ.isEmpty)(r)?e.mode?(0,eX.jsx)("slot",{}):null:r;if(!(null!=n))return;if(!e.transitible||"function"!=typeof document.startViewTransition)return this.updateDOM(n);let{updateCallbackDone:i,finished:o}=document.startViewTransition(()=>this.updateDOM(n));try{await o}catch(e){return i}}disconnectedCallback(){var e;let{root:t}=this;for(let{type:e,handler:r}of oq.get(this)||[])t.removeEventListener(e,r);null===(e=super.disconnectedCallback)||void 0===e||e.call(this)}emit(e,t,{cancelable:r,bubbles:n,composed:i}={}){return this.dispatchEvent(new CustomEvent(e,{detail:t,cancelable:r,bubbles:n,composed:i}))}})}function oF(e,t){return(r,{addInitializer:n})=>n(function(){let n=oq.get(this)||[],i=(0,eZ.delegate)(t,r.bind(this));n.push({type:e,selector:t,handler:i}),oq.set(this,n)})}var oU=function(e,t,r){for(var n=arguments.length>2,i=0;i<t.length;i++)r=n?t[i].call(e,r):t[i].call(e);return n?r:void 0},oV=function(e,t,r,n,i,o){function a(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var s,l=n.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?n.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),h=!1,f=r.length-1;f>=0;f--){var p={};for(var m in n)p[m]="access"===m?{}:n[m];for(var m in n.access)p.access[m]=n.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");o.push(a(e||null))};var v=(0,r[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===v)continue;if(null===v||"object"!=typeof v)throw TypeError("Object expected");(s=a(v.get))&&(d.get=s),(s=a(v.set))&&(d.set=s),(s=a(v.init))&&i.unshift(s)}else(s=a(v))&&("field"===l?i.unshift(s):d[c]=s)}u&&Object.defineProperty(u,n.name,d),h=!0},oz=function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},oW=function(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r};let oH=(l=[oB({tagName:"animation-css"}),oM],c=[],u=HTMLElement,d=[],h=[],f=[],p=[],m=[],i=class extends u{constructor(){super(...arguments),em.set(this,(oU(this,d),oU(this,h,void 0))),ev.set(this,(oU(this,f),oU(this,p,!1))),Object.defineProperty(this,"component",{enumerable:!0,configurable:!0,writable:!0,value:oU(this,m)})}get type(){return oz(this,em,"f")}set type(e){oW(this,em,e,"f")}get playing(){return oz(this,ev,"f")}set playing(e){oW(this,ev,e,"f")}async connectedCallback(){await (0,eZ.importCSS)("https://unpkg.com/animate.css@4/animate.min.css"),this.typeChanged()}async typeChanged(){this.playing=!0,await oj(this,".animate__animated"),this.playing=!1}render(){let{type:e,playing:t,component:r}=this;return t?(0,eX.jsx)(r,{className:`animate__animated animate__${e}`}):e.includes("Out")?(0,eX.jsx)(eX.Fragment,{}):(0,eX.jsx)(r,{})}},em=new WeakMap,ev=new WeakMap,eb=i,"symbol"==typeof(ey="AnimateCSS")&&(ey=ey.description?"[".concat(ey.description,"]"):""),Object.defineProperty(eb,"name",{configurable:!0,value:ey}),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=u[Symbol.metadata])&&void 0!==e?e:null):void 0;o=[oN,e5.observable],a=[oN,e5.observable],s=[oD(({type:e})=>e)],oV(i,null,o,{kind:"accessor",name:"type",static:!1,private:!1,access:{has:e=>"type"in e,get:e=>e.type,set:(e,t)=>{e.type=t}},metadata:t},h,f),oV(i,null,a,{kind:"accessor",name:"playing",static:!1,private:!1,access:{has:e=>"playing"in e,get:e=>e.playing,set:(e,t)=>{e.playing=t}},metadata:t},p,m),oV(i,null,s,{kind:"method",name:"typeChanged",static:!1,private:!1,access:{has:e=>"typeChanged"in e,get:e=>e.typeChanged},metadata:t},null,d),oV(null,n={value:i},l,{kind:"class",name:i.name,metadata:t},null,c),i=n.value,t&&Object.defineProperty(i,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),oU(i,c)})(),i);Object.keys(eg={}).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(ok,e)||Object.defineProperty(ok,e,{enumerable:!0,get:function(){return eg[e]}})});var oK={};ox(oK,"AsyncCell",function(){return oQ}),ox(oK,"lazy",function(){return o0});var oG=function(e,t,r,n,i,o){function a(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var s,l=n.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?n.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),h=!1,f=r.length-1;f>=0;f--){var p={};for(var m in n)p[m]="access"===m?{}:n[m];for(var m in n.access)p.access[m]=n.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");o.push(a(e||null))};var v=(0,r[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===v)continue;if(null===v||"object"!=typeof v)throw TypeError("Object expected");(s=a(v.get))&&(d.get=s),(s=a(v.set))&&(d.set=s),(s=a(v.init))&&i.unshift(s)}else(s=a(v))&&("field"===l?i.unshift(s):d[c]=s)}u&&Object.defineProperty(u,n.name,d),h=!0},oY=function(e,t,r){for(var n=arguments.length>2,i=0;i<t.length;i++)r=n?t[i].call(e,r):t[i].call(e);return n?r:void 0},oX=function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},oJ=function(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},oZ=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)0>t.indexOf(n[i])&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r};let oQ=(_=[oB({tagName:"async-cell"}),oM],w=[],S=HTMLElement,E=[],T=[],O=[],x=[],b=class extends S{get component(){return oX(this,e_,"f")}set component(e){oJ(this,e_,e,"f")}get delegatedProps(){return oX(this,ew,"f")}set delegatedProps(e){oJ(this,ew,e,"f")}connectedCallback(){this.load()}async load(){this.component=void 0;let e=await this.loader();this.component=t=>{var{children:r}=t,n=oZ(t,["children"]);return(0,eX.jsx)(e,Object.assign({},n,{children:r}))},this.emit("load",this.component)}render(){let{component:e,props:t,delegatedProps:r}=this,n=Object.assign(Object.assign({},t),r),{children:i}=n,o=oZ(n,["children"]);return e&&(0,eX.jsx)(e,Object.assign({},o,{children:i}))}constructor(){super(...arguments),Object.defineProperty(this,"loader",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e_.set(this,oY(this,E,void 0)),ew.set(this,(oY(this,T),oY(this,O,void 0))),oY(this,x)}},e_=new WeakMap,ew=new WeakMap,eS=b,"symbol"==typeof(eE="AsyncCell")&&(eE=eE.description?"[".concat(eE.description,"]"):""),Object.defineProperty(eS,"name",{configurable:!0,value:eE}),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=S[Symbol.metadata])&&void 0!==e?e:null):void 0;y=[e5.observable],g=[e5.observable],oG(b,null,y,{kind:"accessor",name:"component",static:!1,private:!1,access:{has:e=>"component"in e,get:e=>e.component,set:(e,t)=>{e.component=t}},metadata:t},E,T),oG(b,null,g,{kind:"accessor",name:"delegatedProps",static:!1,private:!1,access:{has:e=>"delegatedProps"in e,get:e=>e.delegatedProps,set:(e,t)=>{e.delegatedProps=t}},metadata:t},O,x),oG(null,v={value:b},_,{kind:"class",name:b.name,metadata:t},null,w),b=v.value,t&&Object.defineProperty(b,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),oY(b,w)})(),b);function o0(e){return t=>(0,eX.jsx)(oQ,{delegatedProps:t,loader:async()=>(await e()).default})}ox({},"formField",function(){return o4});var o1=function(e,t,r){for(var n=arguments.length>2,i=0;i<t.length;i++)r=n?t[i].call(e,r):t[i].call(e);return n?r:void 0},o2=function(e,t,r,n,i,o){function a(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var s,l=n.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?n.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),h=!1,f=r.length-1;f>=0;f--){var p={};for(var m in n)p[m]="access"===m?{}:n[m];for(var m in n.access)p.access[m]=n.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");o.push(a(e||null))};var v=(0,r[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===v)continue;if(null===v||"object"!=typeof v)throw TypeError("Object expected");(s=a(v.get))&&(d.get=s),(s=a(v.set))&&(d.set=s),(s=a(v.init))&&i.unshift(s)}else(s=a(v))&&("field"===l?i.unshift(s):d[c]=s)}u&&Object.defineProperty(u,n.name,d),h=!0},o3=function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},o5=function(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r};function o4(e,t){var r,n,i,o,a,s;let l,c,u,d,h,f,p,m,v,b,y,g,_,w,S,E,T,O;return p=e,m=[],v=[],b=[],y=[],g=[],_=[],w=[],S=[],E=[],T=[],O=[],r=class extends p{setValue(e){this.internals.setFormValue(e)}formDisabledCallback(e){this.disabled=e}get name(){return o3(this,n,"f")}set name(e){o5(this,n,e,"f")}get value(){return o3(this,i,"f")}set value(e){o5(this,i,e,"f")}get required(){return o3(this,o,"f")}set required(e){o5(this,o,e,"f")}get disabled(){return o3(this,a,"f")}set disabled(e){o5(this,a,e,"f")}get autofocus(){return o3(this,s,"f")}set autofocus(e){o5(this,s,e,"f")}set defaultValue(e){var t;this.setAttribute("value",e),null!==(t=this.value)&&void 0!==t||(this.value=e)}get defaultValue(){return this.getAttribute("value")}get form(){return this.internals.form}get validity(){return this.internals.validity}get validationMessage(){return this.internals.validationMessage}get willValidate(){return this.internals.willValidate}checkValidity(){return this.internals.checkValidity()}reportValidity(){return this.internals.reportValidity()}constructor(){super(...arguments),n.set(this,(o1(this,m),o1(this,v,void 0))),i.set(this,(o1(this,b),o1(this,y,void 0))),o.set(this,(o1(this,g),o1(this,_,void 0))),a.set(this,(o1(this,w),o1(this,S,void 0))),s.set(this,(o1(this,E),o1(this,T,void 0))),o1(this,O)}},n=new WeakMap,i=new WeakMap,o=new WeakMap,a=new WeakMap,s=new WeakMap,(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=p[Symbol.metadata])&&void 0!==e?e:null):void 0;l=[oD(({value:e})=>e)],c=[oN,e5.observable],u=[e5.observable],d=[oN,e5.observable],h=[oN,e5.observable],f=[oN,e5.observable],o2(r,null,l,{kind:"method",name:"setValue",static:!1,private:!1,access:{has:e=>"setValue"in e,get:e=>e.setValue},metadata:t},null,m),o2(r,null,c,{kind:"accessor",name:"name",static:!1,private:!1,access:{has:e=>"name"in e,get:e=>e.name,set:(e,t)=>{e.name=t}},metadata:t},v,b),o2(r,null,u,{kind:"accessor",name:"value",static:!1,private:!1,access:{has:e=>"value"in e,get:e=>e.value,set:(e,t)=>{e.value=t}},metadata:t},y,g),o2(r,null,d,{kind:"accessor",name:"required",static:!1,private:!1,access:{has:e=>"required"in e,get:e=>e.required,set:(e,t)=>{e.required=t}},metadata:t},_,w),o2(r,null,h,{kind:"accessor",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:t},S,E),o2(r,null,f,{kind:"accessor",name:"autofocus",static:!1,private:!1,access:{has:e=>"autofocus"in e,get:e=>e.autofocus,set:(e,t)=>{e.autofocus=t}},metadata:t},T,O),t&&Object.defineProperty(r,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})})(),Object.defineProperty(r,"formAssociated",{enumerable:!0,configurable:!0,writable:!0,value:!0}),r}function o8(e,t,r,n){Object.defineProperty(e,t,{get:r,set:n,enumerable:!0,configurable:!0})}var o6={};o8(o6,"RouterMode",()=>ez),o8(o6,"History",()=>as);var o9=function(e,t,r){for(var n=arguments.length>2,i=0;i<t.length;i++)r=n?t[i].call(e,r):t[i].call(e);return n?r:void 0},o7=function(e,t,r,n,i,o){function a(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var s,l=n.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?n.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),h=!1,f=r.length-1;f>=0;f--){var p={};for(var m in n)p[m]="access"===m?{}:n[m];for(var m in n.access)p.access[m]=n.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");o.push(a(e||null))};var v=(0,r[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===v)continue;if(null===v||"object"!=typeof v)throw TypeError("Object expected");(s=a(v.get))&&(d.get=s),(s=a(v.set))&&(d.set=s),(s=a(v.init))&&i.unshift(s)}else(s=a(v))&&("field"===l?i.unshift(s):d[c]=s)}u&&Object.defineProperty(u,n.name,d),h=!0},ae=function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},at=function(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r};const{location:ar,history:an}=window,ai=null===(eU=document.querySelector("base"))||void 0===eU?void 0:eU.getAttribute("href"),ao=(ai?new URL(ai,ar.origin)+"":ar.href.split(/\?|#/)[0]).replace(/\/$/,""),aa=null===(eV=document.querySelector("title"))||void 0===eV?void 0:eV.textContent.trim();(eT=ez||(ez={})).hash="#",eT.history="/";let as=(P=[],R=[],j=[],$=[],L=[],eO=class{get path(){return ae(this,ex,"f")}set path(e){at(this,ex,e,"f")}get oldPath(){return ae(this,ek,"f")}set oldPath(e){at(this,ek,e,"f")}constructor(e=ao,t=ez.hash){Object.defineProperty(this,"baseURL",{enumerable:!0,configurable:!0,writable:!0,value:(o9(this,P),e)}),Object.defineProperty(this,"delimiter",{enumerable:!0,configurable:!0,writable:!0,value:t}),ex.set(this,o9(this,R,void 0)),ek.set(this,(o9(this,j),o9(this,$,void 0))),Object.defineProperty(this,"restore",{enumerable:!0,configurable:!0,writable:!0,value:(o9(this,L),()=>{let{state:e}=an;this.push(),document.title=(null==e?void 0:e.title)||this.titleOf()||aa||ar.href})}),Object.defineProperty(this,"handleForm",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{let{method:r,target:n}=t;if("get"!==r||"_self"!==(n||"_self"))return;e.preventDefault();let i=t.getAttribute("action"),o=(0,eZ.buildURLData)((0,eZ.formToJSON)(t));this.push(`${i}?${o}`)}}),this.restore(),window.addEventListener("hashchange",this.restore),window.addEventListener("popstate",this.restore),document.addEventListener("click",(0,eZ.delegate)("a[href], area[href]",this.handleLink.bind(this))),document.addEventListener("submit",(0,eZ.delegate)("form[action]",this.handleForm))}push(e=ar.href){var t;return(e=e.replace(this.baseURL,""),this.delimiter===ez.hash&&(e=(null===(t=e.match(/#.*/))||void 0===t?void 0:t[0])||ez.hash),e===this.path)?e:(this.oldPath=this.path,this.path=e)}static dataOf(e){let[t,r]=e.split("#");return(0,eZ.parseURLData)(r||t)}match(e,t=this.path){var r;if(!t)return;let{pathname:n,hash:i}=new URLPattern(e,this.baseURL).exec(new URL(t.split("?")[0],this.baseURL))||{};return null===(r=i||n)||void 0===r?void 0:r.groups}static getTitle(e){return e.title||(0,eZ.getVisibleText)(e)}titleOf(e=this.path){if(e=e.replace(/^\//,""))for(let t of document.querySelectorAll(`a[href="http://github.com/$%7Be%7D"], area[href="http://github.com/$%7Be%7D"]`)){let e=eO.getTitle(t);if(e)return e}}handleLink(e,t){let r=t.getAttribute("href");if("_self"!==(t.target||"_self")||(0,eZ.isXDomain)(r)||t.download)return;if(e.preventDefault(),r.startsWith("#"))try{if(document.querySelector(r)||"#top"===r)return(0,eZ.scrollTo)(r,e.currentTarget)}catch(e){}let n=eO.getTitle(t);an.pushState({title:n},document.title=n,r),this.push(r)}},ex=new WeakMap,ek=new WeakMap,(()=>{let e="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0;k=[e5.observable],C=[e5.observable],A=[e5.action],o7(eO,null,k,{kind:"accessor",name:"path",static:!1,private:!1,access:{has:e=>"path"in e,get:e=>e.path,set:(e,t)=>{e.path=t}},metadata:e},R,j),o7(eO,null,C,{kind:"accessor",name:"oldPath",static:!1,private:!1,access:{has:e=>"oldPath"in e,get:e=>e.oldPath,set:(e,t)=>{e.oldPath=t}},metadata:e},$,L),o7(eO,null,A,{kind:"method",name:"push",static:!1,private:!1,access:{has:e=>"push"in e,get:e=>e.push},metadata:e},null,P),e&&Object.defineProperty(eO,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})})(),eO);o8({},"CellRoute",()=>ah);var al=function(e,t,r){for(var n=arguments.length>2,i=0;i<t.length;i++)r=n?t[i].call(e,r):t[i].call(e);return n?r:void 0},ac=function(e,t,r,n,i,o){function a(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var s,l=n.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?n.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),h=!1,f=r.length-1;f>=0;f--){var p={};for(var m in n)p[m]="access"===m?{}:n[m];for(var m in n.access)p.access[m]=n.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");o.push(a(e||null))};var v=(0,r[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===v)continue;if(null===v||"object"!=typeof v)throw TypeError("Object expected");(s=a(v.get))&&(d.get=s),(s=a(v.set))&&(d.set=s),(s=a(v.init))&&i.unshift(s)}else(s=a(v))&&("field"===l?i.unshift(s):d[c]=s)}u&&Object.defineProperty(u,n.name,d),h=!0},au=function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},ad=function(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r};let ah=(B=[oB({tagName:"cell-route",transitible:!0}),oM],F=[],U=HTMLElement,V=[],z=[],W=[],H=[],K=[],N=class extends U{constructor(){super(...arguments),eC.set(this,(al(this,V),al(this,z,void 0))),eA.set(this,(al(this,W),al(this,H,void 0))),Object.defineProperty(this,"component",{enumerable:!0,configurable:!0,writable:!0,value:al(this,K)})}get history(){return au(this,eC,"f")}set history(e){ad(this,eC,e,"f")}get path(){return au(this,eA,"f")}set path(e){ad(this,eA,e,"f")}get matched(){var e;return null===(e=this.history)||void 0===e?void 0:e.match(this.path)}connectedCallback(){this.history||(this.history=new as)}render(){let{history:e,component:t,matched:r}=this,{path:n}=e||{};return r?(0,eX.jsx)(t,Object.assign({},r,as.dataOf(n),{path:n,history:e})):(0,eX.jsx)(eX.Fragment,{})}},eC=new WeakMap,eA=new WeakMap,eP=N,"symbol"==typeof(eR="CellRoute")&&(eR=eR.description?"[".concat(eR.description,"]"):""),Object.defineProperty(eP,"name",{configurable:!0,value:eR}),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=U[Symbol.metadata])&&void 0!==e?e:null):void 0;D=[e5.observable],I=[oN,e5.observable],q=[e5.computed],ac(N,null,D,{kind:"accessor",name:"history",static:!1,private:!1,access:{has:e=>"history"in e,get:e=>e.history,set:(e,t)=>{e.history=t}},metadata:t},z,W),ac(N,null,I,{kind:"accessor",name:"path",static:!1,private:!1,access:{has:e=>"path"in e,get:e=>e.path,set:(e,t)=>{e.path=t}},metadata:t},H,K),ac(N,null,q,{kind:"getter",name:"matched",static:!1,private:!1,access:{has:e=>"matched"in e,get:e=>e.matched},metadata:t},null,V),ac(null,M={value:N},B,{kind:"class",name:N.name,metadata:t},null,F),N=M.value,t&&Object.defineProperty(N,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),al(N,F)})(),N);o8({},"createRouter",()=>ap);var af=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)0>t.indexOf(n[i])&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r};function ap(e={}){var{mode:t="hash",basePath:r=""}=e,n=af(e,["mode","basePath"]);let i=ez[t],o=new as((new URL(r,location.origin)+"").replace(/\/$/,""),ez[t]);return{Route:e=>{var{path:t}=e,r=af(e,["path"]);return(0,eX.jsx)(ah,Object.assign({},r,n,{history:o,path:i+t}))},Link:e=>{var{to:t,children:r}=e,n=af(e,["to","children"]);return(0,eX.jsx)("a",Object.assign({},n,{href:i+t,children:r}))},Form:e=>{var{action:t,children:r}=e,n=af(e,["action","children"]);return(0,eX.jsx)("form",Object.assign({},n,{action:i+t,children:r}))}}}var e5=eG("kpaC8"),eZ=eG("kYZOD");const{renderMode:am="sync"}=(0,eZ.parseURLData)();var eJ=eG("ceFTv");const av=tt`:host{--shape-corner:var(--mdui-shape-corner-full);position:relative;display:inline-block;flex-shrink:0;overflow:hidden;text-align:center;border-radius:var(--shape-corner);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:box-shadow var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);min-width:3rem;height:2.5rem;color:rgb(var(--mdui-color-primary));font-size:var(--mdui-typescale-label-large-size);font-weight:var(--mdui-typescale-label-large-weight);letter-spacing:var(--mdui-typescale-label-large-tracking);line-height:var(--mdui-typescale-label-large-line-height)}.button{width:100%;padding:0 1rem}:host([full-width]:not([full-width=false i])){display:block}:host([variant=elevated]){box-shadow:var(--mdui-elevation-level1);background-color:rgb(var(--mdui-color-surface-container-low));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=filled]){color:rgb(var(--mdui-color-on-primary));background-color:rgb(var(--mdui-color-primary));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-primary)}:host([variant=tonal]){color:rgb(var(--mdui-color-on-secondary-container));background-color:rgb(var(--mdui-color-secondary-container));--mdui-comp-ripple-state-layer-color:var( + --mdui-color-on-secondary-container + )}:host([variant=outlined]){border:.0625rem solid rgb(var(--mdui-color-outline));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=text]){--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=outlined][focus-visible]){border-color:rgb(var(--mdui-color-primary))}:host([variant=elevated][hover]){box-shadow:var(--mdui-elevation-level2)}:host([variant=filled][hover]),:host([variant=tonal][hover]){box-shadow:var(--mdui-elevation-level1)}:host([disabled]:not([disabled=false i])),:host([loading]:not([loading=false i])){cursor:default;pointer-events:none}:host([disabled]:not([disabled=false i])){color:rgba(var(--mdui-color-on-surface),38%);box-shadow:var(--mdui-elevation-level0)}:host([variant=elevated][disabled]:not([disabled=false i])),:host([variant=filled][disabled]:not([disabled=false i])),:host([variant=tonal][disabled]:not([disabled=false i])){background-color:rgba(var(--mdui-color-on-surface),12%)}:host([variant=outlined][disabled]:not([disabled=false i])){border-color:rgba(var(--mdui-color-on-surface),12%)}.label{display:inline-flex;padding-right:.5rem;padding-left:.5rem}.end-icon,.icon{display:inline-flex;font-size:1.28571429em}.end-icon mdui-icon,.icon mdui-icon,::slotted([slot=end-icon]),::slotted([slot=icon]){font-size:inherit}mdui-circular-progress{display:inline-flex;width:1.125rem;height:1.125rem}:host([variant=filled]) mdui-circular-progress{stroke:rgb(var(--mdui-color-on-primary))}:host([variant=tonal]) mdui-circular-progress{stroke:rgb(var(--mdui-color-on-secondary-container))}:host([disabled]:not([disabled=false i])) mdui-circular-progress{stroke:rgba(var(--mdui-color-on-surface),38%)}`;let ab=class extends nZ{constructor(){super(...arguments),this.variant="filled",this.fullWidth=!1,this.rippleRef=rm()}get rippleElement(){return this.rippleRef.value}render(){return tB`<mdui-ripple ${ry(this.rippleRef)} .noRipple="${this.noRipple}"></mdui-ripple>${this.isButton()?this.renderButton({className:"button",part:"button",content:this.renderInner()}):this.disabled||this.loading?tB`<span part="button" class="button _a">${this.renderInner()}</span>`:this.renderAnchor({className:"button",part:"button",content:this.renderInner()})}`}renderIcon(){return this.loading?this.renderLoading():tB`<slot name="icon" part="icon" class="icon">${this.icon?tB`<mdui-icon name="${this.icon}"></mdui-icon>`:r1}</slot>`}renderLabel(){return tB`<slot part="label" class="label"></slot>`}renderEndIcon(){return tB`<slot name="end-icon" part="end-icon" class="end-icon">${this.endIcon?tB`<mdui-icon name="${this.endIcon}"></mdui-icon>`:r1}</slot>`}renderInner(){return[this.renderIcon(),this.renderLabel(),this.renderEndIcon()]}};ab.styles=[nZ.styles,av],(0,eJ.__decorate)([t7({reflect:!0})],ab.prototype,"variant",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0,attribute:"full-width"})],ab.prototype,"fullWidth",void 0),(0,eJ.__decorate)([t7({reflect:!0})],ab.prototype,"icon",void 0),(0,eJ.__decorate)([t7({reflect:!0,attribute:"end-icon"})],ab.prototype,"endIcon",void 0),ab=(0,eJ.__decorate)([t8("mdui-button")],ab);var eJ=eG("ceFTv");const ay=tt`:host{--shape-corner:var(--mdui-shape-corner-medium);position:relative;display:inline-block;overflow:hidden;border-radius:var(--shape-corner);-webkit-tap-highlight-color:transparent;transition:box-shadow var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([clickable]:not([clickable=false i])){cursor:pointer}:host([variant=elevated]){background-color:rgb(var(--mdui-color-surface-container-low));box-shadow:var(--mdui-elevation-level1)}:host([variant=filled]){background-color:rgb(var(--mdui-color-surface-container-highest))}:host([variant=outlined]){background-color:rgb(var(--mdui-color-surface));border:.0625rem solid rgb(var(--mdui-color-outline))}:host([variant=elevated][hover]){box-shadow:var(--mdui-elevation-level2)}:host([variant=filled][hover]),:host([variant=outlined][hover]){box-shadow:var(--mdui-elevation-level1)}:host([variant=elevated][dragged]),:host([variant=filled][dragged]),:host([variant=outlined][dragged]){box-shadow:var(--mdui-elevation-level3)}:host([disabled]:not([disabled=false i])){opacity:.38;cursor:default;-webkit-user-select:none;user-select:none}:host([variant=elevated][disabled]:not([disabled=false i])){background-color:rgb(var(--mdui-color-surface-variant));box-shadow:var(--mdui-elevation-level0)}:host([variant=filled][disabled]:not([disabled=false i])){background-color:rgb(var(--mdui-color-surface));box-shadow:var(--mdui-elevation-level1)}:host([variant=outlined][disabled]:not([disabled=false i])){box-shadow:var(--mdui-elevation-level0);border-color:rgba(var(--mdui-color-outline),.32)}.link{position:relative;display:inline-block;width:100%;height:100%;color:inherit;font-size:inherit;letter-spacing:inherit;text-decoration:none;touch-action:manipulation;-webkit-user-drag:none}`;let ag=class extends nd(nX(np(r5))){constructor(){super(...arguments),this.variant="elevated",this.clickable=!1,this.disabled=!1,this.rippleRef=rm()}get rippleElement(){return this.rippleRef.value}get rippleDisabled(){return this.disabled||!this.href&&!this.clickable}get focusElement(){return this.href&&!this.disabled?this.renderRoot.querySelector("._a"):this}get focusDisabled(){return this.rippleDisabled}render(){return tB`<mdui-ripple ${ry(this.rippleRef)} .noRipple="${this.noRipple}"></mdui-ripple>${this.href&&!this.disabled?this.renderAnchor({className:"link",content:tB`<slot></slot>`}):tB`<slot></slot>`}`}};ag.styles=[nu,ay],(0,eJ.__decorate)([t7({reflect:!0})],ag.prototype,"variant",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],ag.prototype,"clickable",void 0),(0,eJ.__decorate)([t7({type:Boolean,reflect:!0,converter:r0})],ag.prototype,"disabled",void 0),ag=(0,eJ.__decorate)([t8("mdui-card")],ag);var e5=(eG("kpaC8"),eG("kpaC8")),eZ=eG("kYZOD");function a_(e,t,r,n){Object.defineProperty(e,t,{get:r,set:n,enumerable:!0,configurable:!0})}a_({},"Stack",function(){return aS});const{push:aw}=Array.prototype;class aS{use(...e){return aw.apply(this,e),this}execute(e,t=0){let r=this[t];if(r instanceof Function)return r(e,this.execute.bind(this,e,++t))}mount(e,t){return this.use((r,n)=>e(r)?t.execute(r):n())}constructor(){this.length=0}}var aE={};a_(aE,"BodyRequestMethods",function(){return aM}),a_(aE,"HTTPError",function(){return aN}),a_(aE,"headerParser",function(){return aD}),a_(aE,"parseHeaders",function(){return aI}),a_(aE,"parseBody",function(){return aq}),a_(aE,"requestXHR",function(){return aB}),a_(aE,"requestFetch",function(){return aF}),a_(aE,"parseResponse",function(){return aU}),a_(aE,"parseFetchBody",function(){return aV}),a_(aE,"request",function(){return az});var aT={};async function aO(e,t=""){let[r]=t?.split(";")||[];return new DOMParser().parseFromString(e,r||"text/html")}function ax(e){let t=new FormData;for(let[r,n]of Object.entries(e))for(let e of Array.from("string"!=typeof n&&(0,eZ.likeArray)(n)?n:[n]))null!=e&&("object"==typeof e?t.append(r,e,e.name):t.append(r,e));return t}function ak(e){var t;if(!(e instanceof HTMLFormElement))return{contentType:e instanceof SVGElement?"image/svg":e instanceof Document||e instanceof HTMLElement?"text/html":"application/xml",data:(0,eZ.stringifyDOM)(e)};if(e.querySelector('input[type="file"][name]'))return{contentType:"multipart/form-data",data:new FormData(e)};let r=(0,eZ.formToJSON)(e);switch(t=e.enctype){case"text/plain":return{contentType:t,data:Object.entries(r).map(([e,t])=>`${e}=${t}`).join("\n")};case"application/x-www-form-urlencoded":return{contentType:t,data:new URLSearchParams(r)};default:return{contentType:"application/json",data:JSON.stringify(r)}}}function aC(e,t){let[r]=t?.split(";")||[];switch(r){case"application/x-www-form-urlencoded":return{contentType:t,data:new URLSearchParams(e)};case"multipart/form-data":return{data:ax(e)};case"application/json":return{contentType:t,data:JSON.stringify(e)};case"text/html":case"application/xml":case"image/svg":return{contentType:t,data:(0,eZ.stringifyDOM)(e)}}if(r)return{data:e,contentType:t};try{if(e instanceof URLSearchParams)return{contentType:"application/x-www-form-urlencoded",data:e}}catch{}try{if(e instanceof FormData)return{data:e}}catch{}try{if(e instanceof Node)return ak(e)}catch{}try{if((0,eZ.isTypedArray)(e)||e instanceof ArrayBuffer||e instanceof DataView||e instanceof Blob||e instanceof ReadableStream)return{contentType:"application/octet-stream",data:e}}catch{}try{return{contentType:"application/json",data:JSON.stringify(e)}}catch{}throw Error("Unserialized Object needs a specific Content-Type")}a_(aT,"parseDocument",function(){return aO}),a_(aT,"makeFormData",function(){return ax}),a_(aT,"serializeNode",function(){return ak}),a_(aT,"serialize",function(){return aC}),a_(aT,"streamFromProgress",function(){return aA}),a_(aT,"emitStreamProgress",function(){return aP}),a_(aT,"FileMethod",function(){return aR}),a_(aT,"readAs",function(){return aj}),a_(aT,"encodeBase64",function(){return aL}),globalThis.ProgressEvent||=class extends Event{constructor(e,{lengthComputable:t,total:r,loaded:n,...i}={}){super(e,i),this.lengthComputable=t,this.total=r,this.loaded=n}};const aA=e=>(0,eZ.createAsyncIterator)(({next:t,complete:r,error:n})=>{let i=({loaded:e,total:n})=>{t({loaded:e,total:n}),e>=n&&r()};return e.addEventListener("progress",i),e.addEventListener("error",n),()=>{e.removeEventListener("progress",i),e.removeEventListener("error",n)}});async function*aP(e,t,r){var n=0;for await(let i of e){yield i,n+=i.byteLength;let e=new ProgressEvent("progress",{lengthComputable:isNaN(t),loaded:n,total:t});r.dispatchEvent(e)}}var aR=((ej={}).text="readAsText",ej.dataURL="readAsDataURL",ej.binaryString="readAsBinaryString",ej.arrayBuffer="readAsArrayBuffer",ej);function aj(e,t,r){let n=new FileReader,i=new Promise((i,o)=>{n.onerror=o,n.onload=()=>i(n.result),n[aR[t]](e,r)});return{progress:aA(n),result:i}}const a$=/^data:(.+?\/(.+?))?(;base64)?,([\s\S]+)/;async function aL(e){if(e instanceof Blob){let t=await aj(e,"dataURL").result;return(a$.exec(t)||"")[4]}return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(e,t)=>String.fromCharCode(+("0x"+t))))}var aM=((e$={}).POST="POST",e$.PUT="PUT",e$.PATCH="PATCH",e$.DELETE="DELETE",e$);class aN extends URIError{constructor(e,t,r){super(e),this.request=t,this.response=r}}const aD={Link:e=>Object.fromEntries(Array.from(e.matchAll(/<(\S+?)>; rel="(\w+)"(?:; title="(.*?)")?/g),([e,t,r,n])=>[r,{rel:r,URI:t,title:n}]))},aI=e=>Object.fromEntries(Array.from(e.trim().matchAll(/^([\w-]+):\s*(.*)/gm),([e,t,r])=>[t=t.replace(/(^[a-z]|-[a-z])/g,e=>e.toUpperCase()),aD[t]?.(r)??r]));function aq(e,t){if(t.includes("json"))return(0,eZ.parseJSON)(e);if(t.match(/html|xml/))try{return aO(e,t)}catch{}return t.includes("text")?e:new TextEncoder().encode(e).buffer}function aB({method:e="GET",path:t,headers:r={},body:n,signal:i,...o}){let a=new XMLHttpRequest,s=new Headers(r),l=n instanceof globalThis.ReadableStream?Array.fromAsync(n).then(e=>new Blob(e)):Promise.resolve(n),c=()=>a.abort();i?.addEventListener("abort",c);let u=new Promise((r,n)=>{a.onreadystatechange=()=>{let{readyState:e,status:t,statusText:n,responseType:o}=a;4===e&&(t||i?.aborted)&&r({status:t,statusText:n,headers:aI(a.getAllResponseHeaders()),body:o&&"text"!==o?a.response:a.responseText})},a.onerror=a.ontimeout=n;let[c]=s.get("Accept")?.split(",")||["document"===o.responseType?"application/xhtml+xml":"json"===o.responseType?"application/json":""];for(let[r,n]of(c&&a.overrideMimeType(c),a.open(e,t+""),s))a.setRequestHeader(r,n);Object.assign(a,o),l.then(e=>a.send(e))}).then(({body:e,...t})=>{i?.throwIfAborted();let r=a.getResponseHeader("Content-Type")||"";return"string"!=typeof e||r.includes("text")||(e=aq(e,r)),{...t,body:e}});return u.finally(()=>i?.removeEventListener("abort",c)),{response:u,upload:aA(a.upload),download:aA(a)}}function aF({path:e,method:t,headers:r,withCredentials:n,body:i,signal:o,timeout:a,responseType:s}){var l;let c=[o,a&&AbortSignal.timeout(a)].filter(Boolean);r=r instanceof Headers?Object.fromEntries(r.entries()):r instanceof Array?Object.fromEntries(r):r,r="text"===s?{...r,Accept:"text/plain"}:"json"===s?{...r,Accept:"application/json"}:"document"===s?{...r,Accept:"text/html, application/xhtml+xml, application/xml"}:"arraybuffer"===s||"blob"===s?{...r,Accept:"application/octet-stream"}:r;let u=i instanceof globalThis.ReadableStream;if(u){let e=new EventTarget;i=globalThis.ReadableStream.from(aP(i,+r["Content-Length"],e)),l=aA(e)}let d=new EventTarget;return{response:fetch(e+"",{method:t,headers:r,credentials:n?"include":"omit",body:i,signal:c[0]&&AbortSignal.any(c),duplex:u?"half":void 0}).then(e=>aU(e,s,d)),upload:l,download:aA(d)}}async function aU({status:e,statusText:t,headers:r,body:n},i,o){let a=globalThis.ReadableStream.from(aP(n,+r.get("Content-Length"),o)),s=r.get("Content-Type")||"",l=aI([...r].map(([e,t])=>`${e}: ${t}`).join("\n")),c=204===e?void 0:await aV(a,s,i);return{status:e,statusText:t,headers:l,body:c}}async function aV(e,t,r){let n=new Blob(await Array.fromAsync(e),{type:t});if("blob"===r)return n;if("arraybuffer"===r)return n.arrayBuffer();let i=await n.text();return"text"===r?i:aq(i,t)}const az="function"==typeof globalThis.XMLHttpRequest?aB:aF;a_({},"HTTPClient",function(){return aH});const{splice:aW}=Array.prototype;class aH extends aS{constructor({baseURI:e=globalThis.document?.baseURI,baseRequest:t=az,...r}={}){super(),this.defaultWare=async({request:e,response:t},r)=>{let{method:n="GET",headers:i={},body:o}=e;if(n in aM&&o&&"object"==typeof o){let{contentType:t,data:r}=aC(o,i["Content-Type"]);t&&(i["Content-Type"]=t),e.body=r}if(await r(),t.status>299)throw new aN(t.statusText,e,t)},this.baseURI=e,this.baseRequest=t,this.options=r,super.use(this.defaultWare),super.use(async({request:e,response:t})=>{e.path=new URL(e.path+"",this.baseURI)+"",Object.assign(t,await this.baseRequest({...r,...e}).response)})}use(...e){return aW.call(this,-2,0,...e),this}async request(e){let t={request:{...e,headers:{...e.headers}},response:{}};return await this.execute(t),t.response}async head(e,t,r){let{headers:n}=await this.request({method:"HEAD",path:e,headers:t,...r});return n}get(e,t,r){return this.request({method:"GET",path:e,headers:t,...r})}post(e,t,r,n){return this.request({method:"POST",path:e,headers:r,body:t,...n})}put(e,t,r,n){return this.request({method:"PUT",path:e,headers:r,body:t,...n})}patch(e,t,r,n){return this.request({method:"PATCH",path:e,headers:r,body:t,...n})}delete(e,t,r,n){return this.request({method:"DELETE",path:e,headers:r,body:t,...n})}async *download(e,{headers:t,chunkSize:r=1048576,range:[n=0,i=1/0]=[],...o}={}){var a=0;function s(e){a=e,i===1/0&&(i=a)}try{let{"Content-Length":r}=await this.head(e,t,o);s(+r)}catch(e){console.error(e)}for(let l=n,c=l-1+r;l<i;l=c+1,c+=r){let{status:r,headers:{"Content-Range":n},body:i}=await this.get(e,{...t,Range:`bytes=${l}-${c}`},o),u=+n?.split("/").pop();if(u&&s(u),206!==r){yield{total:a,loaded:a,percent:100,buffer:i};break}let d=l+i.byteLength;yield{total:a,loaded:d,percent:+(d/a*100).toFixed(2),buffer:i}}}}const aK=new aH({baseURI:"https://fcc-cd.dev/996-data/",responseType:"json"});var aG=function(e,t,r,n,i,o){function a(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var s,l=n.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?n.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),h=!1,f=r.length-1;f>=0;f--){var p={};for(var m in n)p[m]="access"===m?{}:n[m];for(var m in n.access)p.access[m]=n.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");o.push(a(e||null))};var v=(0,r[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===v)continue;if(null===v||"object"!=typeof v)throw TypeError("Object expected");(s=a(v.get))&&(d.get=s),(s=a(v.set))&&(d.set=s),(s=a(v.init))&&i.unshift(s)}else(s=a(v))&&("field"===l?i.unshift(s):d[c]=s)}u&&Object.defineProperty(u,n.name,d),h=!0},aY=function(e,t,r){for(var n=arguments.length>2,i=0;i<t.length;i++)r=n?t[i].call(e,r):t[i].call(e);return n?r:void 0},aX=function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},aJ=function(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},aZ=new(G=[],Y=[],eL=class{get list(){return aX(this,eM,"f")}set list(e){aJ(this,eM,e,"f")}getList(e){var t,r,n,i;return t=this,r=void 0,n=void 0,i=function*(){let{body:t}=yield aK.get(`${e}.json`);return this.list=t.sort(({date:e},{date:t})=>t.localeCompare(e))},new(n||(n=Promise))(function(e,o){function a(e){try{l(i.next(e))}catch(e){o(e)}}function s(e){try{l(i.throw(e))}catch(e){o(e)}}function l(t){var r;t.done?e(t.value):((r=t.value)instanceof n?r:new n(function(e){e(r)})).then(a,s)}l((i=i.apply(t,r||[])).next())})}constructor(){eM.set(this,aY(this,G,[])),aY(this,Y)}},eM=new WeakMap,(()=>{let e="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0;aG(eL,null,[e5.observable],{kind:"accessor",name:"list",static:!1,private:!1,access:{has:e=>"list"in e,get:e=>e.list,set:(e,t)=>{e.list=t}},metadata:e},G,Y),e&&Object.defineProperty(eL,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})})(),eL),aQ=function(e,t,r){for(var n=arguments.length>2,i=0;i<t.length;i++)r=n?t[i].call(e,r):t[i].call(e);return n?r:void 0},a0=function(e,t,r,n,i,o){function a(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var s,l=n.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?n.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),h=!1,f=r.length-1;f>=0;f--){var p={};for(var m in n)p[m]="access"===m?{}:n[m];for(var m in n.access)p.access[m]=n.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");o.push(a(e||null))};var v=(0,r[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===v)continue;if(null===v||"object"!=typeof v)throw TypeError("Object expected");(s=a(v.get))&&(d.get=s),(s=a(v.set))&&(d.set=s),(s=a(v.init))&&i.unshift(s)}else(s=a(v))&&("field"===l?i.unshift(s):d[c]=s)}u&&Object.defineProperty(u,n.name,d),h=!0},a1=function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},a2=function(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r};let a3=(ee=[oB({tagName:"company-list",renderMode:am}),oM],et=[],er=HTMLElement,en=[],ei=[],eo=[],J=class extends er{constructor(){super(...arguments),eN.set(this,(aQ(this,en),aQ(this,ei,"996"))),Object.defineProperty(this,"renderCase",{enumerable:!0,configurable:!0,writable:!0,value:(aQ(this,eo),({name:e,url:t,city:r,rule:n,evidences:i,date:o,comment_url:a})=>(0,eX.jsxs)("mdui-card",{className:"flex h-full flex-col gap-4 p-4",children:[(0,eX.jsx)("h2",{className:"font-bold text-blue-500",title:e,children:t?(0,eX.jsx)("a",{target:"_blank",href:t,rel:"noreferrer",children:e}):e}),(0,eX.jsxs)("div",{className:"flex flex-1 flex-col gap-4",children:[(0,eX.jsx)("p",{className:"text-neutral-500",children:r}),(0,eX.jsx)("p",{children:n}),(0,eX.jsx)("ol",{className:"list-inside list-decimal",children:i.map(({href:e,title:t})=>(0,eX.jsx)("li",{children:(0,eX.jsx)("a",{target:"_blank",className:"text-blue-500 underline",href:e,rel:"noreferrer",children:t})},t))})]}),(0,eX.jsxs)("div",{className:"flex items-center justify-between",children:[(0,eX.jsx)("time",{className:"truncate",title:o,children:o}),(0,eX.jsx)("mdui-button",{target:"_blank",href:a,icon:"edit",children:"Comment"})]})]}))})}get type(){return a1(this,eN,"f")}set type(e){a2(this,eN,e,"f")}mountedCallback(){aZ.getList(this.type)}render(){let{list:e}=aZ;return(0,eX.jsx)("ul",{className:"grid gap-4 p-4 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:e.map(e=>(0,eX.jsx)("li",{children:this.renderCase(e)},e.name))})}},eN=new WeakMap,eD=J,"symbol"==typeof(eI="CompanyList")&&(eI=eI.description?"[".concat(eI.description,"]"):""),Object.defineProperty(eD,"name",{configurable:!0,value:eI}),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=er[Symbol.metadata])&&void 0!==e?e:null):void 0;Z=[oN,e5.observable],Q=[oD(({type:e})=>e)],a0(J,null,Z,{kind:"accessor",name:"type",static:!1,private:!1,access:{has:e=>"type"in e,get:e=>e.type,set:(e,t)=>{e.type=t}},metadata:t},ei,eo),a0(J,null,Q,{kind:"method",name:"mountedCallback",static:!1,private:!1,access:{has:e=>"mountedCallback"in e,get:e=>e.mountedCallback},metadata:t},null,en),a0(null,X={value:J},ee,{kind:"class",name:J.name,metadata:t},null,et),J=X.value,t&&Object.defineProperty(J,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),aQ(J,et)})(),J);var a5=function(e,t,r,n,i,o){function a(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var s,l=n.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?n.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),h=!1,f=r.length-1;f>=0;f--){var p={};for(var m in n)p[m]="access"===m?{}:n[m];for(var m in n.access)p.access[m]=n.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");o.push(a(e||null))};var v=(0,r[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===v)continue;if(null===v||"object"!=typeof v)throw TypeError("Object expected");(s=a(v.get))&&(d.get=s),(s=a(v.set))&&(d.set=s),(s=a(v.init))&&i.unshift(s)}else(s=a(v))&&("field"===l?i.unshift(s):d[c]=s)}u&&Object.defineProperty(u,n.name,d),h=!0},a4=function(e,t,r){for(var n=arguments.length>2,i=0;i<t.length;i++)r=n?t[i].call(e,r):t[i].call(e);return n?r:void 0},a8=function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},a6=function(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r};const{Route:a9}=ap();let a7=(ec=[oB({tagName:"page-box",renderMode:am}),oM],eu=[],ed=HTMLElement,eh=[],ef=[],es=class extends ed{get drawerOpen(){return a8(this,eq,"f")}set drawerOpen(e){a6(this,eq,e,"f")}render(){let{drawerOpen:e}=this;return(0,eX.jsxs)("mdui-layout",{className:"h-screen bg-white",children:[(0,eX.jsxs)("mdui-top-app-bar",{className:"flex items-center gap-4 p-4",children:[(0,eX.jsx)("mdui-button-icon",{icon:"menu",onClick:()=>this.drawerOpen=!this.drawerOpen}),(0,eX.jsx)("mdui-top-app-bar-title",{children:"Anti 996"}),(0,eX.jsx)("div",{className:"flex-1"}),(0,eX.jsx)("mdui-button-icon",{icon:"more_vert"})]}),(0,eX.jsx)("mdui-navigation-drawer",{open:e,closeOnOverlayClick:!0,onClosed:()=>this.drawerOpen=!1,children:(0,eX.jsxs)("mdui-list",{onClick:()=>this.drawerOpen=!1,children:[(0,eX.jsx)("mdui-list-item",{href:"#?type=996",children:"996"}),(0,eX.jsx)("mdui-list-item",{href:"#?type=955",children:"955"})]})}),(0,eX.jsx)("mdui-layout-main",{children:(0,eX.jsx)(a9,{path:"",component:a3})})]})}constructor(){super(...arguments),eq.set(this,a4(this,eh,!1)),a4(this,ef)}},eq=new WeakMap,eB=es,"symbol"==typeof(eF="PageBox")&&(eF=eF.description?"[".concat(eF.description,"]"):""),Object.defineProperty(eB,"name",{configurable:!0,value:eF}),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=ed[Symbol.metadata])&&void 0!==e?e:null):void 0;el=[oN,e5.observable],a5(es,null,el,{kind:"accessor",name:"drawerOpen",static:!1,private:!1,access:{has:e=>"drawerOpen"in e,get:e=>e.drawerOpen,set:(e,t)=>{e.drawerOpen=t}},metadata:t},eh,ef),a5(null,ea={value:es},ec,{kind:"class",name:es.name,metadata:t},null,eu),es=ea.value,t&&Object.defineProperty(es,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),a4(es,eu)})(),es);"undefined"==typeof PromiseRejectionEvent&&(Promise=e2),(0,e5.configure)({enforceActions:"never"}),self.addEventListener("unhandledrejection",({reason:e})=>{let{message:t}=e;t&&self.alert(t)});const{serviceWorker:se}=window.navigator;null==se||se.register("sw.js").then(eZ.serviceWorkerUpdate).then(e=>{window.confirm("New version of this Web App detected, update now?")&&e.postMessage({type:"SKIP_WAITING"})}),null==se||se.addEventListener("controllerchange",()=>window.location.reload()),(0,eZ.documentReady).then(()=>new(0,e3.DOMRenderer)().render((0,eX.jsx)(a7,{}),document.body,am)); +//# sourceMappingURL=index.ae813e81.js.map diff --git a/index.ae813e81.js.map b/index.ae813e81.js.map new file mode 100644 index 0000000..493a0f0 --- /dev/null +++ b/index.ae813e81.js.map @@ -0,0 +1 @@ +{"mappings":"I+NGI,EAEA,EqBMA,E,E,E,E,E,EyBMH,E,EAGW,E,E,E,E,E,E,E,E,E,EKAX,E,EAI8B,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,EZF9B,E,EAK8B,E,E,E,E,E,E,E,E,E,E,E,EeZ9B,G,GAGW,G,G,G,G,G,G,G7LCX,G,GAE4B,G,G,G,S,G,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,G,G,G,G,G,G,G,G,G6KGjB,G,G,G,G,G,G,G,G6BuLA,GDpMA,G,G,G,G,G,G,G,G,G,G,G5BaA,G,G,W,G,C,E,G,C,E,G,G,iB,A,O,K,A,C,G,S,C,E,G,K,G,O,E,C,E,C,O,C,G,K,G,C,I,E,E,C,E,A,Q,E,C,E,C,I,E,C,G,E,Q,C,C,E,O,E,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,E,C,E,C,C,E,G,iB,C,I,I,G,G,Q,C,G,Q,S,C,C,C,EpQvBZ,OAAO,cAAc,CAAC,EAAA,OAAA,CAAS,aAAc,CAAE,MAAO,CAAA,CAAK,GAC3D,EAAA,OAAA,CAAQ,KAAK,CAAG,EAAA,OAAA,CAAQ,SAAS,CAAG,KAAK,E,I,E,G,S,E,G,S,E,G,SAIrC,EACA,WACI,IAAI,CAAC,QAAQ,CAAG,EAAE,AACtB,CAGJ,CAAA,EAAA,OAAA,CAAQ,SAAS,CAAG,EACpB,IAAI,EAAuB,SAAU,CAAM,MAwRnC,EAtRJ,SAAS,EAAM,CAAE,EAEb,IADI,EAAK,EAAI,EAAI,EAAK,EAClB,EAAQ,IAAI,CACZ,EAAW,EAAG,QAAQ,CAAE,EAAO,EAAA,MAAA,CAAe,EAAI,CAAC,WAAW,CAElE,CADA,CAAA,EAAQ,EAAO,IAAI,CAAC,IAAI,GAAK,IAAI,AAAJ,EACvB,QAAQ,CAAG,EAAE,CACnB,OAAO,MAAM,CAAC,EAAO,GACrB,GAAI,CACA,IAAK,IAAI,EAAK,EAAA,QAAA,CAAiB,GAAY,EAAE,EAAG,EAAK,EAAG,IAAI,GAAI,CAAC,EAAG,IAAI,CAAE,EAAK,EAAG,IAAI,GAAI,CACtF,IAAI,EAAQ,EAAG,KAAK,CACnB,AAAA,CAAA,EAAK,EAAM,QAAO,AAAP,EAAU,IAAI,CAAC,KAAK,CAAC,EAAI,EAAA,aAAA,CAAsB,EAAE,CAAE,EAAA,MAAA,CAAgB,EAAG,UAAU,CAAC,GAAS,EAAM,QAAQ,EAAI,EAAE,CAAG,CAAC,EAAM,EAAI,CAAA,GAC5I,CACJ,CACA,MAAO,EAAO,CAAE,EAAM,CAAE,MAAO,CAAM,CAAG,QAChC,CACJ,GAAI,CACI,GAAM,CAAC,EAAG,IAAI,EAAK,CAAA,EAAK,EAAG,MAAM,AAAN,GAAS,EAAG,IAAI,CAAC,EACpD,QACQ,CAAE,GAAI,EAAK,MAAM,EAAI,KAAK,AAAE,CACxC,CACA,GAAI,CACA,IAAK,IAAI,EAAK,EAAA,QAAA,CAAiB,EAAM,QAAQ,EAAG,EAAK,EAAG,IAAI,GAAI,CAAC,EAAG,IAAI,CAAE,EAAK,EAAG,IAAI,GAElF,AADY,EAAG,KAAK,CACd,MAAM,CAAG,CAEvB,CACA,MAAO,EAAO,CAAE,EAAM,CAAE,MAAO,CAAM,CAAG,QAChC,CACJ,GAAI,CACI,GAAM,CAAC,EAAG,IAAI,EAAK,CAAA,EAAK,EAAG,MAAM,AAAN,GAAS,EAAG,IAAI,CAAC,EACpD,QACQ,CAAE,GAAI,EAAK,MAAM,EAAI,KAAK,AAAE,CACxC,CACA,IAAI,EAAU,EAAK,OAAO,CAAE,EAAK,EAAK,EAAE,CAAE,EAAQ,EAAK,KAAK,OACxD,CAAA,AAAC,GAAa,CAAA,MAAA,EAAqC,KAAK,EAAI,EAAM,SAAQ,AAAR,GAAe,CAAA,GAErF,CAAA,EAAM,QAAQ,CAAG,CACb,MAAA,EAAyC,KAAK,EAAI,EAAQ,WAAW,GACpE,AAAA,CAAA,MAAA,EAAqC,KAAK,EAAI,EAAM,SAAQ,AAAR,GAAc,IAAI,MAAM,CAAC,EAAM,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC,MAAO,MACpH,GAAM,QAAS,MAAM,CAAC,EAAI,MAC7B,CACI,MAAM,CAAC,SACP,IAAI,CAAC,GAFT,EALU,CASf,CA8OA,OA3RA,EAAA,SAAA,CAAkB,EAAO,GA8CzB,EAAM,SAAS,CAAC,MAAM,CAAG,WACrB,IAAI,EACJ,OAAO,EAAA,WAAA,CAAoB,IAAI,CAAE,SAAU,CAAE,EACzC,OAAQ,EAAG,KAAK,EACZ,KAAK,EACD,EAAU,IAAI,CACd,EAAG,KAAK,CAAG,CACf,MAAK,EACD,GAAI,CAAE,CAAA,EAAU,EAAQ,MAAK,AAAL,EAAS,MAAO,CAAC,EAAa,EAAE,CACxD,MAAO,CAAC,EAAa,EAAQ,AACjC,MAAK,EAED,OADA,EAAG,IAAI,GACA,CAAC,EAAa,EAAE,AAC3B,MAAK,EAAG,MAAO,CAAC,EAAa,AACjC,CACJ,EACJ,EACA,EAAM,SAAS,CAAC,WAAW,CAAG,SAAU,CAAO,EAC3C,IAAI,EAAK,EACT,GAAI,EAAA,YAA0B,CAAC,EAAQ,CACnC,OAAO,EAAA,YAA0B,CAAC,EAAQ,CAC9C,GAAI,CACA,IAAK,IAAI,EAAK,EAAA,QAAA,CAAiB,IAAI,CAAC,MAAM,IAAK,EAAK,EAAG,IAAI,GAAI,CAAC,EAAG,IAAI,CAAE,EAAK,EAAG,IAAI,GAAI,CACrF,IAAI,EAAY,EAAG,KAAK,CAAC,SAAS,CAClC,GAAI,EACA,OAAO,CACf,CACJ,CACA,MAAO,EAAO,CAAE,EAAM,CAAE,MAAO,CAAM,CAAG,QAChC,CACJ,GAAI,CACI,GAAM,CAAC,EAAG,IAAI,EAAK,CAAA,EAAK,EAAG,MAAM,AAAN,GAAS,EAAG,IAAI,CAAC,EACpD,QACQ,CAAE,GAAI,EAAK,MAAM,EAAI,KAAK,AAAE,CACxC,CACA,OAAO,EAAA,YAAA,CAA2B,IAAI,AAC1C,EACA,EAAM,SAAS,CAAC,SAAS,CAAG,SAAU,CAAQ,EACzB,KAAK,IAAlB,GAAuB,CAAA,EAAW,WAAW,QAAQ,AAAR,EACjD,IAAe,EAAU,AAAhB,IAAI,CAAe,OAAO,CAAE,EAAK,AAAjC,IAAI,CAAgC,EAAE,CAAE,EAAO,AAA/C,IAAI,CAA8C,IAAI,CAC/D,OAAQ,IAAI,CAAC,IAAI,CAAG,EACd,EAAS,cAAc,CAAC,GACxB,AAAC,EAEG,EAAS,eAAe,CAAE,IAAI,CAAC,SAAS,EAAK,CAAA,IAAI,CAAC,SAAS,CAAG,IAAI,CAAC,WAAW,CAAC,EAAA,EAAY,EAAS,CAClG,GAAI,CACR,GAHE,EAAS,sBAAsB,EAI7C,EACA,EAAM,SAAS,CAAC,MAAM,CAAG,WAErB,OAAO,KAAK,KAAK,CAAC,KAAK,SAAS,CAAC,CAAE,IADd,AAAZ,IAAI,CAAW,GAAG,CACkB,KADT,AAA3B,IAAI,CAA0B,IAAI,CACc,SADD,AAA/C,IAAI,CAA8C,QAAQ,CACU,UADI,AAAxE,IAAI,CAAuE,SAAS,CACM,QADM,AAAhG,IAAI,CAA+F,OAAO,CACE,GADK,AAAjH,IAAI,CAAgH,EAAE,CACF,MADY,AAAhI,IAAI,CAA+H,KAAK,CACN,MADgB,AAAlJ,IAAI,CAAiJ,KAAK,CACV,SADuB,AAAvK,IAAI,CAAsK,QAAQ,AACf,GAChL,EACA,EAAM,SAAS,CAAC,kBAAkB,CAAG,eAC7B,EAAI,EAAS,EAAO,EAAO,EAAU,EAAM,EAAM,EAAa,EAAW,EAAW,EAAI,EAAI,EAAI,EAAI,EAAK,EAAI,EAAI,EAAI,EAAS,EAAY,EAAc,EACxJ,EAAK,EACT,OAAO,EAAA,WAAA,CAAoB,IAAI,CAAE,SAAU,CAAE,EACzC,OAAQ,EAAG,KAAK,EACZ,KAAK,EAED,GADA,EAAK,IAAI,CAAE,EAAU,EAAG,OAAO,CAAE,EAAQ,EAAG,KAAK,CAAE,EAAQ,EAAG,KAAK,CAAE,EAAW,EAAG,QAAQ,CAAE,EAAO,EAAG,IAAI,CACvG,CAAE,CAAA,EAAQ,QAAQ,CAAC,MAAS,AAA6C,SAA7C,AAAA,CAAA,EAAG,EAAA,aAA0B,AAA1B,EAA6B,EAAa,EAAS,MAAO,CAAC,EAAa,EAAE,CAI7G,MAFA,AADA,CAAA,EAAO,AAAC,CAAA,AAAC,CAAA,MAAA,EAAmC,KAAK,EAAI,EAAK,aAAY,AAAZ,GAAkB,QAAA,EAAU,cAAc,CAAC,kBAAkB,GAAG,IAAI,AAAJ,EACrH,SAAS,CAAG,IAAI,MAAM,CAAC,EAAS,OAAO,MAAM,CAAC,EAAS,KAC5D,EAAc,EAAA,aAAA,CAAsB,EAAE,CAAE,EAAA,MAAA,CAAgB,AAAA,CAAA,EAAG,EAAA,eAAgD,AAAhD,EAAmD,IAAQ,CAAA,GAC/G,CAAC,EAAa,EAAK,OAAO,CAAC,CAAE,wBAAyB,CAAA,EAAM,YAAa,CAAY,GAAG,AACnG,MAAK,EAED,OADA,EAAG,IAAI,GACA,CAAC,EAAa,GAAG,AAC5B,MAAK,EAED,OADA,EAAY,EAAM,SAAS,CAAE,EAAY,EAAA,MAAA,CAAe,EAAO,CAAC,YAAY,EACrE,CAAC,EAAa,IAAI,MAAM,CAAC,GAAS,AAC7C,MAAK,EAID,IAAK,KAHL,EAAG,IAAI,GAEP,EAAK,EAAE,CADP,EAAK,EAGD,EAAG,IAAI,CAAC,GACZ,EAAK,EACL,EAAG,KAAK,CAAG,CACf,MAAK,EACD,GAAI,CAAE,CAAA,EAAK,EAAG,MAAK,AAAL,EAAS,MAAO,CAAC,EAAa,EAAE,CAE9C,GAAI,CAAE,CAAA,AADN,CAAA,EAAK,CAAE,CAAC,EAAG,AAAH,IACI,CAAA,EAAK,MAAO,CAAC,EAAa,EAAE,CAExC,OADA,EAAM,EACC,CAAC,EAAa,IAAI,MAAM,CAAC,EAAG,QAAQ,CAAC,EAAI,EAAI,EAAK,MAAO,MAAM,CAAC,CAAS,CAAC,EAAI,CAAE,KAAM,AACjG,MAAK,EACD,EAAG,IAAI,GACP,EAAG,KAAK,CAAG,CACf,MAAK,EAED,OADA,IACO,CAAC,EAAa,EAAE,AAC3B,MAAK,EACD,GAAI,CAAC,EAAO,MAAO,CAAC,EAAa,GAAG,CACpC,MAAO,CAAC,EAAa,WAAY,AACrC,MAAK,EAID,IAAK,KAHL,EAAG,IAAI,GAEP,EAAK,EAAE,CADP,EAAK,EAGD,EAAG,IAAI,CAAC,GACZ,EAAK,EACL,EAAG,KAAK,CAAG,CACf,MAAK,EACD,GAAI,CAAE,CAAA,EAAK,EAAG,MAAK,AAAL,EAAS,MAAO,CAAC,EAAa,GAAG,CAE/C,GAAI,CAAE,CAAA,AADN,CAAA,EAAK,CAAE,CAAC,EAAG,AAAH,IACI,CAAA,EAAK,MAAO,CAAC,EAAa,GAAG,CAEzC,OADA,EAAM,EACC,CAAC,EAAa,GAAG,MAAM,CAAE,AAAA,CAAA,EAAG,EAAA,YAAyB,AAAzB,EAA4B,GAAM,KAAK,MAAM,CAAC,CAAK,CAAC,EAAI,CAAE,KAAK,AACtG,MAAK,GACD,EAAG,IAAI,GACP,EAAG,KAAK,CAAG,EACf,MAAK,GAED,OADA,IACO,CAAC,EAAa,EAAE,AAC3B,MAAK,GAAI,MAAO,CAAC,EAAa,IAAK,AACnC,MAAK,GACD,EAAG,IAAI,GACP,EAAG,KAAK,CAAG,EACf,MAAK,GACD,GAAI,CAAC,EAAW,MAAO,CAAC,EAAa,GAAG,CACxC,MAAO,CAAC,EAAa,IAAI,MAAM,CAAC,EAAW,MAAM,MAAM,CAAC,EAAS,KAAK,AAC1E,MAAK,GAED,OADA,EAAG,IAAI,GACA,CAAC,EAAa,GAAG,AAC5B,MAAK,GACD,GAAI,CAAC,CAAQ,CAAC,EAAE,CAAE,MAAO,CAAC,EAAa,GAAG,CAC1C,MAAO,CAAC,EAAa,IAAI,AAC7B,MAAK,GACD,EAAG,IAAI,GACP,EAAG,KAAK,CAAG,EACf,MAAK,GACD,EAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAI,GAAI,GAAI,GAAG,EACY,EAAe,AAAxD,CAAA,EAAa,EAAA,QAAA,CAAiB,EAAA,EAAqC,IAAI,GACvE,EAAG,KAAK,CAAG,EACf,MAAK,GACD,GAAM,EAAa,IAAI,CAAE,MAAO,CAAC,EAAa,GAAG,CAEjD,OADA,EAAQ,EAAa,KAAK,CACnB,CAAC,EAAc,EAAA,QAAA,CAAiB,EAAM,WAAW,IAAI,AAChE,MAAK,GACD,EAAG,IAAI,GACP,EAAG,KAAK,CAAG,EACf,MAAK,GAED,OADA,EAAe,EAAW,IAAI,GACvB,CAAC,EAAa,GAAG,AAC5B,MAAK,GAAI,MAAO,CAAC,EAAa,GAAG,AACjC,MAAK,GAGD,OADA,EAAM,CAAE,MADA,EAAG,IAAI,EACM,EACd,CAAC,EAAa,GAAG,AAC5B,MAAK,GACD,GAAI,CACI,GAAgB,CAAC,EAAa,IAAI,EAAK,CAAA,EAAK,EAAW,MAAM,AAAN,GAAS,EAAG,IAAI,CAAC,EAChF,QACQ,CAAE,GAAI,EAAK,MAAM,EAAI,KAAK,AAAE,CACpC,MAAO,CAAC,EAAiB,AAC7B,MAAK,GAAI,MAAO,CAAC,EAAa,KAAK,MAAM,CAAC,EAAS,KAAK,AACxD,MAAK,GAED,OADA,EAAG,IAAI,GACA,CAAC,EAAa,GAAG,AAC5B,MAAK,GAAI,MAAO,CAAC,EAAa,AAAY,WAAZ,EAAuB,cAAe,MAAM,AAC1E,MAAK,GACD,EAAG,IAAI,GACP,EAAG,KAAK,CAAG,EACf,MAAK,GAAI,MAAO,CAAC,EAAa,AAClC,CACJ,EACJ,EACA,EAAM,SAAS,CAAC,WAAW,CAAG,WAC1B,IAAI,EACJ,OAAO,EAAA,WAAA,CAAoB,IAAI,CAAE,SAAU,CAAE,EACzC,OAAQ,EAAG,KAAK,EACZ,KAAK,EACD,GAAI,CAAC,EAAG,UAAU,CAAC,IAAI,EAAG,MAAO,CAAC,EAAa,EAAE,CACjD,MAAO,CAAC,EAAa,YAAY,AACrC,MAAK,EAGD,GAFA,EAAG,IAAI,GAEH,CADJ,CAAA,EAAO,AAAC,CAAA,IAAI,CAAC,IAAI,EAAI,CAAC,CAAA,EAAG,IAAI,AAAJ,EACd,MAAO,CAAC,EAAa,EAAE,CAClC,MAAO,CAAC,EAAa,oBAAqB,MAAM,CAAC,EAAM,KAAM,AACjE,MAAK,EACD,EAAG,IAAI,GACP,EAAG,KAAK,CAAG,CACf,MAAK,EAAG,MAAO,CAAC,EAAa,IAAI,AACjC,MAAK,EAML,KAAK,EAJD,OADA,EAAG,IAAI,GACA,CAAC,EAAa,EAAE,AAC3B,MAAK,EACD,GAAI,CAAE,CAAA,AAAa,MAAb,IAAI,CAAC,IAAI,AAAI,EAAO,MAAO,CAAC,EAAa,EAAE,CACjD,MAAO,CAAC,EAAa,IAAI,CAAC,IAAI,CAAC,AAInC,MAAK,EAAG,MAAO,CAAC,EAAc,EAAA,QAAA,CAAiB,IAAI,CAAC,kBAAkB,IAAI,AAC1E,MAAK,EACD,EAAG,IAAI,GACP,EAAG,KAAK,CAAG,CACf,MAAK,EAAG,MAAO,CAAC,EAAa,AACjC,CACJ,EACJ,EACA,EAAM,UAAU,CAAG,SAAU,CAAE,EACjB,EAAG,GAAG,CAAS,EAAG,IAAI,CAAa,EAAG,QAAQ,CAAxD,IAA0D,EAAO,EAAA,MAAA,CAAe,EAAI,CAAC,MAAO,OAAQ,WAAW,EAC/G,IAAK,IAAI,KAAS,EACd,GAAI,CAAC,AAAC,CAAA,EAAG,EAAA,OAAoB,AAApB,EAAuB,CAAI,CAAC,EAAM,EACvC,MAAO,CAAA,EACf,MAAO,CAAA,CACX,EACA,EAAM,OAAO,CAAG,SAAU,CAAI,EAC1B,IAAI,EAAQ,IAAI,CAChB,GAAI,aAAgB,KAChB,OAAO,IAAI,EAAG,CAAE,KAAM,EAAM,KAAM,EAAK,SAAS,AAAC,GACrD,GAAI,CAAE,CAAA,aAAgB,OAAA,EAClB,OAAO,IAAI,EAAG,CAAE,KAAM,CAAK,GAC/B,IAAe,EAAe,AAArB,EAAwB,YAAY,CAAE,EAAU,AAAhD,EAAmD,OAAO,CAAE,EAAa,AAAzE,EAA4E,UAAU,CAAE,EAAQ,AAAhG,EAAmG,KAAK,CAAE,EAAa,AAAvH,EAA0H,UAAU,CACzI,EAAQ,CACR,KAAM,EACN,UAAW,EACX,QAAS,EAAQ,WAAW,GAC5B,GAAI,EAAK,YAAY,CAAC,KAC1B,EACI,EAAQ,MAAM,IAAI,CAAC,EAAY,SAAU,CAAE,EAC3C,IAAI,EAAO,EAAG,IAAI,CAAE,EAAQ,EAAG,KAAK,CACpC,MAAO,AAAS,UAAT,GAAoB,CAAC,EAAM,QAAQ,CAAC,EAAK,EAAI,EAAM,EAAM,AACpE,GAAG,MAAM,CAAC,QACN,CAAA,CAAK,CAAC,EAAE,EACR,CAAA,EAAM,KAAK,CAAG,OAAO,WAAW,CAAC,EADrC,EAEA,IAAI,EAAS,MAAM,IAAI,CAAC,EAAO,SAAU,CAAG,EAAI,MAAO,CAAC,EAAK,CAAK,CAAC,EAAI,CAAC,AAAE,EACtE,CAAA,CAAM,CAAC,EAAE,EACT,CAAA,EAAM,KAAK,CAAG,OAAO,WAAW,CAAC,EADrC,EAEA,IAAI,EAAW,MAAM,IAAI,CAAC,EAAY,SAAU,CAAI,EAAI,OAAO,EAAG,OAAO,CAAC,EAAO,GAGjF,OAFI,CAAQ,CAAC,EAAE,EACX,CAAA,EAAM,QAAQ,CAAG,CADrB,EAEO,IAAI,EAAG,EAClB,EAEA,EAAK,EACL,EAAM,QAAQ,CAAG,CAAE,UAAW,aAAc,UAAW,QAAS,QAAS,KAAM,EAC/E,EAAM,QAAQ,CAAG,OAAO,WAAW,CAAC,OAAO,OAAO,CAAC,EAAG,QAAQ,EAAE,GAAG,CAAC,SAAU,CAAI,EAAI,OAAO,EAAK,OAAO,EAAI,IACtG,CACX,EAAE,EACF,CAAA,EAAA,OAAA,CAAQ,KAAK,CAAG,C,G,G,Q,S,C,C,C,E,G,E,O,C,Y,I,G,G,E,O,C,W,I,G,G,E,O,C,S,I,G,G,E,O,C,a,I,G,G,E,O,C,Y,I,G,G,E,O,C,c,I,G,G,E,O,C,e,I,G,G,E,O,C,W,I,G,G,E,O,C,S,I,G,G,E,O,C,gB,I,GC3RhB,IAAI,EAAgB,SAAS,CAAC,CAAE,CAAC,EAI7B,MAAO,AAHP,CAAA,EAAgB,OAAO,cAAc,EAChC,AAAA,CAAA,CAAE,UAAW,EAAE,AAAC,CAAA,YAAa,OAAS,SAAU,CAAC,CAAE,CAAC,EAAI,EAAE,SAAS,CAAG,CAAG,GAC1E,SAAU,CAAC,CAAE,CAAC,EAAI,IAAK,IAAI,KAAK,EAAO,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAG,IAAI,CAAA,CAAC,CAAC,EAAE,CAAG,CAAC,CAAC,EAAE,AAAF,CAAI,CAAA,EAC/E,EAAG,EAC5B,EAEO,SAAS,EAAU,CAAC,CAAE,CAAC,EAC1B,GAAI,AAAa,YAAb,OAAO,GAAoB,AAAM,OAAN,EAC3B,MAAM,AAAI,UAAU,uBAAyB,OAAO,GAAK,iCAE7D,SAAS,IAAO,IAAI,CAAC,WAAW,CAAG,CAAG,CADtC,EAAc,EAAG,GAEjB,EAAE,SAAS,CAAG,AAAM,OAAN,EAAa,OAAO,MAAM,CAAC,GAAM,CAAA,EAAG,SAAS,CAAG,EAAE,SAAS,CAAE,IAAI,CAAA,CACnF,CAEO,IAAI,EAAW,WAQlB,MAAO,AAPP,CAAA,EAAW,OAAO,MAAM,EAAI,SAAkB,CAAC,EAC3C,IAAK,IAAI,EAAG,EAAI,EAAG,EAAI,UAAU,MAAM,CAAE,EAAI,EAAG,IAE5C,IAAK,IAAI,KADT,EAAI,SAAS,CAAC,EAAE,CACK,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAG,IAAI,CAAA,CAAC,CAAC,EAAE,CAAG,CAAC,CAAC,EAAE,AAAF,EAE9E,OAAO,CACX,CAAA,EACgB,KAAK,CAAC,IAAI,CAAE,UAChC,EAEO,SAAS,EAAO,CAAC,CAAE,CAAC,EACvB,IAAI,EAAI,CAAC,EACT,IAAK,IAAI,KAAK,EAAO,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAG,IAAM,AAAe,EAAf,EAAE,OAAO,CAAC,IACzE,CAAA,CAAC,CAAC,EAAE,CAAG,CAAC,CAAC,EAAE,AAAF,EACb,GAAI,AAAK,MAAL,GAAa,AAAwC,YAAxC,OAAO,OAAO,qBAAqB,CAChD,IAAK,IAAI,EAAI,EAAG,EAAI,OAAO,qBAAqB,CAAC,GAAI,EAAI,EAAE,MAAM,CAAE,IACzC,EAAlB,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAS,OAAO,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAG,CAAC,CAAC,EAAE,GACzE,CAAA,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,AAAD,EAE5B,OAAO,CACX,CAEO,SAAS,EAAW,CAAU,CAAE,CAAM,CAAE,CAAG,CAAE,CAAI,EACpD,IAA2H,EAAvH,EAAI,UAAU,MAAM,CAAE,EAAI,EAAI,EAAI,EAAS,AAAS,OAAT,EAAgB,EAAO,OAAO,wBAAwB,CAAC,EAAQ,GAAO,EACrH,GAAI,AAAmB,UAAnB,OAAO,SAAwB,AAA4B,YAA5B,OAAO,QAAQ,QAAQ,CAAiB,EAAI,QAAQ,QAAQ,CAAC,EAAY,EAAQ,EAAK,QACpH,IAAK,IAAI,EAAI,EAAW,MAAM,CAAG,EAAG,GAAK,EAAG,IAAS,CAAA,EAAI,CAAU,CAAC,EAAE,AAAF,GAAI,CAAA,EAAI,AAAC,CAAA,EAAI,EAAI,EAAE,GAAK,EAAI,EAAI,EAAE,EAAQ,EAAK,GAAK,EAAE,EAAQ,EAAA,GAAS,CAAA,EAChJ,OAAO,EAAI,GAAK,GAAK,OAAO,cAAc,CAAC,EAAQ,EAAK,GAAI,CAChE,CAuDO,SAAS,EAAU,CAAO,CAAE,CAAU,CAAE,CAAC,CAAE,CAAS,EAEvD,OAAO,GAAK,CAAA,GAAM,CAAA,EAAI,OAAA,CAAM,EAAI,SAAU,CAAO,CAAE,CAAM,EACrD,SAAS,EAAU,CAAK,EAAI,GAAI,CAAE,EAAK,EAAU,IAAI,CAAC,GAAS,CAAE,MAAO,EAAG,CAAE,EAAO,EAAI,CAAE,CAC1F,SAAS,EAAS,CAAK,EAAI,GAAI,CAAE,EAAK,EAAU,KAAQ,CAAC,GAAS,CAAE,MAAO,EAAG,CAAE,EAAO,EAAI,CAAE,CAC7F,SAAS,EAAK,CAAM,MAJT,CAIa,CAAA,EAAO,IAAI,CAAG,EAAQ,EAAO,KAAK,EAAI,AAJnC,CAAA,CAAhB,EAIyD,EAAO,KAAK,YAJpC,EAAI,EAAQ,IAAI,EAAE,SAAU,CAAO,EAAI,EAAQ,EAAQ,EAAA,EAIjB,IAAI,CAAC,EAAW,EAAW,CAC7G,EAAK,AAAC,CAAA,EAAY,EAAU,KAAK,CAAC,EAAS,GAAc,EAAE,CAAA,EAAG,IAAI,GACtE,EACJ,CAEO,SAAS,EAAY,CAAO,CAAE,CAAI,EACrC,IAAsG,EAAG,EAAG,EAAxG,EAAI,CAAE,MAAO,EAAG,KAAM,WAAa,GAAI,AAAO,EAAP,CAAC,CAAC,EAAE,CAAM,MAAM,CAAC,CAAC,EAAE,CAAE,OAAO,CAAC,CAAC,EAAE,AAAE,EAAG,KAAM,EAAE,CAAE,IAAK,EAAE,AAAC,EAAY,EAAI,OAAO,MAAM,CAAE,AAAA,CAAA,AAAoB,YAApB,OAAO,SAA0B,SAAW,MAAA,EAAQ,SAAS,EAC/L,OAAO,EAAE,IAAI,CAAG,EAAK,GAAI,EAAE,KAAQ,CAAG,EAAK,GAAI,EAAE,MAAS,CAAG,EAAK,GAAI,AAAkB,YAAlB,OAAO,QAA0B,CAAA,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAG,WAAa,OAAO,IAAI,AAAE,CAAA,EAAI,EAC1J,SAAS,EAAK,CAAC,EAAI,OAAO,SAAU,CAAC,EAAI,OAAO,AAChD,SAAc,CAAE,EACZ,GAAI,EAAG,MAAM,AAAI,UAAU,mCAC3B,KAAO,GAAM,CAAA,EAAI,EAAG,CAAE,CAAC,EAAE,EAAK,CAAA,EAAI,CAAA,CAAA,EAAK,GAAG,GAAI,CAC1C,GAAI,EAAI,EAAG,GAAM,CAAA,EAAI,AAAQ,EAAR,CAAE,CAAC,EAAE,CAAO,EAAE,MAAS,CAAG,CAAE,CAAC,EAAE,CAAG,EAAE,KAAQ,EAAK,CAAA,AAAC,CAAA,EAAI,EAAE,MAAQ,AAAR,GAAc,EAAE,IAAI,CAAC,GAAI,CAAA,EAAK,EAAE,IAAG,AAAH,GAAS,CAAE,AAAA,CAAA,EAAI,EAAE,IAAI,CAAC,EAAG,CAAE,CAAC,EAAE,CAAA,EAAG,IAAI,CAAE,OAAO,EAE3J,OADI,EAAI,EAAJ,AAAO,GAAG,CAAA,EAAK,CAAC,AAAQ,EAAR,CAAE,CAAC,EAAE,CAAM,EAAE,KAAK,CAAC,AAAA,EAC/B,CAAE,CAAC,EAAE,EACT,KAAK,EAAG,KAAK,EAAG,EAAI,EAAI,KACxB,MAAK,EAAc,OAAX,EAAE,KAAK,GAAW,CAAE,MAAO,CAAE,CAAC,EAAE,CAAE,KAAM,CAAA,CAAM,CACtD,MAAK,EAAG,EAAE,KAAK,GAAI,EAAI,CAAE,CAAC,EAAE,CAAE,EAAK,CAAC,EAAE,CAAE,QACxC,MAAK,EAAG,EAAK,EAAE,GAAG,CAAC,GAAG,GAAI,EAAE,IAAI,CAAC,GAAG,GAAI,QACxC,SACI,GAAI,CAAc,CAAA,EAAI,AAAhB,CAAA,EAAI,EAAE,IAAI,AAAJ,EAAY,MAAM,CAAG,GAAK,CAAC,CAAC,EAAE,MAAM,CAAG,EAAC,AAAD,GAAQ,CAAA,AAAU,IAAV,CAAE,CAAC,EAAE,EAAU,AAAU,IAAV,CAAE,CAAC,EAAE,AAAK,EAAI,CAAE,EAAI,EAAG,QAAU,CAC3G,GAAI,AAAU,IAAV,CAAE,CAAC,EAAE,EAAW,CAAA,CAAC,GAAM,CAAE,CAAC,EAAE,CAAG,CAAC,CAAC,EAAE,EAAI,CAAE,CAAC,EAAE,CAAG,CAAC,CAAC,EAAE,AAAF,EAAM,CAAE,EAAE,KAAK,CAAG,CAAE,CAAC,EAAE,CAAE,KAAO,CACrF,GAAI,AAAU,IAAV,CAAE,CAAC,EAAE,EAAU,EAAE,KAAK,CAAG,CAAC,CAAC,EAAE,CAAE,CAAE,EAAE,KAAK,CAAG,CAAC,CAAC,EAAE,CAAE,EAAI,EAAI,KAAO,CACpE,GAAI,GAAK,EAAE,KAAK,CAAG,CAAC,CAAC,EAAE,CAAE,CAAE,EAAE,KAAK,CAAG,CAAC,CAAC,EAAE,CAAE,EAAE,GAAG,CAAC,IAAI,CAAC,GAAK,KAAO,CAC9D,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,GACnB,EAAE,IAAI,CAAC,GAAG,GAAI,QACtB,CACA,EAAK,EAAK,IAAI,CAAC,EAAS,EAC5B,CAAE,MAAO,EAAG,CAAE,EAAK,CAAC,EAAG,EAAE,CAAE,EAAI,CAAG,QAAU,CAAE,EAAI,EAAI,CAAG,CACzD,GAAI,AAAQ,EAAR,CAAE,CAAC,EAAE,CAAM,MAAM,CAAE,CAAC,EAAE,CAAE,MAAO,CAAE,MAAO,CAAE,CAAC,EAAE,CAAG,CAAE,CAAC,EAAE,CAAG,KAAK,EAAG,KAAM,CAAA,CAAK,CACnF,EAtBqD,CAAC,EAAG,EAAE,CAAG,CAAG,CAuBrE,CAEO,IAAI,EAAkB,OAAO,MAAM,CAAI,SAAS,CAAC,CAAE,CAAC,CAAE,CAAC,CAAE,CAAE,EACnD,KAAA,IAAP,GAAkB,CAAA,EAAK,CAAA,EAC3B,IAAI,EAAO,OAAO,wBAAwB,CAAC,EAAG,GAC1C,CAAA,CAAC,GAAS,CAAA,QAAS,EAAO,CAAC,EAAE,UAAU,CAAG,EAAK,QAAQ,EAAI,EAAK,YAAW,AAAX,CAAW,GAC3E,CAAA,EAAO,CAAE,WAAY,CAAA,EAAM,IAAK,WAAa,OAAO,CAAC,CAAC,EAAE,AAAE,CAAE,CAAA,EAEhE,OAAO,cAAc,CAAC,EAAG,EAAI,EACjC,EAAM,SAAS,CAAC,CAAE,CAAC,CAAE,CAAC,CAAE,CAAE,EACX,KAAA,IAAP,GAAkB,CAAA,EAAK,CAAA,EAC3B,CAAC,CAAC,EAAG,CAAG,CAAC,CAAC,EAAE,AAChB,EAEO,SAAS,EAAa,CAAC,CAAE,CAAC,EAC7B,IAAK,IAAI,KAAK,EAAa,YAAN,GAAoB,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAG,IAAI,EAAgB,EAAG,EAAG,EAC/G,CAEO,SAAS,EAAS,CAAC,EACtB,IAAI,EAAI,AAAkB,YAAlB,OAAO,QAAyB,OAAO,QAAQ,CAAE,EAAI,GAAK,CAAC,CAAC,EAAE,CAAE,EAAI,EAC5E,GAAI,EAAG,OAAO,EAAE,IAAI,CAAC,GACrB,GAAI,GAAK,AAAoB,UAApB,OAAO,EAAE,MAAM,CAAe,MAAO,CAC1C,KAAM,WAEF,OADI,GAAK,GAAK,EAAE,MAAM,EAAE,CAAA,EAAI,KAAK,CAAA,EAC1B,CAAE,MAAO,GAAK,CAAC,CAAC,IAAI,CAAE,KAAM,CAAC,CAAE,CAC1C,CACJ,CACA,OAAM,AAAI,UAAU,EAAI,0BAA4B,kCACxD,CAEO,SAAS,EAAO,CAAC,CAAE,CAAC,EACvB,IAAI,EAAI,AAAkB,YAAlB,OAAO,QAAyB,CAAC,CAAC,OAAO,QAAQ,CAAC,CAC1D,GAAI,CAAC,EAAG,OAAO,EACf,IAAmB,EAAY,EAA3B,EAAI,EAAE,IAAI,CAAC,GAAO,EAAK,EAAE,CAC7B,GAAI,CACA,KAAO,AAAC,CAAA,AAAM,KAAK,IAAX,GAAgB,KAAM,CAAA,GAAM,CAAE,AAAA,CAAA,EAAI,EAAE,IAAI,EAAA,EAAI,IAAI,EAAE,EAAG,IAAI,CAAC,EAAE,KAAK,CAC7E,CACA,MAAO,EAAO,CAAE,EAAI,CAAE,MAAO,CAAM,CAAG,QAC9B,CACJ,GAAI,CACI,GAAK,CAAC,EAAE,IAAI,EAAK,CAAA,EAAI,EAAE,MAAS,AAAT,GAAY,EAAE,IAAI,CAAC,EAClD,QACQ,CAAE,GAAI,EAAG,MAAM,EAAE,KAAK,AAAE,CACpC,CACA,OAAO,CACX,CAkBO,SAAS,EAAc,CAAE,CAAE,CAAI,CAAE,CAAI,EACxC,GAAI,GAAQ,AAAqB,GAArB,UAAU,MAAM,CAAQ,IAAK,IAA4B,EAAxB,EAAI,EAAG,EAAI,EAAK,MAAM,CAAM,EAAI,EAAG,KACxE,GAAQ,KAAK,IACR,GAAI,CAAA,EAAK,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAM,EAAG,EAAlD,EACA,CAAE,CAAC,EAAE,CAAG,CAAI,CAAC,EAAE,EAGvB,OAAO,EAAG,MAAM,CAAC,GAAM,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GACtD,CA2GuB,AAA2B,YAA3B,OAAO,iBAAiC,e,G,G,Q,S,C,C,C,E,I,E,E,O,E,E,O,C,W,E,S,C,C,C,E,I,E,E,E,E,E,C,M,E,K,W,G,A,E,C,C,E,C,M,C,C,E,C,O,C,C,E,A,E,K,E,C,I,E,A,E,O,E,C,K,E,G,M,E,G,O,E,E,E,A,Y,O,Q,C,C,C,O,Q,C,C,W,O,I,A,C,E,E,S,E,C,E,O,S,C,E,O,A,S,C,E,G,E,M,A,U,mC,K,G,C,E,E,C,C,E,E,C,E,C,C,E,G,G,C,G,E,E,G,C,E,A,E,C,C,E,C,E,M,C,C,C,E,C,E,K,E,C,A,C,E,E,M,A,G,E,I,C,G,C,E,E,I,A,G,C,A,C,E,E,I,C,E,C,C,E,C,E,I,C,O,E,O,E,E,A,G,C,E,C,A,E,C,C,E,C,E,K,C,A,E,C,C,E,E,K,E,K,E,E,E,K,M,E,O,E,K,G,C,M,C,C,E,C,K,C,C,C,M,E,E,K,G,E,C,C,E,C,E,C,E,C,Q,M,E,E,E,G,C,G,G,E,I,C,G,G,Q,S,G,C,C,E,A,C,E,E,I,A,E,M,C,G,C,C,E,M,C,E,A,G,C,A,I,C,C,E,E,A,I,C,C,E,A,E,C,E,E,Q,C,G,A,I,C,C,E,E,C,C,G,C,C,E,C,C,C,E,E,C,C,E,C,C,C,E,A,E,C,E,K,C,C,C,E,C,K,C,G,A,I,C,C,E,E,E,K,C,C,C,E,C,C,E,K,C,C,C,E,C,E,E,K,C,G,G,E,K,C,C,C,E,C,C,E,K,C,C,C,E,C,E,G,C,I,C,G,K,C,C,C,E,E,E,G,C,G,G,E,I,C,G,G,Q,C,E,E,I,C,E,E,C,M,E,C,E,C,E,E,C,E,C,Q,C,E,E,C,C,G,A,E,C,C,E,C,M,C,C,E,C,M,C,M,C,C,E,C,C,C,E,C,K,E,K,C,C,C,E,C,E,E,C,C,C,E,E,E,O,E,E,O,C,M,E,S,C,C,C,E,I,E,A,Y,O,Q,C,C,O,Q,C,C,G,C,E,O,E,I,E,E,E,E,I,C,G,E,E,C,G,C,K,A,C,A,K,I,G,K,C,G,C,A,C,E,E,I,E,E,I,E,E,I,C,E,K,C,C,M,E,C,E,C,M,C,C,Q,C,G,C,G,C,E,I,E,C,E,E,M,A,G,E,I,C,E,Q,C,G,E,M,E,K,A,C,C,O,C,E,E,E,O,E,E,O,C,a,E,S,C,C,C,C,C,E,G,G,A,G,U,M,C,I,I,E,E,E,E,E,M,C,E,E,K,G,K,I,G,C,E,M,S,C,K,C,I,C,E,E,E,E,C,C,E,C,C,C,E,E,O,E,M,C,G,M,S,C,K,C,I,C,G,E,E,E,O,E,E,O,C,Q,E,S,C,E,I,E,A,Y,O,Q,O,Q,C,E,G,C,C,E,C,E,E,G,E,O,E,I,C,G,G,G,A,U,O,E,M,C,M,C,K,W,O,G,G,E,M,E,C,E,K,C,E,C,M,G,C,C,I,C,K,C,C,C,C,C,O,A,U,E,0B,kC,G,A,S,C,E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AClD,CArHA,YAAY,SAAS,CAAC,YAAY,CAAG,SAAU,CAAuB,EACpE,IAAM,EAAa,EAAa,IAAI,CAAC,IAAI,CAAE,GAI3C,OAFA,EAAW,GAAG,CAAC,IAAI,CAAE,GAEd,CACT,EAiHA,IAAM,EAAY,IAAI,UACpB,EAAe,SAAC,CAA8B,EAC5C,OAAA,EAD+B,AAAjB,CAAA,AAAA,KAAA,IAAA,EAAsB,SAAQ,CAAA,EAAb,eAAA,CAC/B,EAIJ,SAAgB,EAAgB,CAAY,EAC1C,IAAM,EAAW,EAAU,eAAe,CAAC,EAAM,aAIjD,OAFA,EAAa,GAEN,CACT,CAUA,AAAA,CAAA,EAAA,QAAQ,SAAA,AAAA,EAAU,OAAO,EAAA,CAAA,EAAP,OAAO,CAAK,CAAA,EAC9B,AAAA,CAAA,EAAA,QAAQ,SAAA,AAAA,EAAU,aAAa,EAAA,CAAA,EAAb,aAAa,CAAK,CAAA,EACpC,AAAA,CAAA,EAAA,WAAW,SAAA,AAAA,EAAU,OAAO,EAAA,CAAA,EAAP,OAAO,CAAK,CAAA,EACjC,AAAA,CAAA,EAAA,WAAW,SAAA,AAAA,EAAU,aAAa,EAAA,CAAA,EAAb,aAAa,CAAK,CAAA,EACvC,SAAS,eAAe,EAAxB,CAAA,SAAS,eAAe,CAAK,CAAA,EAE7B,IAAI,QAAsB,SAAC,CAAO,EAC5B,AAAwB,aAAxB,SAAS,UAAU,CAAiB,KAEtC,SAAS,gBAAgB,CAAC,mBAAoB,GAC9C,OAAO,gBAAgB,CAAC,OAAQ,GAEpC,GAAG,IAAI,CAAC,WAAM,OAAA,GAAA,E,E,G,G,Q,S,C,C,C,E,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,G,E,O,C,U,I,G,G,E,O,C,e,I,G,G,E,O,C,c,I,G,G,E,O,C,a,I,G,G,E,O,C,W,I,G,G,E,O,C,U,I,G,G,E,O,C,Y,I,G,G,E,O,C,e,I,G,G,E,O,C,sB,I,G,G,E,O,C,Y,I,G,G,E,O,C,Y,I,I,G,E,O,C,e,I,I,G,E,O,C,e,I,I,G,E,O,C,e,I,I,G,E,O,C,a,I,I,G,E,O,C,gB,I,I,G,E,O,C,qB,I,I,G,E,O,C,Y,I,I,G,E,O,C,e,I,I,G,E,O,C,iB,I,I,G,E,O,C,Y,I,I,G,E,O,C,W,I,I,G,E,O,C,a,I,I,G,E,O,C,W,I,I,G,E,O,C,gB,I,I,G,E,O,C,sB,I,I,IGhDF,E,E,C,E,E,E,W,W,O,C,G,E,E,U,W,O,C,G,E,E,c,W,O,C,G,E,E,oB,W,O,C,G,E,E,iB,W,O,C,G,E,E,kB,W,O,C,G,E,E,a,W,O,C,G,E,E,e,W,O,C,G,E,E,c,W,O,C,G,E,E,W,W,O,C,G,E,E,a,W,O,C,G,E,E,a,W,O,C,G,E,E,W,W,O,C,G,E,E,U,W,O,C,G,E,E,Y,W,O,C,G,E,E,e,W,O,C,G,E,E,Y,W,O,C,G,E,E,a,W,O,C,G,E,E,W,W,OAuEL,SAAS,EACZ,CAAS,CACT,CAAoC,CACpC,CAA6B,EAE7B,IAAK,IAAM,KAAQ,EAAM,CACrB,GAAI,EAAQ,GAAO,MAAO,CAAC,EAAK,CAEhC,GAAI,CAAI,CAAC,EAAO,WAAY,MAAO,CAC/B,IAAM,EAAS,EACX,CAAI,CAAC,EAAO,CACZ,EACA,GAEJ,GAAI,EAAO,MAAM,CAAE,MAAO,CAAC,KAAS,EAAO,AAC/C,CACJ,CACA,MAAO,EAAE,AACb,C,G,E,E,U,W,O,C,G,E,E,Q,W,O,C,G,E,E,sB,W,O,C,G,E,E,c,W,O,C,G,E,E,W,W,O,C,G,I,E,C,EC3MO,SAAS,EAAI,GAAG,CAAc,EACjC,OAAO,EAAK,MAAM,CAAC,CAAC,EAAK,IAAS,EAAM,EAAM,EAClD,CAEO,SAAS,EAAU,GAAG,CAAc,EACvC,OAAO,KAAO,GAAQ,EAAK,MAAM,AACrC,CAEO,SAAS,EAAW,CAAc,CAAE,EAAS,CAAA,CAAK,EACrD,IAAM,EAAU,KAAa,GAG7B,OAAO,AAFS,KAAO,EAAK,GAAG,CAAC,AAAA,GAAS,AAAA,CAAA,EAAO,CAAA,GAAY,IAE1C,CAAA,EAAK,MAAM,CAAI,CAAA,EAAS,EAAI,CAAA,CAAA,CAClD,CAEO,SAAS,EAAoB,CAAc,CAAE,EAAS,CAAA,CAAK,EAC9D,OAAO,KAAK,IAAI,CAAC,EAAW,EAAM,GACtC,CAEO,SAAS,EAAa,GAAG,CAAc,EAC1C,OAAO,KAAK,IAAI,CAAC,KAAO,EAAK,GAAG,CAAC,AAA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A,S,C,E,I,E,A,S,C,C,C,E,G,U,O,G,C,E,O,E,I,E,C,C,O,W,C,C,G,K,I,E,C,I,E,E,I,C,E,G,W,G,U,O,E,O,C,O,A,U,+C,C,M,A,C,W,E,O,M,E,E,E,E,U,M,U,O,E,E,E,E,E,E,G,E,E,C,C,S,E,C,C,C,C,C,E,O,G,E,E,S,C,G,G,E,E,G,O,c,C,E,Y,C,S,C,C,G,C,C,S,E,C,C,C,E,I,E,a,O,Q,C,C,O,Q,C,E,C,C,a,C,G,E,M,A,C,E,E,I,C,E,E,I,C,I,C,G,G,M,O,C,I,C,E,A,S,C,C,C,E,G,E,C,G,U,O,E,O,E,E,K,G,I,E,A,C,C,C,E,Q,C,I,C,G,K,C,E,I,M,W,G,E,W,E,C,E,E,W,C,I,A,E,Q,G,Q,E,M,I,C,G,c,G,2C,I,C,G,E,E,K,G,K,C,C,E,E,G,G,G,U,O,E,M,C,C,G,C,E,C,E,I,E,E,O,W,O,G,E,M,C,C,K,C,C,E,C,K,C,E,M,C,C,I,A,C,C,C,M,A,U,wI,C,S,I,M,C,E,O,M,C,O,M,C,I,G,S,C,E,I,I,E,E,E,U,M,C,I,C,I,E,S,C,E,C,I,I,K,E,A,C,C,C,E,c,C,I,C,E,I,C,C,C,E,C,C,C,E,A,C,C,O,C,C,E,M,K,U,C,S,E,C,C,C,E,E,S,C,O,M,C,E,S,E,E,S,C,W,C,E,E,E,E,C,S,E,C,C,C,E,M,C,E,O,c,C,O,c,C,I,G,S,C,C,C,E,O,E,S,C,E,C,C,E,E,E,CCvOO,IAAMc,EAAuB,WAAA,EAAGphC,OAAO,2BAO9C,SAAgBqhC,EACZC,CAAsB,EAStB,OAAOpvC,OAAO6D,MAAM,CAPpB,SAAmBuI,CAAM,CAAEijC,CAAQ,EAC/B,GAAIC,EAAiBD,GACjB,OAAOD,EAAWG,eAAe,CAACnjC,EAAQijC,GAE1CG,EAAgBpjC,EAAQijC,EAAUD,E,EAGVA,EACpC,CAMA,SAAgBI,EAAgB1pC,CAAc,CAAEwB,CAAgB,CAAE8nC,CAAsB,EAC/ErB,EAAQjoC,EAAWopC,IACpB/B,EAAcrnC,EAAWopC,EAAuBH,EAAA,CAAA,EAEzCjpC,CAAS,CAACopC,EAAwB,GIrBhC,aAWNE,AJyBSA,EIzBEK,eAAe,EJ0B7B3pC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AAA,CACH,GAET,CACH,EAQT,CAKM,SAAU,GACZ,CAA4B,CAC5B,CAAgB,EAEhB,MAAO,CACH,EACA,CAAA,eAAE,CAAc,CAAkC,GAElD,EAAe,WACX,IAAM,EAAS,GAAS,GAAG,CAAC,IAAI,GAAK,EAAE,CACnC,EAAU,AAAA,CAAA,EAAA,GAAA,QAAA,AAAA,EAAS,EAAU,EAAO,IAAI,CAAC,IAAI,GAEjD,EAAO,IAAI,CAAC,CAAE,KAAA,EAAM,SAAA,EAAU,QAAA,CAAO,GAErC,GAAS,GAAG,CAAC,IAAI,CAAE,EACvB,EACR,C,I,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,EHnLa,IAAA,IAFZ,EAAA,CAAA,GAAU,CAAE,QAAS,eAAe,GACpC,GADA,C,E,E,CAGW,EAAA,Y,E,E,C,E,E,C,E,E,C,E,E,C,E,E,CAAR,EAAA,cAAQ,E,a,C,K,I,WAKC,GAAA,GAAA,CAAA,IAAA,CANA,CAAA,GAAA,IAAA,CAAA,GAAU,GAAA,IAAA,CAAA,EAAA,KAAA,EAAA,GAUV,GAAA,GAAA,CAAA,IAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,GAAA,IAAA,CAAA,EAAU,CAAA,EAAA,GAEnB,OAAA,cAAA,CAAA,IAAA,CAAA,YAAA,C,W,C,E,a,C,E,S,C,E,M,G,I,C,EAA4B,EA4BhC,CAlCI,IAAS,MAAI,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAb,IAAS,KAAI,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAIb,IAAS,SAAO,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAhB,IAAS,QAAO,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAIhB,MAAM,mBAAN,CACI,MAAM,AAAA,CAAA,EAAA,GAAA,SAAA,AAAA,EAAU,mDAEhB,IAAI,CAAC,WAAW,EACpB,CAGA,MAAM,aAAN,CACI,IAAI,CAAC,OAAO,CAAG,CAAA,EAEf,MAAM,GAAS,IAAI,CAAE,sBAErB,IAAI,CAAC,OAAO,CAAG,CAAA,CACnB,CAEA,QAAA,CACI,GAAM,CAAA,KAAE,CAAI,CAAA,QAAE,CAAO,CAAE,UAAW,CAAG,CAAE,CAAG,IAAI,CAE9C,OAAO,EACH,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAC,EAAG,CAAC,UAAW,CAAA,2BAAA,EAA8B,EAAA,CAAM,AAAA,GACpD,EAAK,QAAQ,CAAC,OACd,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,GAAA,QAAA,CAAA,CAAA,GAEA,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAC,EAAG,CAAA,EAEZ,C,E,G,I,Q,G,I,Q,G,E,U,O,G,e,C,G,G,W,C,I,M,C,G,W,C,K,E,E,O,c,C,G,O,C,a,C,E,M,E,G,A,C,K,I,E,I,E,A,Y,O,Q,O,Q,C,O,M,C,A,O,C,E,C,C,O,Q,C,A,G,A,K,I,E,E,M,K,EAnCC,EAAA,CAAA,GACA,GAAA,UAAA,CADA,CAIA,EAAA,CAAA,GACA,GAAA,UAAA,CADA,CAYA,EAAA,CAAA,GAAS,CAAC,CAAA,KAAE,CAAI,CAAE,GAAK,GAAvB,CAdD,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,WAAA,KAAA,OAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,SAAA,EAAA,IAAA,AAAA,GAAA,EAAS,IAAI,CAAA,IAAA,CAAA,EAAA,KAAA,EAAJ,IAAI,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GAIb,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,WAAA,KAAA,UAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,YAAA,EAAA,IAAA,AAAA,GAAA,EAAS,OAAO,CAAA,IAAA,CAAA,EAAA,KAAA,EAAP,OAAO,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GAWhB,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,SAAA,KAAA,cAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,gBAAA,EAAA,IAAA,AAAA,GAAA,EAAM,WAAW,AAAA,EAAA,SAAA,CAAA,EAAA,KAAA,GArBrB,GAAA,KAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAA,KAAA,QAAA,KAAA,EAAA,IAAA,CAAA,SAAA,CAAA,EAAA,KAAA,G,E,E,K,C,G,O,c,C,E,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,GAAa,GAAA,EAAA,E,C,I,G,O,I,C,G,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,G,I,O,c,C,G,E,C,W,C,E,I,W,O,E,C,E,A,C,E,G,I,G,C,E,G,G,Y,W,O,E,G,G,G,O,W,O,E,G,I,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,E,G,S,C,C,C,E,I,E,C,E,I,I,K,E,O,S,C,c,C,I,C,E,I,A,E,E,O,C,I,C,C,C,E,C,C,C,E,A,E,G,A,M,G,A,Y,O,O,qB,C,I,I,E,E,E,O,qB,C,G,E,E,M,C,I,E,E,O,C,C,C,E,G,O,S,C,oB,C,I,C,E,C,C,E,G,C,C,C,C,C,E,C,C,C,C,C,C,E,C,A,E,O,C,EKKA,IAAA,IAJZ,EAAA,CAAA,GAAU,CACP,QAAS,YACZ,GACA,GADA,C,E,E,CAE8B,EAAA,Y,E,E,C,E,E,C,E,E,C,E,E,CAAR,EAAA,cAAQ,EAI3B,IAAS,WAAS,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAlB,IAAS,UAAS,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAGlB,IAAS,gBAAc,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAvB,IAAS,eAAc,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAEvB,mBAAA,CACI,IAAI,CAAC,IAAI,EACb,CAEU,MAAM,MAAN,CACN,IAAI,CAAC,SAAS,CAAG,KAAA,EAEjB,IAAM,EAAM,MAAM,IAAI,CAAC,MAAM,EAE7B,CAAA,IAAI,CAAC,SAAS,CAAG,AAAC,IAAA,GAAA,CAAA,SAAE,CAAQ,CAAA,CAAA,EAAK,EAAK,GAAA,EAApB,CAAA,WAAsB,EAAK,MACzC,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAC,EAAG,OAAA,MAAA,CAAA,CAAA,EAAK,EAAK,CAAA,SAAG,CAAQ,GAC5B,EACD,IAAI,CAAC,IAAI,CAAC,OAAQ,IAAI,CAAC,SAAS,CACpC,CAEA,QAAA,CACI,GAAM,CAAE,UAAW,CAAG,CAAA,MAAE,CAAK,CAAA,eAAE,CAAc,CAAE,CAAG,IAAI,CAChD,EAAA,OAAA,MAAA,CAAA,OAAA,MAAA,CAAA,CAAA,EAA6B,GAAU,GAAvC,CAAA,SAAE,CAAQ,CAAA,CAAA,EAAK,EAAI,GAAA,EAAnB,CAAA,WAAqB,EAE3B,OAAO,GAAO,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAC,EAAG,OAAA,MAAA,CAAA,CAAA,EAAK,EAAI,CAAA,SAAG,CAAQ,GAC1C,C,a,C,K,I,WA5BA,OAAA,cAAA,CAAA,IAAA,CAAA,SAAA,C,W,C,E,a,C,E,S,C,E,M,K,CAAiC,GAGxB,GAAA,GAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,EAAA,KAAA,IAGA,GAAA,GAAA,CAAA,IAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,GAAA,IAAA,CAAA,EAAA,KAAA,EAAA,G,G,I,C,E,C,E,G,I,Q,G,I,Q,G,E,U,O,G,c,C,G,G,W,C,I,M,C,G,W,C,K,E,E,O,c,C,G,O,C,a,C,E,M,E,G,A,C,K,I,E,I,E,A,Y,O,Q,O,Q,C,O,M,C,A,O,C,E,C,C,O,Q,C,A,G,A,K,I,E,E,M,K,EAJR,EAAA,CAAA,GAAA,UAAA,CAAA,CAGA,EAAA,CAAA,GAAA,UAAA,CAAA,CAFD,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,WAAA,KAAA,YAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,cAAA,EAAA,IAAA,AAAA,GAAA,EAAS,SAAS,CAAA,IAAA,CAAA,EAAA,KAAA,EAAT,SAAS,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GAGlB,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,WAAA,KAAA,iBAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,mBAAA,EAAA,IAAA,AAAA,GAAA,EAAS,cAAc,CAAA,IAAA,CAAA,EAAA,KAAA,EAAd,cAAc,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GAP3B,GAAA,KAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAA,KAAA,QAAA,KAAA,EAAA,IAAA,CAAA,SAAA,CAAA,EAAA,KAAA,G,E,E,K,C,G,O,c,C,E,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,GAAa,GAAA,EAAA,E,C,I,GAsCP,SAAU,GAEd,CAAS,EACP,OAAO,AAAC,GACJ,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAC,GAAS,CACN,eAAgB,EAChB,OAAQ,SAAY,AAAC,CAAA,MAAM,GAAA,EAAU,OAAO,AAAA,EAGxD,C,G,C,E,Y,W,O,E,G,I,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,EC1DM,SAAU,GACZ,CAAQ,CACR,CAAwB,M,E,E,E,E,E,M,E,E,E,E,E,EAGX,E,E,E,E,E,E,E,E,E,E,E,EAmEb,OAnEa,EAAA,E,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,CADP,EAAA,cACM,EAUR,SAAS,CAAa,CAAtB,CACI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAChC,CAEA,qBAAqB,CAAiB,CAAtC,CACI,IAAI,CAAC,QAAQ,CAAG,CACpB,CAIA,IAAS,MAAI,CAAA,OAAA,GAAA,IAAA,CAAA,EAAA,IAAA,CAAb,IAAS,KAAI,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,EAAA,EAAA,IAAA,CAGb,IAAS,OAAK,CAAA,OAAA,GAAA,IAAA,CAAA,EAAA,IAAA,CAAd,IAAS,MAAK,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,EAAA,EAAA,IAAA,CAId,IAAS,UAAQ,CAAA,OAAA,GAAA,IAAA,CAAA,EAAA,IAAA,CAAjB,IAAS,SAAQ,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,EAAA,EAAA,IAAA,CAIjB,IAAS,UAAQ,CAAA,OAAA,GAAA,IAAA,CAAA,EAAA,IAAA,CAAjB,IAAS,SA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AAAA,GAAA,aAAA,EAAA,IAAA,AAAA,GAAA,EAAS,QAAQ,CAAA,IAAA,CAAA,EAAA,KAAA,EAAR,QAAQ,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GAIjB,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,WAAA,KAAA,YAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,cAAA,EAAA,IAAA,AAAA,GAAA,EAAS,SAAS,CAAA,IAAA,CAAA,EAAA,KAAA,EAAT,SAAS,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,G,G,O,c,C,E,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,E,C,IA5BX,OAAA,cAAA,CAAA,EAAA,iBAAA,C,W,C,E,a,C,E,S,C,EAAiB,MAAA,CAAA,CAAK,G,CA6DrC,C,S,G,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,G,C,E,G,G,a,I,I,G,G,U,I,I,I,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,C,C,E,G,A,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C,E,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,ECtCK,IAAA,IALZ,EAAA,CAAA,AAAA,GAAU,CACP,QAAS,aACT,YAAa,CAAA,CAChB,GACA,GADA,C,E,E,CAE8B,EAAA,Y,E,E,C,E,E,C,E,E,C,E,E,C,E,E,CAAR,EAAA,cAAQ,E,a,C,K,I,WAIlB,GAAA,GAAA,CAAA,IAAA,CAJA,CAAA,GAAA,IAAA,CAAA,GAAS,GAAA,IAAA,CAAA,EAAA,KAAA,EAAA,GAQT,GAAA,GAAA,CAAA,IAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,GAAA,IAAA,CAAA,EAAA,KAAA,EAAA,GAET,OAAA,cAAA,CAAA,IAAA,CAAA,YAAA,C,W,C,E,a,C,E,S,C,E,M,G,I,C,EAAuC,EAyB3C,CA/BI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lB,CAEA,IACI,IAAI,EAAI,EAAO,EAAI,EAAI,EAAI,EAC3B,EAAI,EACJ,EAAI,EAAI,EAAG,GAAK,EAClB,CACE,GAAM,CAAA,OACF,CAAM,CACN,QAAS,CAAE,gBAAiB,CAAK,CAAE,CAAA,KACnC,CAAI,CACP,CAAG,MAAM,IAAI,CAAC,GAAG,CACd,EACA,CAAE,GAAG,CAAO,CAAE,MAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAA,CAAG,AAAC,EACvC,GAEE,EAAa,CAAE,GAAkB,MAAM,KAAK,MAIlD,GAFI,GAAY,EAAe,GAE3B,AAAW,MAAX,EAAgB,CAChB,KAAM,CAAE,MAAA,EAAO,OAAQ,EAAO,QAAS,IAAK,OAAQ,CAAK,EACzD,KACJ,CACA,IAAM,EAAS,EAAI,EAAK,UAAU,AAElC,MAAM,CACF,MAAA,EACA,OAAA,EACA,QAAS,CAAE,AAAC,CAAA,EAAS,EAAS,GAAA,EAAK,OAAO,CAAC,GAC3C,OAAQ,CACZ,CACJ,CACJ,CACJ,CNjPO,MAAM,GAAU,IAAI,GAAW,CAClC,QAAS,+BACT,aAAc,MACjB,G,I,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,EDyBD,GAAe,I,E,E,C,E,E,CAbF,GAAA,MAET,IAAS,MAAI,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAb,IAAS,KAAI,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAEP,QAAQ,CAAc,CAAtB,K,E,E,E,E,O,E,I,C,E,K,E,E,K,E,E,YACF,GAAM,CAAA,KAAE,CAAI,CAAE,CAAG,MAAM,AAAA,GAAQ,GAAG,CAAY,CAAA,EAAG,EAAI,KAAA,CAAO,EAE5D,OAAQ,IAAI,CAAC,IAAI,CAAG,EAAM,IAAI,CAAC,CAAC,CAAE,KAAM,CAAC,CAAE,CAAE,CAAE,KAAM,CAAC,CAAE,GACpD,EAAE,aAAa,CAAC,GAExB,E,G,C,G,C,E,O,C,E,S,C,C,C,E,S,E,C,E,G,C,E,E,I,C,G,C,M,E,C,E,E,C,C,S,E,C,E,G,C,E,E,K,C,G,C,M,E,C,E,E,C,C,S,E,C,M,C,C,E,I,C,E,E,K,E,A,C,C,E,E,K,Y,E,E,I,E,S,C,E,E,E,E,E,I,C,E,E,C,E,A,C,E,E,K,C,E,G,E,C,E,I,G,EAAC,C,a,CARQ,GAAA,GAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,EAAkB,EAAE,G,G,I,C,E,C,E,G,I,Q,A,C,K,I,E,A,Y,O,Q,O,Q,C,O,M,C,M,K,EAA7B,GAAA,GAAA,KADC,CAAA,GAAA,UAAA,CAAA,CACD,CAAA,KAAA,WAAA,KAAA,OAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,SAAA,EAAA,IAAA,AAAA,GAAA,EAAS,IAAI,CAAA,IAAA,CAAA,EAAA,KAAA,EAAJ,IAAI,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,G,G,O,c,C,G,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,E,C,I,I,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,EPFJ,IAAA,IAFZ,GAAA,CAAA,AAAA,GAAU,CAAE,QAAS,eAAgB,WAAA,EAAU,GAC/C,GADA,C,G,E,CAGW,GAAA,Y,G,E,C,G,E,C,G,E,CAAR,EAAA,cAAQ,G,a,C,K,I,WAKC,GAAA,GAAA,CAAA,IAAA,CANA,CAAA,GAAA,IAAA,CAAA,IAAW,GAAA,IAAA,C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,c,C,E,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,GAAa,GAAA,EAAA,G,C,I,G,I,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,E7LAb,KAAM,CAAA,MAAE,EAAK,CAAE,CAAG,AAAA,KAIL,IAAA,IAFZ,GAAA,CAAA,AAAA,GAAU,CAAE,QAAS,WAAY,WAAA,EAAU,GAC3C,GADA,C,G,E,CAE4B,GAAA,Y,G,E,C,G,E,CAAR,GAAA,cAAQ,GAGzB,IAAS,YAAU,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAnB,IAAS,WAAU,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,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","sources":["<anon>","node_modules/.pnpm/dom-renderer@2.6.2_typescript@5.8.2/node_modules/dom-renderer/dist/VDOM.js","node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.js","node_modules/.pnpm/declarative-shadow-dom-polyfill@0.4.0_typescript@5.8.2/node_modules/declarative-shadow-dom-polyfill/dist/index.js","node_modules/.pnpm/declarative-shadow-dom-polyfill@0.4.0_typescript@5.8.2/node_modules/declarative-shadow-dom-polyfill/source/index.ts","node_modules/.pnpm/web-utility@4.4.3_typescript@5.8.2/node_modules/web-utility/dist/index.esm.js","node_modules/.pnpm/web-utility@4.4.3_typescript@5.8.2/node_modules/web-utility/dist/source/index.ts","node_modules/.pnpm/web-utility@4.4.3_typescript@5.8.2/node_modules/web-utility/dist/source/data.ts","node_modules/.pnpm/web-utility@4.4.3_typescript@5.8.2/node_modules/web-utility/dist/source/math.ts","node_modules/.pnpm/web-utility@4.4.3_typescript@5.8.2/node_modules/web-utility/dist/source/date.ts","node_modules/.pnpm/web-utility@4.4.3_typescript@5.8.2/node_modules/web-utility/dist/source/parser.ts","node_modules/.pnpm/web-utility@4.4.3_typescript@5.8.2/node_modules/web-utility/dist/source/URL.ts","node_modules/.pnpm/web-utility@4.4.3_typescript@5.8.2/node_modules/web-utility/dist/source/crypto.ts","node_modules/.pnpm/web-utility@4.4.3_typescript@5.8.2/node_modules/web-utility/dist/source/DOM-type.ts","node_modules/.pnpm/web-utility@4.4.3_typescript@5.8.2/node_modules/web-utility/dist/source/DOM.ts","node_modules/.pnpm/web-utility@4.4.3_typescript@5.8.2/node_modules/web-utility/dist/source/timer.ts","node_modules/.pnpm/web-utility@4.4.3_typescript@5.8.2/node_modules/web-utility/dist/source/event.ts","node_modules/.pnpm/web-utility@4.4.3_typescript@5.8.2/node_modules/web-utility/dist/source/animation.ts","node_modules/.pnpm/web-utility@4.4.3_typescript@5.8.2/node_modules/web-utility/dist/source/assert.ts","node_modules/.pnpm/dom-renderer@2.6.2_typescript@5.8.2/node_modules/dom-renderer/dist/DOMRenderer.js","node_modules/.pnpm/scheduler-polyfill@1.3.0/node_modules/scheduler-polyfill/dist/scheduler-polyfill.js","node_modules/.pnpm/scheduler-polyfill@1.3.0/node_modules/scheduler-polyfill/src/scheduler-priorities.js","node_modules/.pnpm/scheduler-polyfill@1.3.0/node_modules/scheduler-polyfill/src/host-callback.js","node_modules/.pnpm/scheduler-polyfill@1.3.0/node_modules/scheduler-polyfill/src/intrusive-task-queue.js","node_modules/.pnpm/scheduler-polyfill@1.3.0/node_modules/scheduler-polyfill/src/task-controller.js","node_modules/.pnpm/scheduler-polyfill@1.3.0/node_modules/scheduler-polyfill/src/polyfill.js","node_modules/.pnpm/scheduler-polyfill@1.3.0/node_modules/scheduler-polyfill/src/scheduler.js","node_modules/.pnpm/scheduler-polyfill@1.3.0/node_modules/scheduler-polyfill/src/yield.js","node_modules/.pnpm/web-streams-polyfill@4.1.0/node_modules/web-streams-polyfill/dist/ponyfill.mjs","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/dist/mobx.esm.js","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/errors.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/utils/global.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/utils/utils.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/decorators.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/core/atom.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/utils/comparer.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/types/modifiers.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/types/overrideannotation.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/types/actionannotation.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/types/flowannotation.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/types/computedannotation.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/types/observableannotation.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/types/autoannotation.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/observable.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/computed.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/core/action.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/types/observablevalue.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/core/computedvalue.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/core/derivation.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/core/globalstate.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/core/observable.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/core/reaction.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/core/spy.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/action.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/autorun.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/become-observed.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/configure.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/extendobservable.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/extras.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/flow.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/intercept-read.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/intercept.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/iscomputed.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/isobservable.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/object-api.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/observe.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/tojs.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/trace.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/transaction.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/when.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/types/dynamicobject.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/types/intercept-utils.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/types/listen-utils.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/makeObservable.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/types/observablearray.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/types/observablemap.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/types/observableset.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/types/observableobject.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/types/legacyobservablearray.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/types/type-utils.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/utils/eq.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/utils/iterable.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/api/annotation.ts","node_modules/.pnpm/mobx@6.13.6/node_modules/mobx/src/mobx.ts","src/index.tsx","node_modules/.pnpm/dom-renderer@2.6.2_typescript@5.8.2/node_modules/dom-renderer/jsx-runtime.js","node_modules/.pnpm/browser-unhandled-rejection@1.0.2/node_modules/browser-unhandled-rejection/dist/bundle.es.js","node_modules/.pnpm/dom-renderer@2.6.2_typescript@5.8.2/node_modules/dom-renderer/dist/index.js","src/page/index.tsx","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/button-icon.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/button-icon/index.js","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/reactive-element.js","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/src/reactive-element.ts","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/css-tag.js","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/src/css-tag.ts","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/lit-html.js","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/src/lit-html.ts","node_modules/.pnpm/lit-element@4.1.1/node_modules/lit-element/lit-element.js","node_modules/.pnpm/lit-element@4.1.1/node_modules/lit-element/src/lit-element.ts","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/is-server.js","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/src/is-server.ts","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/custom-element.js","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/src/decorators/custom-element.ts","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/property.js","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/src/decorators/property.ts","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/state.js","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/src/decorators/state.ts","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/event-options.js","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/src/decorators/event-options.ts","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/query.js","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/src/decorators/query.ts","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/base.js","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/src/decorators/base.ts","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/query-all.js","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/src/decorators/query-all.ts","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/query-async.js","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/src/decorators/query-async.ts","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/src/decorators/query-assigned-elements.ts","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/query-assigned-nodes.js","node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/src/decorators/query-assigned-nodes.ts","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/directives/ref.js","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/src/directives/ref.ts","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/async-directive.js","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/src/async-directive.ts","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/directive-helpers.js","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/src/directive-helpers.ts","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/directive.js","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/src/directive.ts","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/controllers/has-slot.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/$.js","node_modules/.pnpm/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/shared/core.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/shared/helper.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/shared/dom.js","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/decorators/watch.js","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/helpers/decorator.js","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/helpers/template.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/button/button-base.js","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/directives/if-defined.js","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/src/directives/if-defined.ts","node_modules/.pnpm/classcat@5.0.5/node_modules/classcat/index.js","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/base/mdui-element.js","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/controllers/form.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/attr.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/shared/attributes.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/shared/css.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/each.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/css.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/shared/form.js","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/controllers/defined.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/functions/unique.js","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/lit-styles/component-style.js","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/mixins/anchor.js","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/mixins/focusable.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/removeAttr.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/circular-progress.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/circular-progress/index.js","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/directives/class-map.js","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/src/directives/class-map.ts","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/circular-progress/style.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/ripple/ripple-mixin.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/index.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/children.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/is.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/eq.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/slice.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/get.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/parent.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/utils/dir.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/ripple/index.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/addClass.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/data.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/shared/data.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/filter.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/map.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/functions/map.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/functions/each.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/innerHeight.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/width.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/innerWidth.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/offset.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/functions/extend.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/position.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/offsetParent.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/on.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/shared/event.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/functions/contains.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/find.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/functions/merge.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/off.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/prependTo.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/appendTo.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/insertAfter.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/insertBefore.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/remove.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/ripple/style.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/button/button-base-style.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/icon.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/icon/index.js","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/directives/style-map.js","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/src/directives/style-map.ts","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/directives/unsafe-svg.js","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/src/directives/unsafe-svg.ts","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/directives/unsafe-html.js","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/src/directives/unsafe-html.ts","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/directives/until.js","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/src/directives/until.ts","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/directives/private-async-helpers.js","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/src/directives/private-async-helpers.ts","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/functions/ajax.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/trigger.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/shared/ajax.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/functions/param.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/icon/style.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/button-icon/style.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/layout.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/layout/layout.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/layout/layout-style.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/layout-item.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/layout/layout-item.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/layout/layout-item-base.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/layout/helper.js","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/helpers/observeResize.js","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/helpers/uniqueId.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/layout/layout-item-style.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/layout-main.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/layout/layout-main.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/layout/layout-main-style.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/list.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/list/list.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/list/list-style.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/list-item.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/list/list-item.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/list/list-item-style.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/navigation-drawer.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/navigation-drawer/index.js","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/directives/when.js","node_modules/.pnpm/lit-html@3.2.1/node_modules/lit-html/src/directives/when.ts","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/helpers/animate.js","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/helpers/breakpoint.js","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/helpers/modal.js","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/helpers/tabbable.js","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/helpers/motion.js","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/helpers/scroll.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/append.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/after.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/before.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/clone.js","node_modules/.pnpm/@mdui+jq@3.0.2/node_modules/@mdui/jq/methods/removeClass.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/navigation-drawer/style.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/top-app-bar.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/top-app-bar/top-app-bar.js","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/mixins/scrollBehavior.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/top-app-bar/top-app-bar-style.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/top-app-bar-title.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/top-app-bar/top-app-bar-title.js","node_modules/.pnpm/@mdui+shared@1.0.7/node_modules/@mdui/shared/helpers/slot.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/top-app-bar/top-app-bar-title-style.js","node_modules/.pnpm/cell-router@3.0.3_typescript@5.8.2/node_modules/cell-router/dist/index.esm.js","node_modules/.pnpm/cell-router@3.0.3_typescript@5.8.2/node_modules/cell-router/dist/source/index.ts","node_modules/.pnpm/cell-router@3.0.3_typescript@5.8.2/node_modules/cell-router/dist/source/History.ts","node_modules/.pnpm/cell-router@3.0.3_typescript@5.8.2/node_modules/cell-router/dist/source/Router.tsx","node_modules/.pnpm/cell-router@3.0.3_typescript@5.8.2/node_modules/cell-router/dist/source/utility.ts","node_modules/.pnpm/cell-router@3.0.3_typescript@5.8.2/node_modules/cell-router/dist/source/scope.tsx","node_modules/.pnpm/urlpattern-polyfill@10.0.0/node_modules/urlpattern-polyfill/index.js","node_modules/.pnpm/urlpattern-polyfill@10.0.0/node_modules/urlpattern-polyfill/dist/urlpattern.js","node_modules/.pnpm/web-cell@3.0.4_typescript@5.8.2/node_modules/web-cell/dist/index.esm.js","node_modules/.pnpm/web-cell@3.0.4_typescript@5.8.2/node_modules/web-cell/dist/source/index.ts","node_modules/.pnpm/web-cell@3.0.4_typescript@5.8.2/node_modules/web-cell/dist/source/Animation/index.tsx","node_modules/.pnpm/web-cell@3.0.4_typescript@5.8.2/node_modules/web-cell/dist/source/decorator.ts","node_modules/.pnpm/web-cell@3.0.4_typescript@5.8.2/node_modules/web-cell/dist/source/utility.ts","node_modules/.pnpm/web-cell@3.0.4_typescript@5.8.2/node_modules/web-cell/dist/source/WebCell.tsx","node_modules/.pnpm/web-cell@3.0.4_typescript@5.8.2/node_modules/web-cell/dist/source/Animation/type.ts","node_modules/.pnpm/web-cell@3.0.4_typescript@5.8.2/node_modules/web-cell/dist/source/Async.tsx","node_modules/.pnpm/web-cell@3.0.4_typescript@5.8.2/node_modules/web-cell/dist/source/WebField.ts","src/utility.ts","src/page/CompanyList.tsx","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/button.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/button/index.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/button/style.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/card.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/card/index.js","node_modules/.pnpm/mdui@2.1.3/node_modules/mdui/components/card/style.js","src/model/Company.ts","src/model/service.ts","node_modules/.pnpm/koajax@3.1.1_typescript@5.8.2/node_modules/koajax/dist/index.esm.js","node_modules/.pnpm/koajax@3.1.1_typescript@5.8.2/node_modules/koajax/dist/source/index.ts","node_modules/.pnpm/koajax@3.1.1_typescript@5.8.2/node_modules/koajax/dist/source/Stack.ts","node_modules/.pnpm/koajax@3.1.1_typescript@5.8.2/node_modules/koajax/dist/source/HTTPRequest.ts","node_modules/.pnpm/koajax@3.1.1_typescript@5.8.2/node_modules/koajax/dist/source/utility.ts","node_modules/.pnpm/koajax@3.1.1_typescript@5.8.2/node_modules/koajax/dist/source/HTTPClient.ts"],"sourcesContent":["\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequire94c2\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequire94c2\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nparcelRegister(\"8alBv\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.VNode = module.exports.VNodeMeta = void 0;\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\nvar $8AMcb = parcelRequire(\"8AMcb\");\n\nvar $kYZOD = parcelRequire(\"kYZOD\");\nvar $5f2004034b0afe28$var$VNodeMeta = /** @class */ function() {\n function VNodeMeta() {\n this.children = [];\n }\n return VNodeMeta;\n}();\nmodule.exports.VNodeMeta = $5f2004034b0afe28$var$VNodeMeta;\nvar $5f2004034b0afe28$var$VNode = /** @class */ function(_super) {\n $ceFTv.__extends(VNode, _super);\n function VNode(_b) {\n var e_1, _c, _d, e_2, _e;\n var _this = this;\n var children = _b.children, meta = $ceFTv.__rest(_b, [\n \"children\"\n ]);\n _this = _super.call(this) || this;\n _this.children = [];\n Object.assign(_this, meta);\n try {\n for(var _f = $ceFTv.__values(children || []), _g = _f.next(); !_g.done; _g = _f.next()){\n var vNode = _g.value;\n (_d = _this.children).push.apply(_d, $ceFTv.__spreadArray([], $ceFTv.__read(_a.isFragment(vNode) ? vNode.children || [] : [\n vNode\n ]), false));\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally{\n try {\n if (_g && !_g.done && (_c = _f.return)) _c.call(_f);\n } finally{\n if (e_1) throw e_1.error;\n }\n }\n try {\n for(var _h = $ceFTv.__values(_this.children), _j = _h.next(); !_j.done; _j = _h.next()){\n var child = _j.value;\n child.parent = _this;\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally{\n try {\n if (_j && !_j.done && (_e = _h.return)) _e.call(_h);\n } finally{\n if (e_2) throw e_2.error;\n }\n }\n var tagName = meta.tagName, is = meta.is, props = meta.props;\n if (!tagName && !(props === null || props === void 0 ? void 0 : props.className) && !is) return _this;\n _this.selector = [\n tagName === null || tagName === void 0 ? void 0 : tagName.toLowerCase(),\n (props === null || props === void 0 ? void 0 : props.className) && \".\".concat(props.className.trim().replace(/\\s+/, '.')),\n is && \"[is=\\\"\".concat(is, \"\\\"]\")\n ].filter(Boolean).join('');\n return _this;\n }\n VNode.prototype.walkUp = function() {\n var current;\n return $ceFTv.__generator(this, function(_b) {\n switch(_b.label){\n case 0:\n current = this;\n _b.label = 1;\n case 1:\n if (!(current = current.parent)) return [\n 3 /*break*/ ,\n 3\n ];\n return [\n 4 /*yield*/ ,\n current\n ];\n case 2:\n _b.sent();\n return [\n 3 /*break*/ ,\n 1\n ];\n case 3:\n return [\n 2 /*return*/ \n ];\n }\n });\n };\n VNode.prototype.namespaceOf = function(tagName) {\n var e_3, _b;\n if ($kYZOD.XMLNamespace[tagName]) return $kYZOD.XMLNamespace[tagName];\n try {\n for(var _c = $ceFTv.__values(this.walkUp()), _d = _c.next(); !_d.done; _d = _c.next()){\n var namespace = _d.value.namespace;\n if (namespace) return namespace;\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally{\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n } finally{\n if (e_3) throw e_3.error;\n }\n }\n return $kYZOD.XMLNamespace.html;\n };\n VNode.prototype.createDOM = function(document1) {\n if (document1 === void 0) document1 = globalThis.document;\n var _b = this, tagName = _b.tagName, is = _b.is, text = _b.text;\n return this.node = text ? document1.createTextNode(text) : !tagName ? document1.createDocumentFragment() : document1.createElementNS(this.namespace || (this.namespace = this.namespaceOf(tagName)), tagName, {\n is: is\n });\n };\n VNode.prototype.toJSON = function() {\n var _b = this, key = _b.key, text = _b.text, selector = _b.selector, namespace = _b.namespace, tagName = _b.tagName, is = _b.is, props = _b.props, style = _b.style, children = _b.children;\n return JSON.parse(JSON.stringify({\n key: key,\n text: text,\n selector: selector,\n namespace: namespace,\n tagName: tagName,\n is: is,\n props: props,\n style: style,\n children: children\n }));\n };\n VNode.prototype.generateElementXML = function() {\n var _b, tagName, props, style, children, node, body, shadowRoots, innerHTML, restProps, _c, _d, _e, _i, key, _f, _g, _h, _j, key, children_1, children_1_1, child, e_4_1;\n var e_4, _k;\n return $ceFTv.__generator(this, function(_l) {\n switch(_l.label){\n case 0:\n _b = this, tagName = _b.tagName, props = _b.props, style = _b.style, children = _b.children, node = _b.node;\n if (!(tagName.includes('-') && (0, $kYZOD.elementTypeOf)(tagName) === 'html')) return [\n 3 /*break*/ ,\n 2\n ];\n body = ((node === null || node === void 0 ? void 0 : node.ownerDocument) || document).implementation.createHTMLDocument().body;\n body.innerHTML = \"<\".concat(tagName, \"></\").concat(tagName, \">\");\n shadowRoots = $ceFTv.__spreadArray([], $ceFTv.__read((0, $8AMcb.findShadowRoots)(body)), false);\n return [\n 4 /*yield*/ ,\n body.getHTML({\n serializableShadowRoots: true,\n shadowRoots: shadowRoots\n })\n ];\n case 1:\n _l.sent();\n return [\n 3 /*break*/ ,\n 29\n ];\n case 2:\n innerHTML = props.innerHTML, restProps = $ceFTv.__rest(props, [\n \"innerHTML\"\n ]);\n return [\n 4 /*yield*/ ,\n \"<\".concat(tagName)\n ];\n case 3:\n _l.sent();\n _c = restProps;\n _d = [];\n for(_e in _c)_d.push(_e);\n _i = 0;\n _l.label = 4;\n case 4:\n if (!(_i < _d.length)) return [\n 3 /*break*/ ,\n 7\n ];\n _e = _d[_i];\n if (!(_e in _c)) return [\n 3 /*break*/ ,\n 6\n ];\n key = _e;\n return [\n 4 /*yield*/ ,\n \" \".concat(_a.propsMap[key] || key, \"=\\\"\").concat(restProps[key], \"\\\"\")\n ];\n case 5:\n _l.sent();\n _l.label = 6;\n case 6:\n _i++;\n return [\n 3 /*break*/ ,\n 4\n ];\n case 7:\n if (!style) return [\n 3 /*break*/ ,\n 14\n ];\n return [\n 4 /*yield*/ ,\n \" style=\\\"\"\n ];\n case 8:\n _l.sent();\n _f = style;\n _g = [];\n for(_h in _f)_g.push(_h);\n _j = 0;\n _l.label = 9;\n case 9:\n if (!(_j < _g.length)) return [\n 3 /*break*/ ,\n 12\n ];\n _h = _g[_j];\n if (!(_h in _f)) return [\n 3 /*break*/ ,\n 11\n ];\n key = _h;\n return [\n 4 /*yield*/ ,\n \"\".concat((0, $kYZOD.toHyphenCase)(key), \":\").concat(style[key], \";\")\n ];\n case 10:\n _l.sent();\n _l.label = 11;\n case 11:\n _j++;\n return [\n 3 /*break*/ ,\n 9\n ];\n case 12:\n return [\n 4 /*yield*/ ,\n \"\\\"\"\n ];\n case 13:\n _l.sent();\n _l.label = 14;\n case 14:\n if (!innerHTML) return [\n 3 /*break*/ ,\n 16\n ];\n return [\n 4 /*yield*/ ,\n \">\".concat(innerHTML, \"</\").concat(tagName, \">\")\n ];\n case 15:\n _l.sent();\n return [\n 3 /*break*/ ,\n 29\n ];\n case 16:\n if (!children[0]) return [\n 3 /*break*/ ,\n 27\n ];\n return [\n 4 /*yield*/ ,\n '>'\n ];\n case 17:\n _l.sent();\n _l.label = 18;\n case 18:\n _l.trys.push([\n 18,\n 23,\n 24,\n 25\n ]);\n children_1 = $ceFTv.__values(children), children_1_1 = children_1.next();\n _l.label = 19;\n case 19:\n if (!!children_1_1.done) return [\n 3 /*break*/ ,\n 22\n ];\n child = children_1_1.value;\n return [\n 5 /*yield**/ ,\n $ceFTv.__values(child.generateXML())\n ];\n case 20:\n _l.sent();\n _l.label = 21;\n case 21:\n children_1_1 = children_1.next();\n return [\n 3 /*break*/ ,\n 19\n ];\n case 22:\n return [\n 3 /*break*/ ,\n 25\n ];\n case 23:\n e_4_1 = _l.sent();\n e_4 = {\n error: e_4_1\n };\n return [\n 3 /*break*/ ,\n 25\n ];\n case 24:\n try {\n if (children_1_1 && !children_1_1.done && (_k = children_1.return)) _k.call(children_1);\n } finally{\n if (e_4) throw e_4.error;\n }\n return [\n 7 /*endfinally*/ \n ];\n case 25:\n return [\n 4 /*yield*/ ,\n \"</\".concat(tagName, \">\")\n ];\n case 26:\n _l.sent();\n return [\n 3 /*break*/ ,\n 29\n ];\n case 27:\n return [\n 4 /*yield*/ ,\n tagName === 'script' ? '></script>' : ' />'\n ];\n case 28:\n _l.sent();\n _l.label = 29;\n case 29:\n return [\n 2 /*return*/ \n ];\n }\n });\n };\n VNode.prototype.generateXML = function() {\n var mode;\n return $ceFTv.__generator(this, function(_b) {\n switch(_b.label){\n case 0:\n if (!_a.isFragment(this)) return [\n 3 /*break*/ ,\n 5\n ];\n return [\n 4 /*yield*/ ,\n '<template'\n ];\n case 1:\n _b.sent();\n mode = (this.node || {}).mode;\n if (!mode) return [\n 3 /*break*/ ,\n 3\n ];\n return [\n 4 /*yield*/ ,\n \" shadowrootmode=\\\"\".concat(mode, \"\\\"\")\n ];\n case 2:\n _b.sent();\n _b.label = 3;\n case 3:\n return [\n 4 /*yield*/ ,\n '>'\n ];\n case 4:\n _b.sent();\n return [\n 3 /*break*/ ,\n 9\n ];\n case 5:\n if (!(this.text != null)) return [\n 3 /*break*/ ,\n 7\n ];\n return [\n 4 /*yield*/ ,\n this.text\n ];\n case 6:\n _b.sent();\n return [\n 3 /*break*/ ,\n 9\n ];\n case 7:\n return [\n 5 /*yield**/ ,\n $ceFTv.__values(this.generateElementXML())\n ];\n case 8:\n _b.sent();\n _b.label = 9;\n case 9:\n return [\n 2 /*return*/ \n ];\n }\n });\n };\n VNode.isFragment = function(_b) {\n var key = _b.key, node = _b.node, children = _b.children, rest = $ceFTv.__rest(_b, [\n \"key\",\n \"node\",\n \"children\"\n ]);\n for(var key_1 in rest)if (!(0, $kYZOD.isEmpty)(rest[key_1])) return false;\n return true;\n };\n VNode.fromDOM = function(node) {\n var _this = this;\n if (node instanceof Text) return new _a({\n node: node,\n text: node.nodeValue\n });\n if (!(node instanceof Element)) return new _a({\n node: node\n });\n var _b = node, namespaceURI = _b.namespaceURI, tagName = _b.tagName, attributes = _b.attributes, style = _b.style, childNodes = _b.childNodes;\n var vNode = {\n node: node,\n namespace: namespaceURI,\n tagName: tagName.toLowerCase(),\n is: node.getAttribute('is')\n };\n var props = Array.from(attributes, function(_b) {\n var name = _b.name, value = _b.value;\n return name !== 'style' && [\n _this.attrsMap[name] || name,\n value\n ];\n }).filter(Boolean);\n if (props[0]) vNode.props = Object.fromEntries(props);\n var styles = Array.from(style, function(key) {\n return [\n key,\n style[key]\n ];\n });\n if (styles[0]) vNode.style = Object.fromEntries(styles);\n var children = Array.from(childNodes, function(node) {\n return _a.fromDOM(node);\n });\n if (children[0]) vNode.children = children;\n return new _a(vNode);\n };\n var _a;\n _a = VNode;\n VNode.propsMap = {\n httpEquiv: 'http-equiv',\n className: 'class',\n htmlFor: 'for'\n };\n VNode.attrsMap = Object.fromEntries(Object.entries(_a.propsMap).map(function(item) {\n return item.reverse();\n }));\n return VNode;\n}($5f2004034b0afe28$var$VNodeMeta);\nmodule.exports.VNode = $5f2004034b0afe28$var$VNode;\n\n});\nparcelRegister(\"ceFTv\", function(module, exports) {\n\n$parcel$export(module.exports, \"__extends\", () => $8e874a2fb001c377$export$a8ba968b8961cb8a);\n$parcel$export(module.exports, \"__assign\", () => $8e874a2fb001c377$export$18ce0697a983be9b);\n$parcel$export(module.exports, \"__rest\", () => $8e874a2fb001c377$export$3c9a16f847548506);\n$parcel$export(module.exports, \"__decorate\", () => $8e874a2fb001c377$export$29e00dfd3077644b);\n$parcel$export(module.exports, \"__awaiter\", () => $8e874a2fb001c377$export$1050f835b63b671e);\n$parcel$export(module.exports, \"__generator\", () => $8e874a2fb001c377$export$67ebef60e6f28a6);\n$parcel$export(module.exports, \"__exportStar\", () => $8e874a2fb001c377$export$f33643c0debef087);\n$parcel$export(module.exports, \"__values\", () => $8e874a2fb001c377$export$19a8beecd37a4c45);\n$parcel$export(module.exports, \"__read\", () => $8e874a2fb001c377$export$8d051b38c9118094);\n$parcel$export(module.exports, \"__spreadArray\", () => $8e874a2fb001c377$export$1216008129fb82ed);\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */ var $8e874a2fb001c377$var$extendStatics = function(d, b) {\n $8e874a2fb001c377$var$extendStatics = Object.setPrototypeOf || ({\n __proto__: []\n }) instanceof Array && function(d, b) {\n d.__proto__ = b;\n } || function(d, b) {\n for(var p in b)if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return $8e874a2fb001c377$var$extendStatics(d, b);\n};\nfunction $8e874a2fb001c377$export$a8ba968b8961cb8a(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n $8e874a2fb001c377$var$extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nvar $8e874a2fb001c377$export$18ce0697a983be9b = function() {\n $8e874a2fb001c377$export$18ce0697a983be9b = Object.assign || function __assign(t) {\n for(var s, i = 1, n = arguments.length; i < n; i++){\n s = arguments[i];\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return $8e874a2fb001c377$export$18ce0697a983be9b.apply(this, arguments);\n};\nfunction $8e874a2fb001c377$export$3c9a16f847548506(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nfunction $8e874a2fb001c377$export$29e00dfd3077644b(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nfunction $8e874a2fb001c377$export$d5ad3fd78186038f(paramIndex, decorator) {\n return function(target, key) {\n decorator(target, key, paramIndex);\n };\n}\nfunction $8e874a2fb001c377$export$3a84e1ae4e97e9b0(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n}\nfunction $8e874a2fb001c377$export$d831c04e792af3d(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n}\nfunction $8e874a2fb001c377$export$6a2a36740a146cb8(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n}\nfunction $8e874a2fb001c377$export$d1a06452d3489bc7(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n}\nfunction $8e874a2fb001c377$export$f1db080c865becb9(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nfunction $8e874a2fb001c377$export$1050f835b63b671e(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nfunction $8e874a2fb001c377$export$67ebef60e6f28a6(thisArg, body) {\n var _ = {\n label: 0,\n sent: function() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() {\n return this;\n }), g;\n function verb(n) {\n return function(v) {\n return step([\n n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(g && (g = 0, op[0] && (_ = 0)), _)try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [\n op[0] & 2,\n t.value\n ];\n switch(op[0]){\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [\n 0\n ];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [\n 6,\n e\n ];\n y = 0;\n } finally{\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nvar $8e874a2fb001c377$export$45d3717a4c69092e = Object.create ? function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) desc = {\n enumerable: true,\n get: function() {\n return m[k];\n }\n };\n Object.defineProperty(o, k2, desc);\n} : function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n};\nfunction $8e874a2fb001c377$export$f33643c0debef087(m, o) {\n for(var p in m)if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) $8e874a2fb001c377$export$45d3717a4c69092e(o, m, p);\n}\nfunction $8e874a2fb001c377$export$19a8beecd37a4c45(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function() {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nfunction $8e874a2fb001c377$export$8d051b38c9118094(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while((n === void 0 || n-- > 0) && !(r = i.next()).done)ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally{\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally{\n if (e) throw e.error;\n }\n }\n return ar;\n}\nfunction $8e874a2fb001c377$export$afc72e2116322959() {\n for(var ar = [], i = 0; i < arguments.length; i++)ar = ar.concat($8e874a2fb001c377$export$8d051b38c9118094(arguments[i]));\n return ar;\n}\nfunction $8e874a2fb001c377$export$6388937ca91ccae8() {\n for(var s = 0, i = 0, il = arguments.length; i < il; i++)s += arguments[i].length;\n for(var r = Array(s), k = 0, i = 0; i < il; i++)for(var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)r[k] = a[j];\n return r;\n}\nfunction $8e874a2fb001c377$export$1216008129fb82ed(to, from, pack) {\n if (pack || arguments.length === 2) {\n for(var i = 0, l = from.length, ar; i < l; i++)if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\nfunction $8e874a2fb001c377$export$10c90e4f7922046c(v) {\n return this instanceof $8e874a2fb001c377$export$10c90e4f7922046c ? (this.v = v, this) : new $8e874a2fb001c377$export$10c90e4f7922046c(v);\n}\nfunction $8e874a2fb001c377$export$e427f37a30a4de9b(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function() {\n return this;\n }, i;\n function awaitReturn(f) {\n return function(v) {\n return Promise.resolve(v).then(f, reject);\n };\n }\n function verb(n, f) {\n if (g[n]) {\n i[n] = function(v) {\n return new Promise(function(a, b) {\n q.push([\n n,\n v,\n a,\n b\n ]) > 1 || resume(n, v);\n });\n };\n if (f) i[n] = f(i[n]);\n }\n }\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n function step(r) {\n r.value instanceof $8e874a2fb001c377$export$10c90e4f7922046c ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n function fulfill(value) {\n resume(\"next\", value);\n }\n function reject(value) {\n resume(\"throw\", value);\n }\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nfunction $8e874a2fb001c377$export$bbd80228419bb833(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function(e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function() {\n return this;\n }, i;\n function verb(n, f) {\n i[n] = o[n] ? function(v) {\n return (p = !p) ? {\n value: $8e874a2fb001c377$export$10c90e4f7922046c(o[n](v)),\n done: false\n } : f ? f(v) : v;\n } : f;\n }\n}\nfunction $8e874a2fb001c377$export$e3b29a3d6162315f(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof $8e874a2fb001c377$export$19a8beecd37a4c45 === \"function\" ? $8e874a2fb001c377$export$19a8beecd37a4c45(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function(v) {\n return new Promise(function(resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function(v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nfunction $8e874a2fb001c377$export$4fb47efe1390b86f(cooked, raw) {\n if (Object.defineProperty) Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n else cooked.raw = raw;\n return cooked;\n}\nvar $8e874a2fb001c377$var$__setModuleDefault = Object.create ? function(o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function(o, v) {\n o[\"default\"] = v;\n};\nvar $8e874a2fb001c377$var$ownKeys = function(o) {\n $8e874a2fb001c377$var$ownKeys = Object.getOwnPropertyNames || function(o) {\n var ar = [];\n for(var k in o)if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return $8e874a2fb001c377$var$ownKeys(o);\n};\nfunction $8e874a2fb001c377$export$c21735bcef00d192(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) {\n for(var k = $8e874a2fb001c377$var$ownKeys(mod), i = 0; i < k.length; i++)if (k[i] !== \"default\") $8e874a2fb001c377$export$45d3717a4c69092e(result, mod, k[i]);\n }\n $8e874a2fb001c377$var$__setModuleDefault(result, mod);\n return result;\n}\nfunction $8e874a2fb001c377$export$da59b14a69baef04(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}\nfunction $8e874a2fb001c377$export$d5dcaf168c640c35(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nfunction $8e874a2fb001c377$export$d40a35129aaff81f(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nfunction $8e874a2fb001c377$export$81fdc39f203e4e04(state, receiver) {\n if (receiver === null || typeof receiver !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\nfunction $8e874a2fb001c377$export$88ac25d8e944e405(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() {\n try {\n inner.call(this);\n } catch (e) {\n return Promise.reject(e);\n }\n };\n env.stack.push({\n value: value,\n dispose: dispose,\n async: async\n });\n } else if (async) env.stack.push({\n async: true\n });\n return value;\n}\nvar $8e874a2fb001c377$var$_SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function(error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\nfunction $8e874a2fb001c377$export$8f076105dc360e92(env) {\n function fail(e) {\n env.error = env.hasError ? new $8e874a2fb001c377$var$_SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while(r = env.stack.pop())try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {\n fail(e);\n return next();\n });\n } else s |= 1;\n } catch (e) {\n fail(e);\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\nfunction $8e874a2fb001c377$export$889dfb5d17574b0b(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function(m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : d + ext + \".\" + cm.toLowerCase() + \"js\";\n });\n return path;\n}\nvar $8e874a2fb001c377$export$2e2bcd8739ae039 = {\n __extends: $8e874a2fb001c377$export$a8ba968b8961cb8a,\n __assign: $8e874a2fb001c377$export$18ce0697a983be9b,\n __rest: $8e874a2fb001c377$export$3c9a16f847548506,\n __decorate: $8e874a2fb001c377$export$29e00dfd3077644b,\n __param: $8e874a2fb001c377$export$d5ad3fd78186038f,\n __esDecorate: $8e874a2fb001c377$export$3a84e1ae4e97e9b0,\n __runInitializers: $8e874a2fb001c377$export$d831c04e792af3d,\n __propKey: $8e874a2fb001c377$export$6a2a36740a146cb8,\n __setFunctionName: $8e874a2fb001c377$export$d1a06452d3489bc7,\n __metadata: $8e874a2fb001c377$export$f1db080c865becb9,\n __awaiter: $8e874a2fb001c377$export$1050f835b63b671e,\n __generator: $8e874a2fb001c377$export$67ebef60e6f28a6,\n __createBinding: $8e874a2fb001c377$export$45d3717a4c69092e,\n __exportStar: $8e874a2fb001c377$export$f33643c0debef087,\n __values: $8e874a2fb001c377$export$19a8beecd37a4c45,\n __read: $8e874a2fb001c377$export$8d051b38c9118094,\n __spread: $8e874a2fb001c377$export$afc72e2116322959,\n __spreadArrays: $8e874a2fb001c377$export$6388937ca91ccae8,\n __spreadArray: $8e874a2fb001c377$export$1216008129fb82ed,\n __await: $8e874a2fb001c377$export$10c90e4f7922046c,\n __asyncGenerator: $8e874a2fb001c377$export$e427f37a30a4de9b,\n __asyncDelegator: $8e874a2fb001c377$export$bbd80228419bb833,\n __asyncValues: $8e874a2fb001c377$export$e3b29a3d6162315f,\n __makeTemplateObject: $8e874a2fb001c377$export$4fb47efe1390b86f,\n __importStar: $8e874a2fb001c377$export$c21735bcef00d192,\n __importDefault: $8e874a2fb001c377$export$da59b14a69baef04,\n __classPrivateFieldGet: $8e874a2fb001c377$export$d5dcaf168c640c35,\n __classPrivateFieldSet: $8e874a2fb001c377$export$d40a35129aaff81f,\n __classPrivateFieldIn: $8e874a2fb001c377$export$81fdc39f203e4e04,\n __addDisposableResource: $8e874a2fb001c377$export$88ac25d8e944e405,\n __disposeResources: $8e874a2fb001c377$export$8f076105dc360e92,\n __rewriteRelativeImportExtension: $8e874a2fb001c377$export$889dfb5d17574b0b\n};\n\n});\n\nparcelRegister(\"8AMcb\", function(module, exports) {\nvar $6417122255dd4f8f$var$__generator = module.exports && module.exports.__generator || function(thisArg, body) {\n var _ = {\n label: 0,\n sent: function() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n }, f, y, t, g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() {\n return this;\n }), g;\n function verb(n) {\n return function(v) {\n return step([\n n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(g && (g = 0, op[0] && (_ = 0)), _)try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [\n op[0] & 2,\n t.value\n ];\n switch(op[0]){\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [\n 0\n ];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [\n 6,\n e\n ];\n y = 0;\n } finally{\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\nvar $6417122255dd4f8f$var$__read = module.exports && module.exports.__read || function(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while((n === void 0 || n-- > 0) && !(r = i.next()).done)ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally{\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally{\n if (e) throw e.error;\n }\n }\n return ar;\n};\nvar $6417122255dd4f8f$var$__spreadArray = module.exports && module.exports.__spreadArray || function(to, from, pack) {\n if (pack || arguments.length === 2) {\n for(var i = 0, l = from.length, ar; i < l; i++)if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar $6417122255dd4f8f$var$__values = module.exports && module.exports.__values || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function() {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n(function(factory) {\n if (typeof module.exports === \"object\") {\n var v = factory(undefined, module.exports);\n if (v !== undefined) module.exports = v;\n } else if (typeof define === \"function\" && define.amd) define([\n \"require\",\n \"exports\"\n ], factory);\n})(function(require1, exports1) {\n \"use strict\";\n var _a, _b, _c, _d;\n Object.defineProperty(exports1, \"__esModule\", {\n value: true\n });\n exports1.findShadowRoots = findShadowRoots;\n exports1.generateHTML = generateHTML;\n exports1.getHTML = getHTML;\n exports1.attachDeclarativeShadowRoots = attachDeclarativeShadowRoots;\n exports1.setHTMLUnsafe = setHTMLUnsafe;\n exports1.parseHTMLUnsafe = parseHTMLUnsafe;\n var xmlSerializer = new XMLSerializer(), attachShadow = HTMLElement.prototype.attachShadow, shadowDOMs = new WeakMap();\n HTMLElement.prototype.attachShadow = function(options) {\n var shadowRoot = attachShadow.call(this, options);\n shadowDOMs.set(this, shadowRoot);\n return shadowRoot;\n };\n function findShadowRoots(root) {\n var walker, currentNode, shadowRoot;\n return $6417122255dd4f8f$var$__generator(this, function(_a) {\n switch(_a.label){\n case 0:\n walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {\n acceptNode: function(node) {\n return node instanceof HTMLElement ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n currentNode = null;\n _a.label = 1;\n case 1:\n if (!(currentNode = walker.nextNode())) return [\n 3 /*break*/ ,\n 5\n ];\n shadowRoot = shadowDOMs.get(currentNode);\n if (!shadowRoot) return [\n 3 /*break*/ ,\n 4\n ];\n return [\n 4 /*yield*/ ,\n shadowRoot\n ];\n case 2:\n _a.sent();\n return [\n 5 /*yield**/ ,\n $6417122255dd4f8f$var$__values(findShadowRoots(shadowRoot))\n ];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4:\n return [\n 3 /*break*/ ,\n 1\n ];\n case 5:\n return [\n 2 /*return*/ \n ];\n }\n });\n }\n function generateHTML(root, _a) {\n var walker, currentNode, tagName, attributes, shadowRoot, shadowRootHTML, nextSibling, parentElement;\n var _b = _a === void 0 ? {} : _a, serializableShadowRoots = _b.serializableShadowRoots, shadowRoots = _b.shadowRoots;\n return $6417122255dd4f8f$var$__generator(this, function(_c) {\n switch(_c.label){\n case 0:\n shadowRoots = (shadowRoots === null || shadowRoots === void 0 ? void 0 : shadowRoots.filter(Boolean)) || [];\n if (!(!serializableShadowRoots || !shadowRoots[0])) return [\n 3 /*break*/ ,\n 2\n ];\n return [\n 4 /*yield*/ ,\n root.innerHTML\n ];\n case 1:\n _c.sent();\n return [\n 2 /*return*/ \n ];\n case 2:\n walker = document.createTreeWalker(root, NodeFilter.SHOW_ALL, {\n acceptNode: function(node) {\n return node === root || node instanceof SVGElement ? NodeFilter.FILTER_SKIP : NodeFilter.FILTER_ACCEPT;\n }\n });\n currentNode = null;\n _c.label = 3;\n case 3:\n if (!(currentNode = walker.nextNode())) return [\n 3 /*break*/ ,\n 19\n ];\n if (!(currentNode instanceof CDATASection)) return [\n 3 /*break*/ ,\n 5\n ];\n return [\n 4 /*yield*/ ,\n \"<![CDATA[\".concat(currentNode.nodeValue, \"]]>\")\n ];\n case 4:\n _c.sent();\n return [\n 3 /*break*/ ,\n 16\n ];\n case 5:\n if (!(currentNode instanceof Text)) return [\n 3 /*break*/ ,\n 7\n ];\n return [\n 4 /*yield*/ ,\n currentNode.nodeValue || \"\"\n ];\n case 6:\n _c.sent();\n return [\n 3 /*break*/ ,\n 16\n ];\n case 7:\n if (!(currentNode instanceof Comment)) return [\n 3 /*break*/ ,\n 9\n ];\n return [\n 4 /*yield*/ ,\n \"<!--\".concat(currentNode.nodeValue, \"-->\")\n ];\n case 8:\n _c.sent();\n return [\n 3 /*break*/ ,\n 16\n ];\n case 9:\n if (!(currentNode instanceof SVGElement)) return [\n 3 /*break*/ ,\n 11\n ];\n return [\n 4 /*yield*/ ,\n xmlSerializer.serializeToString(currentNode)\n ];\n case 10:\n _c.sent();\n return [\n 3 /*break*/ ,\n 16\n ];\n case 11:\n if (!(currentNode instanceof Element)) return [\n 3 /*break*/ ,\n 16\n ];\n tagName = currentNode.tagName.toLowerCase(), attributes = $6417122255dd4f8f$var$__spreadArray([], $6417122255dd4f8f$var$__read(currentNode.attributes), false).map(function(_a) {\n var name = _a.name, value = _a.value;\n return \"\".concat(name, \"=\").concat(JSON.parse(value));\n }), shadowRoot = shadowDOMs.get(currentNode);\n return [\n 4 /*yield*/ ,\n \"<\".concat($6417122255dd4f8f$var$__spreadArray([\n tagName\n ], $6417122255dd4f8f$var$__read(attributes), false).join(\" \"), \">\")\n ];\n case 12:\n _c.sent();\n if (!(shadowRoot && shadowRoots.includes(shadowRoot))) return [\n 3 /*break*/ ,\n 14\n ];\n shadowRootHTML = $6417122255dd4f8f$var$__spreadArray([], $6417122255dd4f8f$var$__read(generateHTML(shadowRoot, {\n serializableShadowRoots: serializableShadowRoots,\n shadowRoots: shadowRoots\n })), false).join(\"\");\n return [\n 4 /*yield*/ ,\n \"<template shadowrootmode=\\\"\".concat(shadowRoot.mode, \"\\\">\").concat(shadowRootHTML, \"</template>\")\n ];\n case 13:\n _c.sent();\n _c.label = 14;\n case 14:\n if (!!currentNode.childNodes[0]) return [\n 3 /*break*/ ,\n 16\n ];\n return [\n 4 /*yield*/ ,\n \"</\".concat(tagName, \">\")\n ];\n case 15:\n _c.sent();\n _c.label = 16;\n case 16:\n nextSibling = currentNode.nextSibling, parentElement = currentNode.parentElement;\n if (!(!nextSibling && parentElement && parentElement !== root)) return [\n 3 /*break*/ ,\n 18\n ];\n return [\n 4 /*yield*/ ,\n \"</\".concat(parentElement.tagName.toLowerCase(), \">\")\n ];\n case 17:\n _c.sent();\n _c.label = 18;\n case 18:\n return [\n 3 /*break*/ ,\n 3\n ];\n case 19:\n return [\n 2 /*return*/ \n ];\n }\n });\n }\n /**\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/getHTML}\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/getHTML}\n */ function getHTML(options) {\n if (options === void 0) options = {};\n return $6417122255dd4f8f$var$__spreadArray([], $6417122255dd4f8f$var$__read(generateHTML(this, options)), false).join(\"\");\n }\n function attachDeclarativeShadowRoots(root) {\n var e_1, _a;\n var templates = root.querySelectorAll(\"template[shadowrootmode]\");\n try {\n for(var templates_1 = $6417122255dd4f8f$var$__values(templates), templates_1_1 = templates_1.next(); !templates_1_1.done; templates_1_1 = templates_1.next()){\n var template = templates_1_1.value;\n var parentElement = template.parentElement, content = template.content;\n var shadowRoot = parentElement.attachShadow({\n mode: template.getAttribute(\"shadowrootmode\")\n });\n shadowRoot.append(content);\n template.remove();\n attachDeclarativeShadowRoots(shadowRoot);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally{\n try {\n if (templates_1_1 && !templates_1_1.done && (_a = templates_1.return)) _a.call(templates_1);\n } finally{\n if (e_1) throw e_1.error;\n }\n }\n }\n /**\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/setHTMLUnsafe}\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/setHTMLUnsafe}\n */ function setHTMLUnsafe(html) {\n this.innerHTML = html;\n attachDeclarativeShadowRoots(this);\n }\n var domParser = new DOMParser(), initDocument = function(_a) {\n var _b = _a === void 0 ? document : _a, documentElement = _b.documentElement;\n return attachDeclarativeShadowRoots(documentElement);\n };\n /**\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Document/parseHTMLUnsafe_static}\n */ function parseHTMLUnsafe(html) {\n var document1 = domParser.parseFromString(html, \"text/html\");\n initDocument(document1);\n return document1;\n }\n (_a = Element.prototype).getHTML || (_a.getHTML = getHTML);\n (_b = Element.prototype).setHTMLUnsafe || (_b.setHTMLUnsafe = setHTMLUnsafe);\n (_c = ShadowRoot.prototype).getHTML || (_c.getHTML = getHTML);\n (_d = ShadowRoot.prototype).setHTMLUnsafe || (_d.setHTMLUnsafe = setHTMLUnsafe);\n Document.parseHTMLUnsafe || (Document.parseHTMLUnsafe = parseHTMLUnsafe);\n new Promise(function(resolve) {\n if (document.readyState === \"complete\") resolve();\n else {\n document.addEventListener(\"DOMContentLoaded\", resolve);\n window.addEventListener(\"load\", resolve);\n }\n }).then(function() {\n return initDocument();\n });\n});\n\n});\n\nparcelRegister(\"kYZOD\", function(module, exports) {\n\n$parcel$export(module.exports, \"isEmpty\", () => $f4695c87a97b05e1$export$dd1bc94b04021eeb);\n$parcel$export(module.exports, \"toHyphenCase\", () => $f4695c87a97b05e1$export$3f34ca2fef821bbd);\n$parcel$export(module.exports, \"toCamelCase\", () => $f4695c87a97b05e1$export$86f54f62aa7a7514);\n$parcel$export(module.exports, \"DiffStatus\", () => $f4695c87a97b05e1$export$2ddabb89308e1a22);\n$parcel$export(module.exports, \"diffKeys\", () => $f4695c87a97b05e1$export$14527669107aa301);\n$parcel$export(module.exports, \"groupBy\", () => $f4695c87a97b05e1$export$3f063810d7bf01bd);\n$parcel$export(module.exports, \"likeArray\", () => $f4695c87a97b05e1$export$b5a4d6f439a5044d);\n$parcel$export(module.exports, \"isTypedArray\", () => $f4695c87a97b05e1$export$b119cc7e1840e59c);\n$parcel$export(module.exports, \"createAsyncIterator\", () => $f4695c87a97b05e1$export$86c18c6347f4a8c4);\n$parcel$export(module.exports, \"parseJSON\", () => $f4695c87a97b05e1$export$27924e57e9afff7f);\n$parcel$export(module.exports, \"isXDomain\", () => $f4695c87a97b05e1$export$71e6483fc2b024eb);\n$parcel$export(module.exports, \"parseURLData\", () => $f4695c87a97b05e1$export$eb9b2aadbe449a20);\n$parcel$export(module.exports, \"buildURLData\", () => $f4695c87a97b05e1$export$13397a83aa5915d6);\n$parcel$export(module.exports, \"XMLNamespace\", () => $f4695c87a97b05e1$export$f5a4056b78c72efa);\n$parcel$export(module.exports, \"templateOf\", () => $f4695c87a97b05e1$export$2ee022bbbc550b25);\n$parcel$export(module.exports, \"elementTypeOf\", () => $f4695c87a97b05e1$export$a549dd5cef7f8327);\n$parcel$export(module.exports, \"isHTMLElementClass\", () => $f4695c87a97b05e1$export$8eece510bcb9c62c);\n$parcel$export(module.exports, \"tagNameOf\", () => $f4695c87a97b05e1$export$b8a1af58c024fefd);\n$parcel$export(module.exports, \"stringifyDOM\", () => $f4695c87a97b05e1$export$b0709844452f8b6b);\n$parcel$export(module.exports, \"getVisibleText\", () => $f4695c87a97b05e1$export$be4650432daa84fd);\n$parcel$export(module.exports, \"importCSS\", () => $f4695c87a97b05e1$export$7cd14c57bbb84350);\n$parcel$export(module.exports, \"scrollTo\", () => $f4695c87a97b05e1$export$3f99968195accfaf);\n$parcel$export(module.exports, \"formToJSON\", () => $f4695c87a97b05e1$export$86d7c59254d6a2c9);\n$parcel$export(module.exports, \"delegate\", () => $f4695c87a97b05e1$export$10b1921597150314);\n$parcel$export(module.exports, \"documentReady\", () => $f4695c87a97b05e1$export$3e2b244719956741);\n$parcel$export(module.exports, \"serviceWorkerUpdate\", () => $f4695c87a97b05e1$export$d635d04af3887bbe);\nfunction $f4695c87a97b05e1$var$$parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {\n get: v,\n set: s,\n enumerable: true,\n configurable: true\n });\n}\nvar $f4695c87a97b05e1$var$$9b05bcda60cc529c$exports = {};\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"likeNull\", function() {\n return $f4695c87a97b05e1$export$61cc6ed0f143570b;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"isEmpty\", function() {\n return $f4695c87a97b05e1$export$dd1bc94b04021eeb;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"classNameOf\", function() {\n return $f4695c87a97b05e1$export$a09f818797e212c4;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"assertInheritance\", function() {\n return $f4695c87a97b05e1$export$170f4e08cad8229d;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"proxyPrototype\", function() {\n return $f4695c87a97b05e1$export$2a489b3f92f4996a;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"isUnsafeNumeric\", function() {\n return $f4695c87a97b05e1$export$67a6ce548ae77071;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"byteLength\", function() {\n return $f4695c87a97b05e1$export$a48f0734ac7c2329;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"toHyphenCase\", function() {\n return $f4695c87a97b05e1$export$3f34ca2fef821bbd;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"toCamelCase\", function() {\n return $f4695c87a97b05e1$export$86f54f62aa7a7514;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"uniqueID\", function() {\n return $f4695c87a97b05e1$export$89912e019eef22aa;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"objectFrom\", function() {\n return $f4695c87a97b05e1$export$1c8ba402144543e5;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"DiffStatus\", function() {\n return $f4695c87a97b05e1$export$2ddabb89308e1a22;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"diffKeys\", function() {\n return $f4695c87a97b05e1$export$14527669107aa301;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"groupBy\", function() {\n return $f4695c87a97b05e1$export$3f063810d7bf01bd;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"likeArray\", function() {\n return $f4695c87a97b05e1$export$b5a4d6f439a5044d;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"isTypedArray\", function() {\n return $f4695c87a97b05e1$export$b119cc7e1840e59c;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"makeArray\", function() {\n return $f4695c87a97b05e1$export$7b85fd78dd236198;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"splitArray\", function() {\n return $f4695c87a97b05e1$export$697c3df919c0e61a;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"findDeep\", function() {\n return $f4695c87a97b05e1$export$e6b5ff3168b5942b;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"countBy\", function() {\n return $f4695c87a97b05e1$export$1d012a0dff3dab06;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"cache\", function() {\n return $f4695c87a97b05e1$export$69a3209f1a06c04d;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"createAsyncIterator\", function() {\n return $f4695c87a97b05e1$export$86c18c6347f4a8c4;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"mergeStream\", function() {\n return $f4695c87a97b05e1$export$dce9414bed0662c;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$9b05bcda60cc529c$exports, \"ByteSize\", function() {\n return $f4695c87a97b05e1$export$271f7c16f175f804;\n});\nvar $f4695c87a97b05e1$var$$6a9944941b4c1893$exports = {};\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$6a9944941b4c1893$exports, \"sum\", function() {\n return $f4695c87a97b05e1$export$8a63f25cc62965f1;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$6a9944941b4c1893$exports, \"averageOf\", function() {\n return $f4695c87a97b05e1$export$e1f36757ecda301d;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$6a9944941b4c1893$exports, \"varianceOf\", function() {\n return $f4695c87a97b05e1$export$8e694e1eafd55acb;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$6a9944941b4c1893$exports, \"standardDeviationOf\", function() {\n return $f4695c87a97b05e1$export$57d7c52a66287430;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$6a9944941b4c1893$exports, \"hypotenuseOf\", function() {\n return $f4695c87a97b05e1$export$2b4693832ca3ce16;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$6a9944941b4c1893$exports, \"carryFloat\", function() {\n return $f4695c87a97b05e1$export$5b784e078da1ce6;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$6a9944941b4c1893$exports, \"fixFloat\", function() {\n return $f4695c87a97b05e1$export$17ec9c9f4f23588c;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$6a9944941b4c1893$exports, \"Scalar\", function() {\n return $f4695c87a97b05e1$export$595dbf49c602a1f;\n});\nfunction $f4695c87a97b05e1$export$8a63f25cc62965f1(...data) {\n return data.reduce((sum, item)=>sum + item, 0);\n}\nfunction $f4695c87a97b05e1$export$e1f36757ecda301d(...data) {\n return $f4695c87a97b05e1$export$8a63f25cc62965f1(...data) / data.length;\n}\nfunction $f4695c87a97b05e1$export$8e694e1eafd55acb(data, sample = false) {\n const average = $f4695c87a97b05e1$export$e1f36757ecda301d(...data);\n const summary = $f4695c87a97b05e1$export$8a63f25cc62965f1(...data.map((item)=>(item - average) ** 2));\n return summary / (data.length - (sample ? 1 : 0));\n}\nfunction $f4695c87a97b05e1$export$57d7c52a66287430(data, sample = false) {\n return Math.sqrt($f4695c87a97b05e1$export$8e694e1eafd55acb(data, sample));\n}\nfunction $f4695c87a97b05e1$export$2b4693832ca3ce16(...data) {\n return Math.sqrt($f4695c87a97b05e1$export$8a63f25cc62965f1(...data.map((item)=>item ** 2)));\n}\nfunction $f4695c87a97b05e1$export$5b784e078da1ce6(raw, length) {\n const text = raw.toFixed(length + 2);\n const offset = text.indexOf('.') + length + 1;\n const cut = (text)=>text.slice(0, offset - (length ? 0 : 1));\n if (!+text.slice(offset)) return cut(text);\n const result = cut((+cut(text) + 10 ** -length).toFixed(length));\n return result.includes('.') ? result.padEnd(offset, '0') : result;\n}\nfunction $f4695c87a97b05e1$export$17ec9c9f4f23588c(raw, length = 2) {\n const text = raw.toFixed(length + 2);\n const floatOffset = text.indexOf('.');\n if (floatOffset < 0) return length ? `${text}.${'0'.repeat(length)}` : text;\n const offset = floatOffset + length + 1;\n const before = +text[offset - 1], anchor = +text[offset], after = +text[offset + 1];\n const carry = anchor > 5 || anchor === 5 && (!!after || !!(before % 2));\n if (carry) return $f4695c87a97b05e1$export$5b784e078da1ce6(raw, length);\n const result = text.slice(0, offset - (length ? 0 : 1));\n return result.includes('.') ? result.padEnd(offset, '0') : result;\n}\nclass $f4695c87a97b05e1$export$595dbf49c602a1f {\n constructor(value){\n this.value = value;\n }\n valueOf() {\n return this.value;\n }\n toShortString(fractionDigits = 2) {\n const { units: units, value: value } = this;\n const { base: base, name: name } = [\n ...units\n ].reverse().find(({ base: base })=>Math.abs(value) >= base) || units[0];\n return `${(value / base).toFixed(fractionDigits)} ${name}`;\n }\n static distanceOf(a, b) {\n return Reflect.construct(this, [\n a - b\n ]);\n }\n}\nfunction $f4695c87a97b05e1$export$61cc6ed0f143570b(value) {\n return !(value != null) || Number.isNaN(value);\n}\nfunction $f4695c87a97b05e1$export$dd1bc94b04021eeb(value) {\n return $f4695c87a97b05e1$export$61cc6ed0f143570b(value) || (typeof value === 'object' ? !Object.keys(value).length : value === '');\n}\nconst $f4695c87a97b05e1$export$a09f818797e212c4 = (data)=>Object.prototype.toString.call(data).slice(8, -1);\nfunction $f4695c87a97b05e1$export$170f4e08cad8229d(Sub, Super) {\n return Sub.prototype instanceof Super;\n}\nfunction $f4695c87a97b05e1$export$2a489b3f92f4996a(target, dataStore, setter) {\n const prototype = Object.getPrototypeOf(target);\n const prototypeProxy = new Proxy(prototype, {\n set: (_, key, value, receiver)=>{\n if (key in receiver) Reflect.set(prototype, key, value, receiver);\n else dataStore[key] = value;\n setter?.(key, value);\n return true;\n },\n get: (prototype, key, receiver)=>key in dataStore ? dataStore[key] : Reflect.get(prototype, key, receiver)\n });\n Object.setPrototypeOf(target, prototypeProxy);\n}\nfunction $f4695c87a97b05e1$export$67a6ce548ae77071(raw) {\n return /^[\\d.]+$/.test(raw) && raw.localeCompare(Number.MAX_SAFE_INTEGER + '', undefined, {\n numeric: true\n }) > 0;\n}\nfunction $f4695c87a97b05e1$export$a48f0734ac7c2329(raw) {\n return raw.replace(/[^\\u0021-\\u007e\\uff61-\\uffef]/g, 'xx').length;\n}\nfunction $f4695c87a97b05e1$export$3f34ca2fef821bbd(raw) {\n return raw.replace(/[A-Z]+|[^A-Za-z][A-Za-z]/g, (match, offset)=>`${offset ? '-' : ''}${(match[1] || match[0]).toLowerCase()}`);\n}\nfunction $f4695c87a97b05e1$export$86f54f62aa7a7514(raw, large = false) {\n return raw.replace(/^[A-Za-z]|[^A-Za-z][A-Za-z]/g, (match, offset)=>offset || large ? (match[1] || match[0]).toUpperCase() : match.toLowerCase());\n}\nfunction $f4695c87a97b05e1$export$89912e019eef22aa() {\n return (Date.now() + parseInt((Math.random() + '').slice(2))).toString(36);\n}\nfunction $f4695c87a97b05e1$export$1c8ba402144543e5(values, keys) {\n return Object.fromEntries(values.map((value, index)=>[\n keys[index],\n value\n ]));\n}\nvar $f4695c87a97b05e1$export$2ddabb89308e1a22 = /*#__PURE__*/ function(DiffStatus) {\n DiffStatus[DiffStatus[\"Old\"] = -1] = \"Old\";\n DiffStatus[DiffStatus[\"Same\"] = 0] = \"Same\";\n DiffStatus[DiffStatus[\"New\"] = 1] = \"New\";\n return DiffStatus;\n}({});\nfunction $f4695c87a97b05e1$export$14527669107aa301(oldList, newList) {\n const map = {};\n for (const item of oldList)map[item] = -1;\n for (const item of newList){\n map[item] ||= 0;\n map[item] += 1;\n }\n return {\n map: map,\n group: $f4695c87a97b05e1$export$3f063810d7bf01bd(Object.entries(map), ([key, status])=>status)\n };\n}\nfunction $f4695c87a97b05e1$export$b5a4d6f439a5044d(data) {\n if ($f4695c87a97b05e1$export$61cc6ed0f143570b(data)) return false;\n const { length: length } = data;\n return typeof length === 'number' && length >= 0 && ~~length === length;\n}\nconst $f4695c87a97b05e1$export$b119cc7e1840e59c = (data)=>data instanceof Object.getPrototypeOf(Int8Array);\nfunction $f4695c87a97b05e1$export$7b85fd78dd236198(data) {\n if (data instanceof Array) return data;\n if ($f4695c87a97b05e1$export$61cc6ed0f143570b(data)) return [];\n if ($f4695c87a97b05e1$export$b5a4d6f439a5044d(data)) return Array.from(data);\n return [\n data\n ];\n}\nconst $f4695c87a97b05e1$export$697c3df919c0e61a = (array, unitLength)=>array.reduce((grid, item, index)=>{\n (grid[~~(index / unitLength)] ||= [])[index % unitLength] = item;\n return grid;\n }, []);\nfunction $f4695c87a97b05e1$export$e6b5ff3168b5942b(list, subKey, handler) {\n for (const item of list){\n if (handler(item)) return [\n item\n ];\n if (item[subKey] instanceof Array) {\n const result = $f4695c87a97b05e1$export$e6b5ff3168b5942b(item[subKey], subKey, handler);\n if (result.length) return [\n item,\n ...result\n ];\n }\n }\n return [];\n}\nfunction $f4695c87a97b05e1$export$3f063810d7bf01bd(list, iteratee) {\n const data = {};\n for (const item of list){\n let keys = iteratee instanceof Function ? iteratee(item) : item[iteratee];\n if (!(keys instanceof Array)) keys = [\n keys\n ];\n for (const key of new Set(keys.filter((key)=>key != null)))(data[key] = data[key] || []).push(item);\n }\n return data;\n}\nfunction $f4695c87a97b05e1$export$1d012a0dff3dab06(list, iteratee) {\n const group = $f4695c87a97b05e1$export$3f063810d7bf01bd(list, iteratee);\n const sortedList = Object.entries(group).map(([key, { length: length }])=>[\n key,\n length\n ]);\n return Object.fromEntries(sortedList);\n}\nfunction $f4695c87a97b05e1$export$69a3209f1a06c04d(executor, title) {\n var cacheData;\n return function(...data) {\n if (cacheData != null) return cacheData;\n console.trace(`[Cache] execute: ${title}`);\n cacheData = executor.call(this, ()=>cacheData = undefined, ...data);\n Promise.resolve(cacheData).then((data)=>console.log(`[Cache] refreshed: ${title} => ${data}`), (error)=>console.error(`[Cache] failed: ${error?.message || error}`));\n return cacheData;\n };\n}\nasync function* $f4695c87a97b05e1$export$86c18c6347f4a8c4(executor) {\n let { promise: promise, resolve: resolve, reject: reject } = Promise.withResolvers();\n const doneSymbol = Symbol('done'), done = Promise.withResolvers();\n const disposer = executor({\n next: (value)=>resolve(value),\n error: (error)=>{\n reject(error);\n // @ts-ignore\n disposer?.();\n },\n complete: ()=>{\n done.resolve(doneSymbol);\n // @ts-ignore\n disposer?.();\n }\n });\n while(true){\n const value = await Promise.race([\n promise,\n done.promise\n ]);\n if (value === doneSymbol) return;\n yield value;\n ({ promise: promise, resolve: resolve, reject: reject } = Promise.withResolvers());\n }\n}\nasync function* $f4695c87a97b05e1$export$dce9414bed0662c(...sources) {\n var iterators = sources.map((item)=>item());\n while(iterators[0]){\n const dones = [];\n for(let i = 0, iterator; iterator = iterators[i]; i++){\n const { done: done, value: value } = await iterator.next();\n if (!done) yield value;\n else dones.push(i);\n }\n iterators = iterators.filter((_, i)=>!dones.includes(i));\n }\n}\nclass $f4695c87a97b05e1$export$271f7c16f175f804 extends $f4695c87a97b05e1$export$595dbf49c602a1f {\n constructor(...args){\n super(...args), this.units = [\n '',\n 'K',\n 'M',\n 'G',\n 'T',\n 'P',\n 'E',\n 'Z',\n 'Y'\n ].map((name, i)=>({\n base: 1024 ** i,\n name: name + 'B'\n }));\n }\n}\nvar $f4695c87a97b05e1$var$$f872d8bba1c0f79f$exports = {};\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$f872d8bba1c0f79f$exports, \"Second\", function() {\n return $f4695c87a97b05e1$export$c489aa6f7fd82b1a;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$f872d8bba1c0f79f$exports, \"Minute\", function() {\n return $f4695c87a97b05e1$export$cbd942915f33be50;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$f872d8bba1c0f79f$exports, \"Quarter\", function() {\n return $f4695c87a97b05e1$export$9b886f8493244014;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$f872d8bba1c0f79f$exports, \"Hour\", function() {\n return $f4695c87a97b05e1$export$e99cbb807a5bb10d;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$f872d8bba1c0f79f$exports, \"Day\", function() {\n return $f4695c87a97b05e1$export$7a9a31a911eb9a20;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$f872d8bba1c0f79f$exports, \"Week\", function() {\n return $f4695c87a97b05e1$export$fca4f8121099df57;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$f872d8bba1c0f79f$exports, \"Year\", function() {\n return $f4695c87a97b05e1$export$6ce2f08d515512;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$f872d8bba1c0f79f$exports, \"Month\", function() {\n return $f4695c87a97b05e1$export$951c8378cdfec6e6;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$f872d8bba1c0f79f$exports, \"Season\", function() {\n return $f4695c87a97b05e1$export$1a4097b876a13bf7;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$f872d8bba1c0f79f$exports, \"Timestamp\", function() {\n return $f4695c87a97b05e1$export$d9bcbd5e1ff81430;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$f872d8bba1c0f79f$exports, \"diffTime\", function() {\n return $f4695c87a97b05e1$export$506c8e8f8c8edda;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$f872d8bba1c0f79f$exports, \"formatDate\", function() {\n return $f4695c87a97b05e1$export$3ae94a2503e890a1;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$f872d8bba1c0f79f$exports, \"changeMonth\", function() {\n return $f4695c87a97b05e1$export$62ad822b3a5fd9a0;\n});\nconst $f4695c87a97b05e1$export$c489aa6f7fd82b1a = 1000;\nconst $f4695c87a97b05e1$export$cbd942915f33be50 = $f4695c87a97b05e1$export$c489aa6f7fd82b1a * 60;\nconst $f4695c87a97b05e1$export$9b886f8493244014 = $f4695c87a97b05e1$export$cbd942915f33be50 * 15;\nconst $f4695c87a97b05e1$export$e99cbb807a5bb10d = $f4695c87a97b05e1$export$9b886f8493244014 * 4;\nconst $f4695c87a97b05e1$export$7a9a31a911eb9a20 = $f4695c87a97b05e1$export$e99cbb807a5bb10d * 24;\nconst $f4695c87a97b05e1$export$fca4f8121099df57 = $f4695c87a97b05e1$export$7a9a31a911eb9a20 * 7;\nconst $f4695c87a97b05e1$export$6ce2f08d515512 = $f4695c87a97b05e1$export$7a9a31a911eb9a20 * 365;\nconst $f4695c87a97b05e1$export$951c8378cdfec6e6 = $f4695c87a97b05e1$export$6ce2f08d515512 / 12;\nconst $f4695c87a97b05e1$export$1a4097b876a13bf7 = $f4695c87a97b05e1$export$951c8378cdfec6e6 * 3;\nclass $f4695c87a97b05e1$export$d9bcbd5e1ff81430 extends $f4695c87a97b05e1$export$595dbf49c602a1f {\n toShortString(fractionDigits = 0) {\n return super.toShortString(fractionDigits);\n }\n constructor(...args){\n super(...args), this.units = [\n {\n base: $f4695c87a97b05e1$export$c489aa6f7fd82b1a,\n name: 's'\n },\n {\n base: $f4695c87a97b05e1$export$cbd942915f33be50,\n name: 'm'\n },\n {\n base: $f4695c87a97b05e1$export$e99cbb807a5bb10d,\n name: 'H'\n },\n {\n base: $f4695c87a97b05e1$export$7a9a31a911eb9a20,\n name: 'D'\n },\n {\n base: $f4695c87a97b05e1$export$fca4f8121099df57,\n name: 'W'\n },\n {\n base: $f4695c87a97b05e1$export$951c8378cdfec6e6,\n name: 'M'\n },\n {\n base: $f4695c87a97b05e1$export$6ce2f08d515512,\n name: 'Y'\n }\n ];\n }\n}\nfunction $f4695c87a97b05e1$export$506c8e8f8c8edda(end, start = new Date()) {\n const timeDistance = $f4695c87a97b05e1$export$d9bcbd5e1ff81430.distanceOf(+new Date(end), +new Date(start));\n const [value, unit] = timeDistance.toShortString().split(/\\s+/);\n return {\n distance: +value,\n unit: unit\n };\n}\nfunction $f4695c87a97b05e1$var$$f872d8bba1c0f79f$var$fitUnit(value) {\n value = +value + '';\n return (template)=>(value.length < template.length ? value.padStart(template.length, '0') : value).slice(-Math.max(template.length, 2));\n}\nfunction $f4695c87a97b05e1$export$3ae94a2503e890a1(time = new Date(), template = 'YYYY-MM-DD HH:mm:ss') {\n time = time instanceof Date ? time : new Date(time);\n time = new Date(+time - time.getTimezoneOffset() * $f4695c87a97b05e1$export$cbd942915f33be50);\n const [year, month, day, hour, minute, second, millisecond] = time.toJSON().split(/\\D/);\n return template.replace(/ms/g, millisecond).replace(/Y+/g, $f4695c87a97b05e1$var$$f872d8bba1c0f79f$var$fitUnit(year)).replace(/M+/g, $f4695c87a97b05e1$var$$f872d8bba1c0f79f$var$fitUnit(month)).replace(/D+/g, $f4695c87a97b05e1$var$$f872d8bba1c0f79f$var$fitUnit(day)).replace(/H+/g, $f4695c87a97b05e1$var$$f872d8bba1c0f79f$var$fitUnit(hour)).replace(/m+/g, $f4695c87a97b05e1$var$$f872d8bba1c0f79f$var$fitUnit(minute)).replace(/s+/g, $f4695c87a97b05e1$var$$f872d8bba1c0f79f$var$fitUnit(second));\n}\nfunction $f4695c87a97b05e1$export$62ad822b3a5fd9a0(date, delta) {\n date = new Date(date);\n const month = date.getMonth() + delta;\n date.setFullYear(date.getFullYear() + Math.floor(month / 12));\n delta = month % 12;\n date.setMonth(delta < 0 ? 12 + delta : delta);\n return date;\n}\nvar $f4695c87a97b05e1$var$$ba0e5dc395660a7c$exports = {};\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$ba0e5dc395660a7c$exports, \"parseJSON\", function() {\n return $f4695c87a97b05e1$export$27924e57e9afff7f;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$ba0e5dc395660a7c$exports, \"toJSValue\", function() {\n return $f4695c87a97b05e1$export$7ea17d45ecdcf634;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$ba0e5dc395660a7c$exports, \"parseTextTable\", function() {\n return $f4695c87a97b05e1$export$bb8626e4916f587b;\n});\nfunction $f4695c87a97b05e1$export$27924e57e9afff7f(raw) {\n function parseItem(value) {\n if (typeof value === 'string' && /^\\d+(-\\d{1,2}){1,2}/.test(value)) {\n const date = new Date(value);\n if (!Number.isNaN(+date)) return date;\n }\n return value;\n }\n const value = parseItem(raw);\n if (typeof value !== 'string' || $f4695c87a97b05e1$export$67a6ce548ae77071(value)) return value;\n try {\n return JSON.parse(raw, (key, value)=>parseItem(value));\n } catch {\n return raw;\n }\n}\nfunction $f4695c87a97b05e1$export$7ea17d45ecdcf634(raw) {\n const parsed = $f4695c87a97b05e1$export$27924e57e9afff7f(raw);\n if (typeof parsed !== 'string') return parsed;\n const number = +parsed;\n return Number.isNaN(number) || number + '' !== parsed ? parsed : number;\n}\nfunction $f4695c87a97b05e1$var$$ba0e5dc395660a7c$var$readQuoteValue(raw) {\n const quote = raw[0];\n const index = raw.indexOf(quote, 1);\n if (index < 0) throw SyntaxError(`A ${quote} is missing`);\n return raw.slice(1, index);\n}\nfunction $f4695c87a97b05e1$export$bb8626e4916f587b(raw, header, separator = ',') {\n const data = raw.trim().split(/[\\r\\n]+/).map((row)=>{\n const list = [];\n do {\n let value;\n if (row[0] === '\"' || row[0] === \"'\") {\n value = $f4695c87a97b05e1$var$$ba0e5dc395660a7c$var$readQuoteValue(row);\n row = row.slice(value.length + 3);\n } else {\n const index = row.indexOf(separator);\n if (index > -1) {\n value = row.slice(0, index);\n row = row.slice(index + 1);\n } else {\n value = row;\n row = '';\n }\n }\n list.push($f4695c87a97b05e1$export$7ea17d45ecdcf634(value.trim()));\n }while (row);\n return list;\n });\n return !header ? data : data.slice(1).map((row)=>row.reduce((object, item, index)=>{\n object[data[0][index]] = item;\n return object;\n }, {}));\n}\nvar $f4695c87a97b05e1$var$$083124ac4b1a50a0$exports = {};\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$083124ac4b1a50a0$exports, \"isXDomain\", function() {\n return $f4695c87a97b05e1$export$71e6483fc2b024eb;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$083124ac4b1a50a0$exports, \"parseURLData\", function() {\n return $f4695c87a97b05e1$export$eb9b2aadbe449a20;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$083124ac4b1a50a0$exports, \"buildURLData\", function() {\n return $f4695c87a97b05e1$export$13397a83aa5915d6;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$083124ac4b1a50a0$exports, \"blobOf\", function() {\n return $f4695c87a97b05e1$export$fd89523fba250fa4;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$083124ac4b1a50a0$exports, \"blobFrom\", function() {\n return $f4695c87a97b05e1$export$504fbde693c1771c;\n});\nfunction $f4695c87a97b05e1$export$71e6483fc2b024eb(URI) {\n return new URL(URI, document.baseURI).origin !== location.origin;\n}\nfunction $f4695c87a97b05e1$export$eb9b2aadbe449a20(raw = globalThis.location?.search, toBuiltIn = true) {\n const rawData = raw.split('#').map((URI)=>{\n const [before, after] = URI.split('?');\n return new URLSearchParams(after || (before.includes('=') ? before : ''));\n }).join('&');\n const data = new URLSearchParams(rawData);\n return Object.fromEntries([\n ...data.keys()\n ].map((key)=>{\n const list = toBuiltIn ? data.getAll(key).map($f4695c87a97b05e1$export$27924e57e9afff7f) : data.getAll(key);\n return [\n key,\n list.length < 2 ? list[0] : list\n ];\n }));\n}\nconst $f4695c87a97b05e1$var$$083124ac4b1a50a0$var$stringify = (value)=>typeof value === 'string' ? value : $f4695c87a97b05e1$export$b5a4d6f439a5044d(value) ? $f4695c87a97b05e1$export$7b85fd78dd236198(value) + '' : JSON.stringify(value);\nfunction $f4695c87a97b05e1$export$13397a83aa5915d6(map) {\n if (!(map instanceof Array)) map = Object.entries(map);\n const list = map.map(([key, value])=>!$f4695c87a97b05e1$export$dd1bc94b04021eeb(value) && [\n key,\n $f4695c87a97b05e1$var$$083124ac4b1a50a0$var$stringify(value)\n ]).filter(Boolean);\n return new URLSearchParams(list);\n}\nasync function $f4695c87a97b05e1$export$fd89523fba250fa4(URI) {\n return (await fetch(URI + '')).blob();\n}\nconst $f4695c87a97b05e1$var$$083124ac4b1a50a0$var$DataURI = /^data:(.+?\\/(.+?))?(;base64)?,([\\s\\S]+)/;\nfunction $f4695c87a97b05e1$export$504fbde693c1771c(URI) {\n var [_, type, __, base64, data] = $f4695c87a97b05e1$var$$083124ac4b1a50a0$var$DataURI.exec(URI) || [];\n data = base64 ? atob(data) : data;\n const aBuffer = new ArrayBuffer(data.length);\n const uBuffer = new Uint8Array(aBuffer);\n for(let i = 0; data[i]; i++)uBuffer[i] = data.charCodeAt(i);\n return new Blob([\n aBuffer\n ], {\n type: type\n });\n}\nvar $f4695c87a97b05e1$var$$50872bf213056663$exports = {};\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$50872bf213056663$exports, \"makeCRC32\", function() {\n return $f4695c87a97b05e1$export$1b9ac4d3de3ffd2e;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$50872bf213056663$exports, \"makeSHA\", function() {\n return $f4695c87a97b05e1$export$d51f3b55e8d1aa73;\n});\nconst $f4695c87a97b05e1$var$$50872bf213056663$var$CRC_32_Table = Array.from(new Array(256), (_, cell)=>{\n for(var j = 0; j < 8; j++)if (cell & 1) cell = cell >> 1 & 0x7fffffff ^ 0xedb88320;\n else cell = cell >> 1 & 0x7fffffff;\n return cell;\n});\nfunction $f4695c87a97b05e1$export$1b9ac4d3de3ffd2e(raw) {\n var value = 0xffffffff;\n for (const char of raw)value = value >> 8 & 0x00ffffff ^ $f4695c87a97b05e1$var$$50872bf213056663$var$CRC_32_Table[value & 0xff ^ char.charCodeAt(0)];\n return '0x' + ((value ^ 0xffffffff) >>> 0).toString(16);\n}\nif (typeof self === 'object') {\n if ('msCrypto' in globalThis) {\n // @ts-ignore\n const { subtle: subtle } = globalThis.crypto = globalThis.msCrypto;\n for(const key in subtle){\n const origin = subtle[key];\n if (origin instanceof Function) subtle[key] = function() {\n const observer = origin.apply(this, arguments);\n return new Promise((resolve, reject)=>{\n observer.oncomplete = ({ target: target })=>resolve(target.result);\n observer.onabort = observer.onerror = reject;\n });\n };\n }\n }\n const { crypto: crypto1 } = globalThis;\n if (!crypto1?.subtle && crypto1?.['webkitSubtle']) crypto1.subtle = crypto1['webkitSubtle'];\n}\nasync function $f4695c87a97b05e1$export$d51f3b55e8d1aa73(raw, algorithm = 'SHA-1') {\n const buffer = await crypto.subtle.digest(algorithm, new TextEncoder().encode(raw));\n return Array.from(new Uint8Array(buffer), (byte)=>byte.toString(16).padStart(2, '0')).join('');\n}\nvar $f4695c87a97b05e1$var$$93a3089d2937b23f$exports = {};\nvar $f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports = {};\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports, \"XMLNamespace\", function() {\n return $f4695c87a97b05e1$export$f5a4056b78c72efa;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports, \"templateOf\", function() {\n return $f4695c87a97b05e1$export$2ee022bbbc550b25;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports, \"elementTypeOf\", function() {\n return $f4695c87a97b05e1$export$a549dd5cef7f8327;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports, \"isHTMLElementClass\", function() {\n return $f4695c87a97b05e1$export$8eece510bcb9c62c;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports, \"tagNameOf\", function() {\n return $f4695c87a97b05e1$export$b8a1af58c024fefd;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports, \"isDOMReadOnly\", function() {\n return $f4695c87a97b05e1$export$a2cf0d4bb6e06de4;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports, \"parseDOM\", function() {\n return $f4695c87a97b05e1$export$d66b332881d9723f;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports, \"stringifyDOM\", function() {\n return $f4695c87a97b05e1$export$b0709844452f8b6b;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports, \"walkDOM\", function() {\n return $f4695c87a97b05e1$export$5118471ee5d5453b;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports, \"getVisibleText\", function() {\n return $f4695c87a97b05e1$export$be4650432daa84fd;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports, \"splitPages\", function() {\n return $f4695c87a97b05e1$export$578e38b4a3e0b255;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports, \"importCSS\", function() {\n return $f4695c87a97b05e1$export$7cd14c57bbb84350;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports, \"stringifyCSS\", function() {\n return $f4695c87a97b05e1$export$5100419dfae0456d;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports, \"insertToCursor\", function() {\n return $f4695c87a97b05e1$export$28d9d24a8cd0ffc2;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports, \"scrollTo\", function() {\n return $f4695c87a97b05e1$export$3f99968195accfaf;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports, \"watchScroll\", function() {\n return $f4695c87a97b05e1$export$eafdbaa868ea9975;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports, \"watchVisible\", function() {\n return $f4695c87a97b05e1$export$36a0c1ca2ae264fa;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports, \"formToJSON\", function() {\n return $f4695c87a97b05e1$export$86d7c59254d6a2c9;\n});\nconst $f4695c87a97b05e1$export$f5a4056b78c72efa = {\n html: 'http://www.w3.org/1999/xhtml',\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\nconst $f4695c87a97b05e1$var$$3e0a089cc13f69ad$var$templateMap = {};\nfunction $f4695c87a97b05e1$export$2ee022bbbc550b25(tagName) {\n if ($f4695c87a97b05e1$var$$3e0a089cc13f69ad$var$templateMap[tagName]) return $f4695c87a97b05e1$var$$3e0a089cc13f69ad$var$templateMap[tagName];\n const spawn = document.createElement('template');\n spawn.innerHTML = `<${tagName} />`;\n return $f4695c87a97b05e1$var$$3e0a089cc13f69ad$var$templateMap[tagName] = spawn.content.firstElementChild;\n}\nfunction $f4695c87a97b05e1$export$a549dd5cef7f8327(tagName) {\n if (tagName.includes('-')) return 'html';\n const [prefix, localName] = tagName.split(':');\n if (localName) return prefix === 'html' ? 'html' : 'xml';\n const node = $f4695c87a97b05e1$export$2ee022bbbc550b25(tagName);\n return node instanceof HTMLElement && !(node instanceof HTMLUnknownElement) ? 'html' : 'xml';\n}\nfunction $f4695c87a97b05e1$export$8eece510bcb9c62c(Class) {\n return $f4695c87a97b05e1$export$170f4e08cad8229d(Class, HTMLElement);\n}\nconst $f4695c87a97b05e1$var$$3e0a089cc13f69ad$var$nameMap = new WeakMap();\nfunction $f4695c87a97b05e1$export$b8a1af58c024fefd(Class) {\n const name = $f4695c87a97b05e1$var$$3e0a089cc13f69ad$var$nameMap.get(Class);\n if (name) return name;\n var { tagName: tagName } = new Class();\n $f4695c87a97b05e1$var$$3e0a089cc13f69ad$var$nameMap.set(Class, tagName = tagName.toLowerCase());\n return tagName;\n}\nfunction $f4695c87a97b05e1$export$a2cf0d4bb6e06de4(tagName, propertyName) {\n /**\n * fetch from https://html.spec.whatwg.org/\n */ const ReadOnly_Properties = [\n [\n HTMLLinkElement,\n [\n 'sizes'\n ]\n ],\n [\n HTMLIFrameElement,\n [\n 'sandbox'\n ]\n ],\n [\n HTMLObjectElement,\n [\n 'form'\n ]\n ],\n [\n HTMLInputElement,\n [\n 'form',\n 'list'\n ]\n ],\n [\n HTMLButtonElement,\n [\n 'form'\n ]\n ],\n [\n HTMLSelectElement,\n [\n 'form'\n ]\n ],\n [\n HTMLTextAreaElement,\n [\n 'form'\n ]\n ],\n [\n HTMLOutputElement,\n [\n 'form'\n ]\n ],\n [\n HTMLFieldSetElement,\n [\n 'form'\n ]\n ]\n ];\n const template = $f4695c87a97b05e1$export$2ee022bbbc550b25(tagName);\n for (const [Class, keys] of ReadOnly_Properties)if (template instanceof Class && keys.includes(propertyName)) return true;\n return false;\n}\nfunction $f4695c87a97b05e1$export$d66b332881d9723f(HTML) {\n const spawn = document.createElement('template');\n spawn.innerHTML = HTML;\n return [\n ...spawn.content.childNodes\n ].map((node)=>{\n node.remove();\n return node;\n });\n}\nfunction $f4695c87a97b05e1$export$b0709844452f8b6b(node) {\n return new XMLSerializer().serializeToString(node).replace(/ xmlns=\"http:\\/\\/www.w3.org\\/1999\\/xhtml\"/g, '');\n}\nfunction* $f4695c87a97b05e1$export$5118471ee5d5453b(root, type) {\n const children = [\n ...root.childNodes\n ];\n if ($f4695c87a97b05e1$export$dd1bc94b04021eeb(type) || type === root.nodeType) yield root;\n for (const node of children)yield* $f4695c87a97b05e1$export$5118471ee5d5453b(node, type);\n}\nfunction $f4695c87a97b05e1$export$be4650432daa84fd(root) {\n var text = '';\n for (const { nodeType: nodeType, parentElement: parentElement, nodeValue: nodeValue } of $f4695c87a97b05e1$export$5118471ee5d5453b(root))if (nodeType === Node.TEXT_NODE && parentElement.getAttribute('aria-hidden') !== 'true') {\n const { width: width, height: height } = parentElement.getBoundingClientRect();\n if (width && height) text += nodeValue.trim().replace(/\\s+/g, ' ');\n }\n return text;\n}\nfunction $f4695c87a97b05e1$export$578e38b4a3e0b255({ offsetWidth: offsetWidth, children: children }, pageHeight = 841.89, pageWidth = 595.28) {\n const scrollHeight = pageHeight / pageWidth * offsetWidth;\n var offset = 0;\n return [\n ...children\n ].reduce((pages, node)=>{\n var { offsetTop: top, offsetHeight: height } = node;\n top += offset;\n var bottom = top + height;\n const bottomOffset = bottom / scrollHeight;\n const topIndex = ~~(top / scrollHeight), bottomIndex = ~~bottomOffset;\n if (topIndex !== bottomIndex) offset += height - bottomOffset;\n (pages[bottomIndex] ||= []).push(node);\n return pages;\n }, []);\n}\nfunction $f4695c87a97b05e1$export$7cd14c57bbb84350(URI, { alternate: alternate, ...options } = {}) {\n const style = [\n ...document.styleSheets\n ].find(({ href: href })=>href === URI);\n if (style) return Promise.resolve(style);\n const link = document.createElement('link');\n return new Promise((resolve, reject)=>{\n link.onload = ()=>resolve(link.sheet);\n link.onerror = (_1, _2, _3, _4, error)=>reject(error);\n Object.assign(link, options);\n link.rel = (alternate ? 'alternate ' : '') + 'stylesheet';\n link.href = URI;\n document.head.append(link);\n });\n}\nfunction $f4695c87a97b05e1$export$5100419dfae0456d(data, depth = 0, indent = ' ') {\n const padding = indent.repeat(depth);\n return Object.entries(data).map(([key, value])=>typeof value !== 'object' ? `${padding}${$f4695c87a97b05e1$export$3f34ca2fef821bbd(key)}: ${value};` : `${padding}${key} {\n${$f4695c87a97b05e1$export$5100419dfae0456d(value, depth + 1, indent)}\n${padding}}`).join('\\n');\n}\nfunction $f4695c87a97b05e1$export$28d9d24a8cd0ffc2(...nodes) {\n const fragment = document.createDocumentFragment();\n fragment.append(...nodes);\n for (const node of $f4695c87a97b05e1$export$5118471ee5d5453b(fragment))if (![\n 1,\n 3,\n 11\n ].includes(node.nodeType) || [\n 'meta',\n 'title',\n 'link',\n 'script'\n ].includes(node.nodeName.toLowerCase())) node.replaceWith(...node.childNodes);\n const selection = globalThis.getSelection();\n if (!selection) return;\n const range = selection.getRangeAt(0);\n range.deleteContents();\n range.insertNode(fragment);\n}\nfunction $f4695c87a97b05e1$export$3f99968195accfaf(selector, root, align, justify) {\n const [_, ID] = /^#(.+)/.exec(selector) || [];\n if (ID === 'top') window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n else (root || document).querySelector(ID ? `[id=\"${ID}\"]` : selector)?.scrollIntoView({\n behavior: 'smooth',\n block: align,\n inline: justify\n });\n}\nfunction $f4695c87a97b05e1$export$eafdbaa868ea9975(box, handler, depth = 6) {\n return Array.from(box.querySelectorAll(Array.from(new Array(depth), (_, index)=>`h${++index}`) + ''), (header)=>{\n new IntersectionObserver(([item])=>{\n if (!item.isIntersecting) return;\n const target = item.target;\n handler({\n target: target,\n links: [\n ...target.ownerDocument.querySelectorAll(`[href=\"#${target.id}\"]`)\n ]\n });\n }).observe(header);\n if (!header.id.trim()) header.id = header.textContent.trim().replace(/\\W+/g, '-');\n return {\n level: +header.tagName[1],\n id: header.id,\n text: header.textContent.trim()\n };\n });\n}\nfunction $f4695c87a97b05e1$export$36a0c1ca2ae264fa(root, handler) {\n var last = document.visibilityState === 'visible' ? 1 : 0;\n function change(state) {\n if (state === 3 || last === 3) handler(state === 3);\n last = state;\n }\n new IntersectionObserver(([{ isIntersecting: isIntersecting }])=>change(isIntersecting ? last | 2 : last & 1)).observe(root);\n document.addEventListener('visibilitychange', ()=>change(document.visibilityState === 'visible' ? last | 1 : last & 2));\n}\nfunction $f4695c87a97b05e1$export$86d7c59254d6a2c9(form) {\n const data = {};\n for (const field of form.elements){\n let { name: name, value: value, checked: checked, defaultValue: defaultValue, selectedOptions: selectedOptions, files: files } = field;\n const type = field.type;\n if (!name || value === '') continue;\n const box = type !== 'fieldset' && field.closest('fieldset');\n if (box && box !== form) continue;\n let parsedValue = value;\n switch(type){\n case 'radio':\n case 'checkbox':\n if (checked) parsedValue = defaultValue ? $f4695c87a97b05e1$export$7ea17d45ecdcf634(defaultValue) : true;\n else continue;\n break;\n case 'select-multiple':\n parsedValue = Array.from(selectedOptions, ({ value: value })=>$f4695c87a97b05e1$export$7ea17d45ecdcf634(value));\n break;\n case 'fieldset':\n parsedValue = $f4695c87a97b05e1$export$86d7c59254d6a2c9(field);\n break;\n case 'file':\n parsedValue = files && Array.from(files);\n break;\n case 'date':\n case 'datetime-local':\n case 'month':\n case 'hidden':\n case 'number':\n case 'range':\n case 'select-one':\n parsedValue = $f4695c87a97b05e1$export$7ea17d45ecdcf634(value);\n }\n if (name in data) data[name] = [].concat(data[name], parsedValue);\n else data[name] = !(parsedValue instanceof Array) || !$f4695c87a97b05e1$export$dd1bc94b04021eeb(parsedValue[1]) ? parsedValue : parsedValue[0];\n }\n return data;\n}\nvar $f4695c87a97b05e1$var$$bb23e0c794fefbef$exports = {};\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$bb23e0c794fefbef$exports, \"sleep\", function() {\n return $f4695c87a97b05e1$export$e772c8ff12451969;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$bb23e0c794fefbef$exports, \"asyncLoop\", function() {\n return $f4695c87a97b05e1$export$57207d71b8c929c8;\n});\nfunction $f4695c87a97b05e1$export$e772c8ff12451969(seconds = 1) {\n return new Promise((resolve)=>setTimeout(resolve, seconds * 1000));\n}\nfunction $f4695c87a97b05e1$export$57207d71b8c929c8(executor, seconds = 1) {\n var stop = false;\n (async ()=>{\n while(!stop){\n const result = executor();\n if (result instanceof Promise) await result;\n await $f4695c87a97b05e1$export$e772c8ff12451969(seconds);\n }\n })();\n return ()=>stop = true;\n}\nvar $f4695c87a97b05e1$var$$19ed8aeb7905a045$exports = {};\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$19ed8aeb7905a045$exports, \"delegate\", function() {\n return $f4695c87a97b05e1$export$10b1921597150314;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$19ed8aeb7905a045$exports, \"documentReady\", function() {\n return $f4695c87a97b05e1$export$3e2b244719956741;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$19ed8aeb7905a045$exports, \"promisify\", function() {\n return $f4695c87a97b05e1$export$1d1d2ed6b55cf67f;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$19ed8aeb7905a045$exports, \"createMessageServer\", function() {\n return $f4695c87a97b05e1$export$2155c0b5a4b77fb8;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$19ed8aeb7905a045$exports, \"createMessageClient\", function() {\n return $f4695c87a97b05e1$export$9d97473344489dfc;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$19ed8aeb7905a045$exports, \"serviceWorkerUpdate\", function() {\n return $f4695c87a97b05e1$export$d635d04af3887bbe;\n});\nfunction $f4695c87a97b05e1$export$10b1921597150314(selector, handler) {\n return function(event) {\n var node, path = event.composedPath();\n while((node = path.shift()) && node !== event.currentTarget)if (node instanceof HTMLElement && node.matches(selector)) return handler.call(this, event, node, event.detail);\n };\n}\nconst $f4695c87a97b05e1$export$3e2b244719956741 = typeof window !== 'undefined' ? new Promise((resolve)=>{\n function done() {\n document?.removeEventListener('DOMContentLoaded', done);\n window.removeEventListener('load', done);\n resolve();\n }\n document?.addEventListener('DOMContentLoaded', done);\n window.addEventListener('load', done);\n setTimeout(function check() {\n document?.readyState === 'complete' ? resolve() : setTimeout(check);\n });\n}) : Promise.resolve();\nfunction $f4695c87a97b05e1$export$1d1d2ed6b55cf67f(scope, element) {\n return new Promise((resolve, reject)=>{\n function end(event) {\n resolve(event), clean();\n }\n function cancel(event) {\n reject(event), clean();\n }\n function clean() {\n element.removeEventListener(scope + 'end', end);\n element.removeEventListener(scope + 'cancel', cancel);\n }\n element.addEventListener(scope + 'end', end);\n element.addEventListener(scope + 'cancel', cancel);\n });\n}\nfunction $f4695c87a97b05e1$export$2155c0b5a4b77fb8(handlers) {\n async function server({ data: { type: type, id: id, ...data }, source: source, origin: origin }) {\n var result = handlers[type]?.(data);\n if (result instanceof Promise) result = await result;\n // @ts-ignore\n source.postMessage({\n ...result,\n id: id\n }, origin);\n }\n globalThis.addEventListener('message', server);\n return ()=>globalThis.removeEventListener('message', server);\n}\nfunction $f4695c87a97b05e1$export$9d97473344489dfc(target, origin = '*') {\n return (type, data)=>new Promise((resolve)=>{\n const UID = $f4695c87a97b05e1$export$89912e019eef22aa();\n function handler({ data: { id: id, ...data } }) {\n if (id !== UID) return;\n resolve(data);\n globalThis.removeEventListener('message', handler);\n }\n globalThis.addEventListener('message', handler);\n // @ts-ignore\n target.postMessage({\n id: UID,\n type: type,\n ...data\n }, origin);\n });\n}\nfunction $f4695c87a97b05e1$export$d635d04af3887bbe(registration) {\n return new Promise((resolve)=>{\n if (registration.waiting) return resolve(registration.waiting);\n registration.onupdatefound = ()=>registration.installing?.addEventListener('statechange', function() {\n if (this.state === 'installed' && navigator.serviceWorker.controller) resolve(this);\n });\n });\n}\nvar $f4695c87a97b05e1$var$$7a08303ce13c49c5$exports = {};\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$7a08303ce13c49c5$exports, \"PageVector\", function() {\n return $f4695c87a97b05e1$export$1b88f6b6d432a52a;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$7a08303ce13c49c5$exports, \"getSwipeVector\", function() {\n return $f4695c87a97b05e1$export$b70f6380221b1350;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$7a08303ce13c49c5$exports, \"durationOf\", function() {\n return $f4695c87a97b05e1$export$75d6cbe4503e149;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$7a08303ce13c49c5$exports, \"watchMotion\", function() {\n return $f4695c87a97b05e1$export$b2618d51188815c2;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$7a08303ce13c49c5$exports, \"transitIn\", function() {\n return $f4695c87a97b05e1$export$490814474ddbb428;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$7a08303ce13c49c5$exports, \"animateIn\", function() {\n return $f4695c87a97b05e1$export$3ea201dffb50dfef;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$7a08303ce13c49c5$exports, \"transitOut\", function() {\n return $f4695c87a97b05e1$export$d1012c7198c6b460;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$7a08303ce13c49c5$exports, \"animateOut\", function() {\n return $f4695c87a97b05e1$export$a35a418b7b17958e;\n});\nclass $f4695c87a97b05e1$export$1b88f6b6d432a52a {\n constructor(from, to){\n this.from = from;\n this.to = to;\n }\n get length() {\n const { from: from, to: to } = this;\n return Math.sqrt(Math.pow(to.x - from.x, 2) + Math.pow(to.y - from.y, 2) + (to.z != null ? Math.pow(to.z - from.z, 2) : 0));\n }\n get direction() {\n const { from: from, to: to } = this;\n const XD = to.x - from.x, YD = to.y - from.y, ZD = to.z - from.z;\n const XL = Math.abs(XD), YL = Math.abs(YD), ZL = Math.abs(ZD);\n switch(isNaN(ZL) ? Math.max(XL, YL) : Math.max(XL, YL, ZL)){\n case XL:\n return XD > 0 ? 'right' : 'left';\n case YL:\n return YD > 0 ? 'forward' : 'backward';\n case ZL:\n return ZD > 0 ? 'up' : 'down';\n }\n }\n}\nfunction $f4695c87a97b05e1$export$b70f6380221b1350(from, to, threshold = parseInt(getComputedStyle(document.body).fontSize) * 6) {\n const vector = new $f4695c87a97b05e1$export$1b88f6b6d432a52a(from, to);\n if (vector.length >= threshold && !getSelection()?.toString().trim()) return vector;\n}\nfunction $f4695c87a97b05e1$export$75d6cbe4503e149(type, element) {\n const { transitionDuration: transitionDuration, animationDuration: animationDuration } = getComputedStyle(element);\n const duration = type === 'animation' ? animationDuration : transitionDuration;\n return parseFloat(duration) * (duration.slice(-2) === 'ms' ? 1 : 1000);\n}\nfunction $f4695c87a97b05e1$export$b2618d51188815c2(type, element) {\n return Promise.race([\n $f4695c87a97b05e1$export$1d1d2ed6b55cf67f(type, element).catch((event)=>Promise.resolve(event)),\n new Promise((resolve)=>setTimeout(resolve, $f4695c87a97b05e1$export$75d6cbe4503e149(type, element)))\n ]);\n}\nfunction $f4695c87a97b05e1$var$$7a08303ce13c49c5$var$fadeIn(type, element, className, display) {\n element.style.display = display;\n const end = $f4695c87a97b05e1$export$b2618d51188815c2(type, element);\n return new Promise((resolve)=>requestAnimationFrame(()=>{\n element.classList.add(className);\n end.then(resolve);\n }));\n}\nasync function $f4695c87a97b05e1$var$$7a08303ce13c49c5$var$fadeOut(type, element, className, remove) {\n const end = $f4695c87a97b05e1$export$b2618d51188815c2(type, element);\n element.classList.remove(className);\n await end;\n if (remove) element.remove();\n else element.style.display = 'none';\n}\nfunction $f4695c87a97b05e1$export$490814474ddbb428(element, className, display = 'block') {\n return $f4695c87a97b05e1$var$$7a08303ce13c49c5$var$fadeIn('transition', element, className, display);\n}\nfunction $f4695c87a97b05e1$export$3ea201dffb50dfef(element, className, display = 'block') {\n return $f4695c87a97b05e1$var$$7a08303ce13c49c5$var$fadeIn('animation', element, className, display);\n}\nfunction $f4695c87a97b05e1$export$d1012c7198c6b460(element, className, remove) {\n return $f4695c87a97b05e1$var$$7a08303ce13c49c5$var$fadeOut('transition', element, className, remove);\n}\nfunction $f4695c87a97b05e1$export$a35a418b7b17958e(element, className, remove) {\n return $f4695c87a97b05e1$var$$7a08303ce13c49c5$var$fadeOut('animation', element, className, remove);\n}\nvar $f4695c87a97b05e1$var$$69bd9f0117925302$exports = {};\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$69bd9f0117925302$exports, \"describe\", function() {\n return $f4695c87a97b05e1$export$cd5450f3a47e3789;\n});\n$f4695c87a97b05e1$var$$parcel$export($f4695c87a97b05e1$var$$69bd9f0117925302$exports, \"it\", function() {\n return $f4695c87a97b05e1$export$3486a10f30cf1ee4;\n});\nasync function $f4695c87a97b05e1$export$cd5450f3a47e3789(title, cases) {\n console.log(title);\n console.time(title);\n await cases();\n console.timeEnd(title);\n}\nasync function $f4695c87a97b05e1$export$3486a10f30cf1ee4(title, userCase, secondsOut = 3) {\n title = ' ' + title;\n console.time(title);\n async function timeOut() {\n await $f4695c87a97b05e1$export$e772c8ff12451969(secondsOut);\n throw new RangeError('Timed out');\n }\n try {\n return await Promise.race([\n userCase((status)=>console.assert(status, title)),\n timeOut()\n ]);\n } finally{\n console.timeEnd(title);\n }\n}\n\n});\n\n\nparcelRegister(\"e1Ksv\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.DOMRenderer = void 0;\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\nparcelRequire(\"8BuuC\");\n\nvar $flxkr = parcelRequire(\"flxkr\");\n\nvar $kYZOD = parcelRequire(\"kYZOD\");\n\nvar $8alBv = parcelRequire(\"8alBv\");\nvar $a365327176cd3513$var$DOMRenderer = /** @class */ function() {\n function DOMRenderer() {\n var _this = this;\n this.eventPattern = /^on[A-Z]/;\n this.ariaPattern = /^aira[A-Z]/;\n this.document = globalThis.document;\n this.treeCache = new WeakMap();\n this.signalCache = new WeakMap();\n this.keyOf = function(_a, index) {\n var key = _a.key, text = _a.text, props = _a.props, selector = _a.selector;\n return (key === null || key === void 0 ? void 0 : key.toString()) || (props === null || props === void 0 ? void 0 : props.id) || (text || selector || '') + index;\n };\n this.vNodeOf = function(list, key) {\n return list.find(function(vNode, index) {\n return \"\".concat(_this.keyOf(vNode, index)) === String(key);\n });\n };\n this.propsKeyOf = function(key) {\n return key.startsWith('aria-') ? (0, $kYZOD.toCamelCase)(key) : _this.eventPattern.test(key) ? key.toLowerCase() : key;\n };\n this.attrsNameOf = function(key) {\n return $8alBv.VNode.propsMap[key] || key;\n };\n this.removeProperty = function(node, key) {\n return _this.eventPattern.test(key) ? node[key.toLowerCase()] = null : node.removeAttribute(_this.ariaPattern.test(key) ? (0, $kYZOD.toHyphenCase)(key) : _this.attrsNameOf(key));\n };\n this.setProperty = function(node, key, value) {\n var isXML = (0, $kYZOD.templateOf)(node.tagName) && (0, $kYZOD.elementTypeOf)(node.tagName) === 'xml';\n if (isXML || key.includes('-')) node.setAttribute(_this.attrsNameOf(key), value);\n else try {\n var name_1 = _this.propsKeyOf(key);\n if (_this.eventPattern.test(key) && !(name_1 in node)) _this.handleCustomEvent(node, name_1.slice(2));\n node[name_1] = value;\n } catch (_a) {\n node.setAttribute(_this.attrsNameOf(key), value);\n }\n };\n }\n DOMRenderer.prototype.updateProps = function(node, oldProps, newProps, onDelete, onAdd) {\n var e_1, _a, e_2, _b;\n if (oldProps === void 0) oldProps = {};\n if (newProps === void 0) newProps = {};\n var group = (0, $kYZOD.diffKeys)(Object.keys(oldProps), Object.keys(newProps)).group;\n try {\n for(var _c = $ceFTv.__values(group[$kYZOD.DiffStatus.Old] || []), _d = _c.next(); !_d.done; _d = _c.next()){\n var _e = $ceFTv.__read(_d.value, 1), key = _e[0];\n onDelete === null || onDelete === void 0 || onDelete(node, key);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally{\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n } finally{\n if (e_1) throw e_1.error;\n }\n }\n try {\n for(var _f = $ceFTv.__values($ceFTv.__spreadArray($ceFTv.__spreadArray([], $ceFTv.__read(group[$kYZOD.DiffStatus.Same] || []), false), $ceFTv.__read(group[$kYZOD.DiffStatus.New] || []), false)), _g = _f.next(); !_g.done; _g = _f.next()){\n var _h = $ceFTv.__read(_g.value, 1), key = _h[0];\n if (oldProps[key] !== newProps[key]) {\n if (onAdd instanceof Function) onAdd(node, key, newProps[key]);\n else Reflect.set(node, key, newProps[key]);\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally{\n try {\n if (_g && !_g.done && (_b = _f.return)) _b.call(_f);\n } finally{\n if (e_2) throw e_2.error;\n }\n }\n };\n DOMRenderer.prototype.deleteNode = function(_a) {\n var ref = _a.ref, node = _a.node, children = _a.children;\n if (node instanceof DocumentFragment) children === null || children === void 0 || children.forEach(this.deleteNode);\n else if (node) {\n node.remove();\n ref === null || ref === void 0 || ref();\n }\n };\n DOMRenderer.prototype.commitChild = function(root, node, index) {\n if (index === void 0) index = 0;\n var targetNode = root.childNodes[index];\n if (targetNode === node) return;\n if (!targetNode) root.append(node);\n else targetNode.before(node);\n };\n DOMRenderer.prototype.diffVChildren = function(oldVNode, newVNode) {\n var _a, map, group, deletingGroup, _b, _c, _d, index, newVChild, key, oldVChild, e_3_1, _e, _f, _g, _i, selector, _h, _j, oldVNode_1, e_4_1;\n var e_3, _k, e_4, _l;\n var _this = this;\n var _m;\n return $ceFTv.__generator(this, function(_o) {\n switch(_o.label){\n case 0:\n newVNode.children = newVNode.children.map(function(vNode) {\n return new $8alBv.VNode(vNode);\n });\n _a = (0, $kYZOD.diffKeys)(oldVNode.children.map(this.keyOf), newVNode.children.map(this.keyOf)), map = _a.map, group = _a.group;\n deletingGroup = group[$kYZOD.DiffStatus.Old] && (0, $kYZOD.groupBy)(group[$kYZOD.DiffStatus.Old].map(function(_a) {\n var _b = $ceFTv.__read(_a, 1), key = _b[0];\n return _this.vNodeOf(oldVNode.children, key);\n }), function(_a) {\n var selector = _a.selector;\n return selector + '';\n });\n _o.label = 1;\n case 1:\n _o.trys.push([\n 1,\n 7,\n 8,\n 9\n ]);\n _b = $ceFTv.__values(newVNode.children.entries()), _c = _b.next();\n _o.label = 2;\n case 2:\n if (!!_c.done) return [\n 3 /*break*/ ,\n 6\n ];\n _d = $ceFTv.__read(_c.value, 2), index = _d[0], newVChild = _d[1];\n key = this.keyOf(newVChild, index);\n oldVChild = map[key] === $kYZOD.DiffStatus.Same ? this.vNodeOf(oldVNode.children, key) : (_m = deletingGroup === null || deletingGroup === void 0 ? void 0 : deletingGroup[newVChild.selector]) === null || _m === void 0 ? void 0 : _m.shift();\n return [\n 4 /*yield*/ ,\n {\n index: index,\n oldVNode: oldVChild,\n newVNode: newVChild\n }\n ];\n case 3:\n _o.sent();\n if (!((oldVChild === null || oldVChild === void 0 ? void 0 : oldVChild.children[0]) || newVChild.children[0])) return [\n 3 /*break*/ ,\n 5\n ];\n oldVChild || (oldVChild = new $8alBv.VNode($ceFTv.__assign($ceFTv.__assign({}, newVChild), {\n children: []\n })));\n return [\n 5 /*yield**/ ,\n $ceFTv.__values(this.diffVChildren(oldVChild, newVChild))\n ];\n case 4:\n _o.sent();\n _o.label = 5;\n case 5:\n _c = _b.next();\n return [\n 3 /*break*/ ,\n 2\n ];\n case 6:\n return [\n 3 /*break*/ ,\n 9\n ];\n case 7:\n e_3_1 = _o.sent();\n e_3 = {\n error: e_3_1\n };\n return [\n 3 /*break*/ ,\n 9\n ];\n case 8:\n try {\n if (_c && !_c.done && (_k = _b.return)) _k.call(_b);\n } finally{\n if (e_3) throw e_3.error;\n }\n return [\n 7 /*endfinally*/ \n ];\n case 9:\n _e = deletingGroup;\n _f = [];\n for(_g in _e)_f.push(_g);\n _i = 0;\n _o.label = 10;\n case 10:\n if (!(_i < _f.length)) return [\n 3 /*break*/ ,\n 19\n ];\n _g = _f[_i];\n if (!(_g in _e)) return [\n 3 /*break*/ ,\n 18\n ];\n selector = _g;\n _o.label = 11;\n case 11:\n _o.trys.push([\n 11,\n 16,\n 17,\n 18\n ]);\n _h = (e_4 = void 0, $ceFTv.__values(deletingGroup[selector])), _j = _h.next();\n _o.label = 12;\n case 12:\n if (!!_j.done) return [\n 3 /*break*/ ,\n 15\n ];\n oldVNode_1 = _j.value;\n return [\n 4 /*yield*/ ,\n {\n oldVNode: oldVNode_1\n }\n ];\n case 13:\n _o.sent();\n _o.label = 14;\n case 14:\n _j = _h.next();\n return [\n 3 /*break*/ ,\n 12\n ];\n case 15:\n return [\n 3 /*break*/ ,\n 18\n ];\n case 16:\n e_4_1 = _o.sent();\n e_4 = {\n error: e_4_1\n };\n return [\n 3 /*break*/ ,\n 18\n ];\n case 17:\n try {\n if (_j && !_j.done && (_l = _h.return)) _l.call(_h);\n } finally{\n if (e_4) throw e_4.error;\n }\n return [\n 7 /*endfinally*/ \n ];\n case 18:\n _i++;\n return [\n 3 /*break*/ ,\n 10\n ];\n case 19:\n return [\n 2 /*return*/ \n ];\n }\n });\n };\n DOMRenderer.prototype.handleCustomEvent = function(node, event) {\n var handler;\n Object.defineProperty(node, \"on\".concat(event), {\n set: function(value) {\n if (handler) node.removeEventListener(event, handler);\n node.addEventListener(event, handler = value);\n },\n get: function() {\n return handler;\n }\n });\n };\n DOMRenderer.prototype.patchNode = function(oldVNode, newVNode) {\n this.updateProps(oldVNode.node, oldVNode.props, newVNode.props, this.removeProperty, this.setProperty);\n this.updateProps(oldVNode.node.style, oldVNode.style, newVNode.style, function(style, key) {\n return style.removeProperty((0, $kYZOD.toHyphenCase)(key));\n }, function(style, key, value) {\n return style.setProperty((0, $kYZOD.toHyphenCase)(key), value);\n });\n newVNode.node || (newVNode.node = oldVNode.node);\n return newVNode;\n };\n DOMRenderer.prototype.generateDOM = function(oldVRoot, newVRoot) {\n var _a, _b, _c, index, oldVNode, newVNode, inserting, tagName, node, parent_1, e_5_1;\n var e_5, _d;\n var _e;\n return $ceFTv.__generator(this, function(_f) {\n switch(_f.label){\n case 0:\n if ($8alBv.VNode.isFragment(newVRoot)) newVRoot = new $8alBv.VNode($ceFTv.__assign($ceFTv.__assign({}, oldVRoot), {\n children: newVRoot.children\n }));\n return [\n 4 /*yield*/ ,\n this.patchNode(oldVRoot, newVRoot)\n ];\n case 1:\n _f.sent();\n _f.label = 2;\n case 2:\n _f.trys.push([\n 2,\n 7,\n 8,\n 9\n ]);\n _a = $ceFTv.__values(this.diffVChildren(oldVRoot, newVRoot)), _b = _a.next();\n _f.label = 3;\n case 3:\n if (!!_b.done) return [\n 3 /*break*/ ,\n 6\n ];\n _c = _b.value, index = _c.index, oldVNode = _c.oldVNode, newVNode = _c.newVNode;\n if (!newVNode) {\n this.deleteNode(oldVNode);\n return [\n 3 /*break*/ ,\n 5\n ];\n }\n inserting = !oldVNode;\n if (oldVNode) newVNode.node = oldVNode.node;\n else {\n newVNode.createDOM(this.document);\n tagName = newVNode.tagName, node = newVNode.node, parent_1 = newVNode.parent;\n oldVNode = new $8alBv.VNode({\n tagName: tagName,\n node: node,\n parent: parent_1\n });\n }\n if (newVNode.text) oldVNode.node.nodeValue = newVNode.text;\n else if (!$8alBv.VNode.isFragment(newVNode)) this.patchNode(oldVNode, newVNode);\n if (oldVNode.parent) {\n this.commitChild(oldVNode.parent.node, newVNode.node, index);\n if (inserting) (_e = newVNode.ref) === null || _e === void 0 || _e.call(newVNode, newVNode.node);\n }\n return [\n 4 /*yield*/ ,\n newVNode\n ];\n case 4:\n _f.sent();\n _f.label = 5;\n case 5:\n _b = _a.next();\n return [\n 3 /*break*/ ,\n 3\n ];\n case 6:\n return [\n 3 /*break*/ ,\n 9\n ];\n case 7:\n e_5_1 = _f.sent();\n e_5 = {\n error: e_5_1\n };\n return [\n 3 /*break*/ ,\n 9\n ];\n case 8:\n try {\n if (_b && !_b.done && (_d = _a.return)) _d.call(_a);\n } finally{\n if (e_5) throw e_5.error;\n }\n return [\n 7 /*endfinally*/ \n ];\n case 9:\n return [\n 2 /*return*/ \n ];\n }\n });\n };\n DOMRenderer.prototype.patch = function(oldVRoot, newVRoot) {\n var e_6, _a;\n var count = 0;\n try {\n for(var _b = $ceFTv.__values(this.generateDOM(oldVRoot, newVRoot)), _c = _b.next(); !_c.done; _c = _b.next()){\n var newVNode = _c.value;\n if (++count === 1) newVRoot = newVNode;\n }\n } catch (e_6_1) {\n e_6 = {\n error: e_6_1\n };\n } finally{\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally{\n if (e_6) throw e_6.error;\n }\n }\n return newVRoot;\n };\n DOMRenderer.prototype.patchAsync = function(oldVRoot, newVRoot) {\n return $ceFTv.__awaiter(this, void 0, void 0, function() {\n var oldController, controller, count, _a, _b, newVNode, e_7_1;\n var e_7, _c;\n return $ceFTv.__generator(this, function(_d) {\n switch(_d.label){\n case 0:\n oldController = this.signalCache.get(oldVRoot.node);\n if (oldController) {\n oldController.abort();\n oldVRoot = $8alBv.VNode.fromDOM(oldVRoot.node);\n }\n controller = new AbortController();\n this.signalCache.set(oldVRoot.node, controller);\n count = 0;\n _d.label = 1;\n case 1:\n _d.trys.push([\n 1,\n 6,\n 7,\n 8\n ]);\n _a = $ceFTv.__values(this.generateDOM(oldVRoot, newVRoot)), _b = _a.next();\n _d.label = 2;\n case 2:\n if (!!_b.done) return [\n 3 /*break*/ ,\n 5\n ];\n newVNode = _b.value;\n if (++count === 1) newVRoot = newVNode;\n return [\n 4 /*yield*/ ,\n scheduler.yield()\n ];\n case 3:\n _d.sent();\n if (controller.signal.aborted) {\n this.signalCache.delete(oldVRoot.node);\n controller.signal.throwIfAborted();\n }\n _d.label = 4;\n case 4:\n _b = _a.next();\n return [\n 3 /*break*/ ,\n 2\n ];\n case 5:\n return [\n 3 /*break*/ ,\n 8\n ];\n case 6:\n e_7_1 = _d.sent();\n e_7 = {\n error: e_7_1\n };\n return [\n 3 /*break*/ ,\n 8\n ];\n case 7:\n try {\n if (_b && !_b.done && (_c = _a.return)) _c.call(_a);\n } finally{\n if (e_7) throw e_7.error;\n }\n return [\n 7 /*endfinally*/ \n ];\n case 8:\n this.signalCache.delete(oldVRoot.node);\n return [\n 2 /*return*/ ,\n newVRoot\n ];\n }\n });\n });\n };\n DOMRenderer.prototype.render = function(vNode, node, mode) {\n var _this = this;\n var _a;\n if (node === void 0) node = (_a = globalThis.document) === null || _a === void 0 ? void 0 : _a.body;\n if (mode === void 0) mode = 'sync';\n this.document = node.ownerDocument;\n var root = this.treeCache.get(node) || $8alBv.VNode.fromDOM(node);\n var done = function(root) {\n return _this.treeCache.set(node, root) && root;\n };\n return mode === 'sync' ? done(this.patch(root, new $8alBv.VNode($ceFTv.__assign($ceFTv.__assign({}, root), {\n children: [\n vNode\n ]\n })))) : this.patchAsync(root, new $8alBv.VNode($ceFTv.__assign($ceFTv.__assign({}, root), {\n children: [\n vNode\n ]\n }))).then(done);\n };\n DOMRenderer.prototype.renderToStaticMarkup = function(tree) {\n return $ceFTv.__spreadArray([], $ceFTv.__read(tree.generateXML()), false).join('');\n };\n DOMRenderer.prototype.renderToReadableStream = function(tree) {\n return $flxkr.ReadableStream.from(tree.generateXML());\n };\n return DOMRenderer;\n}();\nmodule.exports.DOMRenderer = $a365327176cd3513$var$DOMRenderer;\n\n});\nparcelRegister(\"8BuuC\", function(module, exports) {\n!function() {\n var t = [\n \"user-blocking\",\n \"user-visible\",\n \"background\"\n ];\n class i {\n constructor(){\n this.t = new MessageChannel, this.i = this.t.port2, this.l = {}, this.o = 1, this.t.port1.onmessage = (t)=>this.h(t);\n }\n u(t) {\n var i = this.o++;\n return this.l[i] = t, this.i.postMessage(i), i;\n }\n p(t) {\n delete this.l[t];\n }\n h(t) {\n var i = t.data;\n if (i in this.l) {\n var r = this.l[i];\n delete this.l[i], r();\n }\n }\n }\n function r() {\n return r.v || (r.v = new i), r.v;\n }\n class s {\n constructor(t, i, r){\n void 0 === r && (r = 0), this.k = t, this.T = null, this.C = null, this.m = !1, this._(i, r);\n }\n isIdleCallback() {\n return 0 === this.T;\n }\n I() {\n return 2 === this.T;\n }\n cancel() {\n if (!this.m) switch(this.m = !0, this.T){\n case 0:\n cancelIdleCallback(this.C);\n break;\n case 1:\n clearTimeout(this.C);\n break;\n case 2:\n r().p(this.C);\n break;\n default:\n throw new TypeError(\"Unknown CallbackType\");\n }\n }\n _(i, s) {\n if (s && s > 0) return this.T = 1, void (this.C = setTimeout(()=>{\n this.P();\n }, s));\n if (!t.includes(i)) throw new TypeError(\"Invalid task priority : \" + i);\n return \"background\" === i && \"function\" == typeof requestIdleCallback ? (this.T = 0, void (this.C = requestIdleCallback(()=>{\n this.P();\n }))) : \"function\" == typeof MessageChannel ? (this.T = 2, void (this.C = r().u(()=>{\n this.P();\n }))) : (this.T = 1, void (this.C = setTimeout(()=>{\n this.P();\n })));\n }\n P() {\n this.m || this.k();\n }\n }\n var e = 0;\n class n {\n constructor(){\n this.j = null, this.M = null;\n }\n isEmpty() {\n return null == this.j;\n }\n push(t) {\n if (\"object\" != typeof t) throw new TypeError(\"Task must be an Object\");\n t.A = e++, this.isEmpty() ? (t.N = null, this.j = t) : (t.N = this.M, this.M.O = t), t.O = null, this.M = t;\n }\n takeNextTask() {\n if (this.isEmpty()) return null;\n var t = this.j;\n return this.q(t), t;\n }\n merge(t, i) {\n if (\"function\" != typeof i) throw new TypeError(\"Must provide a selector function.\");\n if (null == t) throw new Error(\"sourceQueue cannot be null\");\n for(var r = this.j, s = null, e = t.j; e;){\n var n = e;\n if (e = e.O, i(n)) {\n for(t.q(n); r && r.A < n.A;)s = r, r = r.O;\n this.D(n, s), s = n;\n }\n }\n }\n D(t, i) {\n if (i != this.M) {\n var r = i ? i.O : this.j;\n t.O = r, r.N = t, t.N = i, null != i ? i.O = t : this.j = t;\n } else this.push(t);\n }\n q(t) {\n if (null == t) throw new Error(\"Expected task to be non-null\");\n t === this.j && (this.j = t.O), t === this.M && (this.M = this.M.N), t.O && (t.O.N = t.N), t.N && (t.N.O = t.O);\n }\n }\n class l extends Event {\n constructor(i, r){\n if (!r || !t.includes(r.previousPriority)) throw new TypeError(\"Invalid task priority: '\" + r.previousPriority + \"'\");\n super(i), this.previousPriority = r.previousPriority;\n }\n }\n class o extends AbortController {\n constructor(i){\n if (void 0 === i && (i = {}), super(), null == i && (i = {}), \"object\" != typeof i) throw new TypeError(\"'init' is not an object\");\n var r, s, e = void 0 === i.priority ? \"user-visible\" : i.priority;\n if (!t.includes(e)) throw new TypeError(\"Invalid task priority: '\" + e + \"'\");\n this.H = e, this.R = !1, s = (r = this).signal, Object.defineProperties(s, {\n priority: {\n get: function() {\n return r.H;\n },\n enumerable: !0\n },\n onprioritychange: {\n value: null,\n writable: !0,\n enumerable: !0\n }\n }), s.addEventListener(\"prioritychange\", (t)=>{\n s.onprioritychange && s.onprioritychange(t);\n });\n }\n setPriority(i) {\n if (!t.includes(i)) throw new TypeError(\"Invalid task priority: \" + i);\n if (this.R) throw new DOMException(\"\", \"NotAllowedError\");\n if (this.signal.priority !== i) {\n this.R = !0;\n var r = this.H;\n this.H = i;\n var s = new l(\"prioritychange\", {\n previousPriority: r\n });\n this.signal.dispatchEvent(s), this.R = !1;\n }\n }\n }\n void 0 === self.scheduler ? (self.scheduler = new class {\n constructor(){\n this.S = {}, t.forEach((t)=>{\n this.S[t] = [\n new n,\n new n\n ];\n }), this.U = null, this.W = new WeakMap;\n }\n yield() {\n return this.B(()=>{}, {\n priority: \"user-visible\"\n }, !0);\n }\n postTask(t, i) {\n return this.B(t, i, !1);\n }\n B(i, r, s) {\n if (void 0 !== (r = Object.assign({}, r)).signal) {\n if (null === r.signal || !(\"aborted\" in r.signal) || \"function\" != typeof r.signal.addEventListener) return Promise.reject(new TypeError(\"'signal' is not a valid 'AbortSignal'\"));\n if (r.signal && r.signal.priority && !t.includes(r.signal.priority)) return Promise.reject(new TypeError(\"Invalid task priority: '\" + r.signal.priority + \"'\"));\n }\n if (void 0 !== r.priority && (null === r.priority || !t.includes(r.priority))) return Promise.reject(new TypeError(\"Invalid task priority: '\" + r.priority + \"'\"));\n if (void 0 === r.delay && (r.delay = 0), r.delay = Number(r.delay), r.delay < 0) return Promise.reject(new TypeError(\"'delay' must be a positive number.\"));\n var e = {\n callback: i,\n options: r,\n resolve: null,\n reject: null,\n hostCallback: null,\n abortCallback: null,\n onTaskCompleted: function() {\n this.options.signal && this.abortCallback && (this.options.signal.removeEventListener(\"abort\", this.abortCallback), this.abortCallback = null);\n },\n onTaskAborted: function() {\n this.hostCallback && (this.hostCallback.cancel(), this.hostCallback = null), this.options.signal.removeEventListener(\"abort\", this.abortCallback), this.abortCallback = null, this.reject(this.options.signal.reason);\n },\n isAborted: function() {\n return this.options.signal && this.options.signal.aborted;\n },\n isContinuation: s\n }, n = new Promise((t, i)=>{\n e.resolve = t, e.reject = i;\n });\n return this._(e), n;\n }\n _(t) {\n var i = t.options.signal;\n if (i) {\n if (i.aborted) return void t.reject(i.reason);\n t.abortCallback = ()=>{\n t.onTaskAborted();\n }, i.addEventListener(\"abort\", t.abortCallback);\n }\n t.options.delay > 0 ? t.hostCallback = new s(()=>{\n t.hostCallback = null, this.F(t);\n }, null, t.options.delay) : (this.G(t), this.J());\n }\n F(t) {\n this.G(t), this.U && (this.U.cancel(), this.U = null), this.K();\n }\n L(t) {\n var i = this.W.get(t);\n if (void 0 === i) throw new Error(\"Attempting to change priority on an unregistered signal\");\n if (i !== t.priority) {\n for(var r = 0; r < 2; r++)this.S[t.priority][r].merge(this.S[i][r], (i)=>i.options.signal === t);\n this.W.set(t, t.priority);\n }\n }\n K() {\n this.U = null, this.V(), this.J();\n }\n J() {\n var { priority: t } = this.X();\n null != t && (\"background\" !== t && this.U && this.U.isIdleCallback() && (this.U.cancel(), this.U = null), this.U || (this.U = new s(()=>{\n this.K();\n }, t, 0)));\n }\n G(i) {\n var r;\n if (!t.includes(r = i.options.priority ? i.options.priority : i.options.signal && i.options.signal.priority ? i.options.signal.priority : \"user-visible\")) throw new TypeError(\"Invalid task priority: \" + r);\n if (i.options.signal && i.options.signal.priority) {\n var s = i.options.signal;\n this.W.has(s) || (s.addEventListener(\"prioritychange\", ()=>{\n this.L(s);\n }), this.W.set(s, s.priority));\n }\n this.S[r][i.isContinuation ? 0 : 1].push(i);\n }\n V() {\n var t = null;\n do {\n var { priority: i, type: r } = this.X();\n if (null == i) return;\n t = this.S[i][r].takeNextTask();\n }while (t.isAborted());\n try {\n var s = t.callback();\n t.resolve(s);\n } catch (i) {\n t.reject(i);\n } finally{\n t.onTaskCompleted();\n }\n }\n X() {\n for(var i = 0; i < t.length; i++)for(var r = t[i], s = 0; s < 2; s++)if (!this.S[r][s].isEmpty()) return {\n priority: r,\n type: s\n };\n return {\n priority: null,\n type: 0\n };\n }\n }, self.TaskController = o, self.TaskPriorityChangeEvent = l) : self.scheduler.yield || (self.scheduler.yield = function() {\n return self.scheduler.postTask(()=>{}, {\n priority: \"user-blocking\"\n });\n });\n}();\n\n});\n\nparcelRegister(\"flxkr\", function(module, exports) {\n\n$parcel$export(module.exports, \"ReadableStream\", () => $3aa41668e353fa42$export$5d3e1e5268af5f76);\n/**\n * @license\n * web-streams-polyfill v4.1.0\n * Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors.\n * This code is released under the MIT license.\n * SPDX-License-Identifier: MIT\n */ function $3aa41668e353fa42$var$e() {}\nfunction $3aa41668e353fa42$var$t(e) {\n return \"object\" == typeof e && null !== e || \"function\" == typeof e;\n}\nconst $3aa41668e353fa42$var$r = $3aa41668e353fa42$var$e;\nfunction $3aa41668e353fa42$var$o(e, t) {\n try {\n Object.defineProperty(e, \"name\", {\n value: t,\n configurable: !0\n });\n } catch (e) {}\n}\nconst $3aa41668e353fa42$var$n = Promise, $3aa41668e353fa42$var$a = Promise.resolve.bind($3aa41668e353fa42$var$n), $3aa41668e353fa42$var$i = Promise.prototype.then, $3aa41668e353fa42$var$l = Promise.reject.bind($3aa41668e353fa42$var$n), $3aa41668e353fa42$var$s = $3aa41668e353fa42$var$a;\nfunction $3aa41668e353fa42$var$u(e) {\n return new $3aa41668e353fa42$var$n(e);\n}\nfunction $3aa41668e353fa42$var$c(e) {\n return $3aa41668e353fa42$var$u((t)=>t(e));\n}\nfunction $3aa41668e353fa42$var$d(e) {\n return $3aa41668e353fa42$var$l(e);\n}\nfunction $3aa41668e353fa42$var$f(e, t, r) {\n return $3aa41668e353fa42$var$i.call(e, t, r);\n}\nfunction $3aa41668e353fa42$var$b(e, t, o) {\n $3aa41668e353fa42$var$f($3aa41668e353fa42$var$f(e, t, o), void 0, $3aa41668e353fa42$var$r);\n}\nfunction $3aa41668e353fa42$var$h(e, t) {\n $3aa41668e353fa42$var$b(e, t);\n}\nfunction $3aa41668e353fa42$var$m(e, t) {\n $3aa41668e353fa42$var$b(e, void 0, t);\n}\nfunction $3aa41668e353fa42$var$_(e, t, r) {\n return $3aa41668e353fa42$var$f(e, t, r);\n}\nfunction $3aa41668e353fa42$var$p(e) {\n $3aa41668e353fa42$var$f(e, void 0, $3aa41668e353fa42$var$r);\n}\nlet $3aa41668e353fa42$var$y = (e)=>{\n if (\"function\" == typeof queueMicrotask) $3aa41668e353fa42$var$y = queueMicrotask;\n else {\n const e = $3aa41668e353fa42$var$c(void 0);\n $3aa41668e353fa42$var$y = (t)=>$3aa41668e353fa42$var$f(e, t);\n }\n return $3aa41668e353fa42$var$y(e);\n};\nfunction $3aa41668e353fa42$var$S(e, t, r) {\n if (\"function\" != typeof e) throw new TypeError(\"Argument is not a function\");\n return Function.prototype.apply.call(e, t, r);\n}\nfunction $3aa41668e353fa42$var$g(e, t, r) {\n try {\n return $3aa41668e353fa42$var$c($3aa41668e353fa42$var$S(e, t, r));\n } catch (e) {\n return $3aa41668e353fa42$var$d(e);\n }\n}\nclass $3aa41668e353fa42$var$v {\n constructor(){\n this._cursor = 0, this._size = 0, this._front = {\n _elements: [],\n _next: void 0\n }, this._back = this._front, this._cursor = 0, this._size = 0;\n }\n get length() {\n return this._size;\n }\n push(e) {\n const t = this._back;\n let r = t;\n 16383 === t._elements.length && (r = {\n _elements: [],\n _next: void 0\n }), t._elements.push(e), r !== t && (this._back = r, t._next = r), ++this._size;\n }\n shift() {\n const e = this._front;\n let t = e;\n const r = this._cursor;\n let o = r + 1;\n const n = e._elements, a = n[r];\n return 16384 === o && (t = e._next, o = 0), --this._size, this._cursor = o, e !== t && (this._front = t), n[r] = void 0, a;\n }\n forEach(e) {\n let t = this._cursor, r = this._front, o = r._elements;\n for(; !(t === o.length && void 0 === r._next || t === o.length && (r = r._next, o = r._elements, t = 0, 0 === o.length));)e(o[t]), ++t;\n }\n peek() {\n const e = this._front, t = this._cursor;\n return e._elements[t];\n }\n}\nconst $3aa41668e353fa42$var$w = Symbol(\"[[AbortSteps]]\"), $3aa41668e353fa42$var$R = Symbol(\"[[ErrorSteps]]\"), $3aa41668e353fa42$var$T = Symbol(\"[[CancelSteps]]\"), $3aa41668e353fa42$var$C = Symbol(\"[[PullSteps]]\"), $3aa41668e353fa42$var$P = Symbol(\"[[ReleaseSteps]]\");\nfunction $3aa41668e353fa42$var$q(e, t) {\n e._ownerReadableStream = t, t._reader = e, \"readable\" === t._state ? $3aa41668e353fa42$var$B(e) : \"closed\" === t._state ? function(e) {\n $3aa41668e353fa42$var$B(e), $3aa41668e353fa42$var$A(e);\n }(e) : $3aa41668e353fa42$var$k(e, t._storedError);\n}\nfunction $3aa41668e353fa42$var$E(e, t) {\n return $3aa41668e353fa42$var$Or(e._ownerReadableStream, t);\n}\nfunction $3aa41668e353fa42$var$W(e) {\n const t = e._ownerReadableStream;\n \"readable\" === t._state ? $3aa41668e353fa42$var$j(e, new TypeError(\"Reader was released and can no longer be used to monitor the stream's closedness\")) : function(e, t) {\n $3aa41668e353fa42$var$k(e, t);\n }(e, new TypeError(\"Reader was released and can no longer be used to monitor the stream's closedness\")), t._readableStreamController[$3aa41668e353fa42$var$P](), t._reader = void 0, e._ownerReadableStream = void 0;\n}\nfunction $3aa41668e353fa42$var$O(e) {\n return new TypeError(\"Cannot \" + e + \" a stream using a released reader\");\n}\nfunction $3aa41668e353fa42$var$B(e) {\n e._closedPromise = $3aa41668e353fa42$var$u((t, r)=>{\n e._closedPromise_resolve = t, e._closedPromise_reject = r;\n });\n}\nfunction $3aa41668e353fa42$var$k(e, t) {\n $3aa41668e353fa42$var$B(e), $3aa41668e353fa42$var$j(e, t);\n}\nfunction $3aa41668e353fa42$var$j(e, t) {\n void 0 !== e._closedPromise_reject && ($3aa41668e353fa42$var$p(e._closedPromise), e._closedPromise_reject(t), e._closedPromise_resolve = void 0, e._closedPromise_reject = void 0);\n}\nfunction $3aa41668e353fa42$var$A(e) {\n void 0 !== e._closedPromise_resolve && (e._closedPromise_resolve(void 0), e._closedPromise_resolve = void 0, e._closedPromise_reject = void 0);\n}\nconst $3aa41668e353fa42$var$z = Number.isFinite || function(e) {\n return \"number\" == typeof e && isFinite(e);\n}, $3aa41668e353fa42$var$D = Math.trunc || function(e) {\n return e < 0 ? Math.ceil(e) : Math.floor(e);\n};\nfunction $3aa41668e353fa42$var$L(e, t) {\n if (void 0 !== e && \"object\" != typeof (r = e) && \"function\" != typeof r) throw new TypeError(`${t} is not an object.`);\n var r;\n}\nfunction $3aa41668e353fa42$var$F(e, t) {\n if (\"function\" != typeof e) throw new TypeError(`${t} is not a function.`);\n}\nfunction $3aa41668e353fa42$var$I(e, t) {\n if (!function(e) {\n return \"object\" == typeof e && null !== e || \"function\" == typeof e;\n }(e)) throw new TypeError(`${t} is not an object.`);\n}\nfunction $3aa41668e353fa42$var$$(e, t, r) {\n if (void 0 === e) throw new TypeError(`Parameter ${t} is required in '${r}'.`);\n}\nfunction $3aa41668e353fa42$var$M(e, t, r) {\n if (void 0 === e) throw new TypeError(`${t} is required in '${r}'.`);\n}\nfunction $3aa41668e353fa42$var$Y(e) {\n return Number(e);\n}\nfunction $3aa41668e353fa42$var$x(e) {\n return 0 === e ? 0 : e;\n}\nfunction $3aa41668e353fa42$var$Q(e, t) {\n const r = Number.MAX_SAFE_INTEGER;\n let o = Number(e);\n if (o = $3aa41668e353fa42$var$x(o), !$3aa41668e353fa42$var$z(o)) throw new TypeError(`${t} is not a finite number`);\n if (o = function(e) {\n return $3aa41668e353fa42$var$x($3aa41668e353fa42$var$D(e));\n }(o), o < 0 || o > r) throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);\n return $3aa41668e353fa42$var$z(o) && 0 !== o ? o : 0;\n}\nfunction $3aa41668e353fa42$var$N(e, t) {\n if (!$3aa41668e353fa42$var$Er(e)) throw new TypeError(`${t} is not a ReadableStream.`);\n}\nfunction $3aa41668e353fa42$var$H(e) {\n return new $3aa41668e353fa42$export$a890bf36e2af9168(e);\n}\nfunction $3aa41668e353fa42$var$V(e, t) {\n e._reader._readRequests.push(t);\n}\nfunction $3aa41668e353fa42$var$U(e, t, r) {\n const o = e._reader._readRequests.shift();\n r ? o._closeSteps() : o._chunkSteps(t);\n}\nfunction $3aa41668e353fa42$var$G(e) {\n return e._reader._readRequests.length;\n}\nfunction $3aa41668e353fa42$var$X(e) {\n const t = e._reader;\n return void 0 !== t && !!$3aa41668e353fa42$var$J(t);\n}\nclass $3aa41668e353fa42$export$a890bf36e2af9168 {\n constructor(e){\n if ($3aa41668e353fa42$var$$(e, 1, \"ReadableStreamDefaultReader\"), $3aa41668e353fa42$var$N(e, \"First parameter\"), $3aa41668e353fa42$var$Wr(e)) throw new TypeError(\"This stream has already been locked for exclusive reading by another reader\");\n $3aa41668e353fa42$var$q(this, e), this._readRequests = new $3aa41668e353fa42$var$v;\n }\n get closed() {\n return $3aa41668e353fa42$var$J(this) ? this._closedPromise : $3aa41668e353fa42$var$d($3aa41668e353fa42$var$ee(\"closed\"));\n }\n cancel(e) {\n return $3aa41668e353fa42$var$J(this) ? void 0 === this._ownerReadableStream ? $3aa41668e353fa42$var$d($3aa41668e353fa42$var$O(\"cancel\")) : $3aa41668e353fa42$var$E(this, e) : $3aa41668e353fa42$var$d($3aa41668e353fa42$var$ee(\"cancel\"));\n }\n read() {\n if (!$3aa41668e353fa42$var$J(this)) return $3aa41668e353fa42$var$d($3aa41668e353fa42$var$ee(\"read\"));\n if (void 0 === this._ownerReadableStream) return $3aa41668e353fa42$var$d($3aa41668e353fa42$var$O(\"read from\"));\n let e, t;\n const r = $3aa41668e353fa42$var$u((r, o)=>{\n e = r, t = o;\n });\n return $3aa41668e353fa42$var$K(this, {\n _chunkSteps: (t)=>e({\n value: t,\n done: !1\n }),\n _closeSteps: ()=>e({\n value: void 0,\n done: !0\n }),\n _errorSteps: (e)=>t(e)\n }), r;\n }\n releaseLock() {\n if (!$3aa41668e353fa42$var$J(this)) throw $3aa41668e353fa42$var$ee(\"releaseLock\");\n void 0 !== this._ownerReadableStream && function(e) {\n $3aa41668e353fa42$var$W(e);\n const t = new TypeError(\"Reader was released\");\n $3aa41668e353fa42$var$Z(e, t);\n }(this);\n }\n}\nfunction $3aa41668e353fa42$var$J(e) {\n return !!$3aa41668e353fa42$var$t(e) && !!Object.prototype.hasOwnProperty.call(e, \"_readRequests\") && e instanceof $3aa41668e353fa42$export$a890bf36e2af9168;\n}\nfunction $3aa41668e353fa42$var$K(e, t) {\n const r = e._ownerReadableStream;\n r._disturbed = !0, \"closed\" === r._state ? t._closeSteps() : \"errored\" === r._state ? t._errorSteps(r._storedError) : r._readableStreamController[$3aa41668e353fa42$var$C](t);\n}\nfunction $3aa41668e353fa42$var$Z(e, t) {\n const r = e._readRequests;\n e._readRequests = new $3aa41668e353fa42$var$v, r.forEach((e)=>{\n e._errorSteps(t);\n });\n}\nfunction $3aa41668e353fa42$var$ee(e) {\n return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`);\n}\nvar $3aa41668e353fa42$var$te, $3aa41668e353fa42$var$re, $3aa41668e353fa42$var$oe;\nfunction $3aa41668e353fa42$var$ne(e) {\n return e.slice();\n}\nfunction $3aa41668e353fa42$var$ae(e, t, r, o, n) {\n new Uint8Array(e).set(new Uint8Array(r, o, n), t);\n}\nObject.defineProperties($3aa41668e353fa42$export$a890bf36e2af9168.prototype, {\n cancel: {\n enumerable: !0\n },\n read: {\n enumerable: !0\n },\n releaseLock: {\n enumerable: !0\n },\n closed: {\n enumerable: !0\n }\n}), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$a890bf36e2af9168.prototype.cancel, \"cancel\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$a890bf36e2af9168.prototype.read, \"read\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$a890bf36e2af9168.prototype.releaseLock, \"releaseLock\"), \"symbol\" == typeof Symbol.toStringTag && Object.defineProperty($3aa41668e353fa42$export$a890bf36e2af9168.prototype, Symbol.toStringTag, {\n value: \"ReadableStreamDefaultReader\",\n configurable: !0\n});\nlet $3aa41668e353fa42$var$ie = (e)=>($3aa41668e353fa42$var$ie = \"function\" == typeof e.transfer ? (e)=>e.transfer() : \"function\" == typeof structuredClone ? (e)=>structuredClone(e, {\n transfer: [\n e\n ]\n }) : (e)=>e, $3aa41668e353fa42$var$ie(e)), $3aa41668e353fa42$var$le = (e)=>($3aa41668e353fa42$var$le = \"boolean\" == typeof e.detached ? (e)=>e.detached : (e)=>0 === e.byteLength, $3aa41668e353fa42$var$le(e));\nfunction $3aa41668e353fa42$var$se(e, t, r) {\n if (e.slice) return e.slice(t, r);\n const o = r - t, n = new ArrayBuffer(o);\n return $3aa41668e353fa42$var$ae(n, 0, e, t, o), n;\n}\nfunction $3aa41668e353fa42$var$ue(e, t) {\n const r = e[t];\n if (null != r) {\n if (\"function\" != typeof r) throw new TypeError(`${String(t)} is not a function`);\n return r;\n }\n}\nfunction $3aa41668e353fa42$var$ce(e) {\n try {\n const t = e.done, r = e.value;\n return $3aa41668e353fa42$var$f($3aa41668e353fa42$var$s(r), (e)=>({\n done: t,\n value: e\n }));\n } catch (e) {\n return $3aa41668e353fa42$var$d(e);\n }\n}\nconst $3aa41668e353fa42$var$de = null !== ($3aa41668e353fa42$var$oe = null !== ($3aa41668e353fa42$var$te = Symbol.asyncIterator) && void 0 !== $3aa41668e353fa42$var$te ? $3aa41668e353fa42$var$te : null === ($3aa41668e353fa42$var$re = Symbol.for) || void 0 === $3aa41668e353fa42$var$re ? void 0 : $3aa41668e353fa42$var$re.call(Symbol, \"Symbol.asyncIterator\")) && void 0 !== $3aa41668e353fa42$var$oe ? $3aa41668e353fa42$var$oe : \"@@asyncIterator\";\nfunction $3aa41668e353fa42$var$fe(e, r = \"sync\", o) {\n if (void 0 === o) {\n if (\"async\" === r) {\n if (void 0 === (o = $3aa41668e353fa42$var$ue(e, $3aa41668e353fa42$var$de))) return function(e) {\n const r = {\n next () {\n let t;\n try {\n t = $3aa41668e353fa42$var$be(e);\n } catch (e) {\n return $3aa41668e353fa42$var$d(e);\n }\n return $3aa41668e353fa42$var$ce(t);\n },\n return (r) {\n let o;\n try {\n const t = $3aa41668e353fa42$var$ue(e.iterator, \"return\");\n if (void 0 === t) return $3aa41668e353fa42$var$c({\n done: !0,\n value: r\n });\n o = $3aa41668e353fa42$var$S(t, e.iterator, [\n r\n ]);\n } catch (e) {\n return $3aa41668e353fa42$var$d(e);\n }\n return $3aa41668e353fa42$var$t(o) ? $3aa41668e353fa42$var$ce(o) : $3aa41668e353fa42$var$d(new TypeError(\"The iterator.return() method must return an object\"));\n }\n };\n return {\n iterator: r,\n nextMethod: r.next,\n done: !1\n };\n }($3aa41668e353fa42$var$fe(e, \"sync\", $3aa41668e353fa42$var$ue(e, Symbol.iterator)));\n } else o = $3aa41668e353fa42$var$ue(e, Symbol.iterator);\n }\n if (void 0 === o) throw new TypeError(\"The object is not iterable\");\n const n = $3aa41668e353fa42$var$S(o, e, []);\n if (!$3aa41668e353fa42$var$t(n)) throw new TypeError(\"The iterator method must return an object\");\n return {\n iterator: n,\n nextMethod: n.next,\n done: !1\n };\n}\nfunction $3aa41668e353fa42$var$be(e) {\n const r = $3aa41668e353fa42$var$S(e.nextMethod, e.iterator, []);\n if (!$3aa41668e353fa42$var$t(r)) throw new TypeError(\"The iterator.next() method must return an object\");\n return r;\n}\nclass $3aa41668e353fa42$var$he {\n constructor(e, t){\n this._ongoingPromise = void 0, this._isFinished = !1, this._reader = e, this._preventCancel = t;\n }\n next() {\n const e = ()=>this._nextSteps();\n return this._ongoingPromise = this._ongoingPromise ? $3aa41668e353fa42$var$_(this._ongoingPromise, e, e) : e(), this._ongoingPromise;\n }\n return(e) {\n const t = ()=>this._returnSteps(e);\n return this._ongoingPromise = this._ongoingPromise ? $3aa41668e353fa42$var$_(this._ongoingPromise, t, t) : t(), this._ongoingPromise;\n }\n _nextSteps() {\n if (this._isFinished) return Promise.resolve({\n value: void 0,\n done: !0\n });\n const e = this._reader;\n let t, r;\n const o = $3aa41668e353fa42$var$u((e, o)=>{\n t = e, r = o;\n });\n return $3aa41668e353fa42$var$K(e, {\n _chunkSteps: (e)=>{\n this._ongoingPromise = void 0, $3aa41668e353fa42$var$y(()=>t({\n value: e,\n done: !1\n }));\n },\n _closeSteps: ()=>{\n this._ongoingPromise = void 0, this._isFinished = !0, $3aa41668e353fa42$var$W(e), t({\n value: void 0,\n done: !0\n });\n },\n _errorSteps: (t)=>{\n this._ongoingPromise = void 0, this._isFinished = !0, $3aa41668e353fa42$var$W(e), r(t);\n }\n }), o;\n }\n _returnSteps(e) {\n if (this._isFinished) return Promise.resolve({\n value: e,\n done: !0\n });\n this._isFinished = !0;\n const t = this._reader;\n if (!this._preventCancel) {\n const r = $3aa41668e353fa42$var$E(t, e);\n return $3aa41668e353fa42$var$W(t), $3aa41668e353fa42$var$_(r, ()=>({\n value: e,\n done: !0\n }));\n }\n return $3aa41668e353fa42$var$W(t), $3aa41668e353fa42$var$c({\n value: e,\n done: !0\n });\n }\n}\nconst $3aa41668e353fa42$var$me = {\n next () {\n return $3aa41668e353fa42$var$_e(this) ? this._asyncIteratorImpl.next() : $3aa41668e353fa42$var$d($3aa41668e353fa42$var$pe(\"next\"));\n },\n return (e) {\n return $3aa41668e353fa42$var$_e(this) ? this._asyncIteratorImpl.return(e) : $3aa41668e353fa42$var$d($3aa41668e353fa42$var$pe(\"return\"));\n },\n [$3aa41668e353fa42$var$de] () {\n return this;\n }\n};\nfunction $3aa41668e353fa42$var$_e(e) {\n if (!$3aa41668e353fa42$var$t(e)) return !1;\n if (!Object.prototype.hasOwnProperty.call(e, \"_asyncIteratorImpl\")) return !1;\n try {\n return e._asyncIteratorImpl instanceof $3aa41668e353fa42$var$he;\n } catch (e) {\n return !1;\n }\n}\nfunction $3aa41668e353fa42$var$pe(e) {\n return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`);\n}\nObject.defineProperty($3aa41668e353fa42$var$me, $3aa41668e353fa42$var$de, {\n enumerable: !1\n});\nconst $3aa41668e353fa42$var$ye = Number.isNaN || function(e) {\n return e != e;\n};\nfunction $3aa41668e353fa42$var$Se(e) {\n const t = $3aa41668e353fa42$var$se(e.buffer, e.byteOffset, e.byteOffset + e.byteLength);\n return new Uint8Array(t);\n}\nfunction $3aa41668e353fa42$var$ge(e) {\n const t = e._queue.shift();\n return e._queueTotalSize -= t.size, e._queueTotalSize < 0 && (e._queueTotalSize = 0), t.value;\n}\nfunction $3aa41668e353fa42$var$ve(e, t, r) {\n if (\"number\" != typeof (o = r) || $3aa41668e353fa42$var$ye(o) || o < 0 || r === 1 / 0) throw new RangeError(\"Size must be a finite, non-NaN, non-negative number.\");\n var o;\n e._queue.push({\n value: t,\n size: r\n }), e._queueTotalSize += r;\n}\nfunction $3aa41668e353fa42$var$we(e) {\n e._queue = new $3aa41668e353fa42$var$v, e._queueTotalSize = 0;\n}\nfunction $3aa41668e353fa42$var$Re(e) {\n return e === DataView;\n}\nclass $3aa41668e353fa42$export$fbcf11583158d2c {\n constructor(){\n throw new TypeError(\"Illegal constructor\");\n }\n get view() {\n if (!$3aa41668e353fa42$var$Ce(this)) throw $3aa41668e353fa42$var$Ke(\"view\");\n return this._view;\n }\n respond(e) {\n if (!$3aa41668e353fa42$var$Ce(this)) throw $3aa41668e353fa42$var$Ke(\"respond\");\n if ($3aa41668e353fa42$var$$(e, 1, \"respond\"), e = $3aa41668e353fa42$var$Q(e, \"First parameter\"), void 0 === this._associatedReadableByteStreamController) throw new TypeError(\"This BYOB request has been invalidated\");\n if ($3aa41668e353fa42$var$le(this._view.buffer)) throw new TypeError(\"The BYOB request's buffer has been detached and so cannot be used as a response\");\n $3aa41668e353fa42$var$Ge(this._associatedReadableByteStreamController, e);\n }\n respondWithNewView(e) {\n if (!$3aa41668e353fa42$var$Ce(this)) throw $3aa41668e353fa42$var$Ke(\"respondWithNewView\");\n if ($3aa41668e353fa42$var$$(e, 1, \"respondWithNewView\"), !ArrayBuffer.isView(e)) throw new TypeError(\"You can only respond with array buffer views\");\n if (void 0 === this._associatedReadableByteStreamController) throw new TypeError(\"This BYOB request has been invalidated\");\n if ($3aa41668e353fa42$var$le(e.buffer)) throw new TypeError(\"The given view's buffer has been detached and so cannot be used as a response\");\n $3aa41668e353fa42$var$Xe(this._associatedReadableByteStreamController, e);\n }\n}\nObject.defineProperties($3aa41668e353fa42$export$fbcf11583158d2c.prototype, {\n respond: {\n enumerable: !0\n },\n respondWithNewView: {\n enumerable: !0\n },\n view: {\n enumerable: !0\n }\n}), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$fbcf11583158d2c.prototype.respond, \"respond\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$fbcf11583158d2c.prototype.respondWithNewView, \"respondWithNewView\"), \"symbol\" == typeof Symbol.toStringTag && Object.defineProperty($3aa41668e353fa42$export$fbcf11583158d2c.prototype, Symbol.toStringTag, {\n value: \"ReadableStreamBYOBRequest\",\n configurable: !0\n});\nclass $3aa41668e353fa42$export$2047cf34091e94ac {\n constructor(){\n throw new TypeError(\"Illegal constructor\");\n }\n get byobRequest() {\n if (!$3aa41668e353fa42$var$Te(this)) throw $3aa41668e353fa42$var$Ze(\"byobRequest\");\n return $3aa41668e353fa42$var$Ve(this);\n }\n get desiredSize() {\n if (!$3aa41668e353fa42$var$Te(this)) throw $3aa41668e353fa42$var$Ze(\"desiredSize\");\n return $3aa41668e353fa42$var$Ue(this);\n }\n close() {\n if (!$3aa41668e353fa42$var$Te(this)) throw $3aa41668e353fa42$var$Ze(\"close\");\n if (this._closeRequested) throw new TypeError(\"The stream has already been closed; do not close it again!\");\n const e = this._controlledReadableByteStream._state;\n if (\"readable\" !== e) throw new TypeError(`The stream (in ${e} state) is not in the readable state and cannot be closed`);\n $3aa41668e353fa42$var$xe(this);\n }\n enqueue(e) {\n if (!$3aa41668e353fa42$var$Te(this)) throw $3aa41668e353fa42$var$Ze(\"enqueue\");\n if ($3aa41668e353fa42$var$$(e, 1, \"enqueue\"), !ArrayBuffer.isView(e)) throw new TypeError(\"chunk must be an array buffer view\");\n if (0 === e.byteLength) throw new TypeError(\"chunk must have non-zero byteLength\");\n if (0 === e.buffer.byteLength) throw new TypeError(\"chunk's buffer must have non-zero byteLength\");\n if (this._closeRequested) throw new TypeError(\"stream is closed or draining\");\n const t = this._controlledReadableByteStream._state;\n if (\"readable\" !== t) throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be enqueued to`);\n $3aa41668e353fa42$var$Qe(this, e);\n }\n error(e) {\n if (!$3aa41668e353fa42$var$Te(this)) throw $3aa41668e353fa42$var$Ze(\"error\");\n $3aa41668e353fa42$var$Ne(this, e);\n }\n [$3aa41668e353fa42$var$T](e) {\n $3aa41668e353fa42$var$qe(this), $3aa41668e353fa42$var$we(this);\n const t = this._cancelAlgorithm(e);\n return $3aa41668e353fa42$var$Ye(this), t;\n }\n [$3aa41668e353fa42$var$C](e) {\n const t = this._controlledReadableByteStream;\n if (this._queueTotalSize > 0) return void $3aa41668e353fa42$var$He(this, e);\n const r = this._autoAllocateChunkSize;\n if (void 0 !== r) {\n let t;\n try {\n t = new ArrayBuffer(r);\n } catch (t) {\n return void e._errorSteps(t);\n }\n const o = {\n buffer: t,\n bufferByteLength: r,\n byteOffset: 0,\n byteLength: r,\n bytesFilled: 0,\n minimumFill: 1,\n elementSize: 1,\n viewConstructor: Uint8Array,\n readerType: \"default\"\n };\n this._pendingPullIntos.push(o);\n }\n $3aa41668e353fa42$var$V(t, e), $3aa41668e353fa42$var$Pe(this);\n }\n [$3aa41668e353fa42$var$P]() {\n if (this._pendingPullIntos.length > 0) {\n const e = this._pendingPullIntos.peek();\n e.readerType = \"none\", this._pendingPullIntos = new $3aa41668e353fa42$var$v, this._pendingPullIntos.push(e);\n }\n }\n}\nfunction $3aa41668e353fa42$var$Te(e) {\n return !!$3aa41668e353fa42$var$t(e) && !!Object.prototype.hasOwnProperty.call(e, \"_controlledReadableByteStream\") && e instanceof $3aa41668e353fa42$export$2047cf34091e94ac;\n}\nfunction $3aa41668e353fa42$var$Ce(e) {\n return !!$3aa41668e353fa42$var$t(e) && !!Object.prototype.hasOwnProperty.call(e, \"_associatedReadableByteStreamController\") && e instanceof $3aa41668e353fa42$export$fbcf11583158d2c;\n}\nfunction $3aa41668e353fa42$var$Pe(e) {\n const t = function(e) {\n const t = e._controlledReadableByteStream;\n if (\"readable\" !== t._state) return !1;\n if (e._closeRequested) return !1;\n if (!e._started) return !1;\n if ($3aa41668e353fa42$var$X(t) && $3aa41668e353fa42$var$G(t) > 0) return !0;\n if ($3aa41668e353fa42$var$nt(t) && $3aa41668e353fa42$var$ot(t) > 0) return !0;\n const r = $3aa41668e353fa42$var$Ue(e);\n if (r > 0) return !0;\n return !1;\n }(e);\n if (!t) return;\n if (e._pulling) return void (e._pullAgain = !0);\n e._pulling = !0;\n $3aa41668e353fa42$var$b(e._pullAlgorithm(), ()=>(e._pulling = !1, e._pullAgain && (e._pullAgain = !1, $3aa41668e353fa42$var$Pe(e)), null), (t)=>($3aa41668e353fa42$var$Ne(e, t), null));\n}\nfunction $3aa41668e353fa42$var$qe(e) {\n $3aa41668e353fa42$var$Le(e), e._pendingPullIntos = new $3aa41668e353fa42$var$v;\n}\nfunction $3aa41668e353fa42$var$Ee(e, t) {\n let r = !1;\n \"closed\" === e._state && (r = !0);\n const o = $3aa41668e353fa42$var$Oe(t);\n \"default\" === t.readerType ? $3aa41668e353fa42$var$U(e, o, r) : function(e, t, r) {\n const o = e._reader, n = o._readIntoRequests.shift();\n r ? n._closeSteps(t) : n._chunkSteps(t);\n }(e, o, r);\n}\nfunction $3aa41668e353fa42$var$We(e, t) {\n for(let r = 0; r < t.length; ++r)$3aa41668e353fa42$var$Ee(e, t[r]);\n}\nfunction $3aa41668e353fa42$var$Oe(e) {\n const t = e.bytesFilled, r = e.elementSize;\n return new e.viewConstructor(e.buffer, e.byteOffset, t / r);\n}\nfunction $3aa41668e353fa42$var$Be(e, t, r, o) {\n e._queue.push({\n buffer: t,\n byteOffset: r,\n byteLength: o\n }), e._queueTotalSize += o;\n}\nfunction $3aa41668e353fa42$var$ke(e, t, r, o) {\n let n;\n try {\n n = $3aa41668e353fa42$var$se(t, r, r + o);\n } catch (t) {\n throw $3aa41668e353fa42$var$Ne(e, t), t;\n }\n $3aa41668e353fa42$var$Be(e, n, 0, o);\n}\nfunction $3aa41668e353fa42$var$je(e, t) {\n t.bytesFilled > 0 && $3aa41668e353fa42$var$ke(e, t.buffer, t.byteOffset, t.bytesFilled), $3aa41668e353fa42$var$Me(e);\n}\nfunction $3aa41668e353fa42$var$Ae(e, t) {\n const r = Math.min(e._queueTotalSize, t.byteLength - t.bytesFilled), o = t.bytesFilled + r;\n let n = r, a = !1;\n const i = o - o % t.elementSize;\n i >= t.minimumFill && (n = i - t.bytesFilled, a = !0);\n const l = e._queue;\n for(; n > 0;){\n const r = l.peek(), o = Math.min(n, r.byteLength), a = t.byteOffset + t.bytesFilled;\n $3aa41668e353fa42$var$ae(t.buffer, a, r.buffer, r.byteOffset, o), r.byteLength === o ? l.shift() : (r.byteOffset += o, r.byteLength -= o), e._queueTotalSize -= o, $3aa41668e353fa42$var$ze(e, o, t), n -= o;\n }\n return a;\n}\nfunction $3aa41668e353fa42$var$ze(e, t, r) {\n r.bytesFilled += t;\n}\nfunction $3aa41668e353fa42$var$De(e) {\n 0 === e._queueTotalSize && e._closeRequested ? ($3aa41668e353fa42$var$Ye(e), $3aa41668e353fa42$var$Br(e._controlledReadableByteStream)) : $3aa41668e353fa42$var$Pe(e);\n}\nfunction $3aa41668e353fa42$var$Le(e) {\n null !== e._byobRequest && (e._byobRequest._associatedReadableByteStreamController = void 0, e._byobRequest._view = null, e._byobRequest = null);\n}\nfunction $3aa41668e353fa42$var$Fe(e) {\n const t = [];\n for(; e._pendingPullIntos.length > 0 && 0 !== e._queueTotalSize;){\n const r = e._pendingPullIntos.peek();\n $3aa41668e353fa42$var$Ae(e, r) && ($3aa41668e353fa42$var$Me(e), t.push(r));\n }\n return t;\n}\nfunction $3aa41668e353fa42$var$Ie(e, t, r, o) {\n const n = e._controlledReadableByteStream, a = t.constructor, i = function(e) {\n return $3aa41668e353fa42$var$Re(e) ? 1 : e.BYTES_PER_ELEMENT;\n }(a), { byteOffset: l, byteLength: s } = t, u = r * i;\n let c;\n try {\n c = $3aa41668e353fa42$var$ie(t.buffer);\n } catch (e) {\n return void o._errorSteps(e);\n }\n const d = {\n buffer: c,\n bufferByteLength: c.byteLength,\n byteOffset: l,\n byteLength: s,\n bytesFilled: 0,\n minimumFill: u,\n elementSize: i,\n viewConstructor: a,\n readerType: \"byob\"\n };\n if (e._pendingPullIntos.length > 0) return e._pendingPullIntos.push(d), void $3aa41668e353fa42$var$rt(n, o);\n if (\"closed\" !== n._state) {\n if (e._queueTotalSize > 0) {\n if ($3aa41668e353fa42$var$Ae(e, d)) {\n const t = $3aa41668e353fa42$var$Oe(d);\n return $3aa41668e353fa42$var$De(e), void o._chunkSteps(t);\n }\n if (e._closeRequested) {\n const t = new TypeError(\"Insufficient bytes to fill elements in the given buffer\");\n return $3aa41668e353fa42$var$Ne(e, t), void o._errorSteps(t);\n }\n }\n e._pendingPullIntos.push(d), $3aa41668e353fa42$var$rt(n, o), $3aa41668e353fa42$var$Pe(e);\n } else {\n const e = new a(d.buffer, d.byteOffset, 0);\n o._closeSteps(e);\n }\n}\nfunction $3aa41668e353fa42$var$$e(e, t) {\n const r = e._pendingPullIntos.peek();\n $3aa41668e353fa42$var$Le(e);\n \"closed\" === e._controlledReadableByteStream._state ? function(e, t) {\n \"none\" === t.readerType && $3aa41668e353fa42$var$Me(e);\n const r = e._controlledReadableByteStream;\n if ($3aa41668e353fa42$var$nt(r)) {\n const t = [];\n for(let o = 0; o < $3aa41668e353fa42$var$ot(r); ++o)t.push($3aa41668e353fa42$var$Me(e));\n $3aa41668e353fa42$var$We(r, t);\n }\n }(e, r) : function(e, t, r) {\n if ($3aa41668e353fa42$var$ze(0, t, r), \"none\" === r.readerType) {\n $3aa41668e353fa42$var$je(e, r);\n const t = $3aa41668e353fa42$var$Fe(e);\n return void $3aa41668e353fa42$var$We(e._controlledReadableByteStream, t);\n }\n if (r.bytesFilled < r.minimumFill) return;\n $3aa41668e353fa42$var$Me(e);\n const o = r.bytesFilled % r.elementSize;\n if (o > 0) {\n const t = r.byteOffset + r.bytesFilled;\n $3aa41668e353fa42$var$ke(e, r.buffer, t - o, o);\n }\n r.bytesFilled -= o;\n const n = $3aa41668e353fa42$var$Fe(e);\n $3aa41668e353fa42$var$Ee(e._controlledReadableByteStream, r), $3aa41668e353fa42$var$We(e._controlledReadableByteStream, n);\n }(e, t, r), $3aa41668e353fa42$var$Pe(e);\n}\nfunction $3aa41668e353fa42$var$Me(e) {\n return e._pendingPullIntos.shift();\n}\nfunction $3aa41668e353fa42$var$Ye(e) {\n e._pullAlgorithm = void 0, e._cancelAlgorithm = void 0;\n}\nfunction $3aa41668e353fa42$var$xe(e) {\n const t = e._controlledReadableByteStream;\n if (!e._closeRequested && \"readable\" === t._state) {\n if (e._queueTotalSize > 0) e._closeRequested = !0;\n else {\n if (e._pendingPullIntos.length > 0) {\n const t = e._pendingPullIntos.peek();\n if (t.bytesFilled % t.elementSize != 0) {\n const t = new TypeError(\"Insufficient bytes to fill elements in the given buffer\");\n throw $3aa41668e353fa42$var$Ne(e, t), t;\n }\n }\n $3aa41668e353fa42$var$Ye(e), $3aa41668e353fa42$var$Br(t);\n }\n }\n}\nfunction $3aa41668e353fa42$var$Qe(e, t) {\n const r = e._controlledReadableByteStream;\n if (e._closeRequested || \"readable\" !== r._state) return;\n const { buffer: o, byteOffset: n, byteLength: a } = t;\n if ($3aa41668e353fa42$var$le(o)) throw new TypeError(\"chunk's buffer is detached and so cannot be enqueued\");\n const i = $3aa41668e353fa42$var$ie(o);\n if (e._pendingPullIntos.length > 0) {\n const t = e._pendingPullIntos.peek();\n if ($3aa41668e353fa42$var$le(t.buffer)) throw new TypeError(\"The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk\");\n $3aa41668e353fa42$var$Le(e), t.buffer = $3aa41668e353fa42$var$ie(t.buffer), \"none\" === t.readerType && $3aa41668e353fa42$var$je(e, t);\n }\n if ($3aa41668e353fa42$var$X(r)) {\n if (function(e) {\n const t = e._controlledReadableByteStream._reader;\n for(; t._readRequests.length > 0;){\n if (0 === e._queueTotalSize) return;\n $3aa41668e353fa42$var$He(e, t._readRequests.shift());\n }\n }(e), 0 === $3aa41668e353fa42$var$G(r)) $3aa41668e353fa42$var$Be(e, i, n, a);\n else {\n e._pendingPullIntos.length > 0 && $3aa41668e353fa42$var$Me(e);\n $3aa41668e353fa42$var$U(r, new Uint8Array(i, n, a), !1);\n }\n } else if ($3aa41668e353fa42$var$nt(r)) {\n $3aa41668e353fa42$var$Be(e, i, n, a);\n const t = $3aa41668e353fa42$var$Fe(e);\n $3aa41668e353fa42$var$We(e._controlledReadableByteStream, t);\n } else $3aa41668e353fa42$var$Be(e, i, n, a);\n $3aa41668e353fa42$var$Pe(e);\n}\nfunction $3aa41668e353fa42$var$Ne(e, t) {\n const r = e._controlledReadableByteStream;\n \"readable\" === r._state && ($3aa41668e353fa42$var$qe(e), $3aa41668e353fa42$var$we(e), $3aa41668e353fa42$var$Ye(e), $3aa41668e353fa42$var$kr(r, t));\n}\nfunction $3aa41668e353fa42$var$He(e, t) {\n const r = e._queue.shift();\n e._queueTotalSize -= r.byteLength, $3aa41668e353fa42$var$De(e);\n const o = new Uint8Array(r.buffer, r.byteOffset, r.byteLength);\n t._chunkSteps(o);\n}\nfunction $3aa41668e353fa42$var$Ve(e) {\n if (null === e._byobRequest && e._pendingPullIntos.length > 0) {\n const t = e._pendingPullIntos.peek(), r = new Uint8Array(t.buffer, t.byteOffset + t.bytesFilled, t.byteLength - t.bytesFilled), o = Object.create($3aa41668e353fa42$export$fbcf11583158d2c.prototype);\n !function(e, t, r) {\n e._associatedReadableByteStreamController = t, e._view = r;\n }(o, e, r), e._byobRequest = o;\n }\n return e._byobRequest;\n}\nfunction $3aa41668e353fa42$var$Ue(e) {\n const t = e._controlledReadableByteStream._state;\n return \"errored\" === t ? null : \"closed\" === t ? 0 : e._strategyHWM - e._queueTotalSize;\n}\nfunction $3aa41668e353fa42$var$Ge(e, t) {\n const r = e._pendingPullIntos.peek();\n if (\"closed\" === e._controlledReadableByteStream._state) {\n if (0 !== t) throw new TypeError(\"bytesWritten must be 0 when calling respond() on a closed stream\");\n } else {\n if (0 === t) throw new TypeError(\"bytesWritten must be greater than 0 when calling respond() on a readable stream\");\n if (r.bytesFilled + t > r.byteLength) throw new RangeError(\"bytesWritten out of range\");\n }\n r.buffer = $3aa41668e353fa42$var$ie(r.buffer), $3aa41668e353fa42$var$$e(e, t);\n}\nfunction $3aa41668e353fa42$var$Xe(e, t) {\n const r = e._pendingPullIntos.peek();\n if (\"closed\" === e._controlledReadableByteStream._state) {\n if (0 !== t.byteLength) throw new TypeError(\"The view's length must be 0 when calling respondWithNewView() on a closed stream\");\n } else if (0 === t.byteLength) throw new TypeError(\"The view's length must be greater than 0 when calling respondWithNewView() on a readable stream\");\n if (r.byteOffset + r.bytesFilled !== t.byteOffset) throw new RangeError(\"The region specified by view does not match byobRequest\");\n if (r.bufferByteLength !== t.buffer.byteLength) throw new RangeError(\"The buffer of view has different capacity than byobRequest\");\n if (r.bytesFilled + t.byteLength > r.byteLength) throw new RangeError(\"The region specified by view is larger than byobRequest\");\n const o = t.byteLength;\n r.buffer = $3aa41668e353fa42$var$ie(t.buffer), $3aa41668e353fa42$var$$e(e, o);\n}\nfunction $3aa41668e353fa42$var$Je(e, t, r, o, n, a, i) {\n t._controlledReadableByteStream = e, t._pullAgain = !1, t._pulling = !1, t._byobRequest = null, t._queue = t._queueTotalSize = void 0, $3aa41668e353fa42$var$we(t), t._closeRequested = !1, t._started = !1, t._strategyHWM = a, t._pullAlgorithm = o, t._cancelAlgorithm = n, t._autoAllocateChunkSize = i, t._pendingPullIntos = new $3aa41668e353fa42$var$v, e._readableStreamController = t;\n $3aa41668e353fa42$var$b($3aa41668e353fa42$var$c(r()), ()=>(t._started = !0, $3aa41668e353fa42$var$Pe(t), null), (e)=>($3aa41668e353fa42$var$Ne(t, e), null));\n}\nfunction $3aa41668e353fa42$var$Ke(e) {\n return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`);\n}\nfunction $3aa41668e353fa42$var$Ze(e) {\n return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`);\n}\nfunction $3aa41668e353fa42$var$et(e, t) {\n if (\"byob\" !== (e = `${e}`)) throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);\n return e;\n}\nfunction $3aa41668e353fa42$var$tt(e) {\n return new $3aa41668e353fa42$export$20068a30393fcc28(e);\n}\nfunction $3aa41668e353fa42$var$rt(e, t) {\n e._reader._readIntoRequests.push(t);\n}\nfunction $3aa41668e353fa42$var$ot(e) {\n return e._reader._readIntoRequests.length;\n}\nfunction $3aa41668e353fa42$var$nt(e) {\n const t = e._reader;\n return void 0 !== t && !!$3aa41668e353fa42$var$at(t);\n}\nObject.defineProperties($3aa41668e353fa42$export$2047cf34091e94ac.prototype, {\n close: {\n enumerable: !0\n },\n enqueue: {\n enumerable: !0\n },\n error: {\n enumerable: !0\n },\n byobRequest: {\n enumerable: !0\n },\n desiredSize: {\n enumerable: !0\n }\n}), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$2047cf34091e94ac.prototype.close, \"close\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$2047cf34091e94ac.prototype.enqueue, \"enqueue\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$2047cf34091e94ac.prototype.error, \"error\"), \"symbol\" == typeof Symbol.toStringTag && Object.defineProperty($3aa41668e353fa42$export$2047cf34091e94ac.prototype, Symbol.toStringTag, {\n value: \"ReadableByteStreamController\",\n configurable: !0\n});\nclass $3aa41668e353fa42$export$20068a30393fcc28 {\n constructor(e){\n if ($3aa41668e353fa42$var$$(e, 1, \"ReadableStreamBYOBReader\"), $3aa41668e353fa42$var$N(e, \"First parameter\"), $3aa41668e353fa42$var$Wr(e)) throw new TypeError(\"This stream has already been locked for exclusive reading by another reader\");\n if (!$3aa41668e353fa42$var$Te(e._readableStreamController)) throw new TypeError(\"Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source\");\n $3aa41668e353fa42$var$q(this, e), this._readIntoRequests = new $3aa41668e353fa42$var$v;\n }\n get closed() {\n return $3aa41668e353fa42$var$at(this) ? this._closedPromise : $3aa41668e353fa42$var$d($3aa41668e353fa42$var$st(\"closed\"));\n }\n cancel(e) {\n return $3aa41668e353fa42$var$at(this) ? void 0 === this._ownerReadableStream ? $3aa41668e353fa42$var$d($3aa41668e353fa42$var$O(\"cancel\")) : $3aa41668e353fa42$var$E(this, e) : $3aa41668e353fa42$var$d($3aa41668e353fa42$var$st(\"cancel\"));\n }\n read(e, t = {}) {\n if (!$3aa41668e353fa42$var$at(this)) return $3aa41668e353fa42$var$d($3aa41668e353fa42$var$st(\"read\"));\n if (!ArrayBuffer.isView(e)) return $3aa41668e353fa42$var$d(new TypeError(\"view must be an array buffer view\"));\n if (0 === e.byteLength) return $3aa41668e353fa42$var$d(new TypeError(\"view must have non-zero byteLength\"));\n if (0 === e.buffer.byteLength) return $3aa41668e353fa42$var$d(new TypeError(\"view's buffer must have non-zero byteLength\"));\n if ($3aa41668e353fa42$var$le(e.buffer)) return $3aa41668e353fa42$var$d(new TypeError(\"view's buffer has been detached\"));\n let r;\n try {\n r = function(e, t) {\n var r;\n return $3aa41668e353fa42$var$L(e, t), {\n min: $3aa41668e353fa42$var$Q(null !== (r = null == e ? void 0 : e.min) && void 0 !== r ? r : 1, `${t} has member 'min' that`)\n };\n }(t, \"options\");\n } catch (e) {\n return $3aa41668e353fa42$var$d(e);\n }\n const o = r.min;\n if (0 === o) return $3aa41668e353fa42$var$d(new TypeError(\"options.min must be greater than 0\"));\n if (function(e) {\n return $3aa41668e353fa42$var$Re(e.constructor);\n }(e)) {\n if (o > e.byteLength) return $3aa41668e353fa42$var$d(new RangeError(\"options.min must be less than or equal to view's byteLength\"));\n } else if (o > e.length) return $3aa41668e353fa42$var$d(new RangeError(\"options.min must be less than or equal to view's length\"));\n if (void 0 === this._ownerReadableStream) return $3aa41668e353fa42$var$d($3aa41668e353fa42$var$O(\"read from\"));\n let n, a;\n const i = $3aa41668e353fa42$var$u((e, t)=>{\n n = e, a = t;\n });\n return $3aa41668e353fa42$var$it(this, e, o, {\n _chunkSteps: (e)=>n({\n value: e,\n done: !1\n }),\n _closeSteps: (e)=>n({\n value: e,\n done: !0\n }),\n _errorSteps: (e)=>a(e)\n }), i;\n }\n releaseLock() {\n if (!$3aa41668e353fa42$var$at(this)) throw $3aa41668e353fa42$var$st(\"releaseLock\");\n void 0 !== this._ownerReadableStream && function(e) {\n $3aa41668e353fa42$var$W(e);\n const t = new TypeError(\"Reader was released\");\n $3aa41668e353fa42$var$lt(e, t);\n }(this);\n }\n}\nfunction $3aa41668e353fa42$var$at(e) {\n return !!$3aa41668e353fa42$var$t(e) && !!Object.prototype.hasOwnProperty.call(e, \"_readIntoRequests\") && e instanceof $3aa41668e353fa42$export$20068a30393fcc28;\n}\nfunction $3aa41668e353fa42$var$it(e, t, r, o) {\n const n = e._ownerReadableStream;\n n._disturbed = !0, \"errored\" === n._state ? o._errorSteps(n._storedError) : $3aa41668e353fa42$var$Ie(n._readableStreamController, t, r, o);\n}\nfunction $3aa41668e353fa42$var$lt(e, t) {\n const r = e._readIntoRequests;\n e._readIntoRequests = new $3aa41668e353fa42$var$v, r.forEach((e)=>{\n e._errorSteps(t);\n });\n}\nfunction $3aa41668e353fa42$var$st(e) {\n return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`);\n}\nfunction $3aa41668e353fa42$var$ut(e, t) {\n const { highWaterMark: r } = e;\n if (void 0 === r) return t;\n if ($3aa41668e353fa42$var$ye(r) || r < 0) throw new RangeError(\"Invalid highWaterMark\");\n return r;\n}\nfunction $3aa41668e353fa42$var$ct(e) {\n const { size: t } = e;\n return t || (()=>1);\n}\nfunction $3aa41668e353fa42$var$dt(e, t) {\n $3aa41668e353fa42$var$L(e, t);\n const r = null == e ? void 0 : e.highWaterMark, o = null == e ? void 0 : e.size;\n return {\n highWaterMark: void 0 === r ? void 0 : $3aa41668e353fa42$var$Y(r),\n size: void 0 === o ? void 0 : $3aa41668e353fa42$var$ft(o, `${t} has member 'size' that`)\n };\n}\nfunction $3aa41668e353fa42$var$ft(e, t) {\n return $3aa41668e353fa42$var$F(e, t), (t)=>$3aa41668e353fa42$var$Y(e(t));\n}\nfunction $3aa41668e353fa42$var$bt(e, t, r) {\n return $3aa41668e353fa42$var$F(e, r), (r)=>$3aa41668e353fa42$var$g(e, t, [\n r\n ]);\n}\nfunction $3aa41668e353fa42$var$ht(e, t, r) {\n return $3aa41668e353fa42$var$F(e, r), ()=>$3aa41668e353fa42$var$g(e, t, []);\n}\nfunction $3aa41668e353fa42$var$mt(e, t, r) {\n return $3aa41668e353fa42$var$F(e, r), (r)=>$3aa41668e353fa42$var$S(e, t, [\n r\n ]);\n}\nfunction $3aa41668e353fa42$var$_t(e, t, r) {\n return $3aa41668e353fa42$var$F(e, r), (r, o)=>$3aa41668e353fa42$var$g(e, t, [\n r,\n o\n ]);\n}\nfunction $3aa41668e353fa42$var$pt(e, t) {\n if (!$3aa41668e353fa42$var$gt(e)) throw new TypeError(`${t} is not a WritableStream.`);\n}\nObject.defineProperties($3aa41668e353fa42$export$20068a30393fcc28.prototype, {\n cancel: {\n enumerable: !0\n },\n read: {\n enumerable: !0\n },\n releaseLock: {\n enumerable: !0\n },\n closed: {\n enumerable: !0\n }\n}), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$20068a30393fcc28.prototype.cancel, \"cancel\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$20068a30393fcc28.prototype.read, \"read\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$20068a30393fcc28.prototype.releaseLock, \"releaseLock\"), \"symbol\" == typeof Symbol.toStringTag && Object.defineProperty($3aa41668e353fa42$export$20068a30393fcc28.prototype, Symbol.toStringTag, {\n value: \"ReadableStreamBYOBReader\",\n configurable: !0\n});\nclass $3aa41668e353fa42$export$826849241f7970f8 {\n constructor(e = {}, t = {}){\n void 0 === e ? e = null : $3aa41668e353fa42$var$I(e, \"First parameter\");\n const r = $3aa41668e353fa42$var$dt(t, \"Second parameter\"), o = function(e, t) {\n $3aa41668e353fa42$var$L(e, t);\n const r = null == e ? void 0 : e.abort, o = null == e ? void 0 : e.close, n = null == e ? void 0 : e.start, a = null == e ? void 0 : e.type, i = null == e ? void 0 : e.write;\n return {\n abort: void 0 === r ? void 0 : $3aa41668e353fa42$var$bt(r, e, `${t} has member 'abort' that`),\n close: void 0 === o ? void 0 : $3aa41668e353fa42$var$ht(o, e, `${t} has member 'close' that`),\n start: void 0 === n ? void 0 : $3aa41668e353fa42$var$mt(n, e, `${t} has member 'start' that`),\n write: void 0 === i ? void 0 : $3aa41668e353fa42$var$_t(i, e, `${t} has member 'write' that`),\n type: a\n };\n }(e, \"First parameter\");\n $3aa41668e353fa42$var$St(this);\n if (void 0 !== o.type) throw new RangeError(\"Invalid type is specified\");\n const n = $3aa41668e353fa42$var$ct(r);\n !function(e, t, r, o) {\n const n = Object.create($3aa41668e353fa42$export$9e6890cb9a51c7c2.prototype);\n let a, i, l, s;\n a = void 0 !== t.start ? ()=>t.start(n) : ()=>{};\n i = void 0 !== t.write ? (e)=>t.write(e, n) : ()=>$3aa41668e353fa42$var$c(void 0);\n l = void 0 !== t.close ? ()=>t.close() : ()=>$3aa41668e353fa42$var$c(void 0);\n s = void 0 !== t.abort ? (e)=>t.abort(e) : ()=>$3aa41668e353fa42$var$c(void 0);\n $3aa41668e353fa42$var$Ft(e, n, a, i, l, s, r, o);\n }(this, o, $3aa41668e353fa42$var$ut(r, 1), n);\n }\n get locked() {\n if (!$3aa41668e353fa42$var$gt(this)) throw $3aa41668e353fa42$var$Nt(\"locked\");\n return $3aa41668e353fa42$var$vt(this);\n }\n abort(e) {\n return $3aa41668e353fa42$var$gt(this) ? $3aa41668e353fa42$var$vt(this) ? $3aa41668e353fa42$var$d(new TypeError(\"Cannot abort a stream that already has a writer\")) : $3aa41668e353fa42$var$wt(this, e) : $3aa41668e353fa42$var$d($3aa41668e353fa42$var$Nt(\"abort\"));\n }\n close() {\n return $3aa41668e353fa42$var$gt(this) ? $3aa41668e353fa42$var$vt(this) ? $3aa41668e353fa42$var$d(new TypeError(\"Cannot close a stream that already has a writer\")) : $3aa41668e353fa42$var$qt(this) ? $3aa41668e353fa42$var$d(new TypeError(\"Cannot close an already-closing stream\")) : $3aa41668e353fa42$var$Rt(this) : $3aa41668e353fa42$var$d($3aa41668e353fa42$var$Nt(\"close\"));\n }\n getWriter() {\n if (!$3aa41668e353fa42$var$gt(this)) throw $3aa41668e353fa42$var$Nt(\"getWriter\");\n return $3aa41668e353fa42$var$yt(this);\n }\n}\nfunction $3aa41668e353fa42$var$yt(e) {\n return new $3aa41668e353fa42$export$9295348f005d6054(e);\n}\nfunction $3aa41668e353fa42$var$St(e) {\n e._state = \"writable\", e._storedError = void 0, e._writer = void 0, e._writableStreamController = void 0, e._writeRequests = new $3aa41668e353fa42$var$v, e._inFlightWriteRequest = void 0, e._closeRequest = void 0, e._inFlightCloseRequest = void 0, e._pendingAbortRequest = void 0, e._backpressure = !1;\n}\nfunction $3aa41668e353fa42$var$gt(e) {\n return !!$3aa41668e353fa42$var$t(e) && !!Object.prototype.hasOwnProperty.call(e, \"_writableStreamController\") && e instanceof $3aa41668e353fa42$export$826849241f7970f8;\n}\nfunction $3aa41668e353fa42$var$vt(e) {\n return void 0 !== e._writer;\n}\nfunction $3aa41668e353fa42$var$wt(e, t) {\n var r;\n if (\"closed\" === e._state || \"errored\" === e._state) return $3aa41668e353fa42$var$c(void 0);\n e._writableStreamController._abortReason = t, null === (r = e._writableStreamController._abortController) || void 0 === r || r.abort(t);\n const o = e._state;\n if (\"closed\" === o || \"errored\" === o) return $3aa41668e353fa42$var$c(void 0);\n if (void 0 !== e._pendingAbortRequest) return e._pendingAbortRequest._promise;\n let n = !1;\n \"erroring\" === o && (n = !0, t = void 0);\n const a = $3aa41668e353fa42$var$u((r, o)=>{\n e._pendingAbortRequest = {\n _promise: void 0,\n _resolve: r,\n _reject: o,\n _reason: t,\n _wasAlreadyErroring: n\n };\n });\n return e._pendingAbortRequest._promise = a, n || $3aa41668e353fa42$var$Ct(e, t), a;\n}\nfunction $3aa41668e353fa42$var$Rt(e) {\n const t = e._state;\n if (\"closed\" === t || \"errored\" === t) return $3aa41668e353fa42$var$d(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));\n const r = $3aa41668e353fa42$var$u((t, r)=>{\n const o = {\n _resolve: t,\n _reject: r\n };\n e._closeRequest = o;\n }), o = e._writer;\n var n;\n return void 0 !== o && e._backpressure && \"writable\" === t && $3aa41668e353fa42$var$or(o), $3aa41668e353fa42$var$ve(n = e._writableStreamController, $3aa41668e353fa42$var$Dt, 0), $3aa41668e353fa42$var$Mt(n), r;\n}\nfunction $3aa41668e353fa42$var$Tt(e, t) {\n \"writable\" !== e._state ? $3aa41668e353fa42$var$Pt(e) : $3aa41668e353fa42$var$Ct(e, t);\n}\nfunction $3aa41668e353fa42$var$Ct(e, t) {\n const r = e._writableStreamController;\n e._state = \"erroring\", e._storedError = t;\n const o = e._writer;\n void 0 !== o && $3aa41668e353fa42$var$jt(o, t), !function(e) {\n if (void 0 === e._inFlightWriteRequest && void 0 === e._inFlightCloseRequest) return !1;\n return !0;\n }(e) && r._started && $3aa41668e353fa42$var$Pt(e);\n}\nfunction $3aa41668e353fa42$var$Pt(e) {\n e._state = \"errored\", e._writableStreamController[$3aa41668e353fa42$var$R]();\n const t = e._storedError;\n if (e._writeRequests.forEach((e)=>{\n e._reject(t);\n }), e._writeRequests = new $3aa41668e353fa42$var$v, void 0 === e._pendingAbortRequest) return void $3aa41668e353fa42$var$Et(e);\n const r = e._pendingAbortRequest;\n if (e._pendingAbortRequest = void 0, r._wasAlreadyErroring) return r._reject(t), void $3aa41668e353fa42$var$Et(e);\n $3aa41668e353fa42$var$b(e._writableStreamController[$3aa41668e353fa42$var$w](r._reason), ()=>(r._resolve(), $3aa41668e353fa42$var$Et(e), null), (t)=>(r._reject(t), $3aa41668e353fa42$var$Et(e), null));\n}\nfunction $3aa41668e353fa42$var$qt(e) {\n return void 0 !== e._closeRequest || void 0 !== e._inFlightCloseRequest;\n}\nfunction $3aa41668e353fa42$var$Et(e) {\n void 0 !== e._closeRequest && (e._closeRequest._reject(e._storedError), e._closeRequest = void 0);\n const t = e._writer;\n void 0 !== t && $3aa41668e353fa42$var$Jt(t, e._storedError);\n}\nfunction $3aa41668e353fa42$var$Wt(e, t) {\n const r = e._writer;\n void 0 !== r && t !== e._backpressure && (t ? function(e) {\n $3aa41668e353fa42$var$Zt(e);\n }(r) : $3aa41668e353fa42$var$or(r)), e._backpressure = t;\n}\nObject.defineProperties($3aa41668e353fa42$export$826849241f7970f8.prototype, {\n abort: {\n enumerable: !0\n },\n close: {\n enumerable: !0\n },\n getWriter: {\n enumerable: !0\n },\n locked: {\n enumerable: !0\n }\n}), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$826849241f7970f8.prototype.abort, \"abort\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$826849241f7970f8.prototype.close, \"close\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$826849241f7970f8.prototype.getWriter, \"getWriter\"), \"symbol\" == typeof Symbol.toStringTag && Object.defineProperty($3aa41668e353fa42$export$826849241f7970f8.prototype, Symbol.toStringTag, {\n value: \"WritableStream\",\n configurable: !0\n});\nclass $3aa41668e353fa42$export$9295348f005d6054 {\n constructor(e){\n if ($3aa41668e353fa42$var$$(e, 1, \"WritableStreamDefaultWriter\"), $3aa41668e353fa42$var$pt(e, \"First parameter\"), $3aa41668e353fa42$var$vt(e)) throw new TypeError(\"This stream has already been locked for exclusive writing by another writer\");\n this._ownerWritableStream = e, e._writer = this;\n const t = e._state;\n if (\"writable\" === t) !$3aa41668e353fa42$var$qt(e) && e._backpressure ? $3aa41668e353fa42$var$Zt(this) : $3aa41668e353fa42$var$tr(this), $3aa41668e353fa42$var$Gt(this);\n else if (\"erroring\" === t) $3aa41668e353fa42$var$er(this, e._storedError), $3aa41668e353fa42$var$Gt(this);\n else if (\"closed\" === t) $3aa41668e353fa42$var$tr(this), $3aa41668e353fa42$var$Gt(r = this), $3aa41668e353fa42$var$Kt(r);\n else {\n const t = e._storedError;\n $3aa41668e353fa42$var$er(this, t), $3aa41668e353fa42$var$Xt(this, t);\n }\n var r;\n }\n get closed() {\n return $3aa41668e353fa42$var$Ot(this) ? this._closedPromise : $3aa41668e353fa42$var$d($3aa41668e353fa42$var$Vt(\"closed\"));\n }\n get desiredSize() {\n if (!$3aa41668e353fa42$var$Ot(this)) throw $3aa41668e353fa42$var$Vt(\"desiredSize\");\n if (void 0 === this._ownerWritableStream) throw $3aa41668e353fa42$var$Ut(\"desiredSize\");\n return function(e) {\n const t = e._ownerWritableStream, r = t._state;\n if (\"errored\" === r || \"erroring\" === r) return null;\n if (\"closed\" === r) return 0;\n return $3aa41668e353fa42$var$$t(t._writableStreamController);\n }(this);\n }\n get ready() {\n return $3aa41668e353fa42$var$Ot(this) ? this._readyPromise : $3aa41668e353fa42$var$d($3aa41668e353fa42$var$Vt(\"ready\"));\n }\n abort(e) {\n return $3aa41668e353fa42$var$Ot(this) ? void 0 === this._ownerWritableStream ? $3aa41668e353fa42$var$d($3aa41668e353fa42$var$Ut(\"abort\")) : function(e, t) {\n return $3aa41668e353fa42$var$wt(e._ownerWritableStream, t);\n }(this, e) : $3aa41668e353fa42$var$d($3aa41668e353fa42$var$Vt(\"abort\"));\n }\n close() {\n if (!$3aa41668e353fa42$var$Ot(this)) return $3aa41668e353fa42$var$d($3aa41668e353fa42$var$Vt(\"close\"));\n const e = this._ownerWritableStream;\n return void 0 === e ? $3aa41668e353fa42$var$d($3aa41668e353fa42$var$Ut(\"close\")) : $3aa41668e353fa42$var$qt(e) ? $3aa41668e353fa42$var$d(new TypeError(\"Cannot close an already-closing stream\")) : $3aa41668e353fa42$var$Bt(this);\n }\n releaseLock() {\n if (!$3aa41668e353fa42$var$Ot(this)) throw $3aa41668e353fa42$var$Vt(\"releaseLock\");\n void 0 !== this._ownerWritableStream && $3aa41668e353fa42$var$At(this);\n }\n write(e) {\n return $3aa41668e353fa42$var$Ot(this) ? void 0 === this._ownerWritableStream ? $3aa41668e353fa42$var$d($3aa41668e353fa42$var$Ut(\"write to\")) : $3aa41668e353fa42$var$zt(this, e) : $3aa41668e353fa42$var$d($3aa41668e353fa42$var$Vt(\"write\"));\n }\n}\nfunction $3aa41668e353fa42$var$Ot(e) {\n return !!$3aa41668e353fa42$var$t(e) && !!Object.prototype.hasOwnProperty.call(e, \"_ownerWritableStream\") && e instanceof $3aa41668e353fa42$export$9295348f005d6054;\n}\nfunction $3aa41668e353fa42$var$Bt(e) {\n return $3aa41668e353fa42$var$Rt(e._ownerWritableStream);\n}\nfunction $3aa41668e353fa42$var$kt(e, t) {\n \"pending\" === e._closedPromiseState ? $3aa41668e353fa42$var$Jt(e, t) : function(e, t) {\n $3aa41668e353fa42$var$Xt(e, t);\n }(e, t);\n}\nfunction $3aa41668e353fa42$var$jt(e, t) {\n \"pending\" === e._readyPromiseState ? $3aa41668e353fa42$var$rr(e, t) : function(e, t) {\n $3aa41668e353fa42$var$er(e, t);\n }(e, t);\n}\nfunction $3aa41668e353fa42$var$At(e) {\n const t = e._ownerWritableStream, r = new TypeError(\"Writer was released and can no longer be used to monitor the stream's closedness\");\n $3aa41668e353fa42$var$jt(e, r), $3aa41668e353fa42$var$kt(e, r), t._writer = void 0, e._ownerWritableStream = void 0;\n}\nfunction $3aa41668e353fa42$var$zt(e, t) {\n const r = e._ownerWritableStream, o = r._writableStreamController, n = function(e, t) {\n if (void 0 === e._strategySizeAlgorithm) return 1;\n try {\n return e._strategySizeAlgorithm(t);\n } catch (t) {\n return $3aa41668e353fa42$var$Yt(e, t), 1;\n }\n }(o, t);\n if (r !== e._ownerWritableStream) return $3aa41668e353fa42$var$d($3aa41668e353fa42$var$Ut(\"write to\"));\n const a = r._state;\n if (\"errored\" === a) return $3aa41668e353fa42$var$d(r._storedError);\n if ($3aa41668e353fa42$var$qt(r) || \"closed\" === a) return $3aa41668e353fa42$var$d(new TypeError(\"The stream is closing or closed and cannot be written to\"));\n if (\"erroring\" === a) return $3aa41668e353fa42$var$d(r._storedError);\n const i = function(e) {\n return $3aa41668e353fa42$var$u((t, r)=>{\n const o = {\n _resolve: t,\n _reject: r\n };\n e._writeRequests.push(o);\n });\n }(r);\n return function(e, t, r) {\n try {\n $3aa41668e353fa42$var$ve(e, t, r);\n } catch (t) {\n return void $3aa41668e353fa42$var$Yt(e, t);\n }\n const o = e._controlledWritableStream;\n if (!$3aa41668e353fa42$var$qt(o) && \"writable\" === o._state) $3aa41668e353fa42$var$Wt(o, $3aa41668e353fa42$var$xt(e));\n $3aa41668e353fa42$var$Mt(e);\n }(o, t, n), i;\n}\nObject.defineProperties($3aa41668e353fa42$export$9295348f005d6054.prototype, {\n abort: {\n enumerable: !0\n },\n close: {\n enumerable: !0\n },\n releaseLock: {\n enumerable: !0\n },\n write: {\n enumerable: !0\n },\n closed: {\n enumerable: !0\n },\n desiredSize: {\n enumerable: !0\n },\n ready: {\n enumerable: !0\n }\n}), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$9295348f005d6054.prototype.abort, \"abort\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$9295348f005d6054.prototype.close, \"close\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$9295348f005d6054.prototype.releaseLock, \"releaseLock\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$9295348f005d6054.prototype.write, \"write\"), \"symbol\" == typeof Symbol.toStringTag && Object.defineProperty($3aa41668e353fa42$export$9295348f005d6054.prototype, Symbol.toStringTag, {\n value: \"WritableStreamDefaultWriter\",\n configurable: !0\n});\nconst $3aa41668e353fa42$var$Dt = {};\nclass $3aa41668e353fa42$export$9e6890cb9a51c7c2 {\n constructor(){\n throw new TypeError(\"Illegal constructor\");\n }\n get abortReason() {\n if (!$3aa41668e353fa42$var$Lt(this)) throw $3aa41668e353fa42$var$Ht(\"abortReason\");\n return this._abortReason;\n }\n get signal() {\n if (!$3aa41668e353fa42$var$Lt(this)) throw $3aa41668e353fa42$var$Ht(\"signal\");\n if (void 0 === this._abortController) throw new TypeError(\"WritableStreamDefaultController.prototype.signal is not supported\");\n return this._abortController.signal;\n }\n error(e) {\n if (!$3aa41668e353fa42$var$Lt(this)) throw $3aa41668e353fa42$var$Ht(\"error\");\n \"writable\" === this._controlledWritableStream._state && $3aa41668e353fa42$var$Qt(this, e);\n }\n [$3aa41668e353fa42$var$w](e) {\n const t = this._abortAlgorithm(e);\n return $3aa41668e353fa42$var$It(this), t;\n }\n [$3aa41668e353fa42$var$R]() {\n $3aa41668e353fa42$var$we(this);\n }\n}\nfunction $3aa41668e353fa42$var$Lt(e) {\n return !!$3aa41668e353fa42$var$t(e) && !!Object.prototype.hasOwnProperty.call(e, \"_controlledWritableStream\") && e instanceof $3aa41668e353fa42$export$9e6890cb9a51c7c2;\n}\nfunction $3aa41668e353fa42$var$Ft(e, t, r, o, n, a, i, l) {\n t._controlledWritableStream = e, e._writableStreamController = t, t._queue = void 0, t._queueTotalSize = void 0, $3aa41668e353fa42$var$we(t), t._abortReason = void 0, t._abortController = function() {\n if (\"function\" == typeof AbortController) return new AbortController;\n }(), t._started = !1, t._strategySizeAlgorithm = l, t._strategyHWM = i, t._writeAlgorithm = o, t._closeAlgorithm = n, t._abortAlgorithm = a;\n const s = $3aa41668e353fa42$var$xt(t);\n $3aa41668e353fa42$var$Wt(e, s);\n $3aa41668e353fa42$var$b($3aa41668e353fa42$var$c(r()), ()=>(t._started = !0, $3aa41668e353fa42$var$Mt(t), null), (r)=>(t._started = !0, $3aa41668e353fa42$var$Tt(e, r), null));\n}\nfunction $3aa41668e353fa42$var$It(e) {\n e._writeAlgorithm = void 0, e._closeAlgorithm = void 0, e._abortAlgorithm = void 0, e._strategySizeAlgorithm = void 0;\n}\nfunction $3aa41668e353fa42$var$$t(e) {\n return e._strategyHWM - e._queueTotalSize;\n}\nfunction $3aa41668e353fa42$var$Mt(e) {\n const t = e._controlledWritableStream;\n if (!e._started) return;\n if (void 0 !== t._inFlightWriteRequest) return;\n if (\"erroring\" === t._state) return void $3aa41668e353fa42$var$Pt(t);\n if (0 === e._queue.length) return;\n const r = e._queue.peek().value;\n r === $3aa41668e353fa42$var$Dt ? function(e) {\n const t = e._controlledWritableStream;\n (function(e) {\n e._inFlightCloseRequest = e._closeRequest, e._closeRequest = void 0;\n })(t), $3aa41668e353fa42$var$ge(e);\n const r = e._closeAlgorithm();\n $3aa41668e353fa42$var$It(e), $3aa41668e353fa42$var$b(r, ()=>((function(e) {\n e._inFlightCloseRequest._resolve(void 0), e._inFlightCloseRequest = void 0, \"erroring\" === e._state && (e._storedError = void 0, void 0 !== e._pendingAbortRequest && (e._pendingAbortRequest._resolve(), e._pendingAbortRequest = void 0)), e._state = \"closed\";\n const t = e._writer;\n void 0 !== t && $3aa41668e353fa42$var$Kt(t);\n })(t), null), (e)=>((function(e, t) {\n e._inFlightCloseRequest._reject(t), e._inFlightCloseRequest = void 0, void 0 !== e._pendingAbortRequest && (e._pendingAbortRequest._reject(t), e._pendingAbortRequest = void 0), $3aa41668e353fa42$var$Tt(e, t);\n })(t, e), null));\n }(e) : function(e, t) {\n const r = e._controlledWritableStream;\n !function(e) {\n e._inFlightWriteRequest = e._writeRequests.shift();\n }(r);\n const o = e._writeAlgorithm(t);\n $3aa41668e353fa42$var$b(o, ()=>{\n !function(e) {\n e._inFlightWriteRequest._resolve(void 0), e._inFlightWriteRequest = void 0;\n }(r);\n const t = r._state;\n if ($3aa41668e353fa42$var$ge(e), !$3aa41668e353fa42$var$qt(r) && \"writable\" === t) {\n const t = $3aa41668e353fa42$var$xt(e);\n $3aa41668e353fa42$var$Wt(r, t);\n }\n return $3aa41668e353fa42$var$Mt(e), null;\n }, (t)=>(\"writable\" === r._state && $3aa41668e353fa42$var$It(e), function(e, t) {\n e._inFlightWriteRequest._reject(t), e._inFlightWriteRequest = void 0, $3aa41668e353fa42$var$Tt(e, t);\n }(r, t), null));\n }(e, r);\n}\nfunction $3aa41668e353fa42$var$Yt(e, t) {\n \"writable\" === e._controlledWritableStream._state && $3aa41668e353fa42$var$Qt(e, t);\n}\nfunction $3aa41668e353fa42$var$xt(e) {\n return $3aa41668e353fa42$var$$t(e) <= 0;\n}\nfunction $3aa41668e353fa42$var$Qt(e, t) {\n const r = e._controlledWritableStream;\n $3aa41668e353fa42$var$It(e), $3aa41668e353fa42$var$Ct(r, t);\n}\nfunction $3aa41668e353fa42$var$Nt(e) {\n return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`);\n}\nfunction $3aa41668e353fa42$var$Ht(e) {\n return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`);\n}\nfunction $3aa41668e353fa42$var$Vt(e) {\n return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`);\n}\nfunction $3aa41668e353fa42$var$Ut(e) {\n return new TypeError(\"Cannot \" + e + \" a stream using a released writer\");\n}\nfunction $3aa41668e353fa42$var$Gt(e) {\n e._closedPromise = $3aa41668e353fa42$var$u((t, r)=>{\n e._closedPromise_resolve = t, e._closedPromise_reject = r, e._closedPromiseState = \"pending\";\n });\n}\nfunction $3aa41668e353fa42$var$Xt(e, t) {\n $3aa41668e353fa42$var$Gt(e), $3aa41668e353fa42$var$Jt(e, t);\n}\nfunction $3aa41668e353fa42$var$Jt(e, t) {\n void 0 !== e._closedPromise_reject && ($3aa41668e353fa42$var$p(e._closedPromise), e._closedPromise_reject(t), e._closedPromise_resolve = void 0, e._closedPromise_reject = void 0, e._closedPromiseState = \"rejected\");\n}\nfunction $3aa41668e353fa42$var$Kt(e) {\n void 0 !== e._closedPromise_resolve && (e._closedPromise_resolve(void 0), e._closedPromise_resolve = void 0, e._closedPromise_reject = void 0, e._closedPromiseState = \"resolved\");\n}\nfunction $3aa41668e353fa42$var$Zt(e) {\n e._readyPromise = $3aa41668e353fa42$var$u((t, r)=>{\n e._readyPromise_resolve = t, e._readyPromise_reject = r;\n }), e._readyPromiseState = \"pending\";\n}\nfunction $3aa41668e353fa42$var$er(e, t) {\n $3aa41668e353fa42$var$Zt(e), $3aa41668e353fa42$var$rr(e, t);\n}\nfunction $3aa41668e353fa42$var$tr(e) {\n $3aa41668e353fa42$var$Zt(e), $3aa41668e353fa42$var$or(e);\n}\nfunction $3aa41668e353fa42$var$rr(e, t) {\n void 0 !== e._readyPromise_reject && ($3aa41668e353fa42$var$p(e._readyPromise), e._readyPromise_reject(t), e._readyPromise_resolve = void 0, e._readyPromise_reject = void 0, e._readyPromiseState = \"rejected\");\n}\nfunction $3aa41668e353fa42$var$or(e) {\n void 0 !== e._readyPromise_resolve && (e._readyPromise_resolve(void 0), e._readyPromise_resolve = void 0, e._readyPromise_reject = void 0, e._readyPromiseState = \"fulfilled\");\n}\nObject.defineProperties($3aa41668e353fa42$export$9e6890cb9a51c7c2.prototype, {\n abortReason: {\n enumerable: !0\n },\n signal: {\n enumerable: !0\n },\n error: {\n enumerable: !0\n }\n}), \"symbol\" == typeof Symbol.toStringTag && Object.defineProperty($3aa41668e353fa42$export$9e6890cb9a51c7c2.prototype, Symbol.toStringTag, {\n value: \"WritableStreamDefaultController\",\n configurable: !0\n});\nconst $3aa41668e353fa42$var$nr = \"undefined\" != typeof globalThis ? globalThis : \"undefined\" != typeof self ? self : \"undefined\" != typeof $parcel$global ? $parcel$global : void 0;\nconst $3aa41668e353fa42$var$ar = function() {\n const e = null == $3aa41668e353fa42$var$nr ? void 0 : $3aa41668e353fa42$var$nr.DOMException;\n return function(e) {\n if (\"function\" != typeof e && \"object\" != typeof e) return !1;\n if (\"DOMException\" !== e.name) return !1;\n try {\n return new e, !0;\n } catch (e) {\n return !1;\n }\n }(e) ? e : void 0;\n}() || function() {\n const e = function(e, t) {\n this.message = e || \"\", this.name = t || \"Error\", Error.captureStackTrace && Error.captureStackTrace(this, this.constructor);\n };\n return $3aa41668e353fa42$var$o(e, \"DOMException\"), e.prototype = Object.create(Error.prototype), Object.defineProperty(e.prototype, \"constructor\", {\n value: e,\n writable: !0,\n configurable: !0\n }), e;\n}();\nfunction $3aa41668e353fa42$var$ir(t, r, o, n, a, i) {\n const l = $3aa41668e353fa42$var$H(t), s = $3aa41668e353fa42$var$yt(r);\n t._disturbed = !0;\n let _ = !1, y = $3aa41668e353fa42$var$c(void 0);\n return $3aa41668e353fa42$var$u((S, g)=>{\n let v;\n if (void 0 !== i) {\n if (v = ()=>{\n const e = void 0 !== i.reason ? i.reason : new $3aa41668e353fa42$var$ar(\"Aborted\", \"AbortError\"), o = [];\n n || o.push(()=>\"writable\" === r._state ? $3aa41668e353fa42$var$wt(r, e) : $3aa41668e353fa42$var$c(void 0)), a || o.push(()=>\"readable\" === t._state ? $3aa41668e353fa42$var$Or(t, e) : $3aa41668e353fa42$var$c(void 0)), q(()=>Promise.all(o.map((e)=>e())), !0, e);\n }, i.aborted) return void v();\n i.addEventListener(\"abort\", v);\n }\n var w, R, T;\n if (P(t, l._closedPromise, (e)=>(n ? E(!0, e) : q(()=>$3aa41668e353fa42$var$wt(r, e), !0, e), null)), P(r, s._closedPromise, (e)=>(a ? E(!0, e) : q(()=>$3aa41668e353fa42$var$Or(t, e), !0, e), null)), w = t, R = l._closedPromise, T = ()=>(o ? E() : q(()=>(function(e) {\n const t = e._ownerWritableStream, r = t._state;\n return $3aa41668e353fa42$var$qt(t) || \"closed\" === r ? $3aa41668e353fa42$var$c(void 0) : \"errored\" === r ? $3aa41668e353fa42$var$d(t._storedError) : $3aa41668e353fa42$var$Bt(e);\n })(s)), null), \"closed\" === w._state ? T() : $3aa41668e353fa42$var$h(R, T), $3aa41668e353fa42$var$qt(r) || \"closed\" === r._state) {\n const e = new TypeError(\"the destination writable stream closed before all data could be piped to it\");\n a ? E(!0, e) : q(()=>$3aa41668e353fa42$var$Or(t, e), !0, e);\n }\n function C() {\n const e = y;\n return $3aa41668e353fa42$var$f(y, ()=>e !== y ? C() : void 0);\n }\n function P(e, t, r) {\n \"errored\" === e._state ? r(e._storedError) : $3aa41668e353fa42$var$m(t, r);\n }\n function q(e, t, o) {\n function n() {\n return $3aa41668e353fa42$var$b(e(), ()=>O(t, o), (e)=>O(!0, e)), null;\n }\n _ || (_ = !0, \"writable\" !== r._state || $3aa41668e353fa42$var$qt(r) ? n() : $3aa41668e353fa42$var$h(C(), n));\n }\n function E(e, t) {\n _ || (_ = !0, \"writable\" !== r._state || $3aa41668e353fa42$var$qt(r) ? O(e, t) : $3aa41668e353fa42$var$h(C(), ()=>O(e, t)));\n }\n function O(e, t) {\n return $3aa41668e353fa42$var$At(s), $3aa41668e353fa42$var$W(l), void 0 !== i && i.removeEventListener(\"abort\", v), e ? g(t) : S(void 0), null;\n }\n $3aa41668e353fa42$var$p($3aa41668e353fa42$var$u((t, r)=>{\n !function o(n) {\n n ? t() : $3aa41668e353fa42$var$f(_ ? $3aa41668e353fa42$var$c(!0) : $3aa41668e353fa42$var$f(s._readyPromise, ()=>$3aa41668e353fa42$var$u((t, r)=>{\n $3aa41668e353fa42$var$K(l, {\n _chunkSteps: (r)=>{\n y = $3aa41668e353fa42$var$f($3aa41668e353fa42$var$zt(s, r), void 0, $3aa41668e353fa42$var$e), t(!1);\n },\n _closeSteps: ()=>t(!0),\n _errorSteps: r\n });\n })), o, r);\n }(!1);\n }));\n });\n}\nclass $3aa41668e353fa42$export$b0bb6d0989d67700 {\n constructor(){\n throw new TypeError(\"Illegal constructor\");\n }\n get desiredSize() {\n if (!$3aa41668e353fa42$var$lr(this)) throw $3aa41668e353fa42$var$pr(\"desiredSize\");\n return $3aa41668e353fa42$var$hr(this);\n }\n close() {\n if (!$3aa41668e353fa42$var$lr(this)) throw $3aa41668e353fa42$var$pr(\"close\");\n if (!$3aa41668e353fa42$var$mr(this)) throw new TypeError(\"The stream is not in a state that permits close\");\n $3aa41668e353fa42$var$dr(this);\n }\n enqueue(e) {\n if (!$3aa41668e353fa42$var$lr(this)) throw $3aa41668e353fa42$var$pr(\"enqueue\");\n if (!$3aa41668e353fa42$var$mr(this)) throw new TypeError(\"The stream is not in a state that permits enqueue\");\n return $3aa41668e353fa42$var$fr(this, e);\n }\n error(e) {\n if (!$3aa41668e353fa42$var$lr(this)) throw $3aa41668e353fa42$var$pr(\"error\");\n $3aa41668e353fa42$var$br(this, e);\n }\n [$3aa41668e353fa42$var$T](e) {\n $3aa41668e353fa42$var$we(this);\n const t = this._cancelAlgorithm(e);\n return $3aa41668e353fa42$var$cr(this), t;\n }\n [$3aa41668e353fa42$var$C](e) {\n const t = this._controlledReadableStream;\n if (this._queue.length > 0) {\n const r = $3aa41668e353fa42$var$ge(this);\n this._closeRequested && 0 === this._queue.length ? ($3aa41668e353fa42$var$cr(this), $3aa41668e353fa42$var$Br(t)) : $3aa41668e353fa42$var$sr(this), e._chunkSteps(r);\n } else $3aa41668e353fa42$var$V(t, e), $3aa41668e353fa42$var$sr(this);\n }\n [$3aa41668e353fa42$var$P]() {}\n}\nfunction $3aa41668e353fa42$var$lr(e) {\n return !!$3aa41668e353fa42$var$t(e) && !!Object.prototype.hasOwnProperty.call(e, \"_controlledReadableStream\") && e instanceof $3aa41668e353fa42$export$b0bb6d0989d67700;\n}\nfunction $3aa41668e353fa42$var$sr(e) {\n if (!$3aa41668e353fa42$var$ur(e)) return;\n if (e._pulling) return void (e._pullAgain = !0);\n e._pulling = !0;\n $3aa41668e353fa42$var$b(e._pullAlgorithm(), ()=>(e._pulling = !1, e._pullAgain && (e._pullAgain = !1, $3aa41668e353fa42$var$sr(e)), null), (t)=>($3aa41668e353fa42$var$br(e, t), null));\n}\nfunction $3aa41668e353fa42$var$ur(e) {\n const t = e._controlledReadableStream;\n if (!$3aa41668e353fa42$var$mr(e)) return !1;\n if (!e._started) return !1;\n if ($3aa41668e353fa42$var$Wr(t) && $3aa41668e353fa42$var$G(t) > 0) return !0;\n return $3aa41668e353fa42$var$hr(e) > 0;\n}\nfunction $3aa41668e353fa42$var$cr(e) {\n e._pullAlgorithm = void 0, e._cancelAlgorithm = void 0, e._strategySizeAlgorithm = void 0;\n}\nfunction $3aa41668e353fa42$var$dr(e) {\n if (!$3aa41668e353fa42$var$mr(e)) return;\n const t = e._controlledReadableStream;\n e._closeRequested = !0, 0 === e._queue.length && ($3aa41668e353fa42$var$cr(e), $3aa41668e353fa42$var$Br(t));\n}\nfunction $3aa41668e353fa42$var$fr(e, t) {\n if (!$3aa41668e353fa42$var$mr(e)) return;\n const r = e._controlledReadableStream;\n if ($3aa41668e353fa42$var$Wr(r) && $3aa41668e353fa42$var$G(r) > 0) $3aa41668e353fa42$var$U(r, t, !1);\n else {\n let r;\n try {\n r = e._strategySizeAlgorithm(t);\n } catch (t) {\n throw $3aa41668e353fa42$var$br(e, t), t;\n }\n try {\n $3aa41668e353fa42$var$ve(e, t, r);\n } catch (t) {\n throw $3aa41668e353fa42$var$br(e, t), t;\n }\n }\n $3aa41668e353fa42$var$sr(e);\n}\nfunction $3aa41668e353fa42$var$br(e, t) {\n const r = e._controlledReadableStream;\n \"readable\" === r._state && ($3aa41668e353fa42$var$we(e), $3aa41668e353fa42$var$cr(e), $3aa41668e353fa42$var$kr(r, t));\n}\nfunction $3aa41668e353fa42$var$hr(e) {\n const t = e._controlledReadableStream._state;\n return \"errored\" === t ? null : \"closed\" === t ? 0 : e._strategyHWM - e._queueTotalSize;\n}\nfunction $3aa41668e353fa42$var$mr(e) {\n const t = e._controlledReadableStream._state;\n return !e._closeRequested && \"readable\" === t;\n}\nfunction $3aa41668e353fa42$var$_r(e, t, r, o, n, a, i) {\n t._controlledReadableStream = e, t._queue = void 0, t._queueTotalSize = void 0, $3aa41668e353fa42$var$we(t), t._started = !1, t._closeRequested = !1, t._pullAgain = !1, t._pulling = !1, t._strategySizeAlgorithm = i, t._strategyHWM = a, t._pullAlgorithm = o, t._cancelAlgorithm = n, e._readableStreamController = t;\n $3aa41668e353fa42$var$b($3aa41668e353fa42$var$c(r()), ()=>(t._started = !0, $3aa41668e353fa42$var$sr(t), null), (e)=>($3aa41668e353fa42$var$br(t, e), null));\n}\nfunction $3aa41668e353fa42$var$pr(e) {\n return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`);\n}\nfunction $3aa41668e353fa42$var$yr(e, t) {\n return $3aa41668e353fa42$var$Te(e._readableStreamController) ? function(e) {\n let t, r, o, n, a, i = $3aa41668e353fa42$var$H(e), l = !1, s = !1, d = !1, f = !1, b = !1;\n const h = $3aa41668e353fa42$var$u((e)=>{\n a = e;\n });\n function _(e) {\n $3aa41668e353fa42$var$m(e._closedPromise, (t)=>(e !== i || ($3aa41668e353fa42$var$Ne(o._readableStreamController, t), $3aa41668e353fa42$var$Ne(n._readableStreamController, t), f && b || a(void 0)), null));\n }\n function p() {\n $3aa41668e353fa42$var$at(i) && ($3aa41668e353fa42$var$W(i), i = $3aa41668e353fa42$var$H(e), _(i));\n $3aa41668e353fa42$var$K(i, {\n _chunkSteps: (t)=>{\n $3aa41668e353fa42$var$y(()=>{\n s = !1, d = !1;\n const r = t;\n let i = t;\n if (!f && !b) try {\n i = $3aa41668e353fa42$var$Se(t);\n } catch (t) {\n return $3aa41668e353fa42$var$Ne(o._readableStreamController, t), $3aa41668e353fa42$var$Ne(n._readableStreamController, t), void a($3aa41668e353fa42$var$Or(e, t));\n }\n f || $3aa41668e353fa42$var$Qe(o._readableStreamController, r), b || $3aa41668e353fa42$var$Qe(n._readableStreamController, i), l = !1, s ? g() : d && v();\n });\n },\n _closeSteps: ()=>{\n l = !1, f || $3aa41668e353fa42$var$xe(o._readableStreamController), b || $3aa41668e353fa42$var$xe(n._readableStreamController), o._readableStreamController._pendingPullIntos.length > 0 && $3aa41668e353fa42$var$Ge(o._readableStreamController, 0), n._readableStreamController._pendingPullIntos.length > 0 && $3aa41668e353fa42$var$Ge(n._readableStreamController, 0), f && b || a(void 0);\n },\n _errorSteps: ()=>{\n l = !1;\n }\n });\n }\n function S(t, r) {\n $3aa41668e353fa42$var$J(i) && ($3aa41668e353fa42$var$W(i), i = $3aa41668e353fa42$var$tt(e), _(i));\n const u = r ? n : o, c = r ? o : n;\n $3aa41668e353fa42$var$it(i, t, 1, {\n _chunkSteps: (t)=>{\n $3aa41668e353fa42$var$y(()=>{\n s = !1, d = !1;\n const o = r ? b : f;\n if (r ? f : b) o || $3aa41668e353fa42$var$Xe(u._readableStreamController, t);\n else {\n let r;\n try {\n r = $3aa41668e353fa42$var$Se(t);\n } catch (t) {\n return $3aa41668e353fa42$var$Ne(u._readableStreamController, t), $3aa41668e353fa42$var$Ne(c._readableStreamController, t), void a($3aa41668e353fa42$var$Or(e, t));\n }\n o || $3aa41668e353fa42$var$Xe(u._readableStreamController, t), $3aa41668e353fa42$var$Qe(c._readableStreamController, r);\n }\n l = !1, s ? g() : d && v();\n });\n },\n _closeSteps: (e)=>{\n l = !1;\n const t = r ? b : f, o = r ? f : b;\n t || $3aa41668e353fa42$var$xe(u._readableStreamController), o || $3aa41668e353fa42$var$xe(c._readableStreamController), void 0 !== e && (t || $3aa41668e353fa42$var$Xe(u._readableStreamController, e), !o && c._readableStreamController._pendingPullIntos.length > 0 && $3aa41668e353fa42$var$Ge(c._readableStreamController, 0)), t && o || a(void 0);\n },\n _errorSteps: ()=>{\n l = !1;\n }\n });\n }\n function g() {\n if (l) return s = !0, $3aa41668e353fa42$var$c(void 0);\n l = !0;\n const e = $3aa41668e353fa42$var$Ve(o._readableStreamController);\n return null === e ? p() : S(e._view, !1), $3aa41668e353fa42$var$c(void 0);\n }\n function v() {\n if (l) return d = !0, $3aa41668e353fa42$var$c(void 0);\n l = !0;\n const e = $3aa41668e353fa42$var$Ve(n._readableStreamController);\n return null === e ? p() : S(e._view, !0), $3aa41668e353fa42$var$c(void 0);\n }\n function w(o) {\n if (f = !0, t = o, b) {\n const o = $3aa41668e353fa42$var$ne([\n t,\n r\n ]), n = $3aa41668e353fa42$var$Or(e, o);\n a(n);\n }\n return h;\n }\n function R(o) {\n if (b = !0, r = o, f) {\n const o = $3aa41668e353fa42$var$ne([\n t,\n r\n ]), n = $3aa41668e353fa42$var$Or(e, o);\n a(n);\n }\n return h;\n }\n function T() {}\n return o = $3aa41668e353fa42$var$Pr(T, g, w), n = $3aa41668e353fa42$var$Pr(T, v, R), _(i), [\n o,\n n\n ];\n }(e) : function(e, t) {\n const r = $3aa41668e353fa42$var$H(e);\n let o, n, a, i, l, s = !1, d = !1, f = !1, b = !1;\n const h = $3aa41668e353fa42$var$u((e)=>{\n l = e;\n });\n function _() {\n if (s) return d = !0, $3aa41668e353fa42$var$c(void 0);\n s = !0;\n return $3aa41668e353fa42$var$K(r, {\n _chunkSteps: (e)=>{\n $3aa41668e353fa42$var$y(()=>{\n d = !1;\n const t = e, r = e;\n f || $3aa41668e353fa42$var$fr(a._readableStreamController, t), b || $3aa41668e353fa42$var$fr(i._readableStreamController, r), s = !1, d && _();\n });\n },\n _closeSteps: ()=>{\n s = !1, f || $3aa41668e353fa42$var$dr(a._readableStreamController), b || $3aa41668e353fa42$var$dr(i._readableStreamController), f && b || l(void 0);\n },\n _errorSteps: ()=>{\n s = !1;\n }\n }), $3aa41668e353fa42$var$c(void 0);\n }\n function p(t) {\n if (f = !0, o = t, b) {\n const t = $3aa41668e353fa42$var$ne([\n o,\n n\n ]), r = $3aa41668e353fa42$var$Or(e, t);\n l(r);\n }\n return h;\n }\n function S(t) {\n if (b = !0, n = t, f) {\n const t = $3aa41668e353fa42$var$ne([\n o,\n n\n ]), r = $3aa41668e353fa42$var$Or(e, t);\n l(r);\n }\n return h;\n }\n function g() {}\n return a = $3aa41668e353fa42$var$Cr(g, _, p), i = $3aa41668e353fa42$var$Cr(g, _, S), $3aa41668e353fa42$var$m(r._closedPromise, (e)=>($3aa41668e353fa42$var$br(a._readableStreamController, e), $3aa41668e353fa42$var$br(i._readableStreamController, e), f && b || l(void 0), null)), [\n a,\n i\n ];\n }(e);\n}\nfunction $3aa41668e353fa42$var$Sr(r) {\n var o;\n return $3aa41668e353fa42$var$t(o = r) && void 0 !== o.getReader ? function(r) {\n let o;\n function n() {\n let e;\n try {\n e = r.read();\n } catch (e) {\n return $3aa41668e353fa42$var$d(e);\n }\n return $3aa41668e353fa42$var$_(e, (e)=>{\n if (!$3aa41668e353fa42$var$t(e)) throw new TypeError(\"The promise returned by the reader.read() method must fulfill with an object\");\n if (e.done) $3aa41668e353fa42$var$dr(o._readableStreamController);\n else {\n const t = e.value;\n $3aa41668e353fa42$var$fr(o._readableStreamController, t);\n }\n });\n }\n function a(e) {\n try {\n return $3aa41668e353fa42$var$c(r.cancel(e));\n } catch (e) {\n return $3aa41668e353fa42$var$d(e);\n }\n }\n return o = $3aa41668e353fa42$var$Cr($3aa41668e353fa42$var$e, n, a, 0), o;\n }(r.getReader()) : function(r) {\n let o;\n const n = $3aa41668e353fa42$var$fe(r, \"async\");\n function a() {\n let e;\n try {\n e = $3aa41668e353fa42$var$be(n);\n } catch (e) {\n return $3aa41668e353fa42$var$d(e);\n }\n return $3aa41668e353fa42$var$_($3aa41668e353fa42$var$c(e), (e)=>{\n if (!$3aa41668e353fa42$var$t(e)) throw new TypeError(\"The promise returned by the iterator.next() method must fulfill with an object\");\n if (e.done) $3aa41668e353fa42$var$dr(o._readableStreamController);\n else {\n const t = e.value;\n $3aa41668e353fa42$var$fr(o._readableStreamController, t);\n }\n });\n }\n function i(e) {\n const r = n.iterator;\n let o;\n try {\n o = $3aa41668e353fa42$var$ue(r, \"return\");\n } catch (e) {\n return $3aa41668e353fa42$var$d(e);\n }\n if (void 0 === o) return $3aa41668e353fa42$var$c(void 0);\n return $3aa41668e353fa42$var$_($3aa41668e353fa42$var$g(o, r, [\n e\n ]), (e)=>{\n if (!$3aa41668e353fa42$var$t(e)) throw new TypeError(\"The promise returned by the iterator.return() method must fulfill with an object\");\n });\n }\n return o = $3aa41668e353fa42$var$Cr($3aa41668e353fa42$var$e, a, i, 0), o;\n }(r);\n}\nfunction $3aa41668e353fa42$var$gr(e, t, r) {\n return $3aa41668e353fa42$var$F(e, r), (r)=>$3aa41668e353fa42$var$g(e, t, [\n r\n ]);\n}\nfunction $3aa41668e353fa42$var$vr(e, t, r) {\n return $3aa41668e353fa42$var$F(e, r), (r)=>$3aa41668e353fa42$var$g(e, t, [\n r\n ]);\n}\nfunction $3aa41668e353fa42$var$wr(e, t, r) {\n return $3aa41668e353fa42$var$F(e, r), (r)=>$3aa41668e353fa42$var$S(e, t, [\n r\n ]);\n}\nfunction $3aa41668e353fa42$var$Rr(e, t) {\n if (\"bytes\" !== (e = `${e}`)) throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);\n return e;\n}\nfunction $3aa41668e353fa42$var$Tr(e, t) {\n $3aa41668e353fa42$var$L(e, t);\n const r = null == e ? void 0 : e.preventAbort, o = null == e ? void 0 : e.preventCancel, n = null == e ? void 0 : e.preventClose, a = null == e ? void 0 : e.signal;\n return void 0 !== a && function(e, t) {\n if (!function(e) {\n if (\"object\" != typeof e || null === e) return !1;\n try {\n return \"boolean\" == typeof e.aborted;\n } catch (e) {\n return !1;\n }\n }(e)) throw new TypeError(`${t} is not an AbortSignal.`);\n }(a, `${t} has member 'signal' that`), {\n preventAbort: Boolean(r),\n preventCancel: Boolean(o),\n preventClose: Boolean(n),\n signal: a\n };\n}\nObject.defineProperties($3aa41668e353fa42$export$b0bb6d0989d67700.prototype, {\n close: {\n enumerable: !0\n },\n enqueue: {\n enumerable: !0\n },\n error: {\n enumerable: !0\n },\n desiredSize: {\n enumerable: !0\n }\n}), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$b0bb6d0989d67700.prototype.close, \"close\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$b0bb6d0989d67700.prototype.enqueue, \"enqueue\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$b0bb6d0989d67700.prototype.error, \"error\"), \"symbol\" == typeof Symbol.toStringTag && Object.defineProperty($3aa41668e353fa42$export$b0bb6d0989d67700.prototype, Symbol.toStringTag, {\n value: \"ReadableStreamDefaultController\",\n configurable: !0\n});\nclass $3aa41668e353fa42$export$5d3e1e5268af5f76 {\n constructor(e = {}, t = {}){\n void 0 === e ? e = null : $3aa41668e353fa42$var$I(e, \"First parameter\");\n const r = $3aa41668e353fa42$var$dt(t, \"Second parameter\"), o = function(e, t) {\n $3aa41668e353fa42$var$L(e, t);\n const r = e, o = null == r ? void 0 : r.autoAllocateChunkSize, n = null == r ? void 0 : r.cancel, a = null == r ? void 0 : r.pull, i = null == r ? void 0 : r.start, l = null == r ? void 0 : r.type;\n return {\n autoAllocateChunkSize: void 0 === o ? void 0 : $3aa41668e353fa42$var$Q(o, `${t} has member 'autoAllocateChunkSize' that`),\n cancel: void 0 === n ? void 0 : $3aa41668e353fa42$var$gr(n, r, `${t} has member 'cancel' that`),\n pull: void 0 === a ? void 0 : $3aa41668e353fa42$var$vr(a, r, `${t} has member 'pull' that`),\n start: void 0 === i ? void 0 : $3aa41668e353fa42$var$wr(i, r, `${t} has member 'start' that`),\n type: void 0 === l ? void 0 : $3aa41668e353fa42$var$Rr(l, `${t} has member 'type' that`)\n };\n }(e, \"First parameter\");\n if ($3aa41668e353fa42$var$qr(this), \"bytes\" === o.type) {\n if (void 0 !== r.size) throw new RangeError(\"The strategy for a byte stream cannot have a size function\");\n !function(e, t, r) {\n const o = Object.create($3aa41668e353fa42$export$2047cf34091e94ac.prototype);\n let n, a, i;\n n = void 0 !== t.start ? ()=>t.start(o) : ()=>{}, a = void 0 !== t.pull ? ()=>t.pull(o) : ()=>$3aa41668e353fa42$var$c(void 0), i = void 0 !== t.cancel ? (e)=>t.cancel(e) : ()=>$3aa41668e353fa42$var$c(void 0);\n const l = t.autoAllocateChunkSize;\n if (0 === l) throw new TypeError(\"autoAllocateChunkSize must be greater than 0\");\n $3aa41668e353fa42$var$Je(e, o, n, a, i, r, l);\n }(this, o, $3aa41668e353fa42$var$ut(r, 0));\n } else {\n const e = $3aa41668e353fa42$var$ct(r);\n !function(e, t, r, o) {\n const n = Object.create($3aa41668e353fa42$export$b0bb6d0989d67700.prototype);\n let a, i, l;\n a = void 0 !== t.start ? ()=>t.start(n) : ()=>{}, i = void 0 !== t.pull ? ()=>t.pull(n) : ()=>$3aa41668e353fa42$var$c(void 0), l = void 0 !== t.cancel ? (e)=>t.cancel(e) : ()=>$3aa41668e353fa42$var$c(void 0), $3aa41668e353fa42$var$_r(e, n, a, i, l, r, o);\n }(this, o, $3aa41668e353fa42$var$ut(r, 1), e);\n }\n }\n get locked() {\n if (!$3aa41668e353fa42$var$Er(this)) throw $3aa41668e353fa42$var$jr(\"locked\");\n return $3aa41668e353fa42$var$Wr(this);\n }\n cancel(e) {\n return $3aa41668e353fa42$var$Er(this) ? $3aa41668e353fa42$var$Wr(this) ? $3aa41668e353fa42$var$d(new TypeError(\"Cannot cancel a stream that already has a reader\")) : $3aa41668e353fa42$var$Or(this, e) : $3aa41668e353fa42$var$d($3aa41668e353fa42$var$jr(\"cancel\"));\n }\n getReader(e) {\n if (!$3aa41668e353fa42$var$Er(this)) throw $3aa41668e353fa42$var$jr(\"getReader\");\n return void 0 === function(e, t) {\n $3aa41668e353fa42$var$L(e, t);\n const r = null == e ? void 0 : e.mode;\n return {\n mode: void 0 === r ? void 0 : $3aa41668e353fa42$var$et(r, `${t} has member 'mode' that`)\n };\n }(e, \"First parameter\").mode ? $3aa41668e353fa42$var$H(this) : $3aa41668e353fa42$var$tt(this);\n }\n pipeThrough(e, t = {}) {\n if (!$3aa41668e353fa42$var$Er(this)) throw $3aa41668e353fa42$var$jr(\"pipeThrough\");\n $3aa41668e353fa42$var$$(e, 1, \"pipeThrough\");\n const r = function(e, t) {\n $3aa41668e353fa42$var$L(e, t);\n const r = null == e ? void 0 : e.readable;\n $3aa41668e353fa42$var$M(r, \"readable\", \"ReadableWritablePair\"), $3aa41668e353fa42$var$N(r, `${t} has member 'readable' that`);\n const o = null == e ? void 0 : e.writable;\n return $3aa41668e353fa42$var$M(o, \"writable\", \"ReadableWritablePair\"), $3aa41668e353fa42$var$pt(o, `${t} has member 'writable' that`), {\n readable: r,\n writable: o\n };\n }(e, \"First parameter\"), o = $3aa41668e353fa42$var$Tr(t, \"Second parameter\");\n if ($3aa41668e353fa42$var$Wr(this)) throw new TypeError(\"ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream\");\n if ($3aa41668e353fa42$var$vt(r.writable)) throw new TypeError(\"ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream\");\n return $3aa41668e353fa42$var$p($3aa41668e353fa42$var$ir(this, r.writable, o.preventClose, o.preventAbort, o.preventCancel, o.signal)), r.readable;\n }\n pipeTo(e, t = {}) {\n if (!$3aa41668e353fa42$var$Er(this)) return $3aa41668e353fa42$var$d($3aa41668e353fa42$var$jr(\"pipeTo\"));\n if (void 0 === e) return $3aa41668e353fa42$var$d(\"Parameter 1 is required in 'pipeTo'.\");\n if (!$3aa41668e353fa42$var$gt(e)) return $3aa41668e353fa42$var$d(new TypeError(\"ReadableStream.prototype.pipeTo's first argument must be a WritableStream\"));\n let r;\n try {\n r = $3aa41668e353fa42$var$Tr(t, \"Second parameter\");\n } catch (e) {\n return $3aa41668e353fa42$var$d(e);\n }\n return $3aa41668e353fa42$var$Wr(this) ? $3aa41668e353fa42$var$d(new TypeError(\"ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream\")) : $3aa41668e353fa42$var$vt(e) ? $3aa41668e353fa42$var$d(new TypeError(\"ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream\")) : $3aa41668e353fa42$var$ir(this, e, r.preventClose, r.preventAbort, r.preventCancel, r.signal);\n }\n tee() {\n if (!$3aa41668e353fa42$var$Er(this)) throw $3aa41668e353fa42$var$jr(\"tee\");\n return $3aa41668e353fa42$var$ne($3aa41668e353fa42$var$yr(this));\n }\n values(e) {\n if (!$3aa41668e353fa42$var$Er(this)) throw $3aa41668e353fa42$var$jr(\"values\");\n return function(e, t) {\n const r = $3aa41668e353fa42$var$H(e), o = new $3aa41668e353fa42$var$he(r, t), n = Object.create($3aa41668e353fa42$var$me);\n return n._asyncIteratorImpl = o, n;\n }(this, function(e, t) {\n $3aa41668e353fa42$var$L(e, t);\n const r = null == e ? void 0 : e.preventCancel;\n return {\n preventCancel: Boolean(r)\n };\n }(e, \"First parameter\").preventCancel);\n }\n [$3aa41668e353fa42$var$de](e) {\n return this.values(e);\n }\n static from(e) {\n return $3aa41668e353fa42$var$Sr(e);\n }\n}\nfunction $3aa41668e353fa42$var$Cr(e, t, r, o = 1, n = ()=>1) {\n const a = Object.create($3aa41668e353fa42$export$5d3e1e5268af5f76.prototype);\n $3aa41668e353fa42$var$qr(a);\n return $3aa41668e353fa42$var$_r(a, Object.create($3aa41668e353fa42$export$b0bb6d0989d67700.prototype), e, t, r, o, n), a;\n}\nfunction $3aa41668e353fa42$var$Pr(e, t, r) {\n const o = Object.create($3aa41668e353fa42$export$5d3e1e5268af5f76.prototype);\n $3aa41668e353fa42$var$qr(o);\n return $3aa41668e353fa42$var$Je(o, Object.create($3aa41668e353fa42$export$2047cf34091e94ac.prototype), e, t, r, 0, void 0), o;\n}\nfunction $3aa41668e353fa42$var$qr(e) {\n e._state = \"readable\", e._reader = void 0, e._storedError = void 0, e._disturbed = !1;\n}\nfunction $3aa41668e353fa42$var$Er(e) {\n return !!$3aa41668e353fa42$var$t(e) && !!Object.prototype.hasOwnProperty.call(e, \"_readableStreamController\") && e instanceof $3aa41668e353fa42$export$5d3e1e5268af5f76;\n}\nfunction $3aa41668e353fa42$var$Wr(e) {\n return void 0 !== e._reader;\n}\nfunction $3aa41668e353fa42$var$Or(t, r) {\n if (t._disturbed = !0, \"closed\" === t._state) return $3aa41668e353fa42$var$c(void 0);\n if (\"errored\" === t._state) return $3aa41668e353fa42$var$d(t._storedError);\n $3aa41668e353fa42$var$Br(t);\n const o = t._reader;\n if (void 0 !== o && $3aa41668e353fa42$var$at(o)) {\n const e = o._readIntoRequests;\n o._readIntoRequests = new $3aa41668e353fa42$var$v, e.forEach((e)=>{\n e._closeSteps(void 0);\n });\n }\n return $3aa41668e353fa42$var$_(t._readableStreamController[$3aa41668e353fa42$var$T](r), $3aa41668e353fa42$var$e);\n}\nfunction $3aa41668e353fa42$var$Br(e) {\n e._state = \"closed\";\n const t = e._reader;\n if (void 0 !== t && ($3aa41668e353fa42$var$A(t), $3aa41668e353fa42$var$J(t))) {\n const e = t._readRequests;\n t._readRequests = new $3aa41668e353fa42$var$v, e.forEach((e)=>{\n e._closeSteps();\n });\n }\n}\nfunction $3aa41668e353fa42$var$kr(e, t) {\n e._state = \"errored\", e._storedError = t;\n const r = e._reader;\n void 0 !== r && ($3aa41668e353fa42$var$j(r, t), $3aa41668e353fa42$var$J(r) ? $3aa41668e353fa42$var$Z(r, t) : $3aa41668e353fa42$var$lt(r, t));\n}\nfunction $3aa41668e353fa42$var$jr(e) {\n return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`);\n}\nfunction $3aa41668e353fa42$var$Ar(e, t) {\n $3aa41668e353fa42$var$L(e, t);\n const r = null == e ? void 0 : e.highWaterMark;\n return $3aa41668e353fa42$var$M(r, \"highWaterMark\", \"QueuingStrategyInit\"), {\n highWaterMark: $3aa41668e353fa42$var$Y(r)\n };\n}\nObject.defineProperties($3aa41668e353fa42$export$5d3e1e5268af5f76, {\n from: {\n enumerable: !0\n }\n}), Object.defineProperties($3aa41668e353fa42$export$5d3e1e5268af5f76.prototype, {\n cancel: {\n enumerable: !0\n },\n getReader: {\n enumerable: !0\n },\n pipeThrough: {\n enumerable: !0\n },\n pipeTo: {\n enumerable: !0\n },\n tee: {\n enumerable: !0\n },\n values: {\n enumerable: !0\n },\n locked: {\n enumerable: !0\n }\n}), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$5d3e1e5268af5f76.from, \"from\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$5d3e1e5268af5f76.prototype.cancel, \"cancel\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$5d3e1e5268af5f76.prototype.getReader, \"getReader\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$5d3e1e5268af5f76.prototype.pipeThrough, \"pipeThrough\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$5d3e1e5268af5f76.prototype.pipeTo, \"pipeTo\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$5d3e1e5268af5f76.prototype.tee, \"tee\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$5d3e1e5268af5f76.prototype.values, \"values\"), \"symbol\" == typeof Symbol.toStringTag && Object.defineProperty($3aa41668e353fa42$export$5d3e1e5268af5f76.prototype, Symbol.toStringTag, {\n value: \"ReadableStream\",\n configurable: !0\n}), Object.defineProperty($3aa41668e353fa42$export$5d3e1e5268af5f76.prototype, $3aa41668e353fa42$var$de, {\n value: $3aa41668e353fa42$export$5d3e1e5268af5f76.prototype.values,\n writable: !0,\n configurable: !0\n});\nconst $3aa41668e353fa42$var$zr = (e)=>e.byteLength;\n$3aa41668e353fa42$var$o($3aa41668e353fa42$var$zr, \"size\");\nclass $3aa41668e353fa42$export$d386b5f37d154119 {\n constructor(e){\n $3aa41668e353fa42$var$$(e, 1, \"ByteLengthQueuingStrategy\"), e = $3aa41668e353fa42$var$Ar(e, \"First parameter\"), this._byteLengthQueuingStrategyHighWaterMark = e.highWaterMark;\n }\n get highWaterMark() {\n if (!$3aa41668e353fa42$var$Lr(this)) throw $3aa41668e353fa42$var$Dr(\"highWaterMark\");\n return this._byteLengthQueuingStrategyHighWaterMark;\n }\n get size() {\n if (!$3aa41668e353fa42$var$Lr(this)) throw $3aa41668e353fa42$var$Dr(\"size\");\n return $3aa41668e353fa42$var$zr;\n }\n}\nfunction $3aa41668e353fa42$var$Dr(e) {\n return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`);\n}\nfunction $3aa41668e353fa42$var$Lr(e) {\n return !!$3aa41668e353fa42$var$t(e) && !!Object.prototype.hasOwnProperty.call(e, \"_byteLengthQueuingStrategyHighWaterMark\") && e instanceof $3aa41668e353fa42$export$d386b5f37d154119;\n}\nObject.defineProperties($3aa41668e353fa42$export$d386b5f37d154119.prototype, {\n highWaterMark: {\n enumerable: !0\n },\n size: {\n enumerable: !0\n }\n}), \"symbol\" == typeof Symbol.toStringTag && Object.defineProperty($3aa41668e353fa42$export$d386b5f37d154119.prototype, Symbol.toStringTag, {\n value: \"ByteLengthQueuingStrategy\",\n configurable: !0\n});\nconst $3aa41668e353fa42$var$Fr = ()=>1;\n$3aa41668e353fa42$var$o($3aa41668e353fa42$var$Fr, \"size\");\nclass $3aa41668e353fa42$export$9ebfec18c2dfc625 {\n constructor(e){\n $3aa41668e353fa42$var$$(e, 1, \"CountQueuingStrategy\"), e = $3aa41668e353fa42$var$Ar(e, \"First parameter\"), this._countQueuingStrategyHighWaterMark = e.highWaterMark;\n }\n get highWaterMark() {\n if (!$3aa41668e353fa42$var$$r(this)) throw $3aa41668e353fa42$var$Ir(\"highWaterMark\");\n return this._countQueuingStrategyHighWaterMark;\n }\n get size() {\n if (!$3aa41668e353fa42$var$$r(this)) throw $3aa41668e353fa42$var$Ir(\"size\");\n return $3aa41668e353fa42$var$Fr;\n }\n}\nfunction $3aa41668e353fa42$var$Ir(e) {\n return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`);\n}\nfunction $3aa41668e353fa42$var$$r(e) {\n return !!$3aa41668e353fa42$var$t(e) && !!Object.prototype.hasOwnProperty.call(e, \"_countQueuingStrategyHighWaterMark\") && e instanceof $3aa41668e353fa42$export$9ebfec18c2dfc625;\n}\nfunction $3aa41668e353fa42$var$Mr(e, t, r) {\n return $3aa41668e353fa42$var$F(e, r), (r)=>$3aa41668e353fa42$var$g(e, t, [\n r\n ]);\n}\nfunction $3aa41668e353fa42$var$Yr(e, t, r) {\n return $3aa41668e353fa42$var$F(e, r), (r)=>$3aa41668e353fa42$var$S(e, t, [\n r\n ]);\n}\nfunction $3aa41668e353fa42$var$xr(e, t, r) {\n return $3aa41668e353fa42$var$F(e, r), (r, o)=>$3aa41668e353fa42$var$g(e, t, [\n r,\n o\n ]);\n}\nfunction $3aa41668e353fa42$var$Qr(e, t, r) {\n return $3aa41668e353fa42$var$F(e, r), (r)=>$3aa41668e353fa42$var$g(e, t, [\n r\n ]);\n}\nObject.defineProperties($3aa41668e353fa42$export$9ebfec18c2dfc625.prototype, {\n highWaterMark: {\n enumerable: !0\n },\n size: {\n enumerable: !0\n }\n}), \"symbol\" == typeof Symbol.toStringTag && Object.defineProperty($3aa41668e353fa42$export$9ebfec18c2dfc625.prototype, Symbol.toStringTag, {\n value: \"CountQueuingStrategy\",\n configurable: !0\n});\nclass $3aa41668e353fa42$export$d102341634899398 {\n constructor(e = {}, t = {}, r = {}){\n void 0 === e && (e = null);\n const o = $3aa41668e353fa42$var$dt(t, \"Second parameter\"), n = $3aa41668e353fa42$var$dt(r, \"Third parameter\"), a = function(e, t) {\n $3aa41668e353fa42$var$L(e, t);\n const r = null == e ? void 0 : e.cancel, o = null == e ? void 0 : e.flush, n = null == e ? void 0 : e.readableType, a = null == e ? void 0 : e.start, i = null == e ? void 0 : e.transform, l = null == e ? void 0 : e.writableType;\n return {\n cancel: void 0 === r ? void 0 : $3aa41668e353fa42$var$Qr(r, e, `${t} has member 'cancel' that`),\n flush: void 0 === o ? void 0 : $3aa41668e353fa42$var$Mr(o, e, `${t} has member 'flush' that`),\n readableType: n,\n start: void 0 === a ? void 0 : $3aa41668e353fa42$var$Yr(a, e, `${t} has member 'start' that`),\n transform: void 0 === i ? void 0 : $3aa41668e353fa42$var$xr(i, e, `${t} has member 'transform' that`),\n writableType: l\n };\n }(e, \"First parameter\");\n if (void 0 !== a.readableType) throw new RangeError(\"Invalid readableType specified\");\n if (void 0 !== a.writableType) throw new RangeError(\"Invalid writableType specified\");\n const i = $3aa41668e353fa42$var$ut(n, 0), l = $3aa41668e353fa42$var$ct(n), s = $3aa41668e353fa42$var$ut(o, 1), f = $3aa41668e353fa42$var$ct(o);\n let h;\n !function(e, t, r, o, n, a) {\n function i() {\n return t;\n }\n function l(t) {\n return function(e, t) {\n const r = e._transformStreamController;\n if (e._backpressure) return $3aa41668e353fa42$var$_(e._backpressureChangePromise, ()=>{\n const o = e._writable;\n if (\"erroring\" === o._state) throw o._storedError;\n return $3aa41668e353fa42$var$Zr(r, t);\n });\n return $3aa41668e353fa42$var$Zr(r, t);\n }(e, t);\n }\n function s(t) {\n return function(e, t) {\n const r = e._transformStreamController;\n if (void 0 !== r._finishPromise) return r._finishPromise;\n const o = e._readable;\n r._finishPromise = $3aa41668e353fa42$var$u((e, t)=>{\n r._finishPromise_resolve = e, r._finishPromise_reject = t;\n });\n const n = r._cancelAlgorithm(t);\n return $3aa41668e353fa42$var$Jr(r), $3aa41668e353fa42$var$b(n, ()=>(\"errored\" === o._state ? $3aa41668e353fa42$var$ro(r, o._storedError) : ($3aa41668e353fa42$var$br(o._readableStreamController, t), $3aa41668e353fa42$var$to(r)), null), (e)=>($3aa41668e353fa42$var$br(o._readableStreamController, e), $3aa41668e353fa42$var$ro(r, e), null)), r._finishPromise;\n }(e, t);\n }\n function c() {\n return function(e) {\n const t = e._transformStreamController;\n if (void 0 !== t._finishPromise) return t._finishPromise;\n const r = e._readable;\n t._finishPromise = $3aa41668e353fa42$var$u((e, r)=>{\n t._finishPromise_resolve = e, t._finishPromise_reject = r;\n });\n const o = t._flushAlgorithm();\n return $3aa41668e353fa42$var$Jr(t), $3aa41668e353fa42$var$b(o, ()=>(\"errored\" === r._state ? $3aa41668e353fa42$var$ro(t, r._storedError) : ($3aa41668e353fa42$var$dr(r._readableStreamController), $3aa41668e353fa42$var$to(t)), null), (e)=>($3aa41668e353fa42$var$br(r._readableStreamController, e), $3aa41668e353fa42$var$ro(t, e), null)), t._finishPromise;\n }(e);\n }\n function d() {\n return function(e) {\n return $3aa41668e353fa42$var$Gr(e, !1), e._backpressureChangePromise;\n }(e);\n }\n function f(t) {\n return function(e, t) {\n const r = e._transformStreamController;\n if (void 0 !== r._finishPromise) return r._finishPromise;\n const o = e._writable;\n r._finishPromise = $3aa41668e353fa42$var$u((e, t)=>{\n r._finishPromise_resolve = e, r._finishPromise_reject = t;\n });\n const n = r._cancelAlgorithm(t);\n return $3aa41668e353fa42$var$Jr(r), $3aa41668e353fa42$var$b(n, ()=>(\"errored\" === o._state ? $3aa41668e353fa42$var$ro(r, o._storedError) : ($3aa41668e353fa42$var$Yt(o._writableStreamController, t), $3aa41668e353fa42$var$Ur(e), $3aa41668e353fa42$var$to(r)), null), (t)=>($3aa41668e353fa42$var$Yt(o._writableStreamController, t), $3aa41668e353fa42$var$Ur(e), $3aa41668e353fa42$var$ro(r, t), null)), r._finishPromise;\n }(e, t);\n }\n e._writable = function(e, t, r, o, n = 1, a = ()=>1) {\n const i = Object.create($3aa41668e353fa42$export$826849241f7970f8.prototype);\n return $3aa41668e353fa42$var$St(i), $3aa41668e353fa42$var$Ft(i, Object.create($3aa41668e353fa42$export$9e6890cb9a51c7c2.prototype), e, t, r, o, n, a), i;\n }(i, l, c, s, r, o), e._readable = $3aa41668e353fa42$var$Cr(i, d, f, n, a), e._backpressure = void 0, e._backpressureChangePromise = void 0, e._backpressureChangePromise_resolve = void 0, $3aa41668e353fa42$var$Gr(e, !0), e._transformStreamController = void 0;\n }(this, $3aa41668e353fa42$var$u((e)=>{\n h = e;\n }), s, f, i, l), function(e, t) {\n const r = Object.create($3aa41668e353fa42$export$a55559184460222.prototype);\n let o, n, a;\n o = void 0 !== t.transform ? (e)=>t.transform(e, r) : (e)=>{\n try {\n return $3aa41668e353fa42$var$Kr(r, e), $3aa41668e353fa42$var$c(void 0);\n } catch (e) {\n return $3aa41668e353fa42$var$d(e);\n }\n };\n n = void 0 !== t.flush ? ()=>t.flush(r) : ()=>$3aa41668e353fa42$var$c(void 0);\n a = void 0 !== t.cancel ? (e)=>t.cancel(e) : ()=>$3aa41668e353fa42$var$c(void 0);\n !function(e, t, r, o, n) {\n t._controlledTransformStream = e, e._transformStreamController = t, t._transformAlgorithm = r, t._flushAlgorithm = o, t._cancelAlgorithm = n, t._finishPromise = void 0, t._finishPromise_resolve = void 0, t._finishPromise_reject = void 0;\n }(e, r, o, n, a);\n }(this, a), void 0 !== a.start ? h(a.start(this._transformStreamController)) : h(void 0);\n }\n get readable() {\n if (!$3aa41668e353fa42$var$Nr(this)) throw $3aa41668e353fa42$var$oo(\"readable\");\n return this._readable;\n }\n get writable() {\n if (!$3aa41668e353fa42$var$Nr(this)) throw $3aa41668e353fa42$var$oo(\"writable\");\n return this._writable;\n }\n}\nfunction $3aa41668e353fa42$var$Nr(e) {\n return !!$3aa41668e353fa42$var$t(e) && !!Object.prototype.hasOwnProperty.call(e, \"_transformStreamController\") && e instanceof $3aa41668e353fa42$export$d102341634899398;\n}\nfunction $3aa41668e353fa42$var$Hr(e, t) {\n $3aa41668e353fa42$var$br(e._readable._readableStreamController, t), $3aa41668e353fa42$var$Vr(e, t);\n}\nfunction $3aa41668e353fa42$var$Vr(e, t) {\n $3aa41668e353fa42$var$Jr(e._transformStreamController), $3aa41668e353fa42$var$Yt(e._writable._writableStreamController, t), $3aa41668e353fa42$var$Ur(e);\n}\nfunction $3aa41668e353fa42$var$Ur(e) {\n e._backpressure && $3aa41668e353fa42$var$Gr(e, !1);\n}\nfunction $3aa41668e353fa42$var$Gr(e, t) {\n void 0 !== e._backpressureChangePromise && e._backpressureChangePromise_resolve(), e._backpressureChangePromise = $3aa41668e353fa42$var$u((t)=>{\n e._backpressureChangePromise_resolve = t;\n }), e._backpressure = t;\n}\nObject.defineProperties($3aa41668e353fa42$export$d102341634899398.prototype, {\n readable: {\n enumerable: !0\n },\n writable: {\n enumerable: !0\n }\n}), \"symbol\" == typeof Symbol.toStringTag && Object.defineProperty($3aa41668e353fa42$export$d102341634899398.prototype, Symbol.toStringTag, {\n value: \"TransformStream\",\n configurable: !0\n});\nclass $3aa41668e353fa42$export$a55559184460222 {\n constructor(){\n throw new TypeError(\"Illegal constructor\");\n }\n get desiredSize() {\n if (!$3aa41668e353fa42$var$Xr(this)) throw $3aa41668e353fa42$var$eo(\"desiredSize\");\n return $3aa41668e353fa42$var$hr(this._controlledTransformStream._readable._readableStreamController);\n }\n enqueue(e) {\n if (!$3aa41668e353fa42$var$Xr(this)) throw $3aa41668e353fa42$var$eo(\"enqueue\");\n $3aa41668e353fa42$var$Kr(this, e);\n }\n error(e) {\n if (!$3aa41668e353fa42$var$Xr(this)) throw $3aa41668e353fa42$var$eo(\"error\");\n var t;\n t = e, $3aa41668e353fa42$var$Hr(this._controlledTransformStream, t);\n }\n terminate() {\n if (!$3aa41668e353fa42$var$Xr(this)) throw $3aa41668e353fa42$var$eo(\"terminate\");\n !function(e) {\n const t = e._controlledTransformStream;\n $3aa41668e353fa42$var$dr(t._readable._readableStreamController);\n const r = new TypeError(\"TransformStream terminated\");\n $3aa41668e353fa42$var$Vr(t, r);\n }(this);\n }\n}\nfunction $3aa41668e353fa42$var$Xr(e) {\n return !!$3aa41668e353fa42$var$t(e) && !!Object.prototype.hasOwnProperty.call(e, \"_controlledTransformStream\") && e instanceof $3aa41668e353fa42$export$a55559184460222;\n}\nfunction $3aa41668e353fa42$var$Jr(e) {\n e._transformAlgorithm = void 0, e._flushAlgorithm = void 0, e._cancelAlgorithm = void 0;\n}\nfunction $3aa41668e353fa42$var$Kr(e, t) {\n const r = e._controlledTransformStream, o = r._readable._readableStreamController;\n if (!$3aa41668e353fa42$var$mr(o)) throw new TypeError(\"Readable side is not in a state that permits enqueue\");\n try {\n $3aa41668e353fa42$var$fr(o, t);\n } catch (e) {\n throw $3aa41668e353fa42$var$Vr(r, e), r._readable._storedError;\n }\n const n = function(e) {\n return !$3aa41668e353fa42$var$ur(e);\n }(o);\n n !== r._backpressure && $3aa41668e353fa42$var$Gr(r, !0);\n}\nfunction $3aa41668e353fa42$var$Zr(e, t) {\n return $3aa41668e353fa42$var$_(e._transformAlgorithm(t), void 0, (t)=>{\n throw $3aa41668e353fa42$var$Hr(e._controlledTransformStream, t), t;\n });\n}\nfunction $3aa41668e353fa42$var$eo(e) {\n return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`);\n}\nfunction $3aa41668e353fa42$var$to(e) {\n void 0 !== e._finishPromise_resolve && (e._finishPromise_resolve(), e._finishPromise_resolve = void 0, e._finishPromise_reject = void 0);\n}\nfunction $3aa41668e353fa42$var$ro(e, t) {\n void 0 !== e._finishPromise_reject && ($3aa41668e353fa42$var$p(e._finishPromise), e._finishPromise_reject(t), e._finishPromise_resolve = void 0, e._finishPromise_reject = void 0);\n}\nfunction $3aa41668e353fa42$var$oo(e) {\n return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`);\n}\nObject.defineProperties($3aa41668e353fa42$export$a55559184460222.prototype, {\n enqueue: {\n enumerable: !0\n },\n error: {\n enumerable: !0\n },\n terminate: {\n enumerable: !0\n },\n desiredSize: {\n enumerable: !0\n }\n}), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$a55559184460222.prototype.enqueue, \"enqueue\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$a55559184460222.prototype.error, \"error\"), $3aa41668e353fa42$var$o($3aa41668e353fa42$export$a55559184460222.prototype.terminate, \"terminate\"), \"symbol\" == typeof Symbol.toStringTag && Object.defineProperty($3aa41668e353fa42$export$a55559184460222.prototype, Symbol.toStringTag, {\n value: \"TransformStreamDefaultController\",\n configurable: !0\n});\n\n});\n\n\nparcelRegister(\"kpaC8\", function(module, exports) {\n\n$parcel$export(module.exports, \"observable\", () => observable);\n$parcel$export(module.exports, \"computed\", () => computed);\n$parcel$export(module.exports, \"autorun\", () => autorun);\n$parcel$export(module.exports, \"action\", () => action);\n$parcel$export(module.exports, \"reaction\", () => reaction);\n$parcel$export(module.exports, \"configure\", () => configure);\nvar niceErrors = {\n 0: \"Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'\",\n 1: function _(annotationType, key) {\n return \"Cannot apply '\" + annotationType + \"' to '\" + key.toString() + \"': Field not found.\";\n },\n /*\n 2(prop) {\n return `invalid decorator for '${prop.toString()}'`\n },\n 3(prop) {\n return `Cannot decorate '${prop.toString()}': action can only be used on properties with a function value.`\n },\n 4(prop) {\n return `Cannot decorate '${prop.toString()}': computed can only be used on getter properties.`\n },\n */ 5: \"'keys()' can only be used on observable objects, arrays, sets and maps\",\n 6: \"'values()' can only be used on observable objects, arrays, sets and maps\",\n 7: \"'entries()' can only be used on observable objects, arrays and maps\",\n 8: \"'set()' can only be used on observable objects, arrays and maps\",\n 9: \"'remove()' can only be used on observable objects, arrays and maps\",\n 10: \"'has()' can only be used on observable objects, arrays and maps\",\n 11: \"'get()' can only be used on observable objects, arrays and maps\",\n 12: \"Invalid annotation\",\n 13: \"Dynamic observable objects cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)\",\n 14: \"Intercept handlers should return nothing or a change object\",\n 15: \"Observable arrays cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)\",\n 16: \"Modification exception: the internal structure of an observable array was changed.\",\n 17: function _(index, length) {\n return \"[mobx.array] Index out of bounds, \" + index + \" is larger than \" + length;\n },\n 18: \"mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js\",\n 19: function _(other) {\n return \"Cannot initialize from classes that inherit from Map: \" + other.constructor.name;\n },\n 20: function _(other) {\n return \"Cannot initialize map from \" + other;\n },\n 21: function _(dataStructure) {\n return \"Cannot convert to map from '\" + dataStructure + \"'\";\n },\n 22: \"mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js\",\n 23: \"It is not possible to get index atoms from arrays\",\n 24: function _(thing) {\n return \"Cannot obtain administration from \" + thing;\n },\n 25: function _(property, name) {\n return \"the entry '\" + property + \"' does not exist in the observable map '\" + name + \"'\";\n },\n 26: \"please specify a property\",\n 27: function _(property, name) {\n return \"no observable property '\" + property.toString() + \"' found on the observable object '\" + name + \"'\";\n },\n 28: function _(thing) {\n return \"Cannot obtain atom from \" + thing;\n },\n 29: \"Expecting some object\",\n 30: \"invalid action stack. did you forget to finish an action?\",\n 31: \"missing option for computed: get\",\n 32: function _(name, derivation) {\n return \"Cycle detected in computation \" + name + \": \" + derivation;\n },\n 33: function _(name) {\n return \"The setter of computed value '\" + name + \"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?\";\n },\n 34: function _(name) {\n return \"[ComputedValue '\" + name + \"'] It is not possible to assign a new value to a computed value.\";\n },\n 35: \"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`\",\n 36: \"isolateGlobalState should be called before MobX is running any reactions\",\n 37: function _(method) {\n return \"[mobx] `observableArray.\" + method + \"()` mutates the array in-place, which is not allowed inside a derivation. Use `array.slice().\" + method + \"()` instead\";\n },\n 38: \"'ownKeys()' can only be used on observable objects\",\n 39: \"'defineProperty()' can only be used on observable objects\"\n};\nvar errors = {};\nfunction die(error) {\n for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++)args[_key - 1] = arguments[_key];\n var e;\n throw new Error(typeof error === \"number\" ? \"[MobX] minified error nr: \" + error + (args.length ? \" \" + args.map(String).join(\",\") : \"\") + \". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts\" : \"[MobX] \" + error);\n}\nvar mockGlobal = {};\nfunction getGlobal() {\n if (typeof globalThis !== \"undefined\") return globalThis;\n if (typeof window !== \"undefined\") return window;\n if (typeof $parcel$global !== \"undefined\") return $parcel$global;\n if (typeof self !== \"undefined\") return self;\n return mockGlobal;\n}\n// We shorten anything used > 5 times\nvar assign = Object.assign;\nvar getDescriptor = Object.getOwnPropertyDescriptor;\nvar defineProperty = Object.defineProperty;\nvar objectPrototype = Object.prototype;\nvar EMPTY_ARRAY = [];\nObject.freeze(EMPTY_ARRAY);\nvar EMPTY_OBJECT = {};\nObject.freeze(EMPTY_OBJECT);\nvar hasProxy = typeof Proxy !== \"undefined\";\nvar plainObjectString = /*#__PURE__*/ Object.toString();\nfunction assertProxies() {\n if (!hasProxy) die(\"Proxy not available\");\n}\nfunction warnAboutProxyRequirement(msg) {}\nfunction getNextId() {\n return ++globalState.mobxGuid;\n}\n/**\n * Makes sure that the provided function is invoked at most once.\n */ function once(func) {\n var invoked = false;\n return function() {\n if (invoked) return;\n invoked = true;\n return func.apply(this, arguments);\n };\n}\nvar noop = function noop() {};\nfunction isFunction(fn) {\n return typeof fn === \"function\";\n}\nfunction isStringish(value) {\n var t = typeof value;\n switch(t){\n case \"string\":\n case \"symbol\":\n case \"number\":\n return true;\n }\n return false;\n}\nfunction isObject(value) {\n return value !== null && typeof value === \"object\";\n}\nfunction isPlainObject(value) {\n if (!isObject(value)) return false;\n var proto = Object.getPrototypeOf(value);\n if (proto == null) return true;\n var protoConstructor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return typeof protoConstructor === \"function\" && protoConstructor.toString() === plainObjectString;\n}\n// https://stackoverflow.com/a/37865170\nfunction isGenerator(obj) {\n var constructor = obj == null ? void 0 : obj.constructor;\n if (!constructor) return false;\n if (\"GeneratorFunction\" === constructor.name || \"GeneratorFunction\" === constructor.displayName) return true;\n return false;\n}\nfunction addHiddenProp(object, propName, value) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: true,\n configurable: true,\n value: value\n });\n}\nfunction addHiddenFinalProp(object, propName, value) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: false,\n configurable: true,\n value: value\n });\n}\nfunction createInstanceofPredicate(name, theClass) {\n var propName = \"isMobX\" + name;\n theClass.prototype[propName] = true;\n return function(x) {\n return isObject(x) && x[propName] === true;\n };\n}\n/**\n * Yields true for both native and observable Map, even across different windows.\n */ function isES6Map(thing) {\n return thing != null && Object.prototype.toString.call(thing) === \"[object Map]\";\n}\n/**\n * Makes sure a Map is an instance of non-inherited native or observable Map.\n */ function isPlainES6Map(thing) {\n var mapProto = Object.getPrototypeOf(thing);\n var objectProto = Object.getPrototypeOf(mapProto);\n var nullProto = Object.getPrototypeOf(objectProto);\n return nullProto === null;\n}\n/**\n * Yields true for both native and observable Set, even across different windows.\n */ function isES6Set(thing) {\n return thing != null && Object.prototype.toString.call(thing) === \"[object Set]\";\n}\nvar hasGetOwnPropertySymbols = typeof Object.getOwnPropertySymbols !== \"undefined\";\n/**\n * Returns the following: own enumerable keys and symbols.\n */ function getPlainObjectKeys(object) {\n var keys = Object.keys(object);\n // Not supported in IE, so there are not going to be symbol props anyway...\n if (!hasGetOwnPropertySymbols) return keys;\n var symbols = Object.getOwnPropertySymbols(object);\n if (!symbols.length) return keys;\n return [].concat(keys, symbols.filter(function(s) {\n return objectPrototype.propertyIsEnumerable.call(object, s);\n }));\n}\n// From Immer utils\n// Returns all own keys, including non-enumerable and symbolic\nvar ownKeys = typeof Reflect !== \"undefined\" && Reflect.ownKeys ? Reflect.ownKeys : hasGetOwnPropertySymbols ? function(obj) {\n return Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj));\n} : /* istanbul ignore next */ Object.getOwnPropertyNames;\nfunction stringifyKey(key) {\n if (typeof key === \"string\") return key;\n if (typeof key === \"symbol\") return key.toString();\n return new String(key).toString();\n}\nfunction toPrimitive(value) {\n return value === null ? null : typeof value === \"object\" ? \"\" + value : value;\n}\nfunction hasProp(target, prop) {\n return objectPrototype.hasOwnProperty.call(target, prop);\n}\n// From Immer utils\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || function getOwnPropertyDescriptors(target) {\n // Polyfill needed for Hermes and IE, see https://github.com/facebook/hermes/issues/274\n var res = {};\n // Note: without polyfill for ownKeys, symbols won't be picked up\n ownKeys(target).forEach(function(key) {\n res[key] = getDescriptor(target, key);\n });\n return res;\n};\nfunction getFlag(flags, mask) {\n return !!(flags & mask);\n}\nfunction setFlag(flags, mask, newValue) {\n if (newValue) flags |= mask;\n else flags &= ~mask;\n return flags;\n}\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for(var e = 0, n = Array(a); e < a; e++)n[e] = r[e];\n return n;\n}\nfunction _defineProperties(e, r) {\n for(var t = 0; t < r.length; t++){\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nfunction _createForOfIteratorHelperLoose(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (t) return (t = t.call(r)).next.bind(t);\n if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) {\n t && (r = t);\n var o = 0;\n return function() {\n return o >= r.length ? {\n done: !0\n } : {\n done: !1,\n value: r[o++]\n };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function(n) {\n for(var e = 1; e < arguments.length; e++){\n var t = arguments[e];\n for(var r in t)({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o);\n}\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = ({}).toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\nvar storedAnnotationsSymbol = /*#__PURE__*/ Symbol(\"mobx-stored-annotations\");\n/**\n * Creates a function that acts as\n * - decorator\n * - annotation object\n */ function createDecoratorAnnotation(annotation) {\n function decorator(target, property) {\n if (is20223Decorator(property)) return annotation.decorate_20223_(target, property);\n else storeAnnotation(target, property, annotation);\n }\n return Object.assign(decorator, annotation);\n}\n/**\n * Stores annotation to prototype,\n * so it can be inspected later by `makeObservable` called from constructor\n */ function storeAnnotation(prototype, key, annotation) {\n if (!hasProp(prototype, storedAnnotationsSymbol)) addHiddenProp(prototype, storedAnnotationsSymbol, _extends({}, prototype[storedAnnotationsSymbol]));\n var fieldName;\n // Cannot re-decorate\n assertNotDecorated(prototype, annotation, key);\n // Ignore override\n if (!isOverride(annotation)) prototype[storedAnnotationsSymbol][key] = annotation;\n}\nfunction assertNotDecorated(prototype, annotation, key) {\n var fieldName, currentAnnotationType, requestedAnnotationType;\n}\n/**\n * Collects annotations from prototypes and stores them on target (instance)\n */ function collectStoredAnnotations(target) {\n if (!hasProp(target, storedAnnotationsSymbol)) // if (__DEV__ && !target[storedAnnotationsSymbol]) {\n // die(\n // `No annotations were passed to makeObservable, but no decorated members have been found either`\n // )\n // }\n // We need a copy as we will remove annotation from the list once it's applied.\n addHiddenProp(target, storedAnnotationsSymbol, _extends({}, target[storedAnnotationsSymbol]));\n return target[storedAnnotationsSymbol];\n}\nfunction is20223Decorator(context) {\n return typeof context == \"object\" && typeof context[\"kind\"] == \"string\";\n}\nfunction assert20223DecoratorType(context, types) {}\nvar $mobx = /*#__PURE__*/ Symbol(\"mobx administration\");\nvar Atom = /*#__PURE__*/ function() {\n /**\n * Create a new atom. For debugging purposes it is recommended to give it a name.\n * The onBecomeObserved and onBecomeUnobserved callbacks can be used for resource management.\n */ function Atom(name_) {\n if (name_ === void 0) name_ = \"Atom\";\n this.name_ = void 0;\n this.flags_ = 0;\n this.observers_ = new Set();\n this.lastAccessedBy_ = 0;\n this.lowestObserverState_ = IDerivationState_.NOT_TRACKING_;\n // onBecomeObservedListeners\n this.onBOL = void 0;\n // onBecomeUnobservedListeners\n this.onBUOL = void 0;\n this.name_ = name_;\n }\n // for effective unobserving. BaseAtom has true, for extra optimization, so its onBecomeUnobserved never gets called, because it's not needed\n var _proto = Atom.prototype;\n _proto.onBO = function onBO() {\n if (this.onBOL) this.onBOL.forEach(function(listener) {\n return listener();\n });\n };\n _proto.onBUO = function onBUO() {\n if (this.onBUOL) this.onBUOL.forEach(function(listener) {\n return listener();\n });\n } /**\n * Invoke this method to notify mobx that your atom has been used somehow.\n * Returns true if there is currently a reactive context.\n */ ;\n _proto.reportObserved = function reportObserved$1() {\n return reportObserved(this);\n } /**\n * Invoke this method _after_ this method has changed to signal mobx that all its observers should invalidate.\n */ ;\n _proto.reportChanged = function reportChanged() {\n startBatch();\n propagateChanged(this);\n endBatch();\n };\n _proto.toString = function toString() {\n return this.name_;\n };\n return _createClass(Atom, [\n {\n key: \"isBeingObserved\",\n get: function get() {\n return getFlag(this.flags_, Atom.isBeingObservedMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, Atom.isBeingObservedMask_, newValue);\n }\n },\n {\n key: \"isPendingUnobservation\",\n get: function get() {\n return getFlag(this.flags_, Atom.isPendingUnobservationMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, Atom.isPendingUnobservationMask_, newValue);\n }\n },\n {\n key: \"diffValue\",\n get: function get() {\n return getFlag(this.flags_, Atom.diffValueMask_) ? 1 : 0;\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, Atom.diffValueMask_, newValue === 1 ? true : false);\n }\n }\n ]);\n}();\nAtom.isBeingObservedMask_ = 1;\nAtom.isPendingUnobservationMask_ = 2;\nAtom.diffValueMask_ = 4;\nvar isAtom = /*#__PURE__*/ createInstanceofPredicate(\"Atom\", Atom);\nfunction createAtom(name, onBecomeObservedHandler, onBecomeUnobservedHandler) {\n if (onBecomeObservedHandler === void 0) onBecomeObservedHandler = noop;\n if (onBecomeUnobservedHandler === void 0) onBecomeUnobservedHandler = noop;\n var atom = new Atom(name);\n // default `noop` listener will not initialize the hook Set\n if (onBecomeObservedHandler !== noop) onBecomeObserved(atom, onBecomeObservedHandler);\n if (onBecomeUnobservedHandler !== noop) onBecomeUnobserved(atom, onBecomeUnobservedHandler);\n return atom;\n}\nfunction identityComparer(a, b) {\n return a === b;\n}\nfunction structuralComparer(a, b) {\n return deepEqual(a, b);\n}\nfunction shallowComparer(a, b) {\n return deepEqual(a, b, 1);\n}\nfunction defaultComparer(a, b) {\n if (Object.is) return Object.is(a, b);\n return a === b ? a !== 0 || 1 / a === 1 / b : a !== a && b !== b;\n}\nvar comparer = {\n identity: identityComparer,\n structural: structuralComparer,\n \"default\": defaultComparer,\n shallow: shallowComparer\n};\nfunction deepEnhancer(v, _, name) {\n // it is an observable already, done\n if (isObservable(v)) return v;\n // something that can be converted and mutated?\n if (Array.isArray(v)) return observable.array(v, {\n name: name\n });\n if (isPlainObject(v)) return observable.object(v, undefined, {\n name: name\n });\n if (isES6Map(v)) return observable.map(v, {\n name: name\n });\n if (isES6Set(v)) return observable.set(v, {\n name: name\n });\n if (typeof v === \"function\" && !isAction(v) && !isFlow(v)) {\n if (isGenerator(v)) return flow(v);\n else return autoAction(name, v);\n }\n return v;\n}\nfunction shallowEnhancer(v, _, name) {\n if (v === undefined || v === null) return v;\n if (isObservableObject(v) || isObservableArray(v) || isObservableMap(v) || isObservableSet(v)) return v;\n if (Array.isArray(v)) return observable.array(v, {\n name: name,\n deep: false\n });\n if (isPlainObject(v)) return observable.object(v, undefined, {\n name: name,\n deep: false\n });\n if (isES6Map(v)) return observable.map(v, {\n name: name,\n deep: false\n });\n if (isES6Set(v)) return observable.set(v, {\n name: name,\n deep: false\n });\n}\nfunction referenceEnhancer(newValue) {\n // never turn into an observable\n return newValue;\n}\nfunction refStructEnhancer(v, oldValue) {\n if (deepEqual(v, oldValue)) return oldValue;\n return v;\n}\nvar OVERRIDE = \"override\";\nvar override = /*#__PURE__*/ createDecoratorAnnotation({\n annotationType_: OVERRIDE,\n make_: make_,\n extend_: extend_,\n decorate_20223_: decorate_20223_\n});\nfunction isOverride(annotation) {\n return annotation.annotationType_ === OVERRIDE;\n}\nfunction make_(adm, key) {\n return 0 /* MakeResult.Cancel */ ;\n}\nfunction extend_(adm, key, descriptor, proxyTrap) {\n die(\"'\" + this.annotationType_ + \"' can only be used with 'makeObservable'\");\n}\nfunction decorate_20223_(desc, context) {\n console.warn(\"'\" + this.annotationType_ + \"' cannot be used with decorators - this is a no-op\");\n}\nfunction createActionAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$1,\n extend_: extend_$1,\n decorate_20223_: decorate_20223_$1\n };\n}\nfunction make_$1(adm, key, descriptor, source) {\n var _this$options_;\n // bound\n if ((_this$options_ = this.options_) != null && _this$options_.bound) return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 1 /* MakeResult.Break */ ;\n // own\n if (source === adm.target_) return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 2 /* MakeResult.Continue */ ;\n // prototype\n if (isAction(descriptor.value)) // A prototype could have been annotated already by other constructor,\n // rest of the proto chain must be annotated already\n return 1 /* MakeResult.Break */ ;\n var actionDescriptor = createActionDescriptor(adm, this, key, descriptor, false);\n defineProperty(source, key, actionDescriptor);\n return 2 /* MakeResult.Continue */ ;\n}\nfunction extend_$1(adm, key, descriptor, proxyTrap) {\n var actionDescriptor = createActionDescriptor(adm, this, key, descriptor);\n return adm.defineProperty_(key, actionDescriptor, proxyTrap);\n}\nfunction decorate_20223_$1(mthd, context) {\n var kind = context.kind, name = context.name, addInitializer = context.addInitializer;\n var ann = this;\n var _createAction = function _createAction(m) {\n var _ann$options_$name, _ann$options_, _ann$options_$autoAct, _ann$options_2;\n return createAction((_ann$options_$name = (_ann$options_ = ann.options_) == null ? void 0 : _ann$options_.name) != null ? _ann$options_$name : name.toString(), m, (_ann$options_$autoAct = (_ann$options_2 = ann.options_) == null ? void 0 : _ann$options_2.autoAction) != null ? _ann$options_$autoAct : false);\n };\n if (kind == \"field\") return function(initMthd) {\n var _ann$options_3;\n var mthd = initMthd;\n if (!isAction(mthd)) mthd = _createAction(mthd);\n if ((_ann$options_3 = ann.options_) != null && _ann$options_3.bound) {\n mthd = mthd.bind(this);\n mthd.isMobxAction = true;\n }\n return mthd;\n };\n if (kind == \"method\") {\n var _this$options_2;\n if (!isAction(mthd)) mthd = _createAction(mthd);\n if ((_this$options_2 = this.options_) != null && _this$options_2.bound) addInitializer(function() {\n var self1 = this;\n var bound = self1[name].bind(self1);\n bound.isMobxAction = true;\n self1[name] = bound;\n });\n return mthd;\n }\n die(\"Cannot apply '\" + ann.annotationType_ + \"' to '\" + String(name) + \"' (kind: \" + kind + \"):\" + (\"\\n'\" + ann.annotationType_ + \"' can only be used on properties with a function value.\"));\n}\nfunction assertActionDescriptor(adm, _ref, key, _ref2) {\n var annotationType_ = _ref.annotationType_;\n var value = _ref2.value;\n}\nfunction createActionDescriptor(adm, annotation, key, descriptor, // provides ability to disable safeDescriptors for prototypes\nsafeDescriptors) {\n var _annotation$options_, _annotation$options_$, _annotation$options_2, _annotation$options_$2, _annotation$options_3, _annotation$options_4, _adm$proxy_2;\n if (safeDescriptors === void 0) safeDescriptors = globalState.safeDescriptors;\n assertActionDescriptor(adm, annotation, key, descriptor);\n var value = descriptor.value;\n if ((_annotation$options_ = annotation.options_) != null && _annotation$options_.bound) {\n var _adm$proxy_;\n value = value.bind((_adm$proxy_ = adm.proxy_) != null ? _adm$proxy_ : adm.target_);\n }\n return {\n value: createAction((_annotation$options_$ = (_annotation$options_2 = annotation.options_) == null ? void 0 : _annotation$options_2.name) != null ? _annotation$options_$ : key.toString(), value, (_annotation$options_$2 = (_annotation$options_3 = annotation.options_) == null ? void 0 : _annotation$options_3.autoAction) != null ? _annotation$options_$2 : false, // https://github.com/mobxjs/mobx/discussions/3140\n (_annotation$options_4 = annotation.options_) != null && _annotation$options_4.bound ? (_adm$proxy_2 = adm.proxy_) != null ? _adm$proxy_2 : adm.target_ : undefined),\n // Non-configurable for classes\n // prevents accidental field redefinition in subclass\n configurable: safeDescriptors ? adm.isPlainObject_ : true,\n // https://github.com/mobxjs/mobx/pull/2641#issuecomment-737292058\n enumerable: false,\n // Non-obsevable, therefore non-writable\n // Also prevents rewriting in subclass constructor\n writable: safeDescriptors ? false : true\n };\n}\nfunction createFlowAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$2,\n extend_: extend_$2,\n decorate_20223_: decorate_20223_$2\n };\n}\nfunction make_$2(adm, key, descriptor, source) {\n var _this$options_;\n // own\n if (source === adm.target_) return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 2 /* MakeResult.Continue */ ;\n // prototype\n // bound - must annotate protos to support super.flow()\n if ((_this$options_ = this.options_) != null && _this$options_.bound && (!hasProp(adm.target_, key) || !isFlow(adm.target_[key]))) {\n if (this.extend_(adm, key, descriptor, false) === null) return 0 /* MakeResult.Cancel */ ;\n }\n if (isFlow(descriptor.value)) // A prototype could have been annotated already by other constructor,\n // rest of the proto chain must be annotated already\n return 1 /* MakeResult.Break */ ;\n var flowDescriptor = createFlowDescriptor(adm, this, key, descriptor, false, false);\n defineProperty(source, key, flowDescriptor);\n return 2 /* MakeResult.Continue */ ;\n}\nfunction extend_$2(adm, key, descriptor, proxyTrap) {\n var _this$options_2;\n var flowDescriptor = createFlowDescriptor(adm, this, key, descriptor, (_this$options_2 = this.options_) == null ? void 0 : _this$options_2.bound);\n return adm.defineProperty_(key, flowDescriptor, proxyTrap);\n}\nfunction decorate_20223_$2(mthd, context) {\n var _this$options_3;\n var name = context.name, addInitializer = context.addInitializer;\n if (!isFlow(mthd)) mthd = flow(mthd);\n if ((_this$options_3 = this.options_) != null && _this$options_3.bound) addInitializer(function() {\n var self1 = this;\n var bound = self1[name].bind(self1);\n bound.isMobXFlow = true;\n self1[name] = bound;\n });\n return mthd;\n}\nfunction assertFlowDescriptor(adm, _ref, key, _ref2) {\n var annotationType_ = _ref.annotationType_;\n var value = _ref2.value;\n}\nfunction createFlowDescriptor(adm, annotation, key, descriptor, bound, // provides ability to disable safeDescriptors for prototypes\nsafeDescriptors) {\n if (safeDescriptors === void 0) safeDescriptors = globalState.safeDescriptors;\n assertFlowDescriptor(adm, annotation, key, descriptor);\n var value = descriptor.value;\n // In case of flow.bound, the descriptor can be from already annotated prototype\n if (!isFlow(value)) value = flow(value);\n if (bound) {\n var _adm$proxy_;\n // We do not keep original function around, so we bind the existing flow\n value = value.bind((_adm$proxy_ = adm.proxy_) != null ? _adm$proxy_ : adm.target_);\n // This is normally set by `flow`, but `bind` returns new function...\n value.isMobXFlow = true;\n }\n return {\n value: value,\n // Non-configurable for classes\n // prevents accidental field redefinition in subclass\n configurable: safeDescriptors ? adm.isPlainObject_ : true,\n // https://github.com/mobxjs/mobx/pull/2641#issuecomment-737292058\n enumerable: false,\n // Non-obsevable, therefore non-writable\n // Also prevents rewriting in subclass constructor\n writable: safeDescriptors ? false : true\n };\n}\nfunction createComputedAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$3,\n extend_: extend_$3,\n decorate_20223_: decorate_20223_$3\n };\n}\nfunction make_$3(adm, key, descriptor) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 1 /* MakeResult.Break */ ;\n}\nfunction extend_$3(adm, key, descriptor, proxyTrap) {\n assertComputedDescriptor(adm, this, key, descriptor);\n return adm.defineComputedProperty_(key, _extends({}, this.options_, {\n get: descriptor.get,\n set: descriptor.set\n }), proxyTrap);\n}\nfunction decorate_20223_$3(get, context) {\n var ann = this;\n var key = context.name, addInitializer = context.addInitializer;\n addInitializer(function() {\n var adm = asObservableObject(this)[$mobx];\n var options = _extends({}, ann.options_, {\n get: get,\n context: this\n });\n options.name || (options.name = \"ObservableObject.\" + key.toString());\n adm.values_.set(key, new ComputedValue(options));\n });\n return function() {\n return this[$mobx].getObservablePropValue_(key);\n };\n}\nfunction assertComputedDescriptor(adm, _ref, key, _ref2) {\n var annotationType_ = _ref.annotationType_;\n var get = _ref2.get;\n}\nfunction createObservableAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$4,\n extend_: extend_$4,\n decorate_20223_: decorate_20223_$4\n };\n}\nfunction make_$4(adm, key, descriptor) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 1 /* MakeResult.Break */ ;\n}\nfunction extend_$4(adm, key, descriptor, proxyTrap) {\n var _this$options_$enhanc, _this$options_;\n assertObservableDescriptor(adm, this, key, descriptor);\n return adm.defineObservableProperty_(key, descriptor.value, (_this$options_$enhanc = (_this$options_ = this.options_) == null ? void 0 : _this$options_.enhancer) != null ? _this$options_$enhanc : deepEnhancer, proxyTrap);\n}\nfunction decorate_20223_$4(desc, context) {\n var ann = this;\n var kind = context.kind, name = context.name;\n // The laziness here is not ideal... It's a workaround to how 2022.3 Decorators are implemented:\n // `addInitializer` callbacks are executed _before_ any accessors are defined (instead of the ideal-for-us right after each).\n // This means that, if we were to do our stuff in an `addInitializer`, we'd attempt to read a private slot\n // before it has been initialized. The runtime doesn't like that and throws a `Cannot read private member\n // from an object whose class did not declare it` error.\n // TODO: it seems that this will not be required anymore in the final version of the spec\n // See TODO: link\n var initializedObjects = new WeakSet();\n function initializeObservable(target, value) {\n var _ann$options_$enhance, _ann$options_;\n var adm = asObservableObject(target)[$mobx];\n var observable = new ObservableValue(value, (_ann$options_$enhance = (_ann$options_ = ann.options_) == null ? void 0 : _ann$options_.enhancer) != null ? _ann$options_$enhance : deepEnhancer, \"ObservableObject.\" + name.toString(), false);\n adm.values_.set(name, observable);\n initializedObjects.add(target);\n }\n if (kind == \"accessor\") return {\n get: function get() {\n if (!initializedObjects.has(this)) initializeObservable(this, desc.get.call(this));\n return this[$mobx].getObservablePropValue_(name);\n },\n set: function set(value) {\n if (!initializedObjects.has(this)) initializeObservable(this, value);\n return this[$mobx].setObservablePropValue_(name, value);\n },\n init: function init(value) {\n if (!initializedObjects.has(this)) initializeObservable(this, value);\n return value;\n }\n };\n return;\n}\nfunction assertObservableDescriptor(adm, _ref, key, descriptor) {\n var annotationType_ = _ref.annotationType_;\n}\nvar AUTO = \"true\";\nvar autoAnnotation = /*#__PURE__*/ createAutoAnnotation();\nfunction createAutoAnnotation(options) {\n return {\n annotationType_: AUTO,\n options_: options,\n make_: make_$5,\n extend_: extend_$5,\n decorate_20223_: decorate_20223_$5\n };\n}\nfunction make_$5(adm, key, descriptor, source) {\n var _this$options_3, _this$options_4;\n // getter -> computed\n if (descriptor.get) return computed.make_(adm, key, descriptor, source);\n // lone setter -> action setter\n if (descriptor.set) {\n // TODO make action applicable to setter and delegate to action.make_\n var set = createAction(key.toString(), descriptor.set);\n // own\n if (source === adm.target_) return adm.defineProperty_(key, {\n configurable: globalState.safeDescriptors ? adm.isPlainObject_ : true,\n set: set\n }) === null ? 0 /* MakeResult.Cancel */ : 2 /* MakeResult.Continue */ ;\n // proto\n defineProperty(source, key, {\n configurable: true,\n set: set\n });\n return 2 /* MakeResult.Continue */ ;\n }\n // function on proto -> autoAction/flow\n if (source !== adm.target_ && typeof descriptor.value === \"function\") {\n var _this$options_2;\n if (isGenerator(descriptor.value)) {\n var _this$options_;\n var flowAnnotation = (_this$options_ = this.options_) != null && _this$options_.autoBind ? flow.bound : flow;\n return flowAnnotation.make_(adm, key, descriptor, source);\n }\n var actionAnnotation = (_this$options_2 = this.options_) != null && _this$options_2.autoBind ? autoAction.bound : autoAction;\n return actionAnnotation.make_(adm, key, descriptor, source);\n }\n // other -> observable\n // Copy props from proto as well, see test:\n // \"decorate should work with Object.create\"\n var observableAnnotation = ((_this$options_3 = this.options_) == null ? void 0 : _this$options_3.deep) === false ? observable.ref : observable;\n // if function respect autoBind option\n if (typeof descriptor.value === \"function\" && (_this$options_4 = this.options_) != null && _this$options_4.autoBind) {\n var _adm$proxy_;\n descriptor.value = descriptor.value.bind((_adm$proxy_ = adm.proxy_) != null ? _adm$proxy_ : adm.target_);\n }\n return observableAnnotation.make_(adm, key, descriptor, source);\n}\nfunction extend_$5(adm, key, descriptor, proxyTrap) {\n var _this$options_5, _this$options_6;\n // getter -> computed\n if (descriptor.get) return computed.extend_(adm, key, descriptor, proxyTrap);\n // lone setter -> action setter\n if (descriptor.set) // TODO make action applicable to setter and delegate to action.extend_\n return adm.defineProperty_(key, {\n configurable: globalState.safeDescriptors ? adm.isPlainObject_ : true,\n set: createAction(key.toString(), descriptor.set)\n }, proxyTrap);\n // other -> observable\n // if function respect autoBind option\n if (typeof descriptor.value === \"function\" && (_this$options_5 = this.options_) != null && _this$options_5.autoBind) {\n var _adm$proxy_2;\n descriptor.value = descriptor.value.bind((_adm$proxy_2 = adm.proxy_) != null ? _adm$proxy_2 : adm.target_);\n }\n var observableAnnotation = ((_this$options_6 = this.options_) == null ? void 0 : _this$options_6.deep) === false ? observable.ref : observable;\n return observableAnnotation.extend_(adm, key, descriptor, proxyTrap);\n}\nfunction decorate_20223_$5(desc, context) {\n die(\"'\" + this.annotationType_ + \"' cannot be used as a decorator\");\n}\nvar OBSERVABLE = \"observable\";\nvar OBSERVABLE_REF = \"observable.ref\";\nvar OBSERVABLE_SHALLOW = \"observable.shallow\";\nvar OBSERVABLE_STRUCT = \"observable.struct\";\n// Predefined bags of create observable options, to avoid allocating temporarily option objects\n// in the majority of cases\nvar defaultCreateObservableOptions = {\n deep: true,\n name: undefined,\n defaultDecorator: undefined,\n proxy: true\n};\nObject.freeze(defaultCreateObservableOptions);\nfunction asCreateObservableOptions(thing) {\n return thing || defaultCreateObservableOptions;\n}\nvar observableAnnotation = /*#__PURE__*/ createObservableAnnotation(OBSERVABLE);\nvar observableRefAnnotation = /*#__PURE__*/ createObservableAnnotation(OBSERVABLE_REF, {\n enhancer: referenceEnhancer\n});\nvar observableShallowAnnotation = /*#__PURE__*/ createObservableAnnotation(OBSERVABLE_SHALLOW, {\n enhancer: shallowEnhancer\n});\nvar observableStructAnnotation = /*#__PURE__*/ createObservableAnnotation(OBSERVABLE_STRUCT, {\n enhancer: refStructEnhancer\n});\nvar observableDecoratorAnnotation = /*#__PURE__*/ createDecoratorAnnotation(observableAnnotation);\nfunction getEnhancerFromOptions(options) {\n return options.deep === true ? deepEnhancer : options.deep === false ? referenceEnhancer : getEnhancerFromAnnotation(options.defaultDecorator);\n}\nfunction getAnnotationFromOptions(options) {\n var _options$defaultDecor;\n return options ? (_options$defaultDecor = options.defaultDecorator) != null ? _options$defaultDecor : createAutoAnnotation(options) : undefined;\n}\nfunction getEnhancerFromAnnotation(annotation) {\n var _annotation$options_$, _annotation$options_;\n return !annotation ? deepEnhancer : (_annotation$options_$ = (_annotation$options_ = annotation.options_) == null ? void 0 : _annotation$options_.enhancer) != null ? _annotation$options_$ : deepEnhancer;\n}\n/**\n * Turns an object, array or function into a reactive structure.\n * @param v the value which should become observable.\n */ function createObservable(v, arg2, arg3) {\n // @observable someProp; (2022.3 Decorators)\n if (is20223Decorator(arg2)) return observableAnnotation.decorate_20223_(v, arg2);\n // @observable someProp;\n if (isStringish(arg2)) {\n storeAnnotation(v, arg2, observableAnnotation);\n return;\n }\n // already observable - ignore\n if (isObservable(v)) return v;\n // plain object\n if (isPlainObject(v)) return observable.object(v, arg2, arg3);\n // Array\n if (Array.isArray(v)) return observable.array(v, arg2);\n // Map\n if (isES6Map(v)) return observable.map(v, arg2);\n // Set\n if (isES6Set(v)) return observable.set(v, arg2);\n // other object - ignore\n if (typeof v === \"object\" && v !== null) return v;\n // anything else\n return observable.box(v, arg2);\n}\nassign(createObservable, observableDecoratorAnnotation);\nvar observableFactories = {\n box: function box(value, options) {\n var o = asCreateObservableOptions(options);\n return new ObservableValue(value, getEnhancerFromOptions(o), o.name, true, o.equals);\n },\n array: function array(initialValues, options) {\n var o = asCreateObservableOptions(options);\n return (globalState.useProxies === false || o.proxy === false ? createLegacyArray : createObservableArray)(initialValues, getEnhancerFromOptions(o), o.name);\n },\n map: function map(initialValues, options) {\n var o = asCreateObservableOptions(options);\n return new ObservableMap(initialValues, getEnhancerFromOptions(o), o.name);\n },\n set: function set(initialValues, options) {\n var o = asCreateObservableOptions(options);\n return new ObservableSet(initialValues, getEnhancerFromOptions(o), o.name);\n },\n object: function object(props, decorators, options) {\n return initObservable(function() {\n return extendObservable(globalState.useProxies === false || (options == null ? void 0 : options.proxy) === false ? asObservableObject({}, options) : asDynamicObservableObject({}, options), props, decorators);\n });\n },\n ref: /*#__PURE__*/ createDecoratorAnnotation(observableRefAnnotation),\n shallow: /*#__PURE__*/ createDecoratorAnnotation(observableShallowAnnotation),\n deep: observableDecoratorAnnotation,\n struct: /*#__PURE__*/ createDecoratorAnnotation(observableStructAnnotation)\n};\n// eslint-disable-next-line\nvar observable = /*#__PURE__*/ assign(createObservable, observableFactories);\nvar COMPUTED = \"computed\";\nvar COMPUTED_STRUCT = \"computed.struct\";\nvar computedAnnotation = /*#__PURE__*/ createComputedAnnotation(COMPUTED);\nvar computedStructAnnotation = /*#__PURE__*/ createComputedAnnotation(COMPUTED_STRUCT, {\n equals: comparer.structural\n});\n/**\n * Decorator for class properties: @computed get value() { return expr; }.\n * For legacy purposes also invokable as ES5 observable created: `computed(() => expr)`;\n */ var computed = function computed(arg1, arg2) {\n if (is20223Decorator(arg2)) // @computed (2022.3 Decorators)\n return computedAnnotation.decorate_20223_(arg1, arg2);\n if (isStringish(arg2)) // @computed\n return storeAnnotation(arg1, arg2, computedAnnotation);\n if (isPlainObject(arg1)) // @computed({ options })\n return createDecoratorAnnotation(createComputedAnnotation(COMPUTED, arg1));\n var opts = isPlainObject(arg2) ? arg2 : {};\n opts.get = arg1;\n opts.name || (opts.name = arg1.name || \"\"); /* for generated name */ \n return new ComputedValue(opts);\n};\nObject.assign(computed, computedAnnotation);\ncomputed.struct = /*#__PURE__*/ createDecoratorAnnotation(computedStructAnnotation);\nvar _getDescriptor$config, _getDescriptor;\n// we don't use globalState for these in order to avoid possible issues with multiple\n// mobx versions\nvar currentActionId = 0;\nvar nextActionId = 1;\nvar isFunctionNameConfigurable = (_getDescriptor$config = (_getDescriptor = /*#__PURE__*/ getDescriptor(function() {}, \"name\")) == null ? void 0 : _getDescriptor.configurable) != null ? _getDescriptor$config : false;\n// we can safely recycle this object\nvar tmpNameDescriptor = {\n value: \"action\",\n configurable: true,\n writable: false,\n enumerable: false\n};\nfunction createAction(actionName, fn, autoAction, ref) {\n if (autoAction === void 0) autoAction = false;\n function res() {\n return executeAction(actionName, autoAction, fn, ref || this, arguments);\n }\n res.isMobxAction = true;\n res.toString = function() {\n return fn.toString();\n };\n if (isFunctionNameConfigurable) {\n tmpNameDescriptor.value = actionName;\n defineProperty(res, \"name\", tmpNameDescriptor);\n }\n return res;\n}\nfunction executeAction(actionName, canRunAsDerivation, fn, scope, args) {\n var runInfo = _startAction(actionName, canRunAsDerivation, scope, args);\n try {\n return fn.apply(scope, args);\n } catch (err) {\n runInfo.error_ = err;\n throw err;\n } finally{\n _endAction(runInfo);\n }\n}\nfunction _startAction(actionName, canRunAsDerivation, // true for autoAction\nscope, args) {\n var notifySpy_ = false;\n var startTime_ = 0;\n var flattenedArgs;\n var prevDerivation_ = globalState.trackingDerivation;\n var runAsAction = !canRunAsDerivation || !prevDerivation_;\n startBatch();\n var prevAllowStateChanges_ = globalState.allowStateChanges; // by default preserve previous allow\n if (runAsAction) {\n untrackedStart();\n prevAllowStateChanges_ = allowStateChangesStart(true);\n }\n var prevAllowStateReads_ = allowStateReadsStart(true);\n var runInfo = {\n runAsAction_: runAsAction,\n prevDerivation_: prevDerivation_,\n prevAllowStateChanges_: prevAllowStateChanges_,\n prevAllowStateReads_: prevAllowStateReads_,\n notifySpy_: notifySpy_,\n startTime_: startTime_,\n actionId_: nextActionId++,\n parentActionId_: currentActionId\n };\n currentActionId = runInfo.actionId_;\n return runInfo;\n}\nfunction _endAction(runInfo) {\n if (currentActionId !== runInfo.actionId_) die(30);\n currentActionId = runInfo.parentActionId_;\n if (runInfo.error_ !== undefined) globalState.suppressReactionErrors = true;\n allowStateChangesEnd(runInfo.prevAllowStateChanges_);\n allowStateReadsEnd(runInfo.prevAllowStateReads_);\n endBatch();\n if (runInfo.runAsAction_) untrackedEnd(runInfo.prevDerivation_);\n globalState.suppressReactionErrors = false;\n}\nfunction allowStateChanges(allowStateChanges, func) {\n var prev = allowStateChangesStart(allowStateChanges);\n try {\n return func();\n } finally{\n allowStateChangesEnd(prev);\n }\n}\nfunction allowStateChangesStart(allowStateChanges) {\n var prev = globalState.allowStateChanges;\n globalState.allowStateChanges = allowStateChanges;\n return prev;\n}\nfunction allowStateChangesEnd(prev) {\n globalState.allowStateChanges = prev;\n}\nvar CREATE = \"create\";\nvar ObservableValue = /*#__PURE__*/ function(_Atom) {\n function ObservableValue(value, enhancer, name_, notifySpy, equals) {\n var _this;\n if (name_ === void 0) name_ = \"ObservableValue\";\n if (notifySpy === void 0) notifySpy = true;\n if (equals === void 0) equals = comparer[\"default\"];\n _this = _Atom.call(this, name_) || this;\n _this.enhancer = void 0;\n _this.name_ = void 0;\n _this.equals = void 0;\n _this.hasUnreportedChange_ = false;\n _this.interceptors_ = void 0;\n _this.changeListeners_ = void 0;\n _this.value_ = void 0;\n _this.dehancer = void 0;\n _this.enhancer = enhancer;\n _this.name_ = name_;\n _this.equals = equals;\n _this.value_ = enhancer(value, undefined, name_);\n return _this;\n }\n _inheritsLoose(ObservableValue, _Atom);\n var _proto = ObservableValue.prototype;\n _proto.dehanceValue = function dehanceValue(value) {\n if (this.dehancer !== undefined) return this.dehancer(value);\n return value;\n };\n _proto.set = function set(newValue) {\n var oldValue = this.value_;\n newValue = this.prepareNewValue_(newValue);\n if (newValue !== globalState.UNCHANGED) {\n var notifySpy = isSpyEnabled();\n this.setNewValue_(newValue);\n }\n };\n _proto.prepareNewValue_ = function prepareNewValue_(newValue) {\n checkIfStateModificationsAreAllowed(this);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this,\n type: UPDATE,\n newValue: newValue\n });\n if (!change) return globalState.UNCHANGED;\n newValue = change.newValue;\n }\n // apply modifier\n newValue = this.enhancer(newValue, this.value_, this.name_);\n return this.equals(this.value_, newValue) ? globalState.UNCHANGED : newValue;\n };\n _proto.setNewValue_ = function setNewValue_(newValue) {\n var oldValue = this.value_;\n this.value_ = newValue;\n this.reportChanged();\n if (hasListeners(this)) notifyListeners(this, {\n type: UPDATE,\n object: this,\n newValue: newValue,\n oldValue: oldValue\n });\n };\n _proto.get = function get() {\n this.reportObserved();\n return this.dehanceValue(this.value_);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n if (fireImmediately) listener({\n observableKind: \"value\",\n debugObjectName: this.name_,\n object: this,\n type: UPDATE,\n newValue: this.value_,\n oldValue: undefined\n });\n return registerListener(this, listener);\n };\n _proto.raw = function raw() {\n // used by MST ot get undehanced value\n return this.value_;\n };\n _proto.toJSON = function toJSON() {\n return this.get();\n };\n _proto.toString = function toString() {\n return this.name_ + \"[\" + this.value_ + \"]\";\n };\n _proto.valueOf = function valueOf() {\n return toPrimitive(this.get());\n };\n _proto[Symbol.toPrimitive] = function() {\n return this.valueOf();\n };\n return ObservableValue;\n}(Atom);\nvar isObservableValue = /*#__PURE__*/ createInstanceofPredicate(\"ObservableValue\", ObservableValue);\n/**\n * A node in the state dependency root that observes other nodes, and can be observed itself.\n *\n * ComputedValue will remember the result of the computation for the duration of the batch, or\n * while being observed.\n *\n * During this time it will recompute only when one of its direct dependencies changed,\n * but only when it is being accessed with `ComputedValue.get()`.\n *\n * Implementation description:\n * 1. First time it's being accessed it will compute and remember result\n * give back remembered result until 2. happens\n * 2. First time any deep dependency change, propagate POSSIBLY_STALE to all observers, wait for 3.\n * 3. When it's being accessed, recompute if any shallow dependency changed.\n * if result changed: propagate STALE to all observers, that were POSSIBLY_STALE from the last step.\n * go to step 2. either way\n *\n * If at any point it's outside batch and it isn't observed: reset everything and go to 1.\n */ var ComputedValue = /*#__PURE__*/ function() {\n /**\n * Create a new computed value based on a function expression.\n *\n * The `name` property is for debug purposes only.\n *\n * The `equals` property specifies the comparer function to use to determine if a newly produced\n * value differs from the previous value. Two comparers are provided in the library; `defaultComparer`\n * compares based on identity comparison (===), and `structuralComparer` deeply compares the structure.\n * Structural comparison can be convenient if you always produce a new aggregated object and\n * don't want to notify observers if it is structurally the same.\n * This is useful for working with vectors, mouse coordinates etc.\n */ function ComputedValue(options) {\n this.dependenciesState_ = IDerivationState_.NOT_TRACKING_;\n this.observing_ = [];\n // nodes we are looking at. Our value depends on these nodes\n this.newObserving_ = null;\n // during tracking it's an array with new observed observers\n this.observers_ = new Set();\n this.runId_ = 0;\n this.lastAccessedBy_ = 0;\n this.lowestObserverState_ = IDerivationState_.UP_TO_DATE_;\n this.unboundDepsCount_ = 0;\n this.value_ = new CaughtException(null);\n this.name_ = void 0;\n this.triggeredBy_ = void 0;\n this.flags_ = 0;\n this.derivation = void 0;\n // N.B: unminified as it is used by MST\n this.setter_ = void 0;\n this.isTracing_ = TraceMode.NONE;\n this.scope_ = void 0;\n this.equals_ = void 0;\n this.requiresReaction_ = void 0;\n this.keepAlive_ = void 0;\n this.onBOL = void 0;\n this.onBUOL = void 0;\n if (!options.get) die(31);\n this.derivation = options.get;\n this.name_ = options.name || \"ComputedValue\";\n if (options.set) this.setter_ = createAction(\"ComputedValue-setter\", options.set);\n this.equals_ = options.equals || (options.compareStructural || options.struct ? comparer.structural : comparer[\"default\"]);\n this.scope_ = options.context;\n this.requiresReaction_ = options.requiresReaction;\n this.keepAlive_ = !!options.keepAlive;\n }\n var _proto = ComputedValue.prototype;\n _proto.onBecomeStale_ = function onBecomeStale_() {\n propagateMaybeChanged(this);\n };\n _proto.onBO = function onBO() {\n if (this.onBOL) this.onBOL.forEach(function(listener) {\n return listener();\n });\n };\n _proto.onBUO = function onBUO() {\n if (this.onBUOL) this.onBUOL.forEach(function(listener) {\n return listener();\n });\n };\n /**\n * Returns the current value of this computed value.\n * Will evaluate its computation first if needed.\n */ _proto.get = function get() {\n if (this.isComputing) die(32, this.name_, this.derivation);\n if (globalState.inBatch === 0 && // !globalState.trackingDerivatpion &&\n this.observers_.size === 0 && !this.keepAlive_) {\n if (shouldCompute(this)) {\n this.warnAboutUntrackedRead_();\n startBatch(); // See perf test 'computed memoization'\n this.value_ = this.computeValue_(false);\n endBatch();\n }\n } else {\n reportObserved(this);\n if (shouldCompute(this)) {\n var prevTrackingContext = globalState.trackingContext;\n if (this.keepAlive_ && !prevTrackingContext) globalState.trackingContext = this;\n if (this.trackAndCompute()) propagateChangeConfirmed(this);\n globalState.trackingContext = prevTrackingContext;\n }\n }\n var result = this.value_;\n if (isCaughtException(result)) throw result.cause;\n return result;\n };\n _proto.set = function set(value) {\n if (this.setter_) {\n if (this.isRunningSetter) die(33, this.name_);\n this.isRunningSetter = true;\n try {\n this.setter_.call(this.scope_, value);\n } finally{\n this.isRunningSetter = false;\n }\n } else die(34, this.name_);\n };\n _proto.trackAndCompute = function trackAndCompute() {\n // N.B: unminified as it is used by MST\n var oldValue = this.value_;\n var wasSuspended = /* see #1208 */ this.dependenciesState_ === IDerivationState_.NOT_TRACKING_;\n var newValue = this.computeValue_(true);\n var changed = wasSuspended || isCaughtException(oldValue) || isCaughtException(newValue) || !this.equals_(oldValue, newValue);\n if (changed) this.value_ = newValue;\n return changed;\n };\n _proto.computeValue_ = function computeValue_(track) {\n this.isComputing = true;\n // don't allow state changes during computation\n var prev = allowStateChangesStart(false);\n var res;\n if (track) res = trackDerivedFunction(this, this.derivation, this.scope_);\n else {\n if (globalState.disableErrorBoundaries === true) res = this.derivation.call(this.scope_);\n else try {\n res = this.derivation.call(this.scope_);\n } catch (e) {\n res = new CaughtException(e);\n }\n }\n allowStateChangesEnd(prev);\n this.isComputing = false;\n return res;\n };\n _proto.suspend_ = function suspend_() {\n if (!this.keepAlive_) {\n clearObserving(this);\n this.value_ = undefined; // don't hold on to computed value!\n }\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n var _this = this;\n var firstTime = true;\n var prevValue = undefined;\n return autorun(function() {\n // TODO: why is this in a different place than the spyReport() function? in all other observables it's called in the same place\n var newValue = _this.get();\n if (!firstTime || fireImmediately) {\n var prevU = untrackedStart();\n listener({\n observableKind: \"computed\",\n debugObjectName: _this.name_,\n type: UPDATE,\n object: _this,\n newValue: newValue,\n oldValue: prevValue\n });\n untrackedEnd(prevU);\n }\n firstTime = false;\n prevValue = newValue;\n });\n };\n _proto.warnAboutUntrackedRead_ = function warnAboutUntrackedRead_() {\n return;\n };\n _proto.toString = function toString() {\n return this.name_ + \"[\" + this.derivation.toString() + \"]\";\n };\n _proto.valueOf = function valueOf() {\n return toPrimitive(this.get());\n };\n _proto[Symbol.toPrimitive] = function() {\n return this.valueOf();\n };\n return _createClass(ComputedValue, [\n {\n key: \"isComputing\",\n get: function get() {\n return getFlag(this.flags_, ComputedValue.isComputingMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, ComputedValue.isComputingMask_, newValue);\n }\n },\n {\n key: \"isRunningSetter\",\n get: function get() {\n return getFlag(this.flags_, ComputedValue.isRunningSetterMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, ComputedValue.isRunningSetterMask_, newValue);\n }\n },\n {\n key: \"isBeingObserved\",\n get: function get() {\n return getFlag(this.flags_, ComputedValue.isBeingObservedMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, ComputedValue.isBeingObservedMask_, newValue);\n }\n },\n {\n key: \"isPendingUnobservation\",\n get: function get() {\n return getFlag(this.flags_, ComputedValue.isPendingUnobservationMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, ComputedValue.isPendingUnobservationMask_, newValue);\n }\n },\n {\n key: \"diffValue\",\n get: function get() {\n return getFlag(this.flags_, ComputedValue.diffValueMask_) ? 1 : 0;\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, ComputedValue.diffValueMask_, newValue === 1 ? true : false);\n }\n }\n ]);\n}();\nComputedValue.isComputingMask_ = 1;\nComputedValue.isRunningSetterMask_ = 2;\nComputedValue.isBeingObservedMask_ = 4;\nComputedValue.isPendingUnobservationMask_ = 8;\nComputedValue.diffValueMask_ = 16;\nvar isComputedValue = /*#__PURE__*/ createInstanceofPredicate(\"ComputedValue\", ComputedValue);\nvar IDerivationState_;\n(function(IDerivationState_) {\n // before being run or (outside batch and not being observed)\n // at this point derivation is not holding any data about dependency tree\n IDerivationState_[IDerivationState_[\"NOT_TRACKING_\"] = -1] = \"NOT_TRACKING_\";\n // no shallow dependency changed since last computation\n // won't recalculate derivation\n // this is what makes mobx fast\n IDerivationState_[IDerivationState_[\"UP_TO_DATE_\"] = 0] = \"UP_TO_DATE_\";\n // some deep dependency changed, but don't know if shallow dependency changed\n // will require to check first if UP_TO_DATE or POSSIBLY_STALE\n // currently only ComputedValue will propagate POSSIBLY_STALE\n //\n // having this state is second big optimization:\n // don't have to recompute on every dependency change, but only when it's needed\n IDerivationState_[IDerivationState_[\"POSSIBLY_STALE_\"] = 1] = \"POSSIBLY_STALE_\";\n // A shallow dependency has changed since last computation and the derivation\n // will need to recompute when it's needed next.\n IDerivationState_[IDerivationState_[\"STALE_\"] = 2] = \"STALE_\";\n})(IDerivationState_ || (IDerivationState_ = {}));\nvar TraceMode;\n(function(TraceMode) {\n TraceMode[TraceMode[\"NONE\"] = 0] = \"NONE\";\n TraceMode[TraceMode[\"LOG\"] = 1] = \"LOG\";\n TraceMode[TraceMode[\"BREAK\"] = 2] = \"BREAK\";\n})(TraceMode || (TraceMode = {}));\nvar CaughtException = function CaughtException(cause) {\n this.cause = void 0;\n this.cause = cause;\n// Empty\n};\nfunction isCaughtException(e) {\n return e instanceof CaughtException;\n}\n/**\n * Finds out whether any dependency of the derivation has actually changed.\n * If dependenciesState is 1 then it will recalculate dependencies,\n * if any dependency changed it will propagate it by changing dependenciesState to 2.\n *\n * By iterating over the dependencies in the same order that they were reported and\n * stopping on the first change, all the recalculations are only called for ComputedValues\n * that will be tracked by derivation. That is because we assume that if the first x\n * dependencies of the derivation doesn't change then the derivation should run the same way\n * up until accessing x-th dependency.\n */ function shouldCompute(derivation) {\n switch(derivation.dependenciesState_){\n case IDerivationState_.UP_TO_DATE_:\n return false;\n case IDerivationState_.NOT_TRACKING_:\n case IDerivationState_.STALE_:\n return true;\n case IDerivationState_.POSSIBLY_STALE_:\n // state propagation can occur outside of action/reactive context #2195\n var prevAllowStateReads = allowStateReadsStart(true);\n var prevUntracked = untrackedStart(); // no need for those computeds to be reported, they will be picked up in trackDerivedFunction.\n var obs = derivation.observing_, l = obs.length;\n for(var i = 0; i < l; i++){\n var obj = obs[i];\n if (isComputedValue(obj)) {\n if (globalState.disableErrorBoundaries) obj.get();\n else try {\n obj.get();\n } catch (e) {\n // we are not interested in the value *or* exception at this moment, but if there is one, notify all\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return true;\n }\n // if ComputedValue `obj` actually changed it will be computed and propagated to its observers.\n // and `derivation` is an observer of `obj`\n // invariantShouldCompute(derivation)\n if (derivation.dependenciesState_ === IDerivationState_.STALE_) {\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return true;\n }\n }\n }\n changeDependenciesStateTo0(derivation);\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return false;\n }\n}\nfunction isComputingDerivation() {\n return globalState.trackingDerivation !== null; // filter out actions inside computations\n}\nfunction checkIfStateModificationsAreAllowed(atom) {\n var hasObservers;\n return;\n}\nfunction checkIfStateReadsAreAllowed(observable) {}\n/**\n * Executes the provided function `f` and tracks which observables are being accessed.\n * The tracking information is stored on the `derivation` object and the derivation is registered\n * as observer of any of the accessed observables.\n */ function trackDerivedFunction(derivation, f, context) {\n var prevAllowStateReads = allowStateReadsStart(true);\n changeDependenciesStateTo0(derivation);\n // Preallocate array; will be trimmed by bindDependencies.\n derivation.newObserving_ = new Array(// Reserve constant space for initial dependencies, dynamic space otherwise.\n // See https://github.com/mobxjs/mobx/pull/3833\n derivation.runId_ === 0 ? 100 : derivation.observing_.length);\n derivation.unboundDepsCount_ = 0;\n derivation.runId_ = ++globalState.runId;\n var prevTracking = globalState.trackingDerivation;\n globalState.trackingDerivation = derivation;\n globalState.inBatch++;\n var result;\n if (globalState.disableErrorBoundaries === true) result = f.call(context);\n else try {\n result = f.call(context);\n } catch (e) {\n result = new CaughtException(e);\n }\n globalState.inBatch--;\n globalState.trackingDerivation = prevTracking;\n bindDependencies(derivation);\n warnAboutDerivationWithoutDependencies(derivation);\n allowStateReadsEnd(prevAllowStateReads);\n return result;\n}\nfunction warnAboutDerivationWithoutDependencies(derivation) {\n return;\n}\n/**\n * diffs newObserving with observing.\n * update observing to be newObserving with unique observables\n * notify observers that become observed/unobserved\n */ function bindDependencies(derivation) {\n // invariant(derivation.dependenciesState !== IDerivationState.NOT_TRACKING, \"INTERNAL ERROR bindDependencies expects derivation.dependenciesState !== -1\");\n var prevObserving = derivation.observing_;\n var observing = derivation.observing_ = derivation.newObserving_;\n var lowestNewObservingDerivationState = IDerivationState_.UP_TO_DATE_;\n // Go through all new observables and check diffValue: (this list can contain duplicates):\n // 0: first occurrence, change to 1 and keep it\n // 1: extra occurrence, drop it\n var i0 = 0, l = derivation.unboundDepsCount_;\n for(var i = 0; i < l; i++){\n var dep = observing[i];\n if (dep.diffValue === 0) {\n dep.diffValue = 1;\n if (i0 !== i) observing[i0] = dep;\n i0++;\n }\n // Upcast is 'safe' here, because if dep is IObservable, `dependenciesState` will be undefined,\n // not hitting the condition\n if (dep.dependenciesState_ > lowestNewObservingDerivationState) lowestNewObservingDerivationState = dep.dependenciesState_;\n }\n observing.length = i0;\n derivation.newObserving_ = null; // newObserving shouldn't be needed outside tracking (statement moved down to work around FF bug, see #614)\n // Go through all old observables and check diffValue: (it is unique after last bindDependencies)\n // 0: it's not in new observables, unobserve it\n // 1: it keeps being observed, don't want to notify it. change to 0\n l = prevObserving.length;\n while(l--){\n var _dep = prevObserving[l];\n if (_dep.diffValue === 0) removeObserver(_dep, derivation);\n _dep.diffValue = 0;\n }\n // Go through all new observables and check diffValue: (now it should be unique)\n // 0: it was set to 0 in last loop. don't need to do anything.\n // 1: it wasn't observed, let's observe it. set back to 0\n while(i0--){\n var _dep2 = observing[i0];\n if (_dep2.diffValue === 1) {\n _dep2.diffValue = 0;\n addObserver(_dep2, derivation);\n }\n }\n // Some new observed derivations may become stale during this derivation computation\n // so they have had no chance to propagate staleness (#916)\n if (lowestNewObservingDerivationState !== IDerivationState_.UP_TO_DATE_) {\n derivation.dependenciesState_ = lowestNewObservingDerivationState;\n derivation.onBecomeStale_();\n }\n}\nfunction clearObserving(derivation) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR clearObserving should be called only inside batch\");\n var obs = derivation.observing_;\n derivation.observing_ = [];\n var i = obs.length;\n while(i--)removeObserver(obs[i], derivation);\n derivation.dependenciesState_ = IDerivationState_.NOT_TRACKING_;\n}\nfunction untracked(action) {\n var prev = untrackedStart();\n try {\n return action();\n } finally{\n untrackedEnd(prev);\n }\n}\nfunction untrackedStart() {\n var prev = globalState.trackingDerivation;\n globalState.trackingDerivation = null;\n return prev;\n}\nfunction untrackedEnd(prev) {\n globalState.trackingDerivation = prev;\n}\nfunction allowStateReadsStart(allowStateReads) {\n var prev = globalState.allowStateReads;\n globalState.allowStateReads = allowStateReads;\n return prev;\n}\nfunction allowStateReadsEnd(prev) {\n globalState.allowStateReads = prev;\n}\n/**\n * needed to keep `lowestObserverState` correct. when changing from (2 or 1) to 0\n *\n */ function changeDependenciesStateTo0(derivation) {\n if (derivation.dependenciesState_ === IDerivationState_.UP_TO_DATE_) return;\n derivation.dependenciesState_ = IDerivationState_.UP_TO_DATE_;\n var obs = derivation.observing_;\n var i = obs.length;\n while(i--)obs[i].lowestObserverState_ = IDerivationState_.UP_TO_DATE_;\n}\n/**\n * These values will persist if global state is reset\n */ var persistentKeys = [\n \"mobxGuid\",\n \"spyListeners\",\n \"enforceActions\",\n \"computedRequiresReaction\",\n \"reactionRequiresObservable\",\n \"observableRequiresReaction\",\n \"allowStateReads\",\n \"disableErrorBoundaries\",\n \"runId\",\n \"UNCHANGED\",\n \"useProxies\"\n];\nvar MobXGlobals = function MobXGlobals() {\n /**\n * MobXGlobals version.\n * MobX compatiblity with other versions loaded in memory as long as this version matches.\n * It indicates that the global state still stores similar information\n *\n * N.B: this version is unrelated to the package version of MobX, and is only the version of the\n * internal state storage of MobX, and can be the same across many different package versions\n */ this.version = 6;\n /**\n * globally unique token to signal unchanged\n */ this.UNCHANGED = {};\n /**\n * Currently running derivation\n */ this.trackingDerivation = null;\n /**\n * Currently running reaction. This determines if we currently have a reactive context.\n * (Tracking derivation is also set for temporal tracking of computed values inside actions,\n * but trackingReaction can only be set by a form of Reaction)\n */ this.trackingContext = null;\n /**\n * Each time a derivation is tracked, it is assigned a unique run-id\n */ this.runId = 0;\n /**\n * 'guid' for general purpose. Will be persisted amongst resets.\n */ this.mobxGuid = 0;\n /**\n * Are we in a batch block? (and how many of them)\n */ this.inBatch = 0;\n /**\n * Observables that don't have observers anymore, and are about to be\n * suspended, unless somebody else accesses it in the same batch\n *\n * @type {IObservable[]}\n */ this.pendingUnobservations = [];\n /**\n * List of scheduled, not yet executed, reactions.\n */ this.pendingReactions = [];\n /**\n * Are we currently processing reactions?\n */ this.isRunningReactions = false;\n /**\n * Is it allowed to change observables at this point?\n * In general, MobX doesn't allow that when running computations and React.render.\n * To ensure that those functions stay pure.\n */ this.allowStateChanges = false;\n /**\n * Is it allowed to read observables at this point?\n * Used to hold the state needed for `observableRequiresReaction`\n */ this.allowStateReads = true;\n /**\n * If strict mode is enabled, state changes are by default not allowed\n */ this.enforceActions = true;\n /**\n * Spy callbacks\n */ this.spyListeners = [];\n /**\n * Globally attached error handlers that react specifically to errors in reactions\n */ this.globalReactionErrorHandlers = [];\n /**\n * Warn if computed values are accessed outside a reactive context\n */ this.computedRequiresReaction = false;\n /**\n * (Experimental)\n * Warn if you try to create to derivation / reactive context without accessing any observable.\n */ this.reactionRequiresObservable = false;\n /**\n * (Experimental)\n * Warn if observables are accessed outside a reactive context\n */ this.observableRequiresReaction = false;\n /*\n * Don't catch and rethrow exceptions. This is useful for inspecting the state of\n * the stack when an exception occurs while debugging.\n */ this.disableErrorBoundaries = false;\n /*\n * If true, we are already handling an exception in an action. Any errors in reactions should be suppressed, as\n * they are not the cause, see: https://github.com/mobxjs/mobx/issues/1836\n */ this.suppressReactionErrors = false;\n this.useProxies = true;\n /*\n * print warnings about code that would fail if proxies weren't available\n */ this.verifyProxies = false;\n /**\n * False forces all object's descriptors to\n * writable: true\n * configurable: true\n */ this.safeDescriptors = true;\n};\nvar canMergeGlobalState = true;\nvar isolateCalled = false;\nvar globalState = /*#__PURE__*/ function() {\n var global1 = /*#__PURE__*/ getGlobal();\n if (global1.__mobxInstanceCount > 0 && !global1.__mobxGlobals) canMergeGlobalState = false;\n if (global1.__mobxGlobals && global1.__mobxGlobals.version !== new MobXGlobals().version) canMergeGlobalState = false;\n if (!canMergeGlobalState) {\n // Because this is a IIFE we need to let isolateCalled a chance to change\n // so we run it after the event loop completed at least 1 iteration\n setTimeout(function() {\n if (!isolateCalled) die(35);\n }, 1);\n return new MobXGlobals();\n } else if (global1.__mobxGlobals) {\n global1.__mobxInstanceCount += 1;\n if (!global1.__mobxGlobals.UNCHANGED) global1.__mobxGlobals.UNCHANGED = {};\n // make merge backward compatible\n return global1.__mobxGlobals;\n } else {\n global1.__mobxInstanceCount = 1;\n return global1.__mobxGlobals = /*#__PURE__*/ new MobXGlobals();\n }\n}();\nfunction isolateGlobalState() {\n if (globalState.pendingReactions.length || globalState.inBatch || globalState.isRunningReactions) die(36);\n isolateCalled = true;\n if (canMergeGlobalState) {\n var global1 = getGlobal();\n if (--global1.__mobxInstanceCount === 0) global1.__mobxGlobals = undefined;\n globalState = new MobXGlobals();\n }\n}\nfunction getGlobalState() {\n return globalState;\n}\n/**\n * For testing purposes only; this will break the internal state of existing observables,\n * but can be used to get back at a stable state after throwing errors\n */ function resetGlobalState() {\n var defaultGlobals = new MobXGlobals();\n for(var key in defaultGlobals)if (persistentKeys.indexOf(key) === -1) globalState[key] = defaultGlobals[key];\n globalState.allowStateChanges = !globalState.enforceActions;\n}\nfunction hasObservers(observable) {\n return observable.observers_ && observable.observers_.size > 0;\n}\nfunction getObservers(observable) {\n return observable.observers_;\n}\n// function invariantObservers(observable: IObservable) {\n// const list = observable.observers\n// const map = observable.observersIndexes\n// const l = list.length\n// for (let i = 0; i < l; i++) {\n// const id = list[i].__mapid\n// if (i) {\n// invariant(map[id] === i, \"INTERNAL ERROR maps derivation.__mapid to index in list\") // for performance\n// } else {\n// invariant(!(id in map), \"INTERNAL ERROR observer on index 0 shouldn't be held in map.\") // for performance\n// }\n// }\n// invariant(\n// list.length === 0 || Object.keys(map).length === list.length - 1,\n// \"INTERNAL ERROR there is no junk in map\"\n// )\n// }\nfunction addObserver(observable, node) {\n // invariant(node.dependenciesState !== -1, \"INTERNAL ERROR, can add only dependenciesState !== -1\");\n // invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR add already added node\");\n // invariantObservers(observable);\n observable.observers_.add(node);\n if (observable.lowestObserverState_ > node.dependenciesState_) observable.lowestObserverState_ = node.dependenciesState_;\n// invariantObservers(observable);\n// invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR didn't add node\");\n}\nfunction removeObserver(observable, node) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR, remove should be called only inside batch\");\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR remove already removed node\");\n // invariantObservers(observable);\n observable.observers_[\"delete\"](node);\n if (observable.observers_.size === 0) // deleting last observer\n queueForUnobservation(observable);\n// invariantObservers(observable);\n// invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR remove already removed node2\");\n}\nfunction queueForUnobservation(observable) {\n if (observable.isPendingUnobservation === false) {\n // invariant(observable._observers.length === 0, \"INTERNAL ERROR, should only queue for unobservation unobserved observables\");\n observable.isPendingUnobservation = true;\n globalState.pendingUnobservations.push(observable);\n }\n}\n/**\n * Batch starts a transaction, at least for purposes of memoizing ComputedValues when nothing else does.\n * During a batch `onBecomeUnobserved` will be called at most once per observable.\n * Avoids unnecessary recalculations.\n */ function startBatch() {\n globalState.inBatch++;\n}\nfunction endBatch() {\n if (--globalState.inBatch === 0) {\n runReactions();\n // the batch is actually about to finish, all unobserving should happen here.\n var list = globalState.pendingUnobservations;\n for(var i = 0; i < list.length; i++){\n var observable = list[i];\n observable.isPendingUnobservation = false;\n if (observable.observers_.size === 0) {\n if (observable.isBeingObserved) {\n // if this observable had reactive observers, trigger the hooks\n observable.isBeingObserved = false;\n observable.onBUO();\n }\n if (observable instanceof ComputedValue) // computed values are automatically teared down when the last observer leaves\n // this process happens recursively, this computed might be the last observabe of another, etc..\n observable.suspend_();\n }\n }\n globalState.pendingUnobservations = [];\n }\n}\nfunction reportObserved(observable) {\n checkIfStateReadsAreAllowed(observable);\n var derivation = globalState.trackingDerivation;\n if (derivation !== null) {\n /**\n * Simple optimization, give each derivation run an unique id (runId)\n * Check if last time this observable was accessed the same runId is used\n * if this is the case, the relation is already known\n */ if (derivation.runId_ !== observable.lastAccessedBy_) {\n observable.lastAccessedBy_ = derivation.runId_;\n // Tried storing newObserving, or observing, or both as Set, but performance didn't come close...\n derivation.newObserving_[derivation.unboundDepsCount_++] = observable;\n if (!observable.isBeingObserved && globalState.trackingContext) {\n observable.isBeingObserved = true;\n observable.onBO();\n }\n }\n return observable.isBeingObserved;\n } else if (observable.observers_.size === 0 && globalState.inBatch > 0) queueForUnobservation(observable);\n return false;\n}\n// function invariantLOS(observable: IObservable, msg: string) {\n// // it's expensive so better not run it in produciton. but temporarily helpful for testing\n// const min = getObservers(observable).reduce((a, b) => Math.min(a, b.dependenciesState), 2)\n// if (min >= observable.lowestObserverState) return // <- the only assumption about `lowestObserverState`\n// throw new Error(\n// \"lowestObserverState is wrong for \" +\n// msg +\n// \" because \" +\n// min +\n// \" < \" +\n// observable.lowestObserverState\n// )\n// }\n/**\n * NOTE: current propagation mechanism will in case of self reruning autoruns behave unexpectedly\n * It will propagate changes to observers from previous run\n * It's hard or maybe impossible (with reasonable perf) to get it right with current approach\n * Hopefully self reruning autoruns aren't a feature people should depend on\n * Also most basic use cases should be ok\n */ // Called by Atom when its value changes\nfunction propagateChanged(observable) {\n // invariantLOS(observable, \"changed start\");\n if (observable.lowestObserverState_ === IDerivationState_.STALE_) return;\n observable.lowestObserverState_ = IDerivationState_.STALE_;\n // Ideally we use for..of here, but the downcompiled version is really slow...\n observable.observers_.forEach(function(d) {\n if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_) d.onBecomeStale_();\n d.dependenciesState_ = IDerivationState_.STALE_;\n });\n// invariantLOS(observable, \"changed end\");\n}\n// Called by ComputedValue when it recalculate and its value changed\nfunction propagateChangeConfirmed(observable) {\n // invariantLOS(observable, \"confirmed start\");\n if (observable.lowestObserverState_ === IDerivationState_.STALE_) return;\n observable.lowestObserverState_ = IDerivationState_.STALE_;\n observable.observers_.forEach(function(d) {\n if (d.dependenciesState_ === IDerivationState_.POSSIBLY_STALE_) d.dependenciesState_ = IDerivationState_.STALE_;\n else if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_ // this happens during computing of `d`, just keep lowestObserverState up to date.\n ) observable.lowestObserverState_ = IDerivationState_.UP_TO_DATE_;\n });\n// invariantLOS(observable, \"confirmed end\");\n}\n// Used by computed when its dependency changed, but we don't wan't to immediately recompute.\nfunction propagateMaybeChanged(observable) {\n // invariantLOS(observable, \"maybe start\");\n if (observable.lowestObserverState_ !== IDerivationState_.UP_TO_DATE_) return;\n observable.lowestObserverState_ = IDerivationState_.POSSIBLY_STALE_;\n observable.observers_.forEach(function(d) {\n if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n d.dependenciesState_ = IDerivationState_.POSSIBLY_STALE_;\n d.onBecomeStale_();\n }\n });\n// invariantLOS(observable, \"maybe end\");\n}\nfunction logTraceInfo(derivation, observable) {\n console.log(\"[mobx.trace] '\" + derivation.name_ + \"' is invalidated due to a change in: '\" + observable.name_ + \"'\");\n if (derivation.isTracing_ === TraceMode.BREAK) {\n var lines = [];\n printDepTree(getDependencyTree(derivation), lines, 1);\n // prettier-ignore\n new Function(\"debugger;\\n/*\\nTracing '\" + derivation.name_ + \"'\\n\\nYou are entering this break point because derivation '\" + derivation.name_ + \"' is being traced and '\" + observable.name_ + \"' is now forcing it to update.\\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\\n\\n\" + (derivation instanceof ComputedValue ? derivation.derivation.toString().replace(/[*]\\//g, \"/\") : \"\") + \"\\n\\nThe dependencies for this derivation are:\\n\\n\" + lines.join(\"\\n\") + \"\\n*/\\n \")();\n }\n}\nfunction printDepTree(tree, lines, depth) {\n if (lines.length >= 1000) {\n lines.push(\"(and many more)\");\n return;\n }\n lines.push(\"\" + \"\\t\".repeat(depth - 1) + tree.name);\n if (tree.dependencies) tree.dependencies.forEach(function(child) {\n return printDepTree(child, lines, depth + 1);\n });\n}\nvar Reaction = /*#__PURE__*/ function() {\n function Reaction(name_, onInvalidate_, errorHandler_, requiresObservable_) {\n if (name_ === void 0) name_ = \"Reaction\";\n this.name_ = void 0;\n this.onInvalidate_ = void 0;\n this.errorHandler_ = void 0;\n this.requiresObservable_ = void 0;\n this.observing_ = [];\n // nodes we are looking at. Our value depends on these nodes\n this.newObserving_ = [];\n this.dependenciesState_ = IDerivationState_.NOT_TRACKING_;\n this.runId_ = 0;\n this.unboundDepsCount_ = 0;\n this.flags_ = 0;\n this.isTracing_ = TraceMode.NONE;\n this.name_ = name_;\n this.onInvalidate_ = onInvalidate_;\n this.errorHandler_ = errorHandler_;\n this.requiresObservable_ = requiresObservable_;\n }\n var _proto = Reaction.prototype;\n _proto.onBecomeStale_ = function onBecomeStale_() {\n this.schedule_();\n };\n _proto.schedule_ = function schedule_() {\n if (!this.isScheduled) {\n this.isScheduled = true;\n globalState.pendingReactions.push(this);\n runReactions();\n }\n } /**\n * internal, use schedule() if you intend to kick off a reaction\n */ ;\n _proto.runReaction_ = function runReaction_() {\n if (!this.isDisposed) {\n startBatch();\n this.isScheduled = false;\n var prev = globalState.trackingContext;\n globalState.trackingContext = this;\n if (shouldCompute(this)) {\n this.isTrackPending = true;\n try {\n this.onInvalidate_();\n } catch (e) {\n this.reportExceptionInDerivation_(e);\n }\n }\n globalState.trackingContext = prev;\n endBatch();\n }\n };\n _proto.track = function track(fn) {\n if (this.isDisposed) return;\n startBatch();\n var notify = isSpyEnabled();\n var startTime;\n this.isRunning = true;\n var prevReaction = globalState.trackingContext; // reactions could create reactions...\n globalState.trackingContext = this;\n var result = trackDerivedFunction(this, fn, undefined);\n globalState.trackingContext = prevReaction;\n this.isRunning = false;\n this.isTrackPending = false;\n if (this.isDisposed) // disposed during last run. Clean up everything that was bound after the dispose call.\n clearObserving(this);\n if (isCaughtException(result)) this.reportExceptionInDerivation_(result.cause);\n endBatch();\n };\n _proto.reportExceptionInDerivation_ = function reportExceptionInDerivation_(error) {\n var _this = this;\n if (this.errorHandler_) {\n this.errorHandler_(error, this);\n return;\n }\n if (globalState.disableErrorBoundaries) throw error;\n var message = \"[mobx] uncaught error in '\" + this + \"'\";\n if (!globalState.suppressReactionErrors) console.error(message, error);\n // prettier-ignore\n globalState.globalReactionErrorHandlers.forEach(function(f) {\n return f(error, _this);\n });\n };\n _proto.dispose = function dispose() {\n if (!this.isDisposed) {\n this.isDisposed = true;\n if (!this.isRunning) {\n // if disposed while running, clean up later. Maybe not optimal, but rare case\n startBatch();\n clearObserving(this);\n endBatch();\n }\n }\n };\n _proto.getDisposer_ = function getDisposer_(abortSignal) {\n var _this2 = this;\n var dispose = function dispose() {\n _this2.dispose();\n abortSignal == null || abortSignal.removeEventListener == null || abortSignal.removeEventListener(\"abort\", dispose);\n };\n abortSignal == null || abortSignal.addEventListener == null || abortSignal.addEventListener(\"abort\", dispose);\n dispose[$mobx] = this;\n return dispose;\n };\n _proto.toString = function toString() {\n return \"Reaction[\" + this.name_ + \"]\";\n };\n _proto.trace = function trace$1(enterBreakPoint) {\n if (enterBreakPoint === void 0) enterBreakPoint = false;\n trace(this, enterBreakPoint);\n };\n return _createClass(Reaction, [\n {\n key: \"isDisposed\",\n get: function get() {\n return getFlag(this.flags_, Reaction.isDisposedMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, Reaction.isDisposedMask_, newValue);\n }\n },\n {\n key: \"isScheduled\",\n get: function get() {\n return getFlag(this.flags_, Reaction.isScheduledMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, Reaction.isScheduledMask_, newValue);\n }\n },\n {\n key: \"isTrackPending\",\n get: function get() {\n return getFlag(this.flags_, Reaction.isTrackPendingMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, Reaction.isTrackPendingMask_, newValue);\n }\n },\n {\n key: \"isRunning\",\n get: function get() {\n return getFlag(this.flags_, Reaction.isRunningMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, Reaction.isRunningMask_, newValue);\n }\n },\n {\n key: \"diffValue\",\n get: function get() {\n return getFlag(this.flags_, Reaction.diffValueMask_) ? 1 : 0;\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, Reaction.diffValueMask_, newValue === 1 ? true : false);\n }\n }\n ]);\n}();\nReaction.isDisposedMask_ = 1;\nReaction.isScheduledMask_ = 2;\nReaction.isTrackPendingMask_ = 4;\nReaction.isRunningMask_ = 8;\nReaction.diffValueMask_ = 16;\nfunction onReactionError(handler) {\n globalState.globalReactionErrorHandlers.push(handler);\n return function() {\n var idx = globalState.globalReactionErrorHandlers.indexOf(handler);\n if (idx >= 0) globalState.globalReactionErrorHandlers.splice(idx, 1);\n };\n}\n/**\n * Magic number alert!\n * Defines within how many times a reaction is allowed to re-trigger itself\n * until it is assumed that this is gonna be a never ending loop...\n */ var MAX_REACTION_ITERATIONS = 100;\nvar reactionScheduler = function reactionScheduler(f) {\n return f();\n};\nfunction runReactions() {\n // Trampolining, if runReactions are already running, new reactions will be picked up\n if (globalState.inBatch > 0 || globalState.isRunningReactions) return;\n reactionScheduler(runReactionsHelper);\n}\nfunction runReactionsHelper() {\n globalState.isRunningReactions = true;\n var allReactions = globalState.pendingReactions;\n var iterations = 0;\n // While running reactions, new reactions might be triggered.\n // Hence we work with two variables and check whether\n // we converge to no remaining reactions after a while.\n while(allReactions.length > 0){\n if (++iterations === MAX_REACTION_ITERATIONS) {\n console.error(\"[mobx] cycle in reaction: \" + allReactions[0]);\n allReactions.splice(0); // clear reactions\n }\n var remainingReactions = allReactions.splice(0);\n for(var i = 0, l = remainingReactions.length; i < l; i++)remainingReactions[i].runReaction_();\n }\n globalState.isRunningReactions = false;\n}\nvar isReaction = /*#__PURE__*/ createInstanceofPredicate(\"Reaction\", Reaction);\nfunction setReactionScheduler(fn) {\n var baseScheduler = reactionScheduler;\n reactionScheduler = function reactionScheduler(f) {\n return fn(function() {\n return baseScheduler(f);\n });\n };\n}\nfunction isSpyEnabled() {\n return false;\n}\nfunction spyReport(event) {\n var listeners, i, l;\n return;\n}\nfunction spyReportStart(event) {\n var change;\n return;\n}\nvar END_EVENT = {\n type: \"report-end\",\n spyReportEnd: true\n};\nfunction spyReportEnd(change) {\n return;\n}\nfunction spy(listener) {\n console.warn(\"[mobx.spy] Is a no-op in production builds\");\n return function() {};\n}\nvar ACTION = \"action\";\nvar ACTION_BOUND = \"action.bound\";\nvar AUTOACTION = \"autoAction\";\nvar AUTOACTION_BOUND = \"autoAction.bound\";\nvar DEFAULT_ACTION_NAME = \"<unnamed action>\";\nvar actionAnnotation = /*#__PURE__*/ createActionAnnotation(ACTION);\nvar actionBoundAnnotation = /*#__PURE__*/ createActionAnnotation(ACTION_BOUND, {\n bound: true\n});\nvar autoActionAnnotation = /*#__PURE__*/ createActionAnnotation(AUTOACTION, {\n autoAction: true\n});\nvar autoActionBoundAnnotation = /*#__PURE__*/ createActionAnnotation(AUTOACTION_BOUND, {\n autoAction: true,\n bound: true\n});\nfunction createActionFactory(autoAction) {\n var res = function action(arg1, arg2) {\n // action(fn() {})\n if (isFunction(arg1)) return createAction(arg1.name || DEFAULT_ACTION_NAME, arg1, autoAction);\n // action(\"name\", fn() {})\n if (isFunction(arg2)) return createAction(arg1, arg2, autoAction);\n // @action (2022.3 Decorators)\n if (is20223Decorator(arg2)) return (autoAction ? autoActionAnnotation : actionAnnotation).decorate_20223_(arg1, arg2);\n // @action\n if (isStringish(arg2)) return storeAnnotation(arg1, arg2, autoAction ? autoActionAnnotation : actionAnnotation);\n // action(\"name\") & @action(\"name\")\n if (isStringish(arg1)) return createDecoratorAnnotation(createActionAnnotation(autoAction ? AUTOACTION : ACTION, {\n name: arg1,\n autoAction: autoAction\n }));\n };\n return res;\n}\nvar action = /*#__PURE__*/ createActionFactory(false);\nObject.assign(action, actionAnnotation);\nvar autoAction = /*#__PURE__*/ createActionFactory(true);\nObject.assign(autoAction, autoActionAnnotation);\naction.bound = /*#__PURE__*/ createDecoratorAnnotation(actionBoundAnnotation);\nautoAction.bound = /*#__PURE__*/ createDecoratorAnnotation(autoActionBoundAnnotation);\nfunction runInAction(fn) {\n return executeAction(fn.name || DEFAULT_ACTION_NAME, false, fn, this, undefined);\n}\nfunction isAction(thing) {\n return isFunction(thing) && thing.isMobxAction === true;\n}\n/**\n * Creates a named reactive view and keeps it alive, so that the view is always\n * updated if one of the dependencies changes, even when the view is not further used by something else.\n * @param view The reactive view\n * @returns disposer function, which can be used to stop the view from being updated in the future.\n */ function autorun(view, opts) {\n var _opts$name, _opts, _opts2, _opts3;\n if (opts === void 0) opts = EMPTY_OBJECT;\n var name = (_opts$name = (_opts = opts) == null ? void 0 : _opts.name) != null ? _opts$name : \"Autorun\";\n var runSync = !opts.scheduler && !opts.delay;\n var reaction;\n if (runSync) // normal autorun\n reaction = new Reaction(name, function() {\n this.track(reactionRunner);\n }, opts.onError, opts.requiresObservable);\n else {\n var scheduler = createSchedulerFromOptions(opts);\n // debounced autorun\n var isScheduled = false;\n reaction = new Reaction(name, function() {\n if (!isScheduled) {\n isScheduled = true;\n scheduler(function() {\n isScheduled = false;\n if (!reaction.isDisposed) reaction.track(reactionRunner);\n });\n }\n }, opts.onError, opts.requiresObservable);\n }\n function reactionRunner() {\n view(reaction);\n }\n if (!((_opts2 = opts) != null && (_opts2 = _opts2.signal) != null && _opts2.aborted)) reaction.schedule_();\n return reaction.getDisposer_((_opts3 = opts) == null ? void 0 : _opts3.signal);\n}\nvar run = function run(f) {\n return f();\n};\nfunction createSchedulerFromOptions(opts) {\n return opts.scheduler ? opts.scheduler : opts.delay ? function(f) {\n return setTimeout(f, opts.delay);\n } : run;\n}\nfunction reaction(expression, effect, opts) {\n var _opts$name2, _opts4, _opts5;\n if (opts === void 0) opts = EMPTY_OBJECT;\n var name = (_opts$name2 = opts.name) != null ? _opts$name2 : \"Reaction\";\n var effectAction = action(name, opts.onError ? wrapErrorHandler(opts.onError, effect) : effect);\n var runSync = !opts.scheduler && !opts.delay;\n var scheduler = createSchedulerFromOptions(opts);\n var firstTime = true;\n var isScheduled = false;\n var value;\n var equals = opts.compareStructural ? comparer.structural : opts.equals || comparer[\"default\"];\n var r = new Reaction(name, function() {\n if (firstTime || runSync) reactionRunner();\n else if (!isScheduled) {\n isScheduled = true;\n scheduler(reactionRunner);\n }\n }, opts.onError, opts.requiresObservable);\n function reactionRunner() {\n isScheduled = false;\n if (r.isDisposed) return;\n var changed = false;\n var oldValue = value;\n r.track(function() {\n var nextValue = allowStateChanges(false, function() {\n return expression(r);\n });\n changed = firstTime || !equals(value, nextValue);\n value = nextValue;\n });\n if (firstTime && opts.fireImmediately) effectAction(value, oldValue, r);\n else if (!firstTime && changed) effectAction(value, oldValue, r);\n firstTime = false;\n }\n if (!((_opts4 = opts) != null && (_opts4 = _opts4.signal) != null && _opts4.aborted)) r.schedule_();\n return r.getDisposer_((_opts5 = opts) == null ? void 0 : _opts5.signal);\n}\nfunction wrapErrorHandler(errorHandler, baseFn) {\n return function() {\n try {\n return baseFn.apply(this, arguments);\n } catch (e) {\n errorHandler.call(this, e);\n }\n };\n}\nvar ON_BECOME_OBSERVED = \"onBO\";\nvar ON_BECOME_UNOBSERVED = \"onBUO\";\nfunction onBecomeObserved(thing, arg2, arg3) {\n return interceptHook(ON_BECOME_OBSERVED, thing, arg2, arg3);\n}\nfunction onBecomeUnobserved(thing, arg2, arg3) {\n return interceptHook(ON_BECOME_UNOBSERVED, thing, arg2, arg3);\n}\nfunction interceptHook(hook, thing, arg2, arg3) {\n var atom = typeof arg3 === \"function\" ? getAtom(thing, arg2) : getAtom(thing);\n var cb = isFunction(arg3) ? arg3 : arg2;\n var listenersKey = hook + \"L\";\n if (atom[listenersKey]) atom[listenersKey].add(cb);\n else atom[listenersKey] = new Set([\n cb\n ]);\n return function() {\n var hookListeners = atom[listenersKey];\n if (hookListeners) {\n hookListeners[\"delete\"](cb);\n if (hookListeners.size === 0) delete atom[listenersKey];\n }\n };\n}\nvar NEVER = \"never\";\nvar ALWAYS = \"always\";\nvar OBSERVED = \"observed\";\n// const IF_AVAILABLE = \"ifavailable\"\nfunction configure(options) {\n if (options.isolateGlobalState === true) isolateGlobalState();\n var useProxies = options.useProxies, enforceActions = options.enforceActions;\n if (useProxies !== undefined) globalState.useProxies = useProxies === ALWAYS ? true : useProxies === NEVER ? false : typeof Proxy !== \"undefined\";\n if (useProxies === \"ifavailable\") globalState.verifyProxies = true;\n if (enforceActions !== undefined) {\n var ea = enforceActions === ALWAYS ? ALWAYS : enforceActions === OBSERVED;\n globalState.enforceActions = ea;\n globalState.allowStateChanges = ea === true || ea === ALWAYS ? false : true;\n }\n [\n \"computedRequiresReaction\",\n \"reactionRequiresObservable\",\n \"observableRequiresReaction\",\n \"disableErrorBoundaries\",\n \"safeDescriptors\"\n ].forEach(function(key) {\n if (key in options) globalState[key] = !!options[key];\n });\n globalState.allowStateReads = !globalState.observableRequiresReaction;\n if (options.reactionScheduler) setReactionScheduler(options.reactionScheduler);\n}\nfunction extendObservable(target, properties, annotations, options) {\n // Pull descriptors first, so we don't have to deal with props added by administration ($mobx)\n var descriptors = getOwnPropertyDescriptors(properties);\n initObservable(function() {\n var adm = asObservableObject(target, options)[$mobx];\n ownKeys(descriptors).forEach(function(key) {\n adm.extend_(key, descriptors[key], // must pass \"undefined\" for { key: undefined }\n !annotations ? true : key in annotations ? annotations[key] : true);\n });\n });\n return target;\n}\nfunction getDependencyTree(thing, property) {\n return nodeToDependencyTree(getAtom(thing, property));\n}\nfunction nodeToDependencyTree(node) {\n var result = {\n name: node.name_\n };\n if (node.observing_ && node.observing_.length > 0) result.dependencies = unique(node.observing_).map(nodeToDependencyTree);\n return result;\n}\nfunction getObserverTree(thing, property) {\n return nodeToObserverTree(getAtom(thing, property));\n}\nfunction nodeToObserverTree(node) {\n var result = {\n name: node.name_\n };\n if (hasObservers(node)) result.observers = Array.from(getObservers(node)).map(nodeToObserverTree);\n return result;\n}\nfunction unique(list) {\n return Array.from(new Set(list));\n}\nvar generatorId = 0;\nfunction FlowCancellationError() {\n this.message = \"FLOW_CANCELLED\";\n}\nFlowCancellationError.prototype = /*#__PURE__*/ Object.create(Error.prototype);\nfunction isFlowCancellationError(error) {\n return error instanceof FlowCancellationError;\n}\nvar flowAnnotation = /*#__PURE__*/ createFlowAnnotation(\"flow\");\nvar flowBoundAnnotation = /*#__PURE__*/ createFlowAnnotation(\"flow.bound\", {\n bound: true\n});\nvar flow = /*#__PURE__*/ Object.assign(function flow(arg1, arg2) {\n // @flow (2022.3 Decorators)\n if (is20223Decorator(arg2)) return flowAnnotation.decorate_20223_(arg1, arg2);\n // @flow\n if (isStringish(arg2)) return storeAnnotation(arg1, arg2, flowAnnotation);\n var generator = arg1;\n var name = generator.name || \"<unnamed flow>\";\n // Implementation based on https://github.com/tj/co/blob/master/index.js\n var res = function res() {\n var ctx = this;\n var args = arguments;\n var runId = ++generatorId;\n var gen = action(name + \" - runid: \" + runId + \" - init\", generator).apply(ctx, args);\n var rejector;\n var pendingPromise = undefined;\n var promise = new Promise(function(resolve, reject) {\n var stepId = 0;\n rejector = reject;\n function onFulfilled(res) {\n pendingPromise = undefined;\n var ret;\n try {\n ret = action(name + \" - runid: \" + runId + \" - yield \" + stepId++, gen.next).call(gen, res);\n } catch (e) {\n return reject(e);\n }\n next(ret);\n }\n function onRejected(err) {\n pendingPromise = undefined;\n var ret;\n try {\n ret = action(name + \" - runid: \" + runId + \" - yield \" + stepId++, gen[\"throw\"]).call(gen, err);\n } catch (e) {\n return reject(e);\n }\n next(ret);\n }\n function next(ret) {\n if (isFunction(ret == null ? void 0 : ret.then)) {\n // an async iterator\n ret.then(next, reject);\n return;\n }\n if (ret.done) return resolve(ret.value);\n pendingPromise = Promise.resolve(ret.value);\n return pendingPromise.then(onFulfilled, onRejected);\n }\n onFulfilled(undefined); // kick off the process\n });\n promise.cancel = action(name + \" - runid: \" + runId + \" - cancel\", function() {\n try {\n if (pendingPromise) cancelPromise(pendingPromise);\n // Finally block can return (or yield) stuff..\n var _res = gen[\"return\"](undefined);\n // eat anything that promise would do, it's cancelled!\n var yieldedPromise = Promise.resolve(_res.value);\n yieldedPromise.then(noop, noop);\n cancelPromise(yieldedPromise); // maybe it can be cancelled :)\n // reject our original promise\n rejector(new FlowCancellationError());\n } catch (e) {\n rejector(e); // there could be a throwing finally block\n }\n });\n return promise;\n };\n res.isMobXFlow = true;\n return res;\n}, flowAnnotation);\nflow.bound = /*#__PURE__*/ createDecoratorAnnotation(flowBoundAnnotation);\nfunction cancelPromise(promise) {\n if (isFunction(promise.cancel)) promise.cancel();\n}\nfunction flowResult(result) {\n return result; // just tricking TypeScript :)\n}\nfunction isFlow(fn) {\n return (fn == null ? void 0 : fn.isMobXFlow) === true;\n}\nfunction interceptReads(thing, propOrHandler, handler) {\n var target;\n if (isObservableMap(thing) || isObservableArray(thing) || isObservableValue(thing)) target = getAdministration(thing);\n else if (isObservableObject(thing)) target = getAdministration(thing, propOrHandler);\n target.dehancer = typeof propOrHandler === \"function\" ? propOrHandler : handler;\n return function() {\n target.dehancer = undefined;\n };\n}\nfunction intercept(thing, propOrHandler, handler) {\n if (isFunction(handler)) return interceptProperty(thing, propOrHandler, handler);\n else return interceptInterceptable(thing, propOrHandler);\n}\nfunction interceptInterceptable(thing, handler) {\n return getAdministration(thing).intercept_(handler);\n}\nfunction interceptProperty(thing, property, handler) {\n return getAdministration(thing, property).intercept_(handler);\n}\nfunction _isComputed(value, property) {\n if (property === undefined) return isComputedValue(value);\n if (isObservableObject(value) === false) return false;\n if (!value[$mobx].values_.has(property)) return false;\n var atom = getAtom(value, property);\n return isComputedValue(atom);\n}\nfunction isComputed(value) {\n return _isComputed(value);\n}\nfunction isComputedProp(value, propName) {\n return _isComputed(value, propName);\n}\nfunction _isObservable(value, property) {\n if (!value) return false;\n if (property !== undefined) {\n if (isObservableObject(value)) return value[$mobx].values_.has(property);\n return false;\n }\n // For first check, see #701\n return isObservableObject(value) || !!value[$mobx] || isAtom(value) || isReaction(value) || isComputedValue(value);\n}\nfunction isObservable(value) {\n return _isObservable(value);\n}\nfunction isObservableProp(value, propName) {\n return _isObservable(value, propName);\n}\nfunction keys(obj) {\n if (isObservableObject(obj)) return obj[$mobx].keys_();\n if (isObservableMap(obj) || isObservableSet(obj)) return Array.from(obj.keys());\n if (isObservableArray(obj)) return obj.map(function(_, index) {\n return index;\n });\n die(5);\n}\nfunction values(obj) {\n if (isObservableObject(obj)) return keys(obj).map(function(key) {\n return obj[key];\n });\n if (isObservableMap(obj)) return keys(obj).map(function(key) {\n return obj.get(key);\n });\n if (isObservableSet(obj)) return Array.from(obj.values());\n if (isObservableArray(obj)) return obj.slice();\n die(6);\n}\nfunction entries(obj) {\n if (isObservableObject(obj)) return keys(obj).map(function(key) {\n return [\n key,\n obj[key]\n ];\n });\n if (isObservableMap(obj)) return keys(obj).map(function(key) {\n return [\n key,\n obj.get(key)\n ];\n });\n if (isObservableSet(obj)) return Array.from(obj.entries());\n if (isObservableArray(obj)) return obj.map(function(key, index) {\n return [\n index,\n key\n ];\n });\n die(7);\n}\nfunction set(obj, key, value) {\n if (arguments.length === 2 && !isObservableSet(obj)) {\n startBatch();\n var _values = key;\n try {\n for(var _key in _values)set(obj, _key, _values[_key]);\n } finally{\n endBatch();\n }\n return;\n }\n if (isObservableObject(obj)) obj[$mobx].set_(key, value);\n else if (isObservableMap(obj)) obj.set(key, value);\n else if (isObservableSet(obj)) obj.add(key);\n else if (isObservableArray(obj)) {\n if (typeof key !== \"number\") key = parseInt(key, 10);\n if (key < 0) die(\"Invalid index: '\" + key + \"'\");\n startBatch();\n if (key >= obj.length) obj.length = key + 1;\n obj[key] = value;\n endBatch();\n } else die(8);\n}\nfunction remove(obj, key) {\n if (isObservableObject(obj)) obj[$mobx].delete_(key);\n else if (isObservableMap(obj)) obj[\"delete\"](key);\n else if (isObservableSet(obj)) obj[\"delete\"](key);\n else if (isObservableArray(obj)) {\n if (typeof key !== \"number\") key = parseInt(key, 10);\n obj.splice(key, 1);\n } else die(9);\n}\nfunction has(obj, key) {\n if (isObservableObject(obj)) return obj[$mobx].has_(key);\n else if (isObservableMap(obj)) return obj.has(key);\n else if (isObservableSet(obj)) return obj.has(key);\n else if (isObservableArray(obj)) return key >= 0 && key < obj.length;\n die(10);\n}\nfunction get(obj, key) {\n if (!has(obj, key)) return undefined;\n if (isObservableObject(obj)) return obj[$mobx].get_(key);\n else if (isObservableMap(obj)) return obj.get(key);\n else if (isObservableArray(obj)) return obj[key];\n die(11);\n}\nfunction apiDefineProperty(obj, key, descriptor) {\n if (isObservableObject(obj)) return obj[$mobx].defineProperty_(key, descriptor);\n die(39);\n}\nfunction apiOwnKeys(obj) {\n if (isObservableObject(obj)) return obj[$mobx].ownKeys_();\n die(38);\n}\nfunction observe(thing, propOrCb, cbOrFire, fireImmediately) {\n if (isFunction(cbOrFire)) return observeObservableProperty(thing, propOrCb, cbOrFire, fireImmediately);\n else return observeObservable(thing, propOrCb, cbOrFire);\n}\nfunction observeObservable(thing, listener, fireImmediately) {\n return getAdministration(thing).observe_(listener, fireImmediately);\n}\nfunction observeObservableProperty(thing, property, listener, fireImmediately) {\n return getAdministration(thing, property).observe_(listener, fireImmediately);\n}\nfunction cache(map, key, value) {\n map.set(key, value);\n return value;\n}\nfunction toJSHelper(source, __alreadySeen) {\n if (source == null || typeof source !== \"object\" || source instanceof Date || !isObservable(source)) return source;\n if (isObservableValue(source) || isComputedValue(source)) return toJSHelper(source.get(), __alreadySeen);\n if (__alreadySeen.has(source)) return __alreadySeen.get(source);\n if (isObservableArray(source)) {\n var res = cache(__alreadySeen, source, new Array(source.length));\n source.forEach(function(value, idx) {\n res[idx] = toJSHelper(value, __alreadySeen);\n });\n return res;\n }\n if (isObservableSet(source)) {\n var _res = cache(__alreadySeen, source, new Set());\n source.forEach(function(value) {\n _res.add(toJSHelper(value, __alreadySeen));\n });\n return _res;\n }\n if (isObservableMap(source)) {\n var _res2 = cache(__alreadySeen, source, new Map());\n source.forEach(function(value, key) {\n _res2.set(key, toJSHelper(value, __alreadySeen));\n });\n return _res2;\n } else {\n // must be observable object\n var _res3 = cache(__alreadySeen, source, {});\n apiOwnKeys(source).forEach(function(key) {\n if (objectPrototype.propertyIsEnumerable.call(source, key)) _res3[key] = toJSHelper(source[key], __alreadySeen);\n });\n return _res3;\n }\n}\n/**\n * Recursively converts an observable to it's non-observable native counterpart.\n * It does NOT recurse into non-observables, these are left as they are, even if they contain observables.\n * Computed and other non-enumerable properties are completely ignored.\n * Complex scenarios require custom solution, eg implementing `toJSON` or using `serializr` lib.\n */ function toJS(source, options) {\n return toJSHelper(source, new Map());\n}\nfunction trace() {\n var enterBreakPoint, _len, args, _key, derivation;\n return;\n}\nfunction getAtomFromArgs(args) {\n switch(args.length){\n case 0:\n return globalState.trackingDerivation;\n case 1:\n return getAtom(args[0]);\n case 2:\n return getAtom(args[0], args[1]);\n }\n}\n/**\n * During a transaction no views are updated until the end of the transaction.\n * The transaction will be run synchronously nonetheless.\n *\n * @param action a function that updates some reactive state\n * @returns any value that was returned by the 'action' parameter.\n */ function transaction(action, thisArg) {\n if (thisArg === void 0) thisArg = undefined;\n startBatch();\n try {\n return action.apply(thisArg);\n } finally{\n endBatch();\n }\n}\nfunction when(predicate, arg1, arg2) {\n if (arguments.length === 1 || arg1 && typeof arg1 === \"object\") return whenPromise(predicate, arg1);\n return _when(predicate, arg1, arg2 || {});\n}\nfunction _when(predicate, effect, opts) {\n var timeoutHandle;\n if (typeof opts.timeout === \"number\") {\n var error = new Error(\"WHEN_TIMEOUT\");\n timeoutHandle = setTimeout(function() {\n if (!disposer[$mobx].isDisposed) {\n disposer();\n if (opts.onError) opts.onError(error);\n else throw error;\n }\n }, opts.timeout);\n }\n opts.name = \"When\";\n var effectAction = createAction(\"When-effect\", effect);\n // eslint-disable-next-line\n var disposer = autorun(function(r) {\n // predicate should not change state\n var cond = allowStateChanges(false, predicate);\n if (cond) {\n r.dispose();\n if (timeoutHandle) clearTimeout(timeoutHandle);\n effectAction();\n }\n }, opts);\n return disposer;\n}\nfunction whenPromise(predicate, opts) {\n var _opts$signal;\n if (opts != null && (_opts$signal = opts.signal) != null && _opts$signal.aborted) return Object.assign(Promise.reject(new Error(\"WHEN_ABORTED\")), {\n cancel: function cancel() {\n return null;\n }\n });\n var cancel;\n var abort;\n var res = new Promise(function(resolve, reject) {\n var _opts$signal2;\n var disposer = _when(predicate, resolve, _extends({}, opts, {\n onError: reject\n }));\n cancel = function cancel() {\n disposer();\n reject(new Error(\"WHEN_CANCELLED\"));\n };\n abort = function abort() {\n disposer();\n reject(new Error(\"WHEN_ABORTED\"));\n };\n opts == null || (_opts$signal2 = opts.signal) == null || _opts$signal2.addEventListener == null || _opts$signal2.addEventListener(\"abort\", abort);\n })[\"finally\"](function() {\n var _opts$signal3;\n return opts == null || (_opts$signal3 = opts.signal) == null || _opts$signal3.removeEventListener == null ? void 0 : _opts$signal3.removeEventListener(\"abort\", abort);\n });\n res.cancel = cancel;\n return res;\n}\nfunction getAdm(target) {\n return target[$mobx];\n}\n// Optimization: we don't need the intermediate objects and could have a completely custom administration for DynamicObjects,\n// and skip either the internal values map, or the base object with its property descriptors!\nvar objectProxyTraps = {\n has: function has(target, name) {\n return getAdm(target).has_(name);\n },\n get: function get(target, name) {\n return getAdm(target).get_(name);\n },\n set: function set(target, name, value) {\n var _getAdm$set_;\n if (!isStringish(name)) return false;\n // null (intercepted) -> true (success)\n return (_getAdm$set_ = getAdm(target).set_(name, value, true)) != null ? _getAdm$set_ : true;\n },\n deleteProperty: function deleteProperty(target, name) {\n var _getAdm$delete_;\n if (!isStringish(name)) return false;\n // null (intercepted) -> true (success)\n return (_getAdm$delete_ = getAdm(target).delete_(name, true)) != null ? _getAdm$delete_ : true;\n },\n defineProperty: function defineProperty(target, name, descriptor) {\n var _getAdm$definePropert;\n // null (intercepted) -> true (success)\n return (_getAdm$definePropert = getAdm(target).defineProperty_(name, descriptor)) != null ? _getAdm$definePropert : true;\n },\n ownKeys: function ownKeys(target) {\n return getAdm(target).ownKeys_();\n },\n preventExtensions: function preventExtensions(target) {\n die(13);\n }\n};\nfunction asDynamicObservableObject(target, options) {\n var _target$$mobx, _target$$mobx$proxy_;\n assertProxies();\n target = asObservableObject(target, options);\n return (_target$$mobx$proxy_ = (_target$$mobx = target[$mobx]).proxy_) != null ? _target$$mobx$proxy_ : _target$$mobx.proxy_ = new Proxy(target, objectProxyTraps);\n}\nfunction hasInterceptors(interceptable) {\n return interceptable.interceptors_ !== undefined && interceptable.interceptors_.length > 0;\n}\nfunction registerInterceptor(interceptable, handler) {\n var interceptors = interceptable.interceptors_ || (interceptable.interceptors_ = []);\n interceptors.push(handler);\n return once(function() {\n var idx = interceptors.indexOf(handler);\n if (idx !== -1) interceptors.splice(idx, 1);\n });\n}\nfunction interceptChange(interceptable, change) {\n var prevU = untrackedStart();\n try {\n // Interceptor can modify the array, copy it to avoid concurrent modification, see #1950\n var interceptors = [].concat(interceptable.interceptors_ || []);\n for(var i = 0, l = interceptors.length; i < l; i++){\n change = interceptors[i](change);\n if (change && !change.type) die(14);\n if (!change) break;\n }\n return change;\n } finally{\n untrackedEnd(prevU);\n }\n}\nfunction hasListeners(listenable) {\n return listenable.changeListeners_ !== undefined && listenable.changeListeners_.length > 0;\n}\nfunction registerListener(listenable, handler) {\n var listeners = listenable.changeListeners_ || (listenable.changeListeners_ = []);\n listeners.push(handler);\n return once(function() {\n var idx = listeners.indexOf(handler);\n if (idx !== -1) listeners.splice(idx, 1);\n });\n}\nfunction notifyListeners(listenable, change) {\n var prevU = untrackedStart();\n var listeners = listenable.changeListeners_;\n if (!listeners) return;\n listeners = listeners.slice();\n for(var i = 0, l = listeners.length; i < l; i++)listeners[i](change);\n untrackedEnd(prevU);\n}\nfunction makeObservable(target, annotations, options) {\n initObservable(function() {\n var _annotations;\n var adm = asObservableObject(target, options)[$mobx];\n // Default to decorators\n (_annotations = annotations) != null ? _annotations : annotations = collectStoredAnnotations(target);\n // Annotate\n ownKeys(annotations).forEach(function(key) {\n return adm.make_(key, annotations[key]);\n });\n });\n return target;\n}\n// proto[keysSymbol] = new Set<PropertyKey>()\nvar keysSymbol = /*#__PURE__*/ Symbol(\"mobx-keys\");\nfunction makeAutoObservable(target, overrides, options) {\n // Optimization: avoid visiting protos\n // Assumes that annotation.make_/.extend_ works the same for plain objects\n if (isPlainObject(target)) return extendObservable(target, target, overrides, options);\n initObservable(function() {\n var adm = asObservableObject(target, options)[$mobx];\n // Optimization: cache keys on proto\n // Assumes makeAutoObservable can be called only once per object and can't be used in subclass\n if (!target[keysSymbol]) {\n var proto = Object.getPrototypeOf(target);\n var keys = new Set([].concat(ownKeys(target), ownKeys(proto)));\n keys[\"delete\"](\"constructor\");\n keys[\"delete\"]($mobx);\n addHiddenProp(proto, keysSymbol, keys);\n }\n target[keysSymbol].forEach(function(key) {\n return adm.make_(key, // must pass \"undefined\" for { key: undefined }\n !overrides ? true : key in overrides ? overrides[key] : true);\n });\n });\n return target;\n}\nvar SPLICE = \"splice\";\nvar UPDATE = \"update\";\nvar MAX_SPLICE_SIZE = 10000; // See e.g. https://github.com/mobxjs/mobx/issues/859\nvar arrayTraps = {\n get: function get(target, name) {\n var adm = target[$mobx];\n if (name === $mobx) return adm;\n if (name === \"length\") return adm.getArrayLength_();\n if (typeof name === \"string\" && !isNaN(name)) return adm.get_(parseInt(name));\n if (hasProp(arrayExtensions, name)) return arrayExtensions[name];\n return target[name];\n },\n set: function set(target, name, value) {\n var adm = target[$mobx];\n if (name === \"length\") adm.setArrayLength_(value);\n if (typeof name === \"symbol\" || isNaN(name)) target[name] = value;\n else // numeric string\n adm.set_(parseInt(name), value);\n return true;\n },\n preventExtensions: function preventExtensions() {\n die(15);\n }\n};\nvar ObservableArrayAdministration = /*#__PURE__*/ function() {\n function ObservableArrayAdministration(name, enhancer, owned_, legacyMode_) {\n if (name === void 0) name = \"ObservableArray\";\n this.owned_ = void 0;\n this.legacyMode_ = void 0;\n this.atom_ = void 0;\n this.values_ = [];\n // this is the prop that gets proxied, so can't replace it!\n this.interceptors_ = void 0;\n this.changeListeners_ = void 0;\n this.enhancer_ = void 0;\n this.dehancer = void 0;\n this.proxy_ = void 0;\n this.lastKnownLength_ = 0;\n this.owned_ = owned_;\n this.legacyMode_ = legacyMode_;\n this.atom_ = new Atom(name);\n this.enhancer_ = function(newV, oldV) {\n return enhancer(newV, oldV, \"ObservableArray[..]\");\n };\n }\n var _proto = ObservableArrayAdministration.prototype;\n _proto.dehanceValue_ = function dehanceValue_(value) {\n if (this.dehancer !== undefined) return this.dehancer(value);\n return value;\n };\n _proto.dehanceValues_ = function dehanceValues_(values) {\n if (this.dehancer !== undefined && values.length > 0) return values.map(this.dehancer);\n return values;\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n if (fireImmediately === void 0) fireImmediately = false;\n if (fireImmediately) listener({\n observableKind: \"array\",\n object: this.proxy_,\n debugObjectName: this.atom_.name_,\n type: \"splice\",\n index: 0,\n added: this.values_.slice(),\n addedCount: this.values_.length,\n removed: [],\n removedCount: 0\n });\n return registerListener(this, listener);\n };\n _proto.getArrayLength_ = function getArrayLength_() {\n this.atom_.reportObserved();\n return this.values_.length;\n };\n _proto.setArrayLength_ = function setArrayLength_(newLength) {\n if (typeof newLength !== \"number\" || isNaN(newLength) || newLength < 0) die(\"Out of range: \" + newLength);\n var currentLength = this.values_.length;\n if (newLength === currentLength) return;\n else if (newLength > currentLength) {\n var newItems = new Array(newLength - currentLength);\n for(var i = 0; i < newLength - currentLength; i++)newItems[i] = undefined;\n // No Array.fill everywhere...\n this.spliceWithArray_(currentLength, 0, newItems);\n } else this.spliceWithArray_(newLength, currentLength - newLength);\n };\n _proto.updateArrayLength_ = function updateArrayLength_(oldLength, delta) {\n if (oldLength !== this.lastKnownLength_) die(16);\n this.lastKnownLength_ += delta;\n if (this.legacyMode_ && delta > 0) reserveArrayBuffer(oldLength + delta + 1);\n };\n _proto.spliceWithArray_ = function spliceWithArray_(index, deleteCount, newItems) {\n var _this = this;\n checkIfStateModificationsAreAllowed(this.atom_);\n var length = this.values_.length;\n if (index === undefined) index = 0;\n else if (index > length) index = length;\n else if (index < 0) index = Math.max(0, length + index);\n if (arguments.length === 1) deleteCount = length - index;\n else if (deleteCount === undefined || deleteCount === null) deleteCount = 0;\n else deleteCount = Math.max(0, Math.min(deleteCount, length - index));\n if (newItems === undefined) newItems = EMPTY_ARRAY;\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_,\n type: SPLICE,\n index: index,\n removedCount: deleteCount,\n added: newItems\n });\n if (!change) return EMPTY_ARRAY;\n deleteCount = change.removedCount;\n newItems = change.added;\n }\n newItems = newItems.length === 0 ? newItems : newItems.map(function(v) {\n return _this.enhancer_(v, undefined);\n });\n if (this.legacyMode_ || false) {\n var lengthDelta = newItems.length - deleteCount;\n this.updateArrayLength_(length, lengthDelta); // checks if internal array wasn't modified\n }\n var res = this.spliceItemsIntoValues_(index, deleteCount, newItems);\n if (deleteCount !== 0 || newItems.length !== 0) this.notifyArraySplice_(index, newItems, res);\n return this.dehanceValues_(res);\n };\n _proto.spliceItemsIntoValues_ = function spliceItemsIntoValues_(index, deleteCount, newItems) {\n if (newItems.length < MAX_SPLICE_SIZE) {\n var _this$values_;\n return (_this$values_ = this.values_).splice.apply(_this$values_, [\n index,\n deleteCount\n ].concat(newItems));\n } else {\n // The items removed by the splice\n var res = this.values_.slice(index, index + deleteCount);\n // The items that that should remain at the end of the array\n var oldItems = this.values_.slice(index + deleteCount);\n // New length is the previous length + addition count - deletion count\n this.values_.length += newItems.length - deleteCount;\n for(var i = 0; i < newItems.length; i++)this.values_[index + i] = newItems[i];\n for(var _i = 0; _i < oldItems.length; _i++)this.values_[index + newItems.length + _i] = oldItems[_i];\n return res;\n }\n };\n _proto.notifyArrayChildUpdate_ = function notifyArrayChildUpdate_(index, newValue, oldValue) {\n var notifySpy = !this.owned_ && isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"array\",\n object: this.proxy_,\n type: UPDATE,\n debugObjectName: this.atom_.name_,\n index: index,\n newValue: newValue,\n oldValue: oldValue\n } : null;\n this.atom_.reportChanged();\n if (notify) notifyListeners(this, change);\n };\n _proto.notifyArraySplice_ = function notifyArraySplice_(index, added, removed) {\n var notifySpy = !this.owned_ && isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"array\",\n object: this.proxy_,\n debugObjectName: this.atom_.name_,\n type: SPLICE,\n index: index,\n removed: removed,\n added: added,\n removedCount: removed.length,\n addedCount: added.length\n } : null;\n this.atom_.reportChanged();\n // conform: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/observe\n if (notify) notifyListeners(this, change);\n };\n _proto.get_ = function get_(index) {\n if (this.legacyMode_ && index >= this.values_.length) {\n console.warn(\"[mobx] Out of bounds read: \" + index);\n return undefined;\n }\n this.atom_.reportObserved();\n return this.dehanceValue_(this.values_[index]);\n };\n _proto.set_ = function set_(index, newValue) {\n var values = this.values_;\n if (this.legacyMode_ && index > values.length) // out of bounds\n die(17, index, values.length);\n if (index < values.length) {\n // update at index in range\n checkIfStateModificationsAreAllowed(this.atom_);\n var oldValue = values[index];\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: UPDATE,\n object: this.proxy_,\n // since \"this\" is the real array we need to pass its proxy\n index: index,\n newValue: newValue\n });\n if (!change) return;\n newValue = change.newValue;\n }\n newValue = this.enhancer_(newValue, oldValue);\n var changed = newValue !== oldValue;\n if (changed) {\n values[index] = newValue;\n this.notifyArrayChildUpdate_(index, newValue, oldValue);\n }\n } else {\n // For out of bound index, we don't create an actual sparse array,\n // but rather fill the holes with undefined (same as setArrayLength_).\n // This could be considered a bug.\n var newItems = new Array(index + 1 - values.length);\n for(var i = 0; i < newItems.length - 1; i++)newItems[i] = undefined;\n // No Array.fill everywhere...\n newItems[newItems.length - 1] = newValue;\n this.spliceWithArray_(values.length, 0, newItems);\n }\n };\n return ObservableArrayAdministration;\n}();\nfunction createObservableArray(initialValues, enhancer, name, owned) {\n if (name === void 0) name = \"ObservableArray\";\n if (owned === void 0) owned = false;\n assertProxies();\n return initObservable(function() {\n var adm = new ObservableArrayAdministration(name, enhancer, owned, false);\n addHiddenFinalProp(adm.values_, $mobx, adm);\n var proxy = new Proxy(adm.values_, arrayTraps);\n adm.proxy_ = proxy;\n if (initialValues && initialValues.length) adm.spliceWithArray_(0, 0, initialValues);\n return proxy;\n });\n}\n// eslint-disable-next-line\nvar arrayExtensions = {\n clear: function clear() {\n return this.splice(0);\n },\n replace: function replace(newItems) {\n var adm = this[$mobx];\n return adm.spliceWithArray_(0, adm.values_.length, newItems);\n },\n // Used by JSON.stringify\n toJSON: function toJSON() {\n return this.slice();\n },\n /*\n * functions that do alter the internal structure of the array, (based on lib.es6.d.ts)\n * since these functions alter the inner structure of the array, the have side effects.\n * Because the have side effects, they should not be used in computed function,\n * and for that reason the do not call dependencyState.notifyObserved\n */ splice: function splice(index, deleteCount) {\n for(var _len = arguments.length, newItems = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++)newItems[_key - 2] = arguments[_key];\n var adm = this[$mobx];\n switch(arguments.length){\n case 0:\n return [];\n case 1:\n return adm.spliceWithArray_(index);\n case 2:\n return adm.spliceWithArray_(index, deleteCount);\n }\n return adm.spliceWithArray_(index, deleteCount, newItems);\n },\n spliceWithArray: function spliceWithArray(index, deleteCount, newItems) {\n return this[$mobx].spliceWithArray_(index, deleteCount, newItems);\n },\n push: function push() {\n var adm = this[$mobx];\n for(var _len2 = arguments.length, items = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++)items[_key2] = arguments[_key2];\n adm.spliceWithArray_(adm.values_.length, 0, items);\n return adm.values_.length;\n },\n pop: function pop() {\n return this.splice(Math.max(this[$mobx].values_.length - 1, 0), 1)[0];\n },\n shift: function shift() {\n return this.splice(0, 1)[0];\n },\n unshift: function unshift() {\n var adm = this[$mobx];\n for(var _len3 = arguments.length, items = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++)items[_key3] = arguments[_key3];\n adm.spliceWithArray_(0, 0, items);\n return adm.values_.length;\n },\n reverse: function reverse() {\n // reverse by default mutates in place before returning the result\n // which makes it both a 'derivation' and a 'mutation'.\n if (globalState.trackingDerivation) die(37, \"reverse\");\n this.replace(this.slice().reverse());\n return this;\n },\n sort: function sort() {\n // sort by default mutates in place before returning the result\n // which goes against all good practices. Let's not change the array in place!\n if (globalState.trackingDerivation) die(37, \"sort\");\n var copy = this.slice();\n copy.sort.apply(copy, arguments);\n this.replace(copy);\n return this;\n },\n remove: function remove(value) {\n var adm = this[$mobx];\n var idx = adm.dehanceValues_(adm.values_).indexOf(value);\n if (idx > -1) {\n this.splice(idx, 1);\n return true;\n }\n return false;\n }\n};\n/**\n * Wrap function from prototype\n * Without this, everything works as well, but this works\n * faster as everything works on unproxied values\n */ addArrayExtension(\"at\", simpleFunc);\naddArrayExtension(\"concat\", simpleFunc);\naddArrayExtension(\"flat\", simpleFunc);\naddArrayExtension(\"includes\", simpleFunc);\naddArrayExtension(\"indexOf\", simpleFunc);\naddArrayExtension(\"join\", simpleFunc);\naddArrayExtension(\"lastIndexOf\", simpleFunc);\naddArrayExtension(\"slice\", simpleFunc);\naddArrayExtension(\"toString\", simpleFunc);\naddArrayExtension(\"toLocaleString\", simpleFunc);\naddArrayExtension(\"toSorted\", simpleFunc);\naddArrayExtension(\"toSpliced\", simpleFunc);\naddArrayExtension(\"with\", simpleFunc);\n// map\naddArrayExtension(\"every\", mapLikeFunc);\naddArrayExtension(\"filter\", mapLikeFunc);\naddArrayExtension(\"find\", mapLikeFunc);\naddArrayExtension(\"findIndex\", mapLikeFunc);\naddArrayExtension(\"findLast\", mapLikeFunc);\naddArrayExtension(\"findLastIndex\", mapLikeFunc);\naddArrayExtension(\"flatMap\", mapLikeFunc);\naddArrayExtension(\"forEach\", mapLikeFunc);\naddArrayExtension(\"map\", mapLikeFunc);\naddArrayExtension(\"some\", mapLikeFunc);\naddArrayExtension(\"toReversed\", mapLikeFunc);\n// reduce\naddArrayExtension(\"reduce\", reduceLikeFunc);\naddArrayExtension(\"reduceRight\", reduceLikeFunc);\nfunction addArrayExtension(funcName, funcFactory) {\n if (typeof Array.prototype[funcName] === \"function\") arrayExtensions[funcName] = funcFactory(funcName);\n}\n// Report and delegate to dehanced array\nfunction simpleFunc(funcName) {\n return function() {\n var adm = this[$mobx];\n adm.atom_.reportObserved();\n var dehancedValues = adm.dehanceValues_(adm.values_);\n return dehancedValues[funcName].apply(dehancedValues, arguments);\n };\n}\n// Make sure callbacks receive correct array arg #2326\nfunction mapLikeFunc(funcName) {\n return function(callback, thisArg) {\n var _this2 = this;\n var adm = this[$mobx];\n adm.atom_.reportObserved();\n var dehancedValues = adm.dehanceValues_(adm.values_);\n return dehancedValues[funcName](function(element, index) {\n return callback.call(thisArg, element, index, _this2);\n });\n };\n}\n// Make sure callbacks receive correct array arg #2326\nfunction reduceLikeFunc(funcName) {\n return function() {\n var _this3 = this;\n var adm = this[$mobx];\n adm.atom_.reportObserved();\n var dehancedValues = adm.dehanceValues_(adm.values_);\n // #2432 - reduce behavior depends on arguments.length\n var callback = arguments[0];\n arguments[0] = function(accumulator, currentValue, index) {\n return callback(accumulator, currentValue, index, _this3);\n };\n return dehancedValues[funcName].apply(dehancedValues, arguments);\n };\n}\nvar isObservableArrayAdministration = /*#__PURE__*/ createInstanceofPredicate(\"ObservableArrayAdministration\", ObservableArrayAdministration);\nfunction isObservableArray(thing) {\n return isObject(thing) && isObservableArrayAdministration(thing[$mobx]);\n}\nvar ObservableMapMarker = {};\nvar ADD = \"add\";\nvar DELETE = \"delete\";\n// just extend Map? See also https://gist.github.com/nestharus/13b4d74f2ef4a2f4357dbd3fc23c1e54\n// But: https://github.com/mobxjs/mobx/issues/1556\nvar ObservableMap = /*#__PURE__*/ function() {\n function ObservableMap(initialData, enhancer_, name_) {\n var _this = this;\n if (enhancer_ === void 0) enhancer_ = deepEnhancer;\n if (name_ === void 0) name_ = \"ObservableMap\";\n this.enhancer_ = void 0;\n this.name_ = void 0;\n this[$mobx] = ObservableMapMarker;\n this.data_ = void 0;\n this.hasMap_ = void 0;\n // hasMap, not hashMap >-).\n this.keysAtom_ = void 0;\n this.interceptors_ = void 0;\n this.changeListeners_ = void 0;\n this.dehancer = void 0;\n this.enhancer_ = enhancer_;\n this.name_ = name_;\n if (!isFunction(Map)) die(18);\n initObservable(function() {\n _this.keysAtom_ = createAtom(\"ObservableMap.keys()\");\n _this.data_ = new Map();\n _this.hasMap_ = new Map();\n if (initialData) _this.merge(initialData);\n });\n }\n var _proto = ObservableMap.prototype;\n _proto.has_ = function has_(key) {\n return this.data_.has(key);\n };\n _proto.has = function has(key) {\n var _this2 = this;\n if (!globalState.trackingDerivation) return this.has_(key);\n var entry = this.hasMap_.get(key);\n if (!entry) {\n var newEntry = entry = new ObservableValue(this.has_(key), referenceEnhancer, \"ObservableMap.key?\", false);\n this.hasMap_.set(key, newEntry);\n onBecomeUnobserved(newEntry, function() {\n return _this2.hasMap_[\"delete\"](key);\n });\n }\n return entry.get();\n };\n _proto.set = function set(key, value) {\n var hasKey = this.has_(key);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: hasKey ? UPDATE : ADD,\n object: this,\n newValue: value,\n name: key\n });\n if (!change) return this;\n value = change.newValue;\n }\n if (hasKey) this.updateValue_(key, value);\n else this.addValue_(key, value);\n return this;\n };\n _proto[\"delete\"] = function _delete(key) {\n var _this3 = this;\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: DELETE,\n object: this,\n name: key\n });\n if (!change) return false;\n }\n if (this.has_(key)) {\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var _change = notify || notifySpy ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: DELETE,\n object: this,\n oldValue: this.data_.get(key).value_,\n name: key\n } : null;\n transaction(function() {\n var _this3$hasMap_$get;\n _this3.keysAtom_.reportChanged();\n (_this3$hasMap_$get = _this3.hasMap_.get(key)) == null || _this3$hasMap_$get.setNewValue_(false);\n var observable = _this3.data_.get(key);\n observable.setNewValue_(undefined);\n _this3.data_[\"delete\"](key);\n });\n if (notify) notifyListeners(this, _change);\n return true;\n }\n return false;\n };\n _proto.updateValue_ = function updateValue_(key, newValue) {\n var observable = this.data_.get(key);\n newValue = observable.prepareNewValue_(newValue);\n if (newValue !== globalState.UNCHANGED) {\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: UPDATE,\n object: this,\n oldValue: observable.value_,\n name: key,\n newValue: newValue\n } : null;\n observable.setNewValue_(newValue);\n if (notify) notifyListeners(this, change);\n }\n };\n _proto.addValue_ = function addValue_(key, newValue) {\n var _this4 = this;\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n transaction(function() {\n var _this4$hasMap_$get;\n var observable = new ObservableValue(newValue, _this4.enhancer_, \"ObservableMap.key\", false);\n _this4.data_.set(key, observable);\n newValue = observable.value_; // value might have been changed\n (_this4$hasMap_$get = _this4.hasMap_.get(key)) == null || _this4$hasMap_$get.setNewValue_(true);\n _this4.keysAtom_.reportChanged();\n });\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: ADD,\n object: this,\n name: key,\n newValue: newValue\n } : null;\n if (notify) notifyListeners(this, change);\n };\n _proto.get = function get(key) {\n if (this.has(key)) return this.dehanceValue_(this.data_.get(key).get());\n return this.dehanceValue_(undefined);\n };\n _proto.dehanceValue_ = function dehanceValue_(value) {\n if (this.dehancer !== undefined) return this.dehancer(value);\n return value;\n };\n _proto.keys = function keys() {\n this.keysAtom_.reportObserved();\n return this.data_.keys();\n };\n _proto.values = function values() {\n var self1 = this;\n var keys = this.keys();\n return makeIterableForMap({\n next: function next() {\n var _keys$next = keys.next(), done = _keys$next.done, value = _keys$next.value;\n return {\n done: done,\n value: done ? undefined : self1.get(value)\n };\n }\n });\n };\n _proto.entries = function entries() {\n var self1 = this;\n var keys = this.keys();\n return makeIterableForMap({\n next: function next() {\n var _keys$next2 = keys.next(), done = _keys$next2.done, value = _keys$next2.value;\n return {\n done: done,\n value: done ? undefined : [\n value,\n self1.get(value)\n ]\n };\n }\n });\n };\n _proto[Symbol.iterator] = function() {\n return this.entries();\n };\n _proto.forEach = function forEach(callback, thisArg) {\n for(var _iterator = _createForOfIteratorHelperLoose(this), _step; !(_step = _iterator()).done;){\n var _step$value = _step.value, key = _step$value[0], value = _step$value[1];\n callback.call(thisArg, value, key, this);\n }\n } /** Merge another object into this object, returns this. */ ;\n _proto.merge = function merge(other) {\n var _this5 = this;\n if (isObservableMap(other)) other = new Map(other);\n transaction(function() {\n if (isPlainObject(other)) getPlainObjectKeys(other).forEach(function(key) {\n return _this5.set(key, other[key]);\n });\n else if (Array.isArray(other)) other.forEach(function(_ref) {\n var key = _ref[0], value = _ref[1];\n return _this5.set(key, value);\n });\n else if (isES6Map(other)) {\n if (!isPlainES6Map(other)) die(19, other);\n other.forEach(function(value, key) {\n return _this5.set(key, value);\n });\n } else if (other !== null && other !== undefined) die(20, other);\n });\n return this;\n };\n _proto.clear = function clear() {\n var _this6 = this;\n transaction(function() {\n untracked(function() {\n for(var _iterator2 = _createForOfIteratorHelperLoose(_this6.keys()), _step2; !(_step2 = _iterator2()).done;){\n var key = _step2.value;\n _this6[\"delete\"](key);\n }\n });\n });\n };\n _proto.replace = function replace(values) {\n var _this7 = this;\n // Implementation requirements:\n // - respect ordering of replacement map\n // - allow interceptors to run and potentially prevent individual operations\n // - don't recreate observables that already exist in original map (so we don't destroy existing subscriptions)\n // - don't _keysAtom.reportChanged if the keys of resulting map are indentical (order matters!)\n // - note that result map may differ from replacement map due to the interceptors\n transaction(function() {\n // Convert to map so we can do quick key lookups\n var replacementMap = convertToMap(values);\n var orderedData = new Map();\n // Used for optimization\n var keysReportChangedCalled = false;\n // Delete keys that don't exist in replacement map\n // if the key deletion is prevented by interceptor\n // add entry at the beginning of the result map\n for(var _iterator3 = _createForOfIteratorHelperLoose(_this7.data_.keys()), _step3; !(_step3 = _iterator3()).done;){\n var key = _step3.value;\n // Concurrently iterating/deleting keys\n // iterator should handle this correctly\n if (!replacementMap.has(key)) {\n var deleted = _this7[\"delete\"](key);\n // Was the key removed?\n if (deleted) // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true;\n else {\n // Delete prevented by interceptor\n var value = _this7.data_.get(key);\n orderedData.set(key, value);\n }\n }\n }\n // Merge entries\n for(var _iterator4 = _createForOfIteratorHelperLoose(replacementMap.entries()), _step4; !(_step4 = _iterator4()).done;){\n var _step4$value = _step4.value, _key = _step4$value[0], _value = _step4$value[1];\n // We will want to know whether a new key is added\n var keyExisted = _this7.data_.has(_key);\n // Add or update value\n _this7.set(_key, _value);\n // The addition could have been prevent by interceptor\n if (_this7.data_.has(_key)) {\n // The update could have been prevented by interceptor\n // and also we want to preserve existing values\n // so use value from _data map (instead of replacement map)\n var _value2 = _this7.data_.get(_key);\n orderedData.set(_key, _value2);\n // Was a new key added?\n if (!keyExisted) // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true;\n }\n }\n // Check for possible key order change\n if (!keysReportChangedCalled) {\n if (_this7.data_.size !== orderedData.size) // If size differs, keys are definitely modified\n _this7.keysAtom_.reportChanged();\n else {\n var iter1 = _this7.data_.keys();\n var iter2 = orderedData.keys();\n var next1 = iter1.next();\n var next2 = iter2.next();\n while(!next1.done){\n if (next1.value !== next2.value) {\n _this7.keysAtom_.reportChanged();\n break;\n }\n next1 = iter1.next();\n next2 = iter2.next();\n }\n }\n }\n // Use correctly ordered map\n _this7.data_ = orderedData;\n });\n return this;\n };\n _proto.toString = function toString() {\n return \"[object ObservableMap]\";\n };\n _proto.toJSON = function toJSON() {\n return Array.from(this);\n };\n /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */ _proto.observe_ = function observe_(listener, fireImmediately) {\n return registerListener(this, listener);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n return _createClass(ObservableMap, [\n {\n key: \"size\",\n get: function get() {\n this.keysAtom_.reportObserved();\n return this.data_.size;\n }\n },\n {\n key: Symbol.toStringTag,\n get: function get() {\n return \"Map\";\n }\n }\n ]);\n}();\n// eslint-disable-next-line\nvar isObservableMap = /*#__PURE__*/ createInstanceofPredicate(\"ObservableMap\", ObservableMap);\nfunction makeIterableForMap(iterator) {\n iterator[Symbol.toStringTag] = \"MapIterator\";\n return makeIterable(iterator);\n}\nfunction convertToMap(dataStructure) {\n if (isES6Map(dataStructure) || isObservableMap(dataStructure)) return dataStructure;\n else if (Array.isArray(dataStructure)) return new Map(dataStructure);\n else if (isPlainObject(dataStructure)) {\n var map = new Map();\n for(var key in dataStructure)map.set(key, dataStructure[key]);\n return map;\n } else return die(21, dataStructure);\n}\nvar ObservableSetMarker = {};\nvar ObservableSet = /*#__PURE__*/ function() {\n function ObservableSet(initialData, enhancer, name_) {\n var _this = this;\n if (enhancer === void 0) enhancer = deepEnhancer;\n if (name_ === void 0) name_ = \"ObservableSet\";\n this.name_ = void 0;\n this[$mobx] = ObservableSetMarker;\n this.data_ = new Set();\n this.atom_ = void 0;\n this.changeListeners_ = void 0;\n this.interceptors_ = void 0;\n this.dehancer = void 0;\n this.enhancer_ = void 0;\n this.name_ = name_;\n if (!isFunction(Set)) die(22);\n this.enhancer_ = function(newV, oldV) {\n return enhancer(newV, oldV, name_);\n };\n initObservable(function() {\n _this.atom_ = createAtom(_this.name_);\n if (initialData) _this.replace(initialData);\n });\n }\n var _proto = ObservableSet.prototype;\n _proto.dehanceValue_ = function dehanceValue_(value) {\n if (this.dehancer !== undefined) return this.dehancer(value);\n return value;\n };\n _proto.clear = function clear() {\n var _this2 = this;\n transaction(function() {\n untracked(function() {\n for(var _iterator = _createForOfIteratorHelperLoose(_this2.data_.values()), _step; !(_step = _iterator()).done;){\n var value = _step.value;\n _this2[\"delete\"](value);\n }\n });\n });\n };\n _proto.forEach = function forEach(callbackFn, thisArg) {\n for(var _iterator2 = _createForOfIteratorHelperLoose(this), _step2; !(_step2 = _iterator2()).done;){\n var value = _step2.value;\n callbackFn.call(thisArg, value, value, this);\n }\n };\n _proto.add = function add(value) {\n var _this3 = this;\n checkIfStateModificationsAreAllowed(this.atom_);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: ADD,\n object: this,\n newValue: value\n });\n if (!change) return this;\n // ideally, value = change.value would be done here, so that values can be\n // changed by interceptor. Same applies for other Set and Map api's.\n }\n if (!this.has(value)) {\n transaction(function() {\n _this3.data_.add(_this3.enhancer_(value, undefined));\n _this3.atom_.reportChanged();\n });\n var notifySpy = false;\n var notify = hasListeners(this);\n var _change = notify || notifySpy ? {\n observableKind: \"set\",\n debugObjectName: this.name_,\n type: ADD,\n object: this,\n newValue: value\n } : null;\n if (notify) notifyListeners(this, _change);\n }\n return this;\n };\n _proto[\"delete\"] = function _delete(value) {\n var _this4 = this;\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: DELETE,\n object: this,\n oldValue: value\n });\n if (!change) return false;\n }\n if (this.has(value)) {\n var notifySpy = false;\n var notify = hasListeners(this);\n var _change2 = notify || notifySpy ? {\n observableKind: \"set\",\n debugObjectName: this.name_,\n type: DELETE,\n object: this,\n oldValue: value\n } : null;\n transaction(function() {\n _this4.atom_.reportChanged();\n _this4.data_[\"delete\"](value);\n });\n if (notify) notifyListeners(this, _change2);\n return true;\n }\n return false;\n };\n _proto.has = function has(value) {\n this.atom_.reportObserved();\n return this.data_.has(this.dehanceValue_(value));\n };\n _proto.entries = function entries() {\n var values = this.values();\n return makeIterableForSet({\n next: function next() {\n var _values$next = values.next(), value = _values$next.value, done = _values$next.done;\n return !done ? {\n value: [\n value,\n value\n ],\n done: done\n } : {\n value: undefined,\n done: done\n };\n }\n });\n };\n _proto.keys = function keys() {\n return this.values();\n };\n _proto.values = function values() {\n this.atom_.reportObserved();\n var self1 = this;\n var values = this.data_.values();\n return makeIterableForSet({\n next: function next() {\n var _values$next2 = values.next(), value = _values$next2.value, done = _values$next2.done;\n return !done ? {\n value: self1.dehanceValue_(value),\n done: done\n } : {\n value: undefined,\n done: done\n };\n }\n });\n };\n _proto.intersection = function intersection(otherSet) {\n if (isES6Set(otherSet) && !isObservableSet(otherSet)) return otherSet.intersection(this);\n else {\n var dehancedSet = new Set(this);\n return dehancedSet.intersection(otherSet);\n }\n };\n _proto.union = function union(otherSet) {\n if (isES6Set(otherSet) && !isObservableSet(otherSet)) return otherSet.union(this);\n else {\n var dehancedSet = new Set(this);\n return dehancedSet.union(otherSet);\n }\n };\n _proto.difference = function difference(otherSet) {\n return new Set(this).difference(otherSet);\n };\n _proto.symmetricDifference = function symmetricDifference(otherSet) {\n if (isES6Set(otherSet) && !isObservableSet(otherSet)) return otherSet.symmetricDifference(this);\n else {\n var dehancedSet = new Set(this);\n return dehancedSet.symmetricDifference(otherSet);\n }\n };\n _proto.isSubsetOf = function isSubsetOf(otherSet) {\n return new Set(this).isSubsetOf(otherSet);\n };\n _proto.isSupersetOf = function isSupersetOf(otherSet) {\n return new Set(this).isSupersetOf(otherSet);\n };\n _proto.isDisjointFrom = function isDisjointFrom(otherSet) {\n if (isES6Set(otherSet) && !isObservableSet(otherSet)) return otherSet.isDisjointFrom(this);\n else {\n var dehancedSet = new Set(this);\n return dehancedSet.isDisjointFrom(otherSet);\n }\n };\n _proto.replace = function replace(other) {\n var _this5 = this;\n if (isObservableSet(other)) other = new Set(other);\n transaction(function() {\n if (Array.isArray(other)) {\n _this5.clear();\n other.forEach(function(value) {\n return _this5.add(value);\n });\n } else if (isES6Set(other)) {\n _this5.clear();\n other.forEach(function(value) {\n return _this5.add(value);\n });\n } else if (other !== null && other !== undefined) die(\"Cannot initialize set from \" + other);\n });\n return this;\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n return registerListener(this, listener);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.toJSON = function toJSON() {\n return Array.from(this);\n };\n _proto.toString = function toString() {\n return \"[object ObservableSet]\";\n };\n _proto[Symbol.iterator] = function() {\n return this.values();\n };\n return _createClass(ObservableSet, [\n {\n key: \"size\",\n get: function get() {\n this.atom_.reportObserved();\n return this.data_.size;\n }\n },\n {\n key: Symbol.toStringTag,\n get: function get() {\n return \"Set\";\n }\n }\n ]);\n}();\n// eslint-disable-next-line\nvar isObservableSet = /*#__PURE__*/ createInstanceofPredicate(\"ObservableSet\", ObservableSet);\nfunction makeIterableForSet(iterator) {\n iterator[Symbol.toStringTag] = \"SetIterator\";\n return makeIterable(iterator);\n}\nvar descriptorCache = /*#__PURE__*/ Object.create(null);\nvar REMOVE = \"remove\";\nvar ObservableObjectAdministration = /*#__PURE__*/ function() {\n function ObservableObjectAdministration(target_, values_, name_, // Used anytime annotation is not explicitely provided\n defaultAnnotation_) {\n if (values_ === void 0) values_ = new Map();\n if (defaultAnnotation_ === void 0) defaultAnnotation_ = autoAnnotation;\n this.target_ = void 0;\n this.values_ = void 0;\n this.name_ = void 0;\n this.defaultAnnotation_ = void 0;\n this.keysAtom_ = void 0;\n this.changeListeners_ = void 0;\n this.interceptors_ = void 0;\n this.proxy_ = void 0;\n this.isPlainObject_ = void 0;\n this.appliedAnnotations_ = void 0;\n this.pendingKeys_ = void 0;\n this.target_ = target_;\n this.values_ = values_;\n this.name_ = name_;\n this.defaultAnnotation_ = defaultAnnotation_;\n this.keysAtom_ = new Atom(\"ObservableObject.keys\");\n // Optimization: we use this frequently\n this.isPlainObject_ = isPlainObject(this.target_);\n }\n var _proto = ObservableObjectAdministration.prototype;\n _proto.getObservablePropValue_ = function getObservablePropValue_(key) {\n return this.values_.get(key).get();\n };\n _proto.setObservablePropValue_ = function setObservablePropValue_(key, newValue) {\n var observable = this.values_.get(key);\n if (observable instanceof ComputedValue) {\n observable.set(newValue);\n return true;\n }\n // intercept\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: UPDATE,\n object: this.proxy_ || this.target_,\n name: key,\n newValue: newValue\n });\n if (!change) return null;\n newValue = change.newValue;\n }\n newValue = observable.prepareNewValue_(newValue);\n // notify spy & observers\n if (newValue !== globalState.UNCHANGED) {\n var notify = hasListeners(this);\n var notifySpy = false;\n var _change = notify || notifySpy ? {\n type: UPDATE,\n observableKind: \"object\",\n debugObjectName: this.name_,\n object: this.proxy_ || this.target_,\n oldValue: observable.value_,\n name: key,\n newValue: newValue\n } : null;\n observable.setNewValue_(newValue);\n if (notify) notifyListeners(this, _change);\n }\n return true;\n };\n _proto.get_ = function get_(key) {\n if (globalState.trackingDerivation && !hasProp(this.target_, key)) // Key doesn't exist yet, subscribe for it in case it's added later\n this.has_(key);\n return this.target_[key];\n } /**\n * @param {PropertyKey} key\n * @param {any} value\n * @param {Annotation|boolean} annotation true - use default annotation, false - copy as is\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */ ;\n _proto.set_ = function set_(key, value, proxyTrap) {\n if (proxyTrap === void 0) proxyTrap = false;\n // Don't use .has(key) - we care about own\n if (hasProp(this.target_, key)) {\n // Existing prop\n if (this.values_.has(key)) // Observable (can be intercepted)\n return this.setObservablePropValue_(key, value);\n else if (proxyTrap) // Non-observable - proxy\n return Reflect.set(this.target_, key, value);\n else {\n // Non-observable\n this.target_[key] = value;\n return true;\n }\n } else // New prop\n return this.extend_(key, {\n value: value,\n enumerable: true,\n writable: true,\n configurable: true\n }, this.defaultAnnotation_, proxyTrap);\n };\n _proto.has_ = function has_(key) {\n if (!globalState.trackingDerivation) // Skip key subscription outside derivation\n return key in this.target_;\n this.pendingKeys_ || (this.pendingKeys_ = new Map());\n var entry = this.pendingKeys_.get(key);\n if (!entry) {\n entry = new ObservableValue(key in this.target_, referenceEnhancer, \"ObservableObject.key?\", false);\n this.pendingKeys_.set(key, entry);\n }\n return entry.get();\n } /**\n * @param {PropertyKey} key\n * @param {Annotation|boolean} annotation true - use default annotation, false - ignore prop\n */ ;\n _proto.make_ = function make_(key, annotation) {\n if (annotation === true) annotation = this.defaultAnnotation_;\n if (annotation === false) return;\n assertAnnotable(this, annotation, key);\n if (!(key in this.target_)) {\n var _this$target_$storedA;\n // Throw on missing key, except for decorators:\n // Decorator annotations are collected from whole prototype chain.\n // When called from super() some props may not exist yet.\n // However we don't have to worry about missing prop,\n // because the decorator must have been applied to something.\n if ((_this$target_$storedA = this.target_[storedAnnotationsSymbol]) != null && _this$target_$storedA[key]) return; // will be annotated by subclass constructor\n else die(1, annotation.annotationType_, this.name_ + \".\" + key.toString());\n }\n var source = this.target_;\n while(source && source !== objectPrototype){\n var descriptor = getDescriptor(source, key);\n if (descriptor) {\n var outcome = annotation.make_(this, key, descriptor, source);\n if (outcome === 0 /* MakeResult.Cancel */ ) return;\n if (outcome === 1 /* MakeResult.Break */ ) break;\n }\n source = Object.getPrototypeOf(source);\n }\n recordAnnotationApplied(this, annotation, key);\n } /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {Annotation|boolean} annotation true - use default annotation, false - copy as is\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */ ;\n _proto.extend_ = function extend_(key, descriptor, annotation, proxyTrap) {\n if (proxyTrap === void 0) proxyTrap = false;\n if (annotation === true) annotation = this.defaultAnnotation_;\n if (annotation === false) return this.defineProperty_(key, descriptor, proxyTrap);\n assertAnnotable(this, annotation, key);\n var outcome = annotation.extend_(this, key, descriptor, proxyTrap);\n if (outcome) recordAnnotationApplied(this, annotation, key);\n return outcome;\n } /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */ ;\n _proto.defineProperty_ = function defineProperty_(key, descriptor, proxyTrap) {\n if (proxyTrap === void 0) proxyTrap = false;\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n try {\n startBatch();\n // Delete\n var deleteOutcome = this.delete_(key);\n if (!deleteOutcome) // Failure or intercepted\n return deleteOutcome;\n // ADD interceptor\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: descriptor.value\n });\n if (!change) return null;\n var newValue = change.newValue;\n if (descriptor.value !== newValue) descriptor = _extends({}, descriptor, {\n value: newValue\n });\n }\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) return false;\n } else defineProperty(this.target_, key, descriptor);\n // Notify\n this.notifyPropertyAddition_(key, descriptor.value);\n } finally{\n endBatch();\n }\n return true;\n };\n _proto.defineObservableProperty_ = function defineObservableProperty_(key, value, enhancer, proxyTrap) {\n if (proxyTrap === void 0) proxyTrap = false;\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n try {\n startBatch();\n // Delete\n var deleteOutcome = this.delete_(key);\n if (!deleteOutcome) // Failure or intercepted\n return deleteOutcome;\n // ADD interceptor\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: value\n });\n if (!change) return null;\n value = change.newValue;\n }\n var cachedDescriptor = getCachedObservablePropDescriptor(key);\n var descriptor = {\n configurable: globalState.safeDescriptors ? this.isPlainObject_ : true,\n enumerable: true,\n get: cachedDescriptor.get,\n set: cachedDescriptor.set\n };\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) return false;\n } else defineProperty(this.target_, key, descriptor);\n var observable = new ObservableValue(value, enhancer, \"ObservableObject.key\", false);\n this.values_.set(key, observable);\n // Notify (value possibly changed by ObservableValue)\n this.notifyPropertyAddition_(key, observable.value_);\n } finally{\n endBatch();\n }\n return true;\n };\n _proto.defineComputedProperty_ = function defineComputedProperty_(key, options, proxyTrap) {\n if (proxyTrap === void 0) proxyTrap = false;\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n try {\n startBatch();\n // Delete\n var deleteOutcome = this.delete_(key);\n if (!deleteOutcome) // Failure or intercepted\n return deleteOutcome;\n // ADD interceptor\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: undefined\n });\n if (!change) return null;\n }\n options.name || (options.name = \"ObservableObject.key\");\n options.context = this.proxy_ || this.target_;\n var cachedDescriptor = getCachedObservablePropDescriptor(key);\n var descriptor = {\n configurable: globalState.safeDescriptors ? this.isPlainObject_ : true,\n enumerable: false,\n get: cachedDescriptor.get,\n set: cachedDescriptor.set\n };\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) return false;\n } else defineProperty(this.target_, key, descriptor);\n this.values_.set(key, new ComputedValue(options));\n // Notify\n this.notifyPropertyAddition_(key, undefined);\n } finally{\n endBatch();\n }\n return true;\n } /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */ ;\n _proto.delete_ = function delete_(key, proxyTrap) {\n if (proxyTrap === void 0) proxyTrap = false;\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n // No such prop\n if (!hasProp(this.target_, key)) return true;\n // Intercept\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: REMOVE\n });\n // Cancelled\n if (!change) return null;\n }\n // Delete\n try {\n var _this$pendingKeys_;\n startBatch();\n var notify = hasListeners(this);\n var notifySpy = false;\n var observable = this.values_.get(key);\n // Value needed for spies/listeners\n var value = undefined;\n // Optimization: don't pull the value unless we will need it\n if (!observable && (notify || notifySpy)) {\n var _getDescriptor;\n value = (_getDescriptor = getDescriptor(this.target_, key)) == null ? void 0 : _getDescriptor.value;\n }\n // delete prop (do first, may fail)\n if (proxyTrap) {\n if (!Reflect.deleteProperty(this.target_, key)) return false;\n } else delete this.target_[key];\n // Clear observable\n if (observable) {\n this.values_[\"delete\"](key);\n // for computed, value is undefined\n if (observable instanceof ObservableValue) value = observable.value_;\n // Notify: autorun(() => obj[key]), see #1796\n propagateChanged(observable);\n }\n // Notify \"keys/entries/values\" observers\n this.keysAtom_.reportChanged();\n // Notify \"has\" observers\n // \"in\" as it may still exist in proto\n (_this$pendingKeys_ = this.pendingKeys_) == null || (_this$pendingKeys_ = _this$pendingKeys_.get(key)) == null || _this$pendingKeys_.set(key in this.target_);\n // Notify spies/listeners\n if (notify || notifySpy) {\n var _change2 = {\n type: REMOVE,\n observableKind: \"object\",\n object: this.proxy_ || this.target_,\n debugObjectName: this.name_,\n oldValue: value,\n name: key\n };\n if (notify) notifyListeners(this, _change2);\n }\n } finally{\n endBatch();\n }\n return true;\n } /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */ ;\n _proto.observe_ = function observe_(callback, fireImmediately) {\n return registerListener(this, callback);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.notifyPropertyAddition_ = function notifyPropertyAddition_(key, value) {\n var _this$pendingKeys_2;\n var notify = hasListeners(this);\n var notifySpy = false;\n if (notify || notifySpy) {\n var change = notify || notifySpy ? {\n type: ADD,\n observableKind: \"object\",\n debugObjectName: this.name_,\n object: this.proxy_ || this.target_,\n name: key,\n newValue: value\n } : null;\n if (notify) notifyListeners(this, change);\n }\n (_this$pendingKeys_2 = this.pendingKeys_) == null || (_this$pendingKeys_2 = _this$pendingKeys_2.get(key)) == null || _this$pendingKeys_2.set(true);\n // Notify \"keys/entries/values\" observers\n this.keysAtom_.reportChanged();\n };\n _proto.ownKeys_ = function ownKeys_() {\n this.keysAtom_.reportObserved();\n return ownKeys(this.target_);\n };\n _proto.keys_ = function keys_() {\n // Returns enumerable && own, but unfortunately keysAtom will report on ANY key change.\n // There is no way to distinguish between Object.keys(object) and Reflect.ownKeys(object) - both are handled by ownKeys trap.\n // We can either over-report in Object.keys(object) or under-report in Reflect.ownKeys(object)\n // We choose to over-report in Object.keys(object), because:\n // - typically it's used with simple data objects\n // - when symbolic/non-enumerable keys are relevant Reflect.ownKeys works as expected\n this.keysAtom_.reportObserved();\n return Object.keys(this.target_);\n };\n return ObservableObjectAdministration;\n}();\nfunction asObservableObject(target, options) {\n var _options$name;\n if (hasProp(target, $mobx)) return target;\n var name = (_options$name = options == null ? void 0 : options.name) != null ? _options$name : \"ObservableObject\";\n var adm = new ObservableObjectAdministration(target, new Map(), String(name), getAnnotationFromOptions(options));\n addHiddenProp(target, $mobx, adm);\n return target;\n}\nvar isObservableObjectAdministration = /*#__PURE__*/ createInstanceofPredicate(\"ObservableObjectAdministration\", ObservableObjectAdministration);\nfunction getCachedObservablePropDescriptor(key) {\n return descriptorCache[key] || (descriptorCache[key] = {\n get: function get() {\n return this[$mobx].getObservablePropValue_(key);\n },\n set: function set(value) {\n return this[$mobx].setObservablePropValue_(key, value);\n }\n });\n}\nfunction isObservableObject(thing) {\n if (isObject(thing)) return isObservableObjectAdministration(thing[$mobx]);\n return false;\n}\nfunction recordAnnotationApplied(adm, annotation, key) {\n var _adm$target_$storedAn;\n // Remove applied decorator annotation so we don't try to apply it again in subclass constructor\n (_adm$target_$storedAn = adm.target_[storedAnnotationsSymbol]) == null || delete _adm$target_$storedAn[key];\n}\nfunction assertAnnotable(adm, annotation, key) {\n var fieldName, currentAnnotationType, requestedAnnotationType;\n}\n// Bug in safari 9.* (or iOS 9 safari mobile). See #364\nvar ENTRY_0 = /*#__PURE__*/ createArrayEntryDescriptor(0);\nvar safariPrototypeSetterInheritanceBug = /*#__PURE__*/ function() {\n var v = false;\n var p = {};\n Object.defineProperty(p, \"0\", {\n set: function set() {\n v = true;\n }\n });\n /*#__PURE__*/ Object.create(p)[\"0\"] = 1;\n return v === false;\n}();\n/**\n * This array buffer contains two lists of properties, so that all arrays\n * can recycle their property definitions, which significantly improves performance of creating\n * properties on the fly.\n */ var OBSERVABLE_ARRAY_BUFFER_SIZE = 0;\n// Typescript workaround to make sure ObservableArray extends Array\nvar StubArray = function StubArray() {};\nfunction inherit(ctor, proto) {\n if (Object.setPrototypeOf) Object.setPrototypeOf(ctor.prototype, proto);\n else if (ctor.prototype.__proto__ !== undefined) ctor.prototype.__proto__ = proto;\n else ctor.prototype = proto;\n}\ninherit(StubArray, Array.prototype);\n// Weex proto freeze protection was here,\n// but it is unclear why the hack is need as MobX never changed the prototype\n// anyway, so removed it in V6\nvar LegacyObservableArray = /*#__PURE__*/ function(_StubArray) {\n function LegacyObservableArray(initialValues, enhancer, name, owned) {\n var _this;\n if (name === void 0) name = \"ObservableArray\";\n if (owned === void 0) owned = false;\n _this = _StubArray.call(this) || this;\n initObservable(function() {\n var adm = new ObservableArrayAdministration(name, enhancer, owned, true);\n adm.proxy_ = _this;\n addHiddenFinalProp(_this, $mobx, adm);\n if (initialValues && initialValues.length) // @ts-ignore\n _this.spliceWithArray(0, 0, initialValues);\n if (safariPrototypeSetterInheritanceBug) // Seems that Safari won't use numeric prototype setter until any * numeric property is\n // defined on the instance. After that it works fine, even if this property is deleted.\n Object.defineProperty(_this, \"0\", ENTRY_0);\n });\n return _this;\n }\n _inheritsLoose(LegacyObservableArray, _StubArray);\n var _proto = LegacyObservableArray.prototype;\n _proto.concat = function concat() {\n this[$mobx].atom_.reportObserved();\n for(var _len = arguments.length, arrays = new Array(_len), _key = 0; _key < _len; _key++)arrays[_key] = arguments[_key];\n return Array.prototype.concat.apply(this.slice(), //@ts-ignore\n arrays.map(function(a) {\n return isObservableArray(a) ? a.slice() : a;\n }));\n };\n _proto[Symbol.iterator] = function() {\n var self1 = this;\n var nextIndex = 0;\n return makeIterable({\n next: function next() {\n return nextIndex < self1.length ? {\n value: self1[nextIndex++],\n done: false\n } : {\n done: true,\n value: undefined\n };\n }\n });\n };\n return _createClass(LegacyObservableArray, [\n {\n key: \"length\",\n get: function get() {\n return this[$mobx].getArrayLength_();\n },\n set: function set(newLength) {\n this[$mobx].setArrayLength_(newLength);\n }\n },\n {\n key: Symbol.toStringTag,\n get: function get() {\n return \"Array\";\n }\n }\n ]);\n}(StubArray);\nObject.entries(arrayExtensions).forEach(function(_ref) {\n var prop = _ref[0], fn = _ref[1];\n if (prop !== \"concat\") addHiddenProp(LegacyObservableArray.prototype, prop, fn);\n});\nfunction createArrayEntryDescriptor(index) {\n return {\n enumerable: false,\n configurable: true,\n get: function get() {\n return this[$mobx].get_(index);\n },\n set: function set(value) {\n this[$mobx].set_(index, value);\n }\n };\n}\nfunction createArrayBufferItem(index) {\n defineProperty(LegacyObservableArray.prototype, \"\" + index, createArrayEntryDescriptor(index));\n}\nfunction reserveArrayBuffer(max) {\n if (max > OBSERVABLE_ARRAY_BUFFER_SIZE) {\n for(var index = OBSERVABLE_ARRAY_BUFFER_SIZE; index < max + 100; index++)createArrayBufferItem(index);\n OBSERVABLE_ARRAY_BUFFER_SIZE = max;\n }\n}\nreserveArrayBuffer(1000);\nfunction createLegacyArray(initialValues, enhancer, name) {\n return new LegacyObservableArray(initialValues, enhancer, name);\n}\nfunction getAtom(thing, property) {\n if (typeof thing === \"object\" && thing !== null) {\n if (isObservableArray(thing)) {\n if (property !== undefined) die(23);\n return thing[$mobx].atom_;\n }\n if (isObservableSet(thing)) return thing.atom_;\n if (isObservableMap(thing)) {\n if (property === undefined) return thing.keysAtom_;\n var observable = thing.data_.get(property) || thing.hasMap_.get(property);\n if (!observable) die(25, property, getDebugName(thing));\n return observable;\n }\n if (isObservableObject(thing)) {\n if (!property) return die(26);\n var _observable = thing[$mobx].values_.get(property);\n if (!_observable) die(27, property, getDebugName(thing));\n return _observable;\n }\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) return thing;\n } else if (isFunction(thing)) {\n if (isReaction(thing[$mobx])) // disposer function\n return thing[$mobx];\n }\n die(28);\n}\nfunction getAdministration(thing, property) {\n if (!thing) die(29);\n if (property !== undefined) return getAdministration(getAtom(thing, property));\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) return thing;\n if (isObservableMap(thing) || isObservableSet(thing)) return thing;\n if (thing[$mobx]) return thing[$mobx];\n die(24, thing);\n}\nfunction getDebugName(thing, property) {\n var named;\n if (property !== undefined) named = getAtom(thing, property);\n else if (isAction(thing)) return thing.name;\n else if (isObservableObject(thing) || isObservableMap(thing) || isObservableSet(thing)) named = getAdministration(thing);\n else // valid for arrays as well\n named = getAtom(thing);\n return named.name_;\n}\n/**\n * Helper function for initializing observable structures, it applies:\n * 1. allowStateChanges so we don't violate enforceActions.\n * 2. untracked so we don't accidentaly subscribe to anything observable accessed during init in case the observable is created inside derivation.\n * 3. batch to avoid state version updates\n */ function initObservable(cb) {\n var derivation = untrackedStart();\n var allowStateChanges = allowStateChangesStart(true);\n startBatch();\n try {\n return cb();\n } finally{\n endBatch();\n allowStateChangesEnd(allowStateChanges);\n untrackedEnd(derivation);\n }\n}\nvar toString = objectPrototype.toString;\nfunction deepEqual(a, b, depth) {\n if (depth === void 0) depth = -1;\n return eq(a, b, depth);\n}\n// Copied from https://github.com/jashkenas/underscore/blob/5c237a7c682fb68fd5378203f0bf22dce1624854/underscore.js#L1186-L1289\n// Internal recursive comparison function for `isEqual`.\nfunction eq(a, b, depth, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) return false;\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) return b !== b;\n // Exhaust primitive checks\n var type = typeof a;\n if (type !== \"function\" && type !== \"object\" && typeof b != \"object\") return false;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n switch(className){\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case \"[object RegExp]\":\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case \"[object String]\":\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return \"\" + a === \"\" + b;\n case \"[object Number]\":\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case \"[object Date]\":\n case \"[object Boolean]\":\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n case \"[object Symbol]\":\n return typeof Symbol !== \"undefined\" && Symbol.valueOf.call(a) === Symbol.valueOf.call(b);\n case \"[object Map]\":\n case \"[object Set]\":\n // Maps and Sets are unwrapped to arrays of entry-pairs, adding an incidental level.\n // Hide this extra level by increasing the depth.\n if (depth >= 0) depth++;\n break;\n }\n // Unwrap any wrapped objects.\n a = unwrap(a);\n b = unwrap(b);\n var areArrays = className === \"[object Array]\";\n if (!areArrays) {\n if (typeof a != \"object\" || typeof b != \"object\") return false;\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor && !(isFunction(aCtor) && aCtor instanceof aCtor && isFunction(bCtor) && bCtor instanceof bCtor) && \"constructor\" in a && \"constructor\" in b) return false;\n }\n if (depth === 0) return false;\n else if (depth < 0) depth = -1;\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while(length--){\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b;\n }\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while(length--){\n if (!eq(a[length], b[length], depth - 1, aStack, bStack)) return false;\n }\n } else {\n // Deep compare objects.\n var keys = Object.keys(a);\n var key;\n length = keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (Object.keys(b).length !== length) return false;\n while(length--){\n // Deep compare each member\n key = keys[length];\n if (!(hasProp(b, key) && eq(a[key], b[key], depth - 1, aStack, bStack))) return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n}\nfunction unwrap(a) {\n if (isObservableArray(a)) return a.slice();\n if (isES6Map(a) || isObservableMap(a)) return Array.from(a.entries());\n if (isES6Set(a) || isObservableSet(a)) return Array.from(a.entries());\n return a;\n}\nvar _getGlobal$Iterator;\n// safely get iterator prototype if available\nvar maybeIteratorPrototype = ((_getGlobal$Iterator = /*#__PURE__*/ getGlobal().Iterator) == null ? void 0 : _getGlobal$Iterator.prototype) || {};\nfunction makeIterable(iterator) {\n iterator[Symbol.iterator] = getSelf;\n return Object.assign(Object.create(maybeIteratorPrototype), iterator);\n}\nfunction getSelf() {\n return this;\n}\nfunction isAnnotation(thing) {\n return(// Can be function\n thing instanceof Object && typeof thing.annotationType_ === \"string\" && isFunction(thing.make_) && isFunction(thing.extend_));\n}\n/**\n * (c) Michel Weststrate 2015 - 2020\n * MIT Licensed\n *\n * Welcome to the mobx sources! To get a global overview of how MobX internally works,\n * this is a good place to start:\n * https://medium.com/@mweststrate/becoming-fully-reactive-an-in-depth-explanation-of-mobservable-55995262a254#.xvbh6qd74\n *\n * Source folders:\n * ===============\n *\n * - api/ Most of the public static methods exposed by the module can be found here.\n * - core/ Implementation of the MobX algorithm; atoms, derivations, reactions, dependency trees, optimizations. Cool stuff can be found here.\n * - types/ All the magic that is need to have observable objects, arrays and values is in this folder. Including the modifiers like `asFlat`.\n * - utils/ Utility stuff.\n *\n */ [\n \"Symbol\",\n \"Map\",\n \"Set\"\n].forEach(function(m) {\n var g = getGlobal();\n if (typeof g[m] === \"undefined\") die(\"MobX requires global '\" + m + \"' to be available or polyfilled\");\n});\nif (typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__ === \"object\") // See: https://github.com/andykog/mobx-devtools/\n__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({\n spy: spy,\n extras: {\n getDebugName: getDebugName\n },\n $mobx: $mobx\n});\n\n});\n\nvar $957cf12c60d95319$exports = {};\n\"use strict\";\nObject.defineProperty($957cf12c60d95319$exports, \"__esModule\", {\n value: true\n});\n$957cf12c60d95319$exports.Fragment = $957cf12c60d95319$exports.jsxDEV = $957cf12c60d95319$exports.jsxs = void 0;\n$957cf12c60d95319$exports.jsx = $957cf12c60d95319$var$jsx;\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\nvar $kYZOD = parcelRequire(\"kYZOD\");\n\nvar $8alBv = parcelRequire(\"8alBv\");\n/**\n * @see {@link https://github.com/reactjs/rfcs/blob/createlement-rfc/text/0000-create-element-changes.md}\n * @see {@link https://babeljs.io/docs/babel-plugin-transform-react-jsx}\n */ function $957cf12c60d95319$var$jsx(type, _a, key) {\n var ref = _a.ref, is = _a.is, style = _a.style, children = _a.children, props = $ceFTv.__rest(_a, [\n \"ref\",\n \"is\",\n \"style\",\n \"children\"\n ]);\n if (typeof type === 'function' && (0, $kYZOD.isHTMLElementClass)(type)) type = (0, $kYZOD.tagNameOf)(type);\n children = [\n children\n ].flat(Infinity).map(function(node) {\n return node instanceof Object ? new $8alBv.VNode(node) : node === 0 || node ? new $8alBv.VNode({\n text: node.toString()\n }) : undefined;\n }).filter(Boolean);\n var commonProps = {\n key: key,\n ref: ref,\n is: is,\n style: style,\n children: children\n };\n return typeof type === 'string' ? new $8alBv.VNode($ceFTv.__assign($ceFTv.__assign({}, commonProps), {\n tagName: type,\n props: props\n })) : type($ceFTv.__assign($ceFTv.__assign({}, commonProps), props));\n}\n$957cf12c60d95319$exports.jsxs = $957cf12c60d95319$var$jsx;\n$957cf12c60d95319$exports.jsxDEV = $957cf12c60d95319$var$jsx;\n/**\n * @see {@link https://babeljs.io/docs/babel-plugin-transform-react-jsx#react-automatic-runtime-1}\n */ var $957cf12c60d95319$var$Fragment = function(_a) {\n var key = _a.key, ref = _a.ref, is = _a.is, style = _a.style, children = _a.children, props = $ceFTv.__rest(_a, [\n \"key\",\n \"ref\",\n \"is\",\n \"style\",\n \"children\"\n ]);\n return new $8alBv.VNode({\n key: key,\n ref: ref,\n is: is,\n props: (0, $kYZOD.isEmpty)(props) ? undefined : props,\n style: style,\n children: children\n });\n};\n$957cf12c60d95319$exports.Fragment = $957cf12c60d95319$var$Fragment;\n\n\nvar $5ec47347fc6130b4$var$OriginalPromise = Promise;\n/**\n * ES5 subclassing is used per:\n * https://github.com/rtsao/browser-unhandled-rejection/issues/1\n * https://kangax.github.io/compat-table/es6/#test-Promise_is_subclassable\n *\n * Adapted from: https://gist.github.com/domenic/8ed6048b187ee8f2ec75\n */ var $5ec47347fc6130b4$var$InstrumentedPromise$1 = function Promise1(resolver) {\n if (!(this instanceof $5ec47347fc6130b4$var$InstrumentedPromise$1)) throw new TypeError('Cannot call a class as a function');\n var promise = new $5ec47347fc6130b4$var$OriginalPromise(function(resolve, reject) {\n return resolver(resolve, function(arg) {\n $5ec47347fc6130b4$var$OriginalPromise.resolve().then(function() {\n if (promise._hasDownstreams === undefined) $5ec47347fc6130b4$var$dispatchUnhandledRejectionEvent(promise, arg);\n });\n return reject(arg);\n });\n });\n promise.__proto__ = $5ec47347fc6130b4$var$InstrumentedPromise$1.prototype;\n return promise;\n};\n$5ec47347fc6130b4$var$InstrumentedPromise$1.__proto__ = $5ec47347fc6130b4$var$OriginalPromise;\n$5ec47347fc6130b4$var$InstrumentedPromise$1.prototype.__proto__ = $5ec47347fc6130b4$var$OriginalPromise.prototype;\n$5ec47347fc6130b4$var$InstrumentedPromise$1.prototype.then = function then(onFulfilled, onRejected) {\n var next = $5ec47347fc6130b4$var$OriginalPromise.prototype.then.call(this, onFulfilled, onRejected);\n this._hasDownstreams = true;\n return next;\n};\nfunction $5ec47347fc6130b4$var$dispatchUnhandledRejectionEvent(promise, reason) {\n var event = document.createEvent('Event');\n /**\n * Note: these properties should not be enumerable, which is the default setting\n */ Object.defineProperties(event, {\n promise: {\n value: promise,\n writable: false\n },\n reason: {\n value: reason,\n writable: false\n }\n });\n event.initEvent('unhandledrejection', false, true // PromiseRejectionEvent is cancelable\n );\n window.dispatchEvent(event);\n}\nfunction $5ec47347fc6130b4$export$baf72085f5fb4df() {\n return typeof PromiseRejectionEvent === 'undefined';\n}\nfunction $5ec47347fc6130b4$export$cea1c58a6db52bca() {\n Promise = $5ec47347fc6130b4$var$InstrumentedPromise$1;\n}\nfunction $5ec47347fc6130b4$export$dfb5619354ba860() {\n if ($5ec47347fc6130b4$export$baf72085f5fb4df()) $5ec47347fc6130b4$export$cea1c58a6db52bca();\n}\nvar $5ec47347fc6130b4$export$2e2bcd8739ae039 = $5ec47347fc6130b4$var$InstrumentedPromise$1;\n\n\nvar $6cc92a54d783d8e3$exports = {};\n\"use strict\";\nObject.defineProperty($6cc92a54d783d8e3$exports, \"__esModule\", {\n value: true\n});\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n$ceFTv.__exportStar((parcelRequire(\"8alBv\")), $6cc92a54d783d8e3$exports);\n\n$ceFTv.__exportStar((parcelRequire(\"e1Ksv\")), $6cc92a54d783d8e3$exports);\n\n\n\nvar $kpaC8 = parcelRequire(\"kpaC8\");\n\nvar $kYZOD = parcelRequire(\"kYZOD\");\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $0268acc93e67b930$var$t = globalThis, $0268acc93e67b930$export$b4d10f6001c083c2 = $0268acc93e67b930$var$t.ShadowRoot && (void 0 === $0268acc93e67b930$var$t.ShadyCSS || $0268acc93e67b930$var$t.ShadyCSS.nativeShadow) && \"adoptedStyleSheets\" in Document.prototype && \"replace\" in CSSStyleSheet.prototype, $0268acc93e67b930$var$s = Symbol(), $0268acc93e67b930$var$o = new WeakMap;\nclass $0268acc93e67b930$export$505d1e8739bad805 {\n constructor(t, e, o){\n if (this._$cssResult$ = !0, o !== $0268acc93e67b930$var$s) throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");\n this.cssText = t, this.t = e;\n }\n get styleSheet() {\n let t = this.o;\n const s = this.t;\n if ($0268acc93e67b930$export$b4d10f6001c083c2 && void 0 === t) {\n const e = void 0 !== s && 1 === s.length;\n e && (t = $0268acc93e67b930$var$o.get(s)), void 0 === t && ((this.o = t = new CSSStyleSheet).replaceSync(this.cssText), e && $0268acc93e67b930$var$o.set(s, t));\n }\n return t;\n }\n toString() {\n return this.cssText;\n }\n}\nconst $0268acc93e67b930$export$8d80f9cac07cdb3 = (t)=>new $0268acc93e67b930$export$505d1e8739bad805(\"string\" == typeof t ? t : t + \"\", void 0, $0268acc93e67b930$var$s), $0268acc93e67b930$export$dbf350e5966cf602 = (t, ...e)=>{\n const o = 1 === t.length ? t[0] : e.reduce((e, s, o)=>e + ((t)=>{\n if (!0 === t._$cssResult$) return t.cssText;\n if (\"number\" == typeof t) return t;\n throw Error(\"Value passed to 'css' function must be a 'css' function result: \" + t + \". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\");\n })(s) + t[o + 1], t[0]);\n return new $0268acc93e67b930$export$505d1e8739bad805(o, t, $0268acc93e67b930$var$s);\n}, $0268acc93e67b930$export$2ca4a66ec4cecb90 = (s, o)=>{\n if ($0268acc93e67b930$export$b4d10f6001c083c2) s.adoptedStyleSheets = o.map((t)=>t instanceof CSSStyleSheet ? t : t.styleSheet);\n else for (const e of o){\n const o = document.createElement(\"style\"), n = $0268acc93e67b930$var$t.litNonce;\n void 0 !== n && o.setAttribute(\"nonce\", n), o.textContent = e.cssText, s.appendChild(o);\n }\n}, $0268acc93e67b930$export$ee69dfd951e24778 = $0268acc93e67b930$export$b4d10f6001c083c2 ? (t)=>t : (t)=>t instanceof CSSStyleSheet ? ((t)=>{\n let e = \"\";\n for (const s of t.cssRules)e += s.cssText;\n return $0268acc93e67b930$export$8d80f9cac07cdb3(e);\n })(t) : t;\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const { is: $67bf2f689afe545b$var$i, defineProperty: $67bf2f689afe545b$var$e, getOwnPropertyDescriptor: $67bf2f689afe545b$var$r, getOwnPropertyNames: $67bf2f689afe545b$var$h, getOwnPropertySymbols: $67bf2f689afe545b$var$o, getPrototypeOf: $67bf2f689afe545b$var$n } = Object, $67bf2f689afe545b$var$a = globalThis, $67bf2f689afe545b$var$c = $67bf2f689afe545b$var$a.trustedTypes, $67bf2f689afe545b$var$l = $67bf2f689afe545b$var$c ? $67bf2f689afe545b$var$c.emptyScript : \"\", $67bf2f689afe545b$var$p = $67bf2f689afe545b$var$a.reactiveElementPolyfillSupport, $67bf2f689afe545b$var$d = (t, s)=>t, $67bf2f689afe545b$export$7312b35fbf521afb = {\n toAttribute (t, s) {\n switch(s){\n case Boolean:\n t = t ? $67bf2f689afe545b$var$l : null;\n break;\n case Object:\n case Array:\n t = null == t ? t : JSON.stringify(t);\n }\n return t;\n },\n fromAttribute (t, s) {\n let i = t;\n switch(s){\n case Boolean:\n i = null !== t;\n break;\n case Number:\n i = null === t ? null : Number(t);\n break;\n case Object:\n case Array:\n try {\n i = JSON.parse(t);\n } catch (t) {\n i = null;\n }\n }\n return i;\n }\n}, $67bf2f689afe545b$export$53a6892c50694894 = (t, s)=>!$67bf2f689afe545b$var$i(t, s), $67bf2f689afe545b$var$y = {\n attribute: !0,\n type: String,\n converter: $67bf2f689afe545b$export$7312b35fbf521afb,\n reflect: !1,\n hasChanged: $67bf2f689afe545b$export$53a6892c50694894\n};\nSymbol.metadata ??= Symbol(\"metadata\"), $67bf2f689afe545b$var$a.litPropertyMetadata ??= new WeakMap;\nclass $67bf2f689afe545b$export$c7c07a37856565d extends HTMLElement {\n static addInitializer(t) {\n this._$Ei(), (this.l ??= []).push(t);\n }\n static get observedAttributes() {\n return this.finalize(), this._$Eh && [\n ...this._$Eh.keys()\n ];\n }\n static createProperty(t, s = $67bf2f689afe545b$var$y) {\n if (s.state && (s.attribute = !1), this._$Ei(), this.elementProperties.set(t, s), !s.noAccessor) {\n const i = Symbol(), r = this.getPropertyDescriptor(t, i, s);\n void 0 !== r && $67bf2f689afe545b$var$e(this.prototype, t, r);\n }\n }\n static getPropertyDescriptor(t, s, i) {\n const { get: e, set: h } = $67bf2f689afe545b$var$r(this.prototype, t) ?? {\n get () {\n return this[s];\n },\n set (t) {\n this[s] = t;\n }\n };\n return {\n get () {\n return e?.call(this);\n },\n set (s) {\n const r = e?.call(this);\n h.call(this, s), this.requestUpdate(t, r, i);\n },\n configurable: !0,\n enumerable: !0\n };\n }\n static getPropertyOptions(t) {\n return this.elementProperties.get(t) ?? $67bf2f689afe545b$var$y;\n }\n static _$Ei() {\n if (this.hasOwnProperty($67bf2f689afe545b$var$d(\"elementProperties\"))) return;\n const t = $67bf2f689afe545b$var$n(this);\n t.finalize(), void 0 !== t.l && (this.l = [\n ...t.l\n ]), this.elementProperties = new Map(t.elementProperties);\n }\n static finalize() {\n if (this.hasOwnProperty($67bf2f689afe545b$var$d(\"finalized\"))) return;\n if (this.finalized = !0, this._$Ei(), this.hasOwnProperty($67bf2f689afe545b$var$d(\"properties\"))) {\n const t = this.properties, s = [\n ...$67bf2f689afe545b$var$h(t),\n ...$67bf2f689afe545b$var$o(t)\n ];\n for (const i of s)this.createProperty(i, t[i]);\n }\n const t = this[Symbol.metadata];\n if (null !== t) {\n const s = litPropertyMetadata.get(t);\n if (void 0 !== s) for (const [t, i] of s)this.elementProperties.set(t, i);\n }\n this._$Eh = new Map;\n for (const [t, s] of this.elementProperties){\n const i = this._$Eu(t, s);\n void 0 !== i && this._$Eh.set(i, t);\n }\n this.elementStyles = this.finalizeStyles(this.styles);\n }\n static finalizeStyles(s) {\n const i = [];\n if (Array.isArray(s)) {\n const e = new Set(s.flat(1 / 0).reverse());\n for (const s of e)i.unshift((0, $0268acc93e67b930$export$ee69dfd951e24778)(s));\n } else void 0 !== s && i.push((0, $0268acc93e67b930$export$ee69dfd951e24778)(s));\n return i;\n }\n static _$Eu(t, s) {\n const i = s.attribute;\n return !1 === i ? void 0 : \"string\" == typeof i ? i : \"string\" == typeof t ? t.toLowerCase() : void 0;\n }\n constructor(){\n super(), this._$Ep = void 0, this.isUpdatePending = !1, this.hasUpdated = !1, this._$Em = null, this._$Ev();\n }\n _$Ev() {\n this._$ES = new Promise((t)=>this.enableUpdating = t), this._$AL = new Map, this._$E_(), this.requestUpdate(), this.constructor.l?.forEach((t)=>t(this));\n }\n addController(t) {\n (this._$EO ??= new Set).add(t), void 0 !== this.renderRoot && this.isConnected && t.hostConnected?.();\n }\n removeController(t) {\n this._$EO?.delete(t);\n }\n _$E_() {\n const t = new Map, s = this.constructor.elementProperties;\n for (const i of s.keys())this.hasOwnProperty(i) && (t.set(i, this[i]), delete this[i]);\n t.size > 0 && (this._$Ep = t);\n }\n createRenderRoot() {\n const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);\n return (0, $0268acc93e67b930$export$2ca4a66ec4cecb90)(t, this.constructor.elementStyles), t;\n }\n connectedCallback() {\n this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(!0), this._$EO?.forEach((t)=>t.hostConnected?.());\n }\n enableUpdating(t) {}\n disconnectedCallback() {\n this._$EO?.forEach((t)=>t.hostDisconnected?.());\n }\n attributeChangedCallback(t, s, i) {\n this._$AK(t, i);\n }\n _$EC(t, s) {\n const i = this.constructor.elementProperties.get(t), e = this.constructor._$Eu(t, i);\n if (void 0 !== e && !0 === i.reflect) {\n const r = (void 0 !== i.converter?.toAttribute ? i.converter : $67bf2f689afe545b$export$7312b35fbf521afb).toAttribute(s, i.type);\n this._$Em = t, null == r ? this.removeAttribute(e) : this.setAttribute(e, r), this._$Em = null;\n }\n }\n _$AK(t, s) {\n const i = this.constructor, e = i._$Eh.get(t);\n if (void 0 !== e && this._$Em !== e) {\n const t = i.getPropertyOptions(e), r = \"function\" == typeof t.converter ? {\n fromAttribute: t.converter\n } : void 0 !== t.converter?.fromAttribute ? t.converter : $67bf2f689afe545b$export$7312b35fbf521afb;\n this._$Em = e, this[e] = r.fromAttribute(s, t.type), this._$Em = null;\n }\n }\n requestUpdate(t, s, i) {\n if (void 0 !== t) {\n if (i ??= this.constructor.getPropertyOptions(t), !(i.hasChanged ?? $67bf2f689afe545b$export$53a6892c50694894)(this[t], s)) return;\n this.P(t, s, i);\n }\n !1 === this.isUpdatePending && (this._$ES = this._$ET());\n }\n P(t, s, i) {\n this._$AL.has(t) || this._$AL.set(t, s), !0 === i.reflect && this._$Em !== t && (this._$Ej ??= new Set).add(t);\n }\n async _$ET() {\n this.isUpdatePending = !0;\n try {\n await this._$ES;\n } catch (t) {\n Promise.reject(t);\n }\n const t = this.scheduleUpdate();\n return null != t && await t, !this.isUpdatePending;\n }\n scheduleUpdate() {\n return this.performUpdate();\n }\n performUpdate() {\n if (!this.isUpdatePending) return;\n if (!this.hasUpdated) {\n if (this.renderRoot ??= this.createRenderRoot(), this._$Ep) {\n for (const [t, s] of this._$Ep)this[t] = s;\n this._$Ep = void 0;\n }\n const t = this.constructor.elementProperties;\n if (t.size > 0) for (const [s, i] of t)!0 !== i.wrapped || this._$AL.has(s) || void 0 === this[s] || this.P(s, this[s], i);\n }\n let t = !1;\n const s = this._$AL;\n try {\n t = this.shouldUpdate(s), t ? (this.willUpdate(s), this._$EO?.forEach((t)=>t.hostUpdate?.()), this.update(s)) : this._$EU();\n } catch (s) {\n throw t = !1, this._$EU(), s;\n }\n t && this._$AE(s);\n }\n willUpdate(t) {}\n _$AE(t) {\n this._$EO?.forEach((t)=>t.hostUpdated?.()), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t);\n }\n _$EU() {\n this._$AL = new Map, this.isUpdatePending = !1;\n }\n get updateComplete() {\n return this.getUpdateComplete();\n }\n getUpdateComplete() {\n return this._$ES;\n }\n shouldUpdate(t) {\n return !0;\n }\n update(t) {\n this._$Ej &&= this._$Ej.forEach((t)=>this._$EC(t, this[t])), this._$EU();\n }\n updated(t) {}\n firstUpdated(t) {}\n}\n$67bf2f689afe545b$export$c7c07a37856565d.elementStyles = [], $67bf2f689afe545b$export$c7c07a37856565d.shadowRootOptions = {\n mode: \"open\"\n}, $67bf2f689afe545b$export$c7c07a37856565d[$67bf2f689afe545b$var$d(\"elementProperties\")] = new Map, $67bf2f689afe545b$export$c7c07a37856565d[$67bf2f689afe545b$var$d(\"finalized\")] = new Map, $67bf2f689afe545b$var$p?.({\n ReactiveElement: $67bf2f689afe545b$export$c7c07a37856565d\n}), ($67bf2f689afe545b$var$a.reactiveElementVersions ??= []).push(\"2.0.4\");\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $1182a8bbea75578f$var$t = globalThis, $1182a8bbea75578f$var$i = $1182a8bbea75578f$var$t.trustedTypes, $1182a8bbea75578f$var$s = $1182a8bbea75578f$var$i ? $1182a8bbea75578f$var$i.createPolicy(\"lit-html\", {\n createHTML: (t)=>t\n}) : void 0, $1182a8bbea75578f$var$e = \"$lit$\", $1182a8bbea75578f$var$h = `lit$${Math.random().toFixed(9).slice(2)}$`, $1182a8bbea75578f$var$o = \"?\" + $1182a8bbea75578f$var$h, $1182a8bbea75578f$var$n = `<${$1182a8bbea75578f$var$o}>`, $1182a8bbea75578f$var$r = document, $1182a8bbea75578f$var$l = ()=>$1182a8bbea75578f$var$r.createComment(\"\"), $1182a8bbea75578f$var$c = (t)=>null === t || \"object\" != typeof t && \"function\" != typeof t, $1182a8bbea75578f$var$a = Array.isArray, $1182a8bbea75578f$var$u = (t)=>$1182a8bbea75578f$var$a(t) || \"function\" == typeof t?.[Symbol.iterator], $1182a8bbea75578f$var$d = \"[ \\t\\n\\f\\r]\", $1182a8bbea75578f$var$f = /<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g, $1182a8bbea75578f$var$v = /-->/g, $1182a8bbea75578f$var$_ = />/g, $1182a8bbea75578f$var$m = RegExp(`>|${$1182a8bbea75578f$var$d}(?:([^\\\\s\"'>=/]+)(${$1182a8bbea75578f$var$d}*=${$1182a8bbea75578f$var$d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`, \"g\"), $1182a8bbea75578f$var$p = /'/g, $1182a8bbea75578f$var$g = /\"/g, $1182a8bbea75578f$var$$ = /^(?:script|style|textarea|title)$/i, $1182a8bbea75578f$var$y = (t)=>(i, ...s)=>({\n _$litType$: t,\n strings: i,\n values: s\n }), $1182a8bbea75578f$export$c0bb0b647f701bb5 = $1182a8bbea75578f$var$y(1), $1182a8bbea75578f$export$7ed1367e7fa1ad68 = $1182a8bbea75578f$var$y(2), $1182a8bbea75578f$export$47d5b44d225be5b4 = $1182a8bbea75578f$var$y(3), $1182a8bbea75578f$export$9c068ae9cc5db4e8 = Symbol.for(\"lit-noChange\"), $1182a8bbea75578f$export$45b790e32b2810ee = Symbol.for(\"lit-nothing\"), $1182a8bbea75578f$var$A = new WeakMap, $1182a8bbea75578f$var$C = $1182a8bbea75578f$var$r.createTreeWalker($1182a8bbea75578f$var$r, 129);\nfunction $1182a8bbea75578f$var$P(t, i) {\n if (!$1182a8bbea75578f$var$a(t) || !t.hasOwnProperty(\"raw\")) throw Error(\"invalid template strings array\");\n return void 0 !== $1182a8bbea75578f$var$s ? $1182a8bbea75578f$var$s.createHTML(i) : i;\n}\nconst $1182a8bbea75578f$var$V = (t, i)=>{\n const s = t.length - 1, o = [];\n let r, l = 2 === i ? \"<svg>\" : 3 === i ? \"<math>\" : \"\", c = $1182a8bbea75578f$var$f;\n for(let i = 0; i < s; i++){\n const s = t[i];\n let a, u, d = -1, y = 0;\n for(; y < s.length && (c.lastIndex = y, u = c.exec(s), null !== u);)y = c.lastIndex, c === $1182a8bbea75578f$var$f ? \"!--\" === u[1] ? c = $1182a8bbea75578f$var$v : void 0 !== u[1] ? c = $1182a8bbea75578f$var$_ : void 0 !== u[2] ? ($1182a8bbea75578f$var$$.test(u[2]) && (r = RegExp(\"</\" + u[2], \"g\")), c = $1182a8bbea75578f$var$m) : void 0 !== u[3] && (c = $1182a8bbea75578f$var$m) : c === $1182a8bbea75578f$var$m ? \">\" === u[0] ? (c = r ?? $1182a8bbea75578f$var$f, d = -1) : void 0 === u[1] ? d = -2 : (d = c.lastIndex - u[2].length, a = u[1], c = void 0 === u[3] ? $1182a8bbea75578f$var$m : '\"' === u[3] ? $1182a8bbea75578f$var$g : $1182a8bbea75578f$var$p) : c === $1182a8bbea75578f$var$g || c === $1182a8bbea75578f$var$p ? c = $1182a8bbea75578f$var$m : c === $1182a8bbea75578f$var$v || c === $1182a8bbea75578f$var$_ ? c = $1182a8bbea75578f$var$f : (c = $1182a8bbea75578f$var$m, r = void 0);\n const x = c === $1182a8bbea75578f$var$m && t[i + 1].startsWith(\"/>\") ? \" \" : \"\";\n l += c === $1182a8bbea75578f$var$f ? s + $1182a8bbea75578f$var$n : d >= 0 ? (o.push(a), s.slice(0, d) + $1182a8bbea75578f$var$e + s.slice(d) + $1182a8bbea75578f$var$h + x) : s + $1182a8bbea75578f$var$h + (-2 === d ? i : x);\n }\n return [\n $1182a8bbea75578f$var$P(t, l + (t[s] || \"<?>\") + (2 === i ? \"</svg>\" : 3 === i ? \"</math>\" : \"\")),\n o\n ];\n};\nclass $1182a8bbea75578f$var$N {\n constructor({ strings: t, _$litType$: s }, n){\n let r;\n this.parts = [];\n let c = 0, a = 0;\n const u = t.length - 1, d = this.parts, [f, v] = $1182a8bbea75578f$var$V(t, s);\n if (this.el = $1182a8bbea75578f$var$N.createElement(f, n), $1182a8bbea75578f$var$C.currentNode = this.el.content, 2 === s || 3 === s) {\n const t = this.el.content.firstChild;\n t.replaceWith(...t.childNodes);\n }\n for(; null !== (r = $1182a8bbea75578f$var$C.nextNode()) && d.length < u;){\n if (1 === r.nodeType) {\n if (r.hasAttributes()) for (const t of r.getAttributeNames())if (t.endsWith($1182a8bbea75578f$var$e)) {\n const i = v[a++], s = r.getAttribute(t).split($1182a8bbea75578f$var$h), e = /([.?@])?(.*)/.exec(i);\n d.push({\n type: 1,\n index: c,\n name: e[2],\n strings: s,\n ctor: \".\" === e[1] ? $1182a8bbea75578f$var$H : \"?\" === e[1] ? $1182a8bbea75578f$var$I : \"@\" === e[1] ? $1182a8bbea75578f$var$L : $1182a8bbea75578f$var$k\n }), r.removeAttribute(t);\n } else t.startsWith($1182a8bbea75578f$var$h) && (d.push({\n type: 6,\n index: c\n }), r.removeAttribute(t));\n if ($1182a8bbea75578f$var$$.test(r.tagName)) {\n const t = r.textContent.split($1182a8bbea75578f$var$h), s = t.length - 1;\n if (s > 0) {\n r.textContent = $1182a8bbea75578f$var$i ? $1182a8bbea75578f$var$i.emptyScript : \"\";\n for(let i = 0; i < s; i++)r.append(t[i], $1182a8bbea75578f$var$l()), $1182a8bbea75578f$var$C.nextNode(), d.push({\n type: 2,\n index: ++c\n });\n r.append(t[s], $1182a8bbea75578f$var$l());\n }\n }\n } else if (8 === r.nodeType) {\n if (r.data === $1182a8bbea75578f$var$o) d.push({\n type: 2,\n index: c\n });\n else {\n let t = -1;\n for(; -1 !== (t = r.data.indexOf($1182a8bbea75578f$var$h, t + 1));)d.push({\n type: 7,\n index: c\n }), t += $1182a8bbea75578f$var$h.length - 1;\n }\n }\n c++;\n }\n }\n static createElement(t, i) {\n const s = $1182a8bbea75578f$var$r.createElement(\"template\");\n return s.innerHTML = t, s;\n }\n}\nfunction $1182a8bbea75578f$var$S(t, i, s = t, e) {\n if (i === $1182a8bbea75578f$export$9c068ae9cc5db4e8) return i;\n let h = void 0 !== e ? s._$Co?.[e] : s._$Cl;\n const o = $1182a8bbea75578f$var$c(i) ? void 0 : i._$litDirective$;\n return h?.constructor !== o && (h?._$AO?.(!1), void 0 === o ? h = void 0 : (h = new o(t), h._$AT(t, s, e)), void 0 !== e ? (s._$Co ??= [])[e] = h : s._$Cl = h), void 0 !== h && (i = $1182a8bbea75578f$var$S(t, h._$AS(t, i.values), h, e)), i;\n}\nclass $1182a8bbea75578f$var$M {\n constructor(t, i){\n this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = i;\n }\n get parentNode() {\n return this._$AM.parentNode;\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n u(t) {\n const { el: { content: i }, parts: s } = this._$AD, e = (t?.creationScope ?? $1182a8bbea75578f$var$r).importNode(i, !0);\n $1182a8bbea75578f$var$C.currentNode = e;\n let h = $1182a8bbea75578f$var$C.nextNode(), o = 0, n = 0, l = s[0];\n for(; void 0 !== l;){\n if (o === l.index) {\n let i;\n 2 === l.type ? i = new $1182a8bbea75578f$var$R(h, h.nextSibling, this, t) : 1 === l.type ? i = new l.ctor(h, l.name, l.strings, this, t) : 6 === l.type && (i = new $1182a8bbea75578f$var$z(h, this, t)), this._$AV.push(i), l = s[++n];\n }\n o !== l?.index && (h = $1182a8bbea75578f$var$C.nextNode(), o++);\n }\n return $1182a8bbea75578f$var$C.currentNode = $1182a8bbea75578f$var$r, e;\n }\n p(t) {\n let i = 0;\n for (const s of this._$AV)void 0 !== s && (void 0 !== s.strings ? (s._$AI(t, s, i), i += s.strings.length - 2) : s._$AI(t[i])), i++;\n }\n}\nclass $1182a8bbea75578f$var$R {\n get _$AU() {\n return this._$AM?._$AU ?? this._$Cv;\n }\n constructor(t, i, s, e){\n this.type = 2, this._$AH = $1182a8bbea75578f$export$45b790e32b2810ee, this._$AN = void 0, this._$AA = t, this._$AB = i, this._$AM = s, this.options = e, this._$Cv = e?.isConnected ?? !0;\n }\n get parentNode() {\n let t = this._$AA.parentNode;\n const i = this._$AM;\n return void 0 !== i && 11 === t?.nodeType && (t = i.parentNode), t;\n }\n get startNode() {\n return this._$AA;\n }\n get endNode() {\n return this._$AB;\n }\n _$AI(t, i = this) {\n t = $1182a8bbea75578f$var$S(this, t, i), $1182a8bbea75578f$var$c(t) ? t === $1182a8bbea75578f$export$45b790e32b2810ee || null == t || \"\" === t ? (this._$AH !== $1182a8bbea75578f$export$45b790e32b2810ee && this._$AR(), this._$AH = $1182a8bbea75578f$export$45b790e32b2810ee) : t !== this._$AH && t !== $1182a8bbea75578f$export$9c068ae9cc5db4e8 && this._(t) : void 0 !== t._$litType$ ? this.$(t) : void 0 !== t.nodeType ? this.T(t) : $1182a8bbea75578f$var$u(t) ? this.k(t) : this._(t);\n }\n O(t) {\n return this._$AA.parentNode.insertBefore(t, this._$AB);\n }\n T(t) {\n this._$AH !== t && (this._$AR(), this._$AH = this.O(t));\n }\n _(t) {\n this._$AH !== $1182a8bbea75578f$export$45b790e32b2810ee && $1182a8bbea75578f$var$c(this._$AH) ? this._$AA.nextSibling.data = t : this.T($1182a8bbea75578f$var$r.createTextNode(t)), this._$AH = t;\n }\n $(t) {\n const { values: i, _$litType$: s } = t, e = \"number\" == typeof s ? this._$AC(t) : (void 0 === s.el && (s.el = $1182a8bbea75578f$var$N.createElement($1182a8bbea75578f$var$P(s.h, s.h[0]), this.options)), s);\n if (this._$AH?._$AD === e) this._$AH.p(i);\n else {\n const t = new $1182a8bbea75578f$var$M(e, this), s = t.u(this.options);\n t.p(i), this.T(s), this._$AH = t;\n }\n }\n _$AC(t) {\n let i = $1182a8bbea75578f$var$A.get(t.strings);\n return void 0 === i && $1182a8bbea75578f$var$A.set(t.strings, i = new $1182a8bbea75578f$var$N(t)), i;\n }\n k(t) {\n $1182a8bbea75578f$var$a(this._$AH) || (this._$AH = [], this._$AR());\n const i = this._$AH;\n let s, e = 0;\n for (const h of t)e === i.length ? i.push(s = new $1182a8bbea75578f$var$R(this.O($1182a8bbea75578f$var$l()), this.O($1182a8bbea75578f$var$l()), this, this.options)) : s = i[e], s._$AI(h), e++;\n e < i.length && (this._$AR(s && s._$AB.nextSibling, e), i.length = e);\n }\n _$AR(t = this._$AA.nextSibling, i) {\n for(this._$AP?.(!1, !0, i); t && t !== this._$AB;){\n const i = t.nextSibling;\n t.remove(), t = i;\n }\n }\n setConnected(t) {\n void 0 === this._$AM && (this._$Cv = t, this._$AP?.(t));\n }\n}\nclass $1182a8bbea75578f$var$k {\n get tagName() {\n return this.element.tagName;\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n constructor(t, i, s, e, h){\n this.type = 1, this._$AH = $1182a8bbea75578f$export$45b790e32b2810ee, this._$AN = void 0, this.element = t, this.name = i, this._$AM = e, this.options = h, s.length > 2 || \"\" !== s[0] || \"\" !== s[1] ? (this._$AH = Array(s.length - 1).fill(new String), this.strings = s) : this._$AH = $1182a8bbea75578f$export$45b790e32b2810ee;\n }\n _$AI(t, i = this, s, e) {\n const h = this.strings;\n let o = !1;\n if (void 0 === h) t = $1182a8bbea75578f$var$S(this, t, i, 0), o = !$1182a8bbea75578f$var$c(t) || t !== this._$AH && t !== $1182a8bbea75578f$export$9c068ae9cc5db4e8, o && (this._$AH = t);\n else {\n const e = t;\n let n, r;\n for(t = h[0], n = 0; n < h.length - 1; n++)r = $1182a8bbea75578f$var$S(this, e[s + n], i, n), r === $1182a8bbea75578f$export$9c068ae9cc5db4e8 && (r = this._$AH[n]), o ||= !$1182a8bbea75578f$var$c(r) || r !== this._$AH[n], r === $1182a8bbea75578f$export$45b790e32b2810ee ? t = $1182a8bbea75578f$export$45b790e32b2810ee : t !== $1182a8bbea75578f$export$45b790e32b2810ee && (t += (r ?? \"\") + h[n + 1]), this._$AH[n] = r;\n }\n o && !e && this.j(t);\n }\n j(t) {\n t === $1182a8bbea75578f$export$45b790e32b2810ee ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? \"\");\n }\n}\nclass $1182a8bbea75578f$var$H extends $1182a8bbea75578f$var$k {\n constructor(){\n super(...arguments), this.type = 3;\n }\n j(t) {\n this.element[this.name] = t === $1182a8bbea75578f$export$45b790e32b2810ee ? void 0 : t;\n }\n}\nclass $1182a8bbea75578f$var$I extends $1182a8bbea75578f$var$k {\n constructor(){\n super(...arguments), this.type = 4;\n }\n j(t) {\n this.element.toggleAttribute(this.name, !!t && t !== $1182a8bbea75578f$export$45b790e32b2810ee);\n }\n}\nclass $1182a8bbea75578f$var$L extends $1182a8bbea75578f$var$k {\n constructor(t, i, s, e, h){\n super(t, i, s, e, h), this.type = 5;\n }\n _$AI(t, i = this) {\n if ((t = $1182a8bbea75578f$var$S(this, t, i, 0) ?? $1182a8bbea75578f$export$45b790e32b2810ee) === $1182a8bbea75578f$export$9c068ae9cc5db4e8) return;\n const s = this._$AH, e = t === $1182a8bbea75578f$export$45b790e32b2810ee && s !== $1182a8bbea75578f$export$45b790e32b2810ee || t.capture !== s.capture || t.once !== s.once || t.passive !== s.passive, h = t !== $1182a8bbea75578f$export$45b790e32b2810ee && (s === $1182a8bbea75578f$export$45b790e32b2810ee || e);\n e && this.element.removeEventListener(this.name, this, s), h && this.element.addEventListener(this.name, this, t), this._$AH = t;\n }\n handleEvent(t) {\n \"function\" == typeof this._$AH ? this._$AH.call(this.options?.host ?? this.element, t) : this._$AH.handleEvent(t);\n }\n}\nclass $1182a8bbea75578f$var$z {\n constructor(t, i, s){\n this.element = t, this.type = 6, this._$AN = void 0, this._$AM = i, this.options = s;\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n _$AI(t) {\n $1182a8bbea75578f$var$S(this, t);\n }\n}\nconst $1182a8bbea75578f$export$8613d1ca9052b22e = {\n M: $1182a8bbea75578f$var$e,\n P: $1182a8bbea75578f$var$h,\n A: $1182a8bbea75578f$var$o,\n C: 1,\n L: $1182a8bbea75578f$var$V,\n R: $1182a8bbea75578f$var$M,\n D: $1182a8bbea75578f$var$u,\n V: $1182a8bbea75578f$var$S,\n I: $1182a8bbea75578f$var$R,\n H: $1182a8bbea75578f$var$k,\n N: $1182a8bbea75578f$var$I,\n U: $1182a8bbea75578f$var$L,\n B: $1182a8bbea75578f$var$H,\n F: $1182a8bbea75578f$var$z\n}, $1182a8bbea75578f$var$j = $1182a8bbea75578f$var$t.litHtmlPolyfillSupport;\n$1182a8bbea75578f$var$j?.($1182a8bbea75578f$var$N, $1182a8bbea75578f$var$R), ($1182a8bbea75578f$var$t.litHtmlVersions ??= []).push(\"3.2.1\");\nconst $1182a8bbea75578f$export$b3890eb0ae9dca99 = (t, i, s)=>{\n const e = s?.renderBefore ?? i;\n let h = e._$litPart$;\n if (void 0 === h) {\n const t = s?.renderBefore ?? null;\n e._$litPart$ = h = new $1182a8bbea75578f$var$R(i.insertBefore($1182a8bbea75578f$var$l(), t), t, void 0, s ?? {});\n }\n return h._$AI(t), h;\n};\n\n\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ class $d7ae2122416faf05$export$3f2f9f5909897157 extends (0, $67bf2f689afe545b$export$c7c07a37856565d) {\n constructor(){\n super(...arguments), this.renderOptions = {\n host: this\n }, this._$Do = void 0;\n }\n createRenderRoot() {\n const t = super.createRenderRoot();\n return this.renderOptions.renderBefore ??= t.firstChild, t;\n }\n update(t) {\n const s = this.render();\n this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this._$Do = (0, $1182a8bbea75578f$export$b3890eb0ae9dca99)(s, this.renderRoot, this.renderOptions);\n }\n connectedCallback() {\n super.connectedCallback(), this._$Do?.setConnected(!0);\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this._$Do?.setConnected(!1);\n }\n render() {\n return 0, $1182a8bbea75578f$export$9c068ae9cc5db4e8;\n }\n}\n$d7ae2122416faf05$export$3f2f9f5909897157._$litElement$ = !0, $d7ae2122416faf05$export$3f2f9f5909897157[\"finalized\"] = !0, globalThis.litElementHydrateSupport?.({\n LitElement: $d7ae2122416faf05$export$3f2f9f5909897157\n});\nconst $d7ae2122416faf05$var$i = globalThis.litElementPolyfillSupport;\n$d7ae2122416faf05$var$i?.({\n LitElement: $d7ae2122416faf05$export$3f2f9f5909897157\n});\nconst $d7ae2122416faf05$export$f5c524615a7708d6 = {\n _$AK: (t, e, s)=>{\n t._$AK(e, s);\n },\n _$AL: (t)=>t._$AL\n};\n(globalThis.litElementVersions ??= []).push(\"4.1.1\");\n\n\n/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $e9e0fbd595279cd7$export$6acf61af03e62db = !1;\n\n\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $6eca265e3a72f146$export$da64fc29f17f9d0e = (t)=>(e, o)=>{\n void 0 !== o ? o.addInitializer(()=>{\n customElements.define(t, e);\n }) : customElements.define(t, e);\n };\n\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $acf573f6c2910992$var$o = {\n attribute: !0,\n type: String,\n converter: (0, $67bf2f689afe545b$export$7312b35fbf521afb),\n reflect: !1,\n hasChanged: (0, $67bf2f689afe545b$export$53a6892c50694894)\n}, $acf573f6c2910992$export$8d623b1670eb40f4 = (t = $acf573f6c2910992$var$o, e, r)=>{\n const { kind: n, metadata: i } = r;\n let s = globalThis.litPropertyMetadata.get(i);\n if (void 0 === s && globalThis.litPropertyMetadata.set(i, s = new Map), s.set(r.name, t), \"accessor\" === n) {\n const { name: o } = r;\n return {\n set (r) {\n const n = e.get.call(this);\n e.set.call(this, r), this.requestUpdate(o, n, t);\n },\n init (e) {\n return void 0 !== e && this.P(o, void 0, t), e;\n }\n };\n }\n if (\"setter\" === n) {\n const { name: o } = r;\n return function(r) {\n const n = this[o];\n e.call(this, r), this.requestUpdate(o, n, t);\n };\n }\n throw Error(\"Unsupported decorator location: \" + n);\n};\nfunction $acf573f6c2910992$export$d541bacb2bda4494(t) {\n return (e, o)=>\"object\" == typeof o ? $acf573f6c2910992$export$8d623b1670eb40f4(t, e, o) : ((t, e, o)=>{\n const r = e.hasOwnProperty(o);\n return e.constructor.createProperty(o, r ? {\n ...t,\n wrapped: !0\n } : t), r ? Object.getOwnPropertyDescriptor(e, o) : void 0;\n })(t, e, o);\n}\n\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ function $81aad1feed252031$export$ca000e230c0caa3e(r) {\n return (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n ...r,\n state: !0,\n attribute: !1\n });\n}\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ function $830a3847e122411d$export$b2b799818fbabcf3(t) {\n return (n, o)=>{\n const c = \"function\" == typeof n ? n : n[o];\n Object.assign(c, t);\n };\n}\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $9b255c0a7142f8f7$export$51987bb50e1f6752 = (e, t, c)=>(c.configurable = !0, c.enumerable = !0, Reflect.decorate && \"object\" != typeof t && Object.defineProperty(e, t, c), c);\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ function $03ce58f7638eee56$export$2fa187e846a241c4(e, r) {\n return (n, s, i)=>{\n const o = (t)=>t.renderRoot?.querySelector(e) ?? null;\n if (r) {\n const { get: e, set: r } = \"object\" == typeof s ? n : i ?? (()=>{\n const t = Symbol();\n return {\n get () {\n return this[t];\n },\n set (e) {\n this[t] = e;\n }\n };\n })();\n return (0, $9b255c0a7142f8f7$export$51987bb50e1f6752)(n, s, {\n get () {\n let t = e.call(this);\n return void 0 === t && (t = o(this), (null !== t || this.hasUpdated) && r.call(this, t)), t;\n }\n });\n }\n return (0, $9b255c0a7142f8f7$export$51987bb50e1f6752)(n, s, {\n get () {\n return o(this);\n }\n });\n };\n}\n\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ let $79eb9c68ac24f475$var$e;\nfunction $79eb9c68ac24f475$export$dcd0d083aa86c355(r) {\n return (n, o)=>(0, $9b255c0a7142f8f7$export$51987bb50e1f6752)(n, o, {\n get () {\n return (this.renderRoot ?? ($79eb9c68ac24f475$var$e ??= document.createDocumentFragment())).querySelectorAll(r);\n }\n });\n}\n\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ function $b42730e79cfcbab4$export$163dfc35cc43f240(r) {\n return (n, e)=>(0, $9b255c0a7142f8f7$export$51987bb50e1f6752)(n, e, {\n async get () {\n return await this.updateComplete, this.renderRoot?.querySelector(r) ?? null;\n }\n });\n}\n\n\n\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ function $fd9f04ee645bb4e0$export$4682af2d9ee91415(o) {\n return (e, n)=>{\n const { slot: r, selector: s } = o ?? {}, c = \"slot\" + (r ? `[name=${r}]` : \":not([name])\");\n return (0, $9b255c0a7142f8f7$export$51987bb50e1f6752)(e, n, {\n get () {\n const t = this.renderRoot?.querySelector(c), e = t?.assignedElements(o) ?? [];\n return void 0 === s ? e : e.filter((t)=>t.matches(s));\n }\n });\n };\n}\n\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ function $aa8cbb37243d3606$export$1bdbe53f9df1b8(n) {\n return (o, r)=>{\n const { slot: e } = n ?? {}, s = \"slot\" + (e ? `[name=${e}]` : \":not([name])\");\n return (0, $9b255c0a7142f8f7$export$51987bb50e1f6752)(o, r, {\n get () {\n const t = this.renderRoot?.querySelector(s);\n return t?.assignedNodes(n) ?? [];\n }\n });\n };\n}\n\n\n\n\n\n\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const { I: $dc08001cbc3c8af5$var$t } = (0, $1182a8bbea75578f$export$8613d1ca9052b22e), $dc08001cbc3c8af5$export$c3825b437cbdea5c = (o)=>null === o || \"object\" != typeof o && \"function\" != typeof o, $dc08001cbc3c8af5$export$80c36ae3cab9881d = {\n HTML: 1,\n SVG: 2,\n MATHML: 3\n}, $dc08001cbc3c8af5$export$6b6d145ec2a44ca9 = (o, t)=>void 0 === t ? void 0 !== o?._$litType$ : o?._$litType$ === t, $dc08001cbc3c8af5$export$6a0e8de894d2fcca = (o)=>null != o?._$litType$?.h, $dc08001cbc3c8af5$export$2f448fec17d50a3e = (o)=>void 0 !== o?._$litDirective$, $dc08001cbc3c8af5$export$f28e31de6a6eaf32 = (o)=>o?._$litDirective$, $dc08001cbc3c8af5$export$7f431ad0fff82fd9 = (o)=>void 0 === o.strings, $dc08001cbc3c8af5$var$s = ()=>document.createComment(\"\"), $dc08001cbc3c8af5$export$291b2338ad9b0b30 = (o, i, n)=>{\n const e = o._$AA.parentNode, l = void 0 === i ? o._$AB : i._$AA;\n if (void 0 === n) {\n const i = e.insertBefore($dc08001cbc3c8af5$var$s(), l), c = e.insertBefore($dc08001cbc3c8af5$var$s(), l);\n n = new $dc08001cbc3c8af5$var$t(i, c, o, o.options);\n } else {\n const t = n._$AB.nextSibling, i = n._$AM, c = i !== o;\n if (c) {\n let t;\n n._$AQ?.(o), n._$AM = o, void 0 !== n._$AP && (t = o._$AU) !== i._$AU && n._$AP(t);\n }\n if (t !== l || c) {\n let o = n._$AA;\n for(; o !== t;){\n const t = o.nextSibling;\n e.insertBefore(o, l), o = t;\n }\n }\n }\n return n;\n}, $dc08001cbc3c8af5$export$cb8bf9562088e9f4 = (o, t, i = o)=>(o._$AI(t, i), o), $dc08001cbc3c8af5$var$u = {}, $dc08001cbc3c8af5$export$ea70d9dd5965b1c8 = (o, t = $dc08001cbc3c8af5$var$u)=>o._$AH = t, $dc08001cbc3c8af5$export$59e9bce518cde500 = (o)=>o._$AH, $dc08001cbc3c8af5$export$3133b3144bbba267 = (o)=>{\n o._$AP?.(!1, !0);\n let t = o._$AA;\n const i = o._$AB.nextSibling;\n for(; t !== i;){\n const o = t.nextSibling;\n t.remove(), t = o;\n }\n}, $dc08001cbc3c8af5$export$7f600b8138c094dc = (o)=>{\n o._$AR();\n};\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $7f965b17d718bf91$export$9ba3b3f20a85bfa = {\n ATTRIBUTE: 1,\n CHILD: 2,\n PROPERTY: 3,\n BOOLEAN_ATTRIBUTE: 4,\n EVENT: 5,\n ELEMENT: 6\n}, $7f965b17d718bf91$export$99b43ad1ed32e735 = (t)=>(...e)=>({\n _$litDirective$: t,\n values: e\n });\nclass $7f965b17d718bf91$export$befdefbdce210f91 {\n constructor(t){}\n get _$AU() {\n return this._$AM._$AU;\n }\n _$AT(t, e, i) {\n this._$Ct = t, this._$AM = e, this._$Ci = i;\n }\n _$AS(t, e) {\n return this.update(t, e);\n }\n update(t, e) {\n return this.render(...e);\n }\n}\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $044d98491ba33eb0$var$s = (i, t)=>{\n const e = i._$AN;\n if (void 0 === e) return !1;\n for (const i of e)i._$AO?.(t, !1), $044d98491ba33eb0$var$s(i, t);\n return !0;\n}, $044d98491ba33eb0$var$o = (i)=>{\n let t, e;\n do {\n if (void 0 === (t = i._$AM)) break;\n e = t._$AN, e.delete(i), i = t;\n }while (0 === e?.size);\n}, $044d98491ba33eb0$var$r = (i)=>{\n for(let t; t = i._$AM; i = t){\n let e = t._$AN;\n if (void 0 === e) t._$AN = e = new Set;\n else if (e.has(i)) break;\n e.add(i), $044d98491ba33eb0$var$c(t);\n }\n};\nfunction $044d98491ba33eb0$var$h(i) {\n void 0 !== this._$AN ? ($044d98491ba33eb0$var$o(this), this._$AM = i, $044d98491ba33eb0$var$r(this)) : this._$AM = i;\n}\nfunction $044d98491ba33eb0$var$n(i, t = !1, e = 0) {\n const r = this._$AH, h = this._$AN;\n if (void 0 !== h && 0 !== h.size) {\n if (t) {\n if (Array.isArray(r)) for(let i = e; i < r.length; i++)$044d98491ba33eb0$var$s(r[i], !1), $044d98491ba33eb0$var$o(r[i]);\n else null != r && ($044d98491ba33eb0$var$s(r, !1), $044d98491ba33eb0$var$o(r));\n } else $044d98491ba33eb0$var$s(this, i);\n }\n}\nconst $044d98491ba33eb0$var$c = (i)=>{\n i.type == (0, $7f965b17d718bf91$export$9ba3b3f20a85bfa).CHILD && (i._$AP ??= $044d98491ba33eb0$var$n, i._$AQ ??= $044d98491ba33eb0$var$h);\n};\nclass $044d98491ba33eb0$export$7d025501802325e extends (0, $7f965b17d718bf91$export$befdefbdce210f91) {\n constructor(){\n super(...arguments), this._$AN = void 0;\n }\n _$AT(i, t, e) {\n super._$AT(i, t, e), $044d98491ba33eb0$var$r(this), this.isConnected = i._$AU;\n }\n _$AO(i, t = !0) {\n i !== this.isConnected && (this.isConnected = i, i ? this.reconnected?.() : this.disconnected?.()), t && ($044d98491ba33eb0$var$s(this, i), $044d98491ba33eb0$var$o(this));\n }\n setValue(t) {\n if ((0, $dc08001cbc3c8af5$export$7f431ad0fff82fd9)(this._$Ct)) this._$Ct._$AI(t, this);\n else {\n const i = [\n ...this._$Ct._$AH\n ];\n i[this._$Ci] = t, this._$Ct._$AI(i, this, 0);\n }\n }\n disconnected() {}\n reconnected() {}\n}\n\n\n\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $f322d22fead4969a$export$7d1e3a5e95ceca43 = ()=>new $f322d22fead4969a$var$h;\nclass $f322d22fead4969a$var$h {\n}\nconst $f322d22fead4969a$var$o = new WeakMap, $f322d22fead4969a$export$eff4d24c3ff7876e = (0, $7f965b17d718bf91$export$99b43ad1ed32e735)(class extends (0, $044d98491ba33eb0$export$7d025501802325e) {\n render(i) {\n return 0, $1182a8bbea75578f$export$45b790e32b2810ee;\n }\n update(i, [s]) {\n const e = s !== this.Y;\n return e && void 0 !== this.Y && this.rt(void 0), (e || this.lt !== this.ct) && (this.Y = s, this.ht = i.options?.host, this.rt(this.ct = i.element)), $1182a8bbea75578f$export$45b790e32b2810ee;\n }\n rt(t) {\n if (this.isConnected || (t = void 0), \"function\" == typeof this.Y) {\n const i = this.ht ?? globalThis;\n let s = $f322d22fead4969a$var$o.get(i);\n void 0 === s && (s = new WeakMap, $f322d22fead4969a$var$o.set(i, s)), void 0 !== s.get(this.Y) && this.Y.call(this.ht, void 0), s.set(this.Y, t), void 0 !== t && this.Y.call(this.ht, t);\n } else this.Y.value = t;\n }\n get lt() {\n return \"function\" == typeof this.Y ? $f322d22fead4969a$var$o.get(this.ht ?? globalThis)?.get(this.Y) : this.Y?.value;\n }\n disconnected() {\n this.lt === this.ct && this.rt(void 0);\n }\n reconnected() {\n this.rt(this.ct);\n }\n});\n\n\n\n\n/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */ /* eslint-disable no-param-reassign */ function $c87de1375632dba4$var$isObject(obj) {\n return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object;\n}\nfunction $c87de1375632dba4$export$8b58be045bf06082(target = {}, src = {}) {\n Object.keys(src).forEach((key)=>{\n if (typeof target[key] === 'undefined') target[key] = src[key];\n else if ($c87de1375632dba4$var$isObject(src[key]) && $c87de1375632dba4$var$isObject(target[key]) && Object.keys(src[key]).length > 0) $c87de1375632dba4$export$8b58be045bf06082(target[key], src[key]);\n });\n}\nconst $c87de1375632dba4$export$3fdcb9b4d81368d8 = {\n body: {},\n addEventListener () {},\n removeEventListener () {},\n activeElement: {\n blur () {},\n nodeName: ''\n },\n querySelector () {\n return null;\n },\n querySelectorAll () {\n return [];\n },\n getElementById () {\n return null;\n },\n createEvent () {\n return {\n initEvent () {}\n };\n },\n createElement () {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute () {},\n getElementsByTagName () {\n return [];\n }\n };\n },\n createElementNS () {\n return {};\n },\n importNode () {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n }\n};\nfunction $c87de1375632dba4$export$f65ca476c09acec0() {\n const doc = typeof document !== 'undefined' ? document : {};\n $c87de1375632dba4$export$8b58be045bf06082(doc, $c87de1375632dba4$export$3fdcb9b4d81368d8);\n return doc;\n}\nconst $c87de1375632dba4$export$8582633f185c62bb = {\n document: $c87de1375632dba4$export$3fdcb9b4d81368d8,\n navigator: {\n userAgent: ''\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n },\n history: {\n replaceState () {},\n pushState () {},\n go () {},\n back () {}\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener () {},\n removeEventListener () {},\n getComputedStyle () {\n return {\n getPropertyValue () {\n return '';\n }\n };\n },\n Image () {},\n Date () {},\n screen: {},\n setTimeout () {},\n clearTimeout () {},\n matchMedia () {\n return {};\n },\n requestAnimationFrame (callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame (id) {\n if (typeof setTimeout === 'undefined') return;\n clearTimeout(id);\n }\n};\nfunction $c87de1375632dba4$export$38b2d434cce3ea22() {\n const win = typeof window !== 'undefined' ? window : {};\n $c87de1375632dba4$export$8b58be045bf06082(win, $c87de1375632dba4$export$8582633f185c62bb);\n return win;\n}\n\n\n/**\n * 获取指定元素的标签名(小写),不存在元素的返回空字符串\n * @param element\n */ const $d0cded150def05db$export$651544f548703224 = (element)=>{\n return element?.nodeName.toLowerCase() ?? '';\n};\nconst $d0cded150def05db$export$40bcf76e2c1becc2 = (element, name)=>{\n return element?.nodeName.toLowerCase() === name.toLowerCase();\n};\nconst $d0cded150def05db$export$f6e2535fb5126e54 = (target)=>{\n return typeof target === 'function';\n};\nconst $d0cded150def05db$export$844ec244b1367d54 = (target)=>{\n return typeof target === 'string';\n};\nconst $d0cded150def05db$export$7e4aa119212bc614 = (target)=>{\n return typeof target === 'number';\n};\nconst $d0cded150def05db$export$f9ce7b637dfbe238 = (target)=>{\n return typeof target === 'boolean';\n};\nconst $d0cded150def05db$export$fce6876652108ab = (target)=>{\n return typeof target === 'undefined';\n};\nconst $d0cded150def05db$export$630801d484da15df = (target)=>{\n return target === null;\n};\nconst $d0cded150def05db$export$5a096129d439f843 = (target)=>{\n return typeof Window !== 'undefined' && target instanceof Window;\n};\nconst $d0cded150def05db$export$62858bae88b53fd0 = (target)=>{\n return typeof Document !== 'undefined' && target instanceof Document;\n};\nconst $d0cded150def05db$export$45a5e7f76e0caa8d = (target)=>{\n return typeof Element !== 'undefined' && target instanceof Element;\n};\nconst $d0cded150def05db$export$8ee0fc9ee280b4ee = (target)=>{\n return typeof Node !== 'undefined' && target instanceof Node;\n};\nconst $d0cded150def05db$export$1e2f57719e155213 = (target)=>{\n return !$d0cded150def05db$export$f6e2535fb5126e54(target) && !$d0cded150def05db$export$5a096129d439f843(target) && $d0cded150def05db$export$7e4aa119212bc614(target.length);\n};\nconst $d0cded150def05db$export$c10d0b04eaa80a43 = (target)=>{\n return typeof target === 'object' && target !== null;\n};\nconst $d0cded150def05db$export$8d51e3db1a844094 = (target)=>{\n return $d0cded150def05db$export$62858bae88b53fd0(target) ? target.documentElement : target;\n};\nconst $d0cded150def05db$export$86f54f62aa7a7514 = (string)=>{\n return string.replace(/-([a-z])/g, (_, letter)=>{\n return letter.toUpperCase();\n });\n};\nconst $d0cded150def05db$export$73bda83cddbc7187 = (string)=>{\n if (!string) return string;\n return string.replace(/^./, string[0].toLowerCase()) // 首字母转小写\n .replace(/[A-Z]/g, (replacer)=>{\n return '-' + replacer.toLowerCase();\n });\n};\nconst $d0cded150def05db$export$35d6da1a7e941e79 = ()=>{\n return false;\n};\nconst $d0cded150def05db$export$8a16822a2b63cb79 = ()=>{\n return true;\n};\nconst $d0cded150def05db$export$211b8db791997e25 = (target, callback)=>{\n for(let i = 0; i < target.length; i += 1){\n if (callback.call(target[i], target[i], i) === false) return target;\n }\n return target;\n};\nconst $d0cded150def05db$export$1b8ac1d3a07c9372 = (target, callback)=>{\n const keys = Object.keys(target);\n for(let i = 0; i < keys.length; i += 1){\n const key = keys[i];\n if (callback.call(target[key], key, target[key]) === false) return target;\n }\n return target;\n};\n\n\nclass $6175daf4c02230d4$export$af7f3c1d59036499 {\n constructor(arr){\n this.length = 0;\n if (!arr) return this;\n (0, $d0cded150def05db$export$211b8db791997e25)(arr, (item, i)=>{\n this[i] = item;\n });\n this.length = arr.length;\n return this;\n }\n}\n\n\n\nconst $f94b048e0ef94ba5$export$37e2077ccaabdaf6 = (document = (0, $c87de1375632dba4$export$f65ca476c09acec0)())=>{\n return /complete|interactive/.test(document.readyState);\n};\nconst $f94b048e0ef94ba5$export$c8a8987d4410bf2d = (tagName)=>{\n const document = (0, $c87de1375632dba4$export$f65ca476c09acec0)();\n return document.createElement(tagName);\n};\nconst $f94b048e0ef94ba5$export$1b8e57c9ea42f1d2 = (element, child)=>{\n return element.appendChild(child);\n};\nconst $f94b048e0ef94ba5$export$7ae609f7af59e4f7 = (element)=>{\n return element.parentNode ? element.parentNode.removeChild(element) : element;\n};\nconst $f94b048e0ef94ba5$export$ddad7c9cfa637961 = (target, parent)=>{\n const tempParent = $f94b048e0ef94ba5$export$c8a8987d4410bf2d(parent);\n tempParent.innerHTML = target;\n return [].slice.call(tempParent.childNodes);\n};\n\n\n\nconst $b95421a1db56b097$var$get$ = ()=>{\n const $ = function(selector) {\n if (!selector) return new (0, $6175daf4c02230d4$export$af7f3c1d59036499)();\n // JQ\n if (selector instanceof (0, $6175daf4c02230d4$export$af7f3c1d59036499)) return selector;\n // function\n if ((0, $d0cded150def05db$export$f6e2535fb5126e54)(selector)) {\n const document = (0, $c87de1375632dba4$export$f65ca476c09acec0)();\n if ((0, $f94b048e0ef94ba5$export$37e2077ccaabdaf6)(document)) selector.call(document, $);\n else document.addEventListener('DOMContentLoaded', ()=>selector.call(document, $), {\n once: true\n });\n return new (0, $6175daf4c02230d4$export$af7f3c1d59036499)([\n document\n ]);\n }\n // String\n if ((0, $d0cded150def05db$export$844ec244b1367d54)(selector)) {\n const html = selector.trim();\n // 根据 HTML 字符串创建 JQ 对象\n if (html.startsWith('<') && html.endsWith('>')) {\n let toCreate = 'div';\n const tags = {\n li: 'ul',\n tr: 'tbody',\n td: 'tr',\n th: 'tr',\n tbody: 'table',\n option: 'select'\n };\n (0, $d0cded150def05db$export$1b8ac1d3a07c9372)(tags, (childTag, parentTag)=>{\n if (html.startsWith(`<${childTag}`)) {\n toCreate = parentTag;\n return false;\n }\n return;\n });\n return new (0, $6175daf4c02230d4$export$af7f3c1d59036499)((0, $f94b048e0ef94ba5$export$ddad7c9cfa637961)(html, toCreate));\n }\n const document = (0, $c87de1375632dba4$export$f65ca476c09acec0)();\n // 根据 CSS 选择器创建 JQ 对象\n return new (0, $6175daf4c02230d4$export$af7f3c1d59036499)(document.querySelectorAll(selector));\n }\n if ((0, $d0cded150def05db$export$1e2f57719e155213)(selector) && !(0, $d0cded150def05db$export$8ee0fc9ee280b4ee)(selector)) return new (0, $6175daf4c02230d4$export$af7f3c1d59036499)(selector);\n return new (0, $6175daf4c02230d4$export$af7f3c1d59036499)([\n selector\n ]);\n };\n $.fn = (0, $6175daf4c02230d4$export$af7f3c1d59036499).prototype;\n return $;\n};\nconst $b95421a1db56b097$export$3d8c2f653ac9d0b9 = $b95421a1db56b097$var$get$();\n\n\n\nclass $86ec33836cc10aec$export$34f6a5ffaa663541 {\n constructor(host, ...slotNames){\n this.slotNames = [];\n (this.host = host).addController(this);\n this.slotNames = slotNames;\n this.onSlotChange = this.onSlotChange.bind(this);\n }\n hostConnected() {\n this.host.shadowRoot.addEventListener('slotchange', this.onSlotChange);\n if (!(0, $f94b048e0ef94ba5$export$37e2077ccaabdaf6)()) (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(()=>{\n this.host.requestUpdate();\n });\n }\n hostDisconnected() {\n this.host.shadowRoot.removeEventListener('slotchange', this.onSlotChange);\n }\n test(slotName) {\n return slotName === '[default]' ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);\n }\n hasDefaultSlot() {\n return [\n ...this.host.childNodes\n ].some((node)=>{\n if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== '') return true;\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node;\n if (!el.hasAttribute('slot')) return true;\n }\n return false;\n });\n }\n hasNamedSlot(name) {\n return this.host.querySelector(`:scope > [slot=\"${name}\"]`) !== null;\n }\n onSlotChange(event) {\n const slot = event.target;\n if (this.slotNames.includes('[default]') && !slot.name || slot.name && this.slotNames.includes(slot.name)) this.host.requestUpdate();\n }\n}\n\n\n/**\n * watch 装饰器。在 @property 或 @state 属性变更时,且在组件更新前触发\n * 若初始值为 undefined,则初始状态不会触发;否则初始状态就会先触发一次\n *\n * 如果要等属性变更后,且组件更新完成再执行,可以在函数中执行 `await this.updateComplete`\n * 如果要等组件首次渲染完后再监听属性,可以传入第二个参数 true。或者在函数中通过 `this.hasUpdated` 进行判断\n *\n * @watch('propName')\n * handlePropChange(oldValue, newValue) {\n *\n * }\n */ /**\n * @param propName 监听的属性名\n * @param waitUntilFirstUpdate 是否等首次渲染完后再监听\n */ function $f12b6253cef59edc$export$3db5d71bdb2d5499(propName, waitUntilFirstUpdate = false) {\n return (proto, functionName)=>{\n // @ts-ignore\n const { update: update } = proto;\n if (propName in proto) // @ts-ignore\n proto.update = function(changedProperties) {\n if (changedProperties.has(propName)) {\n const oldValue = changedProperties.get(propName);\n const newValue = this[propName];\n if (oldValue !== newValue) {\n if (!waitUntilFirstUpdate || this.hasUpdated) // @ts-ignore\n this[functionName](oldValue, newValue);\n }\n }\n update.call(this, changedProperties);\n };\n };\n}\n\n\n/**\n * 在原生的 HTML 中,布尔属性只要添加了属性名,不论属性值设置成什么,属性值都是 true\n * 但这里设置了 attr=\"false\" 时,要把属性设置为 false\n *\n * 原因是:\n * 在 vue3 中,通过 :attr=\"value\" 设置属性时,vue 会优先从 DOM 属性中寻找是否存在 attr 属性名,\n * 若存在,则设置对应的 DOM 属性,否则设置对应的 attribute 属性\n * 但在 vue 的服务端渲染(ssr)时,不存在 DOM 对象,所以会把 attribute 属性设置成 attr=\"true\" 或 attr=\"false\"\n * 所以在 attribute 属性 attr=\"false\" 时,需要把属性值转换为布尔值 false\n *\n * 在 CSS 中选择布尔属性时,必须排除掉属性值为 false 的情况。i 表示不区分大小写。仅 public 属性需要这样处理,private 和 protected 属性不需要\n * 例如::host([hide]:not([hide=\"false\" i])) { ... }\n *\n * 这段代码不能封装成函数,否则生成 custom-elements.json 会识别不了\n * 这段注释仅在这里写一次,其他地方不再重复\n *\n * @see https://v3-migration.vuejs.org/zh/breaking-changes/attribute-coercion.html\n */ const $9f4de283a23bd2a5$export$2aee1c8d7bab360b = (value)=>{\n return value !== null && value.toLowerCase() !== 'false';\n};\n\n\n\nconst $ba66167bae03ac3c$export$d9a2b46c01bdcf53 = (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`${(0, $1182a8bbea75578f$export$45b790e32b2810ee)}`;\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $dd2a3999053fa8a1$export$f68dd208b5df064d = (o)=>o ?? (0, $1182a8bbea75578f$export$45b790e32b2810ee);\n\n\n\n\nfunction $6ff99a31914becfa$export$2e2bcd8739ae039(names) {\n if (typeof names === \"string\" || typeof names === \"number\") return \"\" + names;\n let out = \"\";\n if (Array.isArray(names)) {\n for(let i = 0, tmp; i < names.length; i++)if ((tmp = $6ff99a31914becfa$export$2e2bcd8739ae039(names[i])) !== \"\") out += (out && \" \") + tmp;\n } else {\n for(let k in names)if (names[k]) out += (out && \" \") + k;\n }\n return out;\n}\n\n\n\nclass $53a1aafae9c6752a$export$9bb0a9faa319390c extends (0, $d7ae2122416faf05$export$3f2f9f5909897157) {\n /**\n * 触发自定义事件。若返回 false,表示事件被取消\n * @param type\n * @param options 通常只用到 cancelable 和 detail;bubbles、composed 统一不用\n */ emit(type, options) {\n const event = new CustomEvent(type, Object.assign({\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {}\n }, options));\n return this.dispatchEvent(event);\n }\n}\n\n\n/**\n * 参考:https://github.com/shoelace-style/shoelace/blob/next/src/internal/form.ts\n */ \n\n\nconst $93c84b873bab7bc6$export$735ee1799fd02602 = (element, key, defaultValue)=>{\n const value = element.getAttribute(key);\n return (0, $d0cded150def05db$export$630801d484da15df)(value) ? defaultValue : value;\n};\nconst $93c84b873bab7bc6$export$6399f3bb52316b2c = (element, key)=>{\n element.removeAttribute(key);\n};\nconst $93c84b873bab7bc6$export$9fec4d97f1922e0b = (element, key, value)=>{\n (0, $d0cded150def05db$export$630801d484da15df)(value) ? $93c84b873bab7bc6$export$6399f3bb52316b2c(element, key) : element.setAttribute(key, value);\n};\n\n\n\n\nconst $0caf6a5c58ee85f9$export$8279eff504af5afb = (element, name)=>{\n const window = (0, $c87de1375632dba4$export$38b2d434cce3ea22)();\n return window.getComputedStyle(element).getPropertyValue((0, $d0cded150def05db$export$73bda83cddbc7187)(name));\n};\nconst $0caf6a5c58ee85f9$export$78bc5c0ac316e909 = (element)=>{\n return $0caf6a5c58ee85f9$export$8279eff504af5afb(element, 'box-sizing') === 'border-box';\n};\nconst $0caf6a5c58ee85f9$export$31fae7b1c9494af1 = (element, direction, extra)=>{\n const position = direction === 'width' ? [\n 'Left',\n 'Right'\n ] : [\n 'Top',\n 'Bottom'\n ];\n return [\n 0,\n 1\n ].reduce((prev, _, index)=>{\n let prop = extra + position[index];\n if (extra === 'border') prop += 'Width';\n return prev + parseFloat($0caf6a5c58ee85f9$export$8279eff504af5afb(element, prop) || '0');\n }, 0);\n};\nconst $0caf6a5c58ee85f9$export$3d2f074408bd1b82 = (element, name)=>{\n // width、height 属性使用 getComputedStyle 得到的值不准确,需要使用 getBoundingClientRect 获取\n if (name === 'width' || name === 'height') {\n const valueNumber = element.getBoundingClientRect()[name];\n if ($0caf6a5c58ee85f9$export$78bc5c0ac316e909(element)) return `${valueNumber}px`;\n return `${valueNumber - $0caf6a5c58ee85f9$export$31fae7b1c9494af1(element, name, 'border') - $0caf6a5c58ee85f9$export$31fae7b1c9494af1(element, name, 'padding')}px`;\n }\n return $0caf6a5c58ee85f9$export$8279eff504af5afb(element, name);\n};\nconst $0caf6a5c58ee85f9$export$7914d752ca654669 = [\n 'animation-iteration-count',\n 'column-count',\n 'fill-opacity',\n 'flex-grow',\n 'flex-shrink',\n 'font-weight',\n 'grid-area',\n 'grid-column',\n 'grid-column-end',\n 'grid-column-start',\n 'grid-row',\n 'grid-row-end',\n 'grid-row-start',\n 'line-height',\n 'opacity',\n 'order',\n 'orphans',\n 'widows',\n 'z-index',\n 'zoom'\n];\n\n\n\n\n\n// eslint-disable-next-line\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.each = function(callback) {\n return (0, $d0cded150def05db$export$211b8db791997e25)(this, (value, index)=>{\n return callback.call(value, index, value);\n });\n};\n\n\n(0, $d0cded150def05db$export$211b8db791997e25)([\n 'attr',\n 'prop',\n 'css'\n], (name, nameIndex)=>{\n // eslint-disable-next-line\n const set = (element, key, value)=>{\n // 值为 undefined 时,不修改\n if ((0, $d0cded150def05db$export$fce6876652108ab)(value)) return;\n // attr\n if (nameIndex === 0) return (0, $93c84b873bab7bc6$export$9fec4d97f1922e0b)(element, key, value);\n // prop\n if (nameIndex === 1) {\n // @ts-ignore\n element[key] = value;\n return;\n }\n // css\n key = (0, $d0cded150def05db$export$73bda83cddbc7187)(key);\n // 获取默认后缀。以 -- 开头的为 CSS 变量,不添加后缀;值为数值类型的不添加后缀\n const getSuffix = ()=>key.startsWith('--') || (0, $0caf6a5c58ee85f9$export$7914d752ca654669).includes(key) ? '' : 'px';\n element.style.setProperty(key, (0, $d0cded150def05db$export$7e4aa119212bc614)(value) ? `${value}${getSuffix()}` : value);\n };\n // eslint-disable-next-line\n const get = (element, key)=>{\n // attr\n if (nameIndex === 0) // 属性不存在时,原生 getAttribute 方法返回 null,而 jquery 返回 undefined。这里和 jquery 保持一致\n return (0, $93c84b873bab7bc6$export$735ee1799fd02602)(element, key);\n // prop\n if (nameIndex === 1) // @ts-ignore\n return element[key];\n return (0, $0caf6a5c58ee85f9$export$3d2f074408bd1b82)(element, key);\n };\n (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn[name] = function(key, // eslint-disable-next-line\n value) {\n if ((0, $d0cded150def05db$export$c10d0b04eaa80a43)(key)) {\n (0, $d0cded150def05db$export$1b8ac1d3a07c9372)(key, (k, v)=>{\n // @ts-ignore\n this[name](k, v);\n });\n return this;\n }\n if (arguments.length === 1) {\n const element = this[0];\n return (0, $d0cded150def05db$export$45a5e7f76e0caa8d)(element) ? get(element, key) : undefined;\n }\n return this.each((i, element)=>{\n set(element, key, (0, $d0cded150def05db$export$f6e2535fb5126e54)(value) ? value.call(element, i, get(element, key)) : value);\n });\n };\n});\n\n\n\n\n\n/**\n * 使用该 WeakMap 来存储指定表单中所有的 mdui 表单控件\n * 在每个表单控件的 hostConnected 中添加、hostDisconnected 中移除对应表单的 mdui 表单控件,\n * 然后在 getFormControls 方法中就能获取到表单中所有的 mdui 表单控件\n */ const $376a384cc549d4e2$export$61a522b559454891 = new WeakMap();\nconst $376a384cc549d4e2$export$2742a3285d55034 = (form)=>{\n const nativeFormControls = [\n ...form.elements\n ];\n const formControls = $376a384cc549d4e2$export$61a522b559454891.get(form) || [];\n const comparePosition = (a, b)=>{\n const position = a.compareDocumentPosition(b);\n return position & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n };\n // 按 DOM 元素的顺序排序\n return [\n ...nativeFormControls,\n ...formControls\n ].sort(comparePosition);\n};\n\n\n\n\n/**\n * 过滤掉数组中的重复元素\n * @param arr 数组\n * @example\n```js\nunique([1, 2, 12, 3, 2, 1, 2, 1, 1]);\n// [1, 2, 12, 3]\n```\n */ const $8917adc71c53e49d$export$7a5d5c156e7dc406 = (arr)=>{\n return [\n ...new Set(arr)\n ];\n};\n\n\n\nclass $29b950a65aaa366a$export$da3260c7a0861b80 {\n constructor(host, options){\n /**\n * 组件是否已定义完成\n */ this.defined = false;\n (this.host = host).addController(this);\n this.relatedElements = options.relatedElements;\n this.needDomReady = options.needDomReady || !!options.relatedElements;\n this.onSlotChange = this.onSlotChange.bind(this);\n }\n hostConnected() {\n this.host.shadowRoot.addEventListener('slotchange', this.onSlotChange);\n }\n hostDisconnected() {\n this.host.shadowRoot.removeEventListener('slotchange', this.onSlotChange);\n }\n /**\n * 判断组件是否定义完成\n */ isDefined() {\n if (this.defined) return true;\n this.defined = (!this.needDomReady || (0, $f94b048e0ef94ba5$export$37e2077ccaabdaf6)()) && !this.getUndefinedLocalNames().length;\n return this.defined;\n }\n /**\n * 在组件定义完成后,promise 被 resolve\n */ async whenDefined() {\n if (this.defined) return Promise.resolve();\n const document = (0, $c87de1375632dba4$export$f65ca476c09acec0)();\n if (this.needDomReady && !(0, $f94b048e0ef94ba5$export$37e2077ccaabdaf6)(document)) await new Promise((resolve)=>{\n document.addEventListener('DOMContentLoaded', ()=>resolve(), {\n once: true\n });\n });\n const undefinedLocalNames = this.getUndefinedLocalNames();\n if (undefinedLocalNames.length) {\n const promises = [];\n undefinedLocalNames.forEach((localName)=>{\n promises.push(customElements.whenDefined(localName));\n });\n await Promise.all(promises);\n }\n this.defined = true;\n return;\n }\n /**\n * slot 中的未完成定义的相关 Web components 组件的 CSS 选择器\n */ getScopeLocalNameSelector() {\n const localNames = this.relatedElements;\n if (!localNames) return null;\n if (Array.isArray(localNames)) return localNames.map((localName)=>`${localName}:not(:defined)`).join(',');\n return Object.keys(localNames).filter((localName)=>!localNames[localName]).map((localName)=>`${localName}:not(:defined)`).join(',');\n }\n /**\n * 整个页面中的未完成定义的相关 Web components 组件的 CSS 选择器\n */ getGlobalLocalNameSelector() {\n const localNames = this.relatedElements;\n if (!localNames || Array.isArray(localNames)) return null;\n return Object.keys(localNames).filter((localName)=>localNames[localName]).map((localName)=>`${localName}:not(:defined)`).join(',');\n }\n /**\n * 获取未完成定义的相关 Web components 组件名\n */ getUndefinedLocalNames() {\n const scopeSelector = this.getScopeLocalNameSelector();\n const globalSelector = this.getGlobalLocalNameSelector();\n const undefinedScopeElements = scopeSelector ? [\n ...this.host.querySelectorAll(scopeSelector)\n ] : [];\n const undefinedGlobalElements = globalSelector ? [\n ...(0, $c87de1375632dba4$export$f65ca476c09acec0)().querySelectorAll(globalSelector)\n ] : [];\n const localNames = [\n ...undefinedScopeElements,\n ...undefinedGlobalElements\n ].map((element)=>element.localName);\n return (0, $8917adc71c53e49d$export$7a5d5c156e7dc406)(localNames);\n }\n /**\n * slot 变更时,若 slot 中包含未完成定义的相关 Web components 组件,则组件未定义完成\n */ onSlotChange() {\n const selector = this.getScopeLocalNameSelector();\n if (selector) {\n const undefinedElements = this.host.querySelectorAll(selector);\n if (undefinedElements.length) this.defined = false;\n }\n }\n}\n\n\n/**\n * 在执行 `<form>` 元素的 reportValidity() 时,不会执行 mdui 组件的 reportValidity() 方法,\n * 因此在 mdui 表单控件的 hostConnected 中把 `<form>` 的 reportValidity 替换为自定义方法,\n * hostDisconnected 中恢复为 原生 reportValidity 方法\n *\n * 该 WeakMap 用于存储指定 `<form>` 的原生 reportValidity 方法\n *\n * 日后使用 ElementInternals 可不再进行该处理,但当前 safari 浏览器不支持。\n */ const $d56b143b5bf6ad89$var$reportValidityOverloads = new WeakMap();\nconst $d56b143b5bf6ad89$export$64b1c594674e8d1d = new WeakMap();\nclass $d56b143b5bf6ad89$export$2ecd466f59952f38 {\n constructor(host, options){\n (this.host = host).addController(this);\n this.definedController = new (0, $29b950a65aaa366a$export$da3260c7a0861b80)(host, {\n needDomReady: true\n });\n this.options = {\n form: (control)=>{\n const formId = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(control).attr('form');\n if (formId) {\n const root = control.getRootNode();\n return root.getElementById(formId);\n }\n return control.closest('form');\n },\n name: (control)=>control.name,\n value: (control)=>control.value,\n defaultValue: (control)=>control.defaultValue,\n setValue: (control, value)=>control.value = value,\n disabled: (control)=>control.disabled,\n reportValidity: (control)=>(0, $d0cded150def05db$export$f6e2535fb5126e54)(control.reportValidity) ? control.reportValidity() : true,\n ...options\n };\n this.onFormData = this.onFormData.bind(this);\n this.onFormSubmit = this.onFormSubmit.bind(this);\n this.onFormReset = this.onFormReset.bind(this);\n this.reportFormValidity = this.reportFormValidity.bind(this);\n }\n hostConnected() {\n this.definedController.whenDefined().then(()=>{\n this.form = this.options.form(this.host);\n if (this.form) this.attachForm(this.form);\n });\n }\n hostDisconnected() {\n this.detachForm();\n }\n hostUpdated() {\n this.definedController.whenDefined().then(()=>{\n const form = this.options.form(this.host);\n if (!form) this.detachForm();\n if (form && this.form !== form) {\n this.detachForm();\n this.attachForm(form);\n }\n });\n }\n /**\n * 获取当前表单控件关联的 `<form>` 元素\n */ getForm() {\n return this.form ?? null;\n }\n /**\n * 重置整个表单,所有表单控件恢复成默认值\n */ reset(invoker) {\n this.doAction('reset', invoker);\n }\n /**\n * 提交整个表单\n */ submit(invoker) {\n this.doAction('submit', invoker);\n }\n attachForm(form) {\n if (!form) {\n this.form = undefined;\n return;\n }\n this.form = form;\n if ((0, $376a384cc549d4e2$export$61a522b559454891).has(this.form)) (0, $376a384cc549d4e2$export$61a522b559454891).get(this.form).add(this.host);\n else (0, $376a384cc549d4e2$export$61a522b559454891).set(this.form, new Set([\n this.host\n ]));\n this.form.addEventListener('formdata', this.onFormData);\n this.form.addEventListener('submit', this.onFormSubmit);\n this.form.addEventListener('reset', this.onFormReset);\n if (!$d56b143b5bf6ad89$var$reportValidityOverloads.has(this.form)) {\n $d56b143b5bf6ad89$var$reportValidityOverloads.set(this.form, this.form.reportValidity);\n this.form.reportValidity = ()=>this.reportFormValidity();\n }\n }\n detachForm() {\n if (this.form) {\n (0, $376a384cc549d4e2$export$61a522b559454891).get(this.form).delete(this.host);\n this.form.removeEventListener('formdata', this.onFormData);\n this.form.removeEventListener('submit', this.onFormSubmit);\n this.form.removeEventListener('reset', this.onFormReset);\n if ($d56b143b5bf6ad89$var$reportValidityOverloads.has(this.form) && !(0, $376a384cc549d4e2$export$61a522b559454891).get(this.form).size) {\n this.form.reportValidity = $d56b143b5bf6ad89$var$reportValidityOverloads.get(this.form);\n $d56b143b5bf6ad89$var$reportValidityOverloads.delete(this.form);\n }\n }\n }\n doAction(type, invoker) {\n if (!this.form) return;\n const $button = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(`<button type=\"${type}\">`).css({\n position: 'absolute',\n width: 0,\n height: 0,\n clipPath: 'inset(50%)',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n });\n const button = $button[0];\n if (invoker) {\n button.name = invoker.name;\n button.value = invoker.value;\n [\n 'formaction',\n 'formenctype',\n 'formmethod',\n 'formnovalidate',\n 'formtarget'\n ].forEach((attr)=>{\n $button.attr(attr, (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(invoker).attr(attr));\n });\n }\n this.form.append(button);\n button.click();\n button.remove();\n }\n onFormData(event) {\n const disabled = this.options.disabled(this.host);\n const name = this.options.name(this.host);\n const value = this.options.value(this.host);\n // 对于按钮,仅在 type=\"submit\" 时,才提交值。已在 doAction() 方法中把 name、value 注入到 <button> 元素上\n const isButton = [\n 'mdui-button',\n 'mdui-button-icon',\n 'mdui-chip',\n 'mdui-fab',\n 'mdui-segmented-button'\n ].includes(this.host.tagName.toLowerCase());\n if (!disabled && !isButton && (0, $d0cded150def05db$export$844ec244b1367d54)(name) && name && !(0, $d0cded150def05db$export$fce6876652108ab)(value)) {\n if (Array.isArray(value)) value.forEach((val)=>{\n event.formData.append(name, val.toString());\n });\n else event.formData.append(name, value.toString());\n }\n }\n // todo: 当前组件进行验证的顺序,取决于组件的注册顺序,而不会按在 DOM 中的顺序从上到下验证。如何按 DOM 顺序验证?\n onFormSubmit(event) {\n const disabled = this.options.disabled(this.host);\n const reportValidity = this.options.reportValidity;\n if (this.form && !this.form.noValidate && !disabled && !reportValidity(this.host)) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n onFormReset() {\n if (this.form) {\n this.options.setValue(this.host, this.options.defaultValue(this.host));\n // 取消 invalid 状态。\n // 此外,还需要在各个组件内,监听值的变更,判断 formResets 中是否存在当前表单控件。若存在则 invalid 设为 false;不存在则设置为 checkValidity() 的值\n // @ts-ignore\n this.host.invalid = false;\n if ($d56b143b5bf6ad89$export$64b1c594674e8d1d.has(this.form)) $d56b143b5bf6ad89$export$64b1c594674e8d1d.get(this.form).add(this.host);\n else $d56b143b5bf6ad89$export$64b1c594674e8d1d.set(this.form, new Set([\n this.host\n ]));\n }\n }\n reportFormValidity() {\n if (this.form && !this.form.noValidate) {\n const elements = (0, $376a384cc549d4e2$export$2742a3285d55034)(this.form);\n for (const element of elements){\n if ((0, $d0cded150def05db$export$f6e2535fb5126e54)(element.reportValidity) && !element.reportValidity()) return false;\n }\n }\n return true;\n }\n}\n\n\n\n\n\nconst $a1095454894349c1$export$7ef977f86985f711 = (0, $0268acc93e67b930$export$dbf350e5966cf602)`:host{box-sizing:border-box}:host *,:host ::after,:host ::before{box-sizing:inherit}:host :focus,:host :focus-visible,:host(:focus),:host(:focus-visible){outline:0}[hidden]{display:none!important}`;\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\nconst $127a23c52a5adf4f$export$e70f90f657dd64e = (superclass)=>{\n class AnchorMixinClass extends superclass {\n renderAnchor({ id: id, className: className, part: part, content: content = (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot></slot>`, refDirective: refDirective, tabIndex: tabIndex }) {\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<a ${refDirective} id=\"${(0, $dd2a3999053fa8a1$export$f68dd208b5df064d)(id)}\" class=\"_a ${className ? className : ''}\" part=\"${(0, $dd2a3999053fa8a1$export$f68dd208b5df064d)(part)}\" href=\"${(0, $dd2a3999053fa8a1$export$f68dd208b5df064d)(this.href)}\" download=\"${(0, $dd2a3999053fa8a1$export$f68dd208b5df064d)(this.download)}\" target=\"${(0, $dd2a3999053fa8a1$export$f68dd208b5df064d)(this.target)}\" rel=\"${(0, $dd2a3999053fa8a1$export$f68dd208b5df064d)(this.rel)}\" tabindex=\"${(0, $dd2a3999053fa8a1$export$f68dd208b5df064d)(tabIndex)}\">${content}</a>`;\n }\n }\n (0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n ], AnchorMixinClass.prototype, \"href\", void 0);\n (0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n ], AnchorMixinClass.prototype, \"download\", void 0);\n (0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n ], AnchorMixinClass.prototype, \"target\", void 0);\n (0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n ], AnchorMixinClass.prototype, \"rel\", void 0);\n return AnchorMixinClass;\n};\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\n\n\n\n\n\n\n\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.removeAttr = function(attributeName) {\n const names = attributeName.split(' ').filter((name)=>name);\n return this.each(function() {\n (0, $d0cded150def05db$export$211b8db791997e25)(names, (name)=>{\n (0, $93c84b873bab7bc6$export$6399f3bb52316b2c)(this, name);\n });\n });\n};\n\n\n\n\nlet $3bb9ba68ccebecb9$var$isClick = true;\nconst $3bb9ba68ccebecb9$var$document = (0, $c87de1375632dba4$export$f65ca476c09acec0)();\n$3bb9ba68ccebecb9$var$document.addEventListener('pointerdown', ()=>{\n $3bb9ba68ccebecb9$var$isClick = true;\n});\n$3bb9ba68ccebecb9$var$document.addEventListener('keydown', ()=>{\n $3bb9ba68ccebecb9$var$isClick = false;\n});\nconst $3bb9ba68ccebecb9$export$7b86c168e7d309f7 = (superclass)=>{\n class FocusableMixinClass extends superclass {\n constructor(){\n super(...arguments);\n /**\n * 是否在页面加载完成后自动获取焦点\n */ this.autofocus = false;\n /**\n * 是否获得了焦点,不管是鼠标点击,还是键盘切换获得的焦点,都会添加该属性\n * 添加到 :host 元素上,供 CSS 选择器添加样式\n */ this.focused = false;\n /**\n * 是否通过键盘切换获得了焦点\n * 添加到 :host 元素上,供 CSS 选择器添加样式\n */ this.focusVisible = false;\n this.focusableDefinedController = new (0, $29b950a65aaa366a$export$da3260c7a0861b80)(this, {\n relatedElements: [\n ''\n ]\n });\n this._manipulatingTabindex = false;\n this._tabIndex = 0;\n }\n /**\n * 元素在使用 Tab 键切换焦点时的顺序\n */ get tabIndex() {\n const $this = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(this);\n if (this.focusElement === this) return Number($this.attr('tabindex') || -1);\n const tabIndexAttribute = Number($this.attr('tabindex') || 0);\n if (this.focusDisabled || tabIndexAttribute < 0) return -1;\n if (!this.focusElement) return tabIndexAttribute;\n return this.focusElement.tabIndex;\n }\n set tabIndex(tabIndex) {\n if (this._manipulatingTabindex) {\n this._manipulatingTabindex = false;\n return;\n }\n const $this = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(this);\n if (this.focusElement === this) {\n if (tabIndex !== null) this._tabIndex = tabIndex;\n $this.attr('tabindex', this.focusDisabled ? null : tabIndex);\n return;\n }\n const onPointerDown = ()=>{\n if (this.tabIndex === -1) {\n this.tabIndex = 0;\n this.focus({\n preventScroll: true\n });\n }\n };\n if (tabIndex === -1) this.addEventListener('pointerdown', onPointerDown);\n else {\n this._manipulatingTabindex = true;\n this.removeEventListener('pointerdown', onPointerDown);\n }\n if (tabIndex === -1 || this.focusDisabled) {\n $this.attr('tabindex', -1);\n if (tabIndex !== -1) this.manageFocusElementTabindex(tabIndex);\n return;\n }\n if (!this.hasAttribute('tabindex')) this._manipulatingTabindex = false;\n this.manageFocusElementTabindex(tabIndex);\n }\n /**\n * 父类要实现该属性,表示是否禁用 focus 状态\n */ get focusDisabled() {\n throw new Error('Must implement focusDisabled getter!');\n }\n /**\n * 最终获得焦点的元素\n */ get focusElement() {\n throw new Error('Must implement focusElement getter!');\n }\n connectedCallback() {\n super.connectedCallback();\n this.updateComplete.then(()=>{\n requestAnimationFrame(()=>{\n this.manageAutoFocus();\n });\n });\n }\n /**\n * 模拟鼠标点击元素\n */ click() {\n if (this.focusDisabled) return;\n if (this.focusElement !== this) this.focusElement.click();\n else HTMLElement.prototype.click.apply(this);\n }\n /**\n * 将焦点设置到当前元素。\n *\n * 可以传入一个对象作为参数,该对象的属性包括:\n *\n * * `preventScroll`:默认情况下,元素获取焦点后,页面会滚动以将该元素滚动到视图中。如果不希望页面滚动,可以将此属性设置为 `true`。\n */ focus(options) {\n if (this.focusDisabled || !this.focusElement) return;\n if (this.focusElement !== this) this.focusElement.focus(options);\n else HTMLElement.prototype.focus.apply(this, [\n options\n ]);\n }\n /**\n * 移除当前元素的焦点\n */ blur() {\n if (this.focusElement !== this) this.focusElement.blur();\n else HTMLElement.prototype.blur.apply(this);\n }\n firstUpdated(changedProperties) {\n super.firstUpdated(changedProperties);\n this.focusElement.addEventListener('focus', ()=>{\n this.focused = true;\n this.focusVisible = !$3bb9ba68ccebecb9$var$isClick;\n });\n this.focusElement.addEventListener('blur', ()=>{\n this.focused = false;\n this.focusVisible = false;\n });\n }\n update(changedProperties) {\n if (this._lastFocusDisabled === undefined || this._lastFocusDisabled !== this.focusDisabled) {\n this._lastFocusDisabled = this.focusDisabled;\n const $this = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(this);\n if (this.focusDisabled) $this.removeAttr('tabindex');\n else {\n if (this.focusElement === this) {\n this._manipulatingTabindex = true;\n $this.attr('tabindex', this._tabIndex);\n } else if (this.tabIndex > -1) $this.removeAttr('tabindex');\n }\n }\n super.update(changedProperties);\n }\n updated(changedProperties) {\n super.updated(changedProperties);\n if (this.focused && this.focusDisabled) this.blur();\n }\n async manageFocusElementTabindex(tabIndex) {\n if (!this.focusElement) await this.updateComplete;\n if (tabIndex === null) this.focusElement.removeAttribute('tabindex');\n else this.focusElement.tabIndex = tabIndex;\n }\n manageAutoFocus() {\n if (this.autofocus) {\n this.dispatchEvent(new KeyboardEvent('keydown', {\n code: 'Tab'\n }));\n this.focusElement.focus();\n }\n }\n }\n (0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n /**\n * 哪些属性需要 reflect: true?\n * 一般所有属性都需要 reflect,但以下情况除外:\n * 1. 会频繁变更的属性\n * 2. 属性同步会造成较大性能开销的属性\n * 3. 复杂类型属性(数组、对象等,仅提供 property,不提供 attribute)\n */ reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n ], FocusableMixinClass.prototype, \"autofocus\", void 0);\n (0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n ], FocusableMixinClass.prototype, \"focused\", void 0);\n (0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b),\n attribute: 'focus-visible'\n })\n ], FocusableMixinClass.prototype, \"focusVisible\", void 0);\n (0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Number,\n attribute: 'tabindex'\n })\n ], FocusableMixinClass.prototype, \"tabIndex\", null);\n return FocusableMixinClass;\n};\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\n\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $c9d15c868ac73f05$export$56cc687933817664 = (0, $7f965b17d718bf91$export$99b43ad1ed32e735)(class extends (0, $7f965b17d718bf91$export$befdefbdce210f91) {\n constructor(t){\n if (super(t), t.type !== (0, $7f965b17d718bf91$export$9ba3b3f20a85bfa).ATTRIBUTE || \"class\" !== t.name || t.strings?.length > 2) throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\");\n }\n render(t) {\n return \" \" + Object.keys(t).filter((s)=>t[s]).join(\" \") + \" \";\n }\n update(s, [i]) {\n if (void 0 === this.st) {\n this.st = new Set, void 0 !== s.strings && (this.nt = new Set(s.strings.join(\" \").split(/\\s/).filter((t)=>\"\" !== t)));\n for(const t in i)i[t] && !this.nt?.has(t) && this.st.add(t);\n return this.render(i);\n }\n const r = s.element.classList;\n for (const t of this.st)t in i || (r.remove(t), this.st.delete(t));\n for(const t in i){\n const s = !!i[t];\n s === this.st.has(t) || this.nt?.has(t) || (s ? (r.add(t), this.st.add(t)) : (r.remove(t), this.st.delete(t)));\n }\n return 0, $1182a8bbea75578f$export$9c068ae9cc5db4e8;\n }\n});\n\n\n\n\n\n\n\n\nconst $88c4b251730a74bc$export$1d567c320f4763bc = (0, $0268acc93e67b930$export$dbf350e5966cf602)`:host{position:relative;display:inline-block;flex-shrink:0;width:2.5rem;height:2.5rem;stroke:rgb(var(--mdui-color-primary))}.progress{position:relative;display:inline-block;width:100%;height:100%;text-align:left;transition:opacity var(--mdui-motion-duration-medium1) var(--mdui-motion-easing-linear)}.determinate svg{transform:rotate(-90deg);fill:transparent}.determinate .track{stroke:transparent}.determinate .circle{stroke:inherit;transition:stroke-dashoffset var(--mdui-motion-duration-long2) var(--mdui-motion-easing-standard)}.indeterminate{font-size:0;letter-spacing:0;white-space:nowrap;animation:mdui-comp-circular-progress-rotate 1568ms var(--mdui-motion-easing-linear) infinite}.indeterminate .circle,.indeterminate .layer{position:absolute;width:100%;height:100%}.indeterminate .layer{animation:mdui-comp-circular-progress-layer-rotate 5332ms var(--mdui-motion-easing-standard) infinite both}.indeterminate .circle{fill:transparent;stroke:inherit}.indeterminate .gap-patch{position:absolute;top:0;left:47.5%;width:5%;height:100%;overflow:hidden}.indeterminate .gap-patch .circle{left:-900%;width:2000%;transform:rotate(180deg)}.indeterminate .clipper{position:relative;display:inline-block;width:50%;height:100%;overflow:hidden}.indeterminate .clipper .circle{width:200%}.indeterminate .clipper.left .circle{animation:mdui-comp-circular-progress-left-spin 1333ms var(--mdui-motion-easing-standard) infinite both}.indeterminate .clipper.right .circle{left:-100%;animation:mdui-comp-circular-progress-right-spin 1333ms var(--mdui-motion-easing-standard) infinite both}@keyframes mdui-comp-circular-progress-rotate{to{transform:rotate(360deg)}}@keyframes mdui-comp-circular-progress-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes mdui-comp-circular-progress-left-spin{0%{transform:rotate(265deg)}50%{transform:rotate(130deg)}100%{transform:rotate(265deg)}}@keyframes mdui-comp-circular-progress-right-spin{0%{transform:rotate(-265deg)}50%{transform:rotate(-130deg)}100%{transform:rotate(-265deg)}}`;\n\n\n/**\n * @summary 圆形进度指示器组件\n *\n * ```html\n * <mdui-circular-progress></mdui-circular-progress>\n * ```\n */ let $24b7d1db3ddd7bcf$export$9e72f56a493060bf = class CircularProgress extends (0, $53a1aafae9c6752a$export$9bb0a9faa319390c) {\n constructor(){\n super(...arguments);\n /**\n * 进度指示器的最大值。默认为 `1`\n */ this.max = 1;\n }\n render() {\n const isDeterminate = !(0, $d0cded150def05db$export$fce6876652108ab)(this.value);\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<div class=\"progress ${(0, $c9d15c868ac73f05$export$56cc687933817664)({\n determinate: isDeterminate,\n indeterminate: !isDeterminate\n })}\">${isDeterminate ? this.renderDeterminate() : this.renderInDeterminate()}</div>`;\n }\n renderDeterminate() {\n const value = this.value;\n const strokeWidth = 4; // 圆环宽度\n const circleRadius = 18; // 圆环宽度中心点的半径\n const \\u03C0 = 3.1415926;\n const center = circleRadius + strokeWidth / 2;\n const circumference = 2 * \\u03C0 * circleRadius;\n const determinateStrokeDashOffset = (1 - value / Math.max(this.max ?? value, value)) * circumference;\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<svg viewBox=\"0 0 ${center * 2} ${center * 2}\"><circle class=\"track\" cx=\"${center}\" cy=\"${center}\" r=\"${circleRadius}\" stroke-width=\"${strokeWidth}\"></circle><circle class=\"circle\" cx=\"${center}\" cy=\"${center}\" r=\"${circleRadius}\" stroke-dasharray=\"${2 * \\u03C0 * circleRadius}\" stroke-dashoffset=\"${determinateStrokeDashOffset}\" stroke-width=\"${strokeWidth}\"></circle></svg>`;\n }\n renderInDeterminate() {\n const strokeWidth = 4; // 圆环宽度\n const circleRadius = 18; // 圆环宽度中心点的半径\n const \\u03C0 = 3.1415926;\n const center = circleRadius + strokeWidth / 2;\n const circumference = 2 * \\u03C0 * circleRadius;\n const halfCircumference = 0.5 * circumference;\n const circle = (thisStrokeWidth)=>(0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<svg class=\"circle\" viewBox=\"0 0 ${center * 2} ${center * 2}\"><circle cx=\"${center}\" cy=\"${center}\" r=\"${circleRadius}\" stroke-dasharray=\"${circumference}\" stroke-dashoffset=\"${halfCircumference}\" stroke-width=\"${thisStrokeWidth}\"></circle></svg>`;\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<div class=\"layer\"><div class=\"clipper left\">${circle(strokeWidth)}</div><div class=\"gap-patch\">${circle(strokeWidth * 0.8)}</div><div class=\"clipper right\">${circle(strokeWidth)}</div></div>`;\n }\n};\n$24b7d1db3ddd7bcf$export$9e72f56a493060bf.styles = [\n (0, $a1095454894349c1$export$7ef977f86985f711),\n (0, $88c4b251730a74bc$export$1d567c320f4763bc)\n];\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Number,\n reflect: true\n })\n], $24b7d1db3ddd7bcf$export$9e72f56a493060bf.prototype, \"max\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Number\n })\n], $24b7d1db3ddd7bcf$export$9e72f56a493060bf.prototype, \"value\", void 0);\n$24b7d1db3ddd7bcf$export$9e72f56a493060bf = (0, $ceFTv.__decorate)([\n (0, $6eca265e3a72f146$export$da64fc29f17f9d0e)('mdui-circular-progress')\n], $24b7d1db3ddd7bcf$export$9e72f56a493060bf);\n\n\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\n\n\n\n\n\n\n\n\n\n// eslint-disable-next-line\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.is = function(selector) {\n let isMatched = false;\n if ((0, $d0cded150def05db$export$f6e2535fb5126e54)(selector)) {\n this.each((index, element)=>{\n if (selector.call(element, index, element)) isMatched = true;\n });\n return isMatched;\n }\n if ((0, $d0cded150def05db$export$844ec244b1367d54)(selector)) {\n this.each((_, element)=>{\n if ((0, $d0cded150def05db$export$62858bae88b53fd0)(element) || (0, $d0cded150def05db$export$5a096129d439f843)(element)) return;\n if (element.matches.call(element, selector)) isMatched = true;\n });\n return isMatched;\n }\n const $compareWith = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(selector);\n this.each((_, element)=>{\n $compareWith.each((_, compare)=>{\n if (element === compare) isMatched = true;\n });\n });\n return isMatched;\n};\n\n\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.children = function(selector) {\n const children = [];\n this.each((_, element)=>{\n (0, $d0cded150def05db$export$211b8db791997e25)(element.childNodes, (childNode)=>{\n if (!(0, $d0cded150def05db$export$45a5e7f76e0caa8d)(childNode)) return;\n if (!selector || (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(childNode).is(selector)) children.push(childNode);\n });\n });\n return new (0, $6175daf4c02230d4$export$af7f3c1d59036499)((0, $8917adc71c53e49d$export$7a5d5c156e7dc406)(children));\n};\n\n\n\n\n\n\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.slice = function(...args) {\n return new (0, $6175daf4c02230d4$export$af7f3c1d59036499)([].slice.apply(this, args));\n};\n\n\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.eq = function(index) {\n const ret = index === -1 ? this.slice(index) : this.slice(index, +index + 1);\n return new (0, $6175daf4c02230d4$export$af7f3c1d59036499)(ret);\n};\n\n\n\n// eslint-disable-next-line\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.get = function(index) {\n return index === undefined ? [].slice.call(this) : this[index >= 0 ? index : index + this.length];\n};\n\n\n\n\n\n\n\n\n\n\n\nconst $bd16f506cea8b6ba$export$147ec2801e896265 = ($elements, nameIndex, node, // eslint-disable-next-line\nselector, filter)=>{\n const ret = [];\n let target;\n $elements.each((_, element)=>{\n target = element[node];\n // 不能包含最顶层的 document 元素\n while(target && (0, $d0cded150def05db$export$45a5e7f76e0caa8d)(target)){\n // prevUntil, nextUntil, parentsUntil\n if (nameIndex === 2) {\n if (selector && (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(target).is(selector)) break;\n if (!filter || (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(target).is(filter)) ret.push(target);\n } else if (nameIndex === 0) {\n if (!selector || (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(target).is(selector)) ret.push(target);\n break;\n } else if (!selector || (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(target).is(selector)) ret.push(target);\n target = target[node];\n }\n });\n return new (0, $6175daf4c02230d4$export$af7f3c1d59036499)((0, $8917adc71c53e49d$export$7a5d5c156e7dc406)(ret));\n};\n\n\n(0, $d0cded150def05db$export$211b8db791997e25)([\n '',\n 's',\n 'sUntil'\n], (name, nameIndex)=>{\n (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn[`parent${name}`] = function(// eslint-disable-next-line\n selector, filter) {\n // parents、parentsUntil 需要把元素的顺序反向处理,以便和 jQuery 的结果一致\n const $nodes = !nameIndex ? this : (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(this.get().reverse());\n return (0, $bd16f506cea8b6ba$export$147ec2801e896265)($nodes, nameIndex, 'parentNode', selector, filter);\n };\n});\n\n\n// eslint-disable-next-line\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.index = function(selector) {\n if (!arguments.length) return this.eq(0).parent().children().get().indexOf(this[0]);\n if ((0, $d0cded150def05db$export$844ec244b1367d54)(selector)) return (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(selector).get().indexOf(this[0]);\n return this.get().indexOf((0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(selector)[0]);\n};\n\n\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\n\n\n\n\n\n\n(0, $d0cded150def05db$export$211b8db791997e25)([\n 'add',\n 'remove',\n 'toggle'\n], (name)=>{\n (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn[`${name}Class`] = function(className) {\n if (name === 'remove' && !arguments.length) return this.each((_, element)=>{\n (0, $93c84b873bab7bc6$export$9fec4d97f1922e0b)(element, 'class', '');\n });\n return this.each((i, element)=>{\n if (!(0, $d0cded150def05db$export$45a5e7f76e0caa8d)(element)) return;\n const classes = ((0, $d0cded150def05db$export$f6e2535fb5126e54)(className) ? className.call(element, i, (0, $93c84b873bab7bc6$export$735ee1799fd02602)(element, 'class', '')) : className).split(' ').filter((name)=>name);\n (0, $d0cded150def05db$export$211b8db791997e25)(classes, (cls)=>{\n element.classList[name](cls);\n });\n });\n };\n});\n\n\n\n\n\n\nconst $0998345f3fc9bb6a$var$weakMap = new WeakMap();\nconst $0998345f3fc9bb6a$export$2774c37398bee8b2 = (element)=>{\n return $0998345f3fc9bb6a$var$weakMap.get(element) ?? {};\n};\nconst $0998345f3fc9bb6a$export$3988ae62b71be9a3 = (element, keyOriginal)=>{\n const data = $0998345f3fc9bb6a$export$2774c37398bee8b2(element);\n const key = (0, $d0cded150def05db$export$86f54f62aa7a7514)(keyOriginal);\n return key in data ? data[key] : undefined;\n};\nconst $0998345f3fc9bb6a$export$5c5fa8f869a462 = (element, object)=>{\n const data = $0998345f3fc9bb6a$export$2774c37398bee8b2(element);\n (0, $d0cded150def05db$export$1b8ac1d3a07c9372)(object, (keyOriginal, value)=>{\n data[(0, $d0cded150def05db$export$86f54f62aa7a7514)(keyOriginal)] = value;\n });\n $0998345f3fc9bb6a$var$weakMap.set(element, data);\n};\nconst $0998345f3fc9bb6a$export$adaa4cf7ef1b65be = (element, keyOriginal, value)=>{\n $0998345f3fc9bb6a$export$5c5fa8f869a462(element, {\n [keyOriginal]: value\n });\n};\nconst $0998345f3fc9bb6a$export$1cfc7aad5cb1833b = (element)=>{\n $0998345f3fc9bb6a$var$weakMap.delete(element);\n};\nconst $0998345f3fc9bb6a$export$f5106542ad584215 = (element, keysOriginal)=>{\n const data = $0998345f3fc9bb6a$export$2774c37398bee8b2(element);\n (0, $d0cded150def05db$export$211b8db791997e25)(keysOriginal, (keyOriginal)=>{\n const key = (0, $d0cded150def05db$export$86f54f62aa7a7514)(keyOriginal);\n delete data[key];\n });\n $0998345f3fc9bb6a$var$weakMap.set(element, data);\n};\nconst $0998345f3fc9bb6a$var$rbrace = /^(?:{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/;\n/**\n * dataset 中的值读取时进行转换\n * @param value\n */ const $0998345f3fc9bb6a$var$stringTransform = (value)=>{\n if (value === 'true') return true;\n if (value === 'false') return false;\n if (value === 'null') return null;\n if (value === +value + '') return +value;\n if ($0998345f3fc9bb6a$var$rbrace.test(value)) return JSON.parse(value);\n return value;\n};\nconst $0998345f3fc9bb6a$export$5cc3b7b83e34ade7 = (element, key, value)=>{\n if ((0, $d0cded150def05db$export$fce6876652108ab)(value) && element.nodeType === 1) {\n value = element.dataset[key];\n if ((0, $d0cded150def05db$export$844ec244b1367d54)(value)) try {\n value = $0998345f3fc9bb6a$var$stringTransform(value);\n } catch (e) {}\n }\n return value;\n};\n\n\n\n\n// eslint-disable-next-line\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.data = function(key, value) {\n // 获取所有值\n if ((0, $d0cded150def05db$export$fce6876652108ab)(key)) {\n if (!this.length) return undefined;\n const element = this[0];\n const resultData = (0, $0998345f3fc9bb6a$export$2774c37398bee8b2)(element);\n // window, document 上不存在 `dataset`\n if (element.nodeType !== 1) return resultData;\n // 若值未通过 data 方法设置,则从 `dataset` 中获取值。dataset 中读取的 key 会自动转为驼峰法\n (0, $d0cded150def05db$export$1b8ac1d3a07c9372)(element.dataset, (key)=>{\n resultData[key] = (0, $0998345f3fc9bb6a$export$5cc3b7b83e34ade7)(element, key, resultData[key]);\n });\n return resultData;\n }\n // 同时设置多个值\n if ((0, $d0cded150def05db$export$c10d0b04eaa80a43)(key)) return this.each(function() {\n (0, $0998345f3fc9bb6a$export$5c5fa8f869a462)(this, key);\n });\n // value 传入了 undefined\n if (arguments.length === 2 && (0, $d0cded150def05db$export$fce6876652108ab)(value)) return this;\n // 设置值\n if (!(0, $d0cded150def05db$export$fce6876652108ab)(value)) return this.each(function() {\n (0, $0998345f3fc9bb6a$export$adaa4cf7ef1b65be)(this, key, value);\n });\n // 获取值\n if (!this.length) return undefined;\n return (0, $0998345f3fc9bb6a$export$5cc3b7b83e34ade7)(this[0], (0, $d0cded150def05db$export$86f54f62aa7a7514)(key), (0, $0998345f3fc9bb6a$export$3988ae62b71be9a3)(this[0], key));\n};\n\n\n\n\n\n\n\n\n\nfunction $3de04dbd0bc55081$export$79b2f7037acddd43(target, callback) {\n // eachArray 回调函数是 value, key,这里的 each 函数是 key, value\n return (0, $d0cded150def05db$export$1e2f57719e155213)(target) ? (0, $d0cded150def05db$export$211b8db791997e25)(target, (value, index)=>{\n return callback.call(value, index, value);\n }) : (0, $d0cded150def05db$export$1b8ac1d3a07c9372)(target, callback);\n}\n\n\nfunction $67dfbc376cd90141$export$871de8747c9eaa88(elements, callback) {\n const window = (0, $c87de1375632dba4$export$38b2d434cce3ea22)();\n let value;\n const ret = [];\n (0, $3de04dbd0bc55081$export$79b2f7037acddd43)(elements, (i, element)=>{\n value = callback.call(window, element, i);\n if (value != null) ret.push(value);\n });\n return [].concat(...ret);\n}\n\n\n\n// eslint-disable-next-line\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.map = function(callback) {\n return new (0, $6175daf4c02230d4$export$af7f3c1d59036499)((0, $67dfbc376cd90141$export$871de8747c9eaa88)(this, (element, i)=>{\n return callback.call(element, i, element);\n }));\n};\n\n\n// eslint-disable-next-line\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.filter = function(selector) {\n if ((0, $d0cded150def05db$export$f6e2535fb5126e54)(selector)) return this.map((index, element)=>{\n return selector.call(element, index, element) ? element : undefined;\n });\n if ((0, $d0cded150def05db$export$844ec244b1367d54)(selector)) return this.map((_, element)=>{\n return (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(element).is(selector) ? element : undefined;\n });\n const $selector = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(selector);\n return this.map((_, element)=>{\n return $selector.get().includes(element) ? element : undefined;\n });\n};\n\n\n\n\n\n\n\n\n/**\n * 值上面的 padding、border、margin 处理\n * @param element\n * @param name\n * @param value\n * @param funcIndex\n * @param includeMargin\n * @param multiply\n */ const $c5eae2e260de3fc7$var$handleExtraWidth = (element, name, value, funcIndex, includeMargin, multiply)=>{\n // 获取元素的 padding, border, margin 宽度(两侧宽度的和)\n const getExtraWidthValue = (extra)=>{\n return (0, $0caf6a5c58ee85f9$export$31fae7b1c9494af1)(element, name.toLowerCase(), extra) * multiply;\n };\n if (funcIndex === 2 && includeMargin) value += getExtraWidthValue('margin');\n if ((0, $0caf6a5c58ee85f9$export$78bc5c0ac316e909)(element)) {\n if (funcIndex === 0) value -= getExtraWidthValue('border');\n if (funcIndex === 1) {\n value -= getExtraWidthValue('border');\n value -= getExtraWidthValue('padding');\n }\n } else {\n if (funcIndex === 0) value += getExtraWidthValue('padding');\n if (funcIndex === 2) {\n value += getExtraWidthValue('border');\n value += getExtraWidthValue('padding');\n }\n }\n return value;\n};\n/**\n * 获取元素的样式值\n * @param element\n * @param name\n * @param funcIndex 0: innerWidth, innerHeight; 1: width, height; 2: outerWidth, outerHeight\n * @param includeMargin\n */ const $c5eae2e260de3fc7$var$get = (element, name, funcIndex, includeMargin)=>{\n const document = (0, $c87de1375632dba4$export$f65ca476c09acec0)();\n const clientProp = `client${name}`;\n const scrollProp = `scroll${name}`;\n const offsetProp = `offset${name}`;\n const innerProp = `inner${name}`;\n // $(window).width()\n if ((0, $d0cded150def05db$export$5a096129d439f843)(element)) // outerWidth, outerHeight 需要包含滚动条的宽度\n return funcIndex === 2 ? element[innerProp] : (0, $d0cded150def05db$export$8d51e3db1a844094)(document)[clientProp];\n // $(document).width()\n if ((0, $d0cded150def05db$export$62858bae88b53fd0)(element)) {\n const doc = (0, $d0cded150def05db$export$8d51e3db1a844094)(element);\n return Math.max(// @ts-ignore\n element.body[scrollProp], doc[scrollProp], // @ts-ignore\n element.body[offsetProp], doc[offsetProp], doc[clientProp]);\n }\n const value = parseFloat((0, $0caf6a5c58ee85f9$export$8279eff504af5afb)(element, name.toLowerCase()) || '0');\n return $c5eae2e260de3fc7$var$handleExtraWidth(element, name, value, funcIndex, includeMargin, 1);\n};\n/**\n * 设置元素的样式值\n * @param element\n * @param elementIndex\n * @param name\n * @param funcIndex 0: innerWidth, innerHeight; 1: width, height; 2: outerWidth, outerHeight\n * @param includeMargin\n * @param value\n */ const $c5eae2e260de3fc7$var$set = (element, elementIndex, name, funcIndex, includeMargin, value)=>{\n let computedValue = (0, $d0cded150def05db$export$f6e2535fb5126e54)(value) ? value.call(element, elementIndex, $c5eae2e260de3fc7$var$get(element, name, funcIndex, includeMargin)) : value;\n if (computedValue == null) return;\n const $element = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(element);\n const dimension = name.toLowerCase();\n // 特殊的值,不需要计算 padding、border、margin\n if ((0, $d0cded150def05db$export$844ec244b1367d54)(computedValue) && [\n 'auto',\n 'inherit',\n ''\n ].includes(computedValue)) {\n $element.css(dimension, computedValue);\n return;\n }\n // 其他值保留原始单位。注意:如果不使用 px 作为单位,则算出的值一般是不准确的\n const suffix = computedValue.toString().replace(/\\b[0-9.]*/, '');\n const numerical = parseFloat(computedValue);\n computedValue = $c5eae2e260de3fc7$var$handleExtraWidth(element, name, numerical, funcIndex, includeMargin, -1) + (suffix || 'px');\n $element.css(dimension, computedValue);\n};\n(0, $d0cded150def05db$export$211b8db791997e25)([\n 'Width',\n 'Height'\n], (name)=>{\n (0, $d0cded150def05db$export$211b8db791997e25)([\n `inner${name}`,\n name.toLowerCase(),\n `outer${name}`\n ], (funcName, funcIndex)=>{\n (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn[funcName] = function(// eslint-disable-next-line\n margin, // eslint-disable-next-line\n value) {\n // 是否是赋值操作\n const isSet = arguments.length && (funcIndex < 2 || !(0, $d0cded150def05db$export$f9ce7b637dfbe238)(margin));\n const includeMargin = margin === true || value === true;\n // 获取第一个元素的值\n if (!isSet) return this.length ? $c5eae2e260de3fc7$var$get(this[0], name, funcIndex, includeMargin) : undefined;\n // 设置每个元素的值\n return this.each((index, element)=>{\n return $c5eae2e260de3fc7$var$set(element, index, name, funcIndex, includeMargin, margin);\n });\n };\n });\n});\n\n\n\n\n\n\n\n\n\nfunction $229897d88c30053c$export$8b58be045bf06082(target, ...objectN) {\n (0, $d0cded150def05db$export$211b8db791997e25)(objectN, (object)=>{\n (0, $d0cded150def05db$export$1b8ac1d3a07c9372)(object, (prop, value)=>{\n if (!(0, $d0cded150def05db$export$fce6876652108ab)(value)) target[prop] = value;\n });\n });\n return target;\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * 返回最近的用于定位的父元素\n */ (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.offsetParent = function() {\n const document = (0, $c87de1375632dba4$export$f65ca476c09acec0)();\n return this.map(function() {\n let offsetParent = this.offsetParent;\n while(offsetParent && (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(offsetParent).css('position') === 'static')offsetParent = offsetParent.offsetParent;\n return offsetParent || document.documentElement;\n });\n};\n\n\nconst $3320362c87173871$var$floatStyle = ($element, name)=>{\n return parseFloat($element.css(name));\n};\n// @ts-ignore\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.position = function() {\n if (!this.length) return undefined;\n const $element = this.eq(0);\n let currentOffset;\n let parentOffset = {\n left: 0,\n top: 0\n };\n if ($element.css('position') === 'fixed') currentOffset = $element[0].getBoundingClientRect();\n else {\n currentOffset = $element.offset();\n const $offsetParent = $element.offsetParent();\n parentOffset = $offsetParent.offset();\n parentOffset.top += $3320362c87173871$var$floatStyle($offsetParent, 'border-top-width');\n parentOffset.left += $3320362c87173871$var$floatStyle($offsetParent, 'border-left-width');\n }\n return {\n top: currentOffset.top - parentOffset.top - $3320362c87173871$var$floatStyle($element, 'margin-top'),\n left: currentOffset.left - parentOffset.left - $3320362c87173871$var$floatStyle($element, 'margin-left')\n };\n};\n\n\nconst $d5f1bc9a569b30f2$var$get = (element)=>{\n if (!element.getClientRects().length) return {\n top: 0,\n left: 0\n };\n const { top: top, left: left } = element.getBoundingClientRect();\n const { pageYOffset: pageYOffset, pageXOffset: pageXOffset } = element.ownerDocument.defaultView;\n return {\n top: top + pageYOffset,\n left: left + pageXOffset\n };\n};\nconst $d5f1bc9a569b30f2$var$set = (element, value, index)=>{\n const $element = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(element);\n const position = $element.css('position');\n if (position === 'static') $element.css('position', 'relative');\n const currentOffset = $d5f1bc9a569b30f2$var$get(element);\n const currentTopString = $element.css('top');\n const currentLeftString = $element.css('left');\n let currentTop;\n let currentLeft;\n const calculatePosition = (position === 'absolute' || position === 'fixed') && (currentTopString + currentLeftString).includes('auto');\n if (calculatePosition) {\n const currentPosition = $element.position();\n currentTop = currentPosition.top;\n currentLeft = currentPosition.left;\n } else {\n currentTop = parseFloat(currentTopString);\n currentLeft = parseFloat(currentLeftString);\n }\n const computedValue = (0, $d0cded150def05db$export$f6e2535fb5126e54)(value) ? value.call(element, index, (0, $229897d88c30053c$export$8b58be045bf06082)({}, currentOffset)) : value;\n $element.css({\n top: computedValue.top != null ? computedValue.top - currentOffset.top + currentTop : undefined,\n left: computedValue.left != null ? computedValue.left - currentOffset.left + currentLeft : undefined\n });\n};\n// eslint-disable-next-line\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.offset = function(value) {\n // 获取坐标\n if (!arguments.length) {\n if (!this.length) return undefined;\n return $d5f1bc9a569b30f2$var$get(this[0]);\n }\n // 设置坐标\n return this.each(function(index) {\n $d5f1bc9a569b30f2$var$set(this, value, index);\n });\n};\n\n\n\n\n\n\nconst $dbdfa8d1727f2953$export$2344b14b097df817 = (container, contains)=>{\n return container !== contains && (0, $d0cded150def05db$export$8d51e3db1a844094)(container).contains(contains);\n};\n\n\n\n\nconst $de9a3271470b39d0$export$4950aa0f605343fb = (first, second)=>{\n (0, $d0cded150def05db$export$211b8db791997e25)(second, (value)=>{\n first.push(value);\n });\n return first;\n};\n\n\n\n\n\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.find = function(selector) {\n const foundElements = [];\n this.each((_, element)=>{\n (0, $de9a3271470b39d0$export$4950aa0f605343fb)(foundElements, (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(element.querySelectorAll(selector)).get());\n });\n return new (0, $6175daf4c02230d4$export$af7f3c1d59036499)(foundElements);\n};\n\n\n\n\n// 直接使用 CustomEvent 在 ssr 环境下会报错\nconst $c9243290d90ea08c$var$CustomEvent = (0, $c87de1375632dba4$export$38b2d434cce3ea22)().CustomEvent;\nclass $c9243290d90ea08c$export$df19c5abb73be735 extends $c9243290d90ea08c$var$CustomEvent {\n constructor(type, options){\n super(type, options);\n this.data = options.data;\n this.namespace = options.namespace;\n }\n}\nconst $c9243290d90ea08c$var$elementIdMap = new WeakMap();\nlet $c9243290d90ea08c$var$elementId = 1;\n/**\n * 为元素赋予一个唯一的ID\n */ const $c9243290d90ea08c$var$getElementId = (element)=>{\n if (!$c9243290d90ea08c$var$elementIdMap.has(element)) $c9243290d90ea08c$var$elementIdMap.set(element, ++$c9243290d90ea08c$var$elementId);\n return $c9243290d90ea08c$var$elementIdMap.get(element);\n};\n// 存储唯一ID及事件处理\nconst $c9243290d90ea08c$var$handlersMap = new Map();\n/**\n * 获取元素上的事件处理器数组\n * @param element\n */ const $c9243290d90ea08c$var$getHandlers = (element)=>{\n const id = $c9243290d90ea08c$var$getElementId(element);\n return $c9243290d90ea08c$var$handlersMap.get(id) || $c9243290d90ea08c$var$handlersMap.set(id, []).get(id);\n};\nconst $c9243290d90ea08c$export$98e6a39c04603d36 = (type)=>{\n const parts = type.split('.');\n return {\n type: parts[0],\n namespace: parts.slice(1).sort().join(' ')\n };\n};\n/**\n * 命名空间匹配规则\n */ const $c9243290d90ea08c$var$matcherFor = (namespace)=>{\n return new RegExp('(?:^| )' + namespace.replace(' ', ' .* ?') + '(?: |$)');\n};\n/**\n * 获取匹配的事件\n * @param element\n * @param type\n * @param func\n * @param selector\n */ const $c9243290d90ea08c$var$getMatchedHandlers = (element, type, func, selector)=>{\n const event = $c9243290d90ea08c$export$98e6a39c04603d36(type);\n return $c9243290d90ea08c$var$getHandlers(element).filter((handler)=>{\n return handler && (!event.type || handler.type === event.type) && (!event.namespace || $c9243290d90ea08c$var$matcherFor(event.namespace).test(handler.namespace)) && (!func || $c9243290d90ea08c$var$getElementId(handler.func) === $c9243290d90ea08c$var$getElementId(func)) && (!selector || handler.selector === selector);\n });\n};\nconst $c9243290d90ea08c$export$e16d8520af44a096 = (element, types, func, data, selector)=>{\n // 传入 data.useCapture 来设置 useCapture: true\n let useCapture = false;\n if ((0, $d0cded150def05db$export$c10d0b04eaa80a43)(data) && data.useCapture) useCapture = true;\n types.split(' ').forEach((type)=>{\n if (!type) return;\n const event = $c9243290d90ea08c$export$98e6a39c04603d36(type);\n const callFn = (e, elem)=>{\n const result = func.apply(elem, // @ts-ignore\n e.detail === null ? [\n e\n ] : [\n e\n ].concat(e.detail));\n if (result === false) {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n const proxyFn = (e)=>{\n if (e.namespace && !$c9243290d90ea08c$var$matcherFor(e.namespace).test(event.namespace)) return;\n e.data = data;\n if (selector) // 事件代理\n (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(element).find(selector).get().reverse().forEach((elem)=>{\n if (elem === e.target || (0, $dbdfa8d1727f2953$export$2344b14b097df817)(elem, e.target)) callFn(e, elem);\n });\n else // 不使用事件代理\n callFn(e, element);\n };\n const handler = {\n type: event.type,\n namespace: event.namespace,\n func: func,\n selector: selector,\n id: $c9243290d90ea08c$var$getHandlers(element).length,\n proxy: proxyFn\n };\n $c9243290d90ea08c$var$getHandlers(element).push(handler);\n // @ts-ignore\n element.addEventListener(handler.type, proxyFn, useCapture);\n });\n};\nconst $c9243290d90ea08c$export$cd7f480d6b8286c3 = (element, types, func, selector)=>{\n const handlersInElement = $c9243290d90ea08c$var$getHandlers(element);\n const removeEvent = (handler)=>{\n delete handlersInElement[handler.id];\n // @ts-ignore\n element.removeEventListener(handler.type, handler.proxy, false);\n };\n if (!types) handlersInElement.forEach((handler)=>{\n removeEvent(handler);\n });\n else types.split(' ').forEach((type)=>{\n if (type) $c9243290d90ea08c$var$getMatchedHandlers(element, type, func, selector).forEach((handler)=>{\n removeEvent(handler);\n });\n });\n};\n\n\n\n\n\n\n\n\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.off = function(types, // eslint-disable-next-line\nselector, // eslint-disable-next-line\ncallback) {\n // types 是对象\n if ((0, $d0cded150def05db$export$c10d0b04eaa80a43)(types)) {\n (0, $d0cded150def05db$export$1b8ac1d3a07c9372)(types, (type, fn)=>{\n // this.off('click', undefined, function () {})\n // this.off('click', '.box', function () {})\n this.off(type, selector, fn);\n });\n return this;\n }\n // selector 不存在\n if (selector === false || (0, $d0cded150def05db$export$f6e2535fb5126e54)(selector)) {\n callback = selector;\n selector = undefined;\n // this.off('click', undefined, function () {})\n }\n // callback 传入 `false`,相当于 `return false`\n if (callback === false) callback = (0, $d0cded150def05db$export$35d6da1a7e941e79);\n return this.each(function() {\n (0, $c9243290d90ea08c$export$cd7f480d6b8286c3)(this, types, callback, selector);\n });\n};\n\n\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.on = function(// eslint-disable-next-line\ntypes, // eslint-disable-next-line\nselector, // eslint-disable-next-line\ndata, // eslint-disable-next-line\ncallback, one) {\n // types 可以是 type/func 对象\n if ((0, $d0cded150def05db$export$c10d0b04eaa80a43)(types)) {\n // (types-Object, selector, data)\n if (!(0, $d0cded150def05db$export$844ec244b1367d54)(selector)) {\n // (types-Object, data)\n data = data || selector;\n selector = undefined;\n }\n (0, $d0cded150def05db$export$1b8ac1d3a07c9372)(types, (type, fn)=>{\n // selector 和 data 都可能是 undefined\n // @ts-ignore\n this.on(type, selector, data, fn, one);\n });\n return this;\n }\n if (data == null && callback == null) {\n // (types, fn)\n callback = selector;\n data = selector = undefined;\n } else if (callback == null) {\n if ((0, $d0cded150def05db$export$844ec244b1367d54)(selector)) {\n // (types, selector, fn)\n callback = data;\n data = undefined;\n } else {\n // (types, data, fn)\n callback = data;\n data = selector;\n selector = undefined;\n }\n }\n if (callback === false) callback = (0, $d0cded150def05db$export$35d6da1a7e941e79);\n else if (!callback) return this;\n // $().one()\n if (one) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const _this = this;\n const origCallback = callback;\n callback = function(event, ...dataN) {\n _this.off(event.type, selector, callback);\n return origCallback.call(this, event, ...dataN);\n };\n }\n return this.each(function() {\n (0, $c9243290d90ea08c$export$e16d8520af44a096)(this, types, callback, data, selector);\n });\n};\n\n\n\n\n\n\n\n\n\n(0, $d0cded150def05db$export$211b8db791997e25)([\n 'insertBefore',\n 'insertAfter'\n], (name, nameIndex)=>{\n // eslint-disable-next-line\n (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn[name] = function(target) {\n const $element = nameIndex ? (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(this.get().reverse()) : this; // 顺序和 jQuery 保持一致\n const $target = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(target);\n const result = [];\n $target.each((index, target)=>{\n if (!target.parentNode) return;\n $element.each((_, element)=>{\n const newItem = index ? element.cloneNode(true) : element;\n const existingItem = nameIndex ? target.nextSibling : target;\n result.push(newItem);\n target.parentNode.insertBefore(newItem, existingItem);\n });\n });\n return (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(nameIndex ? result.reverse() : result);\n };\n});\n\n\n\n\n\n\n\n\n\n\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.remove = function(selector) {\n return this.each((_, element)=>{\n if (!selector || (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(element).is(selector)) (0, $f94b048e0ef94ba5$export$7ae609f7af59e4f7)(element);\n });\n};\n\n\n(0, $d0cded150def05db$export$211b8db791997e25)([\n 'appendTo',\n 'prependTo'\n], (name, nameIndex)=>{\n // eslint-disable-next-line\n (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn[name] = function(target) {\n const extraChilds = [];\n const $target = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(target).map((_, element)=>{\n const childNodes = element.childNodes;\n const childLength = childNodes.length;\n if (childLength) return childNodes[nameIndex ? 0 : childLength - 1];\n const child = (0, $f94b048e0ef94ba5$export$c8a8987d4410bf2d)('div');\n (0, $f94b048e0ef94ba5$export$1b8e57c9ea42f1d2)(element, child);\n extraChilds.push(child);\n return child;\n });\n const $result = this[nameIndex ? 'insertBefore' : 'insertAfter']($target);\n (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(extraChilds).remove();\n return $result;\n };\n});\n\n\n\n\n\n\n\n\n\nconst $48ad39a890570dca$export$1d567c320f4763bc = (0, $0268acc93e67b930$export$dbf350e5966cf602)`:host{position:absolute;top:0;left:0;display:block;width:100%;height:100%;overflow:hidden;pointer-events:none}.surface{position:absolute;top:0;left:0;width:100%;height:100%;transition-duration:280ms;transition-property:background-color;pointer-events:none;transition-timing-function:var(--mdui-motion-easing-standard)}.hover{background-color:rgba(var(--mdui-comp-ripple-state-layer-color,var(--mdui-color-on-surface)),var(--mdui-state-layer-hover))}:host-context([focus-visible]) .focused{background-color:rgba(var(--mdui-comp-ripple-state-layer-color,var(--mdui-color-on-surface)),var(--mdui-state-layer-focus))}.dragged{background-color:rgba(var(--mdui-comp-ripple-state-layer-color,var(--mdui-color-on-surface)),var(--mdui-state-layer-dragged))}.wave{position:absolute;z-index:1;background-color:rgb(var(--mdui-comp-ripple-state-layer-color,var(--mdui-color-on-surface)));border-radius:50%;transform:translate3d(0,0,0) scale(.4);opacity:0;animation:225ms ease 0s 1 normal forwards running mdui-comp-ripple-radius-in,75ms ease 0s 1 normal forwards running mdui-comp-ripple-opacity-in;pointer-events:none}.out{transform:translate3d(var(--mdui-comp-ripple-transition-x,0),var(--mdui-comp-ripple-transition-y,0),0) scale(1);animation:150ms ease 0s 1 normal none running mdui-comp-ripple-opacity-out}@keyframes mdui-comp-ripple-radius-in{from{transform:translate3d(0,0,0) scale(.4);animation-timing-function:var(--mdui-motion-easing-standard)}to{transform:translate3d(var(--mdui-comp-ripple-transition-x,0),var(--mdui-comp-ripple-transition-y,0),0) scale(1)}}@keyframes mdui-comp-ripple-opacity-in{from{opacity:0;animation-timing-function:linear}to{opacity:var(--mdui-state-layer-pressed)}}@keyframes mdui-comp-ripple-opacity-out{from{animation-timing-function:linear;opacity:var(--mdui-state-layer-pressed)}to{opacity:0}}`;\n\n\n/**\n * 处理点击时的涟漪动画;及添加 hover、focused、dragged 的背景色\n * 背景色通过在 .surface 元素上添加对应的 class 实现\n * 阴影在 ripple-mixin 中处理,通过在 :host 元素上添加 attribute 供 CSS 选择器添加样式\n */ let $6e172aead194afb2$export$9e9146f7e027fdaa = class Ripple extends (0, $53a1aafae9c6752a$export$9bb0a9faa319390c) {\n constructor(){\n super(...arguments);\n /**\n * 是否禁用涟漪动画\n */ this.noRipple = false;\n this.hover = false;\n this.focused = false;\n this.dragged = false;\n this.surfaceRef = (0, $f322d22fead4969a$export$7d1e3a5e95ceca43)();\n }\n startPress(event) {\n if (this.noRipple) return;\n const $surface = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(this.surfaceRef.value);\n const surfaceHeight = $surface.innerHeight();\n const surfaceWidth = $surface.innerWidth();\n // 点击位置坐标\n let touchStartX;\n let touchStartY;\n if (!event) {\n // 未传入事件对象,涟漪从中间扩散\n touchStartX = surfaceWidth / 2;\n touchStartY = surfaceHeight / 2;\n } else {\n // 传入了事件对象,涟漪从点击位置扩散\n const touchPosition = typeof TouchEvent !== 'undefined' && event instanceof TouchEvent && event.touches.length ? event.touches[0] : event;\n const offset = $surface.offset();\n // 点击位置不在 surface 内,不执行\n if (touchPosition.pageX < offset.left || touchPosition.pageX > offset.left + surfaceWidth || touchPosition.pageY < offset.top || touchPosition.pageY > offset.top + surfaceHeight) return;\n touchStartX = touchPosition.pageX - offset.left;\n touchStartY = touchPosition.pageY - offset.top;\n }\n // 涟漪直径\n const diameter = Math.max(Math.pow(Math.pow(surfaceHeight, 2) + Math.pow(surfaceWidth, 2), 0.5), 48);\n // 涟漪扩散动画\n const translateX = `${-touchStartX + surfaceWidth / 2}px`;\n const translateY = `${-touchStartY + surfaceHeight / 2}px`;\n const translate = `translate3d(${translateX}, ${translateY}, 0) scale(1)`;\n // 涟漪 DOM 元素\n (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)('<div class=\"wave\"></div>').css({\n width: diameter,\n height: diameter,\n marginTop: -diameter / 2,\n marginLeft: -diameter / 2,\n left: touchStartX,\n top: touchStartY\n }).each((_, wave)=>{\n wave.style.setProperty('--mdui-comp-ripple-transition-x', translateX);\n wave.style.setProperty('--mdui-comp-ripple-transition-y', translateY);\n }).prependTo(this.surfaceRef.value).each((_, wave)=>wave.clientLeft) // 重绘\n .css('transform', translate).on('animationend', function(e) {\n const event = e;\n if (event.animationName === 'mdui-comp-ripple-radius-in') (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(this).data('filled', true); // 扩散动画完成后,添加标记\n });\n }\n endPress() {\n const $waves = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(this.surfaceRef.value).children().filter((_, wave)=>!(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(wave).data('removing')).data('removing', true);\n const hideAndRemove = ($waves)=>{\n $waves.addClass('out').each((_, wave)=>wave.clientLeft) // 重绘\n .on('animationend', function() {\n (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(this).remove();\n });\n };\n // 扩散动画未完成,先完成扩散,再隐藏并移除\n $waves.filter((_, wave)=>!(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(wave).data('filled')).on('animationend', function(e) {\n const event = e;\n if (event.animationName === 'mdui-comp-ripple-radius-in') hideAndRemove((0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(this));\n });\n // 扩散动画已完成,直接隐藏并移除\n hideAndRemove($waves.filter((_, wave)=>!!(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(wave).data('filled')));\n }\n startHover() {\n this.hover = true;\n }\n endHover() {\n this.hover = false;\n }\n startFocus() {\n this.focused = true;\n }\n endFocus() {\n this.focused = false;\n }\n startDrag() {\n this.dragged = true;\n }\n endDrag() {\n this.dragged = false;\n }\n render() {\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<div ${(0, $f322d22fead4969a$export$eff4d24c3ff7876e)(this.surfaceRef)} class=\"surface ${(0, $c9d15c868ac73f05$export$56cc687933817664)({\n hover: this.hover,\n focused: this.focused,\n dragged: this.dragged\n })}\"></div>`;\n }\n};\n$6e172aead194afb2$export$9e9146f7e027fdaa.styles = [\n (0, $a1095454894349c1$export$7ef977f86985f711),\n (0, $48ad39a890570dca$export$1d567c320f4763bc)\n];\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b),\n attribute: 'no-ripple'\n })\n], $6e172aead194afb2$export$9e9146f7e027fdaa.prototype, \"noRipple\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $81aad1feed252031$export$ca000e230c0caa3e)()\n], $6e172aead194afb2$export$9e9146f7e027fdaa.prototype, \"hover\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $81aad1feed252031$export$ca000e230c0caa3e)()\n], $6e172aead194afb2$export$9e9146f7e027fdaa.prototype, \"focused\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $81aad1feed252031$export$ca000e230c0caa3e)()\n], $6e172aead194afb2$export$9e9146f7e027fdaa.prototype, \"dragged\", void 0);\n$6e172aead194afb2$export$9e9146f7e027fdaa = (0, $ceFTv.__decorate)([\n (0, $6eca265e3a72f146$export$da64fc29f17f9d0e)('mdui-ripple')\n], $6e172aead194afb2$export$9e9146f7e027fdaa);\n\n\nconst $abaf2949eee28760$export$7891358133f12319 = (superclass)=>{\n class Mixin extends superclass {\n constructor(){\n super(...arguments);\n /**\n * 是否禁用涟漪动画\n */ this.noRipple = false;\n /**\n * 当前激活的是第几个 <mdui-ripple>。仅一个组件中有多个 <mdui-ripple> 时可以使用该属性\n * 若值为 undefined,则组件中所有 <mdui-ripple> 都激活\n */ this.rippleIndex = undefined;\n /**\n * 获取当前激活的是第几个 <mdui-ripple>。仅一个组件中有多个 <mdui-ripple> 时可以使用该属性\n * 若值为 undefined,则组件中所有 <mdui-ripple> 都激活\n * 可在子类中手动指定该方法,指定需要激活的 ripple\n */ this.getRippleIndex = ()=>this.rippleIndex;\n }\n /**\n * 子类要添加该属性,指向 <mdui-ripple> 元素\n * 如果一个组件中包含多个 <mdui-ripple> 元素,则这里可以是一个数组或 NodeList\n */ get rippleElement() {\n throw new Error('Must implement rippleElement getter!');\n }\n /**\n * 子类要实现该属性,表示是否禁用 ripple\n * 如果一个组件中包含多个 <mdui-ripple> 元素,则这里可以是一个数组;也可以是单个值,同时控制多个 <mdui-ripple> 元素\n */ get rippleDisabled() {\n throw new Error('Must implement rippleDisabled getter!');\n }\n /**\n * 当前 <mdui-ripple> 元素相对于哪个元素存在,即 hover、pressed、dragged 属性要添加到哪个元素上,默认为 :host\n * 如果需要修改该属性,则子类可以实现该属性\n * 如果一个组件中包含多个 <mdui-ripple> 元素,则这里可以是一个数组;也可以是单个值,同时控制多个 <mdui-ripple> 元素\n */ get rippleTarget() {\n return this;\n }\n firstUpdated(changedProperties) {\n super.firstUpdated(changedProperties);\n const $rippleTarget = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(this.rippleTarget);\n // 监听到事件时,是在第几个 <mdui-ripple> 上触发的事件,记录到 this.rippleIndex 中\n const setRippleIndex = (event)=>{\n if ((0, $d0cded150def05db$export$1e2f57719e155213)(this.rippleTarget)) this.rippleIndex = $rippleTarget.index(event.target);\n };\n const rippleTargetArr = (0, $d0cded150def05db$export$1e2f57719e155213)(this.rippleTarget) ? this.rippleTarget : [\n this.rippleTarget\n ];\n rippleTargetArr.forEach((rippleTarget)=>{\n rippleTarget.addEventListener('pointerdown', (event)=>{\n setRippleIndex(event);\n this.startPress(event);\n });\n rippleTarget.addEventListener('pointerenter', (event)=>{\n setRippleIndex(event);\n this.startHover(event);\n });\n rippleTarget.addEventListener('pointerleave', (event)=>{\n setRippleIndex(event);\n this.endHover(event);\n });\n rippleTarget.addEventListener('focus', (event)=>{\n setRippleIndex(event);\n this.startFocus();\n });\n rippleTarget.addEventListener('blur', (event)=>{\n setRippleIndex(event);\n this.endFocus();\n });\n });\n }\n /**\n * 若存在多个 <mdui-ripple>,但 rippleTarget 为同一个,则 hover 状态无法在多个 <mdui-ripple> 之间切换\n * 所以把 startHover 和 endHover 设置为 protected,供子类调用\n * 子类中,在 getRippleIndex() 的返回值变更前调用 endHover(event),变更后调用 startHover(event)\n */ startHover(event) {\n if (event.pointerType !== 'mouse' || this.isRippleDisabled()) return;\n this.getRippleTarget().setAttribute('hover', '');\n this.getRippleElement().startHover();\n }\n endHover(event) {\n if (event.pointerType !== 'mouse' || this.isRippleDisabled()) return;\n this.getRippleTarget().removeAttribute('hover');\n this.getRippleElement().endHover();\n }\n /**\n * 当前激活的 <mdui-ripple> 元素是否被禁用\n */ isRippleDisabled() {\n const disabled = this.rippleDisabled;\n if (!Array.isArray(disabled)) return disabled;\n const rippleIndex = this.getRippleIndex();\n if (rippleIndex !== undefined) return disabled[rippleIndex];\n return disabled.length ? disabled[0] : false;\n }\n /**\n * 获取当前激活的 <mdui-ripple> 元素实例\n */ getRippleElement() {\n const ripple = this.rippleElement;\n if (!(0, $d0cded150def05db$export$1e2f57719e155213)(ripple)) return ripple;\n const rippleIndex = this.getRippleIndex();\n if (rippleIndex !== undefined) return ripple[rippleIndex];\n return ripple[0];\n }\n /**\n * 获取当前激活的 <mdui-ripple> 元素相对于哪个元素存在\n */ getRippleTarget() {\n const target = this.rippleTarget;\n if (!(0, $d0cded150def05db$export$1e2f57719e155213)(target)) return target;\n const rippleIndex = this.getRippleIndex();\n if (rippleIndex !== undefined) return target[rippleIndex];\n return target[0];\n }\n startFocus() {\n if (this.isRippleDisabled()) return;\n this.getRippleElement().startFocus();\n }\n endFocus() {\n if (this.isRippleDisabled()) return;\n this.getRippleElement().endFocus();\n }\n startPress(event) {\n // 为鼠标时操作,仅响应鼠标左键点击\n if (this.isRippleDisabled() || event.button) return;\n const target = this.getRippleTarget();\n target.setAttribute('pressed', '');\n // 手指触摸触发涟漪\n if ([\n 'touch',\n 'pen'\n ].includes(event.pointerType)) {\n let hidden = false;\n // 手指触摸后,延迟一段时间触发涟漪,避免手指滑动时也触发涟漪\n let timer = setTimeout(()=>{\n timer = 0;\n this.getRippleElement().startPress(event);\n }, 70);\n const hideRipple = ()=>{\n // 如果手指没有移动,且涟漪动画还没有开始,则开始涟漪动画\n if (timer) {\n clearTimeout(timer);\n timer = 0;\n this.getRippleElement().startPress(event);\n }\n if (!hidden) {\n hidden = true;\n this.endPress();\n }\n target.removeEventListener('pointerup', hideRipple);\n target.removeEventListener('pointercancel', hideRipple);\n };\n // 手指移动后,移除涟漪动画\n const touchMove = ()=>{\n if (timer) {\n clearTimeout(timer);\n timer = 0;\n }\n target.removeEventListener('touchmove', touchMove);\n };\n // pointermove 事件过于灵敏,可能在未触发 touchmove 的情况下,触发了 pointermove 事件,导致正常的点击操作没有显示涟漪\n // 因此这里监听 touchmove 事件\n target.addEventListener('touchmove', touchMove);\n target.addEventListener('pointerup', hideRipple);\n target.addEventListener('pointercancel', hideRipple);\n }\n // 鼠标点击触发涟漪,点击后立即触发涟漪(仅鼠标左键能触发涟漪)\n if (event.pointerType === 'mouse' && event.button === 0) {\n const hideRipple = ()=>{\n this.endPress();\n target.removeEventListener('pointerup', hideRipple);\n target.removeEventListener('pointercancel', hideRipple);\n target.removeEventListener('pointerleave', hideRipple);\n };\n this.getRippleElement().startPress(event);\n target.addEventListener('pointerup', hideRipple);\n target.addEventListener('pointercancel', hideRipple);\n target.addEventListener('pointerleave', hideRipple);\n }\n }\n endPress() {\n if (this.isRippleDisabled()) return;\n this.getRippleTarget().removeAttribute('pressed');\n this.getRippleElement().endPress();\n }\n startDrag() {\n if (this.isRippleDisabled()) return;\n this.getRippleElement().startDrag();\n }\n endDrag() {\n if (this.isRippleDisabled()) return;\n this.getRippleElement().endDrag();\n }\n }\n (0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b),\n attribute: 'no-ripple'\n })\n ], Mixin.prototype, \"noRipple\", void 0);\n return Mixin;\n};\n\n\n\nconst $eeff11f728ecfc08$export$fde5e54d6ffcadff = (0, $0268acc93e67b930$export$dbf350e5966cf602)`.button{position:relative;display:inline-flex;align-items:center;justify-content:center;height:100%;padding:0;overflow:hidden;color:inherit;font-size:inherit;font-family:inherit;font-weight:inherit;letter-spacing:inherit;white-space:nowrap;text-align:center;text-decoration:none;vertical-align:middle;background:0 0;border:none;outline:0;cursor:inherit;-webkit-user-select:none;user-select:none;touch-action:manipulation;zoom:1;-webkit-user-drag:none}`;\n\n\nclass $d2ad4ee595242e3a$export$b0bb876e969289cd extends (0, $127a23c52a5adf4f$export$e70f90f657dd64e)((0, $abaf2949eee28760$export$7891358133f12319)((0, $3bb9ba68ccebecb9$export$7b86c168e7d309f7)((0, $53a1aafae9c6752a$export$9bb0a9faa319390c)))) {\n constructor(){\n super(...arguments);\n /**\n * 是否禁用\n */ this.disabled = false;\n /**\n * 是否处于加载中状态\n */ this.loading = false;\n /**\n * 按钮的名称,将与表单数据一起提交。\n *\n * **Note**:仅在未设置 `href` 属性时,此属性才有效。\n */ this.name = '';\n /**\n * 按钮的初始值,将与表单数据一起提交。\n *\n * **Note**:仅在未设置 `href` 属性时,此属性才有效。\n */ this.value = '';\n /**\n * 按钮的类型。默认类型为 `button`。可选类型包括:\n *\n * * `submit`:点击按钮会提交表单数据到服务器\n * * `reset`:点击按钮会将表单中的所有字段重置为初始值\n * * `button`:此类型的按钮没有默认行为\n *\n * **Note**:仅在未指定 `href` 属性时,此属性才有效。\n */ this.type = 'button';\n /**\n * 如果设置了此属性,表单提交时将不执行表单验证。\n *\n * 如果设置了此属性,将覆盖 `<form>` 元素的 `novalidate` 属性。\n *\n * **Note**:仅在未设置 `href` 属性且 `type=\"submit\"` 时,此属性才有效。\n */ this.formNoValidate = false;\n this.formController = new (0, $d56b143b5bf6ad89$export$2ecd466f59952f38)(this);\n }\n /**\n * 表单验证状态对象,具体参见 [`ValidityState`](https://developer.mozilla.org/zh-CN/docs/Web/API/ValidityState)\n */ get validity() {\n if (this.isButton()) return this.focusElement.validity;\n }\n /**\n * 如果表单验证未通过,此属性将包含提示信息。如果验证通过,此属性将为空字符串\n */ get validationMessage() {\n if (this.isButton()) return this.focusElement.validationMessage;\n }\n get rippleDisabled() {\n return this.disabled || this.loading;\n }\n get focusElement() {\n return this.isButton() ? this.renderRoot?.querySelector('._button') : !this.focusDisabled ? this.renderRoot?.querySelector('._a') : this;\n }\n get focusDisabled() {\n return this.disabled || this.loading;\n }\n /**\n * 检查表单字段是否通过验证。如果未通过,返回 `false` 并触发 `invalid` 事件;如果通过,返回 `true`\n */ checkValidity() {\n if (this.isButton()) {\n const valid = this.focusElement.checkValidity();\n if (!valid) // @ts-ignore\n this.emit('invalid', {\n bubbles: false,\n cancelable: true,\n composed: false\n });\n return valid;\n }\n return true;\n }\n /**\n * 检查表单字段是否通过验证。如果未通过,返回 `false` 并触发 `invalid` 事件;如果通过,返回 `true`。\n *\n * 如果验证未通过,还会在组件上显示验证失败的提示。\n */ reportValidity() {\n if (this.isButton()) {\n const invalid = !this.focusElement.reportValidity();\n if (invalid) // @ts-ignore\n this.emit('invalid', {\n bubbles: false,\n cancelable: true,\n composed: false\n });\n return !invalid;\n }\n return true;\n }\n /**\n * 设置自定义的错误提示文本。只要这个文本不为空,就表示字段未通过验证\n *\n * @param message 自定义的错误提示文本\n */ setCustomValidity(message) {\n if (this.isButton()) this.focusElement.setCustomValidity(message);\n }\n firstUpdated(_changedProperties) {\n super.firstUpdated(_changedProperties);\n this.addEventListener('click', ()=>{\n if (this.type === 'submit') this.formController.submit(this);\n if (this.type === 'reset') this.formController.reset(this);\n });\n }\n renderLoading() {\n return this.loading ? (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<mdui-circular-progress part=\"loading\"></mdui-circular-progress>` : (0, $ba66167bae03ac3c$export$d9a2b46c01bdcf53);\n }\n renderButton({ id: id, className: className, part: part, content: content = (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot></slot>` }) {\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<button id=\"${(0, $dd2a3999053fa8a1$export$f68dd208b5df064d)(id)}\" class=\"${(0, $6ff99a31914becfa$export$2e2bcd8739ae039)([\n '_button',\n className\n ])}\" part=\"${(0, $dd2a3999053fa8a1$export$f68dd208b5df064d)(part)}\" ?disabled=\"${this.rippleDisabled || this.focusDisabled}\">${content}</button>`;\n }\n isButton() {\n return !this.href;\n }\n}\n$d2ad4ee595242e3a$export$b0bb876e969289cd.styles = [\n (0, $a1095454894349c1$export$7ef977f86985f711),\n (0, $eeff11f728ecfc08$export$fde5e54d6ffcadff)\n];\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n], $d2ad4ee595242e3a$export$b0bb876e969289cd.prototype, \"disabled\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n], $d2ad4ee595242e3a$export$b0bb876e969289cd.prototype, \"loading\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n], $d2ad4ee595242e3a$export$b0bb876e969289cd.prototype, \"name\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n], $d2ad4ee595242e3a$export$b0bb876e969289cd.prototype, \"value\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n], $d2ad4ee595242e3a$export$b0bb876e969289cd.prototype, \"type\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n], $d2ad4ee595242e3a$export$b0bb876e969289cd.prototype, \"form\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true,\n attribute: 'formaction'\n })\n], $d2ad4ee595242e3a$export$b0bb876e969289cd.prototype, \"formAction\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true,\n attribute: 'formenctype'\n })\n], $d2ad4ee595242e3a$export$b0bb876e969289cd.prototype, \"formEnctype\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true,\n attribute: 'formmethod'\n })\n], $d2ad4ee595242e3a$export$b0bb876e969289cd.prototype, \"formMethod\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b),\n attribute: 'formnovalidate'\n })\n], $d2ad4ee595242e3a$export$b0bb876e969289cd.prototype, \"formNoValidate\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true,\n attribute: 'formtarget'\n })\n], $d2ad4ee595242e3a$export$b0bb876e969289cd.prototype, \"formTarget\", void 0);\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\n\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $30616b9c1b48e973$var$n = \"important\", $30616b9c1b48e973$var$i = \" !\" + $30616b9c1b48e973$var$n, $30616b9c1b48e973$export$1e5b4ce2fa884e6a = (0, $7f965b17d718bf91$export$99b43ad1ed32e735)(class extends (0, $7f965b17d718bf91$export$befdefbdce210f91) {\n constructor(t){\n if (super(t), t.type !== (0, $7f965b17d718bf91$export$9ba3b3f20a85bfa).ATTRIBUTE || \"style\" !== t.name || t.strings?.length > 2) throw Error(\"The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.\");\n }\n render(t) {\n return Object.keys(t).reduce((e, r)=>{\n const s = t[r];\n return null == s ? e : e + `${r = r.includes(\"-\") ? r : r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g, \"-$&\").toLowerCase()}:${s};`;\n }, \"\");\n }\n update(e, [r]) {\n const { style: s } = e.element;\n if (void 0 === this.ft) return this.ft = new Set(Object.keys(r)), this.render(r);\n for (const t of this.ft)null == r[t] && (this.ft.delete(t), t.includes(\"-\") ? s.removeProperty(t) : s[t] = null);\n for(const t in r){\n const e = r[t];\n if (null != e) {\n this.ft.add(t);\n const r = \"string\" == typeof e && e.endsWith($30616b9c1b48e973$var$i);\n t.includes(\"-\") || r ? s.setProperty(t, r ? e.slice(0, -11) : e, r ? $30616b9c1b48e973$var$n : \"\") : s[t] = e;\n }\n }\n return 0, $1182a8bbea75578f$export$9c068ae9cc5db4e8;\n }\n});\n\n\n\n\n\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ class $9cca465579216710$export$3bebd1f0e3943985 extends (0, $7f965b17d718bf91$export$befdefbdce210f91) {\n constructor(i){\n if (super(i), this.it = (0, $1182a8bbea75578f$export$45b790e32b2810ee), i.type !== (0, $7f965b17d718bf91$export$9ba3b3f20a85bfa).CHILD) throw Error(this.constructor.directiveName + \"() can only be used in child bindings\");\n }\n render(r) {\n if (r === (0, $1182a8bbea75578f$export$45b790e32b2810ee) || null == r) return this._t = void 0, this.it = r;\n if (r === (0, $1182a8bbea75578f$export$9c068ae9cc5db4e8)) return r;\n if (\"string\" != typeof r) throw Error(this.constructor.directiveName + \"() called with a non-string value\");\n if (r === this.it) return this._t;\n this.it = r;\n const s = [\n r\n ];\n return s.raw = s, this._t = {\n _$litType$: this.constructor.resultType,\n strings: s,\n values: []\n };\n }\n}\n$9cca465579216710$export$3bebd1f0e3943985.directiveName = \"unsafeHTML\", $9cca465579216710$export$3bebd1f0e3943985.resultType = 1;\nconst $9cca465579216710$export$b6e69390c23686fb = (0, $7f965b17d718bf91$export$99b43ad1ed32e735)($9cca465579216710$export$3bebd1f0e3943985);\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ class $b4da4e9924f27d5e$var$t extends (0, $9cca465579216710$export$3bebd1f0e3943985) {\n}\n$b4da4e9924f27d5e$var$t.directiveName = \"unsafeSVG\", $b4da4e9924f27d5e$var$t.resultType = 2;\nconst $b4da4e9924f27d5e$export$1cb98903879b8bf5 = (0, $7f965b17d718bf91$export$99b43ad1ed32e735)($b4da4e9924f27d5e$var$t);\n\n\n\n\n\n\n\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $b27e2e9450fc6a62$export$74673a32c6041f3e = async (t, s)=>{\n for await (const i of t)if (!1 === await s(i)) return;\n};\nclass $b27e2e9450fc6a62$export$71341b9b69479007 {\n constructor(t){\n this.Y = t;\n }\n disconnect() {\n this.Y = void 0;\n }\n reconnect(t) {\n this.Y = t;\n }\n deref() {\n return this.Y;\n }\n}\nclass $b27e2e9450fc6a62$export$193ea5a420bb5c41 {\n constructor(){\n this.Z = void 0, this.q = void 0;\n }\n get() {\n return this.Z;\n }\n pause() {\n this.Z ??= new Promise((t)=>this.q = t);\n }\n resume() {\n this.q?.(), this.Z = this.q = void 0;\n }\n}\n\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $d8983edf6b6eda44$var$n = (t)=>!(0, $dc08001cbc3c8af5$export$c3825b437cbdea5c)(t) && \"function\" == typeof t.then, $d8983edf6b6eda44$var$h = 1073741823;\nclass $d8983edf6b6eda44$export$51c6edf8ee19b71a extends (0, $044d98491ba33eb0$export$7d025501802325e) {\n constructor(){\n super(...arguments), this._$Cwt = $d8983edf6b6eda44$var$h, this._$Cbt = [], this._$CK = new (0, $b27e2e9450fc6a62$export$71341b9b69479007)(this), this._$CX = new (0, $b27e2e9450fc6a62$export$193ea5a420bb5c41);\n }\n render(...s) {\n return s.find((t)=>!$d8983edf6b6eda44$var$n(t)) ?? (0, $1182a8bbea75578f$export$9c068ae9cc5db4e8);\n }\n update(s, i) {\n const e = this._$Cbt;\n let r = e.length;\n this._$Cbt = i;\n const o = this._$CK, c = this._$CX;\n this.isConnected || this.disconnected();\n for(let t = 0; t < i.length && !(t > this._$Cwt); t++){\n const s = i[t];\n if (!$d8983edf6b6eda44$var$n(s)) return this._$Cwt = t, s;\n t < r && s === e[t] || (this._$Cwt = $d8983edf6b6eda44$var$h, r = 0, Promise.resolve(s).then(async (t)=>{\n for(; c.get();)await c.get();\n const i = o.deref();\n if (void 0 !== i) {\n const e = i._$Cbt.indexOf(s);\n e > -1 && e < i._$Cwt && (i._$Cwt = e, i.setValue(t));\n }\n }));\n }\n return 0, $1182a8bbea75578f$export$9c068ae9cc5db4e8;\n }\n disconnected() {\n this._$CK.disconnect(), this._$CX.pause();\n }\n reconnected() {\n this._$CK.reconnect(this), this._$CX.resume();\n }\n}\nconst $d8983edf6b6eda44$export$a40009bd2c363351 = (0, $7f965b17d718bf91$export$99b43ad1ed32e735)($d8983edf6b6eda44$export$51c6edf8ee19b71a);\n\n\n\n\n\n\n\n\n\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.trigger = function(name, // eslint-disable-next-line @typescript-eslint/no-explicit-any\ndetail = null, options) {\n const { type: type, namespace: namespace } = (0, $c9243290d90ea08c$export$98e6a39c04603d36)(name);\n const event = new (0, $c9243290d90ea08c$export$df19c5abb73be735)(type, {\n detail: detail,\n data: null,\n namespace: namespace,\n bubbles: true,\n cancelable: false,\n composed: true,\n ...options\n });\n return this.each((_, element)=>{\n element.dispatchEvent(event);\n });\n};\n\n\n\n\n\nconst $1e3e766d9280c80a$export$6b2c617adea21f3c = 'ajaxStart';\nconst $1e3e766d9280c80a$export$edf1da70bd7fb56d = 'ajaxSuccess';\nconst $1e3e766d9280c80a$export$1d84e373e41d1900 = 'ajaxError';\nconst $1e3e766d9280c80a$export$daf97b5ec893c045 = 'ajaxComplete';\nconst $1e3e766d9280c80a$export$106e2f2d32348bb = {};\nconst $1e3e766d9280c80a$export$a497d4fec1af79d7 = (method)=>{\n return [\n 'GET',\n 'HEAD'\n ].includes(method);\n};\nconst $1e3e766d9280c80a$export$8fa1eaeb4700701e = (url, query)=>{\n return `${url}&${query}`.replace(/[&?]{1,2}/, '?');\n};\nconst $1e3e766d9280c80a$export$c3a3240a17b6712 = (url)=>{\n const window = (0, $c87de1375632dba4$export$38b2d434cce3ea22)();\n return /^([\\w-]+:)?\\/\\/([^/]+)/.test(url) && RegExp.$2 !== window.location.host;\n};\nconst $1e3e766d9280c80a$export$ce01fa4b1b0d6c2c = (status)=>{\n return status >= 200 && status < 300 || [\n 0,\n 304\n ].includes(status);\n};\nconst $1e3e766d9280c80a$export$235b7fc70b9fc359 = (options)=>{\n // 默认参数\n const defaults = {\n url: '',\n method: 'GET',\n data: '',\n processData: true,\n async: true,\n cache: true,\n username: '',\n password: '',\n headers: {},\n xhrFields: {},\n statusCode: {},\n dataType: '',\n contentType: 'application/x-www-form-urlencoded',\n timeout: 0,\n global: true\n };\n // globalOptions 中的回调函数不合并\n (0, $d0cded150def05db$export$1b8ac1d3a07c9372)($1e3e766d9280c80a$export$106e2f2d32348bb, (key, value)=>{\n const callbacks = [\n 'beforeSend',\n 'success',\n 'error',\n 'complete',\n 'statusCode'\n ];\n if (!callbacks.includes(key) && !(0, $d0cded150def05db$export$fce6876652108ab)(value)) defaults[key] = value;\n });\n return (0, $229897d88c30053c$export$8b58be045bf06082)({}, defaults, options);\n};\n\n\n\n\nconst $e54f7c33f3bbdba8$export$6f7d1d9d04558207 = (obj)=>{\n if (!(0, $d0cded150def05db$export$c10d0b04eaa80a43)(obj) && !Array.isArray(obj)) return '';\n const args = [];\n const destructure = (key, value)=>{\n let keyTmp;\n if ((0, $d0cded150def05db$export$c10d0b04eaa80a43)(value)) (0, $d0cded150def05db$export$1b8ac1d3a07c9372)(value, (i, v)=>{\n keyTmp = Array.isArray(value) && !(0, $d0cded150def05db$export$c10d0b04eaa80a43)(v) ? '' : i;\n destructure(`${key}[${keyTmp}]`, v);\n });\n else {\n keyTmp = value == null || value === '' ? '=' : `=${encodeURIComponent(value)}`;\n args.push(encodeURIComponent(key) + keyTmp);\n }\n };\n if (Array.isArray(obj)) (0, $d0cded150def05db$export$211b8db791997e25)(obj, ({ name: name, value: value })=>{\n return destructure(name, value);\n });\n else (0, $d0cded150def05db$export$1b8ac1d3a07c9372)(obj, destructure);\n return args.join('&');\n};\n\n\nconst $08db1f021c5655eb$export$e68fce4c5f453854 = (options)=>{\n const document = (0, $c87de1375632dba4$export$f65ca476c09acec0)();\n const window = (0, $c87de1375632dba4$export$38b2d434cce3ea22)();\n // 是否已取消请求\n let isCanceled = false;\n // ajaxStart、ajaxError、ajaxComplete 事件参数\n // @ts-ignore\n const eventParams = {};\n // ajaxSuccess 事件参数\n // @ts-ignore\n const successEventParams = {};\n // 参数合并\n const mergedOptions = (0, $1e3e766d9280c80a$export$235b7fc70b9fc359)(options);\n const method = mergedOptions.method.toUpperCase();\n let { data: data, url: url } = mergedOptions;\n url = url || window.location.toString();\n const { processData: processData, async: async, cache: cache, username: username, password: password, headers: headers, xhrFields: xhrFields, statusCode: statusCode, dataType: dataType, contentType: contentType, timeout: timeout, global: global } = mergedOptions;\n // 需要发送的数据\n // GET/HEAD 请求和 processData 为 true 时,转换为查询字符串格式,特殊格式不转换\n const isMethodQueryString = (0, $1e3e766d9280c80a$export$a497d4fec1af79d7)(method);\n if (data && (isMethodQueryString || processData) && !(0, $d0cded150def05db$export$844ec244b1367d54)(data) && !(data instanceof ArrayBuffer) && !(data instanceof Blob) && !(data instanceof Document) && !(data instanceof FormData)) data = (0, $e54f7c33f3bbdba8$export$6f7d1d9d04558207)(data);\n // 对于 GET、HEAD 类型的请求,把 data 数据添加到 URL 中\n if (data && isMethodQueryString) {\n // 查询字符串拼接到 URL 中\n url = (0, $1e3e766d9280c80a$export$8fa1eaeb4700701e)(url, data);\n data = null;\n }\n /**\n * 触发事件和回调函数\n * @param event\n * @param callback\n * @param args\n */ const trigger = (event, callback, ...args)=>{\n // 触发全局事件\n if (global) (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(document).trigger(event, callback === 'success' ? successEventParams : eventParams);\n // 触发 ajax 回调和事件\n let resultGlobal;\n let resultCustom;\n // 全局回调\n if (callback in (0, $1e3e766d9280c80a$export$106e2f2d32348bb)) // @ts-ignore\n resultGlobal = (0, $1e3e766d9280c80a$export$106e2f2d32348bb)[callback](...args);\n // 自定义回调\n if (mergedOptions[callback]) // @ts-ignore\n resultCustom = mergedOptions[callback](...args);\n // beforeSend 回调返回 false 时取消 ajax 请求\n if (callback === 'beforeSend' && [\n resultGlobal,\n resultCustom\n ].includes(false)) isCanceled = true;\n };\n // XMLHttpRequest 请求\n const XHR = ()=>{\n let textStatus;\n return new Promise((resolve, reject)=>{\n const doReject = (reason)=>{\n return reject(new Error(reason));\n };\n // GET/HEAD 请求的缓存处理\n if (isMethodQueryString && !cache) url = (0, $1e3e766d9280c80a$export$8fa1eaeb4700701e)(url, `_=${Date.now()}`);\n // 创建 XHR\n const xhr = new XMLHttpRequest();\n xhr.open(method, url, async, username, password);\n if (contentType || data && !isMethodQueryString && contentType !== false) xhr.setRequestHeader('Content-Type', contentType);\n // 设置 Accept\n if (dataType === 'json') xhr.setRequestHeader('Accept', 'application/json, text/javascript');\n // 添加 headers\n (0, $d0cded150def05db$export$1b8ac1d3a07c9372)(headers, (key, value)=>{\n // undefined 值不发送,string 和 null 需要发送\n if (!(0, $d0cded150def05db$export$fce6876652108ab)(value)) xhr.setRequestHeader(key, value + ''); // 把 null 转换成字符串\n });\n // 检查是否是跨域请求,跨域请求时不添加 X-Requested-With\n if (!(0, $1e3e766d9280c80a$export$c3a3240a17b6712)(url)) xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n // 设置 xhr 选项\n (0, $d0cded150def05db$export$1b8ac1d3a07c9372)(xhrFields, (key, value)=>{\n xhr[key] = value;\n });\n eventParams.xhr = successEventParams.xhr = xhr;\n eventParams.options = successEventParams.options = mergedOptions;\n let xhrTimeout;\n xhr.onload = ()=>{\n if (xhrTimeout) clearTimeout(xhrTimeout);\n // AJAX 返回的 HTTP 响应码是否表示成功\n const isSuccess = (0, $1e3e766d9280c80a$export$ce01fa4b1b0d6c2c)(xhr.status);\n // @ts-ignore\n let responseData = undefined;\n if (isSuccess) {\n textStatus = xhr.status === 204 || method === 'HEAD' ? 'nocontent' : xhr.status === 304 ? 'notmodified' : 'success';\n if (dataType === 'json' || !dataType && (xhr.getResponseHeader('content-type') || '').includes('json')) {\n try {\n responseData = method === 'HEAD' ? undefined : JSON.parse(xhr.responseText);\n successEventParams.response = responseData;\n } catch (err) {\n textStatus = 'parsererror';\n trigger((0, $1e3e766d9280c80a$export$1d84e373e41d1900), 'error', xhr, textStatus);\n doReject(textStatus);\n }\n if (textStatus !== 'parsererror') {\n trigger((0, $1e3e766d9280c80a$export$edf1da70bd7fb56d), 'success', responseData, textStatus, xhr);\n resolve(responseData);\n }\n } else {\n responseData = method === 'HEAD' ? undefined : xhr.responseType === 'text' || xhr.responseType === '' ? xhr.responseText : xhr.response;\n successEventParams.response = responseData;\n trigger((0, $1e3e766d9280c80a$export$edf1da70bd7fb56d), 'success', responseData, textStatus, xhr);\n resolve(responseData);\n }\n } else {\n textStatus = 'error';\n trigger((0, $1e3e766d9280c80a$export$1d84e373e41d1900), 'error', xhr, textStatus);\n doReject(textStatus);\n }\n // statusCode\n (0, $d0cded150def05db$export$211b8db791997e25)([\n (0, $1e3e766d9280c80a$export$106e2f2d32348bb).statusCode ?? {},\n statusCode\n ], (func)=>{\n if (func[xhr.status]) {\n if (isSuccess) func[xhr.status](responseData, textStatus, xhr);\n else func[xhr.status](xhr, textStatus);\n }\n });\n trigger((0, $1e3e766d9280c80a$export$daf97b5ec893c045), 'complete', xhr, textStatus);\n };\n xhr.onerror = ()=>{\n if (xhrTimeout) clearTimeout(xhrTimeout);\n trigger((0, $1e3e766d9280c80a$export$1d84e373e41d1900), 'error', xhr, xhr.statusText);\n trigger((0, $1e3e766d9280c80a$export$daf97b5ec893c045), 'complete', xhr, 'error');\n doReject(xhr.statusText);\n };\n xhr.onabort = ()=>{\n let statusText = 'abort';\n if (xhrTimeout) {\n statusText = 'timeout';\n clearTimeout(xhrTimeout);\n }\n trigger((0, $1e3e766d9280c80a$export$1d84e373e41d1900), 'error', xhr, statusText);\n trigger((0, $1e3e766d9280c80a$export$daf97b5ec893c045), 'complete', xhr, statusText);\n doReject(statusText);\n };\n // ajax start 回调\n trigger((0, $1e3e766d9280c80a$export$6b2c617adea21f3c), 'beforeSend', xhr, mergedOptions);\n if (isCanceled) return doReject('cancel');\n // Timeout\n if (timeout > 0) xhrTimeout = window.setTimeout(()=>xhr.abort(), timeout);\n // 发送 XHR\n xhr.send(data);\n });\n };\n return XHR();\n};\n\n\n\n\n\n\nconst $42da3c15efb64b42$export$1d567c320f4763bc = (0, $0268acc93e67b930$export$dbf350e5966cf602)`:host{display:inline-block;width:1em;height:1em;font-weight:400;font-family:'Material Icons';font-display:block;font-style:normal;line-height:1;direction:ltr;letter-spacing:normal;white-space:nowrap;text-transform:none;word-wrap:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-moz-osx-font-smoothing:grayscale;font-size:1.5rem}::slotted(svg),svg{width:100%;height:100%;fill:currentcolor}`;\n\n\n/**\n * @summary 图标组件\n *\n * ```html\n * <mdui-icon name=\"search\"></mdui-icon>\n * ```\n *\n * @slot - `svg` 图标的内容\n */ let $ace75c505bb200c7$export$f04a61298a47a40f = class Icon extends (0, $53a1aafae9c6752a$export$9bb0a9faa319390c) {\n constructor(){\n super(...arguments);\n this.hasSlotController = new (0, $86ec33836cc10aec$export$34f6a5ffaa663541)(this, '[default]');\n }\n render() {\n const renderDefault = ()=>{\n if (this.name) {\n const [name, variant] = this.name.split('--');\n const familyMap = new Map([\n [\n 'outlined',\n 'Material Icons Outlined'\n ],\n [\n 'filled',\n 'Material Icons'\n ],\n [\n 'rounded',\n 'Material Icons Round'\n ],\n [\n 'sharp',\n 'Material Icons Sharp'\n ],\n [\n 'two-tone',\n 'Material Icons Two Tone'\n ]\n ]);\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<span style=\"${(0, $30616b9c1b48e973$export$1e5b4ce2fa884e6a)({\n fontFamily: familyMap.get(variant)\n })}\">${name}</span>`;\n }\n if (this.src) return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`${(0, $d8983edf6b6eda44$export$a40009bd2c363351)((0, $08db1f021c5655eb$export$e68fce4c5f453854)({\n url: this.src\n }).then((0, $b4da4e9924f27d5e$export$1cb98903879b8bf5)))}`;\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)``;\n };\n return this.hasSlotController.test('[default]') ? (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot></slot>` : renderDefault();\n }\n};\n$ace75c505bb200c7$export$f04a61298a47a40f.styles = [\n (0, $a1095454894349c1$export$7ef977f86985f711),\n (0, $42da3c15efb64b42$export$1d567c320f4763bc)\n];\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n], $ace75c505bb200c7$export$f04a61298a47a40f.prototype, \"name\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n], $ace75c505bb200c7$export$f04a61298a47a40f.prototype, \"src\", void 0);\n$ace75c505bb200c7$export$f04a61298a47a40f = (0, $ceFTv.__decorate)([\n (0, $6eca265e3a72f146$export$da64fc29f17f9d0e)('mdui-icon')\n], $ace75c505bb200c7$export$f04a61298a47a40f);\n\n\n\n\n\nconst $a0812466456bb63e$export$1d567c320f4763bc = (0, $0268acc93e67b930$export$dbf350e5966cf602)`:host{--shape-corner:var(--mdui-shape-corner-full);position:relative;display:inline-block;flex-shrink:0;overflow:hidden;text-align:center;border-radius:var(--shape-corner);cursor:pointer;-webkit-tap-highlight-color:transparent;font-size:1.5rem;width:2.5rem;height:2.5rem}:host([variant=standard]){color:rgb(var(--mdui-color-on-surface-variant));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}:host([variant=filled]){color:rgb(var(--mdui-color-primary));background-color:rgb(var(--mdui-color-surface-container-highest));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=tonal]){color:rgb(var(--mdui-color-on-surface-variant));background-color:rgb(var(--mdui-color-surface-container-highest));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}:host([variant=outlined]){border:.0625rem solid rgb(var(--mdui-color-outline));color:rgb(var(--mdui-color-on-surface-variant));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}:host([variant=outlined][pressed]){color:rgb(var(--mdui-color-on-surface));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([variant=standard][selected]:not([selected=false i])){color:rgb(var(--mdui-color-primary));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=filled]:not([selectable])),:host([variant=filled][selectable=false i]),:host([variant=filled][selected]:not([selected=false i])){color:rgb(var(--mdui-color-on-primary));background-color:rgb(var(--mdui-color-primary));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-primary)}:host([variant=tonal]:not([selectable])),:host([variant=tonal][selectable=false i]),:host([variant=tonal][selected]:not([selected=false i])){color:rgb(var(--mdui-color-on-secondary-container));background-color:rgb(var(--mdui-color-secondary-container));--mdui-comp-ripple-state-layer-color:var(\n --mdui-color-on-secondary-container\n )}:host([variant=outlined][selected]:not([selected=false i])){border:none;color:rgb(var(--mdui-color-inverse-on-surface));background-color:rgb(var(--mdui-color-inverse-surface));--mdui-comp-ripple-state-layer-color:var(--mdui-color-inverse-on-surface)}:host([variant=filled][disabled]:not([disabled=false i])),:host([variant=outlined][disabled]:not([disabled=false i])),:host([variant=tonal][disabled]:not([disabled=false i])){background-color:rgba(var(--mdui-color-on-surface),.12);border-color:rgba(var(--mdui-color-on-surface),.12)}:host([disabled]:not([disabled=false i])),:host([loading]:not([loading=false i])){cursor:default;pointer-events:none}:host([disabled]:not([disabled=false i])){color:rgba(var(--mdui-color-on-surface),.38)!important}:host([loading]:not([loading=false i])) .button,:host([loading]:not([loading=false i])) mdui-ripple{opacity:0}.button{float:left;width:100%}.icon,.selected-icon mdui-icon,::slotted(*){font-size:inherit}mdui-circular-progress{display:flex;position:absolute;top:calc(50% - 1.5rem / 2);left:calc(50% - 1.5rem / 2);width:1.5rem;height:1.5rem}:host([variant=filled]:not([disabled])) mdui-circular-progress,:host([variant=filled][disabled=false i]) mdui-circular-progress{stroke:rgb(var(--mdui-color-on-primary))}:host([disabled]:not([disabled=false i])) mdui-circular-progress{stroke:rgba(var(--mdui-color-on-surface),38%)}`;\n\n\n/**\n * @summary 图标按钮组件\n *\n * ```html\n * <mdui-button-icon icon=\"search\"></mdui-button-icon>\n * ```\n *\n * @event focus - 获得焦点时触发\n * @event blur - 失去焦点时触发\n * @event change - 选中状态变更时触发\n * @event invalid - 表单字段验证未通过时触发\n *\n * @slot - 图标组件\n * @slot selected-icon 选中状态显示的图标元素\n *\n * @csspart button - 内部的 `<button>` 或 `<a>` 元素\n * @csspart icon - 未选中状态的图标\n * @csspart selected-icon 选中状态的图标\n * @csspart loading - 加载中状态的 `<mdui-circular-progress>` 元素\n *\n * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐引用[设计令牌](/docs/2/styles/design-tokens#shape-corner)\n */ let $c27d5c28049f0305$export$e1c22a2ee2645e36 = class ButtonIcon extends (0, $d2ad4ee595242e3a$export$b0bb876e969289cd) {\n constructor(){\n super(...arguments);\n /**\n * 图标按钮的形状。可选值包括:\n *\n * * `standard`:适用于最低优先级的操作\n * * `filled`:视觉效果强烈,适用于高优先级的操作\n * * `tonal`:视觉效果介于 `filled` 和 `outlined` 之间,适用于中高优先级的操作\n * * `outlined`:适用于中等优先级的操作\n */ this.variant = 'standard';\n /**\n * 是否可选中\n */ this.selectable = false;\n /**\n * 是否已被选中\n */ this.selected = false;\n this.rippleRef = (0, $f322d22fead4969a$export$7d1e3a5e95ceca43)();\n this.hasSlotController = new (0, $86ec33836cc10aec$export$34f6a5ffaa663541)(this, '[default]', 'selected-icon');\n }\n get rippleElement() {\n return this.rippleRef.value;\n }\n onSelectedChange() {\n this.emit('change');\n }\n firstUpdated(changedProperties) {\n super.firstUpdated(changedProperties);\n this.addEventListener('click', ()=>{\n if (!this.selectable || this.disabled) return;\n this.selected = !this.selected;\n });\n }\n render() {\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<mdui-ripple ${(0, $f322d22fead4969a$export$eff4d24c3ff7876e)(this.rippleRef)} .noRipple=\"${this.noRipple}\"></mdui-ripple>${this.isButton() ? this.renderButton({\n className: 'button',\n part: 'button',\n content: this.renderIcon()\n }) : this.disabled || this.loading ? (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<span part=\"button\" class=\"button _a\">${this.renderIcon()}</span>` : this.renderAnchor({\n className: 'button',\n part: 'button',\n content: this.renderIcon()\n })} ${this.renderLoading()}`;\n }\n renderIcon() {\n const icon = ()=>this.hasSlotController.test('[default]') ? (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot></slot>` : this.icon ? (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<mdui-icon part=\"icon\" class=\"icon\" name=\"${this.icon}\"></mdui-icon>` : (0, $ba66167bae03ac3c$export$d9a2b46c01bdcf53);\n const selectedIcon = ()=>this.hasSlotController.test('selected-icon') || this.selectedIcon ? (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot name=\"selected-icon\" part=\"selected-icon\" class=\"selected-icon\"><mdui-icon name=\"${this.selectedIcon}\"></mdui-icon></slot>` : icon();\n return this.selected ? selectedIcon() : icon();\n }\n};\n$c27d5c28049f0305$export$e1c22a2ee2645e36.styles = [\n (0, $d2ad4ee595242e3a$export$b0bb876e969289cd).styles,\n (0, $a0812466456bb63e$export$1d567c320f4763bc)\n];\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n], $c27d5c28049f0305$export$e1c22a2ee2645e36.prototype, \"variant\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n], $c27d5c28049f0305$export$e1c22a2ee2645e36.prototype, \"icon\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true,\n attribute: 'selected-icon'\n })\n], $c27d5c28049f0305$export$e1c22a2ee2645e36.prototype, \"selectedIcon\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n], $c27d5c28049f0305$export$e1c22a2ee2645e36.prototype, \"selectable\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n], $c27d5c28049f0305$export$e1c22a2ee2645e36.prototype, \"selected\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $f12b6253cef59edc$export$3db5d71bdb2d5499)('selected', true)\n], $c27d5c28049f0305$export$e1c22a2ee2645e36.prototype, \"onSelectedChange\", null);\n$c27d5c28049f0305$export$e1c22a2ee2645e36 = (0, $ceFTv.__decorate)([\n (0, $6eca265e3a72f146$export$da64fc29f17f9d0e)('mdui-button-icon')\n], $c27d5c28049f0305$export$e1c22a2ee2645e36);\n\n\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\n\n\n\nconst $4c3a05e706c073e8$export$62dea70d952e1d31 = (0, $0268acc93e67b930$export$dbf350e5966cf602)`:host{position:relative;display:flex;flex:1 1 auto;overflow:hidden}:host([full-height]:not([full-height=false i])){height:100%}`;\n\n\n/**\n * @summary 布局组件\n *\n * ```html\n * <mdui-layout>\n * ..<mdui-layout-item></mdui-layout-item>\n * ..<mdui-layout-item></mdui-layout-item>\n * ..<mdui-layout-main></mdui-layout-main>\n * </mdui-layout>\n * ```\n *\n * @slot - 可以包含 [`<mdui-top-app-bar>`](/docs/2/components/top-app-bar)、[`<mdui-bottom-app-bar>`](/docs/2/components/bottom-app-bar)、[`<mdui-navigation-bar>`](/docs/2/components/navigation-bar)、[`<mdui-navigation-drawer>`](/docs/2/components/navigation-drawer)、[`<mdui-navigation-rail>`](/docs/2/components/navigation-rail)、`<mdui-layout-item>`、`<mdui-layout-main>` 元素\n */ let $1433ea18eff4ffe2$export$c84671f46d6a1ca = class Layout extends (0, $53a1aafae9c6752a$export$9bb0a9faa319390c) {\n constructor(){\n super(...arguments);\n /**\n * 设置当前布局的高度为 100%\n */ this.fullHeight = false;\n }\n render() {\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot></slot>`;\n }\n};\n$1433ea18eff4ffe2$export$c84671f46d6a1ca.styles = [\n (0, $a1095454894349c1$export$7ef977f86985f711),\n (0, $4c3a05e706c073e8$export$62dea70d952e1d31)\n];\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b),\n attribute: 'full-height'\n })\n], $1433ea18eff4ffe2$export$c84671f46d6a1ca.prototype, \"fullHeight\", void 0);\n$1433ea18eff4ffe2$export$c84671f46d6a1ca = (0, $ceFTv.__decorate)([\n (0, $6eca265e3a72f146$export$da64fc29f17f9d0e)('mdui-layout')\n], $1433ea18eff4ffe2$export$c84671f46d6a1ca);\n\n\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\n\n\n\n\n\n\n\n\nlet $36acaba128fca20f$var$id = 0;\nconst $36acaba128fca20f$export$8b15d37bc3f197d4 = ()=>{\n return ++$36acaba128fca20f$var$id;\n};\n\n\nlet $6deeb9ef1c73e593$var$weakMap;\n// ResizeObserver 实例,所有 resizeObserver 函数内部共用一个 ResizeObserver 实例\nlet $6deeb9ef1c73e593$var$observer;\nconst $6deeb9ef1c73e593$export$3e59a5e1472e94f1 = (target, callback)=>{\n const $target = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(target);\n const key = (0, $36acaba128fca20f$export$8b15d37bc3f197d4)();\n // 取消监听函数\n const result = {\n unobserve: ()=>{\n $target.each((_, target)=>{\n const options = $6deeb9ef1c73e593$var$weakMap.get(target);\n const index = options.coArr.findIndex((co)=>co.key === key);\n if (index !== -1) options.coArr.splice(index, 1);\n if (!options.coArr.length) {\n $6deeb9ef1c73e593$var$observer.unobserve(target);\n $6deeb9ef1c73e593$var$weakMap.delete(target);\n } else $6deeb9ef1c73e593$var$weakMap.set(target, options);\n });\n }\n };\n // 初始化\n if (!$6deeb9ef1c73e593$var$weakMap) {\n $6deeb9ef1c73e593$var$weakMap = new WeakMap();\n $6deeb9ef1c73e593$var$observer = new ResizeObserver((entries)=>{\n entries.forEach((entry)=>{\n const target = entry.target;\n const options = $6deeb9ef1c73e593$var$weakMap.get(target);\n options.entry = entry;\n options.coArr.forEach((co)=>{\n co.callback.call(result, entry, result);\n });\n });\n });\n }\n // 添加监听\n $target.each((_, target)=>{\n const options = $6deeb9ef1c73e593$var$weakMap.get(target) ?? {\n coArr: []\n };\n // 同一个元素已添加过监听后,再次添加新的监听时,不会立即执行回调函数,所以这里手动调用一次回调函数\n if (options.coArr.length && options.entry) callback.call(result, options.entry, result);\n options.coArr.push({\n callback: callback,\n key: key\n });\n $6deeb9ef1c73e593$var$weakMap.set(target, options);\n $6deeb9ef1c73e593$var$observer.observe(target);\n });\n return result;\n};\n\n\nclass $1cf2e211a0e8f6e4$export$4a04ad01c410b415 {\n constructor(){\n this.states = [];\n }\n /**\n * 注册 `<mdui-layout-main>`\n */ registerMain(element) {\n this.$main = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(element);\n }\n /**\n * 取消注册 `<mdui-layout-main>`\n */ unregisterMain() {\n this.$main = undefined;\n }\n /**\n * 注册新的 `<mdui-layout-item>`\n */ registerItem(element) {\n const state = {\n element: element\n };\n this.states.push(state);\n // 监听元素尺寸变化\n state.observeResize = (0, $6deeb9ef1c73e593$export$3e59a5e1472e94f1)(state.element, ()=>{\n this.updateLayout(state.element, {\n width: this.isNoWidth(state) ? 0 : undefined\n });\n });\n this.items = undefined;\n this.resort();\n // 从头更新布局\n this.updateLayout();\n }\n /**\n * 取消注册 `<mdui-layout-item>`\n */ unregisterItem(element) {\n const index = this.states.findIndex((item)=>item.element === element);\n if (index < 0) return;\n // 取消监听尺寸变化\n const item = this.states[index];\n item.observeResize?.unobserve();\n this.items = undefined;\n // 移除一个元素,并从下一个元素开始更新\n this.states.splice(index, 1);\n if (this.states[index]) this.updateLayout(this.states[index].element);\n }\n /**\n * 获取所有 `<mdui-layout-item>` 元素(按在 DOM 中的顺序)\n */ getItems() {\n if (!this.items) {\n const items = this.states.map((state)=>state.element);\n this.items = items.sort((a, b)=>{\n const position = a.compareDocumentPosition(b);\n if (position & Node.DOCUMENT_POSITION_FOLLOWING) return -1;\n else if (position & Node.DOCUMENT_POSITION_PRECEDING) return 1;\n else return 0;\n });\n }\n return this.items;\n }\n /**\n * 获取 `<mdui-layout-main>` 元素\n */ getMain() {\n return this.$main ? this.$main[0] : undefined;\n }\n /**\n * 获取 `<mdui-layout-item>` 及 `<mdui-layout-main>` 元素\n */ getItemsAndMain() {\n return [\n ...this.getItems(),\n this.getMain()\n ].filter((i)=>i);\n }\n /**\n * 更新 `order` 值,更新完后重新计算布局\n */ updateOrder() {\n this.resort();\n this.updateLayout();\n }\n /**\n * 重新计算布局\n * @param element 从哪一个元素开始更新;若未传入参数,则将更新所有元素\n * @param size 此次更新中,元素的宽高(仅在此次更新中使用)。若不传则自动计算\n */ updateLayout(element, size) {\n const state = element ? {\n element: element,\n width: size?.width,\n height: size?.height\n } : undefined;\n const index = state ? this.states.findIndex((v)=>v.element === state.element) : 0;\n if (index < 0) return;\n Object.assign(this.states[index], state);\n this.states.forEach((currState, currIndex)=>{\n if (currIndex < index) return;\n // @ts-ignore\n const placement = currState.element.layoutPlacement;\n // 前一个元素\n const prevState = currIndex > 0 ? this.states[currIndex - 1] : undefined;\n const top = prevState?.top ?? 0;\n const right = prevState?.right ?? 0;\n const bottom = prevState?.bottom ?? 0;\n const left = prevState?.left ?? 0;\n Object.assign(currState, {\n top: top,\n right: right,\n bottom: bottom,\n left: left\n });\n switch(placement){\n case 'top':\n case 'bottom':\n currState[placement] += currState.height ?? currState.element.offsetHeight;\n break;\n case 'right':\n case 'left':\n currState[placement] += (this.isNoWidth(currState) ? 0 : currState.width) ?? currState.element.offsetWidth;\n break;\n }\n currState.height = currState.width = undefined;\n (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(currState.element).css({\n position: 'absolute',\n top: placement === 'bottom' ? null : top,\n right: placement === 'left' ? null : right,\n bottom: placement === 'top' ? null : bottom,\n left: placement === 'right' ? null : left\n });\n });\n // 更新完后,设置 layout-main 的 padding\n const lastState = this.states[this.states.length - 1];\n if (this.$main) this.$main.css({\n paddingTop: lastState.top,\n paddingRight: lastState.right,\n paddingBottom: lastState.bottom,\n paddingLeft: lastState.left\n });\n }\n /**\n * 按 order 排序,order 相同时,按在 DOM 中的顺序排序\n */ resort() {\n const items = this.getItems();\n this.states.sort((a, b)=>{\n const aOrder = a.element.order ?? 0;\n const bOrder = b.element.order ?? 0;\n if (aOrder > bOrder) return 1;\n if (aOrder < bOrder) return -1;\n if (items.indexOf(a.element) > items.indexOf(b.element)) return 1;\n if (items.indexOf(a.element) < items.indexOf(b.element)) return -1;\n return 0;\n });\n }\n /**\n * 组件宽度是否为 0\n * mdui-navigation-drawer 较为特殊,在为模态化时,占据的宽度为 0\n */ isNoWidth(state) {\n return (0, $d0cded150def05db$export$40bcf76e2c1becc2)(state.element, 'mdui-navigation-drawer') && // @ts-ignore\n state.element.isModal;\n }\n}\nconst $1cf2e211a0e8f6e4$var$layoutManagerMap = new WeakMap();\nconst $1cf2e211a0e8f6e4$export$15b332947189bc50 = (element)=>{\n if (!$1cf2e211a0e8f6e4$var$layoutManagerMap.has(element)) $1cf2e211a0e8f6e4$var$layoutManagerMap.set(element, new $1cf2e211a0e8f6e4$export$4a04ad01c410b415());\n return $1cf2e211a0e8f6e4$var$layoutManagerMap.get(element);\n};\n\n\nclass $8ae302ee2d72d2fb$export$b529af58a9865382 extends (0, $53a1aafae9c6752a$export$9bb0a9faa319390c) {\n constructor(){\n super(...arguments);\n // 父元素是否是 `mdui-layout`\n this.isParentLayout = false;\n }\n /**\n * 当前布局组件所处的位置,父类必须实现该 getter\n */ get layoutPlacement() {\n throw new Error('Must implement placement getter!');\n }\n // order 变更时,需要重新调整布局\n onOrderChange() {\n this.layoutManager?.updateOrder();\n }\n connectedCallback() {\n super.connectedCallback();\n const parentElement = this.parentElement;\n this.isParentLayout = (0, $d0cded150def05db$export$40bcf76e2c1becc2)(parentElement, 'mdui-layout');\n if (this.isParentLayout) {\n this.layoutManager = (0, $1cf2e211a0e8f6e4$export$15b332947189bc50)(parentElement);\n this.layoutManager.registerItem(this);\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this.layoutManager) this.layoutManager.unregisterItem(this);\n }\n}\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Number,\n reflect: true\n })\n], $8ae302ee2d72d2fb$export$b529af58a9865382.prototype, \"order\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $f12b6253cef59edc$export$3db5d71bdb2d5499)('order', true)\n], $8ae302ee2d72d2fb$export$b529af58a9865382.prototype, \"onOrderChange\", null);\n\n\n\nconst $e6a36d8685f7a964$export$d03de1d4839081f2 = (0, $0268acc93e67b930$export$dbf350e5966cf602)`:host{display:flex;z-index:1}`;\n\n\n/**\n * @summary 布局项组件\n *\n * ```html\n * <mdui-layout>\n * ..<mdui-layout-item></mdui-layout-item>\n * ..<mdui-layout-item></mdui-layout-item>\n * ..<mdui-layout-main></mdui-layout-main>\n * </mdui-layout>\n * ```\n *\n * @slot - 可以包含任意内容\n */ let $f010997fea6f63c5$export$908a623c79ef2d32 = class LayoutItem extends (0, $8ae302ee2d72d2fb$export$b529af58a9865382) {\n constructor(){\n super(...arguments);\n /**\n * 组件的位置。可选值包括:\n *\n * * `top`:上方\n * * `bottom`:下方\n * * `left`:左侧\n * * `right`:右侧\n */ this.placement = 'top';\n }\n get layoutPlacement() {\n return this.placement;\n }\n // placement 变更时,需要重新调整布局\n onPlacementChange() {\n this.layoutManager?.updateLayout(this);\n }\n render() {\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot></slot>`;\n }\n};\n$f010997fea6f63c5$export$908a623c79ef2d32.styles = [\n (0, $a1095454894349c1$export$7ef977f86985f711),\n (0, $e6a36d8685f7a964$export$d03de1d4839081f2)\n];\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n], $f010997fea6f63c5$export$908a623c79ef2d32.prototype, \"placement\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $f12b6253cef59edc$export$3db5d71bdb2d5499)('placement', true)\n], $f010997fea6f63c5$export$908a623c79ef2d32.prototype, \"onPlacementChange\", null);\n$f010997fea6f63c5$export$908a623c79ef2d32 = (0, $ceFTv.__decorate)([\n (0, $6eca265e3a72f146$export$da64fc29f17f9d0e)('mdui-layout-item')\n], $f010997fea6f63c5$export$908a623c79ef2d32);\n\n\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\n\n\n\n\nconst $8dbed528a5d643c7$export$896f4feefc019641 = (0, $0268acc93e67b930$export$dbf350e5966cf602)`:host{flex:1 0 auto;max-width:100%;overflow:auto}`;\n\n\n/**\n * @summary 布局主体内容组件\n *\n * ```html\n * <mdui-layout>\n * ..<mdui-layout-item></mdui-layout-item>\n * ..<mdui-layout-item></mdui-layout-item>\n * ..<mdui-layout-main></mdui-layout-main>\n * </mdui-layout>\n * ```\n *\n * @slot - 可以包含任意内容\n */ let $4fc6adea60fc4461$export$6cc1872dc6625c1a = class LayoutMain extends (0, $53a1aafae9c6752a$export$9bb0a9faa319390c) {\n connectedCallback() {\n super.connectedCallback();\n const parentElement = this.parentElement;\n if ((0, $d0cded150def05db$export$40bcf76e2c1becc2)(parentElement, 'mdui-layout')) {\n this.layoutManager = (0, $1cf2e211a0e8f6e4$export$15b332947189bc50)(parentElement);\n this.layoutManager.registerMain(this);\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this.layoutManager) this.layoutManager.unregisterMain();\n }\n render() {\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot></slot>`;\n }\n};\n$4fc6adea60fc4461$export$6cc1872dc6625c1a.styles = [\n (0, $a1095454894349c1$export$7ef977f86985f711),\n (0, $8dbed528a5d643c7$export$896f4feefc019641)\n];\n$4fc6adea60fc4461$export$6cc1872dc6625c1a = (0, $ceFTv.__decorate)([\n (0, $6eca265e3a72f146$export$da64fc29f17f9d0e)('mdui-layout-main')\n], $4fc6adea60fc4461$export$6cc1872dc6625c1a);\n\n\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\n\n\nconst $3d8d91e959479a69$export$86769c7e42816efc = (0, $0268acc93e67b930$export$dbf350e5966cf602)`:host{display:block;padding:.5rem 0}::slotted(mdui-divider[middle]){margin-left:1rem;margin-right:1.5rem}`;\n\n\n/**\n * @summary 列表组件。需配合 `<mdui-list-item>` 组件使用\n *\n * ```html\n * <mdui-list>\n * ..<mdui-list-subheader>Subheader</mdui-list-subheader>\n * ..<mdui-list-item>Item 1</mdui-list-item>\n * ..<mdui-list-item>Item 2</mdui-list-item>\n * </mdui-list>\n * ```\n *\n * @slot - `<mdui-list-item>` 元素\n */ let $f7535d03127047a7$export$54c2e3dc7acea9f5 = class List extends (0, $53a1aafae9c6752a$export$9bb0a9faa319390c) {\n render() {\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot></slot>`;\n }\n};\n$f7535d03127047a7$export$54c2e3dc7acea9f5.styles = [\n (0, $a1095454894349c1$export$7ef977f86985f711),\n (0, $3d8d91e959479a69$export$86769c7e42816efc)\n];\n$f7535d03127047a7$export$54c2e3dc7acea9f5 = (0, $ceFTv.__decorate)([\n (0, $6eca265e3a72f146$export$da64fc29f17f9d0e)('mdui-list')\n], $f7535d03127047a7$export$54c2e3dc7acea9f5);\n\n\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst $fec346e32fb47383$export$322d34f518c8ea02 = (0, $0268acc93e67b930$export$dbf350e5966cf602)`:host{--shape-corner:var(--mdui-shape-corner-none);--shape-corner-rounded:var(--mdui-shape-corner-extra-large);position:relative;display:block;border-radius:var(--shape-corner);--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([rounded]:not([rounded=false i])),:host([rounded]:not([rounded=false i])) mdui-ripple{border-radius:var(--shape-corner-rounded)}:host([active]:not([active=false i])){background-color:rgb(var(--mdui-color-secondary-container));--mdui-comp-ripple-state-layer-color:var(\n --mdui-color-on-secondary-container\n )}:host([disabled]:not([disabled=false i])){pointer-events:none}.container{cursor:pointer;-webkit-user-select:none;user-select:none;text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}:host([disabled]:not([disabled=false i])) .container{cursor:default;opacity:.38}:host([nonclickable]:not([href],[nonclickable=false i])) .container{cursor:auto;-webkit-user-select:auto;user-select:auto}.preset{display:flex;align-items:center;padding:.5rem 1.5rem .5rem 1rem;min-height:3.5rem}:host([alignment=start]) .preset{align-items:flex-start}:host([alignment=end]) .preset{align-items:flex-end}.body{display:flex;flex:1 1 100%;flex-direction:column;justify-content:center;min-width:0}.headline{display:block;color:rgb(var(--mdui-color-on-surface));font-size:var(--mdui-typescale-body-large-size);font-weight:var(--mdui-typescale-body-large-weight);letter-spacing:var(--mdui-typescale-body-large-tracking);line-height:var(--mdui-typescale-body-large-line-height)}:host([active]:not([active=false i])) .headline{color:rgb(var(--mdui-color-on-secondary-container))}.description{display:none;color:rgb(var(--mdui-color-on-surface-variant));font-size:var(--mdui-typescale-body-medium-size);font-weight:var(--mdui-typescale-body-medium-weight);letter-spacing:var(--mdui-typescale-body-medium-tracking);line-height:var(--mdui-typescale-body-medium-line-height)}:host([disabled]:not([disabled=false i])) .description,:host([focused]) .description,:host([hover]) .description,:host([pressed]) .description{color:rgb(var(--mdui-color-on-surface))}.has-description .description{display:block}:host([description-line='1']) .description,:host([headline-line='1']) .headline{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host([description-line='2']) .description,:host([description-line='3']) .description,:host([headline-line='2']) .headline,:host([headline-line='3']) .headline{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}:host([description-line='2']) .description,:host([headline-line='2']) .headline{-webkit-line-clamp:2}:host([description-line='3']) .description,:host([headline-line='3']) .headline{-webkit-line-clamp:3}.end-icon,.icon{display:flex;flex:0 0 auto;font-size:var(--mdui-typescale-label-small-size);font-weight:var(--mdui-typescale-label-small-weight);letter-spacing:var(--mdui-typescale-label-small-tracking);line-height:var(--mdui-typescale-label-small-line-height);color:rgb(var(--mdui-color-on-surface-variant))}:host([disabled]:not([disabled=false i])) .end-icon,:host([disabled]:not([disabled=false i])) .icon,:host([focused]) .end-icon,:host([focused]) .icon,:host([hover]) .end-icon,:host([hover]) .icon,:host([pressed]) .end-icon,:host([pressed]) .icon{color:rgb(var(--mdui-color-on-surface))}:host([active]:not([active=false i])) .end-icon,:host([active]:not([active=false i])) .icon{color:rgb(var(--mdui-color-on-secondary-container))}.end-icon mdui-icon,.icon mdui-icon,.is-end-icon ::slotted([slot=end-icon]),.is-icon ::slotted([slot=icon]){font-size:1.5rem}.has-icon .icon{margin-right:1rem}.has-icon ::slotted(mdui-checkbox[slot=icon]),.has-icon ::slotted(mdui-radio[slot=icon]){margin-left:-.5rem}.has-end-icon .end-icon{margin-left:1rem}.has-end-icon ::slotted(mdui-checkbox[slot=end-icon]),.has-end-icon ::slotted(mdui-radio[slot=end-icon]){margin-right:-.5rem}`;\n\n\n/**\n * @summary 列表项组件。需配合 `<mdui-list>` 组件使用\n *\n * ```html\n * <mdui-list>\n * ..<mdui-list-subheader>Subheader</mdui-list-subheader>\n * ..<mdui-list-item>Item 1</mdui-list-item>\n * ..<mdui-list-item>Item 2</mdui-list-item>\n * </mdui-list>\n * ```\n *\n * @event focus - 获得焦点时触发\n * @event blur - 失去焦点时触发\n *\n * @slot - 主文本\n * @slot description - 副文本\n * @slot icon - 列表项左侧的元素\n * @slot end-icon - 列表项右侧的元素\n * @slot custom - 任意自定义内容\n *\n * @csspart container - 列表项容器\n * @csspart icon - 左侧图标\n * @csspart end-icon - 右侧图标\n * @csspart body - 中间部分\n * @csspart headline - 主标题\n * @csspart description - 副标题\n *\n * @cssprop --shape-corner - 列表项的圆角大小。可以指定一个具体的像素值;但更推荐引用[设计令牌](/docs/2/styles/design-tokens#shape-corner)\n * @cssprop --shape-corner-rounded - 指定了 `rounded` 属性时,列表项的圆角大小。可以指定一个具体的像素值;但更推荐引用[设计令牌](/docs/2/styles/design-tokens#shape-corner)\n */ let $7a4cef88601f6d79$export$a7b06bfba60a8a78 = class ListItem extends (0, $127a23c52a5adf4f$export$e70f90f657dd64e)((0, $abaf2949eee28760$export$7891358133f12319)((0, $3bb9ba68ccebecb9$export$7b86c168e7d309f7)((0, $53a1aafae9c6752a$export$9bb0a9faa319390c)))) {\n constructor(){\n super(...arguments);\n /**\n * 是否禁用该列表项,禁用后,列表项将变为灰色,且其中的 [`<mdui-checkbox>`](/docs/2/components/checkbox)、[`<mdui-radio>`](/docs/2/components/radio)、[`<mdui-switch>`](/docs/2/components/switch) 等也将禁用\n */ this.disabled = false;\n /**\n * 是否激活该列表项\n */ this.active = false;\n /**\n * 是否使列表项不可点击。设置后,列表项中的 [`<mdui-checkbox>`](/docs/2/components/checkbox)、[`<mdui-radio>`](/docs/2/components/radio)、[`<mdui-switch>`](/docs/2/components/switch) 等仍可交互\n */ this.nonclickable = false;\n /**\n * 是否使用圆角形状的列表项\n */ this.rounded = false;\n /**\n * 列表项的垂直对齐方式。可选值包括:\n *\n * * `start`:顶部对齐\n * * `center`:居中对齐\n * * `end`:底部对齐\n */ this.alignment = 'center';\n this.rippleRef = (0, $f322d22fead4969a$export$7d1e3a5e95ceca43)();\n this.itemRef = (0, $f322d22fead4969a$export$7d1e3a5e95ceca43)();\n this.hasSlotController = new (0, $86ec33836cc10aec$export$34f6a5ffaa663541)(this, '[default]', 'description', 'icon', 'end-icon', 'custom');\n }\n get rippleElement() {\n return this.rippleRef.value;\n }\n get rippleDisabled() {\n return this.focusDisabled;\n }\n get focusElement() {\n return this.href && !this.disabled ? this.itemRef.value : this;\n }\n get focusDisabled() {\n return this.href ? this.disabled : this.disabled || this.nonclickable;\n }\n render() {\n const preset = !this.hasSlotController.test('custom');\n const hasIcon = this.icon || this.hasSlotController.test('icon');\n const hasEndIcon = this.endIcon || this.hasSlotController.test('end-icon');\n const hasDescription = this.description || this.hasSlotController.test('description');\n const className = (0, $6ff99a31914becfa$export$2e2bcd8739ae039)({\n container: true,\n preset: preset,\n 'has-icon': hasIcon,\n 'has-end-icon': hasEndIcon,\n 'has-description': hasDescription,\n // icon slot 中的元素是否为 mdui-icon 或 mdui-icon-* 组件\n 'is-icon': (0, $d0cded150def05db$export$40bcf76e2c1becc2)(this.iconElements[0], 'mdui-icon'),\n // end-icon slot 中的元素是否为 mdui-icon 或 mdui-icon-* 组件\n 'is-end-icon': (0, $d0cded150def05db$export$651544f548703224)(this.endIconElements[0]).startsWith('mdui-icon-')\n });\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<mdui-ripple ${(0, $f322d22fead4969a$export$eff4d24c3ff7876e)(this.rippleRef)} .noRipple=\"${this.noRipple}\"></mdui-ripple>${this.href && !this.disabled ? this.renderAnchor({\n className: className,\n content: this.renderInner(),\n part: 'container',\n refDirective: (0, $f322d22fead4969a$export$eff4d24c3ff7876e)(this.itemRef)\n }) : (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<div part=\"container\" class=\"${className}\" ${(0, $f322d22fead4969a$export$eff4d24c3ff7876e)(this.itemRef)}>${this.renderInner()}</div>`}`;\n }\n renderInner() {\n const hasDefaultSlot = this.hasSlotController.test('[default]');\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot name=\"custom\"><slot name=\"icon\" part=\"icon\" class=\"icon\">${this.icon ? (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<mdui-icon name=\"${this.icon}\"></mdui-icon>` : (0, $ba66167bae03ac3c$export$d9a2b46c01bdcf53)}</slot><div part=\"body\" class=\"body\">${hasDefaultSlot ? (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot part=\"headline\" class=\"headline\"></slot>` : (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<div part=\"headline\" class=\"headline\">${this.headline}</div>`}<slot name=\"description\" part=\"description\" class=\"description\">${this.description}</slot></div><slot name=\"end-icon\" part=\"end-icon\" class=\"end-icon\">${this.endIcon ? (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<mdui-icon name=\"${this.endIcon}\"></mdui-icon>` : (0, $ba66167bae03ac3c$export$d9a2b46c01bdcf53)}</slot></slot>`;\n }\n};\n$7a4cef88601f6d79$export$a7b06bfba60a8a78.styles = [\n (0, $a1095454894349c1$export$7ef977f86985f711),\n (0, $fec346e32fb47383$export$322d34f518c8ea02)\n];\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n], $7a4cef88601f6d79$export$a7b06bfba60a8a78.prototype, \"headline\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Number,\n reflect: true,\n attribute: 'headline-line'\n })\n], $7a4cef88601f6d79$export$a7b06bfba60a8a78.prototype, \"headlineLine\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n], $7a4cef88601f6d79$export$a7b06bfba60a8a78.prototype, \"description\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Number,\n reflect: true,\n attribute: 'description-line'\n })\n], $7a4cef88601f6d79$export$a7b06bfba60a8a78.prototype, \"descriptionLine\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n], $7a4cef88601f6d79$export$a7b06bfba60a8a78.prototype, \"icon\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true,\n attribute: 'end-icon'\n })\n], $7a4cef88601f6d79$export$a7b06bfba60a8a78.prototype, \"endIcon\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n], $7a4cef88601f6d79$export$a7b06bfba60a8a78.prototype, \"disabled\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n], $7a4cef88601f6d79$export$a7b06bfba60a8a78.prototype, \"active\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n], $7a4cef88601f6d79$export$a7b06bfba60a8a78.prototype, \"nonclickable\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n], $7a4cef88601f6d79$export$a7b06bfba60a8a78.prototype, \"rounded\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n], $7a4cef88601f6d79$export$a7b06bfba60a8a78.prototype, \"alignment\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $fd9f04ee645bb4e0$export$4682af2d9ee91415)({\n slot: 'icon',\n flatten: true\n })\n], $7a4cef88601f6d79$export$a7b06bfba60a8a78.prototype, \"iconElements\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $fd9f04ee645bb4e0$export$4682af2d9ee91415)({\n slot: 'end-icon',\n flatten: true\n })\n], $7a4cef88601f6d79$export$a7b06bfba60a8a78.prototype, \"endIconElements\", void 0);\n$7a4cef88601f6d79$export$a7b06bfba60a8a78 = (0, $ceFTv.__decorate)([\n (0, $6eca265e3a72f146$export$da64fc29f17f9d0e)('mdui-list-item')\n], $7a4cef88601f6d79$export$a7b06bfba60a8a78);\n\n\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ function $1c93789365dd7e63$export$a55877ca9db47377(n, r, t) {\n return n ? r(n) : t?.(n);\n}\n\n\n\n\n\n\n\n\n\n\n\nfunction $3362be994de5de48$export$3b755839a54e1bb0(el, keyframes, options) {\n if (!el) return Promise.resolve();\n return new Promise((resolve)=>{\n if (options.duration === Infinity) throw new Error('Promise-based animations must be finite.');\n if ((0, $d0cded150def05db$export$7e4aa119212bc614)(options.duration) && isNaN(options.duration)) options.duration = 0;\n if (options.easing === '') options.easing = 'linear';\n const animation = el.animate(keyframes, options);\n animation.addEventListener('cancel', resolve, {\n once: true\n });\n animation.addEventListener('finish', resolve, {\n once: true\n });\n });\n}\nfunction $3362be994de5de48$export$ad12f740028ccbea(el) {\n if (!el) return Promise.resolve();\n return Promise.all(el.getAnimations().map((animation)=>{\n return new Promise((resolve)=>{\n const handleAnimationEvent = requestAnimationFrame(resolve);\n animation.addEventListener('cancel', ()=>handleAnimationEvent, {\n once: true\n });\n animation.addEventListener('finish', ()=>handleAnimationEvent, {\n once: true\n });\n animation.cancel();\n });\n }));\n}\n\n\n/**\n * 断点相关的 js 函数\n * 这些函数直接导出到 mdui 全局对象下,供应用使用。框架内部使用时,为避免循环依赖,从 @mdui/shared 包内导入\n */ \n\n\n\nconst $b22e21da55e74950$export$b5ef74bd35083b44 = (width)=>{\n const window = (0, $c87de1375632dba4$export$38b2d434cce3ea22)();\n const document = (0, $c87de1375632dba4$export$f65ca476c09acec0)();\n const computedStyle = window.getComputedStyle(document.documentElement);\n // 容器的宽度\n const containerWidth = (0, $d0cded150def05db$export$45a5e7f76e0caa8d)(width) ? (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(width).innerWidth() : (0, $d0cded150def05db$export$7e4aa119212bc614)(width) ? width : (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(window).innerWidth();\n // 断点对应的宽度值\n const getBreakpointValue = (breakpoint)=>{\n const width = computedStyle.getPropertyValue(`--mdui-breakpoint-${breakpoint}`).toLowerCase();\n return parseFloat(width);\n };\n // 获取比指定断点更大的一个断点\n const getNextBreakpoint = (breakpoint)=>{\n switch(breakpoint){\n case 'xs':\n return 'sm';\n case 'sm':\n return 'md';\n case 'md':\n return 'lg';\n case 'lg':\n return 'xl';\n case 'xl':\n return 'xxl';\n }\n };\n return {\n /**\n * 当前宽度是否大于指定断点值\n * @param breakpoint\n */ up (breakpoint) {\n return containerWidth >= getBreakpointValue(breakpoint);\n },\n /**\n * 当前宽度是否小于指定断点值\n * @param breakpoint\n */ down (breakpoint) {\n return containerWidth < getBreakpointValue(breakpoint);\n },\n /**\n * 当前宽度是否在指定断点值内\n * @param breakpoint\n */ only (breakpoint) {\n if (breakpoint === 'xxl') return this.up(breakpoint);\n else return this.up(breakpoint) && this.down(getNextBreakpoint(breakpoint));\n },\n /**\n * 当前宽度是否不在指定断点值内\n * @param breakpoint\n */ not (breakpoint) {\n return !this.only(breakpoint);\n },\n /**\n * 当前宽度是否在指定断点值之间\n * @param startBreakpoint\n * @param endBreakpoint\n * @returns\n */ between (startBreakpoint, endBreakpoint) {\n return this.up(startBreakpoint) && this.down(endBreakpoint);\n }\n };\n};\n\n\n\n/** https://github.com/shoelace-style/shoelace/blob/next/src/internal/modal.ts */ \n/** https://github.com/shoelace-style/shoelace/blob/next/src/internal/tabbable.ts */ /** Determines if the specified element is tabbable using heuristics inspired by https://github.com/focus-trap/tabbable */ function $4e8a824bd0f3adc8$var$isTabbable(el) {\n const window = (0, $c87de1375632dba4$export$38b2d434cce3ea22)();\n const localName = el.localName;\n // Elements with a -1 tab index are not tabbable\n if (el.getAttribute('tabindex') === '-1') return false;\n // Elements with a disabled attribute are not tabbable\n if (el.hasAttribute('disabled')) return false;\n // Elements with aria-disabled are not tabbable\n if (el.hasAttribute('aria-disabled') && el.getAttribute('aria-disabled') !== 'false') return false;\n // Radios without a checked attribute are not tabbable\n if (localName === 'input' && el.getAttribute('type') === 'radio' && !el.hasAttribute('checked')) return false;\n // Elements that are hidden have no offsetParent and are not tabbable\n if (el.offsetParent === null) return false;\n // Elements without visibility are not tabbable\n if (window.getComputedStyle(el).visibility === 'hidden') return false;\n // Audio and video elements with the controls attribute are tabbable\n if ((localName === 'audio' || localName === 'video') && el.hasAttribute('controls')) return true;\n // Elements with a tabindex other than -1 are tabbable\n if (el.hasAttribute('tabindex')) return true;\n // Elements with a contenteditable attribute are tabbable\n if (el.hasAttribute('contenteditable') && el.getAttribute('contenteditable') !== 'false') return true;\n // At this point, the following elements are considered tabbable\n return [\n 'button',\n 'input',\n 'select',\n 'textarea',\n 'a',\n 'audio',\n 'video',\n 'summary'\n ].includes(localName);\n}\nfunction $4e8a824bd0f3adc8$export$16b821ece3e89e24(root) {\n const allElements = [];\n function walk(el) {\n if (el instanceof HTMLElement) {\n allElements.push(el);\n if (el.shadowRoot !== null && el.shadowRoot.mode === 'open') walk(el.shadowRoot);\n }\n const children = el.children;\n [\n ...children\n ].forEach((e)=>walk(e));\n }\n // Collect all elements including the root\n walk(root);\n // Find the first and last tabbable elements\n const start = allElements.find((el)=>$4e8a824bd0f3adc8$var$isTabbable(el)) ?? null;\n const end = allElements.reverse().find((el)=>$4e8a824bd0f3adc8$var$isTabbable(el)) ?? null;\n return {\n start: start,\n end: end\n };\n}\n\n\nlet $05d0a53b513f989a$var$activeModals = [];\nclass $05d0a53b513f989a$export$2b77a92f1a5ad772 {\n constructor(element){\n this.tabDirection = 'forward';\n this.element = element;\n this.handleFocusIn = this.handleFocusIn.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleKeyUp = this.handleKeyUp.bind(this);\n }\n activate() {\n $05d0a53b513f989a$var$activeModals.push(this.element);\n document.addEventListener('focusin', this.handleFocusIn);\n document.addEventListener('keydown', this.handleKeyDown);\n document.addEventListener('keyup', this.handleKeyUp);\n }\n deactivate() {\n $05d0a53b513f989a$var$activeModals = $05d0a53b513f989a$var$activeModals.filter((modal)=>modal !== this.element);\n document.removeEventListener('focusin', this.handleFocusIn);\n document.removeEventListener('keydown', this.handleKeyDown);\n document.removeEventListener('keyup', this.handleKeyUp);\n }\n isActive() {\n // The \"active\" modal is always the most recent one shown\n return $05d0a53b513f989a$var$activeModals[$05d0a53b513f989a$var$activeModals.length - 1] === this.element;\n }\n checkFocus() {\n if (this.isActive()) {\n if (!this.element.matches(':focus-within')) {\n const { start: start, end: end } = (0, $4e8a824bd0f3adc8$export$16b821ece3e89e24)(this.element);\n const target = this.tabDirection === 'forward' ? start : end;\n if (typeof target?.focus === 'function') target.focus({\n preventScroll: true\n });\n }\n }\n }\n handleFocusIn() {\n this.checkFocus();\n }\n handleKeyDown(event) {\n if (event.key === 'Tab' && event.shiftKey) this.tabDirection = 'backward';\n // Ensure focus remains trapped after they key is pressed\n requestAnimationFrame(()=>this.checkFocus());\n }\n handleKeyUp() {\n this.tabDirection = 'forward';\n }\n}\n\n\n\n\nconst $be740f6576951c5c$export$2bbf531f74195405 = (element, name)=>{\n const cssVariableName = `--mdui-motion-easing-${name}`;\n return (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(element).css(cssVariableName).trim();\n};\nconst $be740f6576951c5c$export$75bba95db5c3e753 = (element, name)=>{\n const cssVariableName = `--mdui-motion-duration-${name}`;\n const cssValue = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(element).css(cssVariableName).trim().toLowerCase();\n if (cssValue.endsWith('ms')) return parseFloat(cssValue);\n else return parseFloat(cssValue) * 1000;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * 是否不是 HTML 字符串(包裹在 <> 中)\n * @param target\n */ const $3c315b2fe0eb8e20$var$isPlainText = (target)=>{\n return (0, $d0cded150def05db$export$844ec244b1367d54)(target) && !(target.startsWith('<') && target.endsWith('>'));\n};\n(0, $d0cded150def05db$export$211b8db791997e25)([\n 'before',\n 'after'\n], (name, nameIndex)=>{\n // eslint-disable-next-line\n (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn[name] = function(...args) {\n // after 方法,多个参数需要按参数顺序添加到元素后面,所以需要将参数顺序反向处理\n if (nameIndex === 1) args = args.reverse();\n return this.each((index, element)=>{\n const targets = (0, $d0cded150def05db$export$f6e2535fb5126e54)(args[0]) ? [\n args[0].call(element, index, element.innerHTML)\n ] : args;\n (0, $d0cded150def05db$export$211b8db791997e25)(targets, (target)=>{\n let $target;\n if ($3c315b2fe0eb8e20$var$isPlainText(target)) $target = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)((0, $f94b048e0ef94ba5$export$ddad7c9cfa637961)(target, 'div'));\n else if (index && (0, $d0cded150def05db$export$45a5e7f76e0caa8d)(target)) $target = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(target.cloneNode(true));\n else $target = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(target);\n $target[nameIndex ? 'insertAfter' : 'insertBefore'](element);\n });\n });\n };\n});\n\n\n\n\n\n\n\n(0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn.clone = function() {\n return this.map(function() {\n return this.cloneNode(true);\n });\n};\n\n\n\n\n\n(0, $d0cded150def05db$export$211b8db791997e25)([\n 'prepend',\n 'append'\n], (name, nameIndex)=>{\n // eslint-disable-next-line\n (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9).fn[name] = function(...args) {\n return this.each((index, element)=>{\n const childNodes = element.childNodes;\n const childLength = childNodes.length;\n const child = childLength ? childNodes[nameIndex ? childLength - 1 : 0] : (0, $f94b048e0ef94ba5$export$c8a8987d4410bf2d)('div');\n if (!childLength) (0, $f94b048e0ef94ba5$export$1b8e57c9ea42f1d2)(element, child);\n let contents = (0, $d0cded150def05db$export$f6e2535fb5126e54)(args[0]) ? [\n args[0].call(element, index, element.innerHTML)\n ] : args;\n // 如果不是字符串,则仅第一个元素使用原始元素,其他的都克隆自第一个元素\n if (index) contents = contents.map((content)=>{\n return (0, $d0cded150def05db$export$844ec244b1367d54)(content) ? content : (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(content).clone();\n });\n (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(child)[nameIndex ? 'after' : 'before'](...contents);\n if (!childLength) (0, $f94b048e0ef94ba5$export$7ae609f7af59e4f7)(child);\n });\n };\n});\n\n\n\n\n\n\n\n\n\n\n// 缓存滚动条宽度\nlet $adc62e3a0f282822$var$scrollBarSizeCached;\nconst $adc62e3a0f282822$export$25b60ac3cac337f6 = (fresh)=>{\n if ((0, $d0cded150def05db$export$fce6876652108ab)(document)) return 0;\n if (fresh || $adc62e3a0f282822$var$scrollBarSizeCached === undefined) {\n const $inner = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)('<div>').css({\n width: '100%',\n height: '200px'\n });\n const $outer = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)('<div>').css({\n position: 'absolute',\n top: '0',\n left: '0',\n pointerEvents: 'none',\n visibility: 'hidden',\n width: '200px',\n height: '150px',\n overflow: 'hidden'\n }).append($inner).appendTo(document.body);\n const widthContained = $inner[0].offsetWidth;\n $outer.css('overflow', 'scroll');\n let widthScroll = $inner[0].offsetWidth;\n if (widthContained === widthScroll) widthScroll = $outer[0].clientWidth;\n $outer.remove();\n $adc62e3a0f282822$var$scrollBarSizeCached = widthContained - widthScroll;\n }\n return $adc62e3a0f282822$var$scrollBarSizeCached;\n};\nconst $adc62e3a0f282822$export$4d450e1748530b6a = (target)=>{\n return target.scrollHeight > target.clientHeight;\n};\nconst $adc62e3a0f282822$var$lockMap = new WeakMap();\nconst $adc62e3a0f282822$var$className = 'mdui-lock-screen';\nconst $adc62e3a0f282822$export$262d4a3a96e6db49 = (source, target)=>{\n const document1 = (0, $c87de1375632dba4$export$f65ca476c09acec0)();\n target ??= document1.documentElement;\n if (!$adc62e3a0f282822$var$lockMap.has(target)) $adc62e3a0f282822$var$lockMap.set(target, new Set());\n const lock = $adc62e3a0f282822$var$lockMap.get(target);\n lock.add(source);\n const $target = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(target);\n if ($adc62e3a0f282822$export$4d450e1748530b6a(target)) $target.css('width', `calc(100% - ${$adc62e3a0f282822$export$25b60ac3cac337f6()}px)`);\n $target.addClass($adc62e3a0f282822$var$className);\n};\nconst $adc62e3a0f282822$export$9af88a20d52a352e = (source, target)=>{\n const document1 = (0, $c87de1375632dba4$export$f65ca476c09acec0)();\n target ??= document1.documentElement;\n const lock = $adc62e3a0f282822$var$lockMap.get(target);\n if (!lock) return;\n lock.delete(source);\n if (lock.size === 0) {\n $adc62e3a0f282822$var$lockMap.delete(target);\n (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(target).removeClass($adc62e3a0f282822$var$className).width('');\n }\n};\n\n\n\n\n\nconst $b378ababbe6fa120$export$1d567c320f4763bc = (0, $0268acc93e67b930$export$dbf350e5966cf602)`:host{--shape-corner:var(--mdui-shape-corner-large);--z-index:2200;display:none;position:fixed;top:0;bottom:0;left:0;z-index:1;width:22.5rem}:host([placement=right]){left:initial;right:0}:host([mobile]),:host([modal]:not([modal=false i])){top:0!important;right:0;bottom:0!important;width:initial;z-index:var(--z-index)}:host([placement=right][mobile]),:host([placement=right][modal]:not([modal=false i])){left:0}:host([contained]:not([contained=false i])){position:absolute}.overlay{position:absolute;inset:0;z-index:inherit;background-color:rgba(var(--mdui-color-scrim),.4)}.panel{display:block;position:absolute;top:0;bottom:0;left:0;width:100%;overflow:auto;z-index:inherit;background-color:rgb(var(--mdui-color-surface));box-shadow:var(--mdui-elevation-level0)}:host([mobile]) .panel,:host([modal]:not([modal=false i])) .panel{border-radius:0 var(--shape-corner) var(--shape-corner) 0;max-width:80%;width:22.5rem;background-color:rgb(var(--mdui-color-surface-container-low));box-shadow:var(--mdui-elevation-level1)}:host([placement=right]) .panel{left:initial;right:0}:host([placement=right][mobile]) .panel,:host([placement=right][modal]:not([modal=false i])) .panel{border-radius:var(--shape-corner) 0 0 var(--shape-corner)}`;\n\n\n/**\n * 在手机端,`modal` 始终为 `true`;大于手机端时,`modal` 属性才开始生效\n *\n * @summary 侧边抽屉栏组件\n *\n * ```html\n * <mdui-navigation-drawer>content</mdui-navigation-drawer>\n * ```\n *\n * @event open - 抽屉栏打开之前触发。可以通过调用 `event.preventDefault()` 阻止抽屉栏打开\n * @event opened - 抽屉栏打开动画完成之后触发\n * @event close - 抽屉栏关闭之前触发。可以通过调用 `event.preventDefault()` 阻止抽屉栏关闭\n * @event closed - 抽屉栏关闭动画完成之后触发\n * @event overlay-click - 点击遮罩层时触发\n *\n * @slot - 抽屉栏中的内容\n *\n * @csspart overlay - 遮罩层\n * @csspart panel - 抽屉栏容器\n *\n * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐引用[设计令牌](/docs/2/styles/design-tokens#shape-corner)\n * @cssprop --z-index - 组件的 CSS `z-index` 值\n */ let $3dea5fc8fb03d694$export$427b161b9019194d = class NavigationDrawer extends (0, $8ae302ee2d72d2fb$export$b529af58a9865382) {\n constructor(){\n super(...arguments);\n /**\n * 是否打开抽屉栏\n */ this.open = false;\n /**\n * 抽屉栏打开时,是否显示遮罩层\n *\n * 在窄屏设备上(屏幕宽度小于 [`--mdui-breakpoint-md`](/docs/2/styles/design-tokens#breakpoint)),会始终显示遮罩层,无视该参数\n */ this.modal = false;\n /**\n * 在有遮罩层的情况下,按下 ESC 键是否关闭抽屉栏\n */ this.closeOnEsc = false;\n /**\n * 点击遮罩层时,是否关闭抽屉栏\n */ this.closeOnOverlayClick = false;\n /**\n * 抽屉栏的位置。可选值包括:\n *\n * * `left`:左侧\n * * `right`:右侧\n */ this.placement = 'left';\n /**\n * 默认情况下,抽屉栏相对于 `body` 元素显示。当该参数设置为 `true` 时,抽屉栏将相对于其父元素显示。\n *\n * **Note**:设置该属性时,必须在父元素上手动设置样式 `position: relative; overflow: hidden;`。\n */ this.contained = false;\n // 断点为 mobile 时为 `true` 时,强制使用遮罩层\n this.mobile = false;\n this.overlayRef = (0, $f322d22fead4969a$export$7d1e3a5e95ceca43)();\n this.panelRef = (0, $f322d22fead4969a$export$7d1e3a5e95ceca43)();\n this.definedController = new (0, $29b950a65aaa366a$export$da3260c7a0861b80)(this, {\n needDomReady: true\n });\n }\n get layoutPlacement() {\n return this.placement;\n }\n get lockTarget() {\n return this.contained || this.isParentLayout ? this.parentElement : document.documentElement;\n }\n get isModal() {\n return this.mobile || this.modal;\n }\n // contained 变更后,修改监听尺寸变化的元素。为 true 时,监听父元素;为 false 时,监听 body\n async onContainedChange() {\n await this.definedController.whenDefined();\n this.observeResize?.unobserve();\n this.setObserveResize();\n }\n onPlacementChange() {\n if (this.isParentLayout) this.layoutManager.updateLayout(this);\n }\n async onMobileChange() {\n if (!this.open || this.isParentLayout || this.contained) return;\n await this.definedController.whenDefined();\n if (this.isModal) {\n (0, $adc62e3a0f282822$export$262d4a3a96e6db49)(this, this.lockTarget);\n await this.getLockTargetAnimate(false, 0);\n } else {\n (0, $adc62e3a0f282822$export$9af88a20d52a352e)(this, this.lockTarget);\n await this.getLockTargetAnimate(true, 0);\n }\n }\n async onOpenChange() {\n let panel = this.panelRef.value;\n let overlay = this.overlayRef.value;\n const isRight = this.placement === 'right';\n const easingLinear = (0, $be740f6576951c5c$export$2bbf531f74195405)(this, 'linear');\n const easingEmphasized = (0, $be740f6576951c5c$export$2bbf531f74195405)(this, 'emphasized');\n // 在当前 drawer 位于 layout 中时,设置所有 layout-item 和 layout-main 元素的 transition 样式\n const setLayoutTransition = (duration, easing)=>{\n (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(this.layoutManager.getItemsAndMain()).css('transition', (0, $d0cded150def05db$export$630801d484da15df)(duration) ? null : `all ${duration}ms ${easing}`);\n };\n // 停止原有动画\n const stopOldAnimations = async ()=>{\n const elements = [];\n if (this.isModal) elements.push(overlay, panel);\n else if (!this.isParentLayout) elements.push(this.lockTarget);\n if (this.isParentLayout) {\n const layoutItems = this.layoutManager.getItemsAndMain();\n const layoutIndex = layoutItems.indexOf(this);\n elements.push(...layoutItems.slice(layoutIndex));\n }\n if (!this.isModal && !elements.includes(this)) elements.push(this);\n await Promise.all(elements.map((element)=>(0, $3362be994de5de48$export$ad12f740028ccbea)(element)));\n };\n // 打开\n // 要区分是否首次渲染,首次渲染时不触发事件,不执行动画;非首次渲染,触发事件,执行动画\n if (this.open) {\n const hasUpdated = this.hasUpdated;\n if (!hasUpdated) {\n await this.updateComplete;\n panel = this.panelRef.value;\n overlay = this.overlayRef.value;\n }\n if (hasUpdated) {\n const eventProceeded = this.emit('open', {\n cancelable: true\n });\n if (!eventProceeded) return;\n }\n await this.definedController.whenDefined();\n this.style.display = 'block';\n this.originalTrigger = document.activeElement;\n if (this.isModal) {\n this.modalHelper.activate();\n if (!this.contained) (0, $adc62e3a0f282822$export$262d4a3a96e6db49)(this, this.lockTarget);\n }\n await stopOldAnimations();\n // 设置聚焦\n requestAnimationFrame(()=>{\n const autoFocusTarget = this.querySelector('[autofocus]');\n if (autoFocusTarget) autoFocusTarget.focus({\n preventScroll: true\n });\n else panel.focus({\n preventScroll: true\n });\n });\n const duration = (0, $be740f6576951c5c$export$75bba95db5c3e753)(this, 'long2');\n const animations = [];\n // 模态框 drawer,显示 overlay 动画\n if (this.isModal) animations.push((0, $3362be994de5de48$export$3b755839a54e1bb0)(overlay, [\n {\n opacity: 0\n },\n {\n opacity: 1,\n offset: 0.3\n },\n {\n opacity: 1\n }\n ], {\n duration: hasUpdated ? duration : 0,\n easing: easingLinear\n }));\n else if (!this.isParentLayout) animations.push(this.getLockTargetAnimate(true, hasUpdated ? duration : 0));\n // 若位于 layout 中,则 layout-main 的 padding 变化需要有和 drawer 相同的动画\n // 但首次渲染不执行动画\n if (this.isParentLayout && hasUpdated) {\n setLayoutTransition(duration, easingEmphasized);\n this.layoutManager.updateLayout(this);\n }\n // drawer 显示动画\n animations.push((0, $3362be994de5de48$export$3b755839a54e1bb0)(this.isModal ? panel : this, [\n {\n transform: `translateX(${isRight ? '' : '-'}100%)`\n },\n {\n transform: 'translateX(0)'\n }\n ], {\n duration: hasUpdated ? duration : 0,\n easing: easingEmphasized\n }));\n await Promise.all(animations);\n if (!this.open) return;\n // 若位于 layout 中,则 drawer 动画完成后,移除 layout-main 的动画\n if (this.isParentLayout && hasUpdated) setLayoutTransition(null);\n if (hasUpdated) this.emit('opened');\n } else if (this.hasUpdated) {\n // 关闭\n const eventProceeded = this.emit('close', {\n cancelable: true\n });\n if (!eventProceeded) return;\n await this.definedController.whenDefined();\n if (this.isModal) this.modalHelper.deactivate();\n await stopOldAnimations();\n const duration = (0, $be740f6576951c5c$export$75bba95db5c3e753)(this, 'short4');\n const animations = [];\n // 模态框 drawer,显示 overlay 动画\n if (this.isModal) animations.push((0, $3362be994de5de48$export$3b755839a54e1bb0)(overlay, [\n {\n opacity: 1\n },\n {\n opacity: 0\n }\n ], {\n duration: duration,\n easing: easingLinear\n }));\n else if (!this.isParentLayout) animations.push(this.getLockTargetAnimate(false, duration));\n // 若位于 layout 中,则 layout-main 的 padding 变化需要有和 drawer 相同的动画\n if (this.isParentLayout) {\n setLayoutTransition(duration, easingEmphasized);\n // 关闭动画开始时,drawer 的宽度不变。等到关闭动画结束,drawer 的宽度才变为 0\n // 为了 layout-main 的动画能在关闭动画开始时就执行,强制调用 updateLayout 更新布局\n this.layoutManager.updateLayout(this, {\n width: 0\n });\n }\n // drawer 显示动画\n animations.push((0, $3362be994de5de48$export$3b755839a54e1bb0)(this.isModal ? panel : this, [\n {\n transform: 'translateX(0)'\n },\n {\n transform: `translateX(${isRight ? '' : '-'}100%)`\n }\n ], {\n duration: duration,\n easing: easingEmphasized\n }));\n await Promise.all(animations);\n if (this.open) return;\n // 若位于 layout 中,则 drawer 动画结束后,移除 layout-main 的动画\n if (this.isParentLayout) setLayoutTransition(null);\n this.style.display = 'none';\n if (this.isModal && !this.contained) (0, $adc62e3a0f282822$export$9af88a20d52a352e)(this, this.lockTarget);\n // 抽屉栏关闭后,恢复焦点到原有的元素上\n const trigger = this.originalTrigger;\n if ((0, $d0cded150def05db$export$f6e2535fb5126e54)(trigger?.focus)) setTimeout(()=>trigger.focus());\n this.emit('closed');\n }\n }\n connectedCallback() {\n super.connectedCallback();\n this.modalHelper = new (0, $05d0a53b513f989a$export$2b77a92f1a5ad772)(this);\n this.definedController.whenDefined().then(()=>{\n this.setObserveResize();\n });\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n (0, $adc62e3a0f282822$export$9af88a20d52a352e)(this, this.lockTarget);\n this.observeResize?.unobserve();\n }\n firstUpdated(_changedProperties) {\n super.firstUpdated(_changedProperties);\n this.addEventListener('keydown', (event)=>{\n if (this.open && this.closeOnEsc && event.key === 'Escape' && this.isModal) {\n event.stopPropagation();\n this.open = false;\n }\n });\n }\n render() {\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`${(0, $1c93789365dd7e63$export$a55877ca9db47377)(this.isModal, ()=>(0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<div ${(0, $f322d22fead4969a$export$eff4d24c3ff7876e)(this.overlayRef)} part=\"overlay\" class=\"overlay\" @click=\"${this.onOverlayClick}\"></div>`)}<slot ${(0, $f322d22fead4969a$export$eff4d24c3ff7876e)(this.panelRef)} part=\"panel\" class=\"panel\" tabindex=\"0\"></slot>`;\n }\n setObserveResize() {\n this.observeResize = (0, $6deeb9ef1c73e593$export$3e59a5e1472e94f1)(this.contained ? this.parentElement : document.documentElement, ()=>{\n const target = this.contained ? this.parentElement : undefined;\n this.mobile = (0, $b22e21da55e74950$export$b5ef74bd35083b44)(target).down('md');\n // 若位于 layout 中,且为模态化,则重新布局时,占据的宽度为 0\n if (this.isParentLayout) this.layoutManager.updateLayout(this, {\n width: this.isModal ? 0 : undefined\n });\n });\n }\n onOverlayClick() {\n this.emit('overlay-click');\n if (this.closeOnOverlayClick) this.open = false;\n }\n getLockTargetAnimate(open, duration) {\n const paddingName = this.placement === 'right' ? 'paddingRight' : 'paddingLeft';\n const panelWidth = (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(this.panelRef.value).innerWidth() + 'px';\n return (0, $3362be994de5de48$export$3b755839a54e1bb0)(this.lockTarget, [\n {\n [paddingName]: open ? 0 : panelWidth\n },\n {\n [paddingName]: open ? panelWidth : 0\n }\n ], {\n duration: duration,\n easing: (0, $be740f6576951c5c$export$2bbf531f74195405)(this, 'emphasized'),\n fill: 'forwards'\n });\n }\n};\n$3dea5fc8fb03d694$export$427b161b9019194d.styles = [\n (0, $a1095454894349c1$export$7ef977f86985f711),\n (0, $b378ababbe6fa120$export$1d567c320f4763bc)\n];\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n], $3dea5fc8fb03d694$export$427b161b9019194d.prototype, \"open\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n], $3dea5fc8fb03d694$export$427b161b9019194d.prototype, \"modal\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b),\n attribute: 'close-on-esc'\n })\n], $3dea5fc8fb03d694$export$427b161b9019194d.prototype, \"closeOnEsc\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b),\n attribute: 'close-on-overlay-click'\n })\n], $3dea5fc8fb03d694$export$427b161b9019194d.prototype, \"closeOnOverlayClick\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n], $3dea5fc8fb03d694$export$427b161b9019194d.prototype, \"placement\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n], $3dea5fc8fb03d694$export$427b161b9019194d.prototype, \"contained\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n], $3dea5fc8fb03d694$export$427b161b9019194d.prototype, \"mobile\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $f12b6253cef59edc$export$3db5d71bdb2d5499)('contained', true)\n], $3dea5fc8fb03d694$export$427b161b9019194d.prototype, \"onContainedChange\", null);\n(0, $ceFTv.__decorate)([\n (0, $f12b6253cef59edc$export$3db5d71bdb2d5499)('placement', true)\n], $3dea5fc8fb03d694$export$427b161b9019194d.prototype, \"onPlacementChange\", null);\n(0, $ceFTv.__decorate)([\n (0, $f12b6253cef59edc$export$3db5d71bdb2d5499)('mobile', true),\n (0, $f12b6253cef59edc$export$3db5d71bdb2d5499)('modal', true)\n], $3dea5fc8fb03d694$export$427b161b9019194d.prototype, \"onMobileChange\", null);\n(0, $ceFTv.__decorate)([\n (0, $f12b6253cef59edc$export$3db5d71bdb2d5499)('open')\n], $3dea5fc8fb03d694$export$427b161b9019194d.prototype, \"onOpenChange\", null);\n$3dea5fc8fb03d694$export$427b161b9019194d = (0, $ceFTv.__decorate)([\n (0, $6eca265e3a72f146$export$da64fc29f17f9d0e)('mdui-navigation-drawer')\n], $3dea5fc8fb03d694$export$427b161b9019194d);\n\n\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\n\n\n\n/**\n * 如果同时有多个组件在同一个元素上设置了 padding-top 或 padding-bottom,则移除其中一个组件时,不移除 padding-top 或 padding-bottom\n * 键为添加 padding 的目标元素,值为在分别在 top 和 bottom 上添加的组件数组\n */ const $1191034a54592604$var$weakMap = new WeakMap();\nconst $1191034a54592604$export$8a19088925c5ac7a = (superclass)=>{\n class ScrollBehaviorMixinClass extends superclass {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(...args){\n super(...args);\n this.scrollBehaviorDefinedController = new (0, $29b950a65aaa366a$export$da3260c7a0861b80)(this, {\n needDomReady: true\n });\n /**\n * 上次滚动后,垂直方向的距离(滚动距离超过 scrollThreshold 才记录)\n */ this.lastScrollTopThreshold = 0;\n /**\n * 上次滚动后,垂直方向的距离(无视 scrollThreshold,始终记录)\n */ this.lastScrollTopNoThreshold = 0;\n /**\n * 父元素是否是 `mdui-layout`\n */ this.isParentLayout = false;\n this.onListeningScroll = this.onListeningScroll.bind(this);\n }\n /**\n * 滚动时,如果需要给 container 添加 padding,添加在顶部还是底部\n */ get scrollPaddingPosition() {\n throw new Error('Must implement scrollPaddingPosition getter');\n }\n async onScrollTargetChange(oldValue, newValue) {\n const hasUpdated = this.hasUpdated;\n await this.scrollBehaviorDefinedController.whenDefined();\n // 旧元素移除 padding,新元素添加 padding\n if (hasUpdated) {\n this.setContainerPadding('remove', oldValue);\n this.setContainerPadding('add', newValue);\n }\n if (!this.scrollBehavior) return;\n const oldListening = this.getListening(oldValue);\n if (oldListening) oldListening.removeEventListener('scroll', this.onListeningScroll);\n const newListening = this.getListening(newValue);\n if (newListening) {\n this.updateScrollTop(newListening);\n newListening.addEventListener('scroll', this.onListeningScroll);\n }\n }\n async onScrollBehaviorChange() {\n await this.scrollBehaviorDefinedController.whenDefined();\n const listening = this.getListening(this.scrollTarget);\n if (!listening) return;\n if (this.scrollBehavior) {\n this.updateScrollTop(listening);\n listening.addEventListener('scroll', this.onListeningScroll);\n } else listening.removeEventListener('scroll', this.onListeningScroll);\n }\n connectedCallback() {\n super.connectedCallback();\n this.scrollBehaviorDefinedController.whenDefined().then(()=>{\n this.isParentLayout = (0, $d0cded150def05db$export$40bcf76e2c1becc2)(this.parentElement, 'mdui-layout');\n this.setContainerPadding('add', this.scrollTarget);\n });\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.scrollBehaviorDefinedController.whenDefined().then(()=>{\n this.setContainerPadding('remove', this.scrollTarget);\n });\n }\n /**\n * scrollBehavior 包含多个滚动行为,用空格分割\n * 用该方法判断指定滚动行为是否在 scrollBehavior 中\n * @param behavior 为数组时,只要其中一个行为在 scrollBehavior 中,即返回 `true`\n */ hasScrollBehavior(behavior) {\n const behaviors = this.scrollBehavior?.split(' ') ?? [];\n if (Array.isArray(behavior)) return !!behaviors.filter((v)=>behavior.includes(v)).length;\n else return behaviors.includes(behavior);\n }\n /**\n * 执行滚动事件,在滚动距离超过 scrollThreshold 时才会执行\n * Note: 父类可以按需实现该方法\n * @param isScrollingUp 是否向上滚动\n * @param scrollTop 距离 scrollTarget 顶部的距离\n */ // eslint-disable-next-line @typescript-eslint/no-unused-vars\n runScrollThreshold(isScrollingUp, scrollTop) {\n return;\n }\n /**\n * 执行滚动事件,会无视 scrollThreshold,始终会执行\n * @param isScrollingUp 是否向上滚动\n * @param scrollTop 距离 scrollTarget 顶部的距离\n */ // eslint-disable-next-line @typescript-eslint/no-unused-vars\n runScrollNoThreshold(isScrollingUp, scrollTop) {\n return;\n }\n /**\n * 更新滚动容器的 padding,避免内容被 navigation-bar 覆盖\n * @param action 新增、更新、移除 padding\n * @param scrollTarget 在该元素上添加、更新或移除 padding\n */ setContainerPadding(action, scrollTarget) {\n const container = this.getContainer(scrollTarget);\n if (!container || this.isParentLayout) return;\n const position = this.scrollPaddingPosition;\n const propName = position === 'top' ? 'paddingTop' : 'paddingBottom';\n if (action === 'add' || action === 'update') {\n const propValue = [\n 'fixed',\n 'absolute'\n ].includes((0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(this).css('position')) ? this.offsetHeight : null;\n (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(container).css({\n [propName]: propValue\n });\n // 添加 padding 时,weakMap 中添加指定元素\n if (action === 'add' && propValue !== null) {\n const options = $1191034a54592604$var$weakMap.get(container) ?? {\n top: [],\n bottom: []\n };\n options[position].push(this);\n $1191034a54592604$var$weakMap.set(container, options);\n }\n }\n // 如果 weakMap 中指定元素的计数为 0,则移除 padding\n if (action === 'remove') {\n const options = $1191034a54592604$var$weakMap.get(container);\n if (!options) return;\n const index = options[position].indexOf(this);\n if (index > -1) {\n options[position].splice(index, 1);\n $1191034a54592604$var$weakMap.set(container, options);\n }\n if (!options[position].length) (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(container).css({\n [propName]: null\n });\n }\n }\n onListeningScroll() {\n const listening = this.getListening(this.scrollTarget);\n window.requestAnimationFrame(()=>this.onScroll(listening));\n }\n /**\n * 滚动事件,这里过滤掉不符合条件的滚动\n */ onScroll(listening) {\n const scrollTop = listening.scrollY ?? listening.scrollTop;\n // 无视 scrollThreshold 的回调\n if (this.lastScrollTopNoThreshold !== scrollTop) {\n this.runScrollNoThreshold(scrollTop < this.lastScrollTopNoThreshold, scrollTop);\n this.lastScrollTopNoThreshold = scrollTop;\n }\n // 滚动距离大于 scrollThreshold 时才执行的回调\n if (Math.abs(scrollTop - this.lastScrollTopThreshold) > (this.scrollThreshold || 0)) {\n this.runScrollThreshold(scrollTop < this.lastScrollTopThreshold, scrollTop);\n this.lastScrollTopThreshold = scrollTop;\n }\n }\n /**\n * 重新更新 lastScrollTopThreshold、lastScrollTopNoThreshold 的值\n * 用于在 scrollTarget、scrollBehavior 变更时,重新设置 lastScrollTopThreshold、lastScrollTopNoThreshold 的初始值\n */ updateScrollTop(listening) {\n this.lastScrollTopThreshold = this.lastScrollTopNoThreshold = listening.scrollY ?? listening.scrollTop;\n }\n /**\n * 获取组件需要监听哪个元素的滚动状态\n */ getListening(target) {\n return target ? (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(target)[0] : window;\n }\n /**\n * 获取组件在哪个容器内滚动\n */ getContainer(target) {\n return target ? (0, $b95421a1db56b097$export$3d8c2f653ac9d0b9)(target)[0] : document.body;\n }\n }\n (0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n attribute: 'scroll-target'\n })\n ], ScrollBehaviorMixinClass.prototype, \"scrollTarget\", void 0);\n (0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true,\n attribute: 'scroll-behavior'\n })\n ], ScrollBehaviorMixinClass.prototype, \"scrollBehavior\", void 0);\n (0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Number,\n reflect: true,\n attribute: 'scroll-threshold'\n })\n ], ScrollBehaviorMixinClass.prototype, \"scrollThreshold\", void 0);\n (0, $ceFTv.__decorate)([\n (0, $f12b6253cef59edc$export$3db5d71bdb2d5499)('scrollTarget')\n ], ScrollBehaviorMixinClass.prototype, \"onScrollTargetChange\", null);\n (0, $ceFTv.__decorate)([\n (0, $f12b6253cef59edc$export$3db5d71bdb2d5499)('scrollBehavior')\n ], ScrollBehaviorMixinClass.prototype, \"onScrollBehaviorChange\", null);\n return ScrollBehaviorMixinClass;\n};\n\n\n\n\nconst $3d1d3ee59e36548a$export$a51e9a3e0c6fd503 = (0, $0268acc93e67b930$export$dbf350e5966cf602)`:host{--shape-corner:var(--mdui-shape-corner-none);--z-index:2000;position:fixed;top:0;right:0;left:0;display:flex;flex:0 0 auto;align-items:flex-start;justify-content:flex-start;border-bottom-left-radius:var(--shape-corner);border-bottom-right-radius:var(--shape-corner);z-index:var(--z-index);transition:top var(--mdui-motion-duration-long2) var(--mdui-motion-easing-standard),height var(--mdui-motion-duration-long2) var(--mdui-motion-easing-standard),box-shadow var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear),background-color var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);padding:.75rem .5rem;height:4rem;background-color:rgb(var(--mdui-color-surface))}:host([scroll-target]:not([scroll-target=''])){position:absolute}:host([scroll-behavior~=shrink]){transition-duration:var(--mdui-motion-duration-short4)}:host([scrolling]){background-color:rgb(var(--mdui-color-surface-container));box-shadow:var(--mdui-elevation-level2)}::slotted(mdui-button-icon){color:rgb(var(--mdui-color-on-surface-variant));font-size:1.5rem}::slotted(mdui-button-icon:first-child){color:rgb(var(--mdui-color-on-surface))}::slotted(mdui-avatar){width:1.875rem;height:1.875rem;margin-top:.3125rem;margin-bottom:.3125rem}::slotted(*){flex-shrink:0}::slotted(:not(:last-child)){margin-right:.5rem}:host([variant=medium]){height:7rem}:host([variant=large]){height:9.5rem}:host([hide]:not([hide=false i])){transition-duration:var(--mdui-motion-duration-short4);top:-4.625rem}:host([hide][variant=medium]:not([hide=false i])){top:-7.625rem}:host([hide][variant=large]:not([hide=false i])){top:-10.125rem}:host([shrink][variant=large]:not([shrink=false i])),:host([shrink][variant=medium]:not([shrink=false i])){transition-duration:var(--mdui-motion-duration-short4);height:4rem}`;\n\n\n/**\n * @summary 顶部应用栏组件\n *\n * ```html\n * <mdui-top-app-bar>\n * ..<mdui-button-icon icon=\"menu\"></mdui-button-icon>\n * ..<mdui-top-app-bar-title>Title</mdui-top-app-bar-title>\n * ..<div style=\"flex-grow: 1\"></div>\n * ..<mdui-button-icon icon=\"more_vert\"></mdui-button-icon>\n * </mdui-top-app-bar>\n * ```\n *\n * @event show - 开始显示时,事件被触发。可以通过调用 `event.preventDefault()` 阻止显示\n * @event shown - 显示动画完成时,事件被触发\n * @event hide - 开始隐藏时,事件被触发。可以通过调用 `event.preventDefault()` 阻止隐藏\n * @event hidden - 隐藏动画完成时,事件被触发\n *\n * @slot - 顶部应用栏内部的元素\n *\n * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐引用[设计令牌](/docs/2/styles/design-tokens#shape-corner)\n * @cssprop --z-index - 组件的 CSS `z-index` 值\n */ let $c67bc3726066bba9$export$c9ed78ebba8e9631 = class TopAppBar extends (0, $1191034a54592604$export$8a19088925c5ac7a)((0, $8ae302ee2d72d2fb$export$b529af58a9865382)) {\n constructor(){\n super(...arguments);\n /**\n * 顶部应用栏的形状。默认为 `small`。可选值包括:\n *\n * * `center-aligned`:小型应用栏,标题居中\n * * `small`:小型应用栏\n * * `medium`:中型应用栏\n * * `large`:大型应用栏\n */ this.variant = 'small';\n /**\n * 是否隐藏\n */ this.hide = false;\n /**\n * 是否缩小为 `variant=\"small\"` 的样式,仅在 `variant=\"medium\"` 或 `variant=\"large\"` 时生效\n */ this.shrink = false;\n /**\n * 滚动条是否不位于顶部\n */ this.scrolling = false;\n }\n get scrollPaddingPosition() {\n return 'top';\n }\n get layoutPlacement() {\n return 'top';\n }\n async onVariantChange() {\n if (this.hasUpdated) // variant 变更时,重新为 scrollTargetContainer 元素添加 padding-top。避免 top-app-bar 覆盖内容\n this.addEventListener('transitionend', async ()=>{\n await this.scrollBehaviorDefinedController.whenDefined();\n this.setContainerPadding('update', this.scrollTarget);\n }, {\n once: true\n });\n else await this.updateComplete;\n this.titleElements.forEach((titleElement)=>{\n titleElement.variant = this.variant;\n });\n }\n async onShrinkChange() {\n if (!this.hasUpdated) await this.updateComplete;\n this.titleElements.forEach((titleElement)=>{\n titleElement.shrink = this.shrink;\n });\n }\n firstUpdated(_changedProperties) {\n super.firstUpdated(_changedProperties);\n this.addEventListener('transitionend', (e)=>{\n if (e.target === this) this.emit(this.hide ? 'hidden' : 'shown');\n });\n }\n render() {\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot></slot>`;\n }\n runScrollNoThreshold(isScrollingUp, scrollTop) {\n // 向上滚动到顶部时,复原(无视 scrollThreshold 属性,否则会无法复原)\n if (this.hasScrollBehavior('shrink')) // 到距离顶部 8px 即开始复原,显得灵敏些\n {\n if (isScrollingUp && scrollTop < 8) this.shrink = false;\n }\n }\n runScrollThreshold(isScrollingUp, scrollTop) {\n // 滚动时添加阴影\n if (this.hasScrollBehavior('elevate')) this.scrolling = !!scrollTop;\n // 向下滚动时,缩小\n if (this.hasScrollBehavior('shrink')) {\n if (!isScrollingUp) this.shrink = true;\n }\n // 滚动时隐藏\n if (this.hasScrollBehavior('hide')) {\n // 向下滚动\n if (!isScrollingUp && !this.hide) {\n const eventProceeded = this.emit('hide', {\n cancelable: true\n });\n if (eventProceeded) this.hide = true;\n }\n // 向上滚动\n if (isScrollingUp && this.hide) {\n const eventProceeded = this.emit('show', {\n cancelable: true\n });\n if (eventProceeded) this.hide = false;\n }\n }\n }\n};\n$c67bc3726066bba9$export$c9ed78ebba8e9631.styles = [\n (0, $a1095454894349c1$export$7ef977f86985f711),\n (0, $3d1d3ee59e36548a$export$a51e9a3e0c6fd503)\n];\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n], $c67bc3726066bba9$export$c9ed78ebba8e9631.prototype, \"variant\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n], $c67bc3726066bba9$export$c9ed78ebba8e9631.prototype, \"hide\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n], $c67bc3726066bba9$export$c9ed78ebba8e9631.prototype, \"shrink\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true,\n attribute: 'scroll-behavior'\n })\n], $c67bc3726066bba9$export$c9ed78ebba8e9631.prototype, \"scrollBehavior\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n], $c67bc3726066bba9$export$c9ed78ebba8e9631.prototype, \"scrolling\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $fd9f04ee645bb4e0$export$4682af2d9ee91415)({\n selector: 'mdui-top-app-bar-title',\n flatten: true\n })\n], $c67bc3726066bba9$export$c9ed78ebba8e9631.prototype, \"titleElements\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $f12b6253cef59edc$export$3db5d71bdb2d5499)('variant')\n], $c67bc3726066bba9$export$c9ed78ebba8e9631.prototype, \"onVariantChange\", null);\n(0, $ceFTv.__decorate)([\n (0, $f12b6253cef59edc$export$3db5d71bdb2d5499)('shrink')\n], $c67bc3726066bba9$export$c9ed78ebba8e9631.prototype, \"onShrinkChange\", null);\n$c67bc3726066bba9$export$c9ed78ebba8e9631 = (0, $ceFTv.__decorate)([\n (0, $6eca265e3a72f146$export$da64fc29f17f9d0e)('mdui-top-app-bar')\n], $c67bc3726066bba9$export$c9ed78ebba8e9631);\n\n\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\n\n\n\n/**\n * 获取一个 slot 中的所有内容\n * @param slot\n */ const $a8c8e3e6b9b14720$export$75c1bd9705271f92 = (slot)=>{\n const nodes = slot.assignedNodes({\n flatten: true\n });\n let html = '';\n [\n ...nodes\n ].forEach((node)=>{\n if (node.nodeType === Node.ELEMENT_NODE) html += node.outerHTML;\n if (node.nodeType === Node.TEXT_NODE) html += node.textContent;\n });\n return html;\n};\nconst $a8c8e3e6b9b14720$export$2447525283eda1f0 = (slot)=>{\n const nodes = slot.assignedNodes({\n flatten: true\n });\n let text = '';\n [\n ...nodes\n ].forEach((node)=>{\n if (node.nodeType === Node.TEXT_NODE) text += node.textContent;\n });\n return text;\n};\n\n\n\n\nconst $68f1d0c26504643c$export$7053b96d655bd551 = (0, $0268acc93e67b930$export$dbf350e5966cf602)`:host{display:block;width:100%;flex-shrink:initial!important;overflow:hidden;color:rgb(var(--mdui-color-on-surface));font-size:var(--mdui-typescale-title-large-size);font-weight:var(--mdui-typescale-title-large-weight);letter-spacing:var(--mdui-typescale-title-large-tracking);line-height:var(--mdui-typescale-title-large-line-height);line-height:2.5rem}.label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:1;transition:opacity var(--mdui-motion-duration-short2) var(--mdui-motion-easing-linear)}.label.variant-center-aligned{text-align:center}.label.variant-large:not(.shrink),.label.variant-medium:not(.shrink){opacity:0}.label.variant-large.shrink,.label.variant-medium.shrink{transition-delay:var(--mdui-motion-duration-short2)}.label-large{display:none;position:absolute;width:100%;left:0;margin-right:0;padding:0 1rem;transition:opacity var(--mdui-motion-duration-short2) var(--mdui-motion-easing-linear)}.label-large.variant-large,.label-large.variant-medium{display:block}.label-large.variant-medium{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;bottom:.75rem;font-size:var(--mdui-typescale-headline-small-size);font-weight:var(--mdui-typescale-headline-small-weight);letter-spacing:var(--mdui-typescale-headline-small-tracking);line-height:var(--mdui-typescale-headline-small-line-height)}.label-large.variant-large{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;bottom:1.25rem;font-size:var(--mdui-typescale-headline-medium-size);font-weight:var(--mdui-typescale-headline-medium-weight);letter-spacing:var(--mdui-typescale-headline-medium-tracking);line-height:var(--mdui-typescale-headline-medium-line-height)}.label-large.variant-large:not(.shrink),.label-large.variant-medium:not(.shrink){opacity:1;transition-delay:var(--mdui-motion-duration-short2)}.label-large.variant-large.shrink,.label-large.variant-medium.shrink{opacity:0;z-index:-1}`;\n\n\n/**\n * @summary 顶部应用栏标题组件。需配合 `<mdui-top-app-bar>` 组件使用\n *\n * ```html\n * <mdui-top-app-bar>\n * ..<mdui-button-icon icon=\"menu\"></mdui-button-icon>\n * ..<mdui-top-app-bar-title>Title</mdui-top-app-bar-title>\n * ..<div style=\"flex-grow: 1\"></div>\n * ..<mdui-button-icon icon=\"more_vert\"></mdui-button-icon>\n * </mdui-top-app-bar>\n * ```\n *\n * @slot - 顶部应用栏的标题文本\n * @slot label-large - 展开状态下的标题文本\n *\n * @csspart label 标题文本\n * @csspart label-large 展开状态下的标题文本\n */ let $e10de931c81a166e$export$79f45473995404a3 = class TopAppBarTitle extends (0, $53a1aafae9c6752a$export$9bb0a9faa319390c) {\n constructor(){\n super(...arguments);\n /**\n * 顶部应用栏形状。由 mdui-top-app-bar 组件控制该参数\n */ this.variant = 'small';\n /**\n * 是否缩小成 `variant=\"small\"` 的样式,仅在 `variant=\"medium\"` 或 `variant=\"large\"` 时生效。由 mdui-top-app-bar 组件控制该参数\n */ this.shrink = false;\n this.hasSlotController = new (0, $86ec33836cc10aec$export$34f6a5ffaa663541)(this, 'label-large');\n this.labelLargeRef = (0, $f322d22fead4969a$export$7d1e3a5e95ceca43)();\n this.defaultSlotRef = (0, $f322d22fead4969a$export$7d1e3a5e95ceca43)();\n }\n render() {\n const hasLabelLargeSlot = this.hasSlotController.test('label-large');\n const className = (0, $c9d15c868ac73f05$export$56cc687933817664)({\n shrink: this.shrink,\n 'variant-center-aligned': this.variant === 'center-aligned',\n 'variant-small': this.variant === 'small',\n 'variant-medium': this.variant === 'medium',\n 'variant-large': this.variant === 'large'\n });\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot part=\"label\" class=\"label ${className}\" ${(0, $f322d22fead4969a$export$eff4d24c3ff7876e)(this.defaultSlotRef)} @slotchange=\"${()=>this.onSlotChange(hasLabelLargeSlot)}\"></slot>${hasLabelLargeSlot ? (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot name=\"label-large\" part=\"label-large\" class=\"label-large ${className}\"></slot>` : (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<div ${(0, $f322d22fead4969a$export$eff4d24c3ff7876e)(this.labelLargeRef)} part=\"label-large\" class=\"label-large ${className}\"></div>`}`;\n }\n /**\n * default slot 变化时,同步到 label-large 中\n * @param hasLabelLargeSlot\n * @private\n */ onSlotChange(hasLabelLargeSlot) {\n if (!hasLabelLargeSlot) this.labelLargeRef.value.innerHTML = (0, $a8c8e3e6b9b14720$export$75c1bd9705271f92)(this.defaultSlotRef.value);\n }\n};\n$e10de931c81a166e$export$79f45473995404a3.styles = [\n (0, $a1095454894349c1$export$7ef977f86985f711),\n (0, $68f1d0c26504643c$export$7053b96d655bd551)\n];\n(0, $ceFTv.__decorate)([\n (0, $81aad1feed252031$export$ca000e230c0caa3e)()\n], $e10de931c81a166e$export$79f45473995404a3.prototype, \"variant\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $81aad1feed252031$export$ca000e230c0caa3e)()\n], $e10de931c81a166e$export$79f45473995404a3.prototype, \"shrink\", void 0);\n$e10de931c81a166e$export$79f45473995404a3 = (0, $ceFTv.__decorate)([\n (0, $6eca265e3a72f146$export$da64fc29f17f9d0e)('mdui-top-app-bar-title')\n], $e10de931c81a166e$export$79f45473995404a3);\n\n\n\n\nvar $da37ce670175a8d0$var$R = class {\n type = 3;\n name = \"\";\n prefix = \"\";\n value = \"\";\n suffix = \"\";\n modifier = 3;\n constructor(t, r, n, o, c, l){\n this.type = t, this.name = r, this.prefix = n, this.value = o, this.suffix = c, this.modifier = l;\n }\n hasCustomName() {\n return this.name !== \"\" && typeof this.name != \"number\";\n }\n}, $da37ce670175a8d0$var$be = /[$_\\p{ID_Start}]/u, $da37ce670175a8d0$var$Pe = /[$_\\u200C\\u200D\\p{ID_Continue}]/u, $da37ce670175a8d0$var$M = \".*\";\nfunction $da37ce670175a8d0$var$Re(e, t) {\n return (t ? /^[\\x00-\\xFF]*$/ : /^[\\x00-\\x7F]*$/).test(e);\n}\nfunction $da37ce670175a8d0$var$v(e, t = !1) {\n let r = [], n = 0;\n for(; n < e.length;){\n let o = e[n], c = function(l) {\n if (!t) throw new TypeError(l);\n r.push({\n type: \"INVALID_CHAR\",\n index: n,\n value: e[n++]\n });\n };\n if (o === \"*\") {\n r.push({\n type: \"ASTERISK\",\n index: n,\n value: e[n++]\n });\n continue;\n }\n if (o === \"+\" || o === \"?\") {\n r.push({\n type: \"OTHER_MODIFIER\",\n index: n,\n value: e[n++]\n });\n continue;\n }\n if (o === \"\\\\\") {\n r.push({\n type: \"ESCAPED_CHAR\",\n index: n++,\n value: e[n++]\n });\n continue;\n }\n if (o === \"{\") {\n r.push({\n type: \"OPEN\",\n index: n,\n value: e[n++]\n });\n continue;\n }\n if (o === \"}\") {\n r.push({\n type: \"CLOSE\",\n index: n,\n value: e[n++]\n });\n continue;\n }\n if (o === \":\") {\n let l = \"\", s = n + 1;\n for(; s < e.length;){\n let i = e.substr(s, 1);\n if (s === n + 1 && $da37ce670175a8d0$var$be.test(i) || s !== n + 1 && $da37ce670175a8d0$var$Pe.test(i)) {\n l += e[s++];\n continue;\n }\n break;\n }\n if (!l) {\n c(`Missing parameter name at ${n}`);\n continue;\n }\n r.push({\n type: \"NAME\",\n index: n,\n value: l\n }), n = s;\n continue;\n }\n if (o === \"(\") {\n let l = 1, s = \"\", i = n + 1, a = !1;\n if (e[i] === \"?\") {\n c(`Pattern cannot start with \"?\" at ${i}`);\n continue;\n }\n for(; i < e.length;){\n if (!$da37ce670175a8d0$var$Re(e[i], !1)) {\n c(`Invalid character '${e[i]}' at ${i}.`), a = !0;\n break;\n }\n if (e[i] === \"\\\\\") {\n s += e[i++] + e[i++];\n continue;\n }\n if (e[i] === \")\") {\n if (l--, l === 0) {\n i++;\n break;\n }\n } else if (e[i] === \"(\" && (l++, e[i + 1] !== \"?\")) {\n c(`Capturing groups are not allowed at ${i}`), a = !0;\n break;\n }\n s += e[i++];\n }\n if (a) continue;\n if (l) {\n c(`Unbalanced pattern at ${n}`);\n continue;\n }\n if (!s) {\n c(`Missing pattern at ${n}`);\n continue;\n }\n r.push({\n type: \"REGEX\",\n index: n,\n value: s\n }), n = i;\n continue;\n }\n r.push({\n type: \"CHAR\",\n index: n,\n value: e[n++]\n });\n }\n return r.push({\n type: \"END\",\n index: n,\n value: \"\"\n }), r;\n}\nfunction $da37ce670175a8d0$var$D(e, t = {}) {\n let r = $da37ce670175a8d0$var$v(e);\n t.delimiter ??= \"/#?\", t.prefixes ??= \"./\";\n let n = `[^${$da37ce670175a8d0$var$S(t.delimiter)}]+?`, o = [], c = 0, l = 0, s = \"\", i = new Set, a = (h)=>{\n if (l < r.length && r[l].type === h) return r[l++].value;\n }, f = ()=>a(\"OTHER_MODIFIER\") ?? a(\"ASTERISK\"), d = (h)=>{\n let u = a(h);\n if (u !== void 0) return u;\n let { type: p, index: A } = r[l];\n throw new TypeError(`Unexpected ${p} at ${A}, expected ${h}`);\n }, T = ()=>{\n let h = \"\", u;\n for(; u = a(\"CHAR\") ?? a(\"ESCAPED_CHAR\");)h += u;\n return h;\n }, Se = (h)=>h, L = t.encodePart || Se, I = \"\", U = (h)=>{\n I += h;\n }, $ = ()=>{\n I.length && (o.push(new $da37ce670175a8d0$var$R(3, \"\", \"\", L(I), \"\", 3)), I = \"\");\n }, V = (h, u, p, A, Y)=>{\n let g = 3;\n switch(Y){\n case \"?\":\n g = 1;\n break;\n case \"*\":\n g = 0;\n break;\n case \"+\":\n g = 2;\n break;\n }\n if (!u && !p && g === 3) {\n U(h);\n return;\n }\n if ($(), !u && !p) {\n if (!h) return;\n o.push(new $da37ce670175a8d0$var$R(3, \"\", \"\", L(h), \"\", g));\n return;\n }\n let m;\n p ? p === \"*\" ? m = $da37ce670175a8d0$var$M : m = p : m = n;\n let O = 2;\n m === n ? (O = 1, m = \"\") : m === $da37ce670175a8d0$var$M && (O = 0, m = \"\");\n let P;\n if (u ? P = u : p && (P = c++), i.has(P)) throw new TypeError(`Duplicate name '${P}'.`);\n i.add(P), o.push(new $da37ce670175a8d0$var$R(O, P, L(h), m, L(A), g));\n };\n for(; l < r.length;){\n let h = a(\"CHAR\"), u = a(\"NAME\"), p = a(\"REGEX\");\n if (!u && !p && (p = a(\"ASTERISK\")), u || p) {\n let g = h ?? \"\";\n t.prefixes.indexOf(g) === -1 && (U(g), g = \"\"), $();\n let m = f();\n V(g, u, p, \"\", m);\n continue;\n }\n let A = h ?? a(\"ESCAPED_CHAR\");\n if (A) {\n U(A);\n continue;\n }\n if (a(\"OPEN\")) {\n let g = T(), m = a(\"NAME\"), O = a(\"REGEX\");\n !m && !O && (O = a(\"ASTERISK\"));\n let P = T();\n d(\"CLOSE\");\n let xe = f();\n V(g, m, O, P, xe);\n continue;\n }\n $(), d(\"END\");\n }\n return o;\n}\nfunction $da37ce670175a8d0$var$S(e) {\n return e.replace(/([.+*?^${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\nfunction $da37ce670175a8d0$var$X(e) {\n return e && e.ignoreCase ? \"ui\" : \"u\";\n}\nfunction $da37ce670175a8d0$var$Z(e, t, r) {\n return $da37ce670175a8d0$var$F($da37ce670175a8d0$var$D(e, r), t, r);\n}\nfunction $da37ce670175a8d0$var$k(e) {\n switch(e){\n case 0:\n return \"*\";\n case 1:\n return \"?\";\n case 2:\n return \"+\";\n case 3:\n return \"\";\n }\n}\nfunction $da37ce670175a8d0$var$F(e, t, r = {}) {\n r.delimiter ??= \"/#?\", r.prefixes ??= \"./\", r.sensitive ??= !1, r.strict ??= !1, r.end ??= !0, r.start ??= !0, r.endsWith = \"\";\n let n = r.start ? \"^\" : \"\";\n for (let s of e){\n if (s.type === 3) {\n s.modifier === 3 ? n += $da37ce670175a8d0$var$S(s.value) : n += `(?:${$da37ce670175a8d0$var$S(s.value)})${$da37ce670175a8d0$var$k(s.modifier)}`;\n continue;\n }\n t && t.push(s.name);\n let i = `[^${$da37ce670175a8d0$var$S(r.delimiter)}]+?`, a = s.value;\n if (s.type === 1 ? a = i : s.type === 0 && (a = $da37ce670175a8d0$var$M), !s.prefix.length && !s.suffix.length) {\n s.modifier === 3 || s.modifier === 1 ? n += `(${a})${$da37ce670175a8d0$var$k(s.modifier)}` : n += `((?:${a})${$da37ce670175a8d0$var$k(s.modifier)})`;\n continue;\n }\n if (s.modifier === 3 || s.modifier === 1) {\n n += `(?:${$da37ce670175a8d0$var$S(s.prefix)}(${a})${$da37ce670175a8d0$var$S(s.suffix)})`, n += $da37ce670175a8d0$var$k(s.modifier);\n continue;\n }\n n += `(?:${$da37ce670175a8d0$var$S(s.prefix)}`, n += `((?:${a})(?:`, n += $da37ce670175a8d0$var$S(s.suffix), n += $da37ce670175a8d0$var$S(s.prefix), n += `(?:${a}))*)${$da37ce670175a8d0$var$S(s.suffix)})`, s.modifier === 0 && (n += \"?\");\n }\n let o = `[${$da37ce670175a8d0$var$S(r.endsWith)}]|$`, c = `[${$da37ce670175a8d0$var$S(r.delimiter)}]`;\n if (r.end) return r.strict || (n += `${c}?`), r.endsWith.length ? n += `(?=${o})` : n += \"$\", new RegExp(n, $da37ce670175a8d0$var$X(r));\n r.strict || (n += `(?:${c}(?=${o}))?`);\n let l = !1;\n if (e.length) {\n let s = e[e.length - 1];\n s.type === 3 && s.modifier === 3 && (l = r.delimiter.indexOf(s) > -1);\n }\n return l || (n += `(?=${c}|${o})`), new RegExp(n, $da37ce670175a8d0$var$X(r));\n}\nvar $da37ce670175a8d0$var$x = {\n delimiter: \"\",\n prefixes: \"\",\n sensitive: !0,\n strict: !0\n}, $da37ce670175a8d0$var$B = {\n delimiter: \".\",\n prefixes: \"\",\n sensitive: !0,\n strict: !0\n}, $da37ce670175a8d0$var$q = {\n delimiter: \"/\",\n prefixes: \"/\",\n sensitive: !0,\n strict: !0\n};\nfunction $da37ce670175a8d0$var$J(e, t) {\n return e.length ? e[0] === \"/\" ? !0 : !t || e.length < 2 ? !1 : (e[0] == \"\\\\\" || e[0] == \"{\") && e[1] == \"/\" : !1;\n}\nfunction $da37ce670175a8d0$var$Q(e, t) {\n return e.startsWith(t) ? e.substring(t.length, e.length) : e;\n}\nfunction $da37ce670175a8d0$var$Ee(e, t) {\n return e.endsWith(t) ? e.substr(0, e.length - t.length) : e;\n}\nfunction $da37ce670175a8d0$var$W(e) {\n return !e || e.length < 2 ? !1 : e[0] === \"[\" || (e[0] === \"\\\\\" || e[0] === \"{\") && e[1] === \"[\";\n}\nvar $da37ce670175a8d0$var$ee = [\n \"ftp\",\n \"file\",\n \"http\",\n \"https\",\n \"ws\",\n \"wss\"\n];\nfunction $da37ce670175a8d0$var$N(e) {\n if (!e) return !0;\n for (let t of $da37ce670175a8d0$var$ee)if (e.test(t)) return !0;\n return !1;\n}\nfunction $da37ce670175a8d0$var$te(e, t) {\n if (e = $da37ce670175a8d0$var$Q(e, \"#\"), t || e === \"\") return e;\n let r = new URL(\"https://example.com/");\n return r.hash = e, r.hash ? r.hash.substring(1, r.hash.length) : \"\";\n}\nfunction $da37ce670175a8d0$var$re(e, t) {\n if (e = $da37ce670175a8d0$var$Q(e, \"?\"), t || e === \"\") return e;\n let r = new URL(\"https://example.com/");\n return r.search = e, r.search ? r.search.substring(1, r.search.length) : \"\";\n}\nfunction $da37ce670175a8d0$var$ne(e, t) {\n return t || e === \"\" ? e : $da37ce670175a8d0$var$W(e) ? $da37ce670175a8d0$var$j(e) : $da37ce670175a8d0$var$z(e);\n}\nfunction $da37ce670175a8d0$var$se(e, t) {\n if (t || e === \"\") return e;\n let r = new URL(\"https://example.com/");\n return r.password = e, r.password;\n}\nfunction $da37ce670175a8d0$var$ie(e, t) {\n if (t || e === \"\") return e;\n let r = new URL(\"https://example.com/");\n return r.username = e, r.username;\n}\nfunction $da37ce670175a8d0$var$ae(e, t, r) {\n if (r || e === \"\") return e;\n if (t && !$da37ce670175a8d0$var$ee.includes(t)) return new URL(`${t}:${e}`).pathname;\n let n = e[0] == \"/\";\n return e = new URL(n ? e : \"/-\" + e, \"https://example.com/").pathname, n || (e = e.substring(2, e.length)), e;\n}\nfunction $da37ce670175a8d0$var$oe(e, t, r) {\n return $da37ce670175a8d0$var$_(t) === e && (e = \"\"), r || e === \"\" ? e : $da37ce670175a8d0$var$K(e);\n}\nfunction $da37ce670175a8d0$var$ce(e, t) {\n return e = $da37ce670175a8d0$var$Ee(e, \":\"), t || e === \"\" ? e : $da37ce670175a8d0$var$y(e);\n}\nfunction $da37ce670175a8d0$var$_(e) {\n switch(e){\n case \"ws\":\n case \"http\":\n return \"80\";\n case \"wws\":\n case \"https\":\n return \"443\";\n case \"ftp\":\n return \"21\";\n default:\n return \"\";\n }\n}\nfunction $da37ce670175a8d0$var$y(e) {\n if (e === \"\") return e;\n if (/^[-+.A-Za-z0-9]*$/.test(e)) return e.toLowerCase();\n throw new TypeError(`Invalid protocol '${e}'.`);\n}\nfunction $da37ce670175a8d0$var$le(e) {\n if (e === \"\") return e;\n let t = new URL(\"https://example.com/");\n return t.username = e, t.username;\n}\nfunction $da37ce670175a8d0$var$fe(e) {\n if (e === \"\") return e;\n let t = new URL(\"https://example.com/");\n return t.password = e, t.password;\n}\nfunction $da37ce670175a8d0$var$z(e) {\n if (e === \"\") return e;\n if (/[\\t\\n\\r #%/:<>?@[\\]^\\\\|]/g.test(e)) throw new TypeError(`Invalid hostname '${e}'`);\n let t = new URL(\"https://example.com/");\n return t.hostname = e, t.hostname;\n}\nfunction $da37ce670175a8d0$var$j(e) {\n if (e === \"\") return e;\n if (/[^0-9a-fA-F[\\]:]/g.test(e)) throw new TypeError(`Invalid IPv6 hostname '${e}'`);\n return e.toLowerCase();\n}\nfunction $da37ce670175a8d0$var$K(e) {\n if (e === \"\" || /^[0-9]*$/.test(e) && parseInt(e) <= 65535) return e;\n throw new TypeError(`Invalid port '${e}'.`);\n}\nfunction $da37ce670175a8d0$var$he(e) {\n if (e === \"\") return e;\n let t = new URL(\"https://example.com/");\n return t.pathname = e[0] !== \"/\" ? \"/-\" + e : e, e[0] !== \"/\" ? t.pathname.substring(2, t.pathname.length) : t.pathname;\n}\nfunction $da37ce670175a8d0$var$ue(e) {\n return e === \"\" ? e : new URL(`data:${e}`).pathname;\n}\nfunction $da37ce670175a8d0$var$de(e) {\n if (e === \"\") return e;\n let t = new URL(\"https://example.com/");\n return t.search = e, t.search.substring(1, t.search.length);\n}\nfunction $da37ce670175a8d0$var$pe(e) {\n if (e === \"\") return e;\n let t = new URL(\"https://example.com/");\n return t.hash = e, t.hash.substring(1, t.hash.length);\n}\nvar $da37ce670175a8d0$var$H = class {\n #i;\n #n = [];\n #t = {};\n #e = 0;\n #s = 1;\n #l = 0;\n #o = 0;\n #d = 0;\n #p = 0;\n #g = !1;\n constructor(t){\n this.#i = t;\n }\n get result() {\n return this.#t;\n }\n parse() {\n for(this.#n = $da37ce670175a8d0$var$v(this.#i, !0); this.#e < this.#n.length; this.#e += this.#s){\n if (this.#s = 1, this.#n[this.#e].type === \"END\") {\n if (this.#o === 0) {\n this.#b(), this.#f() ? this.#r(9, 1) : this.#h() ? this.#r(8, 1) : this.#r(7, 0);\n continue;\n } else if (this.#o === 2) {\n this.#u(5);\n continue;\n }\n this.#r(10, 0);\n break;\n }\n if (this.#d > 0) {\n if (this.#A()) this.#d -= 1;\n else continue;\n }\n if (this.#T()) {\n this.#d += 1;\n continue;\n }\n switch(this.#o){\n case 0:\n this.#P() && this.#u(1);\n break;\n case 1:\n if (this.#P()) {\n this.#C();\n let t = 7, r = 1;\n this.#E() ? (t = 2, r = 3) : this.#g && (t = 2), this.#r(t, r);\n }\n break;\n case 2:\n this.#S() ? this.#u(3) : (this.#x() || this.#h() || this.#f()) && this.#u(5);\n break;\n case 3:\n this.#O() ? this.#r(4, 1) : this.#S() && this.#r(5, 1);\n break;\n case 4:\n this.#S() && this.#r(5, 1);\n break;\n case 5:\n this.#y() ? this.#p += 1 : this.#w() && (this.#p -= 1), this.#k() && !this.#p ? this.#r(6, 1) : this.#x() ? this.#r(7, 0) : this.#h() ? this.#r(8, 1) : this.#f() && this.#r(9, 1);\n break;\n case 6:\n this.#x() ? this.#r(7, 0) : this.#h() ? this.#r(8, 1) : this.#f() && this.#r(9, 1);\n break;\n case 7:\n this.#h() ? this.#r(8, 1) : this.#f() && this.#r(9, 1);\n break;\n case 8:\n this.#f() && this.#r(9, 1);\n break;\n case 9:\n break;\n case 10:\n break;\n }\n }\n this.#t.hostname !== void 0 && this.#t.port === void 0 && (this.#t.port = \"\");\n }\n #r(t, r) {\n switch(this.#o){\n case 0:\n break;\n case 1:\n this.#t.protocol = this.#c();\n break;\n case 2:\n break;\n case 3:\n this.#t.username = this.#c();\n break;\n case 4:\n this.#t.password = this.#c();\n break;\n case 5:\n this.#t.hostname = this.#c();\n break;\n case 6:\n this.#t.port = this.#c();\n break;\n case 7:\n this.#t.pathname = this.#c();\n break;\n case 8:\n this.#t.search = this.#c();\n break;\n case 9:\n this.#t.hash = this.#c();\n break;\n case 10:\n break;\n }\n this.#o !== 0 && t !== 10 && ([\n 1,\n 2,\n 3,\n 4\n ].includes(this.#o) && [\n 6,\n 7,\n 8,\n 9\n ].includes(t) && (this.#t.hostname ??= \"\"), [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6\n ].includes(this.#o) && [\n 8,\n 9\n ].includes(t) && (this.#t.pathname ??= this.#g ? \"/\" : \"\"), [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7\n ].includes(this.#o) && t === 9 && (this.#t.search ??= \"\")), this.#R(t, r);\n }\n #R(t, r) {\n this.#o = t, this.#l = this.#e + r, this.#e += r, this.#s = 0;\n }\n #b() {\n this.#e = this.#l, this.#s = 0;\n }\n #u(t) {\n this.#b(), this.#o = t;\n }\n #m(t) {\n return t < 0 && (t = this.#n.length - t), t < this.#n.length ? this.#n[t] : this.#n[this.#n.length - 1];\n }\n #a(t, r) {\n let n = this.#m(t);\n return n.value === r && (n.type === \"CHAR\" || n.type === \"ESCAPED_CHAR\" || n.type === \"INVALID_CHAR\");\n }\n #P() {\n return this.#a(this.#e, \":\");\n }\n #E() {\n return this.#a(this.#e + 1, \"/\") && this.#a(this.#e + 2, \"/\");\n }\n #S() {\n return this.#a(this.#e, \"@\");\n }\n #O() {\n return this.#a(this.#e, \":\");\n }\n #k() {\n return this.#a(this.#e, \":\");\n }\n #x() {\n return this.#a(this.#e, \"/\");\n }\n #h() {\n if (this.#a(this.#e, \"?\")) return !0;\n if (this.#n[this.#e].value !== \"?\") return !1;\n let t = this.#m(this.#e - 1);\n return t.type !== \"NAME\" && t.type !== \"REGEX\" && t.type !== \"CLOSE\" && t.type !== \"ASTERISK\";\n }\n #f() {\n return this.#a(this.#e, \"#\");\n }\n #T() {\n return this.#n[this.#e].type == \"OPEN\";\n }\n #A() {\n return this.#n[this.#e].type == \"CLOSE\";\n }\n #y() {\n return this.#a(this.#e, \"[\");\n }\n #w() {\n return this.#a(this.#e, \"]\");\n }\n #c() {\n let t = this.#n[this.#e], r = this.#m(this.#l).index;\n return this.#i.substring(r, t.index);\n }\n #C() {\n let t = {};\n Object.assign(t, $da37ce670175a8d0$var$x), t.encodePart = $da37ce670175a8d0$var$y;\n let r = $da37ce670175a8d0$var$Z(this.#c(), void 0, t);\n this.#g = $da37ce670175a8d0$var$N(r);\n }\n};\nvar $da37ce670175a8d0$var$G = [\n \"protocol\",\n \"username\",\n \"password\",\n \"hostname\",\n \"port\",\n \"pathname\",\n \"search\",\n \"hash\"\n], $da37ce670175a8d0$var$E = \"*\";\nfunction $da37ce670175a8d0$var$ge(e, t) {\n if (typeof e != \"string\") throw new TypeError(\"parameter 1 is not of type 'string'.\");\n let r = new URL(e, t);\n return {\n protocol: r.protocol.substring(0, r.protocol.length - 1),\n username: r.username,\n password: r.password,\n hostname: r.hostname,\n port: r.port,\n pathname: r.pathname,\n search: r.search !== \"\" ? r.search.substring(1, r.search.length) : void 0,\n hash: r.hash !== \"\" ? r.hash.substring(1, r.hash.length) : void 0\n };\n}\nfunction $da37ce670175a8d0$var$b(e, t) {\n return t ? $da37ce670175a8d0$var$C(e) : e;\n}\nfunction $da37ce670175a8d0$var$w(e, t, r) {\n let n;\n if (typeof t.baseURL == \"string\") try {\n n = new URL(t.baseURL), t.protocol === void 0 && (e.protocol = $da37ce670175a8d0$var$b(n.protocol.substring(0, n.protocol.length - 1), r)), !r && t.protocol === void 0 && t.hostname === void 0 && t.port === void 0 && t.username === void 0 && (e.username = $da37ce670175a8d0$var$b(n.username, r)), !r && t.protocol === void 0 && t.hostname === void 0 && t.port === void 0 && t.username === void 0 && t.password === void 0 && (e.password = $da37ce670175a8d0$var$b(n.password, r)), t.protocol === void 0 && t.hostname === void 0 && (e.hostname = $da37ce670175a8d0$var$b(n.hostname, r)), t.protocol === void 0 && t.hostname === void 0 && t.port === void 0 && (e.port = $da37ce670175a8d0$var$b(n.port, r)), t.protocol === void 0 && t.hostname === void 0 && t.port === void 0 && t.pathname === void 0 && (e.pathname = $da37ce670175a8d0$var$b(n.pathname, r)), t.protocol === void 0 && t.hostname === void 0 && t.port === void 0 && t.pathname === void 0 && t.search === void 0 && (e.search = $da37ce670175a8d0$var$b(n.search.substring(1, n.search.length), r)), t.protocol === void 0 && t.hostname === void 0 && t.port === void 0 && t.pathname === void 0 && t.search === void 0 && t.hash === void 0 && (e.hash = $da37ce670175a8d0$var$b(n.hash.substring(1, n.hash.length), r));\n } catch {\n throw new TypeError(`invalid baseURL '${t.baseURL}'.`);\n }\n if (typeof t.protocol == \"string\" && (e.protocol = $da37ce670175a8d0$var$ce(t.protocol, r)), typeof t.username == \"string\" && (e.username = $da37ce670175a8d0$var$ie(t.username, r)), typeof t.password == \"string\" && (e.password = $da37ce670175a8d0$var$se(t.password, r)), typeof t.hostname == \"string\" && (e.hostname = $da37ce670175a8d0$var$ne(t.hostname, r)), typeof t.port == \"string\" && (e.port = $da37ce670175a8d0$var$oe(t.port, e.protocol, r)), typeof t.pathname == \"string\") {\n if (e.pathname = t.pathname, n && !$da37ce670175a8d0$var$J(e.pathname, r)) {\n let o = n.pathname.lastIndexOf(\"/\");\n o >= 0 && (e.pathname = $da37ce670175a8d0$var$b(n.pathname.substring(0, o + 1), r) + e.pathname);\n }\n e.pathname = $da37ce670175a8d0$var$ae(e.pathname, e.protocol, r);\n }\n return typeof t.search == \"string\" && (e.search = $da37ce670175a8d0$var$re(t.search, r)), typeof t.hash == \"string\" && (e.hash = $da37ce670175a8d0$var$te(t.hash, r)), e;\n}\nfunction $da37ce670175a8d0$var$C(e) {\n return e.replace(/([+*?:{}()\\\\])/g, \"\\\\$1\");\n}\nfunction $da37ce670175a8d0$var$Oe(e) {\n return e.replace(/([.+*?^${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\nfunction $da37ce670175a8d0$var$ke(e, t) {\n t.delimiter ??= \"/#?\", t.prefixes ??= \"./\", t.sensitive ??= !1, t.strict ??= !1, t.end ??= !0, t.start ??= !0, t.endsWith = \"\";\n let r = \".*\", n = `[^${$da37ce670175a8d0$var$Oe(t.delimiter)}]+?`, o = /[$_\\u200C\\u200D\\p{ID_Continue}]/u, c = \"\";\n for(let l = 0; l < e.length; ++l){\n let s = e[l];\n if (s.type === 3) {\n if (s.modifier === 3) {\n c += $da37ce670175a8d0$var$C(s.value);\n continue;\n }\n c += `{${$da37ce670175a8d0$var$C(s.value)}}${$da37ce670175a8d0$var$k(s.modifier)}`;\n continue;\n }\n let i = s.hasCustomName(), a = !!s.suffix.length || !!s.prefix.length && (s.prefix.length !== 1 || !t.prefixes.includes(s.prefix)), f = l > 0 ? e[l - 1] : null, d = l < e.length - 1 ? e[l + 1] : null;\n if (!a && i && s.type === 1 && s.modifier === 3 && d && !d.prefix.length && !d.suffix.length) {\n if (d.type === 3) {\n let T = d.value.length > 0 ? d.value[0] : \"\";\n a = o.test(T);\n } else a = !d.hasCustomName();\n }\n if (!a && !s.prefix.length && f && f.type === 3) {\n let T = f.value[f.value.length - 1];\n a = t.prefixes.includes(T);\n }\n a && (c += \"{\"), c += $da37ce670175a8d0$var$C(s.prefix), i && (c += `:${s.name}`), s.type === 2 ? c += `(${s.value})` : s.type === 1 ? i || (c += `(${n})`) : s.type === 0 && (!i && (!f || f.type === 3 || f.modifier !== 3 || a || s.prefix !== \"\") ? c += \"*\" : c += `(${r})`), s.type === 1 && i && s.suffix.length && o.test(s.suffix[0]) && (c += \"\\\\\"), c += $da37ce670175a8d0$var$C(s.suffix), a && (c += \"}\"), s.modifier !== 3 && (c += $da37ce670175a8d0$var$k(s.modifier));\n }\n return c;\n}\nvar $da37ce670175a8d0$export$a348b14d2b61192c = class {\n #i;\n #n = {};\n #t = {};\n #e = {};\n #s = {};\n #l = !1;\n constructor(t = {}, r, n){\n try {\n let o;\n if (typeof r == \"string\" ? o = r : n = r, typeof t == \"string\") {\n let i = new $da37ce670175a8d0$var$H(t);\n if (i.parse(), t = i.result, o === void 0 && typeof t.protocol != \"string\") throw new TypeError(\"A base URL must be provided for a relative constructor string.\");\n t.baseURL = o;\n } else {\n if (!t || typeof t != \"object\") throw new TypeError(\"parameter 1 is not of type 'string' and cannot convert to dictionary.\");\n if (o) throw new TypeError(\"parameter 1 is not of type 'string'.\");\n }\n typeof n > \"u\" && (n = {\n ignoreCase: !1\n });\n let c = {\n ignoreCase: n.ignoreCase === !0\n }, l = {\n pathname: $da37ce670175a8d0$var$E,\n protocol: $da37ce670175a8d0$var$E,\n username: $da37ce670175a8d0$var$E,\n password: $da37ce670175a8d0$var$E,\n hostname: $da37ce670175a8d0$var$E,\n port: $da37ce670175a8d0$var$E,\n search: $da37ce670175a8d0$var$E,\n hash: $da37ce670175a8d0$var$E\n };\n this.#i = $da37ce670175a8d0$var$w(l, t, !0), $da37ce670175a8d0$var$_(this.#i.protocol) === this.#i.port && (this.#i.port = \"\");\n let s;\n for (s of $da37ce670175a8d0$var$G){\n if (!(s in this.#i)) continue;\n let i = {}, a = this.#i[s];\n switch(this.#t[s] = [], s){\n case \"protocol\":\n Object.assign(i, $da37ce670175a8d0$var$x), i.encodePart = $da37ce670175a8d0$var$y;\n break;\n case \"username\":\n Object.assign(i, $da37ce670175a8d0$var$x), i.encodePart = $da37ce670175a8d0$var$le;\n break;\n case \"password\":\n Object.assign(i, $da37ce670175a8d0$var$x), i.encodePart = $da37ce670175a8d0$var$fe;\n break;\n case \"hostname\":\n Object.assign(i, $da37ce670175a8d0$var$B), $da37ce670175a8d0$var$W(a) ? i.encodePart = $da37ce670175a8d0$var$j : i.encodePart = $da37ce670175a8d0$var$z;\n break;\n case \"port\":\n Object.assign(i, $da37ce670175a8d0$var$x), i.encodePart = $da37ce670175a8d0$var$K;\n break;\n case \"pathname\":\n $da37ce670175a8d0$var$N(this.#n.protocol) ? (Object.assign(i, $da37ce670175a8d0$var$q, c), i.encodePart = $da37ce670175a8d0$var$he) : (Object.assign(i, $da37ce670175a8d0$var$x, c), i.encodePart = $da37ce670175a8d0$var$ue);\n break;\n case \"search\":\n Object.assign(i, $da37ce670175a8d0$var$x, c), i.encodePart = $da37ce670175a8d0$var$de;\n break;\n case \"hash\":\n Object.assign(i, $da37ce670175a8d0$var$x, c), i.encodePart = $da37ce670175a8d0$var$pe;\n break;\n }\n try {\n this.#s[s] = $da37ce670175a8d0$var$D(a, i), this.#n[s] = $da37ce670175a8d0$var$F(this.#s[s], this.#t[s], i), this.#e[s] = $da37ce670175a8d0$var$ke(this.#s[s], i), this.#l = this.#l || this.#s[s].some((f)=>f.type === 2);\n } catch {\n throw new TypeError(`invalid ${s} pattern '${this.#i[s]}'.`);\n }\n }\n } catch (o) {\n throw new TypeError(`Failed to construct 'URLPattern': ${o.message}`);\n }\n }\n test(t = {}, r) {\n let n = {\n pathname: \"\",\n protocol: \"\",\n username: \"\",\n password: \"\",\n hostname: \"\",\n port: \"\",\n search: \"\",\n hash: \"\"\n };\n if (typeof t != \"string\" && r) throw new TypeError(\"parameter 1 is not of type 'string'.\");\n if (typeof t > \"u\") return !1;\n try {\n typeof t == \"object\" ? n = $da37ce670175a8d0$var$w(n, t, !1) : n = $da37ce670175a8d0$var$w(n, $da37ce670175a8d0$var$ge(t, r), !1);\n } catch {\n return !1;\n }\n let o;\n for (o of $da37ce670175a8d0$var$G)if (!this.#n[o].exec(n[o])) return !1;\n return !0;\n }\n exec(t = {}, r) {\n let n = {\n pathname: \"\",\n protocol: \"\",\n username: \"\",\n password: \"\",\n hostname: \"\",\n port: \"\",\n search: \"\",\n hash: \"\"\n };\n if (typeof t != \"string\" && r) throw new TypeError(\"parameter 1 is not of type 'string'.\");\n if (typeof t > \"u\") return;\n try {\n typeof t == \"object\" ? n = $da37ce670175a8d0$var$w(n, t, !1) : n = $da37ce670175a8d0$var$w(n, $da37ce670175a8d0$var$ge(t, r), !1);\n } catch {\n return null;\n }\n let o = {};\n r ? o.inputs = [\n t,\n r\n ] : o.inputs = [\n t\n ];\n let c;\n for (c of $da37ce670175a8d0$var$G){\n let l = this.#n[c].exec(n[c]);\n if (!l) return null;\n let s = {};\n for (let [i, a] of this.#t[c].entries())if (typeof a == \"string\" || typeof a == \"number\") {\n let f = l[i + 1];\n s[a] = f;\n }\n o[c] = {\n input: n[c] ?? \"\",\n groups: s\n };\n }\n return o;\n }\n static compareComponent(t, r, n) {\n let o = (i, a)=>{\n for (let f of [\n \"type\",\n \"modifier\",\n \"prefix\",\n \"value\",\n \"suffix\"\n ]){\n if (i[f] < a[f]) return -1;\n if (i[f] === a[f]) continue;\n return 1;\n }\n return 0;\n }, c = new $da37ce670175a8d0$var$R(3, \"\", \"\", \"\", \"\", 3), l = new $da37ce670175a8d0$var$R(0, \"\", \"\", \"\", \"\", 3), s = (i, a)=>{\n let f = 0;\n for(; f < Math.min(i.length, a.length); ++f){\n let d = o(i[f], a[f]);\n if (d) return d;\n }\n return i.length === a.length ? 0 : o(i[f] ?? c, a[f] ?? c);\n };\n return !r.#e[t] && !n.#e[t] ? 0 : r.#e[t] && !n.#e[t] ? s(r.#s[t], [\n l\n ]) : !r.#e[t] && n.#e[t] ? s([\n l\n ], n.#s[t]) : s(r.#s[t], n.#s[t]);\n }\n get protocol() {\n return this.#e.protocol;\n }\n get username() {\n return this.#e.username;\n }\n get password() {\n return this.#e.password;\n }\n get hostname() {\n return this.#e.hostname;\n }\n get port() {\n return this.#e.port;\n }\n get pathname() {\n return this.#e.pathname;\n }\n get search() {\n return this.#e.search;\n }\n get hash() {\n return this.#e.hash;\n }\n get hasRegExpGroups() {\n return this.#l;\n }\n};\n\n\nif (!globalThis.URLPattern) globalThis.URLPattern = (0, $da37ce670175a8d0$export$a348b14d2b61192c);\n\n\n\nvar $kYZOD = parcelRequire(\"kYZOD\");\n\nvar $kpaC8 = parcelRequire(\"kpaC8\");\n\n\n\nvar $kpaC8 = parcelRequire(\"kpaC8\");\n\nvar $kYZOD = parcelRequire(\"kYZOD\");\n\nfunction $fa22c075827e0c31$var$$parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) return;\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n return dest;\n}\nfunction $fa22c075827e0c31$var$$parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {\n get: v,\n set: s,\n enumerable: true,\n configurable: true\n });\n}\nvar $fa22c075827e0c31$var$$d4436c849e74ae70$exports = {};\n$fa22c075827e0c31$var$$parcel$export($fa22c075827e0c31$var$$d4436c849e74ae70$exports, \"AnimateCSS\", function() {\n return $fa22c075827e0c31$export$2e9a7bb10257a509;\n});\nvar $fa22c075827e0c31$var$$0c03e47eb1097734$exports = {};\n$fa22c075827e0c31$var$$parcel$export($fa22c075827e0c31$var$$0c03e47eb1097734$exports, \"observer\", function() {\n return $fa22c075827e0c31$export$b6ae1bc530f4c149;\n});\n$fa22c075827e0c31$var$$parcel$export($fa22c075827e0c31$var$$0c03e47eb1097734$exports, \"attribute\", function() {\n return $fa22c075827e0c31$export$af4b9a83f4b00434;\n});\n$fa22c075827e0c31$var$$parcel$export($fa22c075827e0c31$var$$0c03e47eb1097734$exports, \"reaction\", function() {\n return $fa22c075827e0c31$export$7203b476385689ae;\n});\nvar $fa22c075827e0c31$var$$552a56cc5ff3f479$exports = {};\n$fa22c075827e0c31$var$$parcel$export($fa22c075827e0c31$var$$552a56cc5ff3f479$exports, \"Defer\", function() {\n return $fa22c075827e0c31$export$c7e91f8aec23ae14;\n});\n$fa22c075827e0c31$var$$parcel$export($fa22c075827e0c31$var$$552a56cc5ff3f479$exports, \"getMobxData\", function() {\n return $fa22c075827e0c31$export$b06b4c21253e26e2;\n});\n$fa22c075827e0c31$var$$parcel$export($fa22c075827e0c31$var$$552a56cc5ff3f479$exports, \"animated\", function() {\n return $fa22c075827e0c31$export$4077c0dfbe9c3861;\n});\nclass $fa22c075827e0c31$export$c7e91f8aec23ae14 {\n constructor(){\n Object.defineProperty(this, \"resolve\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"reject\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"promise\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new Promise((resolve, reject)=>{\n this.resolve = resolve;\n this.reject = reject;\n })\n });\n }\n}\nfunction $fa22c075827e0c31$export$b06b4c21253e26e2(observable) {\n var _a;\n for (const key of Object.getOwnPropertySymbols(observable)){\n const store = (_a = observable[key]) === null || _a === void 0 ? void 0 : _a.values_;\n if (store instanceof Map) return Object.fromEntries(Array.from(store, ([key, { value_: value_ }])=>[\n key,\n value_\n ]));\n }\n}\nconst $fa22c075827e0c31$export$4077c0dfbe9c3861 = (root, targetSelector)=>new Promise((resolve)=>{\n const ended = (0, $kYZOD.delegate)(targetSelector, (event)=>{\n root.removeEventListener('animationend', ended);\n root.removeEventListener('animationcancel', ended);\n resolve(event);\n });\n root.addEventListener('animationend', ended);\n root.addEventListener('animationcancel', ended);\n });\nvar $fa22c075827e0c31$var$$0c03e47eb1097734$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nfunction $fa22c075827e0c31$var$$0c03e47eb1097734$var$wrapFunction(func) {\n const renderer = new (0, $6cc92a54d783d8e3$exports.DOMRenderer)();\n return (props)=>{\n let tree = func(props), root;\n if (!(0, $6cc92a54d783d8e3$exports.VNode).isFragment(tree)) {\n const disposer = (0, $kpaC8.autorun)(()=>{\n tree = func(props);\n if (tree && root) renderer.patch((0, $6cc92a54d783d8e3$exports.VNode).fromDOM(root), tree);\n });\n const { ref: ref } = tree;\n tree.ref = (node)=>{\n if (node) root = node;\n else disposer();\n ref === null || ref === void 0 || ref(node);\n };\n }\n return tree;\n };\n}\nconst $fa22c075827e0c31$var$$0c03e47eb1097734$var$reactionMap = new WeakMap();\nfunction $fa22c075827e0c31$var$$0c03e47eb1097734$var$wrapClass(Component) {\n var _ObserverComponent_instances, _ObserverComponent_boot;\n class ObserverComponent extends Component {\n get props() {\n return $fa22c075827e0c31$export$b06b4c21253e26e2(this);\n }\n constructor(){\n super();\n _ObserverComponent_instances.add(this);\n Object.defineProperty(this, \"disposers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"update\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ()=>{\n const { update: update } = Object.getPrototypeOf(this);\n return new Promise((resolve)=>this.disposers.push((0, $kpaC8.autorun)(()=>update.call(this).then(resolve))));\n }\n });\n Promise.resolve().then(()=>$fa22c075827e0c31$var$$0c03e47eb1097734$var$__classPrivateFieldGet(this, _ObserverComponent_instances, \"m\", _ObserverComponent_boot).call(this));\n }\n disconnectedCallback() {\n var _a;\n for (const disposer of this.disposers)disposer();\n this.disposers.length = 0;\n (_a = super['disconnectedCallback']) === null || _a === void 0 || _a.call(this);\n }\n setAttribute(name, value) {\n const old = super.getAttribute(name), names = this.constructor['observedAttributes'];\n super.setAttribute(name, value);\n if (names.includes(name)) this.attributeChangedCallback(name, old, value);\n }\n attributeChangedCallback(name, old, value) {\n var _a;\n this[(0, $kYZOD.toCamelCase)(name)] = (0, $kYZOD.parseJSON)(value);\n (_a = super['attributeChangedCallback']) === null || _a === void 0 || _a.call(this, name, old, value);\n }\n syncPropAttr(name) {\n var _a;\n let value = this[(0, $kYZOD.toCamelCase)(name)];\n if (!(value != null) || value === false) return this.removeAttribute(name);\n value = value === true ? name : value;\n if (typeof value === 'object') {\n value = (_a = value.toJSON) === null || _a === void 0 ? void 0 : _a.call(value);\n value = typeof value === 'object' ? JSON.stringify(value) : value;\n }\n super.setAttribute(name, value);\n }\n }\n _ObserverComponent_instances = new WeakSet(), _ObserverComponent_boot = function _ObserverComponent_boot() {\n const names = this.constructor['observedAttributes'] || [], reactions = $fa22c075827e0c31$var$$0c03e47eb1097734$var$reactionMap.get(this) || [];\n this.disposers.push(...names.map((name)=>(0, $kpaC8.autorun)(()=>this.syncPropAttr(name))), ...reactions.map(({ expression: expression, effect: effect })=>(0, $kpaC8.reaction)((reaction)=>expression(this, reaction), effect.bind(this))));\n };\n Object.defineProperty(ObserverComponent, \"observedAttributes\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n return ObserverComponent;\n}\nfunction $fa22c075827e0c31$export$b6ae1bc530f4c149(func, _) {\n return (0, $kYZOD.isHTMLElementClass)(func) ? $fa22c075827e0c31$var$$0c03e47eb1097734$var$wrapClass(func) : $fa22c075827e0c31$var$$0c03e47eb1097734$var$wrapFunction(func);\n}\nfunction $fa22c075827e0c31$export$af4b9a83f4b00434(_, { name: name, addInitializer: addInitializer }) {\n addInitializer(function() {\n const names = this.constructor['observedAttributes'], attribute = (0, $kYZOD.toHyphenCase)(name.toString());\n if (!names.includes(attribute)) names.push(attribute);\n });\n}\nfunction $fa22c075827e0c31$export$7203b476385689ae(expression) {\n return (effect, { addInitializer: addInitializer })=>addInitializer(function() {\n const reactions = $fa22c075827e0c31$var$$0c03e47eb1097734$var$reactionMap.get(this) || [];\n reactions.push({\n expression: expression,\n effect: effect\n });\n $fa22c075827e0c31$var$$0c03e47eb1097734$var$reactionMap.set(this, reactions);\n });\n}\nvar $fa22c075827e0c31$var$$317b1f21909c74b8$exports = {};\n$fa22c075827e0c31$var$$parcel$export($fa22c075827e0c31$var$$317b1f21909c74b8$exports, \"component\", function() {\n return $fa22c075827e0c31$export$d8556a2a8f973135;\n});\n$fa22c075827e0c31$var$$parcel$export($fa22c075827e0c31$var$$317b1f21909c74b8$exports, \"on\", function() {\n return $fa22c075827e0c31$export$af631764ddc44097;\n});\nconst $fa22c075827e0c31$var$$317b1f21909c74b8$var$eventMap = new WeakMap();\nfunction $fa22c075827e0c31$export$d8556a2a8f973135(meta) {\n return (Class, { addInitializer: addInitializer })=>{\n class RendererComponent extends Class {\n get root() {\n return this.shadowRoot || this.internals.shadowRoot || this;\n }\n constructor(){\n var _a;\n super();\n Object.defineProperty(this, \"internals\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: this.tagName.includes('-') ? this.attachInternals() : undefined\n });\n Object.defineProperty(this, \"renderer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new (0, $6cc92a54d783d8e3$exports.DOMRenderer)()\n });\n Object.defineProperty(this, \"mounted\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n if (meta.mode && !((_a = this.internals) === null || _a === void 0 ? void 0 : _a.shadowRoot)) this.attachShadow(meta);\n }\n async connectedCallback() {\n var _a, _b;\n const { mode: mode } = meta;\n const renderChildren = !(mode != null);\n const { root: root } = this, events = $fa22c075827e0c31$var$$317b1f21909c74b8$var$eventMap.get(this) || [];\n for (const { type: type, selector: selector, handler: handler } of events){\n if (renderChildren && /^:host/.test(selector)) console.warn(`[WebCell] DOM Event delegation of \"${selector}\" won't work if you don't invoke \"this.attachShadow()\" manually.`);\n root.addEventListener(type, handler);\n }\n (_a = super['connectedCallback']) === null || _a === void 0 || _a.call(this);\n if (this.mounted) return;\n await this.update();\n this.mounted = true;\n (_b = this.mountedCallback) === null || _b === void 0 || _b.call(this);\n }\n updateDOM(content) {\n var _a, _b;\n const result = this.renderer.render(content, this.root, meta.renderMode);\n return result instanceof Promise ? result.then((_a = this.updatedCallback) === null || _a === void 0 ? void 0 : _a.bind(this)) : (_b = this.updatedCallback) === null || _b === void 0 ? void 0 : _b.call(this);\n }\n async update() {\n var _a;\n const vNode = (_a = this.render) === null || _a === void 0 ? void 0 : _a.call(this);\n const content = (0, $kYZOD.isEmpty)(vNode) ? meta.mode ? (0, $957cf12c60d95319$exports.jsx)(\"slot\", {}) : null : vNode;\n if (!(content != null)) return;\n if (!meta.transitible || typeof document.startViewTransition !== 'function') return this.updateDOM(content);\n const { updateCallbackDone: updateCallbackDone, finished: finished } = document.startViewTransition(()=>this.updateDOM(content));\n try {\n await finished;\n } catch (_b) {\n return updateCallbackDone;\n }\n }\n disconnectedCallback() {\n var _a;\n const { root: root } = this, events = $fa22c075827e0c31$var$$317b1f21909c74b8$var$eventMap.get(this) || [];\n for (const { type: type, handler: handler } of events)root.removeEventListener(type, handler);\n (_a = super['disconnectedCallback']) === null || _a === void 0 || _a.call(this);\n }\n emit(event, detail, { cancelable: cancelable, bubbles: bubbles, composed: composed } = {}) {\n return this.dispatchEvent(new CustomEvent(event, {\n detail: detail,\n cancelable: cancelable,\n bubbles: bubbles,\n composed: composed\n }));\n }\n }\n addInitializer(function() {\n var _a;\n (_a = globalThis.customElements) === null || _a === void 0 || _a.define(meta.tagName, this, meta);\n });\n return RendererComponent;\n };\n}\nfunction $fa22c075827e0c31$export$af631764ddc44097(type, selector) {\n return (method, { addInitializer: addInitializer })=>addInitializer(function() {\n const events = $fa22c075827e0c31$var$$317b1f21909c74b8$var$eventMap.get(this) || [], handler = (0, $kYZOD.delegate)(selector, method.bind(this));\n events.push({\n type: type,\n selector: selector,\n handler: handler\n });\n $fa22c075827e0c31$var$$317b1f21909c74b8$var$eventMap.set(this, events);\n });\n}\nvar $fa22c075827e0c31$var$$819b340f625a29f4$exports = {};\nvar $fa22c075827e0c31$var$$d4436c849e74ae70$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $fa22c075827e0c31$var$$d4436c849e74ae70$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $fa22c075827e0c31$var$$d4436c849e74ae70$var$__setFunctionName = function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $fa22c075827e0c31$var$$d4436c849e74ae70$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $fa22c075827e0c31$var$$d4436c849e74ae70$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $fa22c075827e0c31$export$2e9a7bb10257a509 = (()=>{\n var _AnimateCSS_type_accessor_storage, _AnimateCSS_playing_accessor_storage;\n let _classDecorators = [\n $fa22c075827e0c31$export$d8556a2a8f973135({\n tagName: 'animation-css'\n }),\n $fa22c075827e0c31$export$b6ae1bc530f4c149\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _playing_decorators;\n let _playing_initializers = [];\n let _playing_extraInitializers = [];\n let _typeChanged_decorators;\n var AnimateCSS = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _AnimateCSS_type_accessor_storage.set(this, ($fa22c075827e0c31$var$$d4436c849e74ae70$var$__runInitializers(this, _instanceExtraInitializers), $fa22c075827e0c31$var$$d4436c849e74ae70$var$__runInitializers(this, _type_initializers, void 0)));\n _AnimateCSS_playing_accessor_storage.set(this, ($fa22c075827e0c31$var$$d4436c849e74ae70$var$__runInitializers(this, _type_extraInitializers), $fa22c075827e0c31$var$$d4436c849e74ae70$var$__runInitializers(this, _playing_initializers, false)));\n Object.defineProperty(this, \"component\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: $fa22c075827e0c31$var$$d4436c849e74ae70$var$__runInitializers(this, _playing_extraInitializers)\n });\n }\n get type() {\n return $fa22c075827e0c31$var$$d4436c849e74ae70$var$__classPrivateFieldGet(this, _AnimateCSS_type_accessor_storage, \"f\");\n }\n set type(value) {\n $fa22c075827e0c31$var$$d4436c849e74ae70$var$__classPrivateFieldSet(this, _AnimateCSS_type_accessor_storage, value, \"f\");\n }\n get playing() {\n return $fa22c075827e0c31$var$$d4436c849e74ae70$var$__classPrivateFieldGet(this, _AnimateCSS_playing_accessor_storage, \"f\");\n }\n set playing(value) {\n $fa22c075827e0c31$var$$d4436c849e74ae70$var$__classPrivateFieldSet(this, _AnimateCSS_playing_accessor_storage, value, \"f\");\n }\n async connectedCallback() {\n await (0, $kYZOD.importCSS)('https://unpkg.com/animate.css@4/animate.min.css');\n this.typeChanged();\n }\n async typeChanged() {\n this.playing = true;\n await $fa22c075827e0c31$export$4077c0dfbe9c3861(this, '.animate__animated');\n this.playing = false;\n }\n render() {\n const { type: type, playing: playing, component: Tag } = this;\n return playing ? (0, $957cf12c60d95319$exports.jsx)(Tag, {\n className: `animate__animated animate__${type}`\n }) : type.includes('Out') ? (0, $957cf12c60d95319$exports.jsx)((0, $957cf12c60d95319$exports.Fragment), {}) : (0, $957cf12c60d95319$exports.jsx)(Tag, {});\n }\n };\n _AnimateCSS_type_accessor_storage = new WeakMap();\n _AnimateCSS_playing_accessor_storage = new WeakMap();\n $fa22c075827e0c31$var$$d4436c849e74ae70$var$__setFunctionName(_classThis, \"AnimateCSS\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _type_decorators = [\n $fa22c075827e0c31$export$af4b9a83f4b00434,\n (0, $kpaC8.observable)\n ];\n _playing_decorators = [\n $fa22c075827e0c31$export$af4b9a83f4b00434,\n (0, $kpaC8.observable)\n ];\n _typeChanged_decorators = [\n $fa22c075827e0c31$export$7203b476385689ae(({ type: type })=>type)\n ];\n $fa22c075827e0c31$var$$d4436c849e74ae70$var$__esDecorate(_classThis, null, _type_decorators, {\n kind: \"accessor\",\n name: \"type\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"type\" in obj,\n get: (obj)=>obj.type,\n set: (obj, value)=>{\n obj.type = value;\n }\n },\n metadata: _metadata\n }, _type_initializers, _type_extraInitializers);\n $fa22c075827e0c31$var$$d4436c849e74ae70$var$__esDecorate(_classThis, null, _playing_decorators, {\n kind: \"accessor\",\n name: \"playing\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"playing\" in obj,\n get: (obj)=>obj.playing,\n set: (obj, value)=>{\n obj.playing = value;\n }\n },\n metadata: _metadata\n }, _playing_initializers, _playing_extraInitializers);\n $fa22c075827e0c31$var$$d4436c849e74ae70$var$__esDecorate(_classThis, null, _typeChanged_decorators, {\n kind: \"method\",\n name: \"typeChanged\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"typeChanged\" in obj,\n get: (obj)=>obj.typeChanged\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $fa22c075827e0c31$var$$d4436c849e74ae70$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n AnimateCSS = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $fa22c075827e0c31$var$$d4436c849e74ae70$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return AnimateCSS = _classThis;\n})();\n$fa22c075827e0c31$var$$parcel$exportWildcard($fa22c075827e0c31$var$$d4436c849e74ae70$exports, $fa22c075827e0c31$var$$819b340f625a29f4$exports);\nvar $fa22c075827e0c31$var$$8acf79bd061a8fc3$exports = {};\n$fa22c075827e0c31$var$$parcel$export($fa22c075827e0c31$var$$8acf79bd061a8fc3$exports, \"AsyncCell\", function() {\n return $fa22c075827e0c31$export$854a54a999c89982;\n});\n$fa22c075827e0c31$var$$parcel$export($fa22c075827e0c31$var$$8acf79bd061a8fc3$exports, \"lazy\", function() {\n return $fa22c075827e0c31$export$488013bae63b21da;\n});\nvar $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__setFunctionName = function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nlet $fa22c075827e0c31$export$854a54a999c89982 = (()=>{\n var _AsyncCell_component_accessor_storage, _AsyncCell_delegatedProps_accessor_storage;\n let _classDecorators = [\n $fa22c075827e0c31$export$d8556a2a8f973135({\n tagName: 'async-cell'\n }),\n $fa22c075827e0c31$export$b6ae1bc530f4c149\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _component_decorators;\n let _component_initializers = [];\n let _component_extraInitializers = [];\n let _delegatedProps_decorators;\n let _delegatedProps_initializers = [];\n let _delegatedProps_extraInitializers = [];\n var AsyncCell = _classThis = class extends _classSuper {\n get component() {\n return $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__classPrivateFieldGet(this, _AsyncCell_component_accessor_storage, \"f\");\n }\n set component(value) {\n $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__classPrivateFieldSet(this, _AsyncCell_component_accessor_storage, value, \"f\");\n }\n get delegatedProps() {\n return $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__classPrivateFieldGet(this, _AsyncCell_delegatedProps_accessor_storage, \"f\");\n }\n set delegatedProps(value) {\n $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__classPrivateFieldSet(this, _AsyncCell_delegatedProps_accessor_storage, value, \"f\");\n }\n connectedCallback() {\n this.load();\n }\n async load() {\n this.component = undefined;\n const Tag = await this.loader();\n this.component = (_a)=>{\n var { children: children } = _a, props = $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__rest(_a, [\n \"children\"\n ]);\n return (0, $957cf12c60d95319$exports.jsx)(Tag, Object.assign({}, props, {\n children: children\n }));\n };\n this.emit('load', this.component);\n }\n render() {\n const { component: Tag, props: props, delegatedProps: delegatedProps } = this;\n const _a = Object.assign(Object.assign({}, props), delegatedProps), { children: children } = _a, data = $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__rest(_a, [\n \"children\"\n ]);\n return Tag && (0, $957cf12c60d95319$exports.jsx)(Tag, Object.assign({}, data, {\n children: children\n }));\n }\n constructor(){\n super(...arguments);\n Object.defineProperty(this, \"loader\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n _AsyncCell_component_accessor_storage.set(this, $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__runInitializers(this, _component_initializers, void 0));\n _AsyncCell_delegatedProps_accessor_storage.set(this, ($fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__runInitializers(this, _component_extraInitializers), $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__runInitializers(this, _delegatedProps_initializers, void 0)));\n $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__runInitializers(this, _delegatedProps_extraInitializers);\n }\n };\n _AsyncCell_component_accessor_storage = new WeakMap();\n _AsyncCell_delegatedProps_accessor_storage = new WeakMap();\n $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__setFunctionName(_classThis, \"AsyncCell\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _component_decorators = [\n (0, $kpaC8.observable)\n ];\n _delegatedProps_decorators = [\n (0, $kpaC8.observable)\n ];\n $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__esDecorate(_classThis, null, _component_decorators, {\n kind: \"accessor\",\n name: \"component\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"component\" in obj,\n get: (obj)=>obj.component,\n set: (obj, value)=>{\n obj.component = value;\n }\n },\n metadata: _metadata\n }, _component_initializers, _component_extraInitializers);\n $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__esDecorate(_classThis, null, _delegatedProps_decorators, {\n kind: \"accessor\",\n name: \"delegatedProps\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"delegatedProps\" in obj,\n get: (obj)=>obj.delegatedProps,\n set: (obj, value)=>{\n obj.delegatedProps = value;\n }\n },\n metadata: _metadata\n }, _delegatedProps_initializers, _delegatedProps_extraInitializers);\n $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n AsyncCell = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return AsyncCell = _classThis;\n})();\nfunction $fa22c075827e0c31$export$488013bae63b21da(loader) {\n return (props)=>(0, $957cf12c60d95319$exports.jsx)($fa22c075827e0c31$export$854a54a999c89982, {\n delegatedProps: props,\n loader: async ()=>(await loader()).default\n });\n}\nvar $fa22c075827e0c31$var$$29675797ddd6c4f7$exports = {};\n$fa22c075827e0c31$var$$parcel$export($fa22c075827e0c31$var$$29675797ddd6c4f7$exports, \"formField\", function() {\n return $fa22c075827e0c31$export$2a668e8d088a0667;\n});\nvar $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nfunction $fa22c075827e0c31$export$2a668e8d088a0667(Class, _) {\n let FormFieldComponent = (()=>{\n var _a, _FormFieldComponent_name_accessor_storage, _FormFieldComponent_value_accessor_storage, _FormFieldComponent_required_accessor_storage, _FormFieldComponent_disabled_accessor_storage, _FormFieldComponent_autofocus_accessor_storage;\n let _classSuper = Class;\n let _instanceExtraInitializers = [];\n let _setValue_decorators;\n let _name_decorators;\n let _name_initializers = [];\n let _name_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _required_decorators;\n let _required_initializers = [];\n let _required_extraInitializers = [];\n let _disabled_decorators;\n let _disabled_initializers = [];\n let _disabled_extraInitializers = [];\n let _autofocus_decorators;\n let _autofocus_initializers = [];\n let _autofocus_extraInitializers = [];\n return _a = class FormFieldComponent extends _classSuper {\n setValue(value) {\n this.internals.setFormValue(value);\n }\n formDisabledCallback(disabled) {\n this.disabled = disabled;\n }\n get name() {\n return $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_name_accessor_storage, \"f\");\n }\n set name(value) {\n $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_name_accessor_storage, value, \"f\");\n }\n get value() {\n return $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_value_accessor_storage, \"f\");\n }\n set value(value) {\n $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_value_accessor_storage, value, \"f\");\n }\n get required() {\n return $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_required_accessor_storage, \"f\");\n }\n set required(value) {\n $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_required_accessor_storage, value, \"f\");\n }\n get disabled() {\n return $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_disabled_accessor_storage, \"f\");\n }\n set disabled(value) {\n $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_disabled_accessor_storage, value, \"f\");\n }\n get autofocus() {\n return $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_autofocus_accessor_storage, \"f\");\n }\n set autofocus(value) {\n $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_autofocus_accessor_storage, value, \"f\");\n }\n set defaultValue(raw) {\n var _b;\n this.setAttribute('value', raw);\n (_b = this.value) !== null && _b !== void 0 ? _b : this.value = raw;\n }\n get defaultValue() {\n return this.getAttribute('value');\n }\n get form() {\n return this.internals.form;\n }\n get validity() {\n return this.internals.validity;\n }\n get validationMessage() {\n return this.internals.validationMessage;\n }\n get willValidate() {\n return this.internals.willValidate;\n }\n checkValidity() {\n return this.internals.checkValidity();\n }\n reportValidity() {\n return this.internals.reportValidity();\n }\n constructor(){\n super(...arguments);\n _FormFieldComponent_name_accessor_storage.set(this, ($fa22c075827e0c31$var$$29675797ddd6c4f7$var$__runInitializers(this, _instanceExtraInitializers), $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__runInitializers(this, _name_initializers, void 0)));\n _FormFieldComponent_value_accessor_storage.set(this, ($fa22c075827e0c31$var$$29675797ddd6c4f7$var$__runInitializers(this, _name_extraInitializers), $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__runInitializers(this, _value_initializers, void 0)));\n _FormFieldComponent_required_accessor_storage.set(this, ($fa22c075827e0c31$var$$29675797ddd6c4f7$var$__runInitializers(this, _value_extraInitializers), $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__runInitializers(this, _required_initializers, void 0)));\n _FormFieldComponent_disabled_accessor_storage.set(this, ($fa22c075827e0c31$var$$29675797ddd6c4f7$var$__runInitializers(this, _required_extraInitializers), $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__runInitializers(this, _disabled_initializers, void 0)));\n _FormFieldComponent_autofocus_accessor_storage.set(this, ($fa22c075827e0c31$var$$29675797ddd6c4f7$var$__runInitializers(this, _disabled_extraInitializers), $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__runInitializers(this, _autofocus_initializers, void 0)));\n $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__runInitializers(this, _autofocus_extraInitializers);\n }\n }, _FormFieldComponent_name_accessor_storage = new WeakMap(), _FormFieldComponent_value_accessor_storage = new WeakMap(), _FormFieldComponent_required_accessor_storage = new WeakMap(), _FormFieldComponent_disabled_accessor_storage = new WeakMap(), _FormFieldComponent_autofocus_accessor_storage = new WeakMap(), (()=>{\n var _b;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_b = _classSuper[Symbol.metadata]) !== null && _b !== void 0 ? _b : null) : void 0;\n _setValue_decorators = [\n $fa22c075827e0c31$export$7203b476385689ae(({ value: value })=>value)\n ];\n _name_decorators = [\n $fa22c075827e0c31$export$af4b9a83f4b00434,\n (0, $kpaC8.observable)\n ];\n _value_decorators = [\n (0, $kpaC8.observable)\n ];\n _required_decorators = [\n $fa22c075827e0c31$export$af4b9a83f4b00434,\n (0, $kpaC8.observable)\n ];\n _disabled_decorators = [\n $fa22c075827e0c31$export$af4b9a83f4b00434,\n (0, $kpaC8.observable)\n ];\n _autofocus_decorators = [\n $fa22c075827e0c31$export$af4b9a83f4b00434,\n (0, $kpaC8.observable)\n ];\n $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__esDecorate(_a, null, _setValue_decorators, {\n kind: \"method\",\n name: \"setValue\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"setValue\" in obj,\n get: (obj)=>obj.setValue\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__esDecorate(_a, null, _name_decorators, {\n kind: \"accessor\",\n name: \"name\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"name\" in obj,\n get: (obj)=>obj.name,\n set: (obj, value)=>{\n obj.name = value;\n }\n },\n metadata: _metadata\n }, _name_initializers, _name_extraInitializers);\n $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__esDecorate(_a, null, _value_decorators, {\n kind: \"accessor\",\n name: \"value\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"value\" in obj,\n get: (obj)=>obj.value,\n set: (obj, value)=>{\n obj.value = value;\n }\n },\n metadata: _metadata\n }, _value_initializers, _value_extraInitializers);\n $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__esDecorate(_a, null, _required_decorators, {\n kind: \"accessor\",\n name: \"required\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"required\" in obj,\n get: (obj)=>obj.required,\n set: (obj, value)=>{\n obj.required = value;\n }\n },\n metadata: _metadata\n }, _required_initializers, _required_extraInitializers);\n $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__esDecorate(_a, null, _disabled_decorators, {\n kind: \"accessor\",\n name: \"disabled\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"disabled\" in obj,\n get: (obj)=>obj.disabled,\n set: (obj, value)=>{\n obj.disabled = value;\n }\n },\n metadata: _metadata\n }, _disabled_initializers, _disabled_extraInitializers);\n $fa22c075827e0c31$var$$29675797ddd6c4f7$var$__esDecorate(_a, null, _autofocus_decorators, {\n kind: \"accessor\",\n name: \"autofocus\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"autofocus\" in obj,\n get: (obj)=>obj.autofocus,\n set: (obj, value)=>{\n obj.autofocus = value;\n }\n },\n metadata: _metadata\n }, _autofocus_initializers, _autofocus_extraInitializers);\n if (_metadata) Object.defineProperty(_a, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n })(), Object.defineProperty(_a, \"formAssociated\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: true\n }), _a;\n })();\n return FormFieldComponent;\n}\n\n\nfunction $3a8ef450cf9a0028$var$$parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {\n get: v,\n set: s,\n enumerable: true,\n configurable: true\n });\n}\nvar $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$exports = {};\n$3a8ef450cf9a0028$var$$parcel$export($3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$exports, \"RouterMode\", ()=>$3a8ef450cf9a0028$export$fc55ead6785c2297);\n$3a8ef450cf9a0028$var$$parcel$export($3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$exports, \"History\", ()=>$3a8ef450cf9a0028$export$84202caead5689ba);\nvar $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$_a, $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$_b;\nconst { location: $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$location, history: $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$history } = window;\nconst $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$basePath = ($3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$_a = document.querySelector('base')) === null || $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$_a === void 0 ? void 0 : $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$_a.getAttribute('href');\nconst $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$defaultBaseURL = ($3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$basePath ? new URL($3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$basePath, $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$location.origin) + '' : $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$location.href.split(/\\?|#/)[0]).replace(/\\/$/, '');\nconst $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$originalTitle = ($3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$_b = document.querySelector('title')) === null || $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$_b === void 0 ? void 0 : $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$_b.textContent.trim();\nvar $3a8ef450cf9a0028$export$fc55ead6785c2297;\n(function(RouterMode) {\n RouterMode[\"hash\"] = \"#\";\n RouterMode[\"history\"] = \"/\";\n})($3a8ef450cf9a0028$export$fc55ead6785c2297 || ($3a8ef450cf9a0028$export$fc55ead6785c2297 = {}));\nlet $3a8ef450cf9a0028$export$84202caead5689ba = (()=>{\n var _a, _History_path_accessor_storage, _History_oldPath_accessor_storage;\n let _instanceExtraInitializers = [];\n let _path_decorators;\n let _path_initializers = [];\n let _path_extraInitializers = [];\n let _oldPath_decorators;\n let _oldPath_initializers = [];\n let _oldPath_extraInitializers = [];\n let _push_decorators;\n return _a = class History {\n get path() {\n return $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__classPrivateFieldGet(this, _History_path_accessor_storage, \"f\");\n }\n set path(value) {\n $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__classPrivateFieldSet(this, _History_path_accessor_storage, value, \"f\");\n }\n get oldPath() {\n return $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__classPrivateFieldGet(this, _History_oldPath_accessor_storage, \"f\");\n }\n set oldPath(value) {\n $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__classPrivateFieldSet(this, _History_oldPath_accessor_storage, value, \"f\");\n }\n constructor(baseURL = $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$defaultBaseURL, delimiter = $3a8ef450cf9a0028$export$fc55ead6785c2297.hash){\n Object.defineProperty(this, \"baseURL\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ($3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__runInitializers(this, _instanceExtraInitializers), baseURL)\n });\n Object.defineProperty(this, \"delimiter\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: delimiter\n });\n _History_path_accessor_storage.set(this, $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__runInitializers(this, _path_initializers, void 0));\n _History_oldPath_accessor_storage.set(this, ($3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__runInitializers(this, _path_extraInitializers), $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__runInitializers(this, _oldPath_initializers, void 0)));\n Object.defineProperty(this, \"restore\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ($3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__runInitializers(this, _oldPath_extraInitializers), ()=>{\n const { state: state } = $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$history;\n this.push();\n document.title = (state === null || state === void 0 ? void 0 : state.title) || this.titleOf() || $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$originalTitle || $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$location.href;\n })\n });\n Object.defineProperty(this, \"handleForm\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (event, form)=>{\n const { method: method, target: target } = form;\n if (method !== 'get' || (target || '_self') !== '_self') return;\n event.preventDefault();\n const path = form.getAttribute('action'), data = (0, $kYZOD.buildURLData)((0, $kYZOD.formToJSON)(form));\n this.push(`${path}?${data}`);\n }\n });\n this.restore();\n window.addEventListener('hashchange', this.restore);\n window.addEventListener('popstate', this.restore);\n document.addEventListener('click', (0, $kYZOD.delegate)('a[href], area[href]', this.handleLink.bind(this)));\n document.addEventListener('submit', (0, $kYZOD.delegate)('form[action]', this.handleForm));\n }\n push(path = $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$location.href) {\n var _b;\n path = path.replace(this.baseURL, '');\n if (this.delimiter === $3a8ef450cf9a0028$export$fc55ead6785c2297.hash) path = ((_b = path.match(/#.*/)) === null || _b === void 0 ? void 0 : _b[0]) || $3a8ef450cf9a0028$export$fc55ead6785c2297.hash;\n if (path === this.path) return path;\n this.oldPath = this.path;\n return this.path = path;\n }\n static dataOf(path) {\n const [before, after] = path.split('#');\n return (0, $kYZOD.parseURLData)(after || before);\n }\n match(pattern, path = this.path) {\n var _b;\n if (!path) return;\n const { pathname: pathname, hash: hash } = new URLPattern(pattern, this.baseURL).exec(new URL(path.split('?')[0], this.baseURL)) || {};\n return (_b = hash || pathname) === null || _b === void 0 ? void 0 : _b.groups;\n }\n static getTitle(root) {\n return root.title || (0, $kYZOD.getVisibleText)(root);\n }\n titleOf(path = this.path) {\n path = path.replace(/^\\//, '');\n if (path) for (const node of document.querySelectorAll(`a[href=\"${path}\"], area[href=\"${path}\"]`)){\n const title = _a.getTitle(node);\n if (title) return title;\n }\n }\n handleLink(event, link) {\n const path = link.getAttribute('href');\n if ((link.target || '_self') !== '_self' || (0, $kYZOD.isXDomain)(path) || link.download) return;\n event.preventDefault();\n if (path.startsWith('#')) try {\n if (document.querySelector(path) || path === '#top') return (0, $kYZOD.scrollTo)(path, event.currentTarget);\n } catch (_b) {}\n const title = _a.getTitle(link);\n $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$history.pushState({\n title: title\n }, document.title = title, path);\n this.push(path);\n }\n }, _History_path_accessor_storage = new WeakMap(), _History_oldPath_accessor_storage = new WeakMap(), (()=>{\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(null) : void 0;\n _path_decorators = [\n (0, $kpaC8.observable)\n ];\n _oldPath_decorators = [\n (0, $kpaC8.observable)\n ];\n _push_decorators = [\n (0, $kpaC8.action)\n ];\n $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__esDecorate(_a, null, _path_decorators, {\n kind: \"accessor\",\n name: \"path\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"path\" in obj,\n get: (obj)=>obj.path,\n set: (obj, value)=>{\n obj.path = value;\n }\n },\n metadata: _metadata\n }, _path_initializers, _path_extraInitializers);\n $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__esDecorate(_a, null, _oldPath_decorators, {\n kind: \"accessor\",\n name: \"oldPath\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"oldPath\" in obj,\n get: (obj)=>obj.oldPath,\n set: (obj, value)=>{\n obj.oldPath = value;\n }\n },\n metadata: _metadata\n }, _oldPath_initializers, _oldPath_extraInitializers);\n $3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__esDecorate(_a, null, _push_decorators, {\n kind: \"method\",\n name: \"push\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"push\" in obj,\n get: (obj)=>obj.push\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n if (_metadata) Object.defineProperty(_a, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n })(), _a;\n})();\nvar $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$exports = {};\n$3a8ef450cf9a0028$var$$parcel$export($3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$exports, \"CellRoute\", ()=>$3a8ef450cf9a0028$export$d6c529ca17cdd16f);\nvar $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__setFunctionName = function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $3a8ef450cf9a0028$export$d6c529ca17cdd16f = (()=>{\n var _CellRoute_history_accessor_storage, _CellRoute_path_accessor_storage;\n let _classDecorators = [\n (0, $fa22c075827e0c31$export$d8556a2a8f973135)({\n tagName: 'cell-route',\n transitible: true\n }),\n (0, $fa22c075827e0c31$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _history_decorators;\n let _history_initializers = [];\n let _history_extraInitializers = [];\n let _path_decorators;\n let _path_initializers = [];\n let _path_extraInitializers = [];\n let _get_matched_decorators;\n var CellRoute = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _CellRoute_history_accessor_storage.set(this, ($3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__runInitializers(this, _instanceExtraInitializers), $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__runInitializers(this, _history_initializers, void 0)));\n _CellRoute_path_accessor_storage.set(this, ($3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__runInitializers(this, _history_extraInitializers), $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__runInitializers(this, _path_initializers, void 0)));\n Object.defineProperty(this, \"component\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__runInitializers(this, _path_extraInitializers)\n });\n }\n get history() {\n return $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__classPrivateFieldGet(this, _CellRoute_history_accessor_storage, \"f\");\n }\n set history(value) {\n $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__classPrivateFieldSet(this, _CellRoute_history_accessor_storage, value, \"f\");\n }\n get path() {\n return $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__classPrivateFieldGet(this, _CellRoute_path_accessor_storage, \"f\");\n }\n set path(value) {\n $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__classPrivateFieldSet(this, _CellRoute_path_accessor_storage, value, \"f\");\n }\n get matched() {\n var _a;\n return (_a = this.history) === null || _a === void 0 ? void 0 : _a.match(this.path);\n }\n connectedCallback() {\n this.history || (this.history = new $3a8ef450cf9a0028$export$84202caead5689ba());\n }\n render() {\n const { history: history, component: Tag, matched: matched } = this;\n const { path: path } = history || {};\n return matched ? (0, $957cf12c60d95319$exports.jsx)(Tag, Object.assign({}, matched, $3a8ef450cf9a0028$export$84202caead5689ba.dataOf(path), {\n path: path,\n history: history\n })) : (0, $957cf12c60d95319$exports.jsx)((0, $957cf12c60d95319$exports.Fragment), {});\n }\n };\n _CellRoute_history_accessor_storage = new WeakMap();\n _CellRoute_path_accessor_storage = new WeakMap();\n $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__setFunctionName(_classThis, \"CellRoute\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _history_decorators = [\n (0, $kpaC8.observable)\n ];\n _path_decorators = [\n (0, $fa22c075827e0c31$export$af4b9a83f4b00434),\n (0, $kpaC8.observable)\n ];\n _get_matched_decorators = [\n (0, $kpaC8.computed)\n ];\n $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__esDecorate(_classThis, null, _history_decorators, {\n kind: \"accessor\",\n name: \"history\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"history\" in obj,\n get: (obj)=>obj.history,\n set: (obj, value)=>{\n obj.history = value;\n }\n },\n metadata: _metadata\n }, _history_initializers, _history_extraInitializers);\n $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__esDecorate(_classThis, null, _path_decorators, {\n kind: \"accessor\",\n name: \"path\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"path\" in obj,\n get: (obj)=>obj.path,\n set: (obj, value)=>{\n obj.path = value;\n }\n },\n metadata: _metadata\n }, _path_initializers, _path_extraInitializers);\n $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__esDecorate(_classThis, null, _get_matched_decorators, {\n kind: \"getter\",\n name: \"matched\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"matched\" in obj,\n get: (obj)=>obj.matched\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n CellRoute = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return CellRoute = _classThis;\n})();\nvar $3a8ef450cf9a0028$var$$3d03e8579c0b9ff1$exports = {};\nvar $3a8ef450cf9a0028$var$$7b488c9460f448a0$exports = {};\n$3a8ef450cf9a0028$var$$parcel$export($3a8ef450cf9a0028$var$$7b488c9460f448a0$exports, \"createRouter\", ()=>$3a8ef450cf9a0028$export$baddd0131ee8c05b);\nvar $3a8ef450cf9a0028$var$$7b488c9460f448a0$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nfunction $3a8ef450cf9a0028$export$baddd0131ee8c05b(_a = {}) {\n var { mode: mode = 'hash', basePath: basePath = '' } = _a, scopeProps = $3a8ef450cf9a0028$var$$7b488c9460f448a0$var$__rest(_a, [\n \"mode\",\n \"basePath\"\n ]);\n const prefix = $3a8ef450cf9a0028$export$fc55ead6785c2297[mode], history = new $3a8ef450cf9a0028$export$84202caead5689ba((new URL(basePath, location.origin) + '').replace(/\\/$/, ''), $3a8ef450cf9a0028$export$fc55ead6785c2297[mode]);\n return {\n Route: (_a)=>{\n var { path: path } = _a, props = $3a8ef450cf9a0028$var$$7b488c9460f448a0$var$__rest(_a, [\n \"path\"\n ]);\n return (0, $957cf12c60d95319$exports.jsx)($3a8ef450cf9a0028$export$d6c529ca17cdd16f, Object.assign({}, props, scopeProps, {\n history: history,\n path: prefix + path\n }));\n },\n Link: (_a)=>{\n var { to: to, children: children } = _a, props = $3a8ef450cf9a0028$var$$7b488c9460f448a0$var$__rest(_a, [\n \"to\",\n \"children\"\n ]);\n return (0, $957cf12c60d95319$exports.jsx)(\"a\", Object.assign({}, props, {\n href: prefix + to,\n children: children\n }));\n },\n // @ts-ignore\n Form: (_a)=>{\n var { action: action, children: children } = _a, props = $3a8ef450cf9a0028$var$$7b488c9460f448a0$var$__rest(_a, [\n \"action\",\n \"children\"\n ]);\n return (0, $957cf12c60d95319$exports.jsx)(\"form\", Object.assign({}, props, {\n action: prefix + action,\n children: children\n }));\n }\n };\n}\n\n\n\nvar $kpaC8 = parcelRequire(\"kpaC8\");\n\n\nvar $kYZOD = parcelRequire(\"kYZOD\");\nconst { renderMode: $9b401f7840dd935f$export$bf347e2913cc7267 = 'sync' } = (0, $kYZOD.parseURLData)();\n\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\n\n\n\n\n\nconst $ba6f70f29bc42df5$export$1d567c320f4763bc = (0, $0268acc93e67b930$export$dbf350e5966cf602)`:host{--shape-corner:var(--mdui-shape-corner-full);position:relative;display:inline-block;flex-shrink:0;overflow:hidden;text-align:center;border-radius:var(--shape-corner);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:box-shadow var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);min-width:3rem;height:2.5rem;color:rgb(var(--mdui-color-primary));font-size:var(--mdui-typescale-label-large-size);font-weight:var(--mdui-typescale-label-large-weight);letter-spacing:var(--mdui-typescale-label-large-tracking);line-height:var(--mdui-typescale-label-large-line-height)}.button{width:100%;padding:0 1rem}:host([full-width]:not([full-width=false i])){display:block}:host([variant=elevated]){box-shadow:var(--mdui-elevation-level1);background-color:rgb(var(--mdui-color-surface-container-low));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=filled]){color:rgb(var(--mdui-color-on-primary));background-color:rgb(var(--mdui-color-primary));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-primary)}:host([variant=tonal]){color:rgb(var(--mdui-color-on-secondary-container));background-color:rgb(var(--mdui-color-secondary-container));--mdui-comp-ripple-state-layer-color:var(\n --mdui-color-on-secondary-container\n )}:host([variant=outlined]){border:.0625rem solid rgb(var(--mdui-color-outline));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=text]){--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=outlined][focus-visible]){border-color:rgb(var(--mdui-color-primary))}:host([variant=elevated][hover]){box-shadow:var(--mdui-elevation-level2)}:host([variant=filled][hover]),:host([variant=tonal][hover]){box-shadow:var(--mdui-elevation-level1)}:host([disabled]:not([disabled=false i])),:host([loading]:not([loading=false i])){cursor:default;pointer-events:none}:host([disabled]:not([disabled=false i])){color:rgba(var(--mdui-color-on-surface),38%);box-shadow:var(--mdui-elevation-level0)}:host([variant=elevated][disabled]:not([disabled=false i])),:host([variant=filled][disabled]:not([disabled=false i])),:host([variant=tonal][disabled]:not([disabled=false i])){background-color:rgba(var(--mdui-color-on-surface),12%)}:host([variant=outlined][disabled]:not([disabled=false i])){border-color:rgba(var(--mdui-color-on-surface),12%)}.label{display:inline-flex;padding-right:.5rem;padding-left:.5rem}.end-icon,.icon{display:inline-flex;font-size:1.28571429em}.end-icon mdui-icon,.icon mdui-icon,::slotted([slot=end-icon]),::slotted([slot=icon]){font-size:inherit}mdui-circular-progress{display:inline-flex;width:1.125rem;height:1.125rem}:host([variant=filled]) mdui-circular-progress{stroke:rgb(var(--mdui-color-on-primary))}:host([variant=tonal]) mdui-circular-progress{stroke:rgb(var(--mdui-color-on-secondary-container))}:host([disabled]:not([disabled=false i])) mdui-circular-progress{stroke:rgba(var(--mdui-color-on-surface),38%)}`;\n\n\n/**\n * @summary 按钮组件\n *\n * ```html\n * <mdui-button>Button</mdui-button>\n * ```\n *\n * @event focus - 获得焦点时触发\n * @event blur - 失去焦点时触发\n * @event invalid - 表单字段验证未通过时触发\n *\n * @slot - 按钮的文本\n * @slot icon - 按钮左侧的元素\n * @slot end-icon - 按钮右侧的元素\n *\n * @csspart button - 内部的 `<button>` 或 `<a>` 元素\n * @csspart label - 按钮的文本\n * @csspart icon - 按钮左侧的图标\n * @csspart end-icon - 按钮右侧的图标\n * @csspart loading - 加载中状态的 `<mdui-circular-progress>` 元素\n *\n * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐引用[设计令牌](/docs/2/styles/design-tokens#shape-corner)\n */ let $3deaa3b7b9468579$export$353f5b6fc5456de1 = class Button extends (0, $d2ad4ee595242e3a$export$b0bb876e969289cd) {\n constructor(){\n super(...arguments);\n /**\n * 按钮的形状。可选值包括:\n *\n * * `elevated`:带阴影的按钮,适用于需要将按钮与背景视觉分离的场景\n * * `filled`:视觉效果强烈,适用于重要流程的最终操作,如“保存”、“确认”等\n * * `tonal`:视觉效果介于 `filled` 和 `outlined` 之间,适用于中高优先级的操作,如流程中的“下一步”\n * * `outlined`:带边框的按钮,适用于中等优先级,且次要的操作,如“返回”\n * * `text`:文本按钮,适用于最低优先级的操作\n */ this.variant = 'filled';\n /**\n * 是否填满父元素宽度\n */ this.fullWidth = false;\n this.rippleRef = (0, $f322d22fead4969a$export$7d1e3a5e95ceca43)();\n }\n get rippleElement() {\n return this.rippleRef.value;\n }\n render() {\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<mdui-ripple ${(0, $f322d22fead4969a$export$eff4d24c3ff7876e)(this.rippleRef)} .noRipple=\"${this.noRipple}\"></mdui-ripple>${this.isButton() ? this.renderButton({\n className: 'button',\n part: 'button',\n content: this.renderInner()\n }) : this.disabled || this.loading ? (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<span part=\"button\" class=\"button _a\">${this.renderInner()}</span>` : this.renderAnchor({\n className: 'button',\n part: 'button',\n content: this.renderInner()\n })}`;\n }\n renderIcon() {\n if (this.loading) return this.renderLoading();\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot name=\"icon\" part=\"icon\" class=\"icon\">${this.icon ? (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<mdui-icon name=\"${this.icon}\"></mdui-icon>` : (0, $ba66167bae03ac3c$export$d9a2b46c01bdcf53)}</slot>`;\n }\n renderLabel() {\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot part=\"label\" class=\"label\"></slot>`;\n }\n renderEndIcon() {\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot name=\"end-icon\" part=\"end-icon\" class=\"end-icon\">${this.endIcon ? (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<mdui-icon name=\"${this.endIcon}\"></mdui-icon>` : (0, $ba66167bae03ac3c$export$d9a2b46c01bdcf53)}</slot>`;\n }\n renderInner() {\n return [\n this.renderIcon(),\n this.renderLabel(),\n this.renderEndIcon()\n ];\n }\n};\n$3deaa3b7b9468579$export$353f5b6fc5456de1.styles = [\n (0, $d2ad4ee595242e3a$export$b0bb876e969289cd).styles,\n (0, $ba6f70f29bc42df5$export$1d567c320f4763bc)\n];\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n], $3deaa3b7b9468579$export$353f5b6fc5456de1.prototype, \"variant\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b),\n attribute: 'full-width'\n })\n], $3deaa3b7b9468579$export$353f5b6fc5456de1.prototype, \"fullWidth\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n], $3deaa3b7b9468579$export$353f5b6fc5456de1.prototype, \"icon\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true,\n attribute: 'end-icon'\n })\n], $3deaa3b7b9468579$export$353f5b6fc5456de1.prototype, \"endIcon\", void 0);\n$3deaa3b7b9468579$export$353f5b6fc5456de1 = (0, $ceFTv.__decorate)([\n (0, $6eca265e3a72f146$export$da64fc29f17f9d0e)('mdui-button')\n], $3deaa3b7b9468579$export$353f5b6fc5456de1);\n\n\n\n\n\nvar $ceFTv = parcelRequire(\"ceFTv\");\n\n\n\n\n\n\n\n\n\n\nconst $62d60cff497d19e4$export$1d567c320f4763bc = (0, $0268acc93e67b930$export$dbf350e5966cf602)`:host{--shape-corner:var(--mdui-shape-corner-medium);position:relative;display:inline-block;overflow:hidden;border-radius:var(--shape-corner);-webkit-tap-highlight-color:transparent;transition:box-shadow var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([clickable]:not([clickable=false i])){cursor:pointer}:host([variant=elevated]){background-color:rgb(var(--mdui-color-surface-container-low));box-shadow:var(--mdui-elevation-level1)}:host([variant=filled]){background-color:rgb(var(--mdui-color-surface-container-highest))}:host([variant=outlined]){background-color:rgb(var(--mdui-color-surface));border:.0625rem solid rgb(var(--mdui-color-outline))}:host([variant=elevated][hover]){box-shadow:var(--mdui-elevation-level2)}:host([variant=filled][hover]),:host([variant=outlined][hover]){box-shadow:var(--mdui-elevation-level1)}:host([variant=elevated][dragged]),:host([variant=filled][dragged]),:host([variant=outlined][dragged]){box-shadow:var(--mdui-elevation-level3)}:host([disabled]:not([disabled=false i])){opacity:.38;cursor:default;-webkit-user-select:none;user-select:none}:host([variant=elevated][disabled]:not([disabled=false i])){background-color:rgb(var(--mdui-color-surface-variant));box-shadow:var(--mdui-elevation-level0)}:host([variant=filled][disabled]:not([disabled=false i])){background-color:rgb(var(--mdui-color-surface));box-shadow:var(--mdui-elevation-level1)}:host([variant=outlined][disabled]:not([disabled=false i])){box-shadow:var(--mdui-elevation-level0);border-color:rgba(var(--mdui-color-outline),.32)}.link{position:relative;display:inline-block;width:100%;height:100%;color:inherit;font-size:inherit;letter-spacing:inherit;text-decoration:none;touch-action:manipulation;-webkit-user-drag:none}`;\n\n\n/**\n * @summary 卡片组件\n *\n * ```html\n * <mdui-card>card content</mdui-card>\n * ```\n *\n * @event focus - 获得焦点时触发\n * @event blur - 失去焦点时触发\n *\n * @slot - 卡片的内容\n *\n * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐引用[设计令牌](/docs/2/styles/design-tokens#shape-corner)\n */ let $e094832e569ce4a8$export$60332b2344f7fe41 = class Card extends (0, $127a23c52a5adf4f$export$e70f90f657dd64e)((0, $abaf2949eee28760$export$7891358133f12319)((0, $3bb9ba68ccebecb9$export$7b86c168e7d309f7)((0, $53a1aafae9c6752a$export$9bb0a9faa319390c)))) {\n constructor(){\n super(...arguments);\n /**\n * 卡片的形状。可选值包括:\n *\n * * `elevated`:带阴影的卡片,与背景的视觉分离度较高\n * * `filled`:带填充色的卡片,与背景的视觉分离度较低\n * * `outlined`:带边框的卡片,与背景的视觉分离度最高\n */ this.variant = 'elevated';\n /**\n * 是否可点击。为 `true` 时,卡片将具有鼠标悬浮效果和点击涟漪效果\n */ this.clickable = false;\n /**\n * 是否禁用\n */ this.disabled = false;\n this.rippleRef = (0, $f322d22fead4969a$export$7d1e3a5e95ceca43)();\n }\n get rippleElement() {\n return this.rippleRef.value;\n }\n get rippleDisabled() {\n return this.disabled || !this.href && !this.clickable;\n }\n get focusElement() {\n return this.href && !this.disabled ? this.renderRoot.querySelector('._a') : this;\n }\n get focusDisabled() {\n return this.rippleDisabled;\n }\n render() {\n return (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<mdui-ripple ${(0, $f322d22fead4969a$export$eff4d24c3ff7876e)(this.rippleRef)} .noRipple=\"${this.noRipple}\"></mdui-ripple>${this.href && !this.disabled ? this.renderAnchor({\n className: 'link',\n content: (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot></slot>`\n }) : (0, $1182a8bbea75578f$export$c0bb0b647f701bb5)`<slot></slot>`}`;\n }\n};\n$e094832e569ce4a8$export$60332b2344f7fe41.styles = [\n (0, $a1095454894349c1$export$7ef977f86985f711),\n (0, $62d60cff497d19e4$export$1d567c320f4763bc)\n];\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n reflect: true\n })\n], $e094832e569ce4a8$export$60332b2344f7fe41.prototype, \"variant\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n], $e094832e569ce4a8$export$60332b2344f7fe41.prototype, \"clickable\", void 0);\n(0, $ceFTv.__decorate)([\n (0, $acf573f6c2910992$export$d541bacb2bda4494)({\n type: Boolean,\n reflect: true,\n converter: (0, $9f4de283a23bd2a5$export$2aee1c8d7bab360b)\n })\n], $e094832e569ce4a8$export$60332b2344f7fe41.prototype, \"disabled\", void 0);\n$e094832e569ce4a8$export$60332b2344f7fe41 = (0, $ceFTv.__decorate)([\n (0, $6eca265e3a72f146$export$da64fc29f17f9d0e)('mdui-card')\n], $e094832e569ce4a8$export$60332b2344f7fe41);\n\n\n\n\n\nvar $kpaC8 = parcelRequire(\"kpaC8\");\n\n\nvar $kpaC8 = parcelRequire(\"kpaC8\");\n\nvar $kYZOD = parcelRequire(\"kYZOD\");\nfunction $cde8722383b271c6$var$$parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {\n get: v,\n set: s,\n enumerable: true,\n configurable: true\n });\n}\nvar $cde8722383b271c6$var$$eef213ff4197108b$exports = {};\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$eef213ff4197108b$exports, \"Stack\", function() {\n return $cde8722383b271c6$export$694e0d28c7ffc90c;\n});\nconst { push: $cde8722383b271c6$var$$eef213ff4197108b$var$push } = Array.prototype;\nclass $cde8722383b271c6$export$694e0d28c7ffc90c {\n use(...middlewares) {\n $cde8722383b271c6$var$$eef213ff4197108b$var$push.apply(this, middlewares);\n return this;\n }\n execute(context, depth = 0) {\n const middleware = this[depth];\n if (middleware instanceof Function) return middleware(context, this.execute.bind(this, context, ++depth));\n }\n mount(condition, stack) {\n return this.use((context, next)=>condition(context) ? stack.execute(context) : next());\n }\n constructor(){\n this.length = 0;\n }\n}\nvar $cde8722383b271c6$var$$0fe1f1400993ba8a$exports = {};\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$0fe1f1400993ba8a$exports, \"BodyRequestMethods\", function() {\n return $cde8722383b271c6$export$4125cfe7e08e2040;\n});\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$0fe1f1400993ba8a$exports, \"HTTPError\", function() {\n return $cde8722383b271c6$export$aa9d629c530f62a7;\n});\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$0fe1f1400993ba8a$exports, \"headerParser\", function() {\n return $cde8722383b271c6$export$b725a69477e4d33f;\n});\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$0fe1f1400993ba8a$exports, \"parseHeaders\", function() {\n return $cde8722383b271c6$export$eea2c1c5e1a37e50;\n});\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$0fe1f1400993ba8a$exports, \"parseBody\", function() {\n return $cde8722383b271c6$export$3b629cd0ff482602;\n});\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$0fe1f1400993ba8a$exports, \"requestXHR\", function() {\n return $cde8722383b271c6$export$4f2a8c8c11a6373a;\n});\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$0fe1f1400993ba8a$exports, \"requestFetch\", function() {\n return $cde8722383b271c6$export$bda27a3e49197b9;\n});\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$0fe1f1400993ba8a$exports, \"parseResponse\", function() {\n return $cde8722383b271c6$export$ba14d9a5a581e827;\n});\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$0fe1f1400993ba8a$exports, \"parseFetchBody\", function() {\n return $cde8722383b271c6$export$b7b86d31099674dc;\n});\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$0fe1f1400993ba8a$exports, \"request\", function() {\n return $cde8722383b271c6$export$b5fe3f66a567bec0;\n});\nvar $cde8722383b271c6$var$$22de11b45b0eeb97$exports = {};\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$22de11b45b0eeb97$exports, \"parseDocument\", function() {\n return $cde8722383b271c6$export$b6a9369736b19f4d;\n});\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$22de11b45b0eeb97$exports, \"makeFormData\", function() {\n return $cde8722383b271c6$export$2c28ab2e118e73f1;\n});\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$22de11b45b0eeb97$exports, \"serializeNode\", function() {\n return $cde8722383b271c6$export$a0beee2e55fb5dd1;\n});\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$22de11b45b0eeb97$exports, \"serialize\", function() {\n return $cde8722383b271c6$export$dfdc1655ccc5b9cb;\n});\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$22de11b45b0eeb97$exports, \"streamFromProgress\", function() {\n return $cde8722383b271c6$export$f8162fcba31fa547;\n});\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$22de11b45b0eeb97$exports, \"emitStreamProgress\", function() {\n return $cde8722383b271c6$export$cebfdbc318a33abe;\n});\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$22de11b45b0eeb97$exports, \"FileMethod\", function() {\n return $cde8722383b271c6$export$226b21d2db5eaf9f;\n});\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$22de11b45b0eeb97$exports, \"readAs\", function() {\n return $cde8722383b271c6$export$e209cbb66c5b18c;\n});\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$22de11b45b0eeb97$exports, \"encodeBase64\", function() {\n return $cde8722383b271c6$export$8fb536984ec8b4d7;\n});\nglobalThis.ProgressEvent ||= class ProgressEvent1 extends Event {\n constructor(type, { lengthComputable: lengthComputable, total: total, loaded: loaded, ...meta } = {}){\n super(type, meta);\n this.lengthComputable = lengthComputable;\n this.total = total;\n this.loaded = loaded;\n }\n};\nasync function $cde8722383b271c6$export$b6a9369736b19f4d(text, contentType = '') {\n const [type] = contentType?.split(';') || [];\n return new DOMParser().parseFromString(text, type || 'text/html');\n}\nfunction $cde8722383b271c6$export$2c28ab2e118e73f1(data) {\n const formData = new FormData();\n for (const [key, value] of Object.entries(data)){\n const list = typeof value !== 'string' && (0, $kYZOD.likeArray)(value) ? value : [\n value\n ];\n for (const item of Array.from(list))if (item != null) {\n if (typeof item === 'object') formData.append(key, item, item.name);\n else formData.append(key, item);\n }\n }\n return formData;\n}\nfunction $cde8722383b271c6$export$a0beee2e55fb5dd1(root) {\n var contentType;\n if (!(root instanceof HTMLFormElement)) return {\n contentType: root instanceof SVGElement ? 'image/svg' : root instanceof Document || root instanceof HTMLElement ? 'text/html' : 'application/xml',\n data: (0, $kYZOD.stringifyDOM)(root)\n };\n if (root.querySelector('input[type=\"file\"][name]')) return {\n contentType: 'multipart/form-data',\n data: new FormData(root)\n };\n const data = (0, $kYZOD.formToJSON)(root);\n switch(contentType = root.enctype){\n case 'text/plain':\n return {\n contentType: contentType,\n data: Object.entries(data).map(([name, value])=>`${name}=${value}`).join('\\n')\n };\n case 'application/x-www-form-urlencoded':\n return {\n contentType: contentType,\n data: new URLSearchParams(data)\n };\n default:\n return {\n contentType: 'application/json',\n data: JSON.stringify(data)\n };\n }\n}\nfunction $cde8722383b271c6$export$dfdc1655ccc5b9cb(data, contentType) {\n const [type] = contentType?.split(';') || [];\n switch(type){\n case 'application/x-www-form-urlencoded':\n return {\n contentType: contentType,\n data: new URLSearchParams(data)\n };\n case 'multipart/form-data':\n return {\n data: $cde8722383b271c6$export$2c28ab2e118e73f1(data)\n };\n case 'application/json':\n return {\n contentType: contentType,\n data: JSON.stringify(data)\n };\n case 'text/html':\n case 'application/xml':\n case 'image/svg':\n return {\n contentType: contentType,\n data: (0, $kYZOD.stringifyDOM)(data)\n };\n }\n if (type) return {\n data: data,\n contentType: contentType\n };\n try {\n if (data instanceof URLSearchParams) return {\n contentType: 'application/x-www-form-urlencoded',\n data: data\n };\n } catch {}\n try {\n if (data instanceof FormData) return {\n data: data\n };\n } catch {}\n try {\n if (data instanceof Node) return $cde8722383b271c6$export$a0beee2e55fb5dd1(data);\n } catch {}\n try {\n if ((0, $kYZOD.isTypedArray)(data) || data instanceof ArrayBuffer || data instanceof DataView || data instanceof Blob || data instanceof ReadableStream) return {\n contentType: 'application/octet-stream',\n data: data\n };\n } catch {}\n try {\n return {\n contentType: 'application/json',\n data: JSON.stringify(data)\n };\n } catch {}\n throw new Error('Unserialized Object needs a specific Content-Type');\n}\nconst $cde8722383b271c6$export$f8162fcba31fa547 = (target)=>(0, $kYZOD.createAsyncIterator)(({ next: next, complete: complete, error: error })=>{\n const handleProgress = ({ loaded: loaded, total: total })=>{\n next({\n loaded: loaded,\n total: total\n });\n if (loaded >= total) complete();\n };\n target.addEventListener('progress', handleProgress);\n target.addEventListener('error', error);\n return ()=>{\n target.removeEventListener('progress', handleProgress);\n target.removeEventListener('error', error);\n };\n });\nasync function* $cde8722383b271c6$export$cebfdbc318a33abe(stream, total, eventTarget) {\n var loaded = 0;\n for await (const chunk of stream){\n yield chunk;\n loaded += chunk.byteLength;\n const event = new ProgressEvent('progress', {\n lengthComputable: isNaN(total),\n loaded: loaded,\n total: total\n });\n eventTarget.dispatchEvent(event);\n }\n}\nvar $cde8722383b271c6$export$226b21d2db5eaf9f = /*#__PURE__*/ function(FileMethod) {\n FileMethod[\"text\"] = \"readAsText\";\n FileMethod[\"dataURL\"] = \"readAsDataURL\";\n FileMethod[\"binaryString\"] = \"readAsBinaryString\";\n FileMethod[\"arrayBuffer\"] = \"readAsArrayBuffer\";\n return FileMethod;\n}({});\nfunction $cde8722383b271c6$export$e209cbb66c5b18c(file, method, encoding) {\n const reader = new FileReader();\n const result = new Promise((resolve, reject)=>{\n reader.onerror = reject;\n reader.onload = ()=>resolve(reader.result);\n reader[$cde8722383b271c6$export$226b21d2db5eaf9f[method]](file, encoding);\n });\n return {\n progress: $cde8722383b271c6$export$f8162fcba31fa547(reader),\n result: result\n };\n}\nconst $cde8722383b271c6$var$$22de11b45b0eeb97$var$DataURI = /^data:(.+?\\/(.+?))?(;base64)?,([\\s\\S]+)/;\nasync function $cde8722383b271c6$export$8fb536984ec8b4d7(raw) {\n if (raw instanceof Blob) {\n const text = await $cde8722383b271c6$export$e209cbb66c5b18c(raw, 'dataURL').result;\n return ($cde8722383b271c6$var$$22de11b45b0eeb97$var$DataURI.exec(text) || '')[4];\n }\n const text = encodeURIComponent(raw).replace(/%([0-9A-F]{2})/g, (_, p1)=>String.fromCharCode(+('0x' + p1)));\n return btoa(text);\n}\nvar $cde8722383b271c6$export$4125cfe7e08e2040 = /*#__PURE__*/ function(BodyRequestMethods) {\n BodyRequestMethods[\"POST\"] = \"POST\";\n BodyRequestMethods[\"PUT\"] = \"PUT\";\n BodyRequestMethods[\"PATCH\"] = \"PATCH\";\n BodyRequestMethods[\"DELETE\"] = \"DELETE\";\n return BodyRequestMethods;\n}({});\nclass $cde8722383b271c6$export$aa9d629c530f62a7 extends URIError {\n constructor(message, request, response){\n super(message), this.request = request, this.response = response;\n }\n}\nconst $cde8722383b271c6$export$b725a69477e4d33f = {\n Link: (value)=>Object.fromEntries(Array.from(value.matchAll(/<(\\S+?)>; rel=\"(\\w+)\"(?:; title=\"(.*?)\")?/g), ([_, URI, rel, title])=>[\n rel,\n {\n rel: rel,\n URI: URI,\n title: title\n }\n ]))\n};\nconst $cde8722383b271c6$export$eea2c1c5e1a37e50 = (raw)=>Object.fromEntries(Array.from(raw.trim().matchAll(/^([\\w-]+):\\s*(.*)/gm), ([_, key, value])=>{\n key = key.replace(/(^[a-z]|-[a-z])/g, (char)=>char.toUpperCase());\n return [\n key,\n $cde8722383b271c6$export$b725a69477e4d33f[key]?.(value) ?? value\n ];\n }));\nfunction $cde8722383b271c6$export$3b629cd0ff482602(raw, contentType) {\n if (contentType.includes('json')) return (0, $kYZOD.parseJSON)(raw);\n if (contentType.match(/html|xml/)) try {\n return $cde8722383b271c6$export$b6a9369736b19f4d(raw, contentType);\n } catch {}\n if (contentType.includes('text')) return raw;\n return new TextEncoder().encode(raw).buffer;\n}\nfunction $cde8722383b271c6$export$4f2a8c8c11a6373a({ method: method = 'GET', path: path, headers: headers = {}, body: body, signal: signal, ...rest }) {\n const request = new XMLHttpRequest();\n const header = new Headers(headers);\n const bodyPromise = body instanceof globalThis.ReadableStream ? Array.fromAsync(body).then((parts)=>new Blob(parts)) : Promise.resolve(body);\n const abort = ()=>request.abort();\n signal?.addEventListener('abort', abort);\n const response = new Promise((resolve, reject)=>{\n request.onreadystatechange = ()=>{\n const { readyState: readyState, status: status, statusText: statusText, responseType: responseType } = request;\n if (readyState !== 4 || !status && !signal?.aborted) return;\n resolve({\n status: status,\n statusText: statusText,\n headers: $cde8722383b271c6$export$eea2c1c5e1a37e50(request.getAllResponseHeaders()),\n body: responseType && responseType !== 'text' ? request.response : request.responseText\n });\n };\n request.onerror = request.ontimeout = reject;\n const [MIMEType] = header.get('Accept')?.split(',') || [\n rest.responseType === 'document' ? 'application/xhtml+xml' : rest.responseType === 'json' ? 'application/json' : ''\n ];\n if (MIMEType) request.overrideMimeType(MIMEType);\n request.open(method, path + '');\n for (const [key, value] of header)request.setRequestHeader(key, value);\n Object.assign(request, rest);\n bodyPromise.then((body)=>request.send(body));\n }).then(({ body: body, ...meta })=>{\n signal?.throwIfAborted();\n const contentType = request.getResponseHeader('Content-Type') || '';\n if (typeof body === 'string' && !contentType.includes('text')) body = $cde8722383b271c6$export$3b629cd0ff482602(body, contentType);\n return {\n ...meta,\n body: body\n };\n });\n response.finally(()=>signal?.removeEventListener('abort', abort));\n return {\n response: response,\n upload: $cde8722383b271c6$export$f8162fcba31fa547(request.upload),\n download: $cde8722383b271c6$export$f8162fcba31fa547(request)\n };\n}\nfunction $cde8722383b271c6$export$bda27a3e49197b9({ path: path, method: method, headers: headers, withCredentials: withCredentials, body: body, signal: signal, timeout: timeout, responseType: responseType }) {\n const signals = [\n signal,\n timeout && AbortSignal.timeout(timeout)\n ].filter(Boolean);\n headers = headers instanceof Headers ? Object.fromEntries(headers.entries()) : headers instanceof Array ? Object.fromEntries(headers) : headers;\n headers = responseType === 'text' ? {\n ...headers,\n Accept: 'text/plain'\n } : responseType === 'json' ? {\n ...headers,\n Accept: 'application/json'\n } : responseType === 'document' ? {\n ...headers,\n Accept: 'text/html, application/xhtml+xml, application/xml'\n } : responseType === 'arraybuffer' || responseType === 'blob' ? {\n ...headers,\n Accept: 'application/octet-stream'\n } : headers;\n const isStream = body instanceof globalThis.ReadableStream;\n var upload;\n if (isStream) {\n const uploadProgress = new EventTarget();\n body = globalThis.ReadableStream['from']($cde8722383b271c6$export$cebfdbc318a33abe(body, +headers['Content-Length'], uploadProgress));\n upload = $cde8722383b271c6$export$f8162fcba31fa547(uploadProgress);\n }\n const downloadProgress = new EventTarget();\n const response = fetch(path + '', {\n method: method,\n headers: headers,\n credentials: withCredentials ? 'include' : 'omit',\n body: body,\n signal: signals[0] && AbortSignal.any(signals),\n // @ts-expect-error https://developer.chrome.com/docs/capabilities/web-apis/fetch-streaming-requests\n duplex: isStream ? 'half' : undefined\n }).then((response)=>$cde8722383b271c6$export$ba14d9a5a581e827(response, responseType, downloadProgress));\n return {\n response: response,\n upload: upload,\n download: $cde8722383b271c6$export$f8162fcba31fa547(downloadProgress)\n };\n}\nasync function $cde8722383b271c6$export$ba14d9a5a581e827({ status: status, statusText: statusText, headers: headers, body: body }, responseType, downloadProgress) {\n const stream = globalThis.ReadableStream['from']($cde8722383b271c6$export$cebfdbc318a33abe(body, +headers.get('Content-Length'), downloadProgress));\n const contentType = headers.get('Content-Type') || '';\n const header = $cde8722383b271c6$export$eea2c1c5e1a37e50([\n ...headers\n ].map(([key, value])=>`${key}: ${value}`).join('\\n'));\n const rBody = status === 204 ? undefined : await $cde8722383b271c6$export$b7b86d31099674dc(stream, contentType, responseType);\n return {\n status: status,\n statusText: statusText,\n headers: header,\n body: rBody\n };\n}\nasync function $cde8722383b271c6$export$b7b86d31099674dc(stream, contentType, responseType) {\n const blob = new Blob(await Array.fromAsync(stream), {\n type: contentType\n });\n if (responseType === 'blob') return blob;\n if (responseType === 'arraybuffer') return blob.arrayBuffer();\n const text = await blob.text();\n if (responseType === 'text') return text;\n return $cde8722383b271c6$export$3b629cd0ff482602(text, contentType);\n}\nconst $cde8722383b271c6$export$b5fe3f66a567bec0 = typeof globalThis.XMLHttpRequest === 'function' ? $cde8722383b271c6$export$4f2a8c8c11a6373a : $cde8722383b271c6$export$bda27a3e49197b9;\nvar $cde8722383b271c6$var$$cbd22d3323bef9ca$exports = {};\n$cde8722383b271c6$var$$parcel$export($cde8722383b271c6$var$$cbd22d3323bef9ca$exports, \"HTTPClient\", function() {\n return $cde8722383b271c6$export$45cf759b359d3d24;\n});\nconst { splice: $cde8722383b271c6$var$$cbd22d3323bef9ca$var$splice } = Array.prototype;\nclass $cde8722383b271c6$export$45cf759b359d3d24 extends $cde8722383b271c6$export$694e0d28c7ffc90c {\n constructor({ baseURI: baseURI = globalThis.document?.baseURI, baseRequest: baseRequest = $cde8722383b271c6$export$b5fe3f66a567bec0, ...options } = {}){\n super(), this.defaultWare = async ({ request: request, response: response }, next)=>{\n const { method: method = 'GET', headers: headers = {}, body: body } = request;\n if (method in $cde8722383b271c6$export$4125cfe7e08e2040 && body && typeof body === 'object') {\n const { contentType: contentType, data: data } = $cde8722383b271c6$export$dfdc1655ccc5b9cb(body, headers['Content-Type']);\n if (contentType) headers['Content-Type'] = contentType;\n request.body = data;\n }\n await next();\n if (response.status > 299) throw new $cde8722383b271c6$export$aa9d629c530f62a7(response.statusText, request, response);\n };\n this.baseURI = baseURI;\n this.baseRequest = baseRequest;\n this.options = options;\n super.use(this.defaultWare);\n super.use(async ({ request: data, response: response })=>{\n data.path = new URL(data.path + '', this.baseURI) + '';\n Object.assign(response, await this.baseRequest({\n ...options,\n ...data\n }).response);\n });\n }\n use(...middlewares) {\n $cde8722383b271c6$var$$cbd22d3323bef9ca$var$splice.call(this, -2, 0, ...middlewares);\n return this;\n }\n async request(data) {\n const context = {\n request: {\n ...data,\n headers: {\n ...data.headers\n }\n },\n response: {}\n };\n await this.execute(context);\n return context.response;\n }\n async head(path, headers, options) {\n const { headers: data } = await this.request({\n method: 'HEAD',\n path: path,\n headers: headers,\n ...options\n });\n return data;\n }\n get(path, headers, options) {\n return this.request({\n method: 'GET',\n path: path,\n headers: headers,\n ...options\n });\n }\n post(path, body, headers, options) {\n return this.request({\n method: 'POST',\n path: path,\n headers: headers,\n body: body,\n ...options\n });\n }\n put(path, body, headers, options) {\n return this.request({\n method: 'PUT',\n path: path,\n headers: headers,\n body: body,\n ...options\n });\n }\n patch(path, body, headers, options) {\n return this.request({\n method: 'PATCH',\n path: path,\n headers: headers,\n body: body,\n ...options\n });\n }\n delete(path, body, headers, options) {\n return this.request({\n method: 'DELETE',\n path: path,\n headers: headers,\n body: body,\n ...options\n });\n }\n async *download(path, { headers: headers, chunkSize: chunkSize = 1024 ** 2, range: [start = 0, end = Infinity] = [], ...options } = {}) {\n var total = 0;\n function setEndAsHeader(length) {\n total = length;\n if (end === Infinity) end = total;\n }\n try {\n const { 'Content-Length': length } = await this.head(path, headers, options);\n setEndAsHeader(+length);\n } catch (error) {\n console.error(error);\n }\n for(let i = start, j = i - 1 + chunkSize; i < end; i = j + 1, j += chunkSize){\n const { status: status, headers: { 'Content-Range': range }, body: body } = await this.get(path, {\n ...headers,\n Range: `bytes=${i}-${j}`\n }, options);\n const totalBytes = +range?.split('/').pop();\n if (totalBytes) setEndAsHeader(totalBytes);\n if (status !== 206) {\n yield {\n total: total,\n loaded: total,\n percent: 100,\n buffer: body\n };\n break;\n }\n const loaded = i + body.byteLength;\n yield {\n total: total,\n loaded: loaded,\n percent: +(loaded / total * 100).toFixed(2),\n buffer: body\n };\n }\n }\n}\n\n\nconst $d919b95fbe3dd622$export$6ed414b8d8bead88 = new (0, $cde8722383b271c6$export$45cf759b359d3d24)({\n baseURI: 'https://fcc-cd.dev/996-data/',\n responseType: 'json'\n});\n\n\nvar $67b5e04bae45038a$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $67b5e04bae45038a$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $67b5e04bae45038a$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar $67b5e04bae45038a$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $67b5e04bae45038a$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $67b5e04bae45038a$export$49e2d5aa884aa99 = (()=>{\n var _a, _CompanyModel_list_accessor_storage;\n let _list_decorators;\n let _list_initializers = [];\n let _list_extraInitializers = [];\n return _a = class CompanyModel {\n get list() {\n return $67b5e04bae45038a$var$__classPrivateFieldGet(this, _CompanyModel_list_accessor_storage, \"f\");\n }\n set list(value) {\n $67b5e04bae45038a$var$__classPrivateFieldSet(this, _CompanyModel_list_accessor_storage, value, \"f\");\n }\n getList(type) {\n return $67b5e04bae45038a$var$__awaiter(this, void 0, void 0, function*() {\n const { body: body } = yield (0, $d919b95fbe3dd622$export$6ed414b8d8bead88).get(`${type}.json`);\n return this.list = body.sort(({ date: A }, { date: B })=>B.localeCompare(A));\n });\n }\n constructor(){\n _CompanyModel_list_accessor_storage.set(this, $67b5e04bae45038a$var$__runInitializers(this, _list_initializers, []));\n $67b5e04bae45038a$var$__runInitializers(this, _list_extraInitializers);\n }\n }, _CompanyModel_list_accessor_storage = new WeakMap(), (()=>{\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(null) : void 0;\n _list_decorators = [\n (0, $kpaC8.observable)\n ];\n $67b5e04bae45038a$var$__esDecorate(_a, null, _list_decorators, {\n kind: \"accessor\",\n name: \"list\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"list\" in obj,\n get: (obj)=>obj.list,\n set: (obj, value)=>{\n obj.list = value;\n }\n },\n metadata: _metadata\n }, _list_initializers, _list_extraInitializers);\n if (_metadata) Object.defineProperty(_a, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n })(), _a;\n})();\nvar $67b5e04bae45038a$export$2e2bcd8739ae039 = new $67b5e04bae45038a$export$49e2d5aa884aa99();\n\n\n\nvar $f19b1e4026dd9270$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $f19b1e4026dd9270$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $f19b1e4026dd9270$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $f19b1e4026dd9270$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $f19b1e4026dd9270$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $f19b1e4026dd9270$export$5e2d3684e2aeb1e3 = (()=>{\n var _CompanyList_type_accessor_storage;\n let _classDecorators = [\n (0, $fa22c075827e0c31$export$d8556a2a8f973135)({\n tagName: 'company-list',\n renderMode: $9b401f7840dd935f$export$bf347e2913cc7267\n }),\n (0, $fa22c075827e0c31$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _mountedCallback_decorators;\n var CompanyList = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _CompanyList_type_accessor_storage.set(this, ($f19b1e4026dd9270$var$__runInitializers(this, _instanceExtraInitializers), $f19b1e4026dd9270$var$__runInitializers(this, _type_initializers, '996')));\n Object.defineProperty(this, \"renderCase\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ($f19b1e4026dd9270$var$__runInitializers(this, _type_extraInitializers), ({ name: name, url: url, city: city, rule: rule, evidences: evidences, date: date, comment_url: comment_url })=>(0, $957cf12c60d95319$exports.jsxs)(\"mdui-card\", {\n className: \"flex h-full flex-col gap-4 p-4\",\n children: [\n (0, $957cf12c60d95319$exports.jsx)(\"h2\", {\n className: \"font-bold text-blue-500\",\n title: name,\n children: url ? (0, $957cf12c60d95319$exports.jsx)(\"a\", {\n target: \"_blank\",\n href: url,\n rel: \"noreferrer\",\n children: name\n }) : name\n }),\n (0, $957cf12c60d95319$exports.jsxs)(\"div\", {\n className: \"flex flex-1 flex-col gap-4\",\n children: [\n (0, $957cf12c60d95319$exports.jsx)(\"p\", {\n className: \"text-neutral-500\",\n children: city\n }),\n (0, $957cf12c60d95319$exports.jsx)(\"p\", {\n children: rule\n }),\n (0, $957cf12c60d95319$exports.jsx)(\"ol\", {\n className: \"list-inside list-decimal\",\n children: evidences.map(({ href: href, title: title })=>(0, $957cf12c60d95319$exports.jsx)(\"li\", {\n children: (0, $957cf12c60d95319$exports.jsx)(\"a\", {\n target: \"_blank\",\n className: \"text-blue-500 underline\",\n href: href,\n rel: \"noreferrer\",\n children: title\n })\n }, title))\n })\n ]\n }),\n (0, $957cf12c60d95319$exports.jsxs)(\"div\", {\n className: \"flex items-center justify-between\",\n children: [\n (0, $957cf12c60d95319$exports.jsx)(\"time\", {\n className: \"truncate\",\n title: date,\n children: date\n }),\n (0, $957cf12c60d95319$exports.jsx)(\"mdui-button\", {\n target: \"_blank\",\n href: comment_url,\n icon: \"edit\",\n children: \"Comment\"\n })\n ]\n })\n ]\n }))\n });\n }\n get type() {\n return $f19b1e4026dd9270$var$__classPrivateFieldGet(this, _CompanyList_type_accessor_storage, \"f\");\n }\n set type(value) {\n $f19b1e4026dd9270$var$__classPrivateFieldSet(this, _CompanyList_type_accessor_storage, value, \"f\");\n }\n mountedCallback() {\n (0, $67b5e04bae45038a$export$2e2bcd8739ae039).getList(this.type);\n }\n render() {\n const { list: list } = (0, $67b5e04bae45038a$export$2e2bcd8739ae039);\n return (0, $957cf12c60d95319$exports.jsx)(\"ul\", {\n className: \"grid gap-4 p-4 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4\",\n children: list.map((item)=>(0, $957cf12c60d95319$exports.jsx)(\"li\", {\n children: this.renderCase(item)\n }, item.name))\n });\n }\n };\n _CompanyList_type_accessor_storage = new WeakMap();\n $f19b1e4026dd9270$var$__setFunctionName(_classThis, \"CompanyList\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _type_decorators = [\n (0, $fa22c075827e0c31$export$af4b9a83f4b00434),\n (0, $kpaC8.observable)\n ];\n _mountedCallback_decorators = [\n (0, $fa22c075827e0c31$export$7203b476385689ae)(({ type: type })=>type)\n ];\n $f19b1e4026dd9270$var$__esDecorate(_classThis, null, _type_decorators, {\n kind: \"accessor\",\n name: \"type\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"type\" in obj,\n get: (obj)=>obj.type,\n set: (obj, value)=>{\n obj.type = value;\n }\n },\n metadata: _metadata\n }, _type_initializers, _type_extraInitializers);\n $f19b1e4026dd9270$var$__esDecorate(_classThis, null, _mountedCallback_decorators, {\n kind: \"method\",\n name: \"mountedCallback\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"mountedCallback\" in obj,\n get: (obj)=>obj.mountedCallback\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $f19b1e4026dd9270$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n CompanyList = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $f19b1e4026dd9270$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return CompanyList = _classThis;\n})();\n\n\nvar $f1ce7503a99226dc$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $f1ce7503a99226dc$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $f1ce7503a99226dc$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $f1ce7503a99226dc$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $f1ce7503a99226dc$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nconst { Route: $f1ce7503a99226dc$var$Route } = (0, $3a8ef450cf9a0028$export$baddd0131ee8c05b)();\nlet $f1ce7503a99226dc$export$7893f173408d95e4 = (()=>{\n var _PageBox_drawerOpen_accessor_storage;\n let _classDecorators = [\n (0, $fa22c075827e0c31$export$d8556a2a8f973135)({\n tagName: 'page-box',\n renderMode: $9b401f7840dd935f$export$bf347e2913cc7267\n }),\n (0, $fa22c075827e0c31$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _drawerOpen_decorators;\n let _drawerOpen_initializers = [];\n let _drawerOpen_extraInitializers = [];\n var PageBox = _classThis = class extends _classSuper {\n get drawerOpen() {\n return $f1ce7503a99226dc$var$__classPrivateFieldGet(this, _PageBox_drawerOpen_accessor_storage, \"f\");\n }\n set drawerOpen(value) {\n $f1ce7503a99226dc$var$__classPrivateFieldSet(this, _PageBox_drawerOpen_accessor_storage, value, \"f\");\n }\n render() {\n const { drawerOpen: drawerOpen } = this;\n return (0, $957cf12c60d95319$exports.jsxs)(\"mdui-layout\", {\n className: \"h-screen bg-white\",\n children: [\n (0, $957cf12c60d95319$exports.jsxs)(\"mdui-top-app-bar\", {\n className: \"flex items-center gap-4 p-4\",\n children: [\n (0, $957cf12c60d95319$exports.jsx)(\"mdui-button-icon\", {\n icon: \"menu\",\n onClick: ()=>this.drawerOpen = !this.drawerOpen\n }),\n (0, $957cf12c60d95319$exports.jsx)(\"mdui-top-app-bar-title\", {\n children: \"Anti 996\"\n }),\n (0, $957cf12c60d95319$exports.jsx)(\"div\", {\n className: \"flex-1\"\n }),\n (0, $957cf12c60d95319$exports.jsx)(\"mdui-button-icon\", {\n icon: \"more_vert\"\n })\n ]\n }),\n (0, $957cf12c60d95319$exports.jsx)(\"mdui-navigation-drawer\", {\n open: drawerOpen,\n closeOnOverlayClick: true,\n onClosed: ()=>this.drawerOpen = false,\n children: (0, $957cf12c60d95319$exports.jsxs)(\"mdui-list\", {\n onClick: ()=>this.drawerOpen = false,\n children: [\n (0, $957cf12c60d95319$exports.jsx)(\"mdui-list-item\", {\n href: \"#?type=996\",\n children: \"996\"\n }),\n (0, $957cf12c60d95319$exports.jsx)(\"mdui-list-item\", {\n href: \"#?type=955\",\n children: \"955\"\n })\n ]\n })\n }),\n (0, $957cf12c60d95319$exports.jsx)(\"mdui-layout-main\", {\n children: (0, $957cf12c60d95319$exports.jsx)($f1ce7503a99226dc$var$Route, {\n path: \"\",\n component: (0, $f19b1e4026dd9270$export$5e2d3684e2aeb1e3)\n })\n })\n ]\n });\n }\n constructor(){\n super(...arguments);\n _PageBox_drawerOpen_accessor_storage.set(this, $f1ce7503a99226dc$var$__runInitializers(this, _drawerOpen_initializers, false));\n $f1ce7503a99226dc$var$__runInitializers(this, _drawerOpen_extraInitializers);\n }\n };\n _PageBox_drawerOpen_accessor_storage = new WeakMap();\n $f1ce7503a99226dc$var$__setFunctionName(_classThis, \"PageBox\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _drawerOpen_decorators = [\n (0, $fa22c075827e0c31$export$af4b9a83f4b00434),\n (0, $kpaC8.observable)\n ];\n $f1ce7503a99226dc$var$__esDecorate(_classThis, null, _drawerOpen_decorators, {\n kind: \"accessor\",\n name: \"drawerOpen\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"drawerOpen\" in obj,\n get: (obj)=>obj.drawerOpen,\n set: (obj, value)=>{\n obj.drawerOpen = value;\n }\n },\n metadata: _metadata\n }, _drawerOpen_initializers, _drawerOpen_extraInitializers);\n $f1ce7503a99226dc$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n PageBox = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $f1ce7503a99226dc$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return PageBox = _classThis;\n})();\n\n\n\n(0, $5ec47347fc6130b4$export$dfb5619354ba860)();\n(0, $kpaC8.configure)({\n enforceActions: 'never'\n});\nself.addEventListener('unhandledrejection', ({ reason: reason })=>{\n const { message: message } = reason;\n if (message) self.alert(message);\n});\nconst { serviceWorker: $ce967277cb0dfddc$var$serviceWorker } = window.navigator;\n$ce967277cb0dfddc$var$serviceWorker === null || $ce967277cb0dfddc$var$serviceWorker === void 0 || $ce967277cb0dfddc$var$serviceWorker.register('sw.js').then((0, $kYZOD.serviceWorkerUpdate)).then((worker)=>{\n if (window.confirm('New version of this Web App detected, update now?')) worker.postMessage({\n type: 'SKIP_WAITING'\n });\n});\n$ce967277cb0dfddc$var$serviceWorker === null || $ce967277cb0dfddc$var$serviceWorker === void 0 || $ce967277cb0dfddc$var$serviceWorker.addEventListener('controllerchange', ()=>window.location.reload());\n(0, $kYZOD.documentReady).then(()=>new (0, $6cc92a54d783d8e3$exports.DOMRenderer)().render((0, $957cf12c60d95319$exports.jsx)((0, $f1ce7503a99226dc$export$7893f173408d95e4), {}), document.body, (0, $9b401f7840dd935f$export$bf347e2913cc7267)));\n\n\n//# sourceMappingURL=index.ae813e81.js.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VNode = exports.VNodeMeta = void 0;\nvar tslib_1 = require(\"tslib\");\nvar declarative_shadow_dom_polyfill_1 = require(\"declarative-shadow-dom-polyfill\");\nvar web_utility_1 = require(\"web-utility\");\nvar VNodeMeta = /** @class */ (function () {\n function VNodeMeta() {\n this.children = [];\n }\n return VNodeMeta;\n}());\nexports.VNodeMeta = VNodeMeta;\nvar VNode = /** @class */ (function (_super) {\n tslib_1.__extends(VNode, _super);\n function VNode(_b) {\n var e_1, _c, _d, e_2, _e;\n var _this = this;\n var children = _b.children, meta = tslib_1.__rest(_b, [\"children\"]);\n _this = _super.call(this) || this;\n _this.children = [];\n Object.assign(_this, meta);\n try {\n for (var _f = tslib_1.__values(children || []), _g = _f.next(); !_g.done; _g = _f.next()) {\n var vNode = _g.value;\n (_d = _this.children).push.apply(_d, tslib_1.__spreadArray([], tslib_1.__read((_a.isFragment(vNode) ? vNode.children || [] : [vNode])), false));\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_g && !_g.done && (_c = _f.return)) _c.call(_f);\n }\n finally { if (e_1) throw e_1.error; }\n }\n try {\n for (var _h = tslib_1.__values(_this.children), _j = _h.next(); !_j.done; _j = _h.next()) {\n var child = _j.value;\n child.parent = _this;\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_j && !_j.done && (_e = _h.return)) _e.call(_h);\n }\n finally { if (e_2) throw e_2.error; }\n }\n var tagName = meta.tagName, is = meta.is, props = meta.props;\n if (!tagName && !(props === null || props === void 0 ? void 0 : props.className) && !is)\n return _this;\n _this.selector = [\n tagName === null || tagName === void 0 ? void 0 : tagName.toLowerCase(),\n (props === null || props === void 0 ? void 0 : props.className) && \".\".concat(props.className.trim().replace(/\\s+/, '.')),\n is && \"[is=\\\"\".concat(is, \"\\\"]\")\n ]\n .filter(Boolean)\n .join('');\n return _this;\n }\n VNode.prototype.walkUp = function () {\n var current;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n current = this;\n _b.label = 1;\n case 1:\n if (!(current = current.parent)) return [3 /*break*/, 3];\n return [4 /*yield*/, current];\n case 2:\n _b.sent();\n return [3 /*break*/, 1];\n case 3: return [2 /*return*/];\n }\n });\n };\n VNode.prototype.namespaceOf = function (tagName) {\n var e_3, _b;\n if (web_utility_1.XMLNamespace[tagName])\n return web_utility_1.XMLNamespace[tagName];\n try {\n for (var _c = tslib_1.__values(this.walkUp()), _d = _c.next(); !_d.done; _d = _c.next()) {\n var namespace = _d.value.namespace;\n if (namespace)\n return namespace;\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n }\n finally { if (e_3) throw e_3.error; }\n }\n return web_utility_1.XMLNamespace.html;\n };\n VNode.prototype.createDOM = function (document) {\n if (document === void 0) { document = globalThis.document; }\n var _b = this, tagName = _b.tagName, is = _b.is, text = _b.text;\n return (this.node = text\n ? document.createTextNode(text)\n : !tagName\n ? document.createDocumentFragment()\n : document.createElementNS((this.namespace || (this.namespace = this.namespaceOf(tagName))), tagName, {\n is: is\n }));\n };\n VNode.prototype.toJSON = function () {\n var _b = this, key = _b.key, text = _b.text, selector = _b.selector, namespace = _b.namespace, tagName = _b.tagName, is = _b.is, props = _b.props, style = _b.style, children = _b.children;\n return JSON.parse(JSON.stringify({ key: key, text: text, selector: selector, namespace: namespace, tagName: tagName, is: is, props: props, style: style, children: children }));\n };\n VNode.prototype.generateElementXML = function () {\n var _b, tagName, props, style, children, node, body, shadowRoots, innerHTML, restProps, _c, _d, _e, _i, key, _f, _g, _h, _j, key, children_1, children_1_1, child, e_4_1;\n var e_4, _k;\n return tslib_1.__generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n _b = this, tagName = _b.tagName, props = _b.props, style = _b.style, children = _b.children, node = _b.node;\n if (!(tagName.includes('-') && (0, web_utility_1.elementTypeOf)(tagName) === 'html')) return [3 /*break*/, 2];\n body = ((node === null || node === void 0 ? void 0 : node.ownerDocument) || document).implementation.createHTMLDocument().body;\n body.innerHTML = \"<\".concat(tagName, \"></\").concat(tagName, \">\");\n shadowRoots = tslib_1.__spreadArray([], tslib_1.__read((0, declarative_shadow_dom_polyfill_1.findShadowRoots)(body)), false);\n return [4 /*yield*/, body.getHTML({ serializableShadowRoots: true, shadowRoots: shadowRoots })];\n case 1:\n _l.sent();\n return [3 /*break*/, 29];\n case 2:\n innerHTML = props.innerHTML, restProps = tslib_1.__rest(props, [\"innerHTML\"]);\n return [4 /*yield*/, \"<\".concat(tagName)];\n case 3:\n _l.sent();\n _c = restProps;\n _d = [];\n for (_e in _c)\n _d.push(_e);\n _i = 0;\n _l.label = 4;\n case 4:\n if (!(_i < _d.length)) return [3 /*break*/, 7];\n _e = _d[_i];\n if (!(_e in _c)) return [3 /*break*/, 6];\n key = _e;\n return [4 /*yield*/, \" \".concat(_a.propsMap[key] || key, \"=\\\"\").concat(restProps[key], \"\\\"\")];\n case 5:\n _l.sent();\n _l.label = 6;\n case 6:\n _i++;\n return [3 /*break*/, 4];\n case 7:\n if (!style) return [3 /*break*/, 14];\n return [4 /*yield*/, \" style=\\\"\"];\n case 8:\n _l.sent();\n _f = style;\n _g = [];\n for (_h in _f)\n _g.push(_h);\n _j = 0;\n _l.label = 9;\n case 9:\n if (!(_j < _g.length)) return [3 /*break*/, 12];\n _h = _g[_j];\n if (!(_h in _f)) return [3 /*break*/, 11];\n key = _h;\n return [4 /*yield*/, \"\".concat((0, web_utility_1.toHyphenCase)(key), \":\").concat(style[key], \";\")];\n case 10:\n _l.sent();\n _l.label = 11;\n case 11:\n _j++;\n return [3 /*break*/, 9];\n case 12: return [4 /*yield*/, \"\\\"\"];\n case 13:\n _l.sent();\n _l.label = 14;\n case 14:\n if (!innerHTML) return [3 /*break*/, 16];\n return [4 /*yield*/, \">\".concat(innerHTML, \"</\").concat(tagName, \">\")];\n case 15:\n _l.sent();\n return [3 /*break*/, 29];\n case 16:\n if (!children[0]) return [3 /*break*/, 27];\n return [4 /*yield*/, '>'];\n case 17:\n _l.sent();\n _l.label = 18;\n case 18:\n _l.trys.push([18, 23, 24, 25]);\n children_1 = tslib_1.__values(children), children_1_1 = children_1.next();\n _l.label = 19;\n case 19:\n if (!!children_1_1.done) return [3 /*break*/, 22];\n child = children_1_1.value;\n return [5 /*yield**/, tslib_1.__values(child.generateXML())];\n case 20:\n _l.sent();\n _l.label = 21;\n case 21:\n children_1_1 = children_1.next();\n return [3 /*break*/, 19];\n case 22: return [3 /*break*/, 25];\n case 23:\n e_4_1 = _l.sent();\n e_4 = { error: e_4_1 };\n return [3 /*break*/, 25];\n case 24:\n try {\n if (children_1_1 && !children_1_1.done && (_k = children_1.return)) _k.call(children_1);\n }\n finally { if (e_4) throw e_4.error; }\n return [7 /*endfinally*/];\n case 25: return [4 /*yield*/, \"</\".concat(tagName, \">\")];\n case 26:\n _l.sent();\n return [3 /*break*/, 29];\n case 27: return [4 /*yield*/, tagName === 'script' ? '></script>' : ' />'];\n case 28:\n _l.sent();\n _l.label = 29;\n case 29: return [2 /*return*/];\n }\n });\n };\n VNode.prototype.generateXML = function () {\n var mode;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!_a.isFragment(this)) return [3 /*break*/, 5];\n return [4 /*yield*/, '<template'];\n case 1:\n _b.sent();\n mode = (this.node || {}).mode;\n if (!mode) return [3 /*break*/, 3];\n return [4 /*yield*/, \" shadowrootmode=\\\"\".concat(mode, \"\\\"\")];\n case 2:\n _b.sent();\n _b.label = 3;\n case 3: return [4 /*yield*/, '>'];\n case 4:\n _b.sent();\n return [3 /*break*/, 9];\n case 5:\n if (!(this.text != null)) return [3 /*break*/, 7];\n return [4 /*yield*/, this.text];\n case 6:\n _b.sent();\n return [3 /*break*/, 9];\n case 7: return [5 /*yield**/, tslib_1.__values(this.generateElementXML())];\n case 8:\n _b.sent();\n _b.label = 9;\n case 9: return [2 /*return*/];\n }\n });\n };\n VNode.isFragment = function (_b) {\n var key = _b.key, node = _b.node, children = _b.children, rest = tslib_1.__rest(_b, [\"key\", \"node\", \"children\"]);\n for (var key_1 in rest)\n if (!(0, web_utility_1.isEmpty)(rest[key_1]))\n return false;\n return true;\n };\n VNode.fromDOM = function (node) {\n var _this = this;\n if (node instanceof Text)\n return new _a({ node: node, text: node.nodeValue });\n if (!(node instanceof Element))\n return new _a({ node: node });\n var _b = node, namespaceURI = _b.namespaceURI, tagName = _b.tagName, attributes = _b.attributes, style = _b.style, childNodes = _b.childNodes;\n var vNode = {\n node: node,\n namespace: namespaceURI,\n tagName: tagName.toLowerCase(),\n is: node.getAttribute('is')\n };\n var props = Array.from(attributes, function (_b) {\n var name = _b.name, value = _b.value;\n return name !== 'style' && [_this.attrsMap[name] || name, value];\n }).filter(Boolean);\n if (props[0])\n vNode.props = Object.fromEntries(props);\n var styles = Array.from(style, function (key) { return [key, style[key]]; });\n if (styles[0])\n vNode.style = Object.fromEntries(styles);\n var children = Array.from(childNodes, function (node) { return _a.fromDOM(node); });\n if (children[0])\n vNode.children = children;\n return new _a(vNode);\n };\n var _a;\n _a = VNode;\n VNode.propsMap = { httpEquiv: 'http-equiv', className: 'class', htmlFor: 'for' };\n VNode.attrsMap = Object.fromEntries(Object.entries(_a.propsMap).map(function (item) { return item.reverse(); }));\n return VNode;\n}(VNodeMeta));\nexports.VNode = VNode;\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","var __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n(function (factory) {\n if (typeof module === \"object\" && typeof module.exports === \"object\") {\n var v = factory(require, exports);\n if (v !== undefined) module.exports = v;\n }\n else if (typeof define === \"function\" && define.amd) {\n define([\"require\", \"exports\"], factory);\n }\n})(function (require, exports) {\n \"use strict\";\n var _a, _b, _c, _d;\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.findShadowRoots = findShadowRoots;\n exports.generateHTML = generateHTML;\n exports.getHTML = getHTML;\n exports.attachDeclarativeShadowRoots = attachDeclarativeShadowRoots;\n exports.setHTMLUnsafe = setHTMLUnsafe;\n exports.parseHTMLUnsafe = parseHTMLUnsafe;\n var xmlSerializer = new XMLSerializer(), attachShadow = HTMLElement.prototype.attachShadow, shadowDOMs = new WeakMap();\n HTMLElement.prototype.attachShadow = function (options) {\n var shadowRoot = attachShadow.call(this, options);\n shadowDOMs.set(this, shadowRoot);\n return shadowRoot;\n };\n function findShadowRoots(root) {\n var walker, currentNode, shadowRoot;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {\n acceptNode: function (node) {\n return node instanceof HTMLElement\n ? NodeFilter.FILTER_ACCEPT\n : NodeFilter.FILTER_SKIP;\n }\n });\n currentNode = null;\n _a.label = 1;\n case 1:\n if (!(currentNode = walker.nextNode())) return [3 /*break*/, 5];\n shadowRoot = shadowDOMs.get(currentNode);\n if (!shadowRoot) return [3 /*break*/, 4];\n return [4 /*yield*/, shadowRoot];\n case 2:\n _a.sent();\n return [5 /*yield**/, __values(findShadowRoots(shadowRoot))];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4: return [3 /*break*/, 1];\n case 5: return [2 /*return*/];\n }\n });\n }\n function generateHTML(root, _a) {\n var walker, currentNode, tagName, attributes, shadowRoot, shadowRootHTML, nextSibling, parentElement;\n var _b = _a === void 0 ? {} : _a, serializableShadowRoots = _b.serializableShadowRoots, shadowRoots = _b.shadowRoots;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n shadowRoots = (shadowRoots === null || shadowRoots === void 0 ? void 0 : shadowRoots.filter(Boolean)) || [];\n if (!(!serializableShadowRoots || !shadowRoots[0])) return [3 /*break*/, 2];\n return [4 /*yield*/, root.innerHTML];\n case 1:\n _c.sent();\n return [2 /*return*/];\n case 2:\n walker = document.createTreeWalker(root, NodeFilter.SHOW_ALL, {\n acceptNode: function (node) {\n return node === root || node instanceof SVGElement\n ? NodeFilter.FILTER_SKIP\n : NodeFilter.FILTER_ACCEPT;\n }\n });\n currentNode = null;\n _c.label = 3;\n case 3:\n if (!(currentNode = walker.nextNode())) return [3 /*break*/, 19];\n if (!(currentNode instanceof CDATASection)) return [3 /*break*/, 5];\n return [4 /*yield*/, \"<![CDATA[\".concat(currentNode.nodeValue, \"]]>\")];\n case 4:\n _c.sent();\n return [3 /*break*/, 16];\n case 5:\n if (!(currentNode instanceof Text)) return [3 /*break*/, 7];\n return [4 /*yield*/, currentNode.nodeValue || \"\"];\n case 6:\n _c.sent();\n return [3 /*break*/, 16];\n case 7:\n if (!(currentNode instanceof Comment)) return [3 /*break*/, 9];\n return [4 /*yield*/, \"<!--\".concat(currentNode.nodeValue, \"-->\")];\n case 8:\n _c.sent();\n return [3 /*break*/, 16];\n case 9:\n if (!(currentNode instanceof SVGElement)) return [3 /*break*/, 11];\n return [4 /*yield*/, xmlSerializer.serializeToString(currentNode)];\n case 10:\n _c.sent();\n return [3 /*break*/, 16];\n case 11:\n if (!(currentNode instanceof Element)) return [3 /*break*/, 16];\n tagName = currentNode.tagName.toLowerCase(), attributes = __spreadArray([], __read(currentNode.attributes), false).map(function (_a) {\n var name = _a.name, value = _a.value;\n return \"\".concat(name, \"=\").concat(JSON.parse(value));\n }), shadowRoot = shadowDOMs.get(currentNode);\n return [4 /*yield*/, \"<\".concat(__spreadArray([tagName], __read(attributes), false).join(\" \"), \">\")];\n case 12:\n _c.sent();\n if (!(shadowRoot && shadowRoots.includes(shadowRoot))) return [3 /*break*/, 14];\n shadowRootHTML = __spreadArray([], __read(generateHTML(shadowRoot, { serializableShadowRoots: serializableShadowRoots, shadowRoots: shadowRoots })), false).join(\"\");\n return [4 /*yield*/, \"<template shadowrootmode=\\\"\".concat(shadowRoot.mode, \"\\\">\").concat(shadowRootHTML, \"</template>\")];\n case 13:\n _c.sent();\n _c.label = 14;\n case 14:\n if (!!currentNode.childNodes[0]) return [3 /*break*/, 16];\n return [4 /*yield*/, \"</\".concat(tagName, \">\")];\n case 15:\n _c.sent();\n _c.label = 16;\n case 16:\n nextSibling = currentNode.nextSibling, parentElement = currentNode.parentElement;\n if (!(!nextSibling && parentElement && parentElement !== root)) return [3 /*break*/, 18];\n return [4 /*yield*/, \"</\".concat(parentElement.tagName.toLowerCase(), \">\")];\n case 17:\n _c.sent();\n _c.label = 18;\n case 18: return [3 /*break*/, 3];\n case 19: return [2 /*return*/];\n }\n });\n }\n /**\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/getHTML}\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/getHTML}\n */\n function getHTML(options) {\n if (options === void 0) { options = {}; }\n return __spreadArray([], __read(generateHTML(this, options)), false).join(\"\");\n }\n function attachDeclarativeShadowRoots(root) {\n var e_1, _a;\n var templates = root.querySelectorAll(\"template[shadowrootmode]\");\n try {\n for (var templates_1 = __values(templates), templates_1_1 = templates_1.next(); !templates_1_1.done; templates_1_1 = templates_1.next()) {\n var template = templates_1_1.value;\n var parentElement = template.parentElement, content = template.content;\n var shadowRoot = parentElement.attachShadow({\n mode: template.getAttribute(\"shadowrootmode\")\n });\n shadowRoot.append(content);\n template.remove();\n attachDeclarativeShadowRoots(shadowRoot);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (templates_1_1 && !templates_1_1.done && (_a = templates_1.return)) _a.call(templates_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n /**\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/setHTMLUnsafe}\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/setHTMLUnsafe}\n */\n function setHTMLUnsafe(html) {\n this.innerHTML = html;\n attachDeclarativeShadowRoots(this);\n }\n var domParser = new DOMParser(), initDocument = function (_a) {\n var _b = _a === void 0 ? document : _a, documentElement = _b.documentElement;\n return attachDeclarativeShadowRoots(documentElement);\n };\n /**\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Document/parseHTMLUnsafe_static}\n */\n function parseHTMLUnsafe(html) {\n var document = domParser.parseFromString(html, \"text/html\");\n initDocument(document);\n return document;\n }\n (_a = Element.prototype).getHTML || (_a.getHTML = getHTML);\n (_b = Element.prototype).setHTMLUnsafe || (_b.setHTMLUnsafe = setHTMLUnsafe);\n (_c = ShadowRoot.prototype).getHTML || (_c.getHTML = getHTML);\n (_d = ShadowRoot.prototype).setHTMLUnsafe || (_d.setHTMLUnsafe = setHTMLUnsafe);\n Document.parseHTMLUnsafe || (Document.parseHTMLUnsafe = parseHTMLUnsafe);\n new Promise(function (resolve) {\n if (document.readyState === \"complete\")\n resolve();\n else {\n document.addEventListener(\"DOMContentLoaded\", resolve);\n window.addEventListener(\"load\", resolve);\n }\n }).then(function () { return initDocument(); });\n});\n//# sourceMappingURL=index.js.map","export interface HTMLSerializationOptions {\n serializableShadowRoots?: boolean;\n shadowRoots?: ShadowRoot[];\n}\n\nconst xmlSerializer = new XMLSerializer(),\n { attachShadow } = HTMLElement.prototype,\n shadowDOMs = new WeakMap<Element, ShadowRoot>();\n\nHTMLElement.prototype.attachShadow = function (options: ShadowRootInit) {\n const shadowRoot = attachShadow.call(this, options);\n\n shadowDOMs.set(this, shadowRoot);\n\n return shadowRoot;\n};\n\nexport function* findShadowRoots(root: Node): Generator<ShadowRoot> {\n const walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node: Element) =>\n node instanceof HTMLElement\n ? NodeFilter.FILTER_ACCEPT\n : NodeFilter.FILTER_SKIP\n });\n var currentNode: HTMLElement | null = null;\n\n while ((currentNode = walker.nextNode() as HTMLElement)) {\n const shadowRoot = shadowDOMs.get(currentNode);\n\n if (shadowRoot) {\n yield shadowRoot;\n yield* findShadowRoots(shadowRoot);\n }\n }\n}\n\nexport function* generateHTML(\n root: Node,\n { serializableShadowRoots, shadowRoots }: HTMLSerializationOptions = {}\n): Generator<string> {\n shadowRoots = shadowRoots?.filter(Boolean) || [];\n\n if (!serializableShadowRoots || !shadowRoots[0]) {\n yield (root as HTMLElement).innerHTML;\n return;\n }\n\n const walker = document.createTreeWalker(root, NodeFilter.SHOW_ALL, {\n acceptNode: (node) =>\n node === root || node instanceof SVGElement\n ? NodeFilter.FILTER_SKIP\n : NodeFilter.FILTER_ACCEPT\n });\n var currentNode: Node | null = null;\n\n while ((currentNode = walker.nextNode())) {\n if (currentNode instanceof CDATASection)\n yield `<![CDATA[${currentNode.nodeValue}]]>`;\n else if (currentNode instanceof Text) yield currentNode.nodeValue || \"\";\n else if (currentNode instanceof Comment)\n yield `<!--${currentNode.nodeValue}-->`;\n else if (currentNode instanceof SVGElement)\n yield xmlSerializer.serializeToString(currentNode);\n else if (currentNode instanceof Element) {\n const tagName = currentNode.tagName.toLowerCase(),\n attributes = [...currentNode.attributes].map(\n ({ name, value }) => `${name}=${JSON.parse(value)}`\n ),\n shadowRoot = shadowDOMs.get(currentNode);\n\n yield `<${[tagName, ...attributes].join(\" \")}>`;\n\n if (shadowRoot && shadowRoots.includes(shadowRoot)) {\n const shadowRootHTML = [\n ...generateHTML(shadowRoot, { serializableShadowRoots, shadowRoots })\n ].join(\"\");\n\n yield `<template shadowrootmode=\"${shadowRoot.mode}\">${shadowRootHTML}</template>`;\n }\n if (!currentNode.childNodes[0]) yield `</${tagName}>`;\n }\n const { nextSibling, parentElement } = currentNode;\n\n if (!nextSibling && parentElement && parentElement !== root)\n yield `</${parentElement.tagName.toLowerCase()}>`;\n }\n}\n\n/**\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/getHTML}\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/getHTML}\n */\nexport function getHTML(\n this: Element | ShadowRoot,\n options: HTMLSerializationOptions = {}\n) {\n return [...generateHTML(this, options)].join(\"\");\n}\n\nexport function attachDeclarativeShadowRoots(root: HTMLElement | ShadowRoot) {\n const templates = root.querySelectorAll<HTMLTemplateElement>(\n \"template[shadowrootmode]\"\n );\n\n for (const template of templates) {\n const { parentElement, content } = template;\n\n const shadowRoot = parentElement!.attachShadow({\n mode: template.getAttribute(\"shadowrootmode\") as ShadowRootMode\n });\n\n shadowRoot.append(content);\n\n template.remove();\n\n attachDeclarativeShadowRoots(shadowRoot);\n }\n}\n/**\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/setHTMLUnsafe}\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/setHTMLUnsafe}\n */\nexport function setHTMLUnsafe(this: Element | ShadowRoot, html: string) {\n this.innerHTML = html;\n\n attachDeclarativeShadowRoots(this as HTMLElement);\n}\n\nconst domParser = new DOMParser(),\n initDocument = ({ documentElement } = document) =>\n attachDeclarativeShadowRoots(documentElement);\n/**\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Document/parseHTMLUnsafe_static}\n */\nexport function parseHTMLUnsafe(html: string) {\n const document = domParser.parseFromString(html, \"text/html\");\n\n initDocument(document);\n\n return document;\n}\n\ndeclare global {\n interface ShadowRootSerializable {\n getHTML: typeof getHTML;\n }\n interface Element extends ShadowRootSerializable {}\n interface ShadowRoot extends ShadowRootSerializable {}\n}\n\nElement.prototype.getHTML ||= getHTML;\nElement.prototype.setHTMLUnsafe ||= setHTMLUnsafe;\nShadowRoot.prototype.getHTML ||= getHTML;\nShadowRoot.prototype.setHTMLUnsafe ||= setHTMLUnsafe;\nDocument.parseHTMLUnsafe ||= parseHTMLUnsafe;\n\nnew Promise<Event | void>((resolve) => {\n if (document.readyState === \"complete\") resolve();\n else {\n document.addEventListener(\"DOMContentLoaded\", resolve);\n window.addEventListener(\"load\", resolve);\n }\n}).then(() => initDocument());\n","\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $9b05bcda60cc529c$exports = {};\n\n$parcel$export($9b05bcda60cc529c$exports, \"likeNull\", function () { return $9b05bcda60cc529c$export$61cc6ed0f143570b; });\n$parcel$export($9b05bcda60cc529c$exports, \"isEmpty\", function () { return $9b05bcda60cc529c$export$dd1bc94b04021eeb; });\n$parcel$export($9b05bcda60cc529c$exports, \"classNameOf\", function () { return $9b05bcda60cc529c$export$a09f818797e212c4; });\n$parcel$export($9b05bcda60cc529c$exports, \"assertInheritance\", function () { return $9b05bcda60cc529c$export$170f4e08cad8229d; });\n$parcel$export($9b05bcda60cc529c$exports, \"proxyPrototype\", function () { return $9b05bcda60cc529c$export$2a489b3f92f4996a; });\n$parcel$export($9b05bcda60cc529c$exports, \"isUnsafeNumeric\", function () { return $9b05bcda60cc529c$export$67a6ce548ae77071; });\n$parcel$export($9b05bcda60cc529c$exports, \"byteLength\", function () { return $9b05bcda60cc529c$export$a48f0734ac7c2329; });\n$parcel$export($9b05bcda60cc529c$exports, \"toHyphenCase\", function () { return $9b05bcda60cc529c$export$3f34ca2fef821bbd; });\n$parcel$export($9b05bcda60cc529c$exports, \"toCamelCase\", function () { return $9b05bcda60cc529c$export$86f54f62aa7a7514; });\n$parcel$export($9b05bcda60cc529c$exports, \"uniqueID\", function () { return $9b05bcda60cc529c$export$89912e019eef22aa; });\n$parcel$export($9b05bcda60cc529c$exports, \"objectFrom\", function () { return $9b05bcda60cc529c$export$1c8ba402144543e5; });\n$parcel$export($9b05bcda60cc529c$exports, \"DiffStatus\", function () { return $9b05bcda60cc529c$export$2ddabb89308e1a22; });\n$parcel$export($9b05bcda60cc529c$exports, \"diffKeys\", function () { return $9b05bcda60cc529c$export$14527669107aa301; });\n$parcel$export($9b05bcda60cc529c$exports, \"groupBy\", function () { return $9b05bcda60cc529c$export$3f063810d7bf01bd; });\n$parcel$export($9b05bcda60cc529c$exports, \"likeArray\", function () { return $9b05bcda60cc529c$export$b5a4d6f439a5044d; });\n$parcel$export($9b05bcda60cc529c$exports, \"isTypedArray\", function () { return $9b05bcda60cc529c$export$b119cc7e1840e59c; });\n$parcel$export($9b05bcda60cc529c$exports, \"makeArray\", function () { return $9b05bcda60cc529c$export$7b85fd78dd236198; });\n$parcel$export($9b05bcda60cc529c$exports, \"splitArray\", function () { return $9b05bcda60cc529c$export$697c3df919c0e61a; });\n$parcel$export($9b05bcda60cc529c$exports, \"findDeep\", function () { return $9b05bcda60cc529c$export$e6b5ff3168b5942b; });\n$parcel$export($9b05bcda60cc529c$exports, \"countBy\", function () { return $9b05bcda60cc529c$export$1d012a0dff3dab06; });\n$parcel$export($9b05bcda60cc529c$exports, \"cache\", function () { return $9b05bcda60cc529c$export$69a3209f1a06c04d; });\n$parcel$export($9b05bcda60cc529c$exports, \"createAsyncIterator\", function () { return $9b05bcda60cc529c$export$86c18c6347f4a8c4; });\n$parcel$export($9b05bcda60cc529c$exports, \"mergeStream\", function () { return $9b05bcda60cc529c$export$dce9414bed0662c; });\n$parcel$export($9b05bcda60cc529c$exports, \"ByteSize\", function () { return $9b05bcda60cc529c$export$271f7c16f175f804; });\nvar $6a9944941b4c1893$exports = {};\n\n$parcel$export($6a9944941b4c1893$exports, \"sum\", function () { return $6a9944941b4c1893$export$8a63f25cc62965f1; });\n$parcel$export($6a9944941b4c1893$exports, \"averageOf\", function () { return $6a9944941b4c1893$export$e1f36757ecda301d; });\n$parcel$export($6a9944941b4c1893$exports, \"varianceOf\", function () { return $6a9944941b4c1893$export$8e694e1eafd55acb; });\n$parcel$export($6a9944941b4c1893$exports, \"standardDeviationOf\", function () { return $6a9944941b4c1893$export$57d7c52a66287430; });\n$parcel$export($6a9944941b4c1893$exports, \"hypotenuseOf\", function () { return $6a9944941b4c1893$export$2b4693832ca3ce16; });\n$parcel$export($6a9944941b4c1893$exports, \"carryFloat\", function () { return $6a9944941b4c1893$export$5b784e078da1ce6; });\n$parcel$export($6a9944941b4c1893$exports, \"fixFloat\", function () { return $6a9944941b4c1893$export$17ec9c9f4f23588c; });\n$parcel$export($6a9944941b4c1893$exports, \"Scalar\", function () { return $6a9944941b4c1893$export$595dbf49c602a1f; });\nfunction $6a9944941b4c1893$export$8a63f25cc62965f1(...data) {\n return data.reduce((sum, item)=>sum + item, 0);\n}\nfunction $6a9944941b4c1893$export$e1f36757ecda301d(...data) {\n return $6a9944941b4c1893$export$8a63f25cc62965f1(...data) / data.length;\n}\nfunction $6a9944941b4c1893$export$8e694e1eafd55acb(data, sample = false) {\n const average = $6a9944941b4c1893$export$e1f36757ecda301d(...data);\n const summary = $6a9944941b4c1893$export$8a63f25cc62965f1(...data.map((item)=>(item - average) ** 2));\n return summary / (data.length - (sample ? 1 : 0));\n}\nfunction $6a9944941b4c1893$export$57d7c52a66287430(data, sample = false) {\n return Math.sqrt($6a9944941b4c1893$export$8e694e1eafd55acb(data, sample));\n}\nfunction $6a9944941b4c1893$export$2b4693832ca3ce16(...data) {\n return Math.sqrt($6a9944941b4c1893$export$8a63f25cc62965f1(...data.map((item)=>item ** 2)));\n}\nfunction $6a9944941b4c1893$export$5b784e078da1ce6(raw, length) {\n const text = raw.toFixed(length + 2);\n const offset = text.indexOf('.') + length + 1;\n const cut = (text)=>text.slice(0, offset - (length ? 0 : 1));\n if (!+text.slice(offset)) return cut(text);\n const result = cut((+cut(text) + 10 ** -length).toFixed(length));\n return result.includes('.') ? result.padEnd(offset, '0') : result;\n}\nfunction $6a9944941b4c1893$export$17ec9c9f4f23588c(raw, length = 2) {\n const text = raw.toFixed(length + 2);\n const floatOffset = text.indexOf('.');\n if (floatOffset < 0) return length ? `${text}.${'0'.repeat(length)}` : text;\n const offset = floatOffset + length + 1;\n const before = +text[offset - 1], anchor = +text[offset], after = +text[offset + 1];\n const carry = anchor > 5 || anchor === 5 && (!!after || !!(before % 2));\n if (carry) return $6a9944941b4c1893$export$5b784e078da1ce6(raw, length);\n const result = text.slice(0, offset - (length ? 0 : 1));\n return result.includes('.') ? result.padEnd(offset, '0') : result;\n}\nclass $6a9944941b4c1893$export$595dbf49c602a1f {\n constructor(value){\n this.value = value;\n }\n valueOf() {\n return this.value;\n }\n toShortString(fractionDigits = 2) {\n const { units: units, value: value } = this;\n const { base: base, name: name } = [\n ...units\n ].reverse().find(({ base: base })=>Math.abs(value) >= base) || units[0];\n return `${(value / base).toFixed(fractionDigits)} ${name}`;\n }\n static distanceOf(a, b) {\n return Reflect.construct(this, [\n a - b\n ]);\n }\n}\n\n\nfunction $9b05bcda60cc529c$export$61cc6ed0f143570b(value) {\n return !(value != null) || Number.isNaN(value);\n}\nfunction $9b05bcda60cc529c$export$dd1bc94b04021eeb(value) {\n return $9b05bcda60cc529c$export$61cc6ed0f143570b(value) || (typeof value === 'object' ? !Object.keys(value).length : value === '');\n}\nconst $9b05bcda60cc529c$export$a09f818797e212c4 = (data)=>Object.prototype.toString.call(data).slice(8, -1);\nfunction $9b05bcda60cc529c$export$170f4e08cad8229d(Sub, Super) {\n return Sub.prototype instanceof Super;\n}\nfunction $9b05bcda60cc529c$export$2a489b3f92f4996a(target, dataStore, setter) {\n const prototype = Object.getPrototypeOf(target);\n const prototypeProxy = new Proxy(prototype, {\n set: (_, key, value, receiver)=>{\n if (key in receiver) Reflect.set(prototype, key, value, receiver);\n else dataStore[key] = value;\n setter?.(key, value);\n return true;\n },\n get: (prototype, key, receiver)=>key in dataStore ? dataStore[key] : Reflect.get(prototype, key, receiver)\n });\n Object.setPrototypeOf(target, prototypeProxy);\n}\nfunction $9b05bcda60cc529c$export$67a6ce548ae77071(raw) {\n return /^[\\d.]+$/.test(raw) && raw.localeCompare(Number.MAX_SAFE_INTEGER + '', undefined, {\n numeric: true\n }) > 0;\n}\nfunction $9b05bcda60cc529c$export$a48f0734ac7c2329(raw) {\n return raw.replace(/[^\\u0021-\\u007e\\uff61-\\uffef]/g, 'xx').length;\n}\nfunction $9b05bcda60cc529c$export$3f34ca2fef821bbd(raw) {\n return raw.replace(/[A-Z]+|[^A-Za-z][A-Za-z]/g, (match, offset)=>`${offset ? '-' : ''}${(match[1] || match[0]).toLowerCase()}`);\n}\nfunction $9b05bcda60cc529c$export$86f54f62aa7a7514(raw, large = false) {\n return raw.replace(/^[A-Za-z]|[^A-Za-z][A-Za-z]/g, (match, offset)=>offset || large ? (match[1] || match[0]).toUpperCase() : match.toLowerCase());\n}\nfunction $9b05bcda60cc529c$export$89912e019eef22aa() {\n return (Date.now() + parseInt((Math.random() + '').slice(2))).toString(36);\n}\nfunction $9b05bcda60cc529c$export$1c8ba402144543e5(values, keys) {\n return Object.fromEntries(values.map((value, index)=>[\n keys[index],\n value\n ]));\n}\nvar $9b05bcda60cc529c$export$2ddabb89308e1a22 = /*#__PURE__*/ function(DiffStatus) {\n DiffStatus[DiffStatus[\"Old\"] = -1] = \"Old\";\n DiffStatus[DiffStatus[\"Same\"] = 0] = \"Same\";\n DiffStatus[DiffStatus[\"New\"] = 1] = \"New\";\n return DiffStatus;\n}({});\nfunction $9b05bcda60cc529c$export$14527669107aa301(oldList, newList) {\n const map = {};\n for (const item of oldList)map[item] = -1;\n for (const item of newList){\n map[item] ||= 0;\n map[item] += 1;\n }\n return {\n map: map,\n group: $9b05bcda60cc529c$export$3f063810d7bf01bd(Object.entries(map), ([key, status])=>status)\n };\n}\nfunction $9b05bcda60cc529c$export$b5a4d6f439a5044d(data) {\n if ($9b05bcda60cc529c$export$61cc6ed0f143570b(data)) return false;\n const { length: length } = data;\n return typeof length === 'number' && length >= 0 && ~~length === length;\n}\nconst $9b05bcda60cc529c$export$b119cc7e1840e59c = (data)=>data instanceof Object.getPrototypeOf(Int8Array);\nfunction $9b05bcda60cc529c$export$7b85fd78dd236198(data) {\n if (data instanceof Array) return data;\n if ($9b05bcda60cc529c$export$61cc6ed0f143570b(data)) return [];\n if ($9b05bcda60cc529c$export$b5a4d6f439a5044d(data)) return Array.from(data);\n return [\n data\n ];\n}\nconst $9b05bcda60cc529c$export$697c3df919c0e61a = (array, unitLength)=>array.reduce((grid, item, index)=>{\n (grid[~~(index / unitLength)] ||= [])[index % unitLength] = item;\n return grid;\n }, []);\nfunction $9b05bcda60cc529c$export$e6b5ff3168b5942b(list, subKey, handler) {\n for (const item of list){\n if (handler(item)) return [\n item\n ];\n if (item[subKey] instanceof Array) {\n const result = $9b05bcda60cc529c$export$e6b5ff3168b5942b(item[subKey], subKey, handler);\n if (result.length) return [\n item,\n ...result\n ];\n }\n }\n return [];\n}\nfunction $9b05bcda60cc529c$export$3f063810d7bf01bd(list, iteratee) {\n const data = {};\n for (const item of list){\n let keys = iteratee instanceof Function ? iteratee(item) : item[iteratee];\n if (!(keys instanceof Array)) keys = [\n keys\n ];\n for (const key of new Set(keys.filter((key)=>key != null)))(data[key] = data[key] || []).push(item);\n }\n return data;\n}\nfunction $9b05bcda60cc529c$export$1d012a0dff3dab06(list, iteratee) {\n const group = $9b05bcda60cc529c$export$3f063810d7bf01bd(list, iteratee);\n const sortedList = Object.entries(group).map(([key, { length: length }])=>[\n key,\n length\n ]);\n return Object.fromEntries(sortedList);\n}\nfunction $9b05bcda60cc529c$export$69a3209f1a06c04d(executor, title) {\n var cacheData;\n return function(...data) {\n if (cacheData != null) return cacheData;\n console.trace(`[Cache] execute: ${title}`);\n cacheData = executor.call(this, ()=>cacheData = undefined, ...data);\n Promise.resolve(cacheData).then((data)=>console.log(`[Cache] refreshed: ${title} => ${data}`), (error)=>console.error(`[Cache] failed: ${error?.message || error}`));\n return cacheData;\n };\n}\nasync function* $9b05bcda60cc529c$export$86c18c6347f4a8c4(executor) {\n let { promise: promise, resolve: resolve, reject: reject } = Promise.withResolvers();\n const doneSymbol = Symbol('done'), done = Promise.withResolvers();\n const disposer = executor({\n next: (value)=>resolve(value),\n error: (error)=>{\n reject(error);\n // @ts-ignore\n disposer?.();\n },\n complete: ()=>{\n done.resolve(doneSymbol);\n // @ts-ignore\n disposer?.();\n }\n });\n while(true){\n const value = await Promise.race([\n promise,\n done.promise\n ]);\n if (value === doneSymbol) return;\n yield value;\n ({ promise: promise, resolve: resolve, reject: reject } = Promise.withResolvers());\n }\n}\nasync function* $9b05bcda60cc529c$export$dce9414bed0662c(...sources) {\n var iterators = sources.map((item)=>item());\n while(iterators[0]){\n const dones = [];\n for(let i = 0, iterator; iterator = iterators[i]; i++){\n const { done: done, value: value } = await iterator.next();\n if (!done) yield value;\n else dones.push(i);\n }\n iterators = iterators.filter((_, i)=>!dones.includes(i));\n }\n}\nclass $9b05bcda60cc529c$export$271f7c16f175f804 extends (0, $6a9944941b4c1893$export$595dbf49c602a1f) {\n constructor(...args){\n super(...args), this.units = [\n '',\n 'K',\n 'M',\n 'G',\n 'T',\n 'P',\n 'E',\n 'Z',\n 'Y'\n ].map((name, i)=>({\n base: 1024 ** i,\n name: name + 'B'\n }));\n }\n}\n\n\n\nvar $f872d8bba1c0f79f$exports = {};\n\n$parcel$export($f872d8bba1c0f79f$exports, \"Second\", function () { return $f872d8bba1c0f79f$export$c489aa6f7fd82b1a; });\n$parcel$export($f872d8bba1c0f79f$exports, \"Minute\", function () { return $f872d8bba1c0f79f$export$cbd942915f33be50; });\n$parcel$export($f872d8bba1c0f79f$exports, \"Quarter\", function () { return $f872d8bba1c0f79f$export$9b886f8493244014; });\n$parcel$export($f872d8bba1c0f79f$exports, \"Hour\", function () { return $f872d8bba1c0f79f$export$e99cbb807a5bb10d; });\n$parcel$export($f872d8bba1c0f79f$exports, \"Day\", function () { return $f872d8bba1c0f79f$export$7a9a31a911eb9a20; });\n$parcel$export($f872d8bba1c0f79f$exports, \"Week\", function () { return $f872d8bba1c0f79f$export$fca4f8121099df57; });\n$parcel$export($f872d8bba1c0f79f$exports, \"Year\", function () { return $f872d8bba1c0f79f$export$6ce2f08d515512; });\n$parcel$export($f872d8bba1c0f79f$exports, \"Month\", function () { return $f872d8bba1c0f79f$export$951c8378cdfec6e6; });\n$parcel$export($f872d8bba1c0f79f$exports, \"Season\", function () { return $f872d8bba1c0f79f$export$1a4097b876a13bf7; });\n$parcel$export($f872d8bba1c0f79f$exports, \"Timestamp\", function () { return $f872d8bba1c0f79f$export$d9bcbd5e1ff81430; });\n$parcel$export($f872d8bba1c0f79f$exports, \"diffTime\", function () { return $f872d8bba1c0f79f$export$506c8e8f8c8edda; });\n$parcel$export($f872d8bba1c0f79f$exports, \"formatDate\", function () { return $f872d8bba1c0f79f$export$3ae94a2503e890a1; });\n$parcel$export($f872d8bba1c0f79f$exports, \"changeMonth\", function () { return $f872d8bba1c0f79f$export$62ad822b3a5fd9a0; });\n\nconst $f872d8bba1c0f79f$export$c489aa6f7fd82b1a = 1000;\nconst $f872d8bba1c0f79f$export$cbd942915f33be50 = $f872d8bba1c0f79f$export$c489aa6f7fd82b1a * 60;\nconst $f872d8bba1c0f79f$export$9b886f8493244014 = $f872d8bba1c0f79f$export$cbd942915f33be50 * 15;\nconst $f872d8bba1c0f79f$export$e99cbb807a5bb10d = $f872d8bba1c0f79f$export$9b886f8493244014 * 4;\nconst $f872d8bba1c0f79f$export$7a9a31a911eb9a20 = $f872d8bba1c0f79f$export$e99cbb807a5bb10d * 24;\nconst $f872d8bba1c0f79f$export$fca4f8121099df57 = $f872d8bba1c0f79f$export$7a9a31a911eb9a20 * 7;\nconst $f872d8bba1c0f79f$export$6ce2f08d515512 = $f872d8bba1c0f79f$export$7a9a31a911eb9a20 * 365;\nconst $f872d8bba1c0f79f$export$951c8378cdfec6e6 = $f872d8bba1c0f79f$export$6ce2f08d515512 / 12;\nconst $f872d8bba1c0f79f$export$1a4097b876a13bf7 = $f872d8bba1c0f79f$export$951c8378cdfec6e6 * 3;\nclass $f872d8bba1c0f79f$export$d9bcbd5e1ff81430 extends (0, $6a9944941b4c1893$export$595dbf49c602a1f) {\n toShortString(fractionDigits = 0) {\n return super.toShortString(fractionDigits);\n }\n constructor(...args){\n super(...args), this.units = [\n {\n base: $f872d8bba1c0f79f$export$c489aa6f7fd82b1a,\n name: 's'\n },\n {\n base: $f872d8bba1c0f79f$export$cbd942915f33be50,\n name: 'm'\n },\n {\n base: $f872d8bba1c0f79f$export$e99cbb807a5bb10d,\n name: 'H'\n },\n {\n base: $f872d8bba1c0f79f$export$7a9a31a911eb9a20,\n name: 'D'\n },\n {\n base: $f872d8bba1c0f79f$export$fca4f8121099df57,\n name: 'W'\n },\n {\n base: $f872d8bba1c0f79f$export$951c8378cdfec6e6,\n name: 'M'\n },\n {\n base: $f872d8bba1c0f79f$export$6ce2f08d515512,\n name: 'Y'\n }\n ];\n }\n}\nfunction $f872d8bba1c0f79f$export$506c8e8f8c8edda(end, start = new Date()) {\n const timeDistance = $f872d8bba1c0f79f$export$d9bcbd5e1ff81430.distanceOf(+new Date(end), +new Date(start));\n const [value, unit] = timeDistance.toShortString().split(/\\s+/);\n return {\n distance: +value,\n unit: unit\n };\n}\nfunction $f872d8bba1c0f79f$var$fitUnit(value) {\n value = +value + '';\n return (template)=>(value.length < template.length ? value.padStart(template.length, '0') : value).slice(-Math.max(template.length, 2));\n}\nfunction $f872d8bba1c0f79f$export$3ae94a2503e890a1(time = new Date(), template = 'YYYY-MM-DD HH:mm:ss') {\n time = time instanceof Date ? time : new Date(time);\n time = new Date(+time - time.getTimezoneOffset() * $f872d8bba1c0f79f$export$cbd942915f33be50);\n const [year, month, day, hour, minute, second, millisecond] = time.toJSON().split(/\\D/);\n return template.replace(/ms/g, millisecond).replace(/Y+/g, $f872d8bba1c0f79f$var$fitUnit(year)).replace(/M+/g, $f872d8bba1c0f79f$var$fitUnit(month)).replace(/D+/g, $f872d8bba1c0f79f$var$fitUnit(day)).replace(/H+/g, $f872d8bba1c0f79f$var$fitUnit(hour)).replace(/m+/g, $f872d8bba1c0f79f$var$fitUnit(minute)).replace(/s+/g, $f872d8bba1c0f79f$var$fitUnit(second));\n}\nfunction $f872d8bba1c0f79f$export$62ad822b3a5fd9a0(date, delta) {\n date = new Date(date);\n const month = date.getMonth() + delta;\n date.setFullYear(date.getFullYear() + Math.floor(month / 12));\n delta = month % 12;\n date.setMonth(delta < 0 ? 12 + delta : delta);\n return date;\n}\n\n\nvar $ba0e5dc395660a7c$exports = {};\n\n$parcel$export($ba0e5dc395660a7c$exports, \"parseJSON\", function () { return $ba0e5dc395660a7c$export$27924e57e9afff7f; });\n$parcel$export($ba0e5dc395660a7c$exports, \"toJSValue\", function () { return $ba0e5dc395660a7c$export$7ea17d45ecdcf634; });\n$parcel$export($ba0e5dc395660a7c$exports, \"parseTextTable\", function () { return $ba0e5dc395660a7c$export$bb8626e4916f587b; });\n\nfunction $ba0e5dc395660a7c$export$27924e57e9afff7f(raw) {\n function parseItem(value) {\n if (typeof value === 'string' && /^\\d+(-\\d{1,2}){1,2}/.test(value)) {\n const date = new Date(value);\n if (!Number.isNaN(+date)) return date;\n }\n return value;\n }\n const value = parseItem(raw);\n if (typeof value !== 'string' || (0, $9b05bcda60cc529c$export$67a6ce548ae77071)(value)) return value;\n try {\n return JSON.parse(raw, (key, value)=>parseItem(value));\n } catch {\n return raw;\n }\n}\nfunction $ba0e5dc395660a7c$export$7ea17d45ecdcf634(raw) {\n const parsed = $ba0e5dc395660a7c$export$27924e57e9afff7f(raw);\n if (typeof parsed !== 'string') return parsed;\n const number = +parsed;\n return Number.isNaN(number) || number + '' !== parsed ? parsed : number;\n}\nfunction $ba0e5dc395660a7c$var$readQuoteValue(raw) {\n const quote = raw[0];\n const index = raw.indexOf(quote, 1);\n if (index < 0) throw SyntaxError(`A ${quote} is missing`);\n return raw.slice(1, index);\n}\nfunction $ba0e5dc395660a7c$export$bb8626e4916f587b(raw, header, separator = ',') {\n const data = raw.trim().split(/[\\r\\n]+/).map((row)=>{\n const list = [];\n do {\n let value;\n if (row[0] === '\"' || row[0] === \"'\") {\n value = $ba0e5dc395660a7c$var$readQuoteValue(row);\n row = row.slice(value.length + 3);\n } else {\n const index = row.indexOf(separator);\n if (index > -1) {\n value = row.slice(0, index);\n row = row.slice(index + 1);\n } else {\n value = row;\n row = '';\n }\n }\n list.push($ba0e5dc395660a7c$export$7ea17d45ecdcf634(value.trim()));\n }while (row);\n return list;\n });\n return !header ? data : data.slice(1).map((row)=>row.reduce((object, item, index)=>{\n object[data[0][index]] = item;\n return object;\n }, {}));\n}\n\n\nvar $083124ac4b1a50a0$exports = {};\n\n$parcel$export($083124ac4b1a50a0$exports, \"isXDomain\", function () { return $083124ac4b1a50a0$export$71e6483fc2b024eb; });\n$parcel$export($083124ac4b1a50a0$exports, \"parseURLData\", function () { return $083124ac4b1a50a0$export$eb9b2aadbe449a20; });\n$parcel$export($083124ac4b1a50a0$exports, \"buildURLData\", function () { return $083124ac4b1a50a0$export$13397a83aa5915d6; });\n$parcel$export($083124ac4b1a50a0$exports, \"blobOf\", function () { return $083124ac4b1a50a0$export$fd89523fba250fa4; });\n$parcel$export($083124ac4b1a50a0$exports, \"blobFrom\", function () { return $083124ac4b1a50a0$export$504fbde693c1771c; });\n\n\nfunction $083124ac4b1a50a0$export$71e6483fc2b024eb(URI) {\n return new URL(URI, document.baseURI).origin !== location.origin;\n}\nfunction $083124ac4b1a50a0$export$eb9b2aadbe449a20(raw = globalThis.location?.search, toBuiltIn = true) {\n const rawData = raw.split('#').map((URI)=>{\n const [before, after] = URI.split('?');\n return new URLSearchParams(after || (before.includes('=') ? before : ''));\n }).join('&');\n const data = new URLSearchParams(rawData);\n return Object.fromEntries([\n ...data.keys()\n ].map((key)=>{\n const list = toBuiltIn ? data.getAll(key).map((0, $ba0e5dc395660a7c$export$27924e57e9afff7f)) : data.getAll(key);\n return [\n key,\n list.length < 2 ? list[0] : list\n ];\n }));\n}\nconst $083124ac4b1a50a0$var$stringify = (value)=>typeof value === 'string' ? value : (0, $9b05bcda60cc529c$export$b5a4d6f439a5044d)(value) ? (0, $9b05bcda60cc529c$export$7b85fd78dd236198)(value) + '' : JSON.stringify(value);\nfunction $083124ac4b1a50a0$export$13397a83aa5915d6(map) {\n if (!(map instanceof Array)) map = Object.entries(map);\n const list = map.map(([key, value])=>!(0, $9b05bcda60cc529c$export$dd1bc94b04021eeb)(value) && [\n key,\n $083124ac4b1a50a0$var$stringify(value)\n ]).filter(Boolean);\n return new URLSearchParams(list);\n}\nasync function $083124ac4b1a50a0$export$fd89523fba250fa4(URI) {\n return (await fetch(URI + '')).blob();\n}\nconst $083124ac4b1a50a0$var$DataURI = /^data:(.+?\\/(.+?))?(;base64)?,([\\s\\S]+)/;\nfunction $083124ac4b1a50a0$export$504fbde693c1771c(URI) {\n var [_, type, __, base64, data] = $083124ac4b1a50a0$var$DataURI.exec(URI) || [];\n data = base64 ? atob(data) : data;\n const aBuffer = new ArrayBuffer(data.length);\n const uBuffer = new Uint8Array(aBuffer);\n for(let i = 0; data[i]; i++)uBuffer[i] = data.charCodeAt(i);\n return new Blob([\n aBuffer\n ], {\n type: type\n });\n}\n\n\nvar $50872bf213056663$exports = {};\n\n$parcel$export($50872bf213056663$exports, \"makeCRC32\", function () { return $50872bf213056663$export$1b9ac4d3de3ffd2e; });\n$parcel$export($50872bf213056663$exports, \"makeSHA\", function () { return $50872bf213056663$export$d51f3b55e8d1aa73; });\nconst $50872bf213056663$var$CRC_32_Table = Array.from(new Array(256), (_, cell)=>{\n for(var j = 0; j < 8; j++)if (cell & 1) cell = cell >> 1 & 0x7fffffff ^ 0xedb88320;\n else cell = cell >> 1 & 0x7fffffff;\n return cell;\n});\nfunction $50872bf213056663$export$1b9ac4d3de3ffd2e(raw) {\n var value = 0xffffffff;\n for (const char of raw)value = value >> 8 & 0x00ffffff ^ $50872bf213056663$var$CRC_32_Table[value & 0xff ^ char.charCodeAt(0)];\n return '0x' + ((value ^ 0xffffffff) >>> 0).toString(16);\n}\nif (typeof self === 'object') {\n if ('msCrypto' in globalThis) {\n // @ts-ignore\n const { subtle: subtle } = globalThis.crypto = globalThis.msCrypto;\n for(const key in subtle){\n const origin = subtle[key];\n if (origin instanceof Function) subtle[key] = function() {\n const observer = origin.apply(this, arguments);\n return new Promise((resolve, reject)=>{\n observer.oncomplete = ({ target: target })=>resolve(target.result);\n observer.onabort = observer.onerror = reject;\n });\n };\n }\n }\n const { crypto: crypto1 } = globalThis;\n if (!crypto1?.subtle && crypto1?.['webkitSubtle']) // @ts-ignore\n crypto1.subtle = crypto1['webkitSubtle'];\n}\nasync function $50872bf213056663$export$d51f3b55e8d1aa73(raw, algorithm = 'SHA-1') {\n const buffer = await crypto.subtle.digest(algorithm, new TextEncoder().encode(raw));\n return Array.from(new Uint8Array(buffer), (byte)=>byte.toString(16).padStart(2, '0')).join('');\n}\n\n\nvar $93a3089d2937b23f$exports = {};\n\n\nvar $3e0a089cc13f69ad$exports = {};\n\n$parcel$export($3e0a089cc13f69ad$exports, \"XMLNamespace\", function () { return $3e0a089cc13f69ad$export$f5a4056b78c72efa; });\n$parcel$export($3e0a089cc13f69ad$exports, \"templateOf\", function () { return $3e0a089cc13f69ad$export$2ee022bbbc550b25; });\n$parcel$export($3e0a089cc13f69ad$exports, \"elementTypeOf\", function () { return $3e0a089cc13f69ad$export$a549dd5cef7f8327; });\n$parcel$export($3e0a089cc13f69ad$exports, \"isHTMLElementClass\", function () { return $3e0a089cc13f69ad$export$8eece510bcb9c62c; });\n$parcel$export($3e0a089cc13f69ad$exports, \"tagNameOf\", function () { return $3e0a089cc13f69ad$export$b8a1af58c024fefd; });\n$parcel$export($3e0a089cc13f69ad$exports, \"isDOMReadOnly\", function () { return $3e0a089cc13f69ad$export$a2cf0d4bb6e06de4; });\n$parcel$export($3e0a089cc13f69ad$exports, \"parseDOM\", function () { return $3e0a089cc13f69ad$export$d66b332881d9723f; });\n$parcel$export($3e0a089cc13f69ad$exports, \"stringifyDOM\", function () { return $3e0a089cc13f69ad$export$b0709844452f8b6b; });\n$parcel$export($3e0a089cc13f69ad$exports, \"walkDOM\", function () { return $3e0a089cc13f69ad$export$5118471ee5d5453b; });\n$parcel$export($3e0a089cc13f69ad$exports, \"getVisibleText\", function () { return $3e0a089cc13f69ad$export$be4650432daa84fd; });\n$parcel$export($3e0a089cc13f69ad$exports, \"splitPages\", function () { return $3e0a089cc13f69ad$export$578e38b4a3e0b255; });\n$parcel$export($3e0a089cc13f69ad$exports, \"importCSS\", function () { return $3e0a089cc13f69ad$export$7cd14c57bbb84350; });\n$parcel$export($3e0a089cc13f69ad$exports, \"stringifyCSS\", function () { return $3e0a089cc13f69ad$export$5100419dfae0456d; });\n$parcel$export($3e0a089cc13f69ad$exports, \"insertToCursor\", function () { return $3e0a089cc13f69ad$export$28d9d24a8cd0ffc2; });\n$parcel$export($3e0a089cc13f69ad$exports, \"scrollTo\", function () { return $3e0a089cc13f69ad$export$3f99968195accfaf; });\n$parcel$export($3e0a089cc13f69ad$exports, \"watchScroll\", function () { return $3e0a089cc13f69ad$export$eafdbaa868ea9975; });\n$parcel$export($3e0a089cc13f69ad$exports, \"watchVisible\", function () { return $3e0a089cc13f69ad$export$36a0c1ca2ae264fa; });\n$parcel$export($3e0a089cc13f69ad$exports, \"formToJSON\", function () { return $3e0a089cc13f69ad$export$86d7c59254d6a2c9; });\n\n\nconst $3e0a089cc13f69ad$export$f5a4056b78c72efa = {\n html: 'http://www.w3.org/1999/xhtml',\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\nconst $3e0a089cc13f69ad$var$templateMap = {};\nfunction $3e0a089cc13f69ad$export$2ee022bbbc550b25(tagName) {\n if ($3e0a089cc13f69ad$var$templateMap[tagName]) return $3e0a089cc13f69ad$var$templateMap[tagName];\n const spawn = document.createElement('template');\n spawn.innerHTML = `<${tagName} />`;\n return $3e0a089cc13f69ad$var$templateMap[tagName] = spawn.content.firstElementChild;\n}\nfunction $3e0a089cc13f69ad$export$a549dd5cef7f8327(tagName) {\n if (tagName.includes('-')) return 'html';\n const [prefix, localName] = tagName.split(':');\n if (localName) return prefix === 'html' ? 'html' : 'xml';\n const node = $3e0a089cc13f69ad$export$2ee022bbbc550b25(tagName);\n return node instanceof HTMLElement && !(node instanceof HTMLUnknownElement) ? 'html' : 'xml';\n}\nfunction $3e0a089cc13f69ad$export$8eece510bcb9c62c(Class) {\n return (0, $9b05bcda60cc529c$export$170f4e08cad8229d)(Class, HTMLElement);\n}\nconst $3e0a089cc13f69ad$var$nameMap = new WeakMap();\nfunction $3e0a089cc13f69ad$export$b8a1af58c024fefd(Class) {\n const name = $3e0a089cc13f69ad$var$nameMap.get(Class);\n if (name) return name;\n var { tagName: tagName } = new Class();\n $3e0a089cc13f69ad$var$nameMap.set(Class, tagName = tagName.toLowerCase());\n return tagName;\n}\nfunction $3e0a089cc13f69ad$export$a2cf0d4bb6e06de4(tagName, propertyName) {\n /**\n * fetch from https://html.spec.whatwg.org/\n */ const ReadOnly_Properties = [\n [\n HTMLLinkElement,\n [\n 'sizes'\n ]\n ],\n [\n HTMLIFrameElement,\n [\n 'sandbox'\n ]\n ],\n [\n HTMLObjectElement,\n [\n 'form'\n ]\n ],\n [\n HTMLInputElement,\n [\n 'form',\n 'list'\n ]\n ],\n [\n HTMLButtonElement,\n [\n 'form'\n ]\n ],\n [\n HTMLSelectElement,\n [\n 'form'\n ]\n ],\n [\n HTMLTextAreaElement,\n [\n 'form'\n ]\n ],\n [\n HTMLOutputElement,\n [\n 'form'\n ]\n ],\n [\n HTMLFieldSetElement,\n [\n 'form'\n ]\n ]\n ];\n const template = $3e0a089cc13f69ad$export$2ee022bbbc550b25(tagName);\n for (const [Class, keys] of ReadOnly_Properties)if (template instanceof Class && keys.includes(propertyName)) return true;\n return false;\n}\nfunction $3e0a089cc13f69ad$export$d66b332881d9723f(HTML) {\n const spawn = document.createElement('template');\n spawn.innerHTML = HTML;\n return [\n ...spawn.content.childNodes\n ].map((node)=>{\n node.remove();\n return node;\n });\n}\nfunction $3e0a089cc13f69ad$export$b0709844452f8b6b(node) {\n return new XMLSerializer().serializeToString(node).replace(/ xmlns=\"http:\\/\\/www.w3.org\\/1999\\/xhtml\"/g, '');\n}\nfunction* $3e0a089cc13f69ad$export$5118471ee5d5453b(root, type) {\n const children = [\n ...root.childNodes\n ];\n if ((0, $9b05bcda60cc529c$export$dd1bc94b04021eeb)(type) || type === root.nodeType) yield root;\n for (const node of children)yield* $3e0a089cc13f69ad$export$5118471ee5d5453b(node, type);\n}\nfunction $3e0a089cc13f69ad$export$be4650432daa84fd(root) {\n var text = '';\n for (const { nodeType: nodeType, parentElement: parentElement, nodeValue: nodeValue } of $3e0a089cc13f69ad$export$5118471ee5d5453b(root))if (nodeType === Node.TEXT_NODE && parentElement.getAttribute('aria-hidden') !== 'true') {\n const { width: width, height: height } = parentElement.getBoundingClientRect();\n if (width && height) text += nodeValue.trim().replace(/\\s+/g, ' ');\n }\n return text;\n}\nfunction $3e0a089cc13f69ad$export$578e38b4a3e0b255({ offsetWidth: offsetWidth, children: children }, pageHeight = 841.89, pageWidth = 595.28) {\n const scrollHeight = pageHeight / pageWidth * offsetWidth;\n var offset = 0;\n return [\n ...children\n ].reduce((pages, node)=>{\n var { offsetTop: top, offsetHeight: height } = node;\n top += offset;\n var bottom = top + height;\n const bottomOffset = bottom / scrollHeight;\n const topIndex = ~~(top / scrollHeight), bottomIndex = ~~bottomOffset;\n if (topIndex !== bottomIndex) offset += height - bottomOffset;\n (pages[bottomIndex] ||= []).push(node);\n return pages;\n }, []);\n}\nfunction $3e0a089cc13f69ad$export$7cd14c57bbb84350(URI, { alternate: alternate, ...options } = {}) {\n const style = [\n ...document.styleSheets\n ].find(({ href: href })=>href === URI);\n if (style) return Promise.resolve(style);\n const link = document.createElement('link');\n return new Promise((resolve, reject)=>{\n link.onload = ()=>resolve(link.sheet);\n link.onerror = (_1, _2, _3, _4, error)=>reject(error);\n Object.assign(link, options);\n link.rel = (alternate ? 'alternate ' : '') + 'stylesheet';\n link.href = URI;\n document.head.append(link);\n });\n}\nfunction $3e0a089cc13f69ad$export$5100419dfae0456d(data, depth = 0, indent = ' ') {\n const padding = indent.repeat(depth);\n return Object.entries(data).map(([key, value])=>typeof value !== 'object' ? `${padding}${(0, $9b05bcda60cc529c$export$3f34ca2fef821bbd)(key)}: ${value};` : `${padding}${key} {\n${$3e0a089cc13f69ad$export$5100419dfae0456d(value, depth + 1, indent)}\n${padding}}`).join('\\n');\n}\nfunction $3e0a089cc13f69ad$export$28d9d24a8cd0ffc2(...nodes) {\n const fragment = document.createDocumentFragment();\n fragment.append(...nodes);\n for (const node of $3e0a089cc13f69ad$export$5118471ee5d5453b(fragment))if (![\n 1,\n 3,\n 11\n ].includes(node.nodeType) || [\n 'meta',\n 'title',\n 'link',\n 'script'\n ].includes(node.nodeName.toLowerCase())) node.replaceWith(...node.childNodes);\n const selection = globalThis.getSelection();\n if (!selection) return;\n const range = selection.getRangeAt(0);\n range.deleteContents();\n range.insertNode(fragment);\n}\nfunction $3e0a089cc13f69ad$export$3f99968195accfaf(selector, root, align, justify) {\n const [_, ID] = /^#(.+)/.exec(selector) || [];\n if (ID === 'top') window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n else (root || document).querySelector(ID ? `[id=\"${ID}\"]` : selector)?.scrollIntoView({\n behavior: 'smooth',\n block: align,\n inline: justify\n });\n}\nfunction $3e0a089cc13f69ad$export$eafdbaa868ea9975(box, handler, depth = 6) {\n return Array.from(box.querySelectorAll(Array.from(new Array(depth), (_, index)=>`h${++index}`) + ''), (header)=>{\n new IntersectionObserver(([item])=>{\n if (!item.isIntersecting) return;\n const target = item.target;\n handler({\n target: target,\n links: [\n ...target.ownerDocument.querySelectorAll(`[href=\"#${target.id}\"]`)\n ]\n });\n }).observe(header);\n if (!header.id.trim()) header.id = header.textContent.trim().replace(/\\W+/g, '-');\n return {\n level: +header.tagName[1],\n id: header.id,\n text: header.textContent.trim()\n };\n });\n}\nfunction $3e0a089cc13f69ad$export$36a0c1ca2ae264fa(root, handler) {\n var last = document.visibilityState === 'visible' ? 1 : 0;\n function change(state) {\n if (state === 3 || last === 3) handler(state === 3);\n last = state;\n }\n new IntersectionObserver(([{ isIntersecting: isIntersecting }])=>change(isIntersecting ? last | 2 : last & 1)).observe(root);\n document.addEventListener('visibilitychange', ()=>change(document.visibilityState === 'visible' ? last | 1 : last & 2));\n}\nfunction $3e0a089cc13f69ad$export$86d7c59254d6a2c9(form) {\n const data = {};\n for (const field of form.elements){\n let { name: name, value: value, checked: checked, defaultValue: defaultValue, selectedOptions: selectedOptions, files: files } = field;\n const type = field.type;\n if (!name || value === '') continue;\n const box = type !== 'fieldset' && field.closest('fieldset');\n if (box && box !== form) continue;\n let parsedValue = value;\n switch(type){\n case 'radio':\n case 'checkbox':\n if (checked) parsedValue = defaultValue ? (0, $ba0e5dc395660a7c$export$7ea17d45ecdcf634)(defaultValue) : true;\n else continue;\n break;\n case 'select-multiple':\n parsedValue = Array.from(selectedOptions, ({ value: value })=>(0, $ba0e5dc395660a7c$export$7ea17d45ecdcf634)(value));\n break;\n case 'fieldset':\n parsedValue = $3e0a089cc13f69ad$export$86d7c59254d6a2c9(field);\n break;\n case 'file':\n parsedValue = files && Array.from(files);\n break;\n case 'date':\n case 'datetime-local':\n case 'month':\n case 'hidden':\n case 'number':\n case 'range':\n case 'select-one':\n parsedValue = (0, $ba0e5dc395660a7c$export$7ea17d45ecdcf634)(value);\n }\n if (name in data) data[name] = [].concat(data[name], parsedValue);\n else data[name] = !(parsedValue instanceof Array) || !(0, $9b05bcda60cc529c$export$dd1bc94b04021eeb)(parsedValue[1]) ? parsedValue : parsedValue[0];\n }\n return data;\n}\n\n\nvar $bb23e0c794fefbef$exports = {};\n\n$parcel$export($bb23e0c794fefbef$exports, \"sleep\", function () { return $bb23e0c794fefbef$export$e772c8ff12451969; });\n$parcel$export($bb23e0c794fefbef$exports, \"asyncLoop\", function () { return $bb23e0c794fefbef$export$57207d71b8c929c8; });\nfunction $bb23e0c794fefbef$export$e772c8ff12451969(seconds = 1) {\n return new Promise((resolve)=>setTimeout(resolve, seconds * 1000));\n}\nfunction $bb23e0c794fefbef$export$57207d71b8c929c8(executor, seconds = 1) {\n var stop = false;\n (async ()=>{\n while(!stop){\n const result = executor();\n if (result instanceof Promise) await result;\n await $bb23e0c794fefbef$export$e772c8ff12451969(seconds);\n }\n })();\n return ()=>stop = true;\n}\n\n\nvar $19ed8aeb7905a045$exports = {};\n\n$parcel$export($19ed8aeb7905a045$exports, \"delegate\", function () { return $19ed8aeb7905a045$export$10b1921597150314; });\n$parcel$export($19ed8aeb7905a045$exports, \"documentReady\", function () { return $19ed8aeb7905a045$export$3e2b244719956741; });\n$parcel$export($19ed8aeb7905a045$exports, \"promisify\", function () { return $19ed8aeb7905a045$export$1d1d2ed6b55cf67f; });\n$parcel$export($19ed8aeb7905a045$exports, \"createMessageServer\", function () { return $19ed8aeb7905a045$export$2155c0b5a4b77fb8; });\n$parcel$export($19ed8aeb7905a045$exports, \"createMessageClient\", function () { return $19ed8aeb7905a045$export$9d97473344489dfc; });\n$parcel$export($19ed8aeb7905a045$exports, \"serviceWorkerUpdate\", function () { return $19ed8aeb7905a045$export$d635d04af3887bbe; });\n\nfunction $19ed8aeb7905a045$export$10b1921597150314(selector, handler) {\n return function(event) {\n var node, path = event.composedPath();\n while((node = path.shift()) && node !== event.currentTarget)if (node instanceof HTMLElement && node.matches(selector)) return handler.call(this, event, node, event.detail);\n };\n}\nconst $19ed8aeb7905a045$export$3e2b244719956741 = typeof window !== 'undefined' ? new Promise((resolve)=>{\n function done() {\n document?.removeEventListener('DOMContentLoaded', done);\n window.removeEventListener('load', done);\n resolve();\n }\n document?.addEventListener('DOMContentLoaded', done);\n window.addEventListener('load', done);\n setTimeout(function check() {\n document?.readyState === 'complete' ? resolve() : setTimeout(check);\n });\n}) : Promise.resolve();\nfunction $19ed8aeb7905a045$export$1d1d2ed6b55cf67f(scope, element) {\n return new Promise((resolve, reject)=>{\n function end(event) {\n resolve(event), clean();\n }\n function cancel(event) {\n reject(event), clean();\n }\n function clean() {\n element.removeEventListener(scope + 'end', end);\n element.removeEventListener(scope + 'cancel', cancel);\n }\n element.addEventListener(scope + 'end', end);\n element.addEventListener(scope + 'cancel', cancel);\n });\n}\nfunction $19ed8aeb7905a045$export$2155c0b5a4b77fb8(handlers) {\n async function server({ data: { type: type, id: id, ...data }, source: source, origin: origin }) {\n var result = handlers[type]?.(data);\n if (result instanceof Promise) result = await result;\n // @ts-ignore\n source.postMessage({\n ...result,\n id: id\n }, origin);\n }\n globalThis.addEventListener('message', server);\n return ()=>globalThis.removeEventListener('message', server);\n}\nfunction $19ed8aeb7905a045$export$9d97473344489dfc(target, origin = '*') {\n return (type, data)=>new Promise((resolve)=>{\n const UID = (0, $9b05bcda60cc529c$export$89912e019eef22aa)();\n function handler({ data: { id: id, ...data } }) {\n if (id !== UID) return;\n resolve(data);\n globalThis.removeEventListener('message', handler);\n }\n globalThis.addEventListener('message', handler);\n // @ts-ignore\n target.postMessage({\n id: UID,\n type: type,\n ...data\n }, origin);\n });\n}\nfunction $19ed8aeb7905a045$export$d635d04af3887bbe(registration) {\n return new Promise((resolve)=>{\n if (registration.waiting) return resolve(registration.waiting);\n registration.onupdatefound = ()=>registration.installing?.addEventListener('statechange', function() {\n if (this.state === 'installed' && navigator.serviceWorker.controller) resolve(this);\n });\n });\n}\n\n\nvar $7a08303ce13c49c5$exports = {};\n\n$parcel$export($7a08303ce13c49c5$exports, \"PageVector\", function () { return $7a08303ce13c49c5$export$1b88f6b6d432a52a; });\n$parcel$export($7a08303ce13c49c5$exports, \"getSwipeVector\", function () { return $7a08303ce13c49c5$export$b70f6380221b1350; });\n$parcel$export($7a08303ce13c49c5$exports, \"durationOf\", function () { return $7a08303ce13c49c5$export$75d6cbe4503e149; });\n$parcel$export($7a08303ce13c49c5$exports, \"watchMotion\", function () { return $7a08303ce13c49c5$export$b2618d51188815c2; });\n$parcel$export($7a08303ce13c49c5$exports, \"transitIn\", function () { return $7a08303ce13c49c5$export$490814474ddbb428; });\n$parcel$export($7a08303ce13c49c5$exports, \"animateIn\", function () { return $7a08303ce13c49c5$export$3ea201dffb50dfef; });\n$parcel$export($7a08303ce13c49c5$exports, \"transitOut\", function () { return $7a08303ce13c49c5$export$d1012c7198c6b460; });\n$parcel$export($7a08303ce13c49c5$exports, \"animateOut\", function () { return $7a08303ce13c49c5$export$a35a418b7b17958e; });\n\nclass $7a08303ce13c49c5$export$1b88f6b6d432a52a {\n constructor(from, to){\n this.from = from;\n this.to = to;\n }\n get length() {\n const { from: from, to: to } = this;\n return Math.sqrt(Math.pow(to.x - from.x, 2) + Math.pow(to.y - from.y, 2) + (to.z != null ? Math.pow(to.z - from.z, 2) : 0));\n }\n get direction() {\n const { from: from, to: to } = this;\n const XD = to.x - from.x, YD = to.y - from.y, ZD = to.z - from.z;\n const XL = Math.abs(XD), YL = Math.abs(YD), ZL = Math.abs(ZD);\n switch(isNaN(ZL) ? Math.max(XL, YL) : Math.max(XL, YL, ZL)){\n case XL:\n return XD > 0 ? 'right' : 'left';\n case YL:\n return YD > 0 ? 'forward' : 'backward';\n case ZL:\n return ZD > 0 ? 'up' : 'down';\n }\n }\n}\nfunction $7a08303ce13c49c5$export$b70f6380221b1350(from, to, threshold = parseInt(getComputedStyle(document.body).fontSize) * 6) {\n const vector = new $7a08303ce13c49c5$export$1b88f6b6d432a52a(from, to);\n if (vector.length >= threshold && !getSelection()?.toString().trim()) return vector;\n}\nfunction $7a08303ce13c49c5$export$75d6cbe4503e149(type, element) {\n const { transitionDuration: transitionDuration, animationDuration: animationDuration } = getComputedStyle(element);\n const duration = type === 'animation' ? animationDuration : transitionDuration;\n return parseFloat(duration) * (duration.slice(-2) === 'ms' ? 1 : 1000);\n}\nfunction $7a08303ce13c49c5$export$b2618d51188815c2(type, element) {\n return Promise.race([\n (0, $19ed8aeb7905a045$export$1d1d2ed6b55cf67f)(type, element).catch((event)=>Promise.resolve(event)),\n new Promise((resolve)=>setTimeout(resolve, $7a08303ce13c49c5$export$75d6cbe4503e149(type, element)))\n ]);\n}\nfunction $7a08303ce13c49c5$var$fadeIn(type, element, className, display) {\n element.style.display = display;\n const end = $7a08303ce13c49c5$export$b2618d51188815c2(type, element);\n return new Promise((resolve)=>requestAnimationFrame(()=>{\n element.classList.add(className);\n end.then(resolve);\n }));\n}\nasync function $7a08303ce13c49c5$var$fadeOut(type, element, className, remove) {\n const end = $7a08303ce13c49c5$export$b2618d51188815c2(type, element);\n element.classList.remove(className);\n await end;\n if (remove) element.remove();\n else element.style.display = 'none';\n}\nfunction $7a08303ce13c49c5$export$490814474ddbb428(element, className, display = 'block') {\n return $7a08303ce13c49c5$var$fadeIn('transition', element, className, display);\n}\nfunction $7a08303ce13c49c5$export$3ea201dffb50dfef(element, className, display = 'block') {\n return $7a08303ce13c49c5$var$fadeIn('animation', element, className, display);\n}\nfunction $7a08303ce13c49c5$export$d1012c7198c6b460(element, className, remove) {\n return $7a08303ce13c49c5$var$fadeOut('transition', element, className, remove);\n}\nfunction $7a08303ce13c49c5$export$a35a418b7b17958e(element, className, remove) {\n return $7a08303ce13c49c5$var$fadeOut('animation', element, className, remove);\n}\n\n\nvar $69bd9f0117925302$exports = {};\n\n$parcel$export($69bd9f0117925302$exports, \"describe\", function () { return $69bd9f0117925302$export$cd5450f3a47e3789; });\n$parcel$export($69bd9f0117925302$exports, \"it\", function () { return $69bd9f0117925302$export$3486a10f30cf1ee4; });\n\nasync function $69bd9f0117925302$export$cd5450f3a47e3789(title, cases) {\n console.log(title);\n console.time(title);\n await cases();\n console.timeEnd(title);\n}\nasync function $69bd9f0117925302$export$3486a10f30cf1ee4(title, userCase, secondsOut = 3) {\n title = ' ' + title;\n console.time(title);\n async function timeOut() {\n await (0, $bb23e0c794fefbef$export$e772c8ff12451969)(secondsOut);\n throw new RangeError('Timed out');\n }\n try {\n return await Promise.race([\n userCase((status)=>console.assert(status, title)),\n timeOut()\n ]);\n } finally{\n console.timeEnd(title);\n }\n}\n\n\n\n\nexport {$9b05bcda60cc529c$export$61cc6ed0f143570b as likeNull, $9b05bcda60cc529c$export$dd1bc94b04021eeb as isEmpty, $9b05bcda60cc529c$export$a09f818797e212c4 as classNameOf, $9b05bcda60cc529c$export$170f4e08cad8229d as assertInheritance, $9b05bcda60cc529c$export$2a489b3f92f4996a as proxyPrototype, $9b05bcda60cc529c$export$67a6ce548ae77071 as isUnsafeNumeric, $9b05bcda60cc529c$export$a48f0734ac7c2329 as byteLength, $9b05bcda60cc529c$export$3f34ca2fef821bbd as toHyphenCase, $9b05bcda60cc529c$export$86f54f62aa7a7514 as toCamelCase, $9b05bcda60cc529c$export$89912e019eef22aa as uniqueID, $9b05bcda60cc529c$export$1c8ba402144543e5 as objectFrom, $9b05bcda60cc529c$export$2ddabb89308e1a22 as DiffStatus, $9b05bcda60cc529c$export$14527669107aa301 as diffKeys, $9b05bcda60cc529c$export$3f063810d7bf01bd as groupBy, $9b05bcda60cc529c$export$b5a4d6f439a5044d as likeArray, $9b05bcda60cc529c$export$b119cc7e1840e59c as isTypedArray, $9b05bcda60cc529c$export$7b85fd78dd236198 as makeArray, $9b05bcda60cc529c$export$697c3df919c0e61a as splitArray, $9b05bcda60cc529c$export$e6b5ff3168b5942b as findDeep, $9b05bcda60cc529c$export$1d012a0dff3dab06 as countBy, $9b05bcda60cc529c$export$69a3209f1a06c04d as cache, $9b05bcda60cc529c$export$86c18c6347f4a8c4 as createAsyncIterator, $9b05bcda60cc529c$export$dce9414bed0662c as mergeStream, $9b05bcda60cc529c$export$271f7c16f175f804 as ByteSize, $6a9944941b4c1893$export$8a63f25cc62965f1 as sum, $6a9944941b4c1893$export$e1f36757ecda301d as averageOf, $6a9944941b4c1893$export$8e694e1eafd55acb as varianceOf, $6a9944941b4c1893$export$57d7c52a66287430 as standardDeviationOf, $6a9944941b4c1893$export$2b4693832ca3ce16 as hypotenuseOf, $6a9944941b4c1893$export$5b784e078da1ce6 as carryFloat, $6a9944941b4c1893$export$17ec9c9f4f23588c as fixFloat, $6a9944941b4c1893$export$595dbf49c602a1f as Scalar, $f872d8bba1c0f79f$export$c489aa6f7fd82b1a as Second, $f872d8bba1c0f79f$export$cbd942915f33be50 as Minute, $f872d8bba1c0f79f$export$9b886f8493244014 as Quarter, $f872d8bba1c0f79f$export$e99cbb807a5bb10d as Hour, $f872d8bba1c0f79f$export$7a9a31a911eb9a20 as Day, $f872d8bba1c0f79f$export$fca4f8121099df57 as Week, $f872d8bba1c0f79f$export$6ce2f08d515512 as Year, $f872d8bba1c0f79f$export$951c8378cdfec6e6 as Month, $f872d8bba1c0f79f$export$1a4097b876a13bf7 as Season, $f872d8bba1c0f79f$export$d9bcbd5e1ff81430 as Timestamp, $f872d8bba1c0f79f$export$506c8e8f8c8edda as diffTime, $f872d8bba1c0f79f$export$3ae94a2503e890a1 as formatDate, $f872d8bba1c0f79f$export$62ad822b3a5fd9a0 as changeMonth, $ba0e5dc395660a7c$export$27924e57e9afff7f as parseJSON, $ba0e5dc395660a7c$export$7ea17d45ecdcf634 as toJSValue, $ba0e5dc395660a7c$export$bb8626e4916f587b as parseTextTable, $083124ac4b1a50a0$export$71e6483fc2b024eb as isXDomain, $083124ac4b1a50a0$export$eb9b2aadbe449a20 as parseURLData, $083124ac4b1a50a0$export$13397a83aa5915d6 as buildURLData, $083124ac4b1a50a0$export$fd89523fba250fa4 as blobOf, $083124ac4b1a50a0$export$504fbde693c1771c as blobFrom, $50872bf213056663$export$1b9ac4d3de3ffd2e as makeCRC32, $50872bf213056663$export$d51f3b55e8d1aa73 as makeSHA, $3e0a089cc13f69ad$export$f5a4056b78c72efa as XMLNamespace, $3e0a089cc13f69ad$export$2ee022bbbc550b25 as templateOf, $3e0a089cc13f69ad$export$a549dd5cef7f8327 as elementTypeOf, $3e0a089cc13f69ad$export$8eece510bcb9c62c as isHTMLElementClass, $3e0a089cc13f69ad$export$b8a1af58c024fefd as tagNameOf, $3e0a089cc13f69ad$export$a2cf0d4bb6e06de4 as isDOMReadOnly, $3e0a089cc13f69ad$export$d66b332881d9723f as parseDOM, $3e0a089cc13f69ad$export$b0709844452f8b6b as stringifyDOM, $3e0a089cc13f69ad$export$5118471ee5d5453b as walkDOM, $3e0a089cc13f69ad$export$be4650432daa84fd as getVisibleText, $3e0a089cc13f69ad$export$578e38b4a3e0b255 as splitPages, $3e0a089cc13f69ad$export$7cd14c57bbb84350 as importCSS, $3e0a089cc13f69ad$export$5100419dfae0456d as stringifyCSS, $3e0a089cc13f69ad$export$28d9d24a8cd0ffc2 as insertToCursor, $3e0a089cc13f69ad$export$3f99968195accfaf as scrollTo, $3e0a089cc13f69ad$export$eafdbaa868ea9975 as watchScroll, $3e0a089cc13f69ad$export$36a0c1ca2ae264fa as watchVisible, $3e0a089cc13f69ad$export$86d7c59254d6a2c9 as formToJSON, $bb23e0c794fefbef$export$e772c8ff12451969 as sleep, $bb23e0c794fefbef$export$57207d71b8c929c8 as asyncLoop, $19ed8aeb7905a045$export$10b1921597150314 as delegate, $19ed8aeb7905a045$export$3e2b244719956741 as documentReady, $19ed8aeb7905a045$export$1d1d2ed6b55cf67f as promisify, $19ed8aeb7905a045$export$2155c0b5a4b77fb8 as createMessageServer, $19ed8aeb7905a045$export$9d97473344489dfc as createMessageClient, $19ed8aeb7905a045$export$d635d04af3887bbe as serviceWorkerUpdate, $7a08303ce13c49c5$export$1b88f6b6d432a52a as PageVector, $7a08303ce13c49c5$export$b70f6380221b1350 as getSwipeVector, $7a08303ce13c49c5$export$75d6cbe4503e149 as durationOf, $7a08303ce13c49c5$export$b2618d51188815c2 as watchMotion, $7a08303ce13c49c5$export$490814474ddbb428 as transitIn, $7a08303ce13c49c5$export$3ea201dffb50dfef as animateIn, $7a08303ce13c49c5$export$d1012c7198c6b460 as transitOut, $7a08303ce13c49c5$export$a35a418b7b17958e as animateOut, $69bd9f0117925302$export$cd5450f3a47e3789 as describe, $69bd9f0117925302$export$3486a10f30cf1ee4 as it};\n//# sourceMappingURL=index.esm.js.map\n","export * from './data';\nexport * from './math';\nexport * from './date';\nexport * from './parser';\nexport * from './URL';\nexport * from './crypto';\nexport * from './DOM-type';\nexport * from './DOM';\nexport * from './timer';\nexport * from './event';\nexport * from './animation';\nexport * from './assert';\n","import { Scalar } from './math';\n\nexport type Constructor<T> = new (...args: any[]) => T;\n\nexport type AbstractClass<T> = abstract new (...args: any[]) => T;\n\nexport type Values<T> = Required<T>[keyof T];\n\nexport type TypeKeys<T, D> = {\n [K in keyof T]: Required<T>[K] extends D ? K : never;\n}[keyof T];\n\nexport type PickSingle<T> = T extends infer S | (infer S)[] ? S : T;\n\nexport type PickData<T> = Omit<T, TypeKeys<T, Function>>;\n\nexport type DataKeys<T> = Exclude<keyof T, TypeKeys<T, Function>>;\n\nexport function likeNull(value?: any) {\n return !(value != null) || Number.isNaN(value);\n}\n\nexport function isEmpty(value?: any) {\n return (\n likeNull(value) ||\n (typeof value === 'object' ? !Object.keys(value).length : value === '')\n );\n}\n\n/**\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag}\n */\nexport const classNameOf = (data: any): string =>\n Object.prototype.toString.call(data).slice(8, -1);\n\nexport function assertInheritance(Sub: Function, Super: Function) {\n return Sub.prototype instanceof Super;\n}\n\nexport function proxyPrototype<T extends object>(\n target: T,\n dataStore: Record<IndexKey, any>,\n setter?: (key: IndexKey, value: any) => any\n) {\n const prototype = Object.getPrototypeOf(target);\n\n const prototypeProxy = new Proxy(prototype, {\n set: (_, key, value, receiver) => {\n if (key in receiver) Reflect.set(prototype, key, value, receiver);\n else dataStore[key] = value;\n\n setter?.(key, value);\n\n return true;\n },\n get: (prototype, key, receiver) =>\n key in dataStore\n ? dataStore[key]\n : Reflect.get(prototype, key, receiver)\n });\n\n Object.setPrototypeOf(target, prototypeProxy);\n}\n\nexport function isUnsafeNumeric(raw: string) {\n return (\n /^[\\d.]+$/.test(raw) &&\n raw.localeCompare(Number.MAX_SAFE_INTEGER + '', undefined, {\n numeric: true\n }) > 0\n );\n}\n\nexport function byteLength(raw: string) {\n return raw.replace(/[^\\u0021-\\u007e\\uff61-\\uffef]/g, 'xx').length;\n}\n\nexport type HyphenCase<T extends string> = T extends `${infer L}${infer R}`\n ? `${L extends Uppercase<L> ? `-${Lowercase<L>}` : L}${HyphenCase<R>}`\n : T;\nexport function toHyphenCase(raw: string) {\n return raw.replace(\n /[A-Z]+|[^A-Za-z][A-Za-z]/g,\n (match, offset) =>\n `${offset ? '-' : ''}${(match[1] || match[0]).toLowerCase()}`\n );\n}\n\nexport type CamelCase<\n Raw extends string,\n Delimiter extends string = '-'\n> = Uncapitalize<\n Raw extends `${infer L}${Delimiter}${infer R}`\n ? `${Capitalize<L>}${Capitalize<CamelCase<R>>}`\n : `${Capitalize<Raw>}`\n>;\nexport function toCamelCase(raw: string, large = false) {\n return raw.replace(/^[A-Za-z]|[^A-Za-z][A-Za-z]/g, (match, offset) =>\n offset || large\n ? (match[1] || match[0]).toUpperCase()\n : match.toLowerCase()\n );\n}\n\nexport function uniqueID() {\n return (Date.now() + parseInt((Math.random() + '').slice(2))).toString(36);\n}\n\nexport function objectFrom<V, K extends string>(values: V[], keys: K[]) {\n return Object.fromEntries(\n values.map((value, index) => [keys[index], value])\n ) as Record<K, V>;\n}\n\nexport enum DiffStatus {\n Old = -1,\n Same = 0,\n New = 1\n}\n\nexport function diffKeys<T extends IndexKey>(oldList: T[], newList: T[]) {\n const map = {} as Record<T, DiffStatus>;\n\n for (const item of oldList) map[item] = DiffStatus.Old;\n\n for (const item of newList) {\n map[item] ||= 0;\n map[item] += DiffStatus.New;\n }\n\n return {\n map,\n group: groupBy(\n Object.entries<DiffStatus>(map),\n ([key, status]) => status\n )\n };\n}\n\nexport type ResultArray<T> = T extends ArrayLike<infer D> ? D[] : T[];\n\nexport function likeArray(data?: any): data is ArrayLike<any> {\n if (likeNull(data)) return false;\n\n const { length } = data;\n\n return typeof length === 'number' && length >= 0 && ~~length === length;\n}\n\nexport type TypedArray =\n | Int8Array\n | Uint8Array\n | Uint8ClampedArray\n | Int16Array\n | Uint16Array\n | Int32Array\n | Uint32Array\n | Float32Array\n | Float64Array\n | BigInt64Array\n | BigUint64Array;\n\n/**\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray}\n */\nexport const isTypedArray = (data: any): data is TypedArray =>\n data instanceof Object.getPrototypeOf(Int8Array);\n\nexport function makeArray<T>(data?: T) {\n if (data instanceof Array) return data as unknown as ResultArray<T>;\n\n if (likeNull(data)) return [] as ResultArray<T>;\n\n if (likeArray(data)) return Array.from(data) as ResultArray<T>;\n\n return [data] as ResultArray<T>;\n}\n\nexport const splitArray = <T>(array: T[], unitLength: number) =>\n array.reduce((grid, item, index) => {\n (grid[~~(index / unitLength)] ||= [])[index % unitLength] = item;\n\n return grid;\n }, [] as T[][]);\n\nexport function findDeep<T>(\n list: T[],\n subKey: TypeKeys<Required<T>, any[]>,\n handler: (item: T) => boolean\n): T[] {\n for (const item of list) {\n if (handler(item)) return [item];\n\n if (item[subKey] instanceof Array) {\n const result = findDeep(\n item[subKey] as unknown as T[],\n subKey,\n handler\n );\n if (result.length) return [item, ...result];\n }\n }\n return [];\n}\n\nexport type IndexKey = number | string | symbol;\nexport type GroupKey<T extends Record<IndexKey, any>> = keyof T | IndexKey;\nexport type Iteratee<T extends Record<IndexKey, any>> =\n | keyof T\n | ((item: T) => GroupKey<T> | GroupKey<T>[]);\n\nexport function groupBy<T extends Record<IndexKey, any>>(\n list: T[],\n iteratee: Iteratee<T>\n) {\n const data = {} as Record<GroupKey<T>, T[]>;\n\n for (const item of list) {\n let keys =\n iteratee instanceof Function ? iteratee(item) : item[iteratee];\n\n if (!(keys instanceof Array)) keys = [keys];\n\n for (const key of new Set(\n (keys as GroupKey<T>[]).filter(key => key != null)\n ))\n (data[key] = data[key] || []).push(item);\n }\n\n return data;\n}\n\nexport function countBy<T extends Record<IndexKey, any>>(\n list: T[],\n iteratee: Iteratee<T>\n) {\n const group = groupBy(list, iteratee);\n\n const sortedList = Object.entries(group).map(\n ([key, { length }]) => [key, length] as const\n );\n return Object.fromEntries(sortedList);\n}\n\nexport function cache<I, O>(\n executor: (cleaner: () => void, ...data: I[]) => O,\n title: string\n) {\n var cacheData: O;\n\n return function (...data: I[]) {\n if (cacheData != null) return cacheData;\n\n console.trace(`[Cache] execute: ${title}`);\n\n cacheData = executor.call(\n this,\n (): void => (cacheData = undefined),\n ...data\n );\n Promise.resolve(cacheData).then(\n data => console.log(`[Cache] refreshed: ${title} => ${data}`),\n error => console.error(`[Cache] failed: ${error?.message || error}`)\n );\n return cacheData;\n };\n}\n\nexport interface IteratorController<V = any, E = Error> {\n next: (value: V) => any;\n error: (error: E) => any;\n complete: () => any;\n}\n\nexport async function* createAsyncIterator<V, E = Error>(\n executor: (controller: IteratorController<V, E>) => (() => any) | void\n) {\n let { promise, resolve, reject } = Promise.withResolvers<V>();\n\n const doneSymbol = Symbol('done'),\n done = Promise.withResolvers<symbol>();\n\n const disposer = executor({\n next: value => resolve(value),\n error: error => {\n reject(error);\n // @ts-ignore\n disposer?.();\n },\n complete: () => {\n done.resolve(doneSymbol);\n // @ts-ignore\n disposer?.();\n }\n });\n\n while (true) {\n const value = await Promise.race([promise, done.promise]);\n\n if (value === doneSymbol) return;\n\n yield value as V;\n\n ({ promise, resolve, reject } = Promise.withResolvers<V>());\n }\n}\n\nexport async function* mergeStream<T, R = void, N = T>(\n ...sources: (() => AsyncIterator<T, R, N>)[]\n) {\n var iterators = sources.map(item => item());\n\n while (iterators[0]) {\n const dones: number[] = [];\n\n for (\n let i = 0, iterator: AsyncIterator<T>;\n (iterator = iterators[i]);\n i++\n ) {\n const { done, value } = await iterator.next();\n\n if (!done) yield value;\n else dones.push(i);\n }\n iterators = iterators.filter((_, i) => !dones.includes(i));\n }\n}\n\nexport class ByteSize extends Scalar {\n units = ['', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'].map((name, i) => ({\n base: 1024 ** i,\n name: name + 'B'\n }));\n}\n","export function sum(...data: number[]) {\n return data.reduce((sum, item) => sum + item, 0);\n}\n\nexport function averageOf(...data: number[]) {\n return sum(...data) / data.length;\n}\n\nexport function varianceOf(data: number[], sample = false) {\n const average = averageOf(...data);\n const summary = sum(...data.map(item => (item - average) ** 2));\n\n return summary / (data.length - (sample ? 1 : 0));\n}\n\nexport function standardDeviationOf(data: number[], sample = false) {\n return Math.sqrt(varianceOf(data, sample));\n}\n\nexport function hypotenuseOf(...data: number[]) {\n return Math.sqrt(sum(...data.map(item => item ** 2)));\n}\n\nexport function carryFloat(raw: number, length: number) {\n const text = raw.toFixed(length + 2);\n const offset = text.indexOf('.') + length + 1;\n\n const cut = (text: string) => text.slice(0, offset - (length ? 0 : 1));\n\n if (!+text.slice(offset)) return cut(text);\n\n const result = cut((+cut(text) + 10 ** -length).toFixed(length));\n\n return result.includes('.') ? result.padEnd(offset, '0') : result;\n}\n\nexport function fixFloat(raw: number, length = 2) {\n const text = raw.toFixed(length + 2);\n const floatOffset = text.indexOf('.');\n\n if (floatOffset < 0) return length ? `${text}.${'0'.repeat(length)}` : text;\n\n const offset = floatOffset + length + 1;\n\n const before = +text[offset - 1],\n anchor = +text[offset],\n after = +text[offset + 1];\n\n const carry = anchor > 5 || (anchor === 5 && (!!after || !!(before % 2)));\n\n if (carry) return carryFloat(raw, length);\n\n const result = text.slice(0, offset - (length ? 0 : 1));\n\n return result.includes('.') ? result.padEnd(offset, '0') : result;\n}\n\nexport abstract class Scalar {\n abstract units: { base: number; name: string }[];\n\n constructor(public value: number) {}\n\n valueOf() {\n return this.value;\n }\n\n toShortString(fractionDigits = 2) {\n const { units, value } = this;\n const { base, name } =\n [...units].reverse().find(({ base }) => Math.abs(value) >= base) ||\n units[0];\n\n return `${(value / base).toFixed(fractionDigits)} ${name}`;\n }\n\n static distanceOf<T extends Scalar>(a: number, b: number) {\n return Reflect.construct(this, [a - b]) as T;\n }\n}\n","import { Scalar } from './math';\n\nexport const Second = 1000;\nexport const Minute = Second * 60;\nexport const Quarter = Minute * 15;\nexport const Hour = Quarter * 4;\nexport const Day = Hour * 24;\nexport const Week = Day * 7;\nexport const Year = Day * 365;\nexport const Month = Year / 12;\nexport const Season = Month * 3;\n\nexport class Timestamp extends Scalar {\n units = [\n { base: Second, name: 's' },\n { base: Minute, name: 'm' },\n { base: Hour, name: 'H' },\n { base: Day, name: 'D' },\n { base: Week, name: 'W' },\n { base: Month, name: 'M' },\n { base: Year, name: 'Y' }\n ];\n\n toShortString(fractionDigits = 0) {\n return super.toShortString(fractionDigits);\n }\n}\n\nexport type TimeData = number | string | Date;\n\n/**\n * @deprecated since v4.4, use {@link Timestamp.distanceOf} instead.\n */\nexport function diffTime(end: TimeData, start: TimeData = new Date()) {\n const timeDistance = Timestamp.distanceOf(\n +new Date(end),\n +new Date(start)\n ) as Timestamp;\n\n const [value, unit] = timeDistance.toShortString().split(/\\s+/);\n\n return { distance: +value, unit };\n}\n\nfunction fitUnit(value: string) {\n value = +value + '';\n\n return (template: string) =>\n (value.length < template.length\n ? value.padStart(template.length, '0')\n : value\n ).slice(-Math.max(template.length, 2));\n}\n\nexport function formatDate(\n time: TimeData = new Date(),\n template = 'YYYY-MM-DD HH:mm:ss'\n) {\n time = time instanceof Date ? time : new Date(time);\n time = new Date(+time - time.getTimezoneOffset() * Minute);\n\n const [year, month, day, hour, minute, second, millisecond] = time\n .toJSON()\n .split(/\\D/);\n\n return template\n .replace(/ms/g, millisecond)\n .replace(/Y+/g, fitUnit(year))\n .replace(/M+/g, fitUnit(month))\n .replace(/D+/g, fitUnit(day))\n .replace(/H+/g, fitUnit(hour))\n .replace(/m+/g, fitUnit(minute))\n .replace(/s+/g, fitUnit(second));\n}\n\nexport function changeMonth(date: TimeData, delta: number) {\n date = new Date(date);\n\n const month = date.getMonth() + delta;\n\n date.setFullYear(date.getFullYear() + Math.floor(month / 12));\n\n delta = month % 12;\n\n date.setMonth(delta < 0 ? 12 + delta : delta);\n\n return date;\n}\n","import { isUnsafeNumeric } from './data';\n\nexport function parseJSON(raw: string) {\n function parseItem(value: any) {\n if (typeof value === 'string' && /^\\d+(-\\d{1,2}){1,2}/.test(value)) {\n const date = new Date(value);\n\n if (!Number.isNaN(+date)) return date;\n }\n return value;\n }\n\n const value = parseItem(raw);\n\n if (typeof value !== 'string' || isUnsafeNumeric(value)) return value;\n\n try {\n return JSON.parse(raw, (key, value) => parseItem(value));\n } catch {\n return raw;\n }\n}\n\nexport function toJSValue(raw: string) {\n const parsed = parseJSON(raw);\n\n if (typeof parsed !== 'string') return parsed;\n\n const number = +parsed;\n\n return Number.isNaN(number) || number + '' !== parsed ? parsed : number;\n}\n\nfunction readQuoteValue(raw: string) {\n const quote = raw[0];\n const index = raw.indexOf(quote, 1);\n\n if (index < 0) throw SyntaxError(`A ${quote} is missing`);\n\n return raw.slice(1, index);\n}\n\nexport function parseTextTable<T = {}>(\n raw: string,\n header?: boolean,\n separator = ','\n) {\n const data = raw\n .trim()\n .split(/[\\r\\n]+/)\n .map(row => {\n const list = [];\n\n do {\n let value: string;\n\n if (row[0] === '\"' || row[0] === \"'\") {\n value = readQuoteValue(row);\n\n row = row.slice(value.length + 3);\n } else {\n const index = row.indexOf(separator);\n\n if (index > -1) {\n value = row.slice(0, index);\n row = row.slice(index + 1);\n } else {\n value = row;\n row = '';\n }\n }\n list.push(toJSValue(value.trim()));\n } while (row);\n\n return list;\n });\n\n return !header\n ? data\n : data.slice(1).map(\n row =>\n row.reduce((object, item, index) => {\n object[data[0][index]] = item;\n\n return object;\n }, {}) as T\n );\n}\n","import { isEmpty, likeArray, makeArray } from './data';\nimport { parseJSON } from './parser';\n\nexport function isXDomain(URI: string) {\n return new URL(URI, document.baseURI).origin !== location.origin;\n}\n\nexport type JSONValue = number | boolean | string | null;\nexport interface URLData<E = unknown> {\n [key: string]: JSONValue | JSONValue[] | URLData | URLData[] | E;\n}\n\nexport function parseURLData(\n raw = globalThis.location?.search,\n toBuiltIn = true\n): URLData {\n const rawData = raw\n .split('#')\n .map(URI => {\n const [before, after] = URI.split('?');\n\n return new URLSearchParams(\n after || (before.includes('=') ? before : '')\n );\n })\n .join('&');\n const data = new URLSearchParams(rawData);\n\n return Object.fromEntries(\n [...data.keys()].map(key => {\n const list = toBuiltIn\n ? data.getAll(key).map(parseJSON)\n : data.getAll(key);\n\n return [key, list.length < 2 ? list[0] : list];\n })\n );\n}\n\nconst stringify = (value: any) =>\n typeof value === 'string'\n ? value\n : likeArray(value)\n ? makeArray(value) + ''\n : JSON.stringify(value);\n\nexport function buildURLData(map: string[][] | Record<string, any>) {\n if (!(map instanceof Array)) map = Object.entries(map);\n\n const list = (map as any[][])\n .map(([key, value]) => !isEmpty(value) && [key, stringify(value)])\n .filter(Boolean);\n\n return new URLSearchParams(list);\n}\n\nexport async function blobOf(URI: string | URL) {\n return (await fetch(URI + '')).blob();\n}\n\nconst DataURI = /^data:(.+?\\/(.+?))?(;base64)?,([\\s\\S]+)/;\n/**\n * Blob logic forked from axes's\n *\n * @see http://www.cnblogs.com/axes/p/4603984.html\n */\nexport function blobFrom(URI: string) {\n var [_, type, __, base64, data] = DataURI.exec(URI) || [];\n\n data = base64 ? atob(data) : data;\n\n const aBuffer = new ArrayBuffer(data.length);\n const uBuffer = new Uint8Array(aBuffer);\n\n for (let i = 0; data[i]; i++) uBuffer[i] = data.charCodeAt(i);\n\n return new Blob([aBuffer], { type });\n}\n","const CRC_32_Table = Array.from(new Array(256), (_, cell) => {\n for (var j = 0; j < 8; j++)\n if (cell & 1) cell = ((cell >> 1) & 0x7fffffff) ^ 0xedb88320;\n else cell = (cell >> 1) & 0x7fffffff;\n\n return cell;\n});\n\n/**\n * CRC-32 algorithm forked from Bakasen's\n *\n * @see http://blog.csdn.net/bakasen/article/details/6043797\n */\nexport function makeCRC32(raw: string) {\n var value = 0xffffffff;\n\n for (const char of raw)\n value =\n ((value >> 8) & 0x00ffffff) ^\n CRC_32_Table[(value & 0xff) ^ char.charCodeAt(0)];\n\n return '0x' + ((value ^ 0xffffffff) >>> 0).toString(16);\n}\n\nif (typeof self === 'object') {\n if ('msCrypto' in globalThis) {\n // @ts-ignore\n const { subtle } = (globalThis.crypto = globalThis.msCrypto as Crypto);\n\n for (const key in subtle) {\n const origin = subtle[key];\n\n if (origin instanceof Function)\n subtle[key] = function () {\n const observer = origin.apply(this, arguments);\n\n return new Promise((resolve, reject) => {\n observer.oncomplete = ({\n target\n }: Parameters<FileReader['onload']>[0]) =>\n resolve(target.result);\n\n observer.onabort = observer.onerror = reject;\n });\n };\n }\n }\n const { crypto } = globalThis;\n\n if (!crypto?.subtle && crypto?.['webkitSubtle'])\n // @ts-ignore\n crypto.subtle = crypto['webkitSubtle'];\n}\n\nexport type SHAAlgorithm = 'SHA-1' | 'SHA-256' | 'SHA-384' | 'SHA-512';\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest#Converting_a_digest_to_a_hex_string\n */\nexport async function makeSHA(raw: string, algorithm: SHAAlgorithm = 'SHA-1') {\n const buffer = await crypto.subtle.digest(\n algorithm,\n new TextEncoder().encode(raw)\n );\n return Array.from(new Uint8Array(buffer), byte =>\n byte.toString(16).padStart(2, '0')\n ).join('');\n}\n","import type { IAom } from 'element-internals-polyfill';\n\nimport type { DataKeys, PickData, Constructor } from './data';\n\nexport type SelfCloseTags =\n | 'area'\n | 'base'\n | 'br'\n | 'col'\n | 'embed'\n | 'hr'\n | 'img'\n | 'input'\n | 'link'\n | 'meta'\n | 'param'\n | 'source'\n | 'track'\n | 'wbr';\n\nexport type ShadowableTags =\n | 'article'\n | 'aside'\n | 'blockquote'\n | 'body'\n | 'div'\n | 'footer'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'header'\n | 'main'\n | 'nav'\n | 'p'\n | 'section'\n | 'span'\n | `${string}-${string}`;\n\n/* -------------------- Event Handlers -------------------- */\n\nexport type EventTypes = {\n [K in keyof typeof globalThis]: K extends `${infer N}Event`\n ? N extends ''\n ? never\n : N\n : never;\n}[keyof typeof globalThis];\n\nexport type UniqueEventNames = {\n [K in keyof HTMLElementEventMap]: K extends `${Lowercase<EventTypes>}${string}`\n ? never\n : K extends `${string}${Lowercase<EventTypes>}`\n ? never\n : K;\n}[keyof HTMLElementEventMap];\n\nexport type ComplexUniqueEventNames = {\n [K in UniqueEventNames]: K extends `${infer L}${UniqueEventNames}`\n ? L extends ''\n ? never\n : K\n : never;\n}[UniqueEventNames];\n\nexport type SimpleEventNames = Exclude<\n UniqueEventNames,\n ComplexUniqueEventNames\n>;\n\nexport type EventHandlerNames<T extends Element> = {\n [K in keyof T]: K extends `on${infer N}`\n ? T[K] extends (event: Event) => any\n ? N\n : never\n : never;\n}[keyof T];\n\nexport type CamelEventName<T extends string> = T extends SimpleEventNames\n ? Capitalize<T>\n : T extends `${infer L}${SimpleEventNames}`\n ? T extends `${L}${infer R}`\n ? `${Capitalize<L>}${Capitalize<R>}`\n : T\n : T extends `${Lowercase<EventTypes>}${infer R}`\n ? T extends `${infer L}${R}`\n ? `${Capitalize<L>}${Capitalize<R>}`\n : T\n : T extends `${infer L}${Lowercase<EventTypes>}`\n ? T extends `${L}${infer R}`\n ? `${Capitalize<L>}${Capitalize<R>}`\n : T\n : T;\n\nexport type EventHandlers<\n T extends Element,\n M extends HTMLElementEventMap = HTMLElementEventMap\n> = {\n [K in EventHandlerNames<T> as `on${CamelEventName<K>}`]: (\n event: M[K]\n ) => any;\n};\n\nexport type ContainerEvents = 'focusin' | 'focusout';\n\nexport type ContainerEventHandlers<T extends keyof HTMLElementTagNameMap> =\n T extends SelfCloseTags\n ? {}\n : {\n [K in ContainerEvents as `on${CamelEventName<K>}`]: (\n event: HTMLElementEventMap[K]\n ) => any;\n };\n\n/* -------------------- DOM Props -------------------- */\n\nexport type XMLOwnKeys<\n T extends HTMLElement | SVGElement | MathMLElement = HTMLElement\n> = Exclude<keyof T, keyof Node | keyof EventTarget>;\n/**\n * @deprecated since v4.4.2, use {@link XMLOwnKeys} instead\n */\nexport type HTMLOwnKeys<T extends HTMLElement = HTMLElement> = XMLOwnKeys<T>;\n/**\n * @deprecated since v4.4.2, use {@link XMLOwnKeys} instead\n */\nexport type SVGOwnKeys<T extends SVGElement = SVGElement> = XMLOwnKeys<T>;\n\nexport type CSSStyles = Partial<\n Omit<PickData<CSSStyleDeclaration>, 'length' | 'parentRule'> &\n Record<string, any>\n>;\nexport type CSSRule = Record<string, CSSStyles>;\nexport type CSSObject = CSSRule | Record<string, CSSRule>;\n\nexport type DOMProps_Read2Write<T extends Partial<Element>> = {\n [K in keyof T]: T[K] extends HTMLElement\n ? string\n : T[K] extends DOMTokenList\n ? string\n : T[K] extends Element\n ? string\n : T[K] extends CSSStyleDeclaration\n ? CSSStyles\n : T[K];\n};\nexport type HTMLProps<T extends HTMLElement> = Partial<\n IAom &\n EventHandlers<T> &\n DOMProps_Read2Write<Pick<T, Extract<DataKeys<T>, XMLOwnKeys<T>>>>\n>;\n\nexport type SVGProps_Read2Write<T extends Partial<SVGElement>> = {\n [K in keyof T]: T[K] extends\n | SVGAnimatedString\n | SVGAnimatedBoolean\n | SVGAnimatedEnumeration\n | SVGAnimatedNumber\n | SVGAnimatedNumberList\n | SVGAnimatedInteger\n | SVGAnimatedLength\n | SVGAnimatedLengthList\n | SVGAnimatedPoints\n | SVGAnimatedAngle\n | SVGAnimatedRect\n | SVGAnimatedPreserveAspectRatio\n | SVGAnimatedTransformList\n ? string\n : T[K];\n};\nexport type SVGProps<T extends SVGElement> = Partial<\n EventHandlers<T, SVGElementEventMap> &\n SVGProps_Read2Write<\n DOMProps_Read2Write<Pick<T, Extract<DataKeys<T>, XMLOwnKeys<T>>>>\n >\n>;\n\nexport type MathMLProps<T extends MathMLElement> = Partial<\n EventHandlers<T, MathMLElementEventMap> &\n DOMProps_Read2Write<Pick<T, Extract<DataKeys<T>, XMLOwnKeys<T>>>>\n>;\n\nexport interface HTMLHyperLinkProps\n extends HTMLProps<HTMLAnchorElement & HTMLAreaElement> {\n href?: string;\n target?: '_self' | '_parent' | '_top' | '_blank';\n}\n\nexport type HTMLTableCellProps = HTMLProps<HTMLTableCellElement>;\n\nexport type BaseFieldProps = Partial<\n Pick<\n HTMLInputElement,\n 'name' | 'defaultValue' | 'value' | 'required' | 'disabled'\n >\n>;\nexport interface BaseInputProps\n extends Partial<Pick<HTMLInputElement, 'readOnly' | 'placeholder'>> {\n list?: string;\n}\nexport type TextFieldProps = BaseInputProps &\n Partial<\n Pick<\n HTMLInputElement,\n | 'size'\n | 'minLength'\n | 'maxLength'\n | 'pattern'\n | 'autocomplete'\n | 'spellcheck'\n >\n >;\nexport type NumberFieldProps = BaseInputProps &\n Partial<Pick<HTMLInputElement, 'min' | 'max' | 'step'>>;\n\nexport type HTMLFieldInternals = Pick<\n HTMLInputElement,\n | 'form'\n | 'validity'\n | 'validationMessage'\n | 'willValidate'\n | 'checkValidity'\n | 'reportValidity'\n>;\n\nexport type HTMLFieldProps<T extends HTMLElement = HTMLInputElement> =\n HTMLProps<T> & BaseFieldProps;\n\nexport interface HTMLButtonProps extends HTMLFieldProps<HTMLButtonElement> {}\n\nexport interface HTMLInputProps\n extends HTMLFieldProps,\n Omit<BaseInputProps, 'list'> {\n type?:\n | 'checkbox'\n | 'color'\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'file'\n | 'hidden'\n | 'month'\n | 'number'\n | 'password'\n | 'radio'\n | 'range'\n | 'search'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'\n | 'week'\n | HTMLButtonProps['type'];\n}\n\nexport type HTMLField = HTMLInputElement &\n HTMLTextAreaElement &\n HTMLSelectElement &\n HTMLFieldSetElement;\n\n/**\n * @see https://developers.google.com/web/fundamentals/web-components/customelements#reactions\n */\nexport interface CustomElement extends HTMLElement {\n /**\n * Called every time the element is inserted into the DOM\n */\n connectedCallback?(): void;\n /**\n * Called every time the element is removed from the DOM.\n */\n disconnectedCallback?(): void;\n /**\n * Called when an observed attribute has been added, removed, updated, or replaced.\n * Also called for initial values when an element is created by the parser, or upgraded.\n *\n * Note: only attributes listed in static `observedAttributes` property will receive this callback.\n */\n attributeChangedCallback?(\n name: string,\n oldValue: string,\n newValue: string\n ): void;\n /**\n * The custom element has been moved into a new document\n * (e.g. someone called `document.adoptNode(el)`).\n */\n adoptedCallback?(): void;\n}\n\n/**\n * @see https://developers.google.com/web/fundamentals/web-components/customelements#attrchanges\n */\nexport interface CustomElementClass<T extends CustomElement = CustomElement> {\n new (...data: any[]): T;\n\n observedAttributes?: string[];\n}\n\n/**\n * @see https://web.dev/more-capable-form-controls/#lifecycle-callbacks\n */\nexport interface CustomFormElement\n extends CustomElement,\n BaseFieldProps,\n HTMLFieldInternals {\n /**\n * Called when the browser associates the element with a form element,\n * or disassociates the element from a form element.\n */\n formAssociatedCallback?(form: HTMLFormElement): void;\n /**\n * Called after the disabled state of the element changes,\n * either because the disabled attribute of this element was added or removed;\n * or because the disabled state changed on a `<fieldset>` that's an ancestor of this element.\n *\n * @param disabled This parameter represents the new disabled state of the element.\n */\n formDisabledCallback?(disabled: boolean): void;\n /**\n * Called after the form is reset.\n * The element should reset itself to some kind of default state.\n */\n formResetCallback?(): void;\n /**\n * Called in one of two circumstances:\n * - When the browser restores the state of the element (for example, after a navigation, or when the browser restarts). The `mode` argument is `\"restore\"` in this case.\n * - When the browser's input-assist features such as form autofilling sets a value. The `mode` argument is `\"autocomplete\"` in this case.\n *\n * @param state The type of this argument depends on how the `this.internals.setFormValue()` method was called.\n * @param mode\n */\n formStateRestoreCallback?(\n state: string | File | FormData,\n mode: 'restore' | 'autocomplete'\n ): void;\n}\n\n/**\n * @see https://web.dev/more-capable-form-controls/#defining-a-form-associated-custom-element\n */\nexport interface CustomFormElementClass\n extends CustomElementClass<CustomFormElement> {\n formAssociated?: boolean;\n}\n","import { URLData } from './URL';\nimport { HTMLProps, HTMLField, CSSStyles, CSSObject } from './DOM-type';\nimport { Constructor, isEmpty, assertInheritance, toHyphenCase } from './data';\nimport { toJSValue } from './parser';\n\nexport const XMLNamespace = {\n html: 'http://www.w3.org/1999/xhtml',\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nconst templateMap: Record<string, Element> = {};\n\nexport function templateOf(tagName: string) {\n if (templateMap[tagName]) return templateMap[tagName];\n\n const spawn = document.createElement('template');\n\n spawn.innerHTML = `<${tagName} />`;\n\n return (templateMap[tagName] = spawn.content.firstElementChild!);\n}\n\nexport function elementTypeOf(tagName: string) {\n if (tagName.includes('-')) return 'html';\n\n const [prefix, localName] = tagName.split(':');\n\n if (localName) return prefix === 'html' ? 'html' : 'xml';\n\n const node = templateOf(tagName);\n\n return node instanceof HTMLElement && !(node instanceof HTMLUnknownElement)\n ? 'html'\n : 'xml';\n}\n\nexport function isHTMLElementClass<T extends Constructor<HTMLElement>>(\n Class: any\n): Class is T {\n return assertInheritance(Class, HTMLElement);\n}\n\nconst nameMap = new WeakMap<Constructor<HTMLElement>, string>();\n\nexport function tagNameOf(Class: CustomElementConstructor) {\n const name = nameMap.get(Class);\n\n if (name) return name;\n\n var { tagName } = new Class();\n\n nameMap.set(Class, (tagName = tagName.toLowerCase()));\n\n return tagName;\n}\n\nexport function isDOMReadOnly<T extends keyof HTMLElementTagNameMap>(\n tagName: T,\n propertyName: keyof HTMLProps<HTMLElementTagNameMap[T]>\n) {\n /**\n * fetch from https://html.spec.whatwg.org/\n */\n const ReadOnly_Properties: [Constructor<HTMLElement>, string[]][] = [\n [HTMLLinkElement, ['sizes']],\n [HTMLIFrameElement, ['sandbox']],\n [HTMLObjectElement, ['form']],\n [HTMLInputElement, ['form', 'list']],\n [HTMLButtonElement, ['form']],\n [HTMLSelectElement, ['form']],\n [HTMLTextAreaElement, ['form']],\n [HTMLOutputElement, ['form']],\n [HTMLFieldSetElement, ['form']]\n ];\n const template = templateOf(tagName);\n\n for (const [Class, keys] of ReadOnly_Properties)\n if (template instanceof Class && keys.includes(propertyName as string))\n return true;\n return false;\n}\n\nexport function parseDOM(HTML: string) {\n const spawn = document.createElement('template');\n\n spawn.innerHTML = HTML;\n\n return [...spawn.content.childNodes].map(node => {\n node.remove();\n return node;\n });\n}\n\nexport function stringifyDOM(node: Node) {\n return new XMLSerializer()\n .serializeToString(node)\n .replace(/ xmlns=\"http:\\/\\/www.w3.org\\/1999\\/xhtml\"/g, '');\n}\n\nexport function* walkDOM<T extends Node = Node>(\n root: Node,\n type?: Node['nodeType']\n): Generator<T> {\n const children = [...root.childNodes];\n\n if (isEmpty(type) || type === root.nodeType) yield root as T;\n\n for (const node of children) yield* walkDOM(node, type);\n}\n\nexport function getVisibleText(root: Element) {\n var text = '';\n\n for (const { nodeType, parentElement, nodeValue } of walkDOM(root))\n if (\n nodeType === Node.TEXT_NODE &&\n parentElement.getAttribute('aria-hidden') !== 'true'\n ) {\n const { width, height } = parentElement.getBoundingClientRect();\n\n if (width && height) text += nodeValue.trim().replace(/\\s+/g, ' ');\n }\n\n return text;\n}\n\n/**\n * Split a DOM tree into Pages like PDF files\n *\n * @param pageHeight the default value is A4 paper's height\n * @param pageWidth the default value is A4 paper's width\n */\nexport function splitPages(\n { offsetWidth, children }: HTMLElement,\n pageHeight = 841.89,\n pageWidth = 595.28\n) {\n const scrollHeight = (pageHeight / pageWidth) * offsetWidth;\n var offset = 0;\n\n return [...children].reduce((pages, node) => {\n var { offsetTop: top, offsetHeight: height } = node as HTMLElement;\n top += offset;\n var bottom = top + height;\n\n const bottomOffset = bottom / scrollHeight;\n const topIndex = ~~(top / scrollHeight),\n bottomIndex = ~~bottomOffset;\n\n if (topIndex !== bottomIndex) offset += height - bottomOffset;\n\n (pages[bottomIndex] ||= []).push(node);\n\n return pages;\n }, [] as Element[][]);\n}\n\nexport interface CSSOptions\n extends Pick<\n HTMLLinkElement,\n 'title' | 'media' | 'crossOrigin' | 'integrity'\n > {\n alternate?: boolean;\n}\n\nexport function importCSS(\n URI: string,\n { alternate, ...options }: CSSOptions = {} as CSSOptions\n) {\n const style = [...document.styleSheets].find(({ href }) => href === URI);\n\n if (style) return Promise.resolve(style);\n\n const link = document.createElement('link');\n\n return new Promise<CSSStyleSheet>((resolve, reject) => {\n link.onload = () => resolve(link.sheet);\n link.onerror = (_1, _2, _3, _4, error) => reject(error);\n\n Object.assign(link, options);\n\n link.rel = (alternate ? 'alternate ' : '') + 'stylesheet';\n link.href = URI;\n\n document.head.append(link);\n });\n}\n\nexport function stringifyCSS(\n data: CSSStyles | CSSObject,\n depth = 0,\n indent = ' '\n): string {\n const padding = indent.repeat(depth);\n\n return Object.entries(data)\n .map(([key, value]) =>\n typeof value !== 'object'\n ? `${padding}${toHyphenCase(key)}: ${value};`\n : `${padding}${key} {\n${stringifyCSS(value as CSSObject, depth + 1, indent)}\n${padding}}`\n )\n .join('\\n');\n}\n\nexport function insertToCursor(...nodes: Node[]) {\n const fragment = document.createDocumentFragment();\n\n fragment.append(...nodes);\n\n for (const node of walkDOM(fragment))\n if (\n ![1, 3, 11].includes(node.nodeType) ||\n ['meta', 'title', 'link', 'script'].includes(\n node.nodeName.toLowerCase()\n )\n )\n (node as ChildNode).replaceWith(...node.childNodes);\n\n const selection = globalThis.getSelection();\n\n if (!selection) return;\n\n const range = selection.getRangeAt(0);\n\n range.deleteContents();\n range.insertNode(fragment);\n}\n\nexport function scrollTo(\n selector: string,\n root?: Element,\n align?: ScrollLogicalPosition,\n justify?: ScrollLogicalPosition\n) {\n const [_, ID] = /^#(.+)/.exec(selector) || [];\n\n if (ID === 'top') window.scrollTo({ top: 0, left: 0, behavior: 'smooth' });\n else\n (root || document)\n .querySelector(ID ? `[id=\"${ID}\"]` : selector)\n ?.scrollIntoView({\n behavior: 'smooth',\n block: align,\n inline: justify\n });\n}\n\nexport interface ScrollEvent {\n target: HTMLHeadingElement;\n links: (HTMLAnchorElement | HTMLAreaElement)[];\n}\n\nexport function watchScroll(\n box: HTMLElement,\n handler: (event: ScrollEvent) => any,\n depth = 6\n) {\n return Array.from(\n box.querySelectorAll<HTMLHeadingElement>(\n Array.from(new Array(depth), (_, index) => `h${++index}`) + ''\n ),\n header => {\n new IntersectionObserver(([item]) => {\n if (!item.isIntersecting) return;\n\n const target = item.target as HTMLHeadingElement;\n\n handler({\n target,\n links: [\n ...target.ownerDocument.querySelectorAll<\n HTMLAnchorElement | HTMLAreaElement\n >(`[href=\"#${target.id}\"]`)\n ]\n });\n }).observe(header);\n\n if (!header.id.trim())\n header.id = header.textContent.trim().replace(/\\W+/g, '-');\n\n return {\n level: +header.tagName[1],\n id: header.id,\n text: header.textContent.trim()\n };\n }\n );\n}\n\nexport function watchVisible(\n root: Element,\n handler: (visible: boolean) => any\n) {\n var last = document.visibilityState === 'visible' ? 1 : 0;\n\n function change(state: number) {\n if (state === 3 || last === 3) handler(state === 3);\n\n last = state;\n }\n\n new IntersectionObserver(([{ isIntersecting }]) =>\n change(isIntersecting ? last | 2 : last & 1)\n ).observe(root);\n\n document.addEventListener('visibilitychange', () =>\n change(document.visibilityState === 'visible' ? last | 1 : last & 2)\n );\n}\n\nexport function formToJSON<T extends object = URLData<File>>(\n form: HTMLFormElement | HTMLFieldSetElement\n) {\n const data = {} as T;\n\n for (const field of form.elements) {\n let { name, value, checked, defaultValue, selectedOptions, files } =\n field as HTMLField;\n const type = (field as HTMLField).type as string;\n\n if (!name || value === '') continue;\n\n const box = type !== 'fieldset' && field.closest('fieldset');\n\n if (box && box !== form) continue;\n\n let parsedValue: any = value;\n\n switch (type) {\n case 'radio':\n case 'checkbox':\n if (checked)\n parsedValue = defaultValue ? toJSValue(defaultValue) : true;\n else continue;\n break;\n case 'select-multiple':\n parsedValue = Array.from(selectedOptions, ({ value }) =>\n toJSValue(value)\n );\n break;\n case 'fieldset':\n parsedValue = formToJSON(field as HTMLFieldSetElement);\n break;\n case 'file':\n parsedValue = files && Array.from(files);\n break;\n case 'date':\n case 'datetime-local':\n case 'month':\n case 'hidden':\n case 'number':\n case 'range':\n case 'select-one':\n parsedValue = toJSValue(value);\n }\n\n if (name in data) data[name] = [].concat(data[name], parsedValue);\n else\n data[name] =\n !(parsedValue instanceof Array) || !isEmpty(parsedValue[1])\n ? parsedValue\n : parsedValue[0];\n }\n\n return data;\n}\n","export function sleep(seconds = 1) {\n return new Promise<void>(resolve => setTimeout(resolve, seconds * 1000));\n}\n\nexport function asyncLoop(executor: (...data: any[]) => any, seconds = 1) {\n var stop = false;\n\n (async () => {\n while (!stop) {\n const result = executor();\n\n if (result instanceof Promise) await result;\n\n await sleep(seconds);\n }\n })();\n\n return () => (stop = true);\n}\n","import { uniqueID } from './data';\n\nexport type DelegateEventHandler<T = any> = (\n event: Event,\n currentTarget: Element,\n detail?: T\n) => any;\n\nexport function delegate<T>(\n selector: string,\n handler: DelegateEventHandler<T>\n) {\n return function (this: Node, event: Event) {\n var node: EventTarget,\n path = event.composedPath();\n\n while ((node = path.shift()) && node !== event.currentTarget)\n if (node instanceof HTMLElement && node.matches(selector))\n return handler.call(\n this,\n event,\n node,\n (event as CustomEvent).detail\n );\n };\n}\n\nexport const documentReady =\n typeof window !== 'undefined'\n ? new Promise<void>(resolve => {\n function done() {\n document?.removeEventListener('DOMContentLoaded', done);\n window.removeEventListener('load', done);\n resolve();\n }\n document?.addEventListener('DOMContentLoaded', done);\n window.addEventListener('load', done);\n\n setTimeout(function check() {\n document?.readyState === 'complete'\n ? resolve()\n : setTimeout(check);\n });\n })\n : Promise.resolve();\n\nexport function promisify<T extends Event>(scope: string, element: Element) {\n return new Promise<T>((resolve, reject) => {\n function end(event: T) {\n resolve(event), clean();\n }\n function cancel(event: T) {\n reject(event), clean();\n }\n\n function clean() {\n element.removeEventListener(scope + 'end', end);\n element.removeEventListener(scope + 'cancel', cancel);\n }\n\n element.addEventListener(scope + 'end', end);\n element.addEventListener(scope + 'cancel', cancel);\n });\n}\n\nexport type MessageGlobal = Window | Worker;\n\nexport function createMessageServer(\n handlers: Record<string, (data: any) => any | Promise<any>>\n) {\n async function server({\n data: { type, id, ...data },\n source,\n origin\n }: MessageEvent) {\n var result = handlers[type]?.(data);\n\n if (result instanceof Promise) result = await result;\n // @ts-ignore\n (source as MessageGlobal).postMessage({ ...result, id }, origin);\n }\n\n globalThis.addEventListener('message', server);\n\n return () => globalThis.removeEventListener('message', server);\n}\n\nexport function createMessageClient(target: Window | Worker, origin = '*') {\n return (type: string, data?: any) =>\n new Promise(resolve => {\n const UID = uniqueID();\n\n function handler({ data: { id, ...data } }: MessageEvent) {\n if (id !== UID) return;\n\n resolve(data);\n\n globalThis.removeEventListener('message', handler);\n }\n\n globalThis.addEventListener('message', handler);\n // @ts-ignore\n target.postMessage({ id: UID, type, ...data }, origin);\n });\n}\n\nexport function serviceWorkerUpdate(registration: ServiceWorkerRegistration) {\n return new Promise<ServiceWorker>(resolve => {\n if (registration.waiting) return resolve(registration.waiting);\n\n registration.onupdatefound = () =>\n registration.installing?.addEventListener(\n 'statechange',\n function () {\n if (\n this.state === 'installed' &&\n navigator.serviceWorker.controller\n )\n resolve(this);\n }\n );\n });\n}\n","import { promisify } from './event';\n\nexport interface CartesianCoordinate {\n x: number;\n y: number;\n z?: number;\n}\n\nexport class PageVector {\n from: CartesianCoordinate;\n to: CartesianCoordinate;\n\n constructor(from: CartesianCoordinate, to: CartesianCoordinate) {\n this.from = from;\n this.to = to;\n }\n\n get length() {\n const { from, to } = this;\n\n return Math.sqrt(\n Math.pow(to.x - from.x, 2) +\n Math.pow(to.y - from.y, 2) +\n (to.z != null ? Math.pow(to.z - from.z, 2) : 0)\n );\n }\n\n get direction() {\n const { from, to } = this;\n const XD = to.x - from.x,\n YD = to.y - from.y,\n ZD = to.z - from.z;\n const XL = Math.abs(XD),\n YL = Math.abs(YD),\n ZL = Math.abs(ZD);\n\n switch (isNaN(ZL) ? Math.max(XL, YL) : Math.max(XL, YL, ZL)) {\n case XL:\n return XD > 0 ? 'right' : 'left';\n case YL:\n return YD > 0 ? 'forward' : 'backward';\n case ZL:\n return ZD > 0 ? 'up' : 'down';\n }\n }\n}\n\nexport function getSwipeVector(\n from: CartesianCoordinate,\n to: CartesianCoordinate,\n threshold = parseInt(getComputedStyle(document.body).fontSize) * 6\n) {\n const vector = new PageVector(from, to);\n\n if (vector.length >= threshold && !getSelection()?.toString().trim())\n return vector;\n}\n\nexport interface AnimationEvents {\n transition: TransitionEvent;\n animation: AnimationEvent;\n}\n\nexport type AnimationType = keyof AnimationEvents;\n\nexport function durationOf(type: AnimationType, element: HTMLElement) {\n const { transitionDuration, animationDuration } = getComputedStyle(element);\n\n const duration =\n type === 'animation' ? animationDuration : transitionDuration;\n\n return parseFloat(duration) * (duration.slice(-2) === 'ms' ? 1 : 1000);\n}\n\nexport function watchMotion<T extends AnimationType>(\n type: T,\n element: HTMLElement\n) {\n return Promise.race<AnimationEvents[T] | void>([\n promisify<AnimationEvents[T]>(type, element).catch(event =>\n Promise.resolve(event)\n ),\n new Promise<void>(resolve =>\n setTimeout(resolve, durationOf(type, element))\n )\n ]);\n}\n\nfunction fadeIn<T extends AnimationType>(\n type: T,\n element: HTMLElement,\n className: string,\n display: string\n) {\n element.style.display = display;\n\n const end = watchMotion(type, element);\n\n return new Promise<AnimationEvents[T] | void>(resolve =>\n requestAnimationFrame(() => {\n element.classList.add(className);\n\n end.then(resolve);\n })\n );\n}\n\nasync function fadeOut<T extends AnimationType>(\n type: T,\n element: HTMLElement,\n className: string,\n remove?: boolean\n) {\n const end = watchMotion(type, element);\n\n element.classList.remove(className);\n\n await end;\n\n if (remove) element.remove();\n else element.style.display = 'none';\n}\n\nexport function transitIn(\n element: HTMLElement,\n className: string,\n display = 'block'\n) {\n return fadeIn('transition', element, className, display);\n}\n\nexport function animateIn(\n element: HTMLElement,\n className: string,\n display = 'block'\n) {\n return fadeIn('animation', element, className, display);\n}\n\nexport function transitOut(\n element: HTMLElement,\n className: string,\n remove?: boolean\n) {\n return fadeOut('transition', element, className, remove);\n}\n\nexport function animateOut(\n element: HTMLElement,\n className: string,\n remove?: boolean\n) {\n return fadeOut('animation', element, className, remove);\n}\n","import { sleep } from './timer';\n\nexport async function describe(title: string, cases: () => any) {\n console.log(title);\n console.time(title);\n\n await cases();\n\n console.timeEnd(title);\n}\n\nexport async function it<T>(\n title: string,\n userCase: (expect: (status: boolean) => void) => T | Promise<T>,\n secondsOut = 3\n): Promise<T> {\n title = ' ' + title;\n\n console.time(title);\n\n async function timeOut(): Promise<T> {\n await sleep(secondsOut);\n\n throw new RangeError('Timed out');\n }\n try {\n return await Promise.race<T>([\n userCase(status => console.assert(status, title)),\n timeOut()\n ]);\n } finally {\n console.timeEnd(title);\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DOMRenderer = void 0;\nvar tslib_1 = require(\"tslib\");\nrequire(\"scheduler-polyfill\");\nvar web_streams_polyfill_1 = require(\"web-streams-polyfill\");\nvar web_utility_1 = require(\"web-utility\");\nvar VDOM_1 = require(\"./VDOM\");\nvar DOMRenderer = /** @class */ (function () {\n function DOMRenderer() {\n var _this = this;\n this.eventPattern = /^on[A-Z]/;\n this.ariaPattern = /^aira[A-Z]/;\n this.document = globalThis.document;\n this.treeCache = new WeakMap();\n this.signalCache = new WeakMap();\n this.keyOf = function (_a, index) {\n var key = _a.key, text = _a.text, props = _a.props, selector = _a.selector;\n return (key === null || key === void 0 ? void 0 : key.toString()) || (props === null || props === void 0 ? void 0 : props.id) || (text || selector || '') + index;\n };\n this.vNodeOf = function (list, key) {\n return list.find(function (vNode, index) { return \"\".concat(_this.keyOf(vNode, index)) === String(key); });\n };\n this.propsKeyOf = function (key) {\n return key.startsWith('aria-')\n ? (0, web_utility_1.toCamelCase)(key)\n : _this.eventPattern.test(key)\n ? key.toLowerCase()\n : key;\n };\n this.attrsNameOf = function (key) { return VDOM_1.VNode.propsMap[key] || key; };\n this.removeProperty = function (node, key) {\n return _this.eventPattern.test(key)\n ? (node[key.toLowerCase()] = null)\n : node.removeAttribute(_this.ariaPattern.test(key) ? (0, web_utility_1.toHyphenCase)(key) : _this.attrsNameOf(key));\n };\n this.setProperty = function (node, key, value) {\n var isXML = (0, web_utility_1.templateOf)(node.tagName) && (0, web_utility_1.elementTypeOf)(node.tagName) === 'xml';\n if (isXML || key.includes('-'))\n node.setAttribute(_this.attrsNameOf(key), value);\n else\n try {\n var name_1 = _this.propsKeyOf(key);\n if (_this.eventPattern.test(key) && !(name_1 in node))\n _this.handleCustomEvent(node, name_1.slice(2));\n node[name_1] = value;\n }\n catch (_a) {\n node.setAttribute(_this.attrsNameOf(key), value);\n }\n };\n }\n DOMRenderer.prototype.updateProps = function (node, oldProps, newProps, onDelete, onAdd) {\n var e_1, _a, e_2, _b;\n if (oldProps === void 0) { oldProps = {}; }\n if (newProps === void 0) { newProps = {}; }\n var group = (0, web_utility_1.diffKeys)(Object.keys(oldProps), Object.keys(newProps)).group;\n try {\n for (var _c = tslib_1.__values(group[web_utility_1.DiffStatus.Old] || []), _d = _c.next(); !_d.done; _d = _c.next()) {\n var _e = tslib_1.__read(_d.value, 1), key = _e[0];\n onDelete === null || onDelete === void 0 ? void 0 : onDelete(node, key);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n try {\n for (var _f = tslib_1.__values(tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read((group[web_utility_1.DiffStatus.Same] || [])), false), tslib_1.__read((group[web_utility_1.DiffStatus.New] || [])), false)), _g = _f.next(); !_g.done; _g = _f.next()) {\n var _h = tslib_1.__read(_g.value, 1), key = _h[0];\n if (oldProps[key] !== newProps[key])\n if (onAdd instanceof Function)\n onAdd(node, key, newProps[key]);\n else\n Reflect.set(node, key, newProps[key]);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_g && !_g.done && (_b = _f.return)) _b.call(_f);\n }\n finally { if (e_2) throw e_2.error; }\n }\n };\n DOMRenderer.prototype.deleteNode = function (_a) {\n var ref = _a.ref, node = _a.node, children = _a.children;\n if (node instanceof DocumentFragment)\n children === null || children === void 0 ? void 0 : children.forEach(this.deleteNode);\n else if (node) {\n node.remove();\n ref === null || ref === void 0 ? void 0 : ref();\n }\n };\n DOMRenderer.prototype.commitChild = function (root, node, index) {\n if (index === void 0) { index = 0; }\n var targetNode = root.childNodes[index];\n if (targetNode === node)\n return;\n if (!targetNode)\n root.append(node);\n else\n targetNode.before(node);\n };\n DOMRenderer.prototype.diffVChildren = function (oldVNode, newVNode) {\n var _a, map, group, deletingGroup, _b, _c, _d, index, newVChild, key, oldVChild, e_3_1, _e, _f, _g, _i, selector, _h, _j, oldVNode_1, e_4_1;\n var e_3, _k, e_4, _l;\n var _this = this;\n var _m;\n return tslib_1.__generator(this, function (_o) {\n switch (_o.label) {\n case 0:\n newVNode.children = newVNode.children.map(function (vNode) { return new VDOM_1.VNode(vNode); });\n _a = (0, web_utility_1.diffKeys)(oldVNode.children.map(this.keyOf), newVNode.children.map(this.keyOf)), map = _a.map, group = _a.group;\n deletingGroup = group[web_utility_1.DiffStatus.Old] &&\n (0, web_utility_1.groupBy)(group[web_utility_1.DiffStatus.Old].map(function (_a) {\n var _b = tslib_1.__read(_a, 1), key = _b[0];\n return _this.vNodeOf(oldVNode.children, key);\n }), function (_a) {\n var selector = _a.selector;\n return selector + '';\n });\n _o.label = 1;\n case 1:\n _o.trys.push([1, 7, 8, 9]);\n _b = tslib_1.__values(newVNode.children.entries()), _c = _b.next();\n _o.label = 2;\n case 2:\n if (!!_c.done) return [3 /*break*/, 6];\n _d = tslib_1.__read(_c.value, 2), index = _d[0], newVChild = _d[1];\n key = this.keyOf(newVChild, index);\n oldVChild = map[key] === web_utility_1.DiffStatus.Same\n ? this.vNodeOf(oldVNode.children, key)\n : (_m = deletingGroup === null || deletingGroup === void 0 ? void 0 : deletingGroup[newVChild.selector]) === null || _m === void 0 ? void 0 : _m.shift();\n return [4 /*yield*/, { index: index, oldVNode: oldVChild, newVNode: newVChild }];\n case 3:\n _o.sent();\n if (!((oldVChild === null || oldVChild === void 0 ? void 0 : oldVChild.children[0]) || newVChild.children[0])) return [3 /*break*/, 5];\n oldVChild || (oldVChild = new VDOM_1.VNode(tslib_1.__assign(tslib_1.__assign({}, newVChild), { children: [] })));\n return [5 /*yield**/, tslib_1.__values(this.diffVChildren(oldVChild, newVChild))];\n case 4:\n _o.sent();\n _o.label = 5;\n case 5:\n _c = _b.next();\n return [3 /*break*/, 2];\n case 6: return [3 /*break*/, 9];\n case 7:\n e_3_1 = _o.sent();\n e_3 = { error: e_3_1 };\n return [3 /*break*/, 9];\n case 8:\n try {\n if (_c && !_c.done && (_k = _b.return)) _k.call(_b);\n }\n finally { if (e_3) throw e_3.error; }\n return [7 /*endfinally*/];\n case 9:\n _e = deletingGroup;\n _f = [];\n for (_g in _e)\n _f.push(_g);\n _i = 0;\n _o.label = 10;\n case 10:\n if (!(_i < _f.length)) return [3 /*break*/, 19];\n _g = _f[_i];\n if (!(_g in _e)) return [3 /*break*/, 18];\n selector = _g;\n _o.label = 11;\n case 11:\n _o.trys.push([11, 16, 17, 18]);\n _h = (e_4 = void 0, tslib_1.__values(deletingGroup[selector])), _j = _h.next();\n _o.label = 12;\n case 12:\n if (!!_j.done) return [3 /*break*/, 15];\n oldVNode_1 = _j.value;\n return [4 /*yield*/, { oldVNode: oldVNode_1 }];\n case 13:\n _o.sent();\n _o.label = 14;\n case 14:\n _j = _h.next();\n return [3 /*break*/, 12];\n case 15: return [3 /*break*/, 18];\n case 16:\n e_4_1 = _o.sent();\n e_4 = { error: e_4_1 };\n return [3 /*break*/, 18];\n case 17:\n try {\n if (_j && !_j.done && (_l = _h.return)) _l.call(_h);\n }\n finally { if (e_4) throw e_4.error; }\n return [7 /*endfinally*/];\n case 18:\n _i++;\n return [3 /*break*/, 10];\n case 19: return [2 /*return*/];\n }\n });\n };\n DOMRenderer.prototype.handleCustomEvent = function (node, event) {\n var handler;\n Object.defineProperty(node, \"on\".concat(event), {\n set: function (value) {\n if (handler)\n node.removeEventListener(event, handler);\n node.addEventListener(event, (handler = value));\n },\n get: function () { return handler; }\n });\n };\n DOMRenderer.prototype.patchNode = function (oldVNode, newVNode) {\n this.updateProps(oldVNode.node, oldVNode.props, newVNode.props, this.removeProperty, this.setProperty);\n this.updateProps(oldVNode.node.style, oldVNode.style, newVNode.style, function (style, key) { return style.removeProperty((0, web_utility_1.toHyphenCase)(key)); }, function (style, key, value) { return style.setProperty((0, web_utility_1.toHyphenCase)(key), value); });\n newVNode.node || (newVNode.node = oldVNode.node);\n return newVNode;\n };\n DOMRenderer.prototype.generateDOM = function (oldVRoot, newVRoot) {\n var _a, _b, _c, index, oldVNode, newVNode, inserting, tagName, node, parent_1, e_5_1;\n var e_5, _d;\n var _e;\n return tslib_1.__generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n if (VDOM_1.VNode.isFragment(newVRoot))\n newVRoot = new VDOM_1.VNode(tslib_1.__assign(tslib_1.__assign({}, oldVRoot), { children: newVRoot.children }));\n return [4 /*yield*/, this.patchNode(oldVRoot, newVRoot)];\n case 1:\n _f.sent();\n _f.label = 2;\n case 2:\n _f.trys.push([2, 7, 8, 9]);\n _a = tslib_1.__values(this.diffVChildren(oldVRoot, newVRoot)), _b = _a.next();\n _f.label = 3;\n case 3:\n if (!!_b.done) return [3 /*break*/, 6];\n _c = _b.value, index = _c.index, oldVNode = _c.oldVNode, newVNode = _c.newVNode;\n if (!newVNode) {\n this.deleteNode(oldVNode);\n return [3 /*break*/, 5];\n }\n inserting = !oldVNode;\n if (oldVNode)\n newVNode.node = oldVNode.node;\n else {\n newVNode.createDOM(this.document);\n tagName = newVNode.tagName, node = newVNode.node, parent_1 = newVNode.parent;\n oldVNode = new VDOM_1.VNode({ tagName: tagName, node: node, parent: parent_1 });\n }\n if (newVNode.text)\n oldVNode.node.nodeValue = newVNode.text;\n else if (!VDOM_1.VNode.isFragment(newVNode))\n this.patchNode(oldVNode, newVNode);\n if (oldVNode.parent) {\n this.commitChild(oldVNode.parent.node, newVNode.node, index);\n if (inserting)\n (_e = newVNode.ref) === null || _e === void 0 ? void 0 : _e.call(newVNode, newVNode.node);\n }\n return [4 /*yield*/, newVNode];\n case 4:\n _f.sent();\n _f.label = 5;\n case 5:\n _b = _a.next();\n return [3 /*break*/, 3];\n case 6: return [3 /*break*/, 9];\n case 7:\n e_5_1 = _f.sent();\n e_5 = { error: e_5_1 };\n return [3 /*break*/, 9];\n case 8:\n try {\n if (_b && !_b.done && (_d = _a.return)) _d.call(_a);\n }\n finally { if (e_5) throw e_5.error; }\n return [7 /*endfinally*/];\n case 9: return [2 /*return*/];\n }\n });\n };\n DOMRenderer.prototype.patch = function (oldVRoot, newVRoot) {\n var e_6, _a;\n var count = 0;\n try {\n for (var _b = tslib_1.__values(this.generateDOM(oldVRoot, newVRoot)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var newVNode = _c.value;\n if (++count === 1)\n newVRoot = newVNode;\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_6) throw e_6.error; }\n }\n return newVRoot;\n };\n DOMRenderer.prototype.patchAsync = function (oldVRoot, newVRoot) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var oldController, controller, count, _a, _b, newVNode, e_7_1;\n var e_7, _c;\n return tslib_1.__generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n oldController = this.signalCache.get(oldVRoot.node);\n if (oldController) {\n oldController.abort();\n oldVRoot = VDOM_1.VNode.fromDOM(oldVRoot.node);\n }\n controller = new AbortController();\n this.signalCache.set(oldVRoot.node, controller);\n count = 0;\n _d.label = 1;\n case 1:\n _d.trys.push([1, 6, 7, 8]);\n _a = tslib_1.__values(this.generateDOM(oldVRoot, newVRoot)), _b = _a.next();\n _d.label = 2;\n case 2:\n if (!!_b.done) return [3 /*break*/, 5];\n newVNode = _b.value;\n if (++count === 1)\n newVRoot = newVNode;\n return [4 /*yield*/, scheduler.yield()];\n case 3:\n _d.sent();\n if (controller.signal.aborted) {\n this.signalCache.delete(oldVRoot.node);\n controller.signal.throwIfAborted();\n }\n _d.label = 4;\n case 4:\n _b = _a.next();\n return [3 /*break*/, 2];\n case 5: return [3 /*break*/, 8];\n case 6:\n e_7_1 = _d.sent();\n e_7 = { error: e_7_1 };\n return [3 /*break*/, 8];\n case 7:\n try {\n if (_b && !_b.done && (_c = _a.return)) _c.call(_a);\n }\n finally { if (e_7) throw e_7.error; }\n return [7 /*endfinally*/];\n case 8:\n this.signalCache.delete(oldVRoot.node);\n return [2 /*return*/, newVRoot];\n }\n });\n });\n };\n DOMRenderer.prototype.render = function (vNode, node, mode) {\n var _this = this;\n var _a;\n if (node === void 0) { node = (_a = globalThis.document) === null || _a === void 0 ? void 0 : _a.body; }\n if (mode === void 0) { mode = 'sync'; }\n this.document = node.ownerDocument;\n var root = this.treeCache.get(node) || VDOM_1.VNode.fromDOM(node);\n var done = function (root) { return _this.treeCache.set(node, root) && root; };\n return mode === 'sync'\n ? done(this.patch(root, new VDOM_1.VNode(tslib_1.__assign(tslib_1.__assign({}, root), { children: [vNode] }))))\n : this.patchAsync(root, new VDOM_1.VNode(tslib_1.__assign(tslib_1.__assign({}, root), { children: [vNode] }))).then(done);\n };\n DOMRenderer.prototype.renderToStaticMarkup = function (tree) {\n return tslib_1.__spreadArray([], tslib_1.__read(tree.generateXML()), false).join('');\n };\n DOMRenderer.prototype.renderToReadableStream = function (tree) {\n return web_streams_polyfill_1.ReadableStream.from(tree.generateXML());\n };\n return DOMRenderer;\n}());\nexports.DOMRenderer = DOMRenderer;\n","!function(){var t=[\"user-blocking\",\"user-visible\",\"background\"];class i{constructor(){this.t=new MessageChannel,this.i=this.t.port2,this.l={},this.o=1,this.t.port1.onmessage=t=>this.h(t)}u(t){var i=this.o++;return this.l[i]=t,this.i.postMessage(i),i}p(t){delete this.l[t]}h(t){var i=t.data;if(i in this.l){var r=this.l[i];delete this.l[i],r()}}}function r(){return r.v||(r.v=new i),r.v}class s{constructor(t,i,r){void 0===r&&(r=0),this.k=t,this.T=null,this.C=null,this.m=!1,this._(i,r)}isIdleCallback(){return 0===this.T}I(){return 2===this.T}cancel(){if(!this.m)switch(this.m=!0,this.T){case 0:cancelIdleCallback(this.C);break;case 1:clearTimeout(this.C);break;case 2:r().p(this.C);break;default:throw new TypeError(\"Unknown CallbackType\")}}_(i,s){if(s&&s>0)return this.T=1,void(this.C=setTimeout(()=>{this.P()},s));if(!t.includes(i))throw new TypeError(\"Invalid task priority : \"+i);return\"background\"===i&&\"function\"==typeof requestIdleCallback?(this.T=0,void(this.C=requestIdleCallback(()=>{this.P()}))):\"function\"==typeof MessageChannel?(this.T=2,void(this.C=r().u(()=>{this.P()}))):(this.T=1,void(this.C=setTimeout(()=>{this.P()})))}P(){this.m||this.k()}}var e=0;class n{constructor(){this.j=null,this.M=null}isEmpty(){return null==this.j}push(t){if(\"object\"!=typeof t)throw new TypeError(\"Task must be an Object\");t.A=e++,this.isEmpty()?(t.N=null,this.j=t):(t.N=this.M,this.M.O=t),t.O=null,this.M=t}takeNextTask(){if(this.isEmpty())return null;var t=this.j;return this.q(t),t}merge(t,i){if(\"function\"!=typeof i)throw new TypeError(\"Must provide a selector function.\");if(null==t)throw new Error(\"sourceQueue cannot be null\");for(var r=this.j,s=null,e=t.j;e;){var n=e;if(e=e.O,i(n)){for(t.q(n);r&&r.A<n.A;)s=r,r=r.O;this.D(n,s),s=n}}}D(t,i){if(i!=this.M){var r=i?i.O:this.j;t.O=r,r.N=t,t.N=i,null!=i?i.O=t:this.j=t}else this.push(t)}q(t){if(null==t)throw new Error(\"Expected task to be non-null\");t===this.j&&(this.j=t.O),t===this.M&&(this.M=this.M.N),t.O&&(t.O.N=t.N),t.N&&(t.N.O=t.O)}}class l extends Event{constructor(i,r){if(!r||!t.includes(r.previousPriority))throw new TypeError(\"Invalid task priority: '\"+r.previousPriority+\"'\");super(i),this.previousPriority=r.previousPriority}}class o extends AbortController{constructor(i){if(void 0===i&&(i={}),super(),null==i&&(i={}),\"object\"!=typeof i)throw new TypeError(\"'init' is not an object\");var r,s,e=void 0===i.priority?\"user-visible\":i.priority;if(!t.includes(e))throw new TypeError(\"Invalid task priority: '\"+e+\"'\");this.H=e,this.R=!1,s=(r=this).signal,Object.defineProperties(s,{priority:{get:function(){return r.H},enumerable:!0},onprioritychange:{value:null,writable:!0,enumerable:!0}}),s.addEventListener(\"prioritychange\",t=>{s.onprioritychange&&s.onprioritychange(t)})}setPriority(i){if(!t.includes(i))throw new TypeError(\"Invalid task priority: \"+i);if(this.R)throw new DOMException(\"\",\"NotAllowedError\");if(this.signal.priority!==i){this.R=!0;var r=this.H;this.H=i;var s=new l(\"prioritychange\",{previousPriority:r});this.signal.dispatchEvent(s),this.R=!1}}}void 0===self.scheduler?(self.scheduler=new class{constructor(){this.S={},t.forEach(t=>{this.S[t]=[new n,new n]}),this.U=null,this.W=new WeakMap}yield(){return this.B(()=>{},{priority:\"user-visible\"},!0)}postTask(t,i){return this.B(t,i,!1)}B(i,r,s){if(void 0!==(r=Object.assign({},r)).signal){if(null===r.signal||!(\"aborted\"in r.signal)||\"function\"!=typeof r.signal.addEventListener)return Promise.reject(new TypeError(\"'signal' is not a valid 'AbortSignal'\"));if(r.signal&&r.signal.priority&&!t.includes(r.signal.priority))return Promise.reject(new TypeError(\"Invalid task priority: '\"+r.signal.priority+\"'\"))}if(void 0!==r.priority&&(null===r.priority||!t.includes(r.priority)))return Promise.reject(new TypeError(\"Invalid task priority: '\"+r.priority+\"'\"));if(void 0===r.delay&&(r.delay=0),r.delay=Number(r.delay),r.delay<0)return Promise.reject(new TypeError(\"'delay' must be a positive number.\"));var e={callback:i,options:r,resolve:null,reject:null,hostCallback:null,abortCallback:null,onTaskCompleted:function(){this.options.signal&&this.abortCallback&&(this.options.signal.removeEventListener(\"abort\",this.abortCallback),this.abortCallback=null)},onTaskAborted:function(){this.hostCallback&&(this.hostCallback.cancel(),this.hostCallback=null),this.options.signal.removeEventListener(\"abort\",this.abortCallback),this.abortCallback=null,this.reject(this.options.signal.reason)},isAborted:function(){return this.options.signal&&this.options.signal.aborted},isContinuation:s},n=new Promise((t,i)=>{e.resolve=t,e.reject=i});return this._(e),n}_(t){var i=t.options.signal;if(i){if(i.aborted)return void t.reject(i.reason);t.abortCallback=()=>{t.onTaskAborted()},i.addEventListener(\"abort\",t.abortCallback)}t.options.delay>0?t.hostCallback=new s(()=>{t.hostCallback=null,this.F(t)},null,t.options.delay):(this.G(t),this.J())}F(t){this.G(t),this.U&&(this.U.cancel(),this.U=null),this.K()}L(t){var i=this.W.get(t);if(void 0===i)throw new Error(\"Attempting to change priority on an unregistered signal\");if(i!==t.priority){for(var r=0;r<2;r++)this.S[t.priority][r].merge(this.S[i][r],i=>i.options.signal===t);this.W.set(t,t.priority)}}K(){this.U=null,this.V(),this.J()}J(){var{priority:t}=this.X();null!=t&&(\"background\"!==t&&this.U&&this.U.isIdleCallback()&&(this.U.cancel(),this.U=null),this.U||(this.U=new s(()=>{this.K()},t,0)))}G(i){var r;if(!t.includes(r=i.options.priority?i.options.priority:i.options.signal&&i.options.signal.priority?i.options.signal.priority:\"user-visible\"))throw new TypeError(\"Invalid task priority: \"+r);if(i.options.signal&&i.options.signal.priority){var s=i.options.signal;this.W.has(s)||(s.addEventListener(\"prioritychange\",()=>{this.L(s)}),this.W.set(s,s.priority))}this.S[r][i.isContinuation?0:1].push(i)}V(){var t=null;do{var{priority:i,type:r}=this.X();if(null==i)return;t=this.S[i][r].takeNextTask()}while(t.isAborted());try{var s=t.callback();t.resolve(s)}catch(i){t.reject(i)}finally{t.onTaskCompleted()}}X(){for(var i=0;i<t.length;i++)for(var r=t[i],s=0;s<2;s++)if(!this.S[r][s].isEmpty())return{priority:r,type:s};return{priority:null,type:0}}},self.TaskController=o,self.TaskPriorityChangeEvent=l):self.scheduler.yield||(self.scheduler.yield=function(){return self.scheduler.postTask(()=>{},{priority:\"user-blocking\"})})}();\n//# sourceMappingURL=scheduler-polyfill.js.map\n","/**\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * The list of scheduler priorities in order from highest to lowest.\n * @const {!Array<string>}\n */\nconst SCHEDULER_PRIORITIES = ['user-blocking', 'user-visible', 'background'];\n\nexport {SCHEDULER_PRIORITIES};\n","/**\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {SCHEDULER_PRIORITIES} from './scheduler-priorities.js';\n\n/**\n * This class manages scheduling and running callbacks using postMessage.\n * @private\n */\nclass PostMessageCallbackMananger {\n /**\n * Construct a PostMessageCallbackMananger, which handles scheduling\n * and running callbacks via a MessageChannel.\n */\n constructor() {\n /**\n * @private\n * @const {!MessageChannel}\n */\n this.channel_ = new MessageChannel();\n\n /**\n * @private\n * @const {MessagePort}\n */\n this.sendPort_ = this.channel_.port2;\n\n /**\n * @private\n * @const {!Object<number, function(): undefined>}\n */\n this.messages_ = {};\n\n /**\n * @private\n * @type {number}\n */\n this.nextMessageHandle_ = 1;\n\n this.channel_.port1.onmessage = (e) => this.onMessageReceived_(e);\n }\n\n /**\n * @param {function(): undefined} callback\n * @return {number} A handle that can used for cancellation.\n */\n queueCallback_(callback) {\n // We support multiple pending postMessage callbacks by associating a handle\n // with each message, which is used to look up the callback when the message\n // is received.\n const handle = this.nextMessageHandle_++;\n this.messages_[handle] = callback;\n this.sendPort_.postMessage(handle);\n return handle;\n }\n\n /**\n * @param {number} handle The handle returned when the callback was queued.\n */\n cancelCallback_(handle) {\n delete this.messages_[handle];\n }\n\n /**\n * The onmessage handler, invoked when the postMessage runs.\n * @private\n * @param {!Event} e\n */\n onMessageReceived_(e) {\n const handle = e.data;\n // The handle will have been removed if the callback was canceled.\n if (!(handle in this.messages_)) return;\n const callback = this.messages_[handle];\n delete this.messages_[handle];\n callback();\n }\n}\n\n/**\n * Get the lazily initialized instance of PostMessageCallbackMananger, which\n * is initialized that way to avoid errors if MessageChannel is not available.\n *\n * @return {!PostMessageCallbackMananger}\n */\nfunction getPostMessageCallbackManager() {\n if (!getPostMessageCallbackManager.instance_) {\n getPostMessageCallbackManager.instance_ = new PostMessageCallbackMananger();\n }\n return getPostMessageCallbackManager.instance_;\n}\n\n/** @enum {number} */\nconst CallbackType = {\n REQUEST_IDLE_CALLBACK: 0,\n SET_TIMEOUT: 1,\n POST_MESSAGE: 2,\n};\n\n/**\n * HostCallback is used for tracking host callbacks, both for the schedueler\n * entrypoint --- which can be a postMessage, setTimeout, or\n * requestIdleCallback --- and for delayed tasks.\n */\nclass HostCallback {\n /**\n * @param {function(): undefined} callback\n * @param {?string} priority The scheduler priority of the associated host\n * callback. This is used to determine which type of underlying API to\n * use. This can be null if delay is set.\n * @param {number} delay An optional delay. Tasks with a delay will\n * ignore the `priority` parameter and use setTimeout.\n */\n constructor(callback, priority, delay = 0) {\n /** @const {function(): undefined} */\n this.callback_ = callback;\n\n /**\n * @private\n * @type {CallbackType}\n */\n this.callbackType_ = null;\n\n /**\n * Handle for cancellation, which is set when the callback is scheduled.\n * @private\n * @type {?number}\n */\n this.handle_ = null;\n\n /**\n * @private\n * @type {boolean}\n */\n this.canceled_ = false;\n\n this.schedule_(priority, delay);\n }\n\n /**\n * Returns true iff this task was scheduled with requestIdleCallback.\n * @return {boolean}\n */\n isIdleCallback() {\n return this.callbackType_ === CallbackType.REQUEST_IDLE_CALLBACK;\n }\n\n /**\n * Returns true iff this task was scheduled with MessageChannel.\n * @return {boolean}\n */\n isMessageChannelCallback_() {\n return this.callbackType_ === CallbackType.POST_MESSAGE;\n }\n\n /**\n * Cancel the host callback, and if possible, cancel the underlying API call.\n */\n cancel() {\n if (this.canceled_) return;\n this.canceled_ = true;\n\n switch (this.callbackType_) {\n case CallbackType.REQUEST_IDLE_CALLBACK:\n cancelIdleCallback(this.handle_);\n break;\n case CallbackType.SET_TIMEOUT:\n clearTimeout(this.handle_);\n break;\n case CallbackType.POST_MESSAGE:\n getPostMessageCallbackManager().cancelCallback_(this.handle_);\n break;\n default:\n throw new TypeError('Unknown CallbackType');\n }\n }\n\n /**\n * @private\n * @param {?string} priority The scheduler priority of the associated host\n * callback. This is used to determine which type of underlying API to\n * use. This can be null if delay is set.\n * @param {number} delay An optional delay. Tasks with a delay will\n * ignore the `priority` parameter and use setTimeout.\n */\n schedule_(priority, delay) {\n // For the delay case, our only option is setTimeout. This gets queued at\n // the appropriate priority when the callback runs. If the delay <= 0 and\n // MessageChannel is available, we use postMessage below.\n if (delay && delay > 0) {\n this.callbackType_ = CallbackType.SET_TIMEOUT;\n this.handle_ = setTimeout(() => {\n this.runCallback_();\n }, delay);\n return;\n }\n\n // This shouldn't happen since Scheduler checks the priority before creating\n // a HostCallback, but fail loudly in case it does.\n if (!SCHEDULER_PRIORITIES.includes(priority)) {\n throw new TypeError(`Invalid task priority : ${priority}`);\n }\n\n if (priority === 'background' &&\n typeof requestIdleCallback === 'function') {\n this.callbackType_ = CallbackType.REQUEST_IDLE_CALLBACK;\n this.handle_ = requestIdleCallback(() => {\n this.runCallback_();\n });\n return;\n }\n\n // Use MessageChannel if avaliable.\n if (typeof MessageChannel === 'function') {\n this.callbackType_ = CallbackType.POST_MESSAGE;\n // TODO: Consider using setTimeout in the background so tasks are\n // throttled. One caveat here is that requestIdleCallback may not be\n // throttled.\n this.handle_ = getPostMessageCallbackManager().queueCallback_(() => {\n this.runCallback_();\n });\n return;\n }\n\n // Some JS environments may not support MessageChannel.\n // This makes setTimeout the only option.\n this.callbackType_ = CallbackType.SET_TIMEOUT;\n this.handle_ = setTimeout(() => {\n this.runCallback_();\n });\n }\n\n /** Run the associated callback. */\n runCallback_() {\n if (this.canceled_) return;\n this.callback_();\n }\n}\n\nexport {HostCallback};\n","/**\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * This represents the overall task queuing order and is used for moving tasks\n * between task queues for priority changes.\n * @private\n * @type {number}\n */\nlet nextSequence = 0;\n\n/**\n * An implementation of a task queue that augments the data being stored with\n * pointers to the previous and next entries. Storing the pointers on the data\n * reduces the number of objects created, cutting down on object churn.\n *\n * This task queue is implemented as a doubly-linked list, optimizing for\n * queueing and dequeing, as well as performant merges for priority change.\n *\n * This adds the following properties to tasks it owns:\n * - tq_sequence_: The overall queueing order.\n * - tq_prev_: A pointer to the previous task.\n * - tq_next_: A pointer to the next task.\n */\nclass IntrusiveTaskQueue {\n /**\n * Constructs an empty IntrusiveTaskQueue.\n */\n constructor() {\n /**\n * @private\n * @const {!Object}\n */\n this.head_ = null;\n\n /**\n * @private\n * @const {!Object}\n */\n this.tail_ = null;\n }\n\n /** @return {boolean} */\n isEmpty() {\n return this.head_ == null;\n }\n\n /** @param {!Object} task */\n push(task) {\n if (typeof task !== 'object') throw new TypeError('Task must be an Object');\n\n task.tq_sequence_ = nextSequence++;\n\n if (this.isEmpty()) {\n task.tq_prev_ = null;\n this.head_ = task;\n } else {\n task.tq_prev_ = this.tail_;\n this.tail_.tq_next_ = task;\n }\n\n task.tq_next_ = null;\n this.tail_ = task;\n }\n\n /** @return {?Object} The oldest task or null of the queue is empty. */\n takeNextTask() {\n if (this.isEmpty()) return null;\n const task = this.head_;\n this.remove_(task);\n return task;\n }\n\n /**\n * Merges all tasks from `sourceQueue` into this task queue for which\n * `selector` returns true . Tasks are insterted into this queue based on\n * their sequence number.\n *\n * @param {!IntrusiveTaskQueue} sourceQueue\n * @param {function(!Object): boolean} selector\n */\n merge(sourceQueue, selector) {\n if (typeof selector !== 'function') {\n throw new TypeError('Must provide a selector function.');\n }\n if (sourceQueue == null) throw new Error('sourceQueue cannot be null');\n\n let currentTask = this.head_;\n let previousTask = null;\n let iterator = sourceQueue.head_;\n\n while (iterator) {\n // Advance the iterator now before we mutate it and ivalidate the\n // pointers.\n const taskToMove = iterator;\n iterator = iterator.tq_next_;\n\n if (selector(taskToMove)) {\n sourceQueue.remove_(taskToMove);\n // Fast-forward until we're just past the insertion point. The new task\n // is inserted between previousTask and currentTask.\n while (currentTask &&\n (currentTask.tq_sequence_ < taskToMove.tq_sequence_)) {\n previousTask = currentTask;\n currentTask = currentTask.tq_next_;\n }\n this.insert_(taskToMove, previousTask);\n previousTask = taskToMove;\n }\n }\n }\n\n /**\n * Insert `task` into this queue directly after `parentTask`.\n * @private\n * @param {!Object} task The task to insert.\n * @param {?Object} parentTask The task preceding `task` in this queue, or\n * null if `task` should be inserted at the beginning.\n */\n insert_(task, parentTask) {\n // We can simply push the new task if it belongs at the end.\n if (parentTask == this.tail_) {\n this.push(task);\n return;\n }\n\n // `nextTask` is the next task in the list, which should not be null since\n // `parentTask` is not the tail (which is the only task with a null next\n // pointer).\n const nextTask = parentTask ? parentTask.tq_next_ : this.head_;\n\n task.tq_next_ = nextTask;\n nextTask.tq_prev_ = task;\n\n task.tq_prev_ = parentTask;\n\n if (parentTask != null) {\n parentTask.tq_next_ = task;\n } else {\n this.head_ = task;\n }\n }\n\n /**\n * @private\n * @param {!Object} task\n */\n remove_(task) {\n if (task == null) throw new Error('Expected task to be non-null');\n if (task === this.head_) this.head_ = task.tq_next_;\n if (task === this.tail_) this.tail_ = this.tail_.tq_prev_;\n if (task.tq_next_) task.tq_next_.tq_prev_ = task.tq_prev_;\n if (task.tq_prev_) task.tq_prev_.tq_next_ = task.tq_next_;\n }\n}\n\n/**\n * Returns an array containing the elements of this task queue in order. This\n * is meant to be used for debugging and might be removed.\n *\n * @param {IntrusiveTaskQueue} queue\n * @return {!Array<!Object>}\n */\nfunction toArray(queue) {\n let node = queue.head_;\n const a = [];\n while (node !== null) {\n a.push(node);\n node = node.tq_next_;\n }\n return a;\n}\n\nexport {IntrusiveTaskQueue, toArray};\n","/**\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {SCHEDULER_PRIORITIES} from './scheduler-priorities.js';\n\n/**\n * Makes the controller's signal a TaskSignal by adding a read-only priority\n * property.\n * @private\n * @param {TaskController} controller\n */\nfunction makeTaskSignal(controller) {\n const signal = controller.signal;\n Object.defineProperties(signal, {\n priority: {\n get: function() {\n return controller.priority_;\n },\n enumerable: true,\n },\n onprioritychange: {\n value: null,\n writable: true,\n enumerable: true,\n },\n });\n signal.addEventListener('prioritychange', (e) => {\n if (signal.onprioritychange) {\n signal.onprioritychange(e);\n }\n });\n}\n\n/**\n * Event type used for priority change events:\n * https://wicg.github.io/scheduling-apis/#sec-task-priority-change-event.\n */\nclass TaskPriorityChangeEvent extends Event {\n /**\n * Constructs a TaskPriorityChangeEvent. Events of this type are typically\n * named 'prioritychange', which is the name used for events triggered by\n * TaskController.setPriority().\n *\n * @param {?string} typeArg\n * @param {{previousPriority: string}} init\n */\n constructor(typeArg, init) {\n if (!init || !SCHEDULER_PRIORITIES.includes(init.previousPriority)) {\n throw new TypeError(`Invalid task priority: '${init.previousPriority}'`);\n }\n super(typeArg);\n this.previousPriority = init.previousPriority;\n }\n}\n\n/**\n * TaskController enables changing the priority of tasks associated with its\n * TaskSignal.\n *\n * Unfortunately, we can't implement TaskSignal by extending AbortSignal because\n * we can't call its constructor. We can't implement a separate TaskSignal class\n * because we need the inheritance so that TaskSignals can be passed to other\n * APIs. We therefore modify the TaskController's underlying AbortSignal, adding\n * the priority property.\n */\nclass TaskController extends AbortController {\n /**\n * @param {{priority: string}} init\n */\n constructor(init = {}) {\n super();\n\n if (init == null) init = {};\n if (typeof init !== 'object') {\n throw new TypeError(`'init' is not an object`);\n }\n\n const priority =\n init.priority === undefined ? 'user-visible' : init.priority;\n if (!SCHEDULER_PRIORITIES.includes(priority)) {\n throw new TypeError(`Invalid task priority: '${priority}'`);\n }\n\n /**\n * @private\n * @type {string}\n */\n this.priority_ = priority;\n\n /**\n * @private\n * @type {boolean}\n */\n this.isPriorityChanging_ = false;\n\n makeTaskSignal(this);\n }\n\n /**\n * Change the priority of all tasks associated with this controller's signal.\n * @param {string} priority\n */\n setPriority(priority) {\n if (!SCHEDULER_PRIORITIES.includes(priority)) {\n throw new TypeError('Invalid task priority: ' + priority);\n }\n if (this.isPriorityChanging_) throw new DOMException('', 'NotAllowedError');\n if (this.signal.priority === priority) return;\n\n this.isPriorityChanging_ = true;\n\n const previousPriority = this.priority_;\n this.priority_ = priority;\n\n const e = new TaskPriorityChangeEvent('prioritychange', {previousPriority});\n this.signal.dispatchEvent(e);\n\n this.isPriorityChanging_ = false;\n }\n}\n\nexport {TaskController, TaskPriorityChangeEvent};\n","/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Scheduler} from './scheduler.js';\nimport {TaskController, TaskPriorityChangeEvent} from './task-controller.js';\nimport {schedulerYield} from './yield.js';\n\nif (typeof self.scheduler === 'undefined') {\n self.scheduler = new Scheduler();\n self.TaskController = TaskController;\n self.TaskPriorityChangeEvent = TaskPriorityChangeEvent;\n} else if (!self.scheduler.yield) {\n self.scheduler.yield = schedulerYield;\n}\n","/**\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HostCallback} from './host-callback.js';\nimport {IntrusiveTaskQueue as TaskQueue} from './intrusive-task-queue.js';\nimport {SCHEDULER_PRIORITIES} from './scheduler-priorities.js';\n\n/**\n * Polyfill of the scheduler API: https://wicg.github.io/scheduling-apis/.\n */\nclass Scheduler {\n /**\n * Constructs a Scheduler object. There should only be one Scheduler per page\n * since tasks are only run in priority order within a particular scheduler.\n */\n constructor() {\n /**\n * @const {Object<string, !TaskQueue[]>}\n *\n * Continuation and task queue for each priority, in that order.\n */\n this.queues_ = {};\n SCHEDULER_PRIORITIES.forEach((priority) => {\n this.queues_[priority] = [new TaskQueue(), new TaskQueue()];\n });\n\n /*\n * We only schedule a single host callback, which can be a setTimeout,\n * requestIdleCallback, or postMessage, which will run the oldest, highest\n * priority task.\n *\n * TODO(shaseley): consider an option for supporting multiple outstanding\n * callbacks, which more closely matches the current Chromium\n * implementation.\n *\n * @private\n * @type {?HostCallback}\n */\n this.pendingHostCallback_ = null;\n\n /**\n * This keeps track of signals we know about for priority changes. The\n * entries are (key = signal, value = current priority). When we encounter\n * a new TaskSignal (an AbortSignal with a priority property), we listen for\n * priority changes so we can move tasks between queues accordingly.\n * @const {!WeakMap<!AbortSignal, string>}\n */\n this.signals_ = new WeakMap();\n }\n\n /**\n * Returns a promise that is resolved in a new task.\n *\n * @return {!Promise<*>}\n */\n yield() {\n // Inheritance is not supported. Use default options instead.\n return this.postTaskOrContinuation_(\n () => {}, {priority: 'user-visible'}, true);\n }\n\n /**\n * Schedules `callback` to be run asynchronously, returning a promise that is\n * resolved with the callback's result when it finishes running. The resulting\n * promise is rejected if the callback throws an exception, or if the\n * associated signal is aborted.\n *\n * @param {function(): *} callback\n * @param {{signal: AbortSignal, priorty: string, delay: number}} options\n * @return {!Promise<*>}\n */\n postTask(callback, options) {\n return this.postTaskOrContinuation_(callback, options, false);\n }\n\n /**\n * Common scheduling logic for postTask and yield.\n *\n * @param {function(): *} callback\n * @param {{signal: AbortSignal, priorty: string, delay: number}} options\n * @param {boolean} isContinuation\n * @return {!Promise<*>}\n */\n postTaskOrContinuation_(callback, options, isContinuation) {\n // Make a copy since we modify some of the options.\n options = Object.assign({}, options);\n\n if (options.signal !== undefined) {\n // Non-numeric options cannot be null for this API. Also make sure we can\n // use this object as an AbortSignal.\n if (options.signal === null || !('aborted' in options.signal) ||\n typeof options.signal.addEventListener !== 'function') {\n return Promise.reject(new TypeError(\n `'signal' is not a valid 'AbortSignal'`));\n }\n // If this is a TaskSignal, make sure the priority is valid.\n if (options.signal && options.signal.priority &&\n !SCHEDULER_PRIORITIES.includes(options.signal.priority)) {\n return Promise.reject(new TypeError(\n `Invalid task priority: '${options.signal.priority}'`));\n }\n }\n\n if (options.priority !== undefined) {\n // Non-numeric options cannot be null for this API.\n if (options.priority === null ||\n !SCHEDULER_PRIORITIES.includes(options.priority)) {\n return Promise.reject(new TypeError(\n `Invalid task priority: '${options.priority}'`));\n }\n }\n\n if (options.delay === undefined) options.delay = 0;\n // Unlike setTimeout, postTask uses [EnforceRange] and rejects negative\n // delay values. But it also converts non-numeric values to numbers. Since\n // IDL and Number() both use the same underlying ECMAScript algorithm\n // (ToNumber()), convert the value using Number(delay) and then check the\n // range.\n options.delay = Number(options.delay);\n if (options.delay < 0) {\n return Promise.reject(new TypeError(\n `'delay' must be a positive number.`));\n }\n\n const task = {\n callback,\n options,\n\n /** The resolve function from the associated Promise. */\n resolve: null,\n\n /** The reject function from the associated Promise. */\n reject: null,\n\n /** The pending HostCallback, which is set iff this is a delayed task. */\n hostCallback: null,\n\n /**\n * The callback passed to the abort event listener, which calls\n * `onAbort` and is bound to this task via an => function.\n */\n abortCallback: null,\n\n onTaskCompleted: function() {\n if (!this.options.signal || !this.abortCallback) return;\n this.options.signal.removeEventListener('abort', this.abortCallback);\n this.abortCallback = null;\n },\n\n onTaskAborted: function() {\n // If this is a delayed task that hasn't expired yet, cancel the host\n // callback.\n if (this.hostCallback) {\n this.hostCallback.cancel();\n this.hostCallback = null;\n }\n this.options.signal.removeEventListener('abort', this.abortCallback);\n this.abortCallback = null;\n this.reject(this.options.signal.reason);\n },\n\n isAborted: function() {\n return this.options.signal && this.options.signal.aborted;\n },\n\n isContinuation,\n };\n\n const resultPromise = new Promise((resolve, reject) => {\n task.resolve = resolve;\n task.reject = reject;\n });\n\n this.schedule_(task);\n\n return resultPromise;\n }\n\n /**\n * @private\n * @param {!Object} task\n */\n schedule_(task) {\n // Handle tasks that have already been aborted or might be aborted in the\n // future.\n const signal = task.options.signal;\n if (signal) {\n if (signal.aborted) {\n task.reject(signal.reason);\n return;\n }\n\n task.abortCallback = () => {\n task.onTaskAborted();\n };\n signal.addEventListener('abort', task.abortCallback);\n }\n\n // Handle delayed tasks.\n if (task.options.delay > 0) {\n task.hostCallback = new HostCallback(() => {\n task.hostCallback = null;\n this.onTaskDelayExpired_(task);\n }, null /* priority */, task.options.delay);\n return;\n }\n\n this.pushTask_(task);\n this.scheduleHostCallbackIfNeeded_();\n }\n\n /**\n * Callback invoked when a delayed task's timeout expires.\n * @private\n * @param {!Object} task\n */\n onTaskDelayExpired_(task) {\n // We need to queue the task in the appropriate queue, most importantly\n // to ensure ordering guarantees.\n this.pushTask_(task);\n\n // We also use this as an entrypoint into the scheduler and run the\n // next task, rather than waiting for the pending callback or scheduling\n // another one.\n if (this.pendingHostCallback_) {\n this.pendingHostCallback_.cancel();\n this.pendingHostCallback_ = null;\n }\n this.schedulerEntryCallback_();\n }\n\n /**\n * Callback invoked when a priortychange event is raised for `signal`.\n * @private\n * @param {!AbortSignal} signal\n */\n onPriorityChange_(signal) {\n const oldPriority = this.signals_.get(signal);\n if (oldPriority === undefined) {\n throw new Error(\n 'Attempting to change priority on an unregistered signal');\n }\n if (oldPriority === signal.priority) return;\n\n // Change priority for both continuations and tasks.\n for (let i = 0; i < 2; i++) {\n const sourceQueue = this.queues_[oldPriority][i];\n const destinationQueue = this.queues_[signal.priority][i];\n\n destinationQueue.merge(sourceQueue, (task) => {\n return task.options.signal === signal;\n });\n }\n\n this.signals_.set(signal, signal.priority);\n }\n\n /**\n * Callback invoked when the host callback fires.\n * @private\n */\n schedulerEntryCallback_() {\n this.pendingHostCallback_ = null;\n this.runNextTask_();\n this.scheduleHostCallbackIfNeeded_();\n }\n\n /**\n * Schedule the next scheduler callback if there are any pending tasks.\n */\n scheduleHostCallbackIfNeeded_() {\n const {priority} = this.nextTaskPriority_();\n if (priority == null) return;\n\n // We might need to upgrade to a non-idle callback if a higher priority task\n // is scheduled, in which case we cancel the pending host callback and\n // reschedule.\n if (priority !== 'background' && this.pendingHostCallback_ &&\n this.pendingHostCallback_.isIdleCallback()) {\n this.pendingHostCallback_.cancel();\n this.pendingHostCallback_ = null;\n }\n\n // Either the priority of the new task is compatible with the pending host\n // callback, or it's a lower priorty (we handled the other case above). In\n // either case, the pending callback is still valid.\n if (this.pendingHostCallback_) return;\n\n this.pendingHostCallback_ = new HostCallback(() => {\n this.schedulerEntryCallback_();\n }, priority, 0 /* delay */);\n }\n\n /**\n * Compute the `task` priority and push it onto the appropriate task queue.\n * If the priority comes from the associated signal, this will set up an event\n * listener to listen for priority changes.\n * @private\n * @param {!Object} task\n */\n pushTask_(task) {\n // If an explicit priority was provided, we use that. Otherwise if a\n // TaskSignal was provided, we get the priority from that. If neither a\n // priority or TaskSignal was provided, we default to 'user-visible'.\n let priority;\n if (task.options.priority) {\n priority = task.options.priority;\n } else if (task.options.signal && task.options.signal.priority) {\n priority = task.options.signal.priority;\n } else {\n priority = 'user-visible';\n }\n\n // The priority should have already been validated before calling this\n // method, but check the assumption and fail loudly if it doesn't hold.\n if (!SCHEDULER_PRIORITIES.includes(priority)) {\n throw new TypeError(`Invalid task priority: ${priority}`);\n }\n\n // Subscribe to priority change events if this is the first time we're\n // learning about this signal.\n if (task.options.signal && task.options.signal.priority) {\n const signal = task.options.signal;\n if (!this.signals_.has(signal)) {\n signal.addEventListener('prioritychange', () => {\n this.onPriorityChange_(signal);\n });\n this.signals_.set(signal, signal.priority);\n }\n }\n this.queues_[priority][task.isContinuation ? 0 : 1].push(task);\n }\n\n /**\n * Run the oldest highest priority non-aborted task, if there is one.\n * @private\n */\n runNextTask_() {\n let task = null;\n\n // Aborted tasks aren't removed from the task queue, so we need to keep\n // looping until we find a non-aborted task. Alternatively, we should\n // consider just removing them from their queue.\n do {\n // TODO(shaseley): This can potentially run a background task in a\n // non-background task host callback.\n const {priority, type} = this.nextTaskPriority_();\n // No tasks to run.\n if (priority == null) return;\n\n // Note: `task` will only be null if the queue is empty, which should not\n // be the case if we found the priority of the next task to run.\n task = this.queues_[priority][type].takeNextTask();\n } while (task.isAborted());\n\n try {\n const result = task.callback();\n task.resolve(result);\n } catch (e) {\n task.reject(e);\n } finally {\n task.onTaskCompleted();\n }\n }\n\n /**\n * Get the priority and type of the next task or continuation to run.\n * @private\n * @return {{priority: ?string, type: number}} Returns the priority and type\n * of the next continuation or task to run, or null if all queues are\n * empty.\n */\n nextTaskPriority_() {\n for (let i = 0; i < SCHEDULER_PRIORITIES.length; i++) {\n const priority = SCHEDULER_PRIORITIES[i];\n for (let type = 0; type < 2; type++) {\n if (!this.queues_[priority][type].isEmpty()) return {priority, type};\n }\n }\n return {priority: null, type: 0};\n }\n}\n\nexport {Scheduler};\n","/**\n * Copyright 2023 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview This version of scheduler.yield() is only used if\n * self.scheduler is defined. It assumes that this is the native implementation\n * (i.e. running in an older browser), and it uses scheduler.postTask() to\n * schedule continuations at 'user-blocking' priority.\n */\n\n/**\n * Returns a promise that is resolved in a new task. This schedules\n * continuations as 'user-blocking' scheduler.postTask() tasks.\n *\n * @return {!Promise<*>}\n */\nfunction schedulerYield() {\n // Use 'user-blocking' priority to get similar scheduling behavior as\n // scheduler.yield(). Note: we can't reliably inherit priority and abort since\n // we lose context if async functions are spread across multiple tasks.\n return self.scheduler.postTask(() => {}, {priority: 'user-blocking'});\n}\n\nexport {schedulerYield};\n","/**\n * @license\n * web-streams-polyfill v4.1.0\n * Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors.\n * This code is released under the MIT license.\n * SPDX-License-Identifier: MIT\n */\nfunction e(){}function t(e){return\"object\"==typeof e&&null!==e||\"function\"==typeof e}const r=e;function o(e,t){try{Object.defineProperty(e,\"name\",{value:t,configurable:!0})}catch(e){}}const n=Promise,a=Promise.resolve.bind(n),i=Promise.prototype.then,l=Promise.reject.bind(n),s=a;function u(e){return new n(e)}function c(e){return u((t=>t(e)))}function d(e){return l(e)}function f(e,t,r){return i.call(e,t,r)}function b(e,t,o){f(f(e,t,o),void 0,r)}function h(e,t){b(e,t)}function m(e,t){b(e,void 0,t)}function _(e,t,r){return f(e,t,r)}function p(e){f(e,void 0,r)}let y=e=>{if(\"function\"==typeof queueMicrotask)y=queueMicrotask;else{const e=c(void 0);y=t=>f(e,t)}return y(e)};function S(e,t,r){if(\"function\"!=typeof e)throw new TypeError(\"Argument is not a function\");return Function.prototype.apply.call(e,t,r)}function g(e,t,r){try{return c(S(e,t,r))}catch(e){return d(e)}}class v{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(e){const t=this._back;let r=t;16383===t._elements.length&&(r={_elements:[],_next:void 0}),t._elements.push(e),r!==t&&(this._back=r,t._next=r),++this._size}shift(){const e=this._front;let t=e;const r=this._cursor;let o=r+1;const n=e._elements,a=n[r];return 16384===o&&(t=e._next,o=0),--this._size,this._cursor=o,e!==t&&(this._front=t),n[r]=void 0,a}forEach(e){let t=this._cursor,r=this._front,o=r._elements;for(;!(t===o.length&&void 0===r._next||t===o.length&&(r=r._next,o=r._elements,t=0,0===o.length));)e(o[t]),++t}peek(){const e=this._front,t=this._cursor;return e._elements[t]}}const w=Symbol(\"[[AbortSteps]]\"),R=Symbol(\"[[ErrorSteps]]\"),T=Symbol(\"[[CancelSteps]]\"),C=Symbol(\"[[PullSteps]]\"),P=Symbol(\"[[ReleaseSteps]]\");function q(e,t){e._ownerReadableStream=t,t._reader=e,\"readable\"===t._state?B(e):\"closed\"===t._state?function(e){B(e),A(e)}(e):k(e,t._storedError)}function E(e,t){return Or(e._ownerReadableStream,t)}function W(e){const t=e._ownerReadableStream;\"readable\"===t._state?j(e,new TypeError(\"Reader was released and can no longer be used to monitor the stream's closedness\")):function(e,t){k(e,t)}(e,new TypeError(\"Reader was released and can no longer be used to monitor the stream's closedness\")),t._readableStreamController[P](),t._reader=void 0,e._ownerReadableStream=void 0}function O(e){return new TypeError(\"Cannot \"+e+\" a stream using a released reader\")}function B(e){e._closedPromise=u(((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r}))}function k(e,t){B(e),j(e,t)}function j(e,t){void 0!==e._closedPromise_reject&&(p(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function A(e){void 0!==e._closedPromise_resolve&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}const z=Number.isFinite||function(e){return\"number\"==typeof e&&isFinite(e)},D=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function L(e,t){if(void 0!==e&&(\"object\"!=typeof(r=e)&&\"function\"!=typeof r))throw new TypeError(`${t} is not an object.`);var r}function F(e,t){if(\"function\"!=typeof e)throw new TypeError(`${t} is not a function.`)}function I(e,t){if(!function(e){return\"object\"==typeof e&&null!==e||\"function\"==typeof e}(e))throw new TypeError(`${t} is not an object.`)}function $(e,t,r){if(void 0===e)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function M(e,t,r){if(void 0===e)throw new TypeError(`${t} is required in '${r}'.`)}function Y(e){return Number(e)}function x(e){return 0===e?0:e}function Q(e,t){const r=Number.MAX_SAFE_INTEGER;let o=Number(e);if(o=x(o),!z(o))throw new TypeError(`${t} is not a finite number`);if(o=function(e){return x(D(e))}(o),o<0||o>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return z(o)&&0!==o?o:0}function N(e,t){if(!Er(e))throw new TypeError(`${t} is not a ReadableStream.`)}function H(e){return new ReadableStreamDefaultReader(e)}function V(e,t){e._reader._readRequests.push(t)}function U(e,t,r){const o=e._reader._readRequests.shift();r?o._closeSteps():o._chunkSteps(t)}function G(e){return e._reader._readRequests.length}function X(e){const t=e._reader;return void 0!==t&&!!J(t)}class ReadableStreamDefaultReader{constructor(e){if($(e,1,\"ReadableStreamDefaultReader\"),N(e,\"First parameter\"),Wr(e))throw new TypeError(\"This stream has already been locked for exclusive reading by another reader\");q(this,e),this._readRequests=new v}get closed(){return J(this)?this._closedPromise:d(ee(\"closed\"))}cancel(e=void 0){return J(this)?void 0===this._ownerReadableStream?d(O(\"cancel\")):E(this,e):d(ee(\"cancel\"))}read(){if(!J(this))return d(ee(\"read\"));if(void 0===this._ownerReadableStream)return d(O(\"read from\"));let e,t;const r=u(((r,o)=>{e=r,t=o}));return K(this,{_chunkSteps:t=>e({value:t,done:!1}),_closeSteps:()=>e({value:void 0,done:!0}),_errorSteps:e=>t(e)}),r}releaseLock(){if(!J(this))throw ee(\"releaseLock\");void 0!==this._ownerReadableStream&&function(e){W(e);const t=new TypeError(\"Reader was released\");Z(e,t)}(this)}}function J(e){return!!t(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_readRequests\")&&e instanceof ReadableStreamDefaultReader)}function K(e,t){const r=e._ownerReadableStream;r._disturbed=!0,\"closed\"===r._state?t._closeSteps():\"errored\"===r._state?t._errorSteps(r._storedError):r._readableStreamController[C](t)}function Z(e,t){const r=e._readRequests;e._readRequests=new v,r.forEach((e=>{e._errorSteps(t)}))}function ee(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}var te,re,oe;function ne(e){return e.slice()}function ae(e,t,r,o,n){new Uint8Array(e).set(new Uint8Array(r,o,n),t)}Object.defineProperties(ReadableStreamDefaultReader.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(ReadableStreamDefaultReader.prototype.cancel,\"cancel\"),o(ReadableStreamDefaultReader.prototype.read,\"read\"),o(ReadableStreamDefaultReader.prototype.releaseLock,\"releaseLock\"),\"symbol\"==typeof Symbol.toStringTag&&Object.defineProperty(ReadableStreamDefaultReader.prototype,Symbol.toStringTag,{value:\"ReadableStreamDefaultReader\",configurable:!0});let ie=e=>(ie=\"function\"==typeof e.transfer?e=>e.transfer():\"function\"==typeof structuredClone?e=>structuredClone(e,{transfer:[e]}):e=>e,ie(e)),le=e=>(le=\"boolean\"==typeof e.detached?e=>e.detached:e=>0===e.byteLength,le(e));function se(e,t,r){if(e.slice)return e.slice(t,r);const o=r-t,n=new ArrayBuffer(o);return ae(n,0,e,t,o),n}function ue(e,t){const r=e[t];if(null!=r){if(\"function\"!=typeof r)throw new TypeError(`${String(t)} is not a function`);return r}}function ce(e){try{const t=e.done,r=e.value;return f(s(r),(e=>({done:t,value:e})))}catch(e){return d(e)}}const de=null!==(oe=null!==(te=Symbol.asyncIterator)&&void 0!==te?te:null===(re=Symbol.for)||void 0===re?void 0:re.call(Symbol,\"Symbol.asyncIterator\"))&&void 0!==oe?oe:\"@@asyncIterator\";function fe(e,r=\"sync\",o){if(void 0===o)if(\"async\"===r){if(void 0===(o=ue(e,de))){return function(e){const r={next(){let t;try{t=be(e)}catch(e){return d(e)}return ce(t)},return(r){let o;try{const t=ue(e.iterator,\"return\");if(void 0===t)return c({done:!0,value:r});o=S(t,e.iterator,[r])}catch(e){return d(e)}return t(o)?ce(o):d(new TypeError(\"The iterator.return() method must return an object\"))}};return{iterator:r,nextMethod:r.next,done:!1}}(fe(e,\"sync\",ue(e,Symbol.iterator)))}}else o=ue(e,Symbol.iterator);if(void 0===o)throw new TypeError(\"The object is not iterable\");const n=S(o,e,[]);if(!t(n))throw new TypeError(\"The iterator method must return an object\");return{iterator:n,nextMethod:n.next,done:!1}}function be(e){const r=S(e.nextMethod,e.iterator,[]);if(!t(r))throw new TypeError(\"The iterator.next() method must return an object\");return r}class he{constructor(e,t){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=e,this._preventCancel=t}next(){const e=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?_(this._ongoingPromise,e,e):e(),this._ongoingPromise}return(e){const t=()=>this._returnSteps(e);return this._ongoingPromise=this._ongoingPromise?_(this._ongoingPromise,t,t):t(),this._ongoingPromise}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});const e=this._reader;let t,r;const o=u(((e,o)=>{t=e,r=o}));return K(e,{_chunkSteps:e=>{this._ongoingPromise=void 0,y((()=>t({value:e,done:!1})))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,W(e),t({value:void 0,done:!0})},_errorSteps:t=>{this._ongoingPromise=void 0,this._isFinished=!0,W(e),r(t)}}),o}_returnSteps(e){if(this._isFinished)return Promise.resolve({value:e,done:!0});this._isFinished=!0;const t=this._reader;if(!this._preventCancel){const r=E(t,e);return W(t),_(r,(()=>({value:e,done:!0})))}return W(t),c({value:e,done:!0})}}const me={next(){return _e(this)?this._asyncIteratorImpl.next():d(pe(\"next\"))},return(e){return _e(this)?this._asyncIteratorImpl.return(e):d(pe(\"return\"))},[de](){return this}};function _e(e){if(!t(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,\"_asyncIteratorImpl\"))return!1;try{return e._asyncIteratorImpl instanceof he}catch(e){return!1}}function pe(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}Object.defineProperty(me,de,{enumerable:!1});const ye=Number.isNaN||function(e){return e!=e};function Se(e){const t=se(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function ge(e){const t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function ve(e,t,r){if(\"number\"!=typeof(o=r)||ye(o)||o<0||r===1/0)throw new RangeError(\"Size must be a finite, non-NaN, non-negative number.\");var o;e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function we(e){e._queue=new v,e._queueTotalSize=0}function Re(e){return e===DataView}class ReadableStreamBYOBRequest{constructor(){throw new TypeError(\"Illegal constructor\")}get view(){if(!Ce(this))throw Ke(\"view\");return this._view}respond(e){if(!Ce(this))throw Ke(\"respond\");if($(e,1,\"respond\"),e=Q(e,\"First parameter\"),void 0===this._associatedReadableByteStreamController)throw new TypeError(\"This BYOB request has been invalidated\");if(le(this._view.buffer))throw new TypeError(\"The BYOB request's buffer has been detached and so cannot be used as a response\");Ge(this._associatedReadableByteStreamController,e)}respondWithNewView(e){if(!Ce(this))throw Ke(\"respondWithNewView\");if($(e,1,\"respondWithNewView\"),!ArrayBuffer.isView(e))throw new TypeError(\"You can only respond with array buffer views\");if(void 0===this._associatedReadableByteStreamController)throw new TypeError(\"This BYOB request has been invalidated\");if(le(e.buffer))throw new TypeError(\"The given view's buffer has been detached and so cannot be used as a response\");Xe(this._associatedReadableByteStreamController,e)}}Object.defineProperties(ReadableStreamBYOBRequest.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),o(ReadableStreamBYOBRequest.prototype.respond,\"respond\"),o(ReadableStreamBYOBRequest.prototype.respondWithNewView,\"respondWithNewView\"),\"symbol\"==typeof Symbol.toStringTag&&Object.defineProperty(ReadableStreamBYOBRequest.prototype,Symbol.toStringTag,{value:\"ReadableStreamBYOBRequest\",configurable:!0});class ReadableByteStreamController{constructor(){throw new TypeError(\"Illegal constructor\")}get byobRequest(){if(!Te(this))throw Ze(\"byobRequest\");return Ve(this)}get desiredSize(){if(!Te(this))throw Ze(\"desiredSize\");return Ue(this)}close(){if(!Te(this))throw Ze(\"close\");if(this._closeRequested)throw new TypeError(\"The stream has already been closed; do not close it again!\");const e=this._controlledReadableByteStream._state;if(\"readable\"!==e)throw new TypeError(`The stream (in ${e} state) is not in the readable state and cannot be closed`);xe(this)}enqueue(e){if(!Te(this))throw Ze(\"enqueue\");if($(e,1,\"enqueue\"),!ArrayBuffer.isView(e))throw new TypeError(\"chunk must be an array buffer view\");if(0===e.byteLength)throw new TypeError(\"chunk must have non-zero byteLength\");if(0===e.buffer.byteLength)throw new TypeError(\"chunk's buffer must have non-zero byteLength\");if(this._closeRequested)throw new TypeError(\"stream is closed or draining\");const t=this._controlledReadableByteStream._state;if(\"readable\"!==t)throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be enqueued to`);Qe(this,e)}error(e=void 0){if(!Te(this))throw Ze(\"error\");Ne(this,e)}[T](e){qe(this),we(this);const t=this._cancelAlgorithm(e);return Ye(this),t}[C](e){const t=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void He(this,e);const r=this._autoAllocateChunkSize;if(void 0!==r){let t;try{t=new ArrayBuffer(r)}catch(t){return void e._errorSteps(t)}const o={buffer:t,bufferByteLength:r,byteOffset:0,byteLength:r,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:\"default\"};this._pendingPullIntos.push(o)}V(t,e),Pe(this)}[P](){if(this._pendingPullIntos.length>0){const e=this._pendingPullIntos.peek();e.readerType=\"none\",this._pendingPullIntos=new v,this._pendingPullIntos.push(e)}}}function Te(e){return!!t(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_controlledReadableByteStream\")&&e instanceof ReadableByteStreamController)}function Ce(e){return!!t(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_associatedReadableByteStreamController\")&&e instanceof ReadableStreamBYOBRequest)}function Pe(e){const t=function(e){const t=e._controlledReadableByteStream;if(\"readable\"!==t._state)return!1;if(e._closeRequested)return!1;if(!e._started)return!1;if(X(t)&&G(t)>0)return!0;if(nt(t)&&ot(t)>0)return!0;const r=Ue(e);if(r>0)return!0;return!1}(e);if(!t)return;if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0;b(e._pullAlgorithm(),(()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Pe(e)),null)),(t=>(Ne(e,t),null)))}function qe(e){Le(e),e._pendingPullIntos=new v}function Ee(e,t){let r=!1;\"closed\"===e._state&&(r=!0);const o=Oe(t);\"default\"===t.readerType?U(e,o,r):function(e,t,r){const o=e._reader,n=o._readIntoRequests.shift();r?n._closeSteps(t):n._chunkSteps(t)}(e,o,r)}function We(e,t){for(let r=0;r<t.length;++r)Ee(e,t[r])}function Oe(e){const t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function Be(e,t,r,o){e._queue.push({buffer:t,byteOffset:r,byteLength:o}),e._queueTotalSize+=o}function ke(e,t,r,o){let n;try{n=se(t,r,r+o)}catch(t){throw Ne(e,t),t}Be(e,n,0,o)}function je(e,t){t.bytesFilled>0&&ke(e,t.buffer,t.byteOffset,t.bytesFilled),Me(e)}function Ae(e,t){const r=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),o=t.bytesFilled+r;let n=r,a=!1;const i=o-o%t.elementSize;i>=t.minimumFill&&(n=i-t.bytesFilled,a=!0);const l=e._queue;for(;n>0;){const r=l.peek(),o=Math.min(n,r.byteLength),a=t.byteOffset+t.bytesFilled;ae(t.buffer,a,r.buffer,r.byteOffset,o),r.byteLength===o?l.shift():(r.byteOffset+=o,r.byteLength-=o),e._queueTotalSize-=o,ze(e,o,t),n-=o}return a}function ze(e,t,r){r.bytesFilled+=t}function De(e){0===e._queueTotalSize&&e._closeRequested?(Ye(e),Br(e._controlledReadableByteStream)):Pe(e)}function Le(e){null!==e._byobRequest&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function Fe(e){const t=[];for(;e._pendingPullIntos.length>0&&0!==e._queueTotalSize;){const r=e._pendingPullIntos.peek();Ae(e,r)&&(Me(e),t.push(r))}return t}function Ie(e,t,r,o){const n=e._controlledReadableByteStream,a=t.constructor,i=function(e){return Re(e)?1:e.BYTES_PER_ELEMENT}(a),{byteOffset:l,byteLength:s}=t,u=r*i;let c;try{c=ie(t.buffer)}catch(e){return void o._errorSteps(e)}const d={buffer:c,bufferByteLength:c.byteLength,byteOffset:l,byteLength:s,bytesFilled:0,minimumFill:u,elementSize:i,viewConstructor:a,readerType:\"byob\"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(d),void rt(n,o);if(\"closed\"!==n._state){if(e._queueTotalSize>0){if(Ae(e,d)){const t=Oe(d);return De(e),void o._chunkSteps(t)}if(e._closeRequested){const t=new TypeError(\"Insufficient bytes to fill elements in the given buffer\");return Ne(e,t),void o._errorSteps(t)}}e._pendingPullIntos.push(d),rt(n,o),Pe(e)}else{const e=new a(d.buffer,d.byteOffset,0);o._closeSteps(e)}}function $e(e,t){const r=e._pendingPullIntos.peek();Le(e);\"closed\"===e._controlledReadableByteStream._state?function(e,t){\"none\"===t.readerType&&Me(e);const r=e._controlledReadableByteStream;if(nt(r)){const t=[];for(let o=0;o<ot(r);++o)t.push(Me(e));We(r,t)}}(e,r):function(e,t,r){if(ze(0,t,r),\"none\"===r.readerType){je(e,r);const t=Fe(e);return void We(e._controlledReadableByteStream,t)}if(r.bytesFilled<r.minimumFill)return;Me(e);const o=r.bytesFilled%r.elementSize;if(o>0){const t=r.byteOffset+r.bytesFilled;ke(e,r.buffer,t-o,o)}r.bytesFilled-=o;const n=Fe(e);Ee(e._controlledReadableByteStream,r),We(e._controlledReadableByteStream,n)}(e,t,r),Pe(e)}function Me(e){return e._pendingPullIntos.shift()}function Ye(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function xe(e){const t=e._controlledReadableByteStream;if(!e._closeRequested&&\"readable\"===t._state)if(e._queueTotalSize>0)e._closeRequested=!0;else{if(e._pendingPullIntos.length>0){const t=e._pendingPullIntos.peek();if(t.bytesFilled%t.elementSize!=0){const t=new TypeError(\"Insufficient bytes to fill elements in the given buffer\");throw Ne(e,t),t}}Ye(e),Br(t)}}function Qe(e,t){const r=e._controlledReadableByteStream;if(e._closeRequested||\"readable\"!==r._state)return;const{buffer:o,byteOffset:n,byteLength:a}=t;if(le(o))throw new TypeError(\"chunk's buffer is detached and so cannot be enqueued\");const i=ie(o);if(e._pendingPullIntos.length>0){const t=e._pendingPullIntos.peek();if(le(t.buffer))throw new TypeError(\"The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk\");Le(e),t.buffer=ie(t.buffer),\"none\"===t.readerType&&je(e,t)}if(X(r))if(function(e){const t=e._controlledReadableByteStream._reader;for(;t._readRequests.length>0;){if(0===e._queueTotalSize)return;He(e,t._readRequests.shift())}}(e),0===G(r))Be(e,i,n,a);else{e._pendingPullIntos.length>0&&Me(e);U(r,new Uint8Array(i,n,a),!1)}else if(nt(r)){Be(e,i,n,a);const t=Fe(e);We(e._controlledReadableByteStream,t)}else Be(e,i,n,a);Pe(e)}function Ne(e,t){const r=e._controlledReadableByteStream;\"readable\"===r._state&&(qe(e),we(e),Ye(e),kr(r,t))}function He(e,t){const r=e._queue.shift();e._queueTotalSize-=r.byteLength,De(e);const o=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(o)}function Ve(e){if(null===e._byobRequest&&e._pendingPullIntos.length>0){const t=e._pendingPullIntos.peek(),r=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),o=Object.create(ReadableStreamBYOBRequest.prototype);!function(e,t,r){e._associatedReadableByteStreamController=t,e._view=r}(o,e,r),e._byobRequest=o}return e._byobRequest}function Ue(e){const t=e._controlledReadableByteStream._state;return\"errored\"===t?null:\"closed\"===t?0:e._strategyHWM-e._queueTotalSize}function Ge(e,t){const r=e._pendingPullIntos.peek();if(\"closed\"===e._controlledReadableByteStream._state){if(0!==t)throw new TypeError(\"bytesWritten must be 0 when calling respond() on a closed stream\")}else{if(0===t)throw new TypeError(\"bytesWritten must be greater than 0 when calling respond() on a readable stream\");if(r.bytesFilled+t>r.byteLength)throw new RangeError(\"bytesWritten out of range\")}r.buffer=ie(r.buffer),$e(e,t)}function Xe(e,t){const r=e._pendingPullIntos.peek();if(\"closed\"===e._controlledReadableByteStream._state){if(0!==t.byteLength)throw new TypeError(\"The view's length must be 0 when calling respondWithNewView() on a closed stream\")}else if(0===t.byteLength)throw new TypeError(\"The view's length must be greater than 0 when calling respondWithNewView() on a readable stream\");if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError(\"The region specified by view does not match byobRequest\");if(r.bufferByteLength!==t.buffer.byteLength)throw new RangeError(\"The buffer of view has different capacity than byobRequest\");if(r.bytesFilled+t.byteLength>r.byteLength)throw new RangeError(\"The region specified by view is larger than byobRequest\");const o=t.byteLength;r.buffer=ie(t.buffer),$e(e,o)}function Je(e,t,r,o,n,a,i){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,we(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=a,t._pullAlgorithm=o,t._cancelAlgorithm=n,t._autoAllocateChunkSize=i,t._pendingPullIntos=new v,e._readableStreamController=t;b(c(r()),(()=>(t._started=!0,Pe(t),null)),(e=>(Ne(t,e),null)))}function Ke(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function Ze(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function et(e,t){if(\"byob\"!==(e=`${e}`))throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function tt(e){return new ReadableStreamBYOBReader(e)}function rt(e,t){e._reader._readIntoRequests.push(t)}function ot(e){return e._reader._readIntoRequests.length}function nt(e){const t=e._reader;return void 0!==t&&!!at(t)}Object.defineProperties(ReadableByteStreamController.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),o(ReadableByteStreamController.prototype.close,\"close\"),o(ReadableByteStreamController.prototype.enqueue,\"enqueue\"),o(ReadableByteStreamController.prototype.error,\"error\"),\"symbol\"==typeof Symbol.toStringTag&&Object.defineProperty(ReadableByteStreamController.prototype,Symbol.toStringTag,{value:\"ReadableByteStreamController\",configurable:!0});class ReadableStreamBYOBReader{constructor(e){if($(e,1,\"ReadableStreamBYOBReader\"),N(e,\"First parameter\"),Wr(e))throw new TypeError(\"This stream has already been locked for exclusive reading by another reader\");if(!Te(e._readableStreamController))throw new TypeError(\"Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source\");q(this,e),this._readIntoRequests=new v}get closed(){return at(this)?this._closedPromise:d(st(\"closed\"))}cancel(e=void 0){return at(this)?void 0===this._ownerReadableStream?d(O(\"cancel\")):E(this,e):d(st(\"cancel\"))}read(e,t={}){if(!at(this))return d(st(\"read\"));if(!ArrayBuffer.isView(e))return d(new TypeError(\"view must be an array buffer view\"));if(0===e.byteLength)return d(new TypeError(\"view must have non-zero byteLength\"));if(0===e.buffer.byteLength)return d(new TypeError(\"view's buffer must have non-zero byteLength\"));if(le(e.buffer))return d(new TypeError(\"view's buffer has been detached\"));let r;try{r=function(e,t){var r;return L(e,t),{min:Q(null!==(r=null==e?void 0:e.min)&&void 0!==r?r:1,`${t} has member 'min' that`)}}(t,\"options\")}catch(e){return d(e)}const o=r.min;if(0===o)return d(new TypeError(\"options.min must be greater than 0\"));if(function(e){return Re(e.constructor)}(e)){if(o>e.byteLength)return d(new RangeError(\"options.min must be less than or equal to view's byteLength\"))}else if(o>e.length)return d(new RangeError(\"options.min must be less than or equal to view's length\"));if(void 0===this._ownerReadableStream)return d(O(\"read from\"));let n,a;const i=u(((e,t)=>{n=e,a=t}));return it(this,e,o,{_chunkSteps:e=>n({value:e,done:!1}),_closeSteps:e=>n({value:e,done:!0}),_errorSteps:e=>a(e)}),i}releaseLock(){if(!at(this))throw st(\"releaseLock\");void 0!==this._ownerReadableStream&&function(e){W(e);const t=new TypeError(\"Reader was released\");lt(e,t)}(this)}}function at(e){return!!t(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_readIntoRequests\")&&e instanceof ReadableStreamBYOBReader)}function it(e,t,r,o){const n=e._ownerReadableStream;n._disturbed=!0,\"errored\"===n._state?o._errorSteps(n._storedError):Ie(n._readableStreamController,t,r,o)}function lt(e,t){const r=e._readIntoRequests;e._readIntoRequests=new v,r.forEach((e=>{e._errorSteps(t)}))}function st(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function ut(e,t){const{highWaterMark:r}=e;if(void 0===r)return t;if(ye(r)||r<0)throw new RangeError(\"Invalid highWaterMark\");return r}function ct(e){const{size:t}=e;return t||(()=>1)}function dt(e,t){L(e,t);const r=null==e?void 0:e.highWaterMark,o=null==e?void 0:e.size;return{highWaterMark:void 0===r?void 0:Y(r),size:void 0===o?void 0:ft(o,`${t} has member 'size' that`)}}function ft(e,t){return F(e,t),t=>Y(e(t))}function bt(e,t,r){return F(e,r),r=>g(e,t,[r])}function ht(e,t,r){return F(e,r),()=>g(e,t,[])}function mt(e,t,r){return F(e,r),r=>S(e,t,[r])}function _t(e,t,r){return F(e,r),(r,o)=>g(e,t,[r,o])}function pt(e,t){if(!gt(e))throw new TypeError(`${t} is not a WritableStream.`)}Object.defineProperties(ReadableStreamBYOBReader.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(ReadableStreamBYOBReader.prototype.cancel,\"cancel\"),o(ReadableStreamBYOBReader.prototype.read,\"read\"),o(ReadableStreamBYOBReader.prototype.releaseLock,\"releaseLock\"),\"symbol\"==typeof Symbol.toStringTag&&Object.defineProperty(ReadableStreamBYOBReader.prototype,Symbol.toStringTag,{value:\"ReadableStreamBYOBReader\",configurable:!0});class WritableStream{constructor(e={},t={}){void 0===e?e=null:I(e,\"First parameter\");const r=dt(t,\"Second parameter\"),o=function(e,t){L(e,t);const r=null==e?void 0:e.abort,o=null==e?void 0:e.close,n=null==e?void 0:e.start,a=null==e?void 0:e.type,i=null==e?void 0:e.write;return{abort:void 0===r?void 0:bt(r,e,`${t} has member 'abort' that`),close:void 0===o?void 0:ht(o,e,`${t} has member 'close' that`),start:void 0===n?void 0:mt(n,e,`${t} has member 'start' that`),write:void 0===i?void 0:_t(i,e,`${t} has member 'write' that`),type:a}}(e,\"First parameter\");St(this);if(void 0!==o.type)throw new RangeError(\"Invalid type is specified\");const n=ct(r);!function(e,t,r,o){const n=Object.create(WritableStreamDefaultController.prototype);let a,i,l,s;a=void 0!==t.start?()=>t.start(n):()=>{};i=void 0!==t.write?e=>t.write(e,n):()=>c(void 0);l=void 0!==t.close?()=>t.close():()=>c(void 0);s=void 0!==t.abort?e=>t.abort(e):()=>c(void 0);Ft(e,n,a,i,l,s,r,o)}(this,o,ut(r,1),n)}get locked(){if(!gt(this))throw Nt(\"locked\");return vt(this)}abort(e=void 0){return gt(this)?vt(this)?d(new TypeError(\"Cannot abort a stream that already has a writer\")):wt(this,e):d(Nt(\"abort\"))}close(){return gt(this)?vt(this)?d(new TypeError(\"Cannot close a stream that already has a writer\")):qt(this)?d(new TypeError(\"Cannot close an already-closing stream\")):Rt(this):d(Nt(\"close\"))}getWriter(){if(!gt(this))throw Nt(\"getWriter\");return yt(this)}}function yt(e){return new WritableStreamDefaultWriter(e)}function St(e){e._state=\"writable\",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new v,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function gt(e){return!!t(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_writableStreamController\")&&e instanceof WritableStream)}function vt(e){return void 0!==e._writer}function wt(e,t){var r;if(\"closed\"===e._state||\"errored\"===e._state)return c(void 0);e._writableStreamController._abortReason=t,null===(r=e._writableStreamController._abortController)||void 0===r||r.abort(t);const o=e._state;if(\"closed\"===o||\"errored\"===o)return c(void 0);if(void 0!==e._pendingAbortRequest)return e._pendingAbortRequest._promise;let n=!1;\"erroring\"===o&&(n=!0,t=void 0);const a=u(((r,o)=>{e._pendingAbortRequest={_promise:void 0,_resolve:r,_reject:o,_reason:t,_wasAlreadyErroring:n}}));return e._pendingAbortRequest._promise=a,n||Ct(e,t),a}function Rt(e){const t=e._state;if(\"closed\"===t||\"errored\"===t)return d(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));const r=u(((t,r)=>{const o={_resolve:t,_reject:r};e._closeRequest=o})),o=e._writer;var n;return void 0!==o&&e._backpressure&&\"writable\"===t&&or(o),ve(n=e._writableStreamController,Dt,0),Mt(n),r}function Tt(e,t){\"writable\"!==e._state?Pt(e):Ct(e,t)}function Ct(e,t){const r=e._writableStreamController;e._state=\"erroring\",e._storedError=t;const o=e._writer;void 0!==o&&jt(o,t),!function(e){if(void 0===e._inFlightWriteRequest&&void 0===e._inFlightCloseRequest)return!1;return!0}(e)&&r._started&&Pt(e)}function Pt(e){e._state=\"errored\",e._writableStreamController[R]();const t=e._storedError;if(e._writeRequests.forEach((e=>{e._reject(t)})),e._writeRequests=new v,void 0===e._pendingAbortRequest)return void Et(e);const r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void Et(e);b(e._writableStreamController[w](r._reason),(()=>(r._resolve(),Et(e),null)),(t=>(r._reject(t),Et(e),null)))}function qt(e){return void 0!==e._closeRequest||void 0!==e._inFlightCloseRequest}function Et(e){void 0!==e._closeRequest&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);const t=e._writer;void 0!==t&&Jt(t,e._storedError)}function Wt(e,t){const r=e._writer;void 0!==r&&t!==e._backpressure&&(t?function(e){Zt(e)}(r):or(r)),e._backpressure=t}Object.defineProperties(WritableStream.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),o(WritableStream.prototype.abort,\"abort\"),o(WritableStream.prototype.close,\"close\"),o(WritableStream.prototype.getWriter,\"getWriter\"),\"symbol\"==typeof Symbol.toStringTag&&Object.defineProperty(WritableStream.prototype,Symbol.toStringTag,{value:\"WritableStream\",configurable:!0});class WritableStreamDefaultWriter{constructor(e){if($(e,1,\"WritableStreamDefaultWriter\"),pt(e,\"First parameter\"),vt(e))throw new TypeError(\"This stream has already been locked for exclusive writing by another writer\");this._ownerWritableStream=e,e._writer=this;const t=e._state;if(\"writable\"===t)!qt(e)&&e._backpressure?Zt(this):tr(this),Gt(this);else if(\"erroring\"===t)er(this,e._storedError),Gt(this);else if(\"closed\"===t)tr(this),Gt(r=this),Kt(r);else{const t=e._storedError;er(this,t),Xt(this,t)}var r}get closed(){return Ot(this)?this._closedPromise:d(Vt(\"closed\"))}get desiredSize(){if(!Ot(this))throw Vt(\"desiredSize\");if(void 0===this._ownerWritableStream)throw Ut(\"desiredSize\");return function(e){const t=e._ownerWritableStream,r=t._state;if(\"errored\"===r||\"erroring\"===r)return null;if(\"closed\"===r)return 0;return $t(t._writableStreamController)}(this)}get ready(){return Ot(this)?this._readyPromise:d(Vt(\"ready\"))}abort(e=void 0){return Ot(this)?void 0===this._ownerWritableStream?d(Ut(\"abort\")):function(e,t){return wt(e._ownerWritableStream,t)}(this,e):d(Vt(\"abort\"))}close(){if(!Ot(this))return d(Vt(\"close\"));const e=this._ownerWritableStream;return void 0===e?d(Ut(\"close\")):qt(e)?d(new TypeError(\"Cannot close an already-closing stream\")):Bt(this)}releaseLock(){if(!Ot(this))throw Vt(\"releaseLock\");void 0!==this._ownerWritableStream&&At(this)}write(e=void 0){return Ot(this)?void 0===this._ownerWritableStream?d(Ut(\"write to\")):zt(this,e):d(Vt(\"write\"))}}function Ot(e){return!!t(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_ownerWritableStream\")&&e instanceof WritableStreamDefaultWriter)}function Bt(e){return Rt(e._ownerWritableStream)}function kt(e,t){\"pending\"===e._closedPromiseState?Jt(e,t):function(e,t){Xt(e,t)}(e,t)}function jt(e,t){\"pending\"===e._readyPromiseState?rr(e,t):function(e,t){er(e,t)}(e,t)}function At(e){const t=e._ownerWritableStream,r=new TypeError(\"Writer was released and can no longer be used to monitor the stream's closedness\");jt(e,r),kt(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function zt(e,t){const r=e._ownerWritableStream,o=r._writableStreamController,n=function(e,t){if(void 0===e._strategySizeAlgorithm)return 1;try{return e._strategySizeAlgorithm(t)}catch(t){return Yt(e,t),1}}(o,t);if(r!==e._ownerWritableStream)return d(Ut(\"write to\"));const a=r._state;if(\"errored\"===a)return d(r._storedError);if(qt(r)||\"closed\"===a)return d(new TypeError(\"The stream is closing or closed and cannot be written to\"));if(\"erroring\"===a)return d(r._storedError);const i=function(e){return u(((t,r)=>{const o={_resolve:t,_reject:r};e._writeRequests.push(o)}))}(r);return function(e,t,r){try{ve(e,t,r)}catch(t){return void Yt(e,t)}const o=e._controlledWritableStream;if(!qt(o)&&\"writable\"===o._state){Wt(o,xt(e))}Mt(e)}(o,t,n),i}Object.defineProperties(WritableStreamDefaultWriter.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),o(WritableStreamDefaultWriter.prototype.abort,\"abort\"),o(WritableStreamDefaultWriter.prototype.close,\"close\"),o(WritableStreamDefaultWriter.prototype.releaseLock,\"releaseLock\"),o(WritableStreamDefaultWriter.prototype.write,\"write\"),\"symbol\"==typeof Symbol.toStringTag&&Object.defineProperty(WritableStreamDefaultWriter.prototype,Symbol.toStringTag,{value:\"WritableStreamDefaultWriter\",configurable:!0});const Dt={};class WritableStreamDefaultController{constructor(){throw new TypeError(\"Illegal constructor\")}get abortReason(){if(!Lt(this))throw Ht(\"abortReason\");return this._abortReason}get signal(){if(!Lt(this))throw Ht(\"signal\");if(void 0===this._abortController)throw new TypeError(\"WritableStreamDefaultController.prototype.signal is not supported\");return this._abortController.signal}error(e=void 0){if(!Lt(this))throw Ht(\"error\");\"writable\"===this._controlledWritableStream._state&&Qt(this,e)}[w](e){const t=this._abortAlgorithm(e);return It(this),t}[R](){we(this)}}function Lt(e){return!!t(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_controlledWritableStream\")&&e instanceof WritableStreamDefaultController)}function Ft(e,t,r,o,n,a,i,l){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,we(t),t._abortReason=void 0,t._abortController=function(){if(\"function\"==typeof AbortController)return new AbortController}(),t._started=!1,t._strategySizeAlgorithm=l,t._strategyHWM=i,t._writeAlgorithm=o,t._closeAlgorithm=n,t._abortAlgorithm=a;const s=xt(t);Wt(e,s);b(c(r()),(()=>(t._started=!0,Mt(t),null)),(r=>(t._started=!0,Tt(e,r),null)))}function It(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function $t(e){return e._strategyHWM-e._queueTotalSize}function Mt(e){const t=e._controlledWritableStream;if(!e._started)return;if(void 0!==t._inFlightWriteRequest)return;if(\"erroring\"===t._state)return void Pt(t);if(0===e._queue.length)return;const r=e._queue.peek().value;r===Dt?function(e){const t=e._controlledWritableStream;(function(e){e._inFlightCloseRequest=e._closeRequest,e._closeRequest=void 0})(t),ge(e);const r=e._closeAlgorithm();It(e),b(r,(()=>(function(e){e._inFlightCloseRequest._resolve(void 0),e._inFlightCloseRequest=void 0,\"erroring\"===e._state&&(e._storedError=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._resolve(),e._pendingAbortRequest=void 0)),e._state=\"closed\";const t=e._writer;void 0!==t&&Kt(t)}(t),null)),(e=>(function(e,t){e._inFlightCloseRequest._reject(t),e._inFlightCloseRequest=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._reject(t),e._pendingAbortRequest=void 0),Tt(e,t)}(t,e),null)))}(e):function(e,t){const r=e._controlledWritableStream;!function(e){e._inFlightWriteRequest=e._writeRequests.shift()}(r);const o=e._writeAlgorithm(t);b(o,(()=>{!function(e){e._inFlightWriteRequest._resolve(void 0),e._inFlightWriteRequest=void 0}(r);const t=r._state;if(ge(e),!qt(r)&&\"writable\"===t){const t=xt(e);Wt(r,t)}return Mt(e),null}),(t=>(\"writable\"===r._state&&It(e),function(e,t){e._inFlightWriteRequest._reject(t),e._inFlightWriteRequest=void 0,Tt(e,t)}(r,t),null)))}(e,r)}function Yt(e,t){\"writable\"===e._controlledWritableStream._state&&Qt(e,t)}function xt(e){return $t(e)<=0}function Qt(e,t){const r=e._controlledWritableStream;It(e),Ct(r,t)}function Nt(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function Ht(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function Vt(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function Ut(e){return new TypeError(\"Cannot \"+e+\" a stream using a released writer\")}function Gt(e){e._closedPromise=u(((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState=\"pending\"}))}function Xt(e,t){Gt(e),Jt(e,t)}function Jt(e,t){void 0!==e._closedPromise_reject&&(p(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState=\"rejected\")}function Kt(e){void 0!==e._closedPromise_resolve&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState=\"resolved\")}function Zt(e){e._readyPromise=u(((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r})),e._readyPromiseState=\"pending\"}function er(e,t){Zt(e),rr(e,t)}function tr(e){Zt(e),or(e)}function rr(e,t){void 0!==e._readyPromise_reject&&(p(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState=\"rejected\")}function or(e){void 0!==e._readyPromise_resolve&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState=\"fulfilled\")}Object.defineProperties(WritableStreamDefaultController.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),\"symbol\"==typeof Symbol.toStringTag&&Object.defineProperty(WritableStreamDefaultController.prototype,Symbol.toStringTag,{value:\"WritableStreamDefaultController\",configurable:!0});const nr=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof global?global:void 0;const ar=function(){const e=null==nr?void 0:nr.DOMException;return function(e){if(\"function\"!=typeof e&&\"object\"!=typeof e)return!1;if(\"DOMException\"!==e.name)return!1;try{return new e,!0}catch(e){return!1}}(e)?e:void 0}()||function(){const e=function(e,t){this.message=e||\"\",this.name=t||\"Error\",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return o(e,\"DOMException\"),e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,\"constructor\",{value:e,writable:!0,configurable:!0}),e}();function ir(t,r,o,n,a,i){const l=H(t),s=yt(r);t._disturbed=!0;let _=!1,y=c(void 0);return u(((S,g)=>{let v;if(void 0!==i){if(v=()=>{const e=void 0!==i.reason?i.reason:new ar(\"Aborted\",\"AbortError\"),o=[];n||o.push((()=>\"writable\"===r._state?wt(r,e):c(void 0))),a||o.push((()=>\"readable\"===t._state?Or(t,e):c(void 0))),q((()=>Promise.all(o.map((e=>e())))),!0,e)},i.aborted)return void v();i.addEventListener(\"abort\",v)}var w,R,T;if(P(t,l._closedPromise,(e=>(n?E(!0,e):q((()=>wt(r,e)),!0,e),null))),P(r,s._closedPromise,(e=>(a?E(!0,e):q((()=>Or(t,e)),!0,e),null))),w=t,R=l._closedPromise,T=()=>(o?E():q((()=>function(e){const t=e._ownerWritableStream,r=t._state;return qt(t)||\"closed\"===r?c(void 0):\"errored\"===r?d(t._storedError):Bt(e)}(s))),null),\"closed\"===w._state?T():h(R,T),qt(r)||\"closed\"===r._state){const e=new TypeError(\"the destination writable stream closed before all data could be piped to it\");a?E(!0,e):q((()=>Or(t,e)),!0,e)}function C(){const e=y;return f(y,(()=>e!==y?C():void 0))}function P(e,t,r){\"errored\"===e._state?r(e._storedError):m(t,r)}function q(e,t,o){function n(){return b(e(),(()=>O(t,o)),(e=>O(!0,e))),null}_||(_=!0,\"writable\"!==r._state||qt(r)?n():h(C(),n))}function E(e,t){_||(_=!0,\"writable\"!==r._state||qt(r)?O(e,t):h(C(),(()=>O(e,t))))}function O(e,t){return At(s),W(l),void 0!==i&&i.removeEventListener(\"abort\",v),e?g(t):S(void 0),null}p(u(((t,r)=>{!function o(n){n?t():f(_?c(!0):f(s._readyPromise,(()=>u(((t,r)=>{K(l,{_chunkSteps:r=>{y=f(zt(s,r),void 0,e),t(!1)},_closeSteps:()=>t(!0),_errorSteps:r})})))),o,r)}(!1)})))}))}class ReadableStreamDefaultController{constructor(){throw new TypeError(\"Illegal constructor\")}get desiredSize(){if(!lr(this))throw pr(\"desiredSize\");return hr(this)}close(){if(!lr(this))throw pr(\"close\");if(!mr(this))throw new TypeError(\"The stream is not in a state that permits close\");dr(this)}enqueue(e=void 0){if(!lr(this))throw pr(\"enqueue\");if(!mr(this))throw new TypeError(\"The stream is not in a state that permits enqueue\");return fr(this,e)}error(e=void 0){if(!lr(this))throw pr(\"error\");br(this,e)}[T](e){we(this);const t=this._cancelAlgorithm(e);return cr(this),t}[C](e){const t=this._controlledReadableStream;if(this._queue.length>0){const r=ge(this);this._closeRequested&&0===this._queue.length?(cr(this),Br(t)):sr(this),e._chunkSteps(r)}else V(t,e),sr(this)}[P](){}}function lr(e){return!!t(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_controlledReadableStream\")&&e instanceof ReadableStreamDefaultController)}function sr(e){if(!ur(e))return;if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0;b(e._pullAlgorithm(),(()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,sr(e)),null)),(t=>(br(e,t),null)))}function ur(e){const t=e._controlledReadableStream;if(!mr(e))return!1;if(!e._started)return!1;if(Wr(t)&&G(t)>0)return!0;return hr(e)>0}function cr(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function dr(e){if(!mr(e))return;const t=e._controlledReadableStream;e._closeRequested=!0,0===e._queue.length&&(cr(e),Br(t))}function fr(e,t){if(!mr(e))return;const r=e._controlledReadableStream;if(Wr(r)&&G(r)>0)U(r,t,!1);else{let r;try{r=e._strategySizeAlgorithm(t)}catch(t){throw br(e,t),t}try{ve(e,t,r)}catch(t){throw br(e,t),t}}sr(e)}function br(e,t){const r=e._controlledReadableStream;\"readable\"===r._state&&(we(e),cr(e),kr(r,t))}function hr(e){const t=e._controlledReadableStream._state;return\"errored\"===t?null:\"closed\"===t?0:e._strategyHWM-e._queueTotalSize}function mr(e){const t=e._controlledReadableStream._state;return!e._closeRequested&&\"readable\"===t}function _r(e,t,r,o,n,a,i){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,we(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=i,t._strategyHWM=a,t._pullAlgorithm=o,t._cancelAlgorithm=n,e._readableStreamController=t;b(c(r()),(()=>(t._started=!0,sr(t),null)),(e=>(br(t,e),null)))}function pr(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function yr(e,t){return Te(e._readableStreamController)?function(e){let t,r,o,n,a,i=H(e),l=!1,s=!1,d=!1,f=!1,b=!1;const h=u((e=>{a=e}));function _(e){m(e._closedPromise,(t=>(e!==i||(Ne(o._readableStreamController,t),Ne(n._readableStreamController,t),f&&b||a(void 0)),null)))}function p(){at(i)&&(W(i),i=H(e),_(i));K(i,{_chunkSteps:t=>{y((()=>{s=!1,d=!1;const r=t;let i=t;if(!f&&!b)try{i=Se(t)}catch(t){return Ne(o._readableStreamController,t),Ne(n._readableStreamController,t),void a(Or(e,t))}f||Qe(o._readableStreamController,r),b||Qe(n._readableStreamController,i),l=!1,s?g():d&&v()}))},_closeSteps:()=>{l=!1,f||xe(o._readableStreamController),b||xe(n._readableStreamController),o._readableStreamController._pendingPullIntos.length>0&&Ge(o._readableStreamController,0),n._readableStreamController._pendingPullIntos.length>0&&Ge(n._readableStreamController,0),f&&b||a(void 0)},_errorSteps:()=>{l=!1}})}function S(t,r){J(i)&&(W(i),i=tt(e),_(i));const u=r?n:o,c=r?o:n;it(i,t,1,{_chunkSteps:t=>{y((()=>{s=!1,d=!1;const o=r?b:f;if(r?f:b)o||Xe(u._readableStreamController,t);else{let r;try{r=Se(t)}catch(t){return Ne(u._readableStreamController,t),Ne(c._readableStreamController,t),void a(Or(e,t))}o||Xe(u._readableStreamController,t),Qe(c._readableStreamController,r)}l=!1,s?g():d&&v()}))},_closeSteps:e=>{l=!1;const t=r?b:f,o=r?f:b;t||xe(u._readableStreamController),o||xe(c._readableStreamController),void 0!==e&&(t||Xe(u._readableStreamController,e),!o&&c._readableStreamController._pendingPullIntos.length>0&&Ge(c._readableStreamController,0)),t&&o||a(void 0)},_errorSteps:()=>{l=!1}})}function g(){if(l)return s=!0,c(void 0);l=!0;const e=Ve(o._readableStreamController);return null===e?p():S(e._view,!1),c(void 0)}function v(){if(l)return d=!0,c(void 0);l=!0;const e=Ve(n._readableStreamController);return null===e?p():S(e._view,!0),c(void 0)}function w(o){if(f=!0,t=o,b){const o=ne([t,r]),n=Or(e,o);a(n)}return h}function R(o){if(b=!0,r=o,f){const o=ne([t,r]),n=Or(e,o);a(n)}return h}function T(){}return o=Pr(T,g,w),n=Pr(T,v,R),_(i),[o,n]}(e):function(e,t){const r=H(e);let o,n,a,i,l,s=!1,d=!1,f=!1,b=!1;const h=u((e=>{l=e}));function _(){if(s)return d=!0,c(void 0);s=!0;return K(r,{_chunkSteps:e=>{y((()=>{d=!1;const t=e,r=e;f||fr(a._readableStreamController,t),b||fr(i._readableStreamController,r),s=!1,d&&_()}))},_closeSteps:()=>{s=!1,f||dr(a._readableStreamController),b||dr(i._readableStreamController),f&&b||l(void 0)},_errorSteps:()=>{s=!1}}),c(void 0)}function p(t){if(f=!0,o=t,b){const t=ne([o,n]),r=Or(e,t);l(r)}return h}function S(t){if(b=!0,n=t,f){const t=ne([o,n]),r=Or(e,t);l(r)}return h}function g(){}return a=Cr(g,_,p),i=Cr(g,_,S),m(r._closedPromise,(e=>(br(a._readableStreamController,e),br(i._readableStreamController,e),f&&b||l(void 0),null))),[a,i]}(e)}function Sr(r){return t(o=r)&&void 0!==o.getReader?function(r){let o;function n(){let e;try{e=r.read()}catch(e){return d(e)}return _(e,(e=>{if(!t(e))throw new TypeError(\"The promise returned by the reader.read() method must fulfill with an object\");if(e.done)dr(o._readableStreamController);else{const t=e.value;fr(o._readableStreamController,t)}}))}function a(e){try{return c(r.cancel(e))}catch(e){return d(e)}}return o=Cr(e,n,a,0),o}(r.getReader()):function(r){let o;const n=fe(r,\"async\");function a(){let e;try{e=be(n)}catch(e){return d(e)}return _(c(e),(e=>{if(!t(e))throw new TypeError(\"The promise returned by the iterator.next() method must fulfill with an object\");if(e.done)dr(o._readableStreamController);else{const t=e.value;fr(o._readableStreamController,t)}}))}function i(e){const r=n.iterator;let o;try{o=ue(r,\"return\")}catch(e){return d(e)}if(void 0===o)return c(void 0);return _(g(o,r,[e]),(e=>{if(!t(e))throw new TypeError(\"The promise returned by the iterator.return() method must fulfill with an object\")}))}return o=Cr(e,a,i,0),o}(r);var o}function gr(e,t,r){return F(e,r),r=>g(e,t,[r])}function vr(e,t,r){return F(e,r),r=>g(e,t,[r])}function wr(e,t,r){return F(e,r),r=>S(e,t,[r])}function Rr(e,t){if(\"bytes\"!==(e=`${e}`))throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function Tr(e,t){L(e,t);const r=null==e?void 0:e.preventAbort,o=null==e?void 0:e.preventCancel,n=null==e?void 0:e.preventClose,a=null==e?void 0:e.signal;return void 0!==a&&function(e,t){if(!function(e){if(\"object\"!=typeof e||null===e)return!1;try{return\"boolean\"==typeof e.aborted}catch(e){return!1}}(e))throw new TypeError(`${t} is not an AbortSignal.`)}(a,`${t} has member 'signal' that`),{preventAbort:Boolean(r),preventCancel:Boolean(o),preventClose:Boolean(n),signal:a}}Object.defineProperties(ReadableStreamDefaultController.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),o(ReadableStreamDefaultController.prototype.close,\"close\"),o(ReadableStreamDefaultController.prototype.enqueue,\"enqueue\"),o(ReadableStreamDefaultController.prototype.error,\"error\"),\"symbol\"==typeof Symbol.toStringTag&&Object.defineProperty(ReadableStreamDefaultController.prototype,Symbol.toStringTag,{value:\"ReadableStreamDefaultController\",configurable:!0});class ReadableStream{constructor(e={},t={}){void 0===e?e=null:I(e,\"First parameter\");const r=dt(t,\"Second parameter\"),o=function(e,t){L(e,t);const r=e,o=null==r?void 0:r.autoAllocateChunkSize,n=null==r?void 0:r.cancel,a=null==r?void 0:r.pull,i=null==r?void 0:r.start,l=null==r?void 0:r.type;return{autoAllocateChunkSize:void 0===o?void 0:Q(o,`${t} has member 'autoAllocateChunkSize' that`),cancel:void 0===n?void 0:gr(n,r,`${t} has member 'cancel' that`),pull:void 0===a?void 0:vr(a,r,`${t} has member 'pull' that`),start:void 0===i?void 0:wr(i,r,`${t} has member 'start' that`),type:void 0===l?void 0:Rr(l,`${t} has member 'type' that`)}}(e,\"First parameter\");if(qr(this),\"bytes\"===o.type){if(void 0!==r.size)throw new RangeError(\"The strategy for a byte stream cannot have a size function\");!function(e,t,r){const o=Object.create(ReadableByteStreamController.prototype);let n,a,i;n=void 0!==t.start?()=>t.start(o):()=>{},a=void 0!==t.pull?()=>t.pull(o):()=>c(void 0),i=void 0!==t.cancel?e=>t.cancel(e):()=>c(void 0);const l=t.autoAllocateChunkSize;if(0===l)throw new TypeError(\"autoAllocateChunkSize must be greater than 0\");Je(e,o,n,a,i,r,l)}(this,o,ut(r,0))}else{const e=ct(r);!function(e,t,r,o){const n=Object.create(ReadableStreamDefaultController.prototype);let a,i,l;a=void 0!==t.start?()=>t.start(n):()=>{},i=void 0!==t.pull?()=>t.pull(n):()=>c(void 0),l=void 0!==t.cancel?e=>t.cancel(e):()=>c(void 0),_r(e,n,a,i,l,r,o)}(this,o,ut(r,1),e)}}get locked(){if(!Er(this))throw jr(\"locked\");return Wr(this)}cancel(e=void 0){return Er(this)?Wr(this)?d(new TypeError(\"Cannot cancel a stream that already has a reader\")):Or(this,e):d(jr(\"cancel\"))}getReader(e=void 0){if(!Er(this))throw jr(\"getReader\");return void 0===function(e,t){L(e,t);const r=null==e?void 0:e.mode;return{mode:void 0===r?void 0:et(r,`${t} has member 'mode' that`)}}(e,\"First parameter\").mode?H(this):tt(this)}pipeThrough(e,t={}){if(!Er(this))throw jr(\"pipeThrough\");$(e,1,\"pipeThrough\");const r=function(e,t){L(e,t);const r=null==e?void 0:e.readable;M(r,\"readable\",\"ReadableWritablePair\"),N(r,`${t} has member 'readable' that`);const o=null==e?void 0:e.writable;return M(o,\"writable\",\"ReadableWritablePair\"),pt(o,`${t} has member 'writable' that`),{readable:r,writable:o}}(e,\"First parameter\"),o=Tr(t,\"Second parameter\");if(Wr(this))throw new TypeError(\"ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream\");if(vt(r.writable))throw new TypeError(\"ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream\");return p(ir(this,r.writable,o.preventClose,o.preventAbort,o.preventCancel,o.signal)),r.readable}pipeTo(e,t={}){if(!Er(this))return d(jr(\"pipeTo\"));if(void 0===e)return d(\"Parameter 1 is required in 'pipeTo'.\");if(!gt(e))return d(new TypeError(\"ReadableStream.prototype.pipeTo's first argument must be a WritableStream\"));let r;try{r=Tr(t,\"Second parameter\")}catch(e){return d(e)}return Wr(this)?d(new TypeError(\"ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream\")):vt(e)?d(new TypeError(\"ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream\")):ir(this,e,r.preventClose,r.preventAbort,r.preventCancel,r.signal)}tee(){if(!Er(this))throw jr(\"tee\");return ne(yr(this))}values(e=void 0){if(!Er(this))throw jr(\"values\");return function(e,t){const r=H(e),o=new he(r,t),n=Object.create(me);return n._asyncIteratorImpl=o,n}(this,function(e,t){L(e,t);const r=null==e?void 0:e.preventCancel;return{preventCancel:Boolean(r)}}(e,\"First parameter\").preventCancel)}[de](e){return this.values(e)}static from(e){return Sr(e)}}function Cr(e,t,r,o=1,n=(()=>1)){const a=Object.create(ReadableStream.prototype);qr(a);return _r(a,Object.create(ReadableStreamDefaultController.prototype),e,t,r,o,n),a}function Pr(e,t,r){const o=Object.create(ReadableStream.prototype);qr(o);return Je(o,Object.create(ReadableByteStreamController.prototype),e,t,r,0,void 0),o}function qr(e){e._state=\"readable\",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function Er(e){return!!t(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_readableStreamController\")&&e instanceof ReadableStream)}function Wr(e){return void 0!==e._reader}function Or(t,r){if(t._disturbed=!0,\"closed\"===t._state)return c(void 0);if(\"errored\"===t._state)return d(t._storedError);Br(t);const o=t._reader;if(void 0!==o&&at(o)){const e=o._readIntoRequests;o._readIntoRequests=new v,e.forEach((e=>{e._closeSteps(void 0)}))}return _(t._readableStreamController[T](r),e)}function Br(e){e._state=\"closed\";const t=e._reader;if(void 0!==t&&(A(t),J(t))){const e=t._readRequests;t._readRequests=new v,e.forEach((e=>{e._closeSteps()}))}}function kr(e,t){e._state=\"errored\",e._storedError=t;const r=e._reader;void 0!==r&&(j(r,t),J(r)?Z(r,t):lt(r,t))}function jr(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function Ar(e,t){L(e,t);const r=null==e?void 0:e.highWaterMark;return M(r,\"highWaterMark\",\"QueuingStrategyInit\"),{highWaterMark:Y(r)}}Object.defineProperties(ReadableStream,{from:{enumerable:!0}}),Object.defineProperties(ReadableStream.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),o(ReadableStream.from,\"from\"),o(ReadableStream.prototype.cancel,\"cancel\"),o(ReadableStream.prototype.getReader,\"getReader\"),o(ReadableStream.prototype.pipeThrough,\"pipeThrough\"),o(ReadableStream.prototype.pipeTo,\"pipeTo\"),o(ReadableStream.prototype.tee,\"tee\"),o(ReadableStream.prototype.values,\"values\"),\"symbol\"==typeof Symbol.toStringTag&&Object.defineProperty(ReadableStream.prototype,Symbol.toStringTag,{value:\"ReadableStream\",configurable:!0}),Object.defineProperty(ReadableStream.prototype,de,{value:ReadableStream.prototype.values,writable:!0,configurable:!0});const zr=e=>e.byteLength;o(zr,\"size\");class ByteLengthQueuingStrategy{constructor(e){$(e,1,\"ByteLengthQueuingStrategy\"),e=Ar(e,\"First parameter\"),this._byteLengthQueuingStrategyHighWaterMark=e.highWaterMark}get highWaterMark(){if(!Lr(this))throw Dr(\"highWaterMark\");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Lr(this))throw Dr(\"size\");return zr}}function Dr(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function Lr(e){return!!t(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_byteLengthQueuingStrategyHighWaterMark\")&&e instanceof ByteLengthQueuingStrategy)}Object.defineProperties(ByteLengthQueuingStrategy.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),\"symbol\"==typeof Symbol.toStringTag&&Object.defineProperty(ByteLengthQueuingStrategy.prototype,Symbol.toStringTag,{value:\"ByteLengthQueuingStrategy\",configurable:!0});const Fr=()=>1;o(Fr,\"size\");class CountQueuingStrategy{constructor(e){$(e,1,\"CountQueuingStrategy\"),e=Ar(e,\"First parameter\"),this._countQueuingStrategyHighWaterMark=e.highWaterMark}get highWaterMark(){if(!$r(this))throw Ir(\"highWaterMark\");return this._countQueuingStrategyHighWaterMark}get size(){if(!$r(this))throw Ir(\"size\");return Fr}}function Ir(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function $r(e){return!!t(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_countQueuingStrategyHighWaterMark\")&&e instanceof CountQueuingStrategy)}function Mr(e,t,r){return F(e,r),r=>g(e,t,[r])}function Yr(e,t,r){return F(e,r),r=>S(e,t,[r])}function xr(e,t,r){return F(e,r),(r,o)=>g(e,t,[r,o])}function Qr(e,t,r){return F(e,r),r=>g(e,t,[r])}Object.defineProperties(CountQueuingStrategy.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),\"symbol\"==typeof Symbol.toStringTag&&Object.defineProperty(CountQueuingStrategy.prototype,Symbol.toStringTag,{value:\"CountQueuingStrategy\",configurable:!0});class TransformStream{constructor(e={},t={},r={}){void 0===e&&(e=null);const o=dt(t,\"Second parameter\"),n=dt(r,\"Third parameter\"),a=function(e,t){L(e,t);const r=null==e?void 0:e.cancel,o=null==e?void 0:e.flush,n=null==e?void 0:e.readableType,a=null==e?void 0:e.start,i=null==e?void 0:e.transform,l=null==e?void 0:e.writableType;return{cancel:void 0===r?void 0:Qr(r,e,`${t} has member 'cancel' that`),flush:void 0===o?void 0:Mr(o,e,`${t} has member 'flush' that`),readableType:n,start:void 0===a?void 0:Yr(a,e,`${t} has member 'start' that`),transform:void 0===i?void 0:xr(i,e,`${t} has member 'transform' that`),writableType:l}}(e,\"First parameter\");if(void 0!==a.readableType)throw new RangeError(\"Invalid readableType specified\");if(void 0!==a.writableType)throw new RangeError(\"Invalid writableType specified\");const i=ut(n,0),l=ct(n),s=ut(o,1),f=ct(o);let h;!function(e,t,r,o,n,a){function i(){return t}function l(t){return function(e,t){const r=e._transformStreamController;if(e._backpressure){return _(e._backpressureChangePromise,(()=>{const o=e._writable;if(\"erroring\"===o._state)throw o._storedError;return Zr(r,t)}))}return Zr(r,t)}(e,t)}function s(t){return function(e,t){const r=e._transformStreamController;if(void 0!==r._finishPromise)return r._finishPromise;const o=e._readable;r._finishPromise=u(((e,t)=>{r._finishPromise_resolve=e,r._finishPromise_reject=t}));const n=r._cancelAlgorithm(t);return Jr(r),b(n,(()=>(\"errored\"===o._state?ro(r,o._storedError):(br(o._readableStreamController,t),to(r)),null)),(e=>(br(o._readableStreamController,e),ro(r,e),null))),r._finishPromise}(e,t)}function c(){return function(e){const t=e._transformStreamController;if(void 0!==t._finishPromise)return t._finishPromise;const r=e._readable;t._finishPromise=u(((e,r)=>{t._finishPromise_resolve=e,t._finishPromise_reject=r}));const o=t._flushAlgorithm();return Jr(t),b(o,(()=>(\"errored\"===r._state?ro(t,r._storedError):(dr(r._readableStreamController),to(t)),null)),(e=>(br(r._readableStreamController,e),ro(t,e),null))),t._finishPromise}(e)}function d(){return function(e){return Gr(e,!1),e._backpressureChangePromise}(e)}function f(t){return function(e,t){const r=e._transformStreamController;if(void 0!==r._finishPromise)return r._finishPromise;const o=e._writable;r._finishPromise=u(((e,t)=>{r._finishPromise_resolve=e,r._finishPromise_reject=t}));const n=r._cancelAlgorithm(t);return Jr(r),b(n,(()=>(\"errored\"===o._state?ro(r,o._storedError):(Yt(o._writableStreamController,t),Ur(e),to(r)),null)),(t=>(Yt(o._writableStreamController,t),Ur(e),ro(r,t),null))),r._finishPromise}(e,t)}e._writable=function(e,t,r,o,n=1,a=(()=>1)){const i=Object.create(WritableStream.prototype);return St(i),Ft(i,Object.create(WritableStreamDefaultController.prototype),e,t,r,o,n,a),i}(i,l,c,s,r,o),e._readable=Cr(i,d,f,n,a),e._backpressure=void 0,e._backpressureChangePromise=void 0,e._backpressureChangePromise_resolve=void 0,Gr(e,!0),e._transformStreamController=void 0}(this,u((e=>{h=e})),s,f,i,l),function(e,t){const r=Object.create(TransformStreamDefaultController.prototype);let o,n,a;o=void 0!==t.transform?e=>t.transform(e,r):e=>{try{return Kr(r,e),c(void 0)}catch(e){return d(e)}};n=void 0!==t.flush?()=>t.flush(r):()=>c(void 0);a=void 0!==t.cancel?e=>t.cancel(e):()=>c(void 0);!function(e,t,r,o,n){t._controlledTransformStream=e,e._transformStreamController=t,t._transformAlgorithm=r,t._flushAlgorithm=o,t._cancelAlgorithm=n,t._finishPromise=void 0,t._finishPromise_resolve=void 0,t._finishPromise_reject=void 0}(e,r,o,n,a)}(this,a),void 0!==a.start?h(a.start(this._transformStreamController)):h(void 0)}get readable(){if(!Nr(this))throw oo(\"readable\");return this._readable}get writable(){if(!Nr(this))throw oo(\"writable\");return this._writable}}function Nr(e){return!!t(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_transformStreamController\")&&e instanceof TransformStream)}function Hr(e,t){br(e._readable._readableStreamController,t),Vr(e,t)}function Vr(e,t){Jr(e._transformStreamController),Yt(e._writable._writableStreamController,t),Ur(e)}function Ur(e){e._backpressure&&Gr(e,!1)}function Gr(e,t){void 0!==e._backpressureChangePromise&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=u((t=>{e._backpressureChangePromise_resolve=t})),e._backpressure=t}Object.defineProperties(TransformStream.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),\"symbol\"==typeof Symbol.toStringTag&&Object.defineProperty(TransformStream.prototype,Symbol.toStringTag,{value:\"TransformStream\",configurable:!0});class TransformStreamDefaultController{constructor(){throw new TypeError(\"Illegal constructor\")}get desiredSize(){if(!Xr(this))throw eo(\"desiredSize\");return hr(this._controlledTransformStream._readable._readableStreamController)}enqueue(e=void 0){if(!Xr(this))throw eo(\"enqueue\");Kr(this,e)}error(e=void 0){if(!Xr(this))throw eo(\"error\");var t;t=e,Hr(this._controlledTransformStream,t)}terminate(){if(!Xr(this))throw eo(\"terminate\");!function(e){const t=e._controlledTransformStream;dr(t._readable._readableStreamController);const r=new TypeError(\"TransformStream terminated\");Vr(t,r)}(this)}}function Xr(e){return!!t(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_controlledTransformStream\")&&e instanceof TransformStreamDefaultController)}function Jr(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0,e._cancelAlgorithm=void 0}function Kr(e,t){const r=e._controlledTransformStream,o=r._readable._readableStreamController;if(!mr(o))throw new TypeError(\"Readable side is not in a state that permits enqueue\");try{fr(o,t)}catch(e){throw Vr(r,e),r._readable._storedError}const n=function(e){return!ur(e)}(o);n!==r._backpressure&&Gr(r,!0)}function Zr(e,t){return _(e._transformAlgorithm(t),void 0,(t=>{throw Hr(e._controlledTransformStream,t),t}))}function eo(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function to(e){void 0!==e._finishPromise_resolve&&(e._finishPromise_resolve(),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function ro(e,t){void 0!==e._finishPromise_reject&&(p(e._finishPromise),e._finishPromise_reject(t),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function oo(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(TransformStreamDefaultController.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),o(TransformStreamDefaultController.prototype.enqueue,\"enqueue\"),o(TransformStreamDefaultController.prototype.error,\"error\"),o(TransformStreamDefaultController.prototype.terminate,\"terminate\"),\"symbol\"==typeof Symbol.toStringTag&&Object.defineProperty(TransformStreamDefaultController.prototype,Symbol.toStringTag,{value:\"TransformStreamDefaultController\",configurable:!0});export{ByteLengthQueuingStrategy,CountQueuingStrategy,ReadableByteStreamController,ReadableStream,ReadableStreamBYOBReader,ReadableStreamBYOBRequest,ReadableStreamDefaultController,ReadableStreamDefaultReader,TransformStream,TransformStreamDefaultController,WritableStream,WritableStreamDefaultController,WritableStreamDefaultWriter};\n","var niceErrors = {\n 0: \"Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'\",\n 1: function _(annotationType, key) {\n return \"Cannot apply '\" + annotationType + \"' to '\" + key.toString() + \"': Field not found.\";\n },\n /*\n 2(prop) {\n return `invalid decorator for '${prop.toString()}'`\n },\n 3(prop) {\n return `Cannot decorate '${prop.toString()}': action can only be used on properties with a function value.`\n },\n 4(prop) {\n return `Cannot decorate '${prop.toString()}': computed can only be used on getter properties.`\n },\n */\n 5: \"'keys()' can only be used on observable objects, arrays, sets and maps\",\n 6: \"'values()' can only be used on observable objects, arrays, sets and maps\",\n 7: \"'entries()' can only be used on observable objects, arrays and maps\",\n 8: \"'set()' can only be used on observable objects, arrays and maps\",\n 9: \"'remove()' can only be used on observable objects, arrays and maps\",\n 10: \"'has()' can only be used on observable objects, arrays and maps\",\n 11: \"'get()' can only be used on observable objects, arrays and maps\",\n 12: \"Invalid annotation\",\n 13: \"Dynamic observable objects cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)\",\n 14: \"Intercept handlers should return nothing or a change object\",\n 15: \"Observable arrays cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)\",\n 16: \"Modification exception: the internal structure of an observable array was changed.\",\n 17: function _(index, length) {\n return \"[mobx.array] Index out of bounds, \" + index + \" is larger than \" + length;\n },\n 18: \"mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js\",\n 19: function _(other) {\n return \"Cannot initialize from classes that inherit from Map: \" + other.constructor.name;\n },\n 20: function _(other) {\n return \"Cannot initialize map from \" + other;\n },\n 21: function _(dataStructure) {\n return \"Cannot convert to map from '\" + dataStructure + \"'\";\n },\n 22: \"mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js\",\n 23: \"It is not possible to get index atoms from arrays\",\n 24: function _(thing) {\n return \"Cannot obtain administration from \" + thing;\n },\n 25: function _(property, name) {\n return \"the entry '\" + property + \"' does not exist in the observable map '\" + name + \"'\";\n },\n 26: \"please specify a property\",\n 27: function _(property, name) {\n return \"no observable property '\" + property.toString() + \"' found on the observable object '\" + name + \"'\";\n },\n 28: function _(thing) {\n return \"Cannot obtain atom from \" + thing;\n },\n 29: \"Expecting some object\",\n 30: \"invalid action stack. did you forget to finish an action?\",\n 31: \"missing option for computed: get\",\n 32: function _(name, derivation) {\n return \"Cycle detected in computation \" + name + \": \" + derivation;\n },\n 33: function _(name) {\n return \"The setter of computed value '\" + name + \"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?\";\n },\n 34: function _(name) {\n return \"[ComputedValue '\" + name + \"'] It is not possible to assign a new value to a computed value.\";\n },\n 35: \"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`\",\n 36: \"isolateGlobalState should be called before MobX is running any reactions\",\n 37: function _(method) {\n return \"[mobx] `observableArray.\" + method + \"()` mutates the array in-place, which is not allowed inside a derivation. Use `array.slice().\" + method + \"()` instead\";\n },\n 38: \"'ownKeys()' can only be used on observable objects\",\n 39: \"'defineProperty()' can only be used on observable objects\"\n};\nvar errors = process.env.NODE_ENV !== \"production\" ? niceErrors : {};\nfunction die(error) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (process.env.NODE_ENV !== \"production\") {\n var e = typeof error === \"string\" ? error : errors[error];\n if (typeof e === \"function\") e = e.apply(null, args);\n throw new Error(\"[MobX] \" + e);\n }\n throw new Error(typeof error === \"number\" ? \"[MobX] minified error nr: \" + error + (args.length ? \" \" + args.map(String).join(\",\") : \"\") + \". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts\" : \"[MobX] \" + error);\n}\n\nvar mockGlobal = {};\nfunction getGlobal() {\n if (typeof globalThis !== \"undefined\") {\n return globalThis;\n }\n if (typeof window !== \"undefined\") {\n return window;\n }\n if (typeof global !== \"undefined\") {\n return global;\n }\n if (typeof self !== \"undefined\") {\n return self;\n }\n return mockGlobal;\n}\n\n// We shorten anything used > 5 times\nvar assign = Object.assign;\nvar getDescriptor = Object.getOwnPropertyDescriptor;\nvar defineProperty = Object.defineProperty;\nvar objectPrototype = Object.prototype;\nvar EMPTY_ARRAY = [];\nObject.freeze(EMPTY_ARRAY);\nvar EMPTY_OBJECT = {};\nObject.freeze(EMPTY_OBJECT);\nvar hasProxy = typeof Proxy !== \"undefined\";\nvar plainObjectString = /*#__PURE__*/Object.toString();\nfunction assertProxies() {\n if (!hasProxy) {\n die(process.env.NODE_ENV !== \"production\" ? \"`Proxy` objects are not available in the current environment. Please configure MobX to enable a fallback implementation.`\" : \"Proxy not available\");\n }\n}\nfunction warnAboutProxyRequirement(msg) {\n if (process.env.NODE_ENV !== \"production\" && globalState.verifyProxies) {\n die(\"MobX is currently configured to be able to run in ES5 mode, but in ES5 MobX won't be able to \" + msg);\n }\n}\nfunction getNextId() {\n return ++globalState.mobxGuid;\n}\n/**\n * Makes sure that the provided function is invoked at most once.\n */\nfunction once(func) {\n var invoked = false;\n return function () {\n if (invoked) {\n return;\n }\n invoked = true;\n return func.apply(this, arguments);\n };\n}\nvar noop = function noop() {};\nfunction isFunction(fn) {\n return typeof fn === \"function\";\n}\nfunction isStringish(value) {\n var t = typeof value;\n switch (t) {\n case \"string\":\n case \"symbol\":\n case \"number\":\n return true;\n }\n return false;\n}\nfunction isObject(value) {\n return value !== null && typeof value === \"object\";\n}\nfunction isPlainObject(value) {\n if (!isObject(value)) {\n return false;\n }\n var proto = Object.getPrototypeOf(value);\n if (proto == null) {\n return true;\n }\n var protoConstructor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return typeof protoConstructor === \"function\" && protoConstructor.toString() === plainObjectString;\n}\n// https://stackoverflow.com/a/37865170\nfunction isGenerator(obj) {\n var constructor = obj == null ? void 0 : obj.constructor;\n if (!constructor) {\n return false;\n }\n if (\"GeneratorFunction\" === constructor.name || \"GeneratorFunction\" === constructor.displayName) {\n return true;\n }\n return false;\n}\nfunction addHiddenProp(object, propName, value) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: true,\n configurable: true,\n value: value\n });\n}\nfunction addHiddenFinalProp(object, propName, value) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: false,\n configurable: true,\n value: value\n });\n}\nfunction createInstanceofPredicate(name, theClass) {\n var propName = \"isMobX\" + name;\n theClass.prototype[propName] = true;\n return function (x) {\n return isObject(x) && x[propName] === true;\n };\n}\n/**\n * Yields true for both native and observable Map, even across different windows.\n */\nfunction isES6Map(thing) {\n return thing != null && Object.prototype.toString.call(thing) === \"[object Map]\";\n}\n/**\n * Makes sure a Map is an instance of non-inherited native or observable Map.\n */\nfunction isPlainES6Map(thing) {\n var mapProto = Object.getPrototypeOf(thing);\n var objectProto = Object.getPrototypeOf(mapProto);\n var nullProto = Object.getPrototypeOf(objectProto);\n return nullProto === null;\n}\n/**\n * Yields true for both native and observable Set, even across different windows.\n */\nfunction isES6Set(thing) {\n return thing != null && Object.prototype.toString.call(thing) === \"[object Set]\";\n}\nvar hasGetOwnPropertySymbols = typeof Object.getOwnPropertySymbols !== \"undefined\";\n/**\n * Returns the following: own enumerable keys and symbols.\n */\nfunction getPlainObjectKeys(object) {\n var keys = Object.keys(object);\n // Not supported in IE, so there are not going to be symbol props anyway...\n if (!hasGetOwnPropertySymbols) {\n return keys;\n }\n var symbols = Object.getOwnPropertySymbols(object);\n if (!symbols.length) {\n return keys;\n }\n return [].concat(keys, symbols.filter(function (s) {\n return objectPrototype.propertyIsEnumerable.call(object, s);\n }));\n}\n// From Immer utils\n// Returns all own keys, including non-enumerable and symbolic\nvar ownKeys = typeof Reflect !== \"undefined\" && Reflect.ownKeys ? Reflect.ownKeys : hasGetOwnPropertySymbols ? function (obj) {\n return Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj));\n} : /* istanbul ignore next */Object.getOwnPropertyNames;\nfunction stringifyKey(key) {\n if (typeof key === \"string\") {\n return key;\n }\n if (typeof key === \"symbol\") {\n return key.toString();\n }\n return new String(key).toString();\n}\nfunction toPrimitive(value) {\n return value === null ? null : typeof value === \"object\" ? \"\" + value : value;\n}\nfunction hasProp(target, prop) {\n return objectPrototype.hasOwnProperty.call(target, prop);\n}\n// From Immer utils\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || function getOwnPropertyDescriptors(target) {\n // Polyfill needed for Hermes and IE, see https://github.com/facebook/hermes/issues/274\n var res = {};\n // Note: without polyfill for ownKeys, symbols won't be picked up\n ownKeys(target).forEach(function (key) {\n res[key] = getDescriptor(target, key);\n });\n return res;\n};\nfunction getFlag(flags, mask) {\n return !!(flags & mask);\n}\nfunction setFlag(flags, mask, newValue) {\n if (newValue) {\n flags |= mask;\n } else {\n flags &= ~mask;\n }\n return flags;\n}\n\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nfunction _createForOfIteratorHelperLoose(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (t) return (t = t.call(r)).next.bind(t);\n if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) {\n t && (r = t);\n var o = 0;\n return function () {\n return o >= r.length ? {\n done: !0\n } : {\n done: !1,\n value: r[o++]\n };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o);\n}\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\n\nvar storedAnnotationsSymbol = /*#__PURE__*/Symbol(\"mobx-stored-annotations\");\n/**\n * Creates a function that acts as\n * - decorator\n * - annotation object\n */\nfunction createDecoratorAnnotation(annotation) {\n function decorator(target, property) {\n if (is20223Decorator(property)) {\n return annotation.decorate_20223_(target, property);\n } else {\n storeAnnotation(target, property, annotation);\n }\n }\n return Object.assign(decorator, annotation);\n}\n/**\n * Stores annotation to prototype,\n * so it can be inspected later by `makeObservable` called from constructor\n */\nfunction storeAnnotation(prototype, key, annotation) {\n if (!hasProp(prototype, storedAnnotationsSymbol)) {\n addHiddenProp(prototype, storedAnnotationsSymbol, _extends({}, prototype[storedAnnotationsSymbol]));\n }\n // @override must override something\n if (process.env.NODE_ENV !== \"production\" && isOverride(annotation) && !hasProp(prototype[storedAnnotationsSymbol], key)) {\n var fieldName = prototype.constructor.name + \".prototype.\" + key.toString();\n die(\"'\" + fieldName + \"' is decorated with 'override', \" + \"but no such decorated member was found on prototype.\");\n }\n // Cannot re-decorate\n assertNotDecorated(prototype, annotation, key);\n // Ignore override\n if (!isOverride(annotation)) {\n prototype[storedAnnotationsSymbol][key] = annotation;\n }\n}\nfunction assertNotDecorated(prototype, annotation, key) {\n if (process.env.NODE_ENV !== \"production\" && !isOverride(annotation) && hasProp(prototype[storedAnnotationsSymbol], key)) {\n var fieldName = prototype.constructor.name + \".prototype.\" + key.toString();\n var currentAnnotationType = prototype[storedAnnotationsSymbol][key].annotationType_;\n var requestedAnnotationType = annotation.annotationType_;\n die(\"Cannot apply '@\" + requestedAnnotationType + \"' to '\" + fieldName + \"':\" + (\"\\nThe field is already decorated with '@\" + currentAnnotationType + \"'.\") + \"\\nRe-decorating fields is not allowed.\" + \"\\nUse '@override' decorator for methods overridden by subclass.\");\n }\n}\n/**\n * Collects annotations from prototypes and stores them on target (instance)\n */\nfunction collectStoredAnnotations(target) {\n if (!hasProp(target, storedAnnotationsSymbol)) {\n // if (__DEV__ && !target[storedAnnotationsSymbol]) {\n // die(\n // `No annotations were passed to makeObservable, but no decorated members have been found either`\n // )\n // }\n // We need a copy as we will remove annotation from the list once it's applied.\n addHiddenProp(target, storedAnnotationsSymbol, _extends({}, target[storedAnnotationsSymbol]));\n }\n return target[storedAnnotationsSymbol];\n}\nfunction is20223Decorator(context) {\n return typeof context == \"object\" && typeof context[\"kind\"] == \"string\";\n}\nfunction assert20223DecoratorType(context, types) {\n if (process.env.NODE_ENV !== \"production\" && !types.includes(context.kind)) {\n die(\"The decorator applied to '\" + String(context.name) + \"' cannot be used on a \" + context.kind + \" element\");\n }\n}\n\nvar $mobx = /*#__PURE__*/Symbol(\"mobx administration\");\nvar Atom = /*#__PURE__*/function () {\n /**\n * Create a new atom. For debugging purposes it is recommended to give it a name.\n * The onBecomeObserved and onBecomeUnobserved callbacks can be used for resource management.\n */\n function Atom(name_) {\n if (name_ === void 0) {\n name_ = process.env.NODE_ENV !== \"production\" ? \"Atom@\" + getNextId() : \"Atom\";\n }\n this.name_ = void 0;\n this.flags_ = 0;\n this.observers_ = new Set();\n this.lastAccessedBy_ = 0;\n this.lowestObserverState_ = IDerivationState_.NOT_TRACKING_;\n // onBecomeObservedListeners\n this.onBOL = void 0;\n // onBecomeUnobservedListeners\n this.onBUOL = void 0;\n this.name_ = name_;\n }\n // for effective unobserving. BaseAtom has true, for extra optimization, so its onBecomeUnobserved never gets called, because it's not needed\n var _proto = Atom.prototype;\n _proto.onBO = function onBO() {\n if (this.onBOL) {\n this.onBOL.forEach(function (listener) {\n return listener();\n });\n }\n };\n _proto.onBUO = function onBUO() {\n if (this.onBUOL) {\n this.onBUOL.forEach(function (listener) {\n return listener();\n });\n }\n }\n /**\n * Invoke this method to notify mobx that your atom has been used somehow.\n * Returns true if there is currently a reactive context.\n */;\n _proto.reportObserved = function reportObserved$1() {\n return reportObserved(this);\n }\n /**\n * Invoke this method _after_ this method has changed to signal mobx that all its observers should invalidate.\n */;\n _proto.reportChanged = function reportChanged() {\n startBatch();\n propagateChanged(this);\n endBatch();\n };\n _proto.toString = function toString() {\n return this.name_;\n };\n return _createClass(Atom, [{\n key: \"isBeingObserved\",\n get: function get() {\n return getFlag(this.flags_, Atom.isBeingObservedMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, Atom.isBeingObservedMask_, newValue);\n }\n }, {\n key: \"isPendingUnobservation\",\n get: function get() {\n return getFlag(this.flags_, Atom.isPendingUnobservationMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, Atom.isPendingUnobservationMask_, newValue);\n }\n }, {\n key: \"diffValue\",\n get: function get() {\n return getFlag(this.flags_, Atom.diffValueMask_) ? 1 : 0;\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, Atom.diffValueMask_, newValue === 1 ? true : false);\n }\n }]);\n}();\nAtom.isBeingObservedMask_ = 1;\nAtom.isPendingUnobservationMask_ = 2;\nAtom.diffValueMask_ = 4;\nvar isAtom = /*#__PURE__*/createInstanceofPredicate(\"Atom\", Atom);\nfunction createAtom(name, onBecomeObservedHandler, onBecomeUnobservedHandler) {\n if (onBecomeObservedHandler === void 0) {\n onBecomeObservedHandler = noop;\n }\n if (onBecomeUnobservedHandler === void 0) {\n onBecomeUnobservedHandler = noop;\n }\n var atom = new Atom(name);\n // default `noop` listener will not initialize the hook Set\n if (onBecomeObservedHandler !== noop) {\n onBecomeObserved(atom, onBecomeObservedHandler);\n }\n if (onBecomeUnobservedHandler !== noop) {\n onBecomeUnobserved(atom, onBecomeUnobservedHandler);\n }\n return atom;\n}\n\nfunction identityComparer(a, b) {\n return a === b;\n}\nfunction structuralComparer(a, b) {\n return deepEqual(a, b);\n}\nfunction shallowComparer(a, b) {\n return deepEqual(a, b, 1);\n}\nfunction defaultComparer(a, b) {\n if (Object.is) {\n return Object.is(a, b);\n }\n return a === b ? a !== 0 || 1 / a === 1 / b : a !== a && b !== b;\n}\nvar comparer = {\n identity: identityComparer,\n structural: structuralComparer,\n \"default\": defaultComparer,\n shallow: shallowComparer\n};\n\nfunction deepEnhancer(v, _, name) {\n // it is an observable already, done\n if (isObservable(v)) {\n return v;\n }\n // something that can be converted and mutated?\n if (Array.isArray(v)) {\n return observable.array(v, {\n name: name\n });\n }\n if (isPlainObject(v)) {\n return observable.object(v, undefined, {\n name: name\n });\n }\n if (isES6Map(v)) {\n return observable.map(v, {\n name: name\n });\n }\n if (isES6Set(v)) {\n return observable.set(v, {\n name: name\n });\n }\n if (typeof v === \"function\" && !isAction(v) && !isFlow(v)) {\n if (isGenerator(v)) {\n return flow(v);\n } else {\n return autoAction(name, v);\n }\n }\n return v;\n}\nfunction shallowEnhancer(v, _, name) {\n if (v === undefined || v === null) {\n return v;\n }\n if (isObservableObject(v) || isObservableArray(v) || isObservableMap(v) || isObservableSet(v)) {\n return v;\n }\n if (Array.isArray(v)) {\n return observable.array(v, {\n name: name,\n deep: false\n });\n }\n if (isPlainObject(v)) {\n return observable.object(v, undefined, {\n name: name,\n deep: false\n });\n }\n if (isES6Map(v)) {\n return observable.map(v, {\n name: name,\n deep: false\n });\n }\n if (isES6Set(v)) {\n return observable.set(v, {\n name: name,\n deep: false\n });\n }\n if (process.env.NODE_ENV !== \"production\") {\n die(\"The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets\");\n }\n}\nfunction referenceEnhancer(newValue) {\n // never turn into an observable\n return newValue;\n}\nfunction refStructEnhancer(v, oldValue) {\n if (process.env.NODE_ENV !== \"production\" && isObservable(v)) {\n die(\"observable.struct should not be used with observable values\");\n }\n if (deepEqual(v, oldValue)) {\n return oldValue;\n }\n return v;\n}\n\nvar OVERRIDE = \"override\";\nvar override = /*#__PURE__*/createDecoratorAnnotation({\n annotationType_: OVERRIDE,\n make_: make_,\n extend_: extend_,\n decorate_20223_: decorate_20223_\n});\nfunction isOverride(annotation) {\n return annotation.annotationType_ === OVERRIDE;\n}\nfunction make_(adm, key) {\n // Must not be plain object\n if (process.env.NODE_ENV !== \"production\" && adm.isPlainObject_) {\n die(\"Cannot apply '\" + this.annotationType_ + \"' to '\" + adm.name_ + \".\" + key.toString() + \"':\" + (\"\\n'\" + this.annotationType_ + \"' cannot be used on plain objects.\"));\n }\n // Must override something\n if (process.env.NODE_ENV !== \"production\" && !hasProp(adm.appliedAnnotations_, key)) {\n die(\"'\" + adm.name_ + \".\" + key.toString() + \"' is annotated with '\" + this.annotationType_ + \"', \" + \"but no such annotated member was found on prototype.\");\n }\n return 0 /* MakeResult.Cancel */;\n}\nfunction extend_(adm, key, descriptor, proxyTrap) {\n die(\"'\" + this.annotationType_ + \"' can only be used with 'makeObservable'\");\n}\nfunction decorate_20223_(desc, context) {\n console.warn(\"'\" + this.annotationType_ + \"' cannot be used with decorators - this is a no-op\");\n}\n\nfunction createActionAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$1,\n extend_: extend_$1,\n decorate_20223_: decorate_20223_$1\n };\n}\nfunction make_$1(adm, key, descriptor, source) {\n var _this$options_;\n // bound\n if ((_this$options_ = this.options_) != null && _this$options_.bound) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 1 /* MakeResult.Break */;\n }\n // own\n if (source === adm.target_) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 2 /* MakeResult.Continue */;\n }\n // prototype\n if (isAction(descriptor.value)) {\n // A prototype could have been annotated already by other constructor,\n // rest of the proto chain must be annotated already\n return 1 /* MakeResult.Break */;\n }\n var actionDescriptor = createActionDescriptor(adm, this, key, descriptor, false);\n defineProperty(source, key, actionDescriptor);\n return 2 /* MakeResult.Continue */;\n}\nfunction extend_$1(adm, key, descriptor, proxyTrap) {\n var actionDescriptor = createActionDescriptor(adm, this, key, descriptor);\n return adm.defineProperty_(key, actionDescriptor, proxyTrap);\n}\nfunction decorate_20223_$1(mthd, context) {\n if (process.env.NODE_ENV !== \"production\") {\n assert20223DecoratorType(context, [\"method\", \"field\"]);\n }\n var kind = context.kind,\n name = context.name,\n addInitializer = context.addInitializer;\n var ann = this;\n var _createAction = function _createAction(m) {\n var _ann$options_$name, _ann$options_, _ann$options_$autoAct, _ann$options_2;\n return createAction((_ann$options_$name = (_ann$options_ = ann.options_) == null ? void 0 : _ann$options_.name) != null ? _ann$options_$name : name.toString(), m, (_ann$options_$autoAct = (_ann$options_2 = ann.options_) == null ? void 0 : _ann$options_2.autoAction) != null ? _ann$options_$autoAct : false);\n };\n if (kind == \"field\") {\n return function (initMthd) {\n var _ann$options_3;\n var mthd = initMthd;\n if (!isAction(mthd)) {\n mthd = _createAction(mthd);\n }\n if ((_ann$options_3 = ann.options_) != null && _ann$options_3.bound) {\n mthd = mthd.bind(this);\n mthd.isMobxAction = true;\n }\n return mthd;\n };\n }\n if (kind == \"method\") {\n var _this$options_2;\n if (!isAction(mthd)) {\n mthd = _createAction(mthd);\n }\n if ((_this$options_2 = this.options_) != null && _this$options_2.bound) {\n addInitializer(function () {\n var self = this;\n var bound = self[name].bind(self);\n bound.isMobxAction = true;\n self[name] = bound;\n });\n }\n return mthd;\n }\n die(\"Cannot apply '\" + ann.annotationType_ + \"' to '\" + String(name) + \"' (kind: \" + kind + \"):\" + (\"\\n'\" + ann.annotationType_ + \"' can only be used on properties with a function value.\"));\n}\nfunction assertActionDescriptor(adm, _ref, key, _ref2) {\n var annotationType_ = _ref.annotationType_;\n var value = _ref2.value;\n if (process.env.NODE_ENV !== \"production\" && !isFunction(value)) {\n die(\"Cannot apply '\" + annotationType_ + \"' to '\" + adm.name_ + \".\" + key.toString() + \"':\" + (\"\\n'\" + annotationType_ + \"' can only be used on properties with a function value.\"));\n }\n}\nfunction createActionDescriptor(adm, annotation, key, descriptor,\n// provides ability to disable safeDescriptors for prototypes\nsafeDescriptors) {\n var _annotation$options_, _annotation$options_$, _annotation$options_2, _annotation$options_$2, _annotation$options_3, _annotation$options_4, _adm$proxy_2;\n if (safeDescriptors === void 0) {\n safeDescriptors = globalState.safeDescriptors;\n }\n assertActionDescriptor(adm, annotation, key, descriptor);\n var value = descriptor.value;\n if ((_annotation$options_ = annotation.options_) != null && _annotation$options_.bound) {\n var _adm$proxy_;\n value = value.bind((_adm$proxy_ = adm.proxy_) != null ? _adm$proxy_ : adm.target_);\n }\n return {\n value: createAction((_annotation$options_$ = (_annotation$options_2 = annotation.options_) == null ? void 0 : _annotation$options_2.name) != null ? _annotation$options_$ : key.toString(), value, (_annotation$options_$2 = (_annotation$options_3 = annotation.options_) == null ? void 0 : _annotation$options_3.autoAction) != null ? _annotation$options_$2 : false,\n // https://github.com/mobxjs/mobx/discussions/3140\n (_annotation$options_4 = annotation.options_) != null && _annotation$options_4.bound ? (_adm$proxy_2 = adm.proxy_) != null ? _adm$proxy_2 : adm.target_ : undefined),\n // Non-configurable for classes\n // prevents accidental field redefinition in subclass\n configurable: safeDescriptors ? adm.isPlainObject_ : true,\n // https://github.com/mobxjs/mobx/pull/2641#issuecomment-737292058\n enumerable: false,\n // Non-obsevable, therefore non-writable\n // Also prevents rewriting in subclass constructor\n writable: safeDescriptors ? false : true\n };\n}\n\nfunction createFlowAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$2,\n extend_: extend_$2,\n decorate_20223_: decorate_20223_$2\n };\n}\nfunction make_$2(adm, key, descriptor, source) {\n var _this$options_;\n // own\n if (source === adm.target_) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 2 /* MakeResult.Continue */;\n }\n // prototype\n // bound - must annotate protos to support super.flow()\n if ((_this$options_ = this.options_) != null && _this$options_.bound && (!hasProp(adm.target_, key) || !isFlow(adm.target_[key]))) {\n if (this.extend_(adm, key, descriptor, false) === null) {\n return 0 /* MakeResult.Cancel */;\n }\n }\n if (isFlow(descriptor.value)) {\n // A prototype could have been annotated already by other constructor,\n // rest of the proto chain must be annotated already\n return 1 /* MakeResult.Break */;\n }\n var flowDescriptor = createFlowDescriptor(adm, this, key, descriptor, false, false);\n defineProperty(source, key, flowDescriptor);\n return 2 /* MakeResult.Continue */;\n}\nfunction extend_$2(adm, key, descriptor, proxyTrap) {\n var _this$options_2;\n var flowDescriptor = createFlowDescriptor(adm, this, key, descriptor, (_this$options_2 = this.options_) == null ? void 0 : _this$options_2.bound);\n return adm.defineProperty_(key, flowDescriptor, proxyTrap);\n}\nfunction decorate_20223_$2(mthd, context) {\n var _this$options_3;\n if (process.env.NODE_ENV !== \"production\") {\n assert20223DecoratorType(context, [\"method\"]);\n }\n var name = context.name,\n addInitializer = context.addInitializer;\n if (!isFlow(mthd)) {\n mthd = flow(mthd);\n }\n if ((_this$options_3 = this.options_) != null && _this$options_3.bound) {\n addInitializer(function () {\n var self = this;\n var bound = self[name].bind(self);\n bound.isMobXFlow = true;\n self[name] = bound;\n });\n }\n return mthd;\n}\nfunction assertFlowDescriptor(adm, _ref, key, _ref2) {\n var annotationType_ = _ref.annotationType_;\n var value = _ref2.value;\n if (process.env.NODE_ENV !== \"production\" && !isFunction(value)) {\n die(\"Cannot apply '\" + annotationType_ + \"' to '\" + adm.name_ + \".\" + key.toString() + \"':\" + (\"\\n'\" + annotationType_ + \"' can only be used on properties with a generator function value.\"));\n }\n}\nfunction createFlowDescriptor(adm, annotation, key, descriptor, bound,\n// provides ability to disable safeDescriptors for prototypes\nsafeDescriptors) {\n if (safeDescriptors === void 0) {\n safeDescriptors = globalState.safeDescriptors;\n }\n assertFlowDescriptor(adm, annotation, key, descriptor);\n var value = descriptor.value;\n // In case of flow.bound, the descriptor can be from already annotated prototype\n if (!isFlow(value)) {\n value = flow(value);\n }\n if (bound) {\n var _adm$proxy_;\n // We do not keep original function around, so we bind the existing flow\n value = value.bind((_adm$proxy_ = adm.proxy_) != null ? _adm$proxy_ : adm.target_);\n // This is normally set by `flow`, but `bind` returns new function...\n value.isMobXFlow = true;\n }\n return {\n value: value,\n // Non-configurable for classes\n // prevents accidental field redefinition in subclass\n configurable: safeDescriptors ? adm.isPlainObject_ : true,\n // https://github.com/mobxjs/mobx/pull/2641#issuecomment-737292058\n enumerable: false,\n // Non-obsevable, therefore non-writable\n // Also prevents rewriting in subclass constructor\n writable: safeDescriptors ? false : true\n };\n}\n\nfunction createComputedAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$3,\n extend_: extend_$3,\n decorate_20223_: decorate_20223_$3\n };\n}\nfunction make_$3(adm, key, descriptor) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 1 /* MakeResult.Break */;\n}\nfunction extend_$3(adm, key, descriptor, proxyTrap) {\n assertComputedDescriptor(adm, this, key, descriptor);\n return adm.defineComputedProperty_(key, _extends({}, this.options_, {\n get: descriptor.get,\n set: descriptor.set\n }), proxyTrap);\n}\nfunction decorate_20223_$3(get, context) {\n if (process.env.NODE_ENV !== \"production\") {\n assert20223DecoratorType(context, [\"getter\"]);\n }\n var ann = this;\n var key = context.name,\n addInitializer = context.addInitializer;\n addInitializer(function () {\n var adm = asObservableObject(this)[$mobx];\n var options = _extends({}, ann.options_, {\n get: get,\n context: this\n });\n options.name || (options.name = process.env.NODE_ENV !== \"production\" ? adm.name_ + \".\" + key.toString() : \"ObservableObject.\" + key.toString());\n adm.values_.set(key, new ComputedValue(options));\n });\n return function () {\n return this[$mobx].getObservablePropValue_(key);\n };\n}\nfunction assertComputedDescriptor(adm, _ref, key, _ref2) {\n var annotationType_ = _ref.annotationType_;\n var get = _ref2.get;\n if (process.env.NODE_ENV !== \"production\" && !get) {\n die(\"Cannot apply '\" + annotationType_ + \"' to '\" + adm.name_ + \".\" + key.toString() + \"':\" + (\"\\n'\" + annotationType_ + \"' can only be used on getter(+setter) properties.\"));\n }\n}\n\nfunction createObservableAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$4,\n extend_: extend_$4,\n decorate_20223_: decorate_20223_$4\n };\n}\nfunction make_$4(adm, key, descriptor) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 1 /* MakeResult.Break */;\n}\nfunction extend_$4(adm, key, descriptor, proxyTrap) {\n var _this$options_$enhanc, _this$options_;\n assertObservableDescriptor(adm, this, key, descriptor);\n return adm.defineObservableProperty_(key, descriptor.value, (_this$options_$enhanc = (_this$options_ = this.options_) == null ? void 0 : _this$options_.enhancer) != null ? _this$options_$enhanc : deepEnhancer, proxyTrap);\n}\nfunction decorate_20223_$4(desc, context) {\n if (process.env.NODE_ENV !== \"production\") {\n if (context.kind === \"field\") {\n throw die(\"Please use `@observable accessor \" + String(context.name) + \"` instead of `@observable \" + String(context.name) + \"`\");\n }\n assert20223DecoratorType(context, [\"accessor\"]);\n }\n var ann = this;\n var kind = context.kind,\n name = context.name;\n // The laziness here is not ideal... It's a workaround to how 2022.3 Decorators are implemented:\n // `addInitializer` callbacks are executed _before_ any accessors are defined (instead of the ideal-for-us right after each).\n // This means that, if we were to do our stuff in an `addInitializer`, we'd attempt to read a private slot\n // before it has been initialized. The runtime doesn't like that and throws a `Cannot read private member\n // from an object whose class did not declare it` error.\n // TODO: it seems that this will not be required anymore in the final version of the spec\n // See TODO: link\n var initializedObjects = new WeakSet();\n function initializeObservable(target, value) {\n var _ann$options_$enhance, _ann$options_;\n var adm = asObservableObject(target)[$mobx];\n var observable = new ObservableValue(value, (_ann$options_$enhance = (_ann$options_ = ann.options_) == null ? void 0 : _ann$options_.enhancer) != null ? _ann$options_$enhance : deepEnhancer, process.env.NODE_ENV !== \"production\" ? adm.name_ + \".\" + name.toString() : \"ObservableObject.\" + name.toString(), false);\n adm.values_.set(name, observable);\n initializedObjects.add(target);\n }\n if (kind == \"accessor\") {\n return {\n get: function get() {\n if (!initializedObjects.has(this)) {\n initializeObservable(this, desc.get.call(this));\n }\n return this[$mobx].getObservablePropValue_(name);\n },\n set: function set(value) {\n if (!initializedObjects.has(this)) {\n initializeObservable(this, value);\n }\n return this[$mobx].setObservablePropValue_(name, value);\n },\n init: function init(value) {\n if (!initializedObjects.has(this)) {\n initializeObservable(this, value);\n }\n return value;\n }\n };\n }\n return;\n}\nfunction assertObservableDescriptor(adm, _ref, key, descriptor) {\n var annotationType_ = _ref.annotationType_;\n if (process.env.NODE_ENV !== \"production\" && !(\"value\" in descriptor)) {\n die(\"Cannot apply '\" + annotationType_ + \"' to '\" + adm.name_ + \".\" + key.toString() + \"':\" + (\"\\n'\" + annotationType_ + \"' cannot be used on getter/setter properties\"));\n }\n}\n\nvar AUTO = \"true\";\nvar autoAnnotation = /*#__PURE__*/createAutoAnnotation();\nfunction createAutoAnnotation(options) {\n return {\n annotationType_: AUTO,\n options_: options,\n make_: make_$5,\n extend_: extend_$5,\n decorate_20223_: decorate_20223_$5\n };\n}\nfunction make_$5(adm, key, descriptor, source) {\n var _this$options_3, _this$options_4;\n // getter -> computed\n if (descriptor.get) {\n return computed.make_(adm, key, descriptor, source);\n }\n // lone setter -> action setter\n if (descriptor.set) {\n // TODO make action applicable to setter and delegate to action.make_\n var set = createAction(key.toString(), descriptor.set);\n // own\n if (source === adm.target_) {\n return adm.defineProperty_(key, {\n configurable: globalState.safeDescriptors ? adm.isPlainObject_ : true,\n set: set\n }) === null ? 0 /* MakeResult.Cancel */ : 2 /* MakeResult.Continue */;\n }\n // proto\n defineProperty(source, key, {\n configurable: true,\n set: set\n });\n return 2 /* MakeResult.Continue */;\n }\n // function on proto -> autoAction/flow\n if (source !== adm.target_ && typeof descriptor.value === \"function\") {\n var _this$options_2;\n if (isGenerator(descriptor.value)) {\n var _this$options_;\n var flowAnnotation = (_this$options_ = this.options_) != null && _this$options_.autoBind ? flow.bound : flow;\n return flowAnnotation.make_(adm, key, descriptor, source);\n }\n var actionAnnotation = (_this$options_2 = this.options_) != null && _this$options_2.autoBind ? autoAction.bound : autoAction;\n return actionAnnotation.make_(adm, key, descriptor, source);\n }\n // other -> observable\n // Copy props from proto as well, see test:\n // \"decorate should work with Object.create\"\n var observableAnnotation = ((_this$options_3 = this.options_) == null ? void 0 : _this$options_3.deep) === false ? observable.ref : observable;\n // if function respect autoBind option\n if (typeof descriptor.value === \"function\" && (_this$options_4 = this.options_) != null && _this$options_4.autoBind) {\n var _adm$proxy_;\n descriptor.value = descriptor.value.bind((_adm$proxy_ = adm.proxy_) != null ? _adm$proxy_ : adm.target_);\n }\n return observableAnnotation.make_(adm, key, descriptor, source);\n}\nfunction extend_$5(adm, key, descriptor, proxyTrap) {\n var _this$options_5, _this$options_6;\n // getter -> computed\n if (descriptor.get) {\n return computed.extend_(adm, key, descriptor, proxyTrap);\n }\n // lone setter -> action setter\n if (descriptor.set) {\n // TODO make action applicable to setter and delegate to action.extend_\n return adm.defineProperty_(key, {\n configurable: globalState.safeDescriptors ? adm.isPlainObject_ : true,\n set: createAction(key.toString(), descriptor.set)\n }, proxyTrap);\n }\n // other -> observable\n // if function respect autoBind option\n if (typeof descriptor.value === \"function\" && (_this$options_5 = this.options_) != null && _this$options_5.autoBind) {\n var _adm$proxy_2;\n descriptor.value = descriptor.value.bind((_adm$proxy_2 = adm.proxy_) != null ? _adm$proxy_2 : adm.target_);\n }\n var observableAnnotation = ((_this$options_6 = this.options_) == null ? void 0 : _this$options_6.deep) === false ? observable.ref : observable;\n return observableAnnotation.extend_(adm, key, descriptor, proxyTrap);\n}\nfunction decorate_20223_$5(desc, context) {\n die(\"'\" + this.annotationType_ + \"' cannot be used as a decorator\");\n}\n\nvar OBSERVABLE = \"observable\";\nvar OBSERVABLE_REF = \"observable.ref\";\nvar OBSERVABLE_SHALLOW = \"observable.shallow\";\nvar OBSERVABLE_STRUCT = \"observable.struct\";\n// Predefined bags of create observable options, to avoid allocating temporarily option objects\n// in the majority of cases\nvar defaultCreateObservableOptions = {\n deep: true,\n name: undefined,\n defaultDecorator: undefined,\n proxy: true\n};\nObject.freeze(defaultCreateObservableOptions);\nfunction asCreateObservableOptions(thing) {\n return thing || defaultCreateObservableOptions;\n}\nvar observableAnnotation = /*#__PURE__*/createObservableAnnotation(OBSERVABLE);\nvar observableRefAnnotation = /*#__PURE__*/createObservableAnnotation(OBSERVABLE_REF, {\n enhancer: referenceEnhancer\n});\nvar observableShallowAnnotation = /*#__PURE__*/createObservableAnnotation(OBSERVABLE_SHALLOW, {\n enhancer: shallowEnhancer\n});\nvar observableStructAnnotation = /*#__PURE__*/createObservableAnnotation(OBSERVABLE_STRUCT, {\n enhancer: refStructEnhancer\n});\nvar observableDecoratorAnnotation = /*#__PURE__*/createDecoratorAnnotation(observableAnnotation);\nfunction getEnhancerFromOptions(options) {\n return options.deep === true ? deepEnhancer : options.deep === false ? referenceEnhancer : getEnhancerFromAnnotation(options.defaultDecorator);\n}\nfunction getAnnotationFromOptions(options) {\n var _options$defaultDecor;\n return options ? (_options$defaultDecor = options.defaultDecorator) != null ? _options$defaultDecor : createAutoAnnotation(options) : undefined;\n}\nfunction getEnhancerFromAnnotation(annotation) {\n var _annotation$options_$, _annotation$options_;\n return !annotation ? deepEnhancer : (_annotation$options_$ = (_annotation$options_ = annotation.options_) == null ? void 0 : _annotation$options_.enhancer) != null ? _annotation$options_$ : deepEnhancer;\n}\n/**\n * Turns an object, array or function into a reactive structure.\n * @param v the value which should become observable.\n */\nfunction createObservable(v, arg2, arg3) {\n // @observable someProp; (2022.3 Decorators)\n if (is20223Decorator(arg2)) {\n return observableAnnotation.decorate_20223_(v, arg2);\n }\n // @observable someProp;\n if (isStringish(arg2)) {\n storeAnnotation(v, arg2, observableAnnotation);\n return;\n }\n // already observable - ignore\n if (isObservable(v)) {\n return v;\n }\n // plain object\n if (isPlainObject(v)) {\n return observable.object(v, arg2, arg3);\n }\n // Array\n if (Array.isArray(v)) {\n return observable.array(v, arg2);\n }\n // Map\n if (isES6Map(v)) {\n return observable.map(v, arg2);\n }\n // Set\n if (isES6Set(v)) {\n return observable.set(v, arg2);\n }\n // other object - ignore\n if (typeof v === \"object\" && v !== null) {\n return v;\n }\n // anything else\n return observable.box(v, arg2);\n}\nassign(createObservable, observableDecoratorAnnotation);\nvar observableFactories = {\n box: function box(value, options) {\n var o = asCreateObservableOptions(options);\n return new ObservableValue(value, getEnhancerFromOptions(o), o.name, true, o.equals);\n },\n array: function array(initialValues, options) {\n var o = asCreateObservableOptions(options);\n return (globalState.useProxies === false || o.proxy === false ? createLegacyArray : createObservableArray)(initialValues, getEnhancerFromOptions(o), o.name);\n },\n map: function map(initialValues, options) {\n var o = asCreateObservableOptions(options);\n return new ObservableMap(initialValues, getEnhancerFromOptions(o), o.name);\n },\n set: function set(initialValues, options) {\n var o = asCreateObservableOptions(options);\n return new ObservableSet(initialValues, getEnhancerFromOptions(o), o.name);\n },\n object: function object(props, decorators, options) {\n return initObservable(function () {\n return extendObservable(globalState.useProxies === false || (options == null ? void 0 : options.proxy) === false ? asObservableObject({}, options) : asDynamicObservableObject({}, options), props, decorators);\n });\n },\n ref: /*#__PURE__*/createDecoratorAnnotation(observableRefAnnotation),\n shallow: /*#__PURE__*/createDecoratorAnnotation(observableShallowAnnotation),\n deep: observableDecoratorAnnotation,\n struct: /*#__PURE__*/createDecoratorAnnotation(observableStructAnnotation)\n};\n// eslint-disable-next-line\nvar observable = /*#__PURE__*/assign(createObservable, observableFactories);\n\nvar COMPUTED = \"computed\";\nvar COMPUTED_STRUCT = \"computed.struct\";\nvar computedAnnotation = /*#__PURE__*/createComputedAnnotation(COMPUTED);\nvar computedStructAnnotation = /*#__PURE__*/createComputedAnnotation(COMPUTED_STRUCT, {\n equals: comparer.structural\n});\n/**\n * Decorator for class properties: @computed get value() { return expr; }.\n * For legacy purposes also invokable as ES5 observable created: `computed(() => expr)`;\n */\nvar computed = function computed(arg1, arg2) {\n if (is20223Decorator(arg2)) {\n // @computed (2022.3 Decorators)\n return computedAnnotation.decorate_20223_(arg1, arg2);\n }\n if (isStringish(arg2)) {\n // @computed\n return storeAnnotation(arg1, arg2, computedAnnotation);\n }\n if (isPlainObject(arg1)) {\n // @computed({ options })\n return createDecoratorAnnotation(createComputedAnnotation(COMPUTED, arg1));\n }\n // computed(expr, options?)\n if (process.env.NODE_ENV !== \"production\") {\n if (!isFunction(arg1)) {\n die(\"First argument to `computed` should be an expression.\");\n }\n if (isFunction(arg2)) {\n die(\"A setter as second argument is no longer supported, use `{ set: fn }` option instead\");\n }\n }\n var opts = isPlainObject(arg2) ? arg2 : {};\n opts.get = arg1;\n opts.name || (opts.name = arg1.name || \"\"); /* for generated name */\n return new ComputedValue(opts);\n};\nObject.assign(computed, computedAnnotation);\ncomputed.struct = /*#__PURE__*/createDecoratorAnnotation(computedStructAnnotation);\n\nvar _getDescriptor$config, _getDescriptor;\n// we don't use globalState for these in order to avoid possible issues with multiple\n// mobx versions\nvar currentActionId = 0;\nvar nextActionId = 1;\nvar isFunctionNameConfigurable = (_getDescriptor$config = (_getDescriptor = /*#__PURE__*/getDescriptor(function () {}, \"name\")) == null ? void 0 : _getDescriptor.configurable) != null ? _getDescriptor$config : false;\n// we can safely recycle this object\nvar tmpNameDescriptor = {\n value: \"action\",\n configurable: true,\n writable: false,\n enumerable: false\n};\nfunction createAction(actionName, fn, autoAction, ref) {\n if (autoAction === void 0) {\n autoAction = false;\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!isFunction(fn)) {\n die(\"`action` can only be invoked on functions\");\n }\n if (typeof actionName !== \"string\" || !actionName) {\n die(\"actions should have valid names, got: '\" + actionName + \"'\");\n }\n }\n function res() {\n return executeAction(actionName, autoAction, fn, ref || this, arguments);\n }\n res.isMobxAction = true;\n res.toString = function () {\n return fn.toString();\n };\n if (isFunctionNameConfigurable) {\n tmpNameDescriptor.value = actionName;\n defineProperty(res, \"name\", tmpNameDescriptor);\n }\n return res;\n}\nfunction executeAction(actionName, canRunAsDerivation, fn, scope, args) {\n var runInfo = _startAction(actionName, canRunAsDerivation, scope, args);\n try {\n return fn.apply(scope, args);\n } catch (err) {\n runInfo.error_ = err;\n throw err;\n } finally {\n _endAction(runInfo);\n }\n}\nfunction _startAction(actionName, canRunAsDerivation,\n// true for autoAction\nscope, args) {\n var notifySpy_ = process.env.NODE_ENV !== \"production\" && isSpyEnabled() && !!actionName;\n var startTime_ = 0;\n if (process.env.NODE_ENV !== \"production\" && notifySpy_) {\n startTime_ = Date.now();\n var flattenedArgs = args ? Array.from(args) : EMPTY_ARRAY;\n spyReportStart({\n type: ACTION,\n name: actionName,\n object: scope,\n arguments: flattenedArgs\n });\n }\n var prevDerivation_ = globalState.trackingDerivation;\n var runAsAction = !canRunAsDerivation || !prevDerivation_;\n startBatch();\n var prevAllowStateChanges_ = globalState.allowStateChanges; // by default preserve previous allow\n if (runAsAction) {\n untrackedStart();\n prevAllowStateChanges_ = allowStateChangesStart(true);\n }\n var prevAllowStateReads_ = allowStateReadsStart(true);\n var runInfo = {\n runAsAction_: runAsAction,\n prevDerivation_: prevDerivation_,\n prevAllowStateChanges_: prevAllowStateChanges_,\n prevAllowStateReads_: prevAllowStateReads_,\n notifySpy_: notifySpy_,\n startTime_: startTime_,\n actionId_: nextActionId++,\n parentActionId_: currentActionId\n };\n currentActionId = runInfo.actionId_;\n return runInfo;\n}\nfunction _endAction(runInfo) {\n if (currentActionId !== runInfo.actionId_) {\n die(30);\n }\n currentActionId = runInfo.parentActionId_;\n if (runInfo.error_ !== undefined) {\n globalState.suppressReactionErrors = true;\n }\n allowStateChangesEnd(runInfo.prevAllowStateChanges_);\n allowStateReadsEnd(runInfo.prevAllowStateReads_);\n endBatch();\n if (runInfo.runAsAction_) {\n untrackedEnd(runInfo.prevDerivation_);\n }\n if (process.env.NODE_ENV !== \"production\" && runInfo.notifySpy_) {\n spyReportEnd({\n time: Date.now() - runInfo.startTime_\n });\n }\n globalState.suppressReactionErrors = false;\n}\nfunction allowStateChanges(allowStateChanges, func) {\n var prev = allowStateChangesStart(allowStateChanges);\n try {\n return func();\n } finally {\n allowStateChangesEnd(prev);\n }\n}\nfunction allowStateChangesStart(allowStateChanges) {\n var prev = globalState.allowStateChanges;\n globalState.allowStateChanges = allowStateChanges;\n return prev;\n}\nfunction allowStateChangesEnd(prev) {\n globalState.allowStateChanges = prev;\n}\n\nvar CREATE = \"create\";\nvar ObservableValue = /*#__PURE__*/function (_Atom) {\n function ObservableValue(value, enhancer, name_, notifySpy, equals) {\n var _this;\n if (name_ === void 0) {\n name_ = process.env.NODE_ENV !== \"production\" ? \"ObservableValue@\" + getNextId() : \"ObservableValue\";\n }\n if (notifySpy === void 0) {\n notifySpy = true;\n }\n if (equals === void 0) {\n equals = comparer[\"default\"];\n }\n _this = _Atom.call(this, name_) || this;\n _this.enhancer = void 0;\n _this.name_ = void 0;\n _this.equals = void 0;\n _this.hasUnreportedChange_ = false;\n _this.interceptors_ = void 0;\n _this.changeListeners_ = void 0;\n _this.value_ = void 0;\n _this.dehancer = void 0;\n _this.enhancer = enhancer;\n _this.name_ = name_;\n _this.equals = equals;\n _this.value_ = enhancer(value, undefined, name_);\n if (process.env.NODE_ENV !== \"production\" && notifySpy && isSpyEnabled()) {\n // only notify spy if this is a stand-alone observable\n spyReport({\n type: CREATE,\n object: _this,\n observableKind: \"value\",\n debugObjectName: _this.name_,\n newValue: \"\" + _this.value_\n });\n }\n return _this;\n }\n _inheritsLoose(ObservableValue, _Atom);\n var _proto = ObservableValue.prototype;\n _proto.dehanceValue = function dehanceValue(value) {\n if (this.dehancer !== undefined) {\n return this.dehancer(value);\n }\n return value;\n };\n _proto.set = function set(newValue) {\n var oldValue = this.value_;\n newValue = this.prepareNewValue_(newValue);\n if (newValue !== globalState.UNCHANGED) {\n var notifySpy = isSpyEnabled();\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart({\n type: UPDATE,\n object: this,\n observableKind: \"value\",\n debugObjectName: this.name_,\n newValue: newValue,\n oldValue: oldValue\n });\n }\n this.setNewValue_(newValue);\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n }\n };\n _proto.prepareNewValue_ = function prepareNewValue_(newValue) {\n checkIfStateModificationsAreAllowed(this);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this,\n type: UPDATE,\n newValue: newValue\n });\n if (!change) {\n return globalState.UNCHANGED;\n }\n newValue = change.newValue;\n }\n // apply modifier\n newValue = this.enhancer(newValue, this.value_, this.name_);\n return this.equals(this.value_, newValue) ? globalState.UNCHANGED : newValue;\n };\n _proto.setNewValue_ = function setNewValue_(newValue) {\n var oldValue = this.value_;\n this.value_ = newValue;\n this.reportChanged();\n if (hasListeners(this)) {\n notifyListeners(this, {\n type: UPDATE,\n object: this,\n newValue: newValue,\n oldValue: oldValue\n });\n }\n };\n _proto.get = function get() {\n this.reportObserved();\n return this.dehanceValue(this.value_);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n if (fireImmediately) {\n listener({\n observableKind: \"value\",\n debugObjectName: this.name_,\n object: this,\n type: UPDATE,\n newValue: this.value_,\n oldValue: undefined\n });\n }\n return registerListener(this, listener);\n };\n _proto.raw = function raw() {\n // used by MST ot get undehanced value\n return this.value_;\n };\n _proto.toJSON = function toJSON() {\n return this.get();\n };\n _proto.toString = function toString() {\n return this.name_ + \"[\" + this.value_ + \"]\";\n };\n _proto.valueOf = function valueOf() {\n return toPrimitive(this.get());\n };\n _proto[Symbol.toPrimitive] = function () {\n return this.valueOf();\n };\n return ObservableValue;\n}(Atom);\nvar isObservableValue = /*#__PURE__*/createInstanceofPredicate(\"ObservableValue\", ObservableValue);\n\n/**\n * A node in the state dependency root that observes other nodes, and can be observed itself.\n *\n * ComputedValue will remember the result of the computation for the duration of the batch, or\n * while being observed.\n *\n * During this time it will recompute only when one of its direct dependencies changed,\n * but only when it is being accessed with `ComputedValue.get()`.\n *\n * Implementation description:\n * 1. First time it's being accessed it will compute and remember result\n * give back remembered result until 2. happens\n * 2. First time any deep dependency change, propagate POSSIBLY_STALE to all observers, wait for 3.\n * 3. When it's being accessed, recompute if any shallow dependency changed.\n * if result changed: propagate STALE to all observers, that were POSSIBLY_STALE from the last step.\n * go to step 2. either way\n *\n * If at any point it's outside batch and it isn't observed: reset everything and go to 1.\n */\nvar ComputedValue = /*#__PURE__*/function () {\n /**\n * Create a new computed value based on a function expression.\n *\n * The `name` property is for debug purposes only.\n *\n * The `equals` property specifies the comparer function to use to determine if a newly produced\n * value differs from the previous value. Two comparers are provided in the library; `defaultComparer`\n * compares based on identity comparison (===), and `structuralComparer` deeply compares the structure.\n * Structural comparison can be convenient if you always produce a new aggregated object and\n * don't want to notify observers if it is structurally the same.\n * This is useful for working with vectors, mouse coordinates etc.\n */\n function ComputedValue(options) {\n this.dependenciesState_ = IDerivationState_.NOT_TRACKING_;\n this.observing_ = [];\n // nodes we are looking at. Our value depends on these nodes\n this.newObserving_ = null;\n // during tracking it's an array with new observed observers\n this.observers_ = new Set();\n this.runId_ = 0;\n this.lastAccessedBy_ = 0;\n this.lowestObserverState_ = IDerivationState_.UP_TO_DATE_;\n this.unboundDepsCount_ = 0;\n this.value_ = new CaughtException(null);\n this.name_ = void 0;\n this.triggeredBy_ = void 0;\n this.flags_ = 0;\n this.derivation = void 0;\n // N.B: unminified as it is used by MST\n this.setter_ = void 0;\n this.isTracing_ = TraceMode.NONE;\n this.scope_ = void 0;\n this.equals_ = void 0;\n this.requiresReaction_ = void 0;\n this.keepAlive_ = void 0;\n this.onBOL = void 0;\n this.onBUOL = void 0;\n if (!options.get) {\n die(31);\n }\n this.derivation = options.get;\n this.name_ = options.name || (process.env.NODE_ENV !== \"production\" ? \"ComputedValue@\" + getNextId() : \"ComputedValue\");\n if (options.set) {\n this.setter_ = createAction(process.env.NODE_ENV !== \"production\" ? this.name_ + \"-setter\" : \"ComputedValue-setter\", options.set);\n }\n this.equals_ = options.equals || (options.compareStructural || options.struct ? comparer.structural : comparer[\"default\"]);\n this.scope_ = options.context;\n this.requiresReaction_ = options.requiresReaction;\n this.keepAlive_ = !!options.keepAlive;\n }\n var _proto = ComputedValue.prototype;\n _proto.onBecomeStale_ = function onBecomeStale_() {\n propagateMaybeChanged(this);\n };\n _proto.onBO = function onBO() {\n if (this.onBOL) {\n this.onBOL.forEach(function (listener) {\n return listener();\n });\n }\n };\n _proto.onBUO = function onBUO() {\n if (this.onBUOL) {\n this.onBUOL.forEach(function (listener) {\n return listener();\n });\n }\n }\n // to check for cycles\n ;\n /**\n * Returns the current value of this computed value.\n * Will evaluate its computation first if needed.\n */\n _proto.get = function get() {\n if (this.isComputing) {\n die(32, this.name_, this.derivation);\n }\n if (globalState.inBatch === 0 &&\n // !globalState.trackingDerivatpion &&\n this.observers_.size === 0 && !this.keepAlive_) {\n if (shouldCompute(this)) {\n this.warnAboutUntrackedRead_();\n startBatch(); // See perf test 'computed memoization'\n this.value_ = this.computeValue_(false);\n endBatch();\n }\n } else {\n reportObserved(this);\n if (shouldCompute(this)) {\n var prevTrackingContext = globalState.trackingContext;\n if (this.keepAlive_ && !prevTrackingContext) {\n globalState.trackingContext = this;\n }\n if (this.trackAndCompute()) {\n propagateChangeConfirmed(this);\n }\n globalState.trackingContext = prevTrackingContext;\n }\n }\n var result = this.value_;\n if (isCaughtException(result)) {\n throw result.cause;\n }\n return result;\n };\n _proto.set = function set(value) {\n if (this.setter_) {\n if (this.isRunningSetter) {\n die(33, this.name_);\n }\n this.isRunningSetter = true;\n try {\n this.setter_.call(this.scope_, value);\n } finally {\n this.isRunningSetter = false;\n }\n } else {\n die(34, this.name_);\n }\n };\n _proto.trackAndCompute = function trackAndCompute() {\n // N.B: unminified as it is used by MST\n var oldValue = this.value_;\n var wasSuspended = /* see #1208 */this.dependenciesState_ === IDerivationState_.NOT_TRACKING_;\n var newValue = this.computeValue_(true);\n var changed = wasSuspended || isCaughtException(oldValue) || isCaughtException(newValue) || !this.equals_(oldValue, newValue);\n if (changed) {\n this.value_ = newValue;\n if (process.env.NODE_ENV !== \"production\" && isSpyEnabled()) {\n spyReport({\n observableKind: \"computed\",\n debugObjectName: this.name_,\n object: this.scope_,\n type: \"update\",\n oldValue: oldValue,\n newValue: newValue\n });\n }\n }\n return changed;\n };\n _proto.computeValue_ = function computeValue_(track) {\n this.isComputing = true;\n // don't allow state changes during computation\n var prev = allowStateChangesStart(false);\n var res;\n if (track) {\n res = trackDerivedFunction(this, this.derivation, this.scope_);\n } else {\n if (globalState.disableErrorBoundaries === true) {\n res = this.derivation.call(this.scope_);\n } else {\n try {\n res = this.derivation.call(this.scope_);\n } catch (e) {\n res = new CaughtException(e);\n }\n }\n }\n allowStateChangesEnd(prev);\n this.isComputing = false;\n return res;\n };\n _proto.suspend_ = function suspend_() {\n if (!this.keepAlive_) {\n clearObserving(this);\n this.value_ = undefined; // don't hold on to computed value!\n if (process.env.NODE_ENV !== \"production\" && this.isTracing_ !== TraceMode.NONE) {\n console.log(\"[mobx.trace] Computed value '\" + this.name_ + \"' was suspended and it will recompute on the next access.\");\n }\n }\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n var _this = this;\n var firstTime = true;\n var prevValue = undefined;\n return autorun(function () {\n // TODO: why is this in a different place than the spyReport() function? in all other observables it's called in the same place\n var newValue = _this.get();\n if (!firstTime || fireImmediately) {\n var prevU = untrackedStart();\n listener({\n observableKind: \"computed\",\n debugObjectName: _this.name_,\n type: UPDATE,\n object: _this,\n newValue: newValue,\n oldValue: prevValue\n });\n untrackedEnd(prevU);\n }\n firstTime = false;\n prevValue = newValue;\n });\n };\n _proto.warnAboutUntrackedRead_ = function warnAboutUntrackedRead_() {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n }\n if (this.isTracing_ !== TraceMode.NONE) {\n console.log(\"[mobx.trace] Computed value '\" + this.name_ + \"' is being read outside a reactive context. Doing a full recompute.\");\n }\n if (typeof this.requiresReaction_ === \"boolean\" ? this.requiresReaction_ : globalState.computedRequiresReaction) {\n console.warn(\"[mobx] Computed value '\" + this.name_ + \"' is being read outside a reactive context. Doing a full recompute.\");\n }\n };\n _proto.toString = function toString() {\n return this.name_ + \"[\" + this.derivation.toString() + \"]\";\n };\n _proto.valueOf = function valueOf() {\n return toPrimitive(this.get());\n };\n _proto[Symbol.toPrimitive] = function () {\n return this.valueOf();\n };\n return _createClass(ComputedValue, [{\n key: \"isComputing\",\n get: function get() {\n return getFlag(this.flags_, ComputedValue.isComputingMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, ComputedValue.isComputingMask_, newValue);\n }\n }, {\n key: \"isRunningSetter\",\n get: function get() {\n return getFlag(this.flags_, ComputedValue.isRunningSetterMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, ComputedValue.isRunningSetterMask_, newValue);\n }\n }, {\n key: \"isBeingObserved\",\n get: function get() {\n return getFlag(this.flags_, ComputedValue.isBeingObservedMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, ComputedValue.isBeingObservedMask_, newValue);\n }\n }, {\n key: \"isPendingUnobservation\",\n get: function get() {\n return getFlag(this.flags_, ComputedValue.isPendingUnobservationMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, ComputedValue.isPendingUnobservationMask_, newValue);\n }\n }, {\n key: \"diffValue\",\n get: function get() {\n return getFlag(this.flags_, ComputedValue.diffValueMask_) ? 1 : 0;\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, ComputedValue.diffValueMask_, newValue === 1 ? true : false);\n }\n }]);\n}();\nComputedValue.isComputingMask_ = 1;\nComputedValue.isRunningSetterMask_ = 2;\nComputedValue.isBeingObservedMask_ = 4;\nComputedValue.isPendingUnobservationMask_ = 8;\nComputedValue.diffValueMask_ = 16;\nvar isComputedValue = /*#__PURE__*/createInstanceofPredicate(\"ComputedValue\", ComputedValue);\n\nvar IDerivationState_;\n(function (IDerivationState_) {\n // before being run or (outside batch and not being observed)\n // at this point derivation is not holding any data about dependency tree\n IDerivationState_[IDerivationState_[\"NOT_TRACKING_\"] = -1] = \"NOT_TRACKING_\";\n // no shallow dependency changed since last computation\n // won't recalculate derivation\n // this is what makes mobx fast\n IDerivationState_[IDerivationState_[\"UP_TO_DATE_\"] = 0] = \"UP_TO_DATE_\";\n // some deep dependency changed, but don't know if shallow dependency changed\n // will require to check first if UP_TO_DATE or POSSIBLY_STALE\n // currently only ComputedValue will propagate POSSIBLY_STALE\n //\n // having this state is second big optimization:\n // don't have to recompute on every dependency change, but only when it's needed\n IDerivationState_[IDerivationState_[\"POSSIBLY_STALE_\"] = 1] = \"POSSIBLY_STALE_\";\n // A shallow dependency has changed since last computation and the derivation\n // will need to recompute when it's needed next.\n IDerivationState_[IDerivationState_[\"STALE_\"] = 2] = \"STALE_\";\n})(IDerivationState_ || (IDerivationState_ = {}));\nvar TraceMode;\n(function (TraceMode) {\n TraceMode[TraceMode[\"NONE\"] = 0] = \"NONE\";\n TraceMode[TraceMode[\"LOG\"] = 1] = \"LOG\";\n TraceMode[TraceMode[\"BREAK\"] = 2] = \"BREAK\";\n})(TraceMode || (TraceMode = {}));\nvar CaughtException = function CaughtException(cause) {\n this.cause = void 0;\n this.cause = cause;\n // Empty\n};\nfunction isCaughtException(e) {\n return e instanceof CaughtException;\n}\n/**\n * Finds out whether any dependency of the derivation has actually changed.\n * If dependenciesState is 1 then it will recalculate dependencies,\n * if any dependency changed it will propagate it by changing dependenciesState to 2.\n *\n * By iterating over the dependencies in the same order that they were reported and\n * stopping on the first change, all the recalculations are only called for ComputedValues\n * that will be tracked by derivation. That is because we assume that if the first x\n * dependencies of the derivation doesn't change then the derivation should run the same way\n * up until accessing x-th dependency.\n */\nfunction shouldCompute(derivation) {\n switch (derivation.dependenciesState_) {\n case IDerivationState_.UP_TO_DATE_:\n return false;\n case IDerivationState_.NOT_TRACKING_:\n case IDerivationState_.STALE_:\n return true;\n case IDerivationState_.POSSIBLY_STALE_:\n {\n // state propagation can occur outside of action/reactive context #2195\n var prevAllowStateReads = allowStateReadsStart(true);\n var prevUntracked = untrackedStart(); // no need for those computeds to be reported, they will be picked up in trackDerivedFunction.\n var obs = derivation.observing_,\n l = obs.length;\n for (var i = 0; i < l; i++) {\n var obj = obs[i];\n if (isComputedValue(obj)) {\n if (globalState.disableErrorBoundaries) {\n obj.get();\n } else {\n try {\n obj.get();\n } catch (e) {\n // we are not interested in the value *or* exception at this moment, but if there is one, notify all\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return true;\n }\n }\n // if ComputedValue `obj` actually changed it will be computed and propagated to its observers.\n // and `derivation` is an observer of `obj`\n // invariantShouldCompute(derivation)\n if (derivation.dependenciesState_ === IDerivationState_.STALE_) {\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return true;\n }\n }\n }\n changeDependenciesStateTo0(derivation);\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return false;\n }\n }\n}\nfunction isComputingDerivation() {\n return globalState.trackingDerivation !== null; // filter out actions inside computations\n}\nfunction checkIfStateModificationsAreAllowed(atom) {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n }\n var hasObservers = atom.observers_.size > 0;\n // Should not be possible to change observed state outside strict mode, except during initialization, see #563\n if (!globalState.allowStateChanges && (hasObservers || globalState.enforceActions === \"always\")) {\n console.warn(\"[MobX] \" + (globalState.enforceActions ? \"Since strict-mode is enabled, changing (observed) observable values without using an action is not allowed. Tried to modify: \" : \"Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, a computed value or the render function of a React component? You can wrap side effects in 'runInAction' (or decorate functions with 'action') if needed. Tried to modify: \") + atom.name_);\n }\n}\nfunction checkIfStateReadsAreAllowed(observable) {\n if (process.env.NODE_ENV !== \"production\" && !globalState.allowStateReads && globalState.observableRequiresReaction) {\n console.warn(\"[mobx] Observable '\" + observable.name_ + \"' being read outside a reactive context.\");\n }\n}\n/**\n * Executes the provided function `f` and tracks which observables are being accessed.\n * The tracking information is stored on the `derivation` object and the derivation is registered\n * as observer of any of the accessed observables.\n */\nfunction trackDerivedFunction(derivation, f, context) {\n var prevAllowStateReads = allowStateReadsStart(true);\n changeDependenciesStateTo0(derivation);\n // Preallocate array; will be trimmed by bindDependencies.\n derivation.newObserving_ = new Array(\n // Reserve constant space for initial dependencies, dynamic space otherwise.\n // See https://github.com/mobxjs/mobx/pull/3833\n derivation.runId_ === 0 ? 100 : derivation.observing_.length);\n derivation.unboundDepsCount_ = 0;\n derivation.runId_ = ++globalState.runId;\n var prevTracking = globalState.trackingDerivation;\n globalState.trackingDerivation = derivation;\n globalState.inBatch++;\n var result;\n if (globalState.disableErrorBoundaries === true) {\n result = f.call(context);\n } else {\n try {\n result = f.call(context);\n } catch (e) {\n result = new CaughtException(e);\n }\n }\n globalState.inBatch--;\n globalState.trackingDerivation = prevTracking;\n bindDependencies(derivation);\n warnAboutDerivationWithoutDependencies(derivation);\n allowStateReadsEnd(prevAllowStateReads);\n return result;\n}\nfunction warnAboutDerivationWithoutDependencies(derivation) {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n }\n if (derivation.observing_.length !== 0) {\n return;\n }\n if (typeof derivation.requiresObservable_ === \"boolean\" ? derivation.requiresObservable_ : globalState.reactionRequiresObservable) {\n console.warn(\"[mobx] Derivation '\" + derivation.name_ + \"' is created/updated without reading any observable value.\");\n }\n}\n/**\n * diffs newObserving with observing.\n * update observing to be newObserving with unique observables\n * notify observers that become observed/unobserved\n */\nfunction bindDependencies(derivation) {\n // invariant(derivation.dependenciesState !== IDerivationState.NOT_TRACKING, \"INTERNAL ERROR bindDependencies expects derivation.dependenciesState !== -1\");\n var prevObserving = derivation.observing_;\n var observing = derivation.observing_ = derivation.newObserving_;\n var lowestNewObservingDerivationState = IDerivationState_.UP_TO_DATE_;\n // Go through all new observables and check diffValue: (this list can contain duplicates):\n // 0: first occurrence, change to 1 and keep it\n // 1: extra occurrence, drop it\n var i0 = 0,\n l = derivation.unboundDepsCount_;\n for (var i = 0; i < l; i++) {\n var dep = observing[i];\n if (dep.diffValue === 0) {\n dep.diffValue = 1;\n if (i0 !== i) {\n observing[i0] = dep;\n }\n i0++;\n }\n // Upcast is 'safe' here, because if dep is IObservable, `dependenciesState` will be undefined,\n // not hitting the condition\n if (dep.dependenciesState_ > lowestNewObservingDerivationState) {\n lowestNewObservingDerivationState = dep.dependenciesState_;\n }\n }\n observing.length = i0;\n derivation.newObserving_ = null; // newObserving shouldn't be needed outside tracking (statement moved down to work around FF bug, see #614)\n // Go through all old observables and check diffValue: (it is unique after last bindDependencies)\n // 0: it's not in new observables, unobserve it\n // 1: it keeps being observed, don't want to notify it. change to 0\n l = prevObserving.length;\n while (l--) {\n var _dep = prevObserving[l];\n if (_dep.diffValue === 0) {\n removeObserver(_dep, derivation);\n }\n _dep.diffValue = 0;\n }\n // Go through all new observables and check diffValue: (now it should be unique)\n // 0: it was set to 0 in last loop. don't need to do anything.\n // 1: it wasn't observed, let's observe it. set back to 0\n while (i0--) {\n var _dep2 = observing[i0];\n if (_dep2.diffValue === 1) {\n _dep2.diffValue = 0;\n addObserver(_dep2, derivation);\n }\n }\n // Some new observed derivations may become stale during this derivation computation\n // so they have had no chance to propagate staleness (#916)\n if (lowestNewObservingDerivationState !== IDerivationState_.UP_TO_DATE_) {\n derivation.dependenciesState_ = lowestNewObservingDerivationState;\n derivation.onBecomeStale_();\n }\n}\nfunction clearObserving(derivation) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR clearObserving should be called only inside batch\");\n var obs = derivation.observing_;\n derivation.observing_ = [];\n var i = obs.length;\n while (i--) {\n removeObserver(obs[i], derivation);\n }\n derivation.dependenciesState_ = IDerivationState_.NOT_TRACKING_;\n}\nfunction untracked(action) {\n var prev = untrackedStart();\n try {\n return action();\n } finally {\n untrackedEnd(prev);\n }\n}\nfunction untrackedStart() {\n var prev = globalState.trackingDerivation;\n globalState.trackingDerivation = null;\n return prev;\n}\nfunction untrackedEnd(prev) {\n globalState.trackingDerivation = prev;\n}\nfunction allowStateReadsStart(allowStateReads) {\n var prev = globalState.allowStateReads;\n globalState.allowStateReads = allowStateReads;\n return prev;\n}\nfunction allowStateReadsEnd(prev) {\n globalState.allowStateReads = prev;\n}\n/**\n * needed to keep `lowestObserverState` correct. when changing from (2 or 1) to 0\n *\n */\nfunction changeDependenciesStateTo0(derivation) {\n if (derivation.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n return;\n }\n derivation.dependenciesState_ = IDerivationState_.UP_TO_DATE_;\n var obs = derivation.observing_;\n var i = obs.length;\n while (i--) {\n obs[i].lowestObserverState_ = IDerivationState_.UP_TO_DATE_;\n }\n}\n\n/**\n * These values will persist if global state is reset\n */\nvar persistentKeys = [\"mobxGuid\", \"spyListeners\", \"enforceActions\", \"computedRequiresReaction\", \"reactionRequiresObservable\", \"observableRequiresReaction\", \"allowStateReads\", \"disableErrorBoundaries\", \"runId\", \"UNCHANGED\", \"useProxies\"];\nvar MobXGlobals = function MobXGlobals() {\n /**\n * MobXGlobals version.\n * MobX compatiblity with other versions loaded in memory as long as this version matches.\n * It indicates that the global state still stores similar information\n *\n * N.B: this version is unrelated to the package version of MobX, and is only the version of the\n * internal state storage of MobX, and can be the same across many different package versions\n */\n this.version = 6;\n /**\n * globally unique token to signal unchanged\n */\n this.UNCHANGED = {};\n /**\n * Currently running derivation\n */\n this.trackingDerivation = null;\n /**\n * Currently running reaction. This determines if we currently have a reactive context.\n * (Tracking derivation is also set for temporal tracking of computed values inside actions,\n * but trackingReaction can only be set by a form of Reaction)\n */\n this.trackingContext = null;\n /**\n * Each time a derivation is tracked, it is assigned a unique run-id\n */\n this.runId = 0;\n /**\n * 'guid' for general purpose. Will be persisted amongst resets.\n */\n this.mobxGuid = 0;\n /**\n * Are we in a batch block? (and how many of them)\n */\n this.inBatch = 0;\n /**\n * Observables that don't have observers anymore, and are about to be\n * suspended, unless somebody else accesses it in the same batch\n *\n * @type {IObservable[]}\n */\n this.pendingUnobservations = [];\n /**\n * List of scheduled, not yet executed, reactions.\n */\n this.pendingReactions = [];\n /**\n * Are we currently processing reactions?\n */\n this.isRunningReactions = false;\n /**\n * Is it allowed to change observables at this point?\n * In general, MobX doesn't allow that when running computations and React.render.\n * To ensure that those functions stay pure.\n */\n this.allowStateChanges = false;\n /**\n * Is it allowed to read observables at this point?\n * Used to hold the state needed for `observableRequiresReaction`\n */\n this.allowStateReads = true;\n /**\n * If strict mode is enabled, state changes are by default not allowed\n */\n this.enforceActions = true;\n /**\n * Spy callbacks\n */\n this.spyListeners = [];\n /**\n * Globally attached error handlers that react specifically to errors in reactions\n */\n this.globalReactionErrorHandlers = [];\n /**\n * Warn if computed values are accessed outside a reactive context\n */\n this.computedRequiresReaction = false;\n /**\n * (Experimental)\n * Warn if you try to create to derivation / reactive context without accessing any observable.\n */\n this.reactionRequiresObservable = false;\n /**\n * (Experimental)\n * Warn if observables are accessed outside a reactive context\n */\n this.observableRequiresReaction = false;\n /*\n * Don't catch and rethrow exceptions. This is useful for inspecting the state of\n * the stack when an exception occurs while debugging.\n */\n this.disableErrorBoundaries = false;\n /*\n * If true, we are already handling an exception in an action. Any errors in reactions should be suppressed, as\n * they are not the cause, see: https://github.com/mobxjs/mobx/issues/1836\n */\n this.suppressReactionErrors = false;\n this.useProxies = true;\n /*\n * print warnings about code that would fail if proxies weren't available\n */\n this.verifyProxies = false;\n /**\n * False forces all object's descriptors to\n * writable: true\n * configurable: true\n */\n this.safeDescriptors = true;\n};\nvar canMergeGlobalState = true;\nvar isolateCalled = false;\nvar globalState = /*#__PURE__*/function () {\n var global = /*#__PURE__*/getGlobal();\n if (global.__mobxInstanceCount > 0 && !global.__mobxGlobals) {\n canMergeGlobalState = false;\n }\n if (global.__mobxGlobals && global.__mobxGlobals.version !== new MobXGlobals().version) {\n canMergeGlobalState = false;\n }\n if (!canMergeGlobalState) {\n // Because this is a IIFE we need to let isolateCalled a chance to change\n // so we run it after the event loop completed at least 1 iteration\n setTimeout(function () {\n if (!isolateCalled) {\n die(35);\n }\n }, 1);\n return new MobXGlobals();\n } else if (global.__mobxGlobals) {\n global.__mobxInstanceCount += 1;\n if (!global.__mobxGlobals.UNCHANGED) {\n global.__mobxGlobals.UNCHANGED = {};\n } // make merge backward compatible\n return global.__mobxGlobals;\n } else {\n global.__mobxInstanceCount = 1;\n return global.__mobxGlobals = /*#__PURE__*/new MobXGlobals();\n }\n}();\nfunction isolateGlobalState() {\n if (globalState.pendingReactions.length || globalState.inBatch || globalState.isRunningReactions) {\n die(36);\n }\n isolateCalled = true;\n if (canMergeGlobalState) {\n var global = getGlobal();\n if (--global.__mobxInstanceCount === 0) {\n global.__mobxGlobals = undefined;\n }\n globalState = new MobXGlobals();\n }\n}\nfunction getGlobalState() {\n return globalState;\n}\n/**\n * For testing purposes only; this will break the internal state of existing observables,\n * but can be used to get back at a stable state after throwing errors\n */\nfunction resetGlobalState() {\n var defaultGlobals = new MobXGlobals();\n for (var key in defaultGlobals) {\n if (persistentKeys.indexOf(key) === -1) {\n globalState[key] = defaultGlobals[key];\n }\n }\n globalState.allowStateChanges = !globalState.enforceActions;\n}\n\nfunction hasObservers(observable) {\n return observable.observers_ && observable.observers_.size > 0;\n}\nfunction getObservers(observable) {\n return observable.observers_;\n}\n// function invariantObservers(observable: IObservable) {\n// const list = observable.observers\n// const map = observable.observersIndexes\n// const l = list.length\n// for (let i = 0; i < l; i++) {\n// const id = list[i].__mapid\n// if (i) {\n// invariant(map[id] === i, \"INTERNAL ERROR maps derivation.__mapid to index in list\") // for performance\n// } else {\n// invariant(!(id in map), \"INTERNAL ERROR observer on index 0 shouldn't be held in map.\") // for performance\n// }\n// }\n// invariant(\n// list.length === 0 || Object.keys(map).length === list.length - 1,\n// \"INTERNAL ERROR there is no junk in map\"\n// )\n// }\nfunction addObserver(observable, node) {\n // invariant(node.dependenciesState !== -1, \"INTERNAL ERROR, can add only dependenciesState !== -1\");\n // invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR add already added node\");\n // invariantObservers(observable);\n observable.observers_.add(node);\n if (observable.lowestObserverState_ > node.dependenciesState_) {\n observable.lowestObserverState_ = node.dependenciesState_;\n }\n // invariantObservers(observable);\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR didn't add node\");\n}\nfunction removeObserver(observable, node) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR, remove should be called only inside batch\");\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR remove already removed node\");\n // invariantObservers(observable);\n observable.observers_[\"delete\"](node);\n if (observable.observers_.size === 0) {\n // deleting last observer\n queueForUnobservation(observable);\n }\n // invariantObservers(observable);\n // invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR remove already removed node2\");\n}\nfunction queueForUnobservation(observable) {\n if (observable.isPendingUnobservation === false) {\n // invariant(observable._observers.length === 0, \"INTERNAL ERROR, should only queue for unobservation unobserved observables\");\n observable.isPendingUnobservation = true;\n globalState.pendingUnobservations.push(observable);\n }\n}\n/**\n * Batch starts a transaction, at least for purposes of memoizing ComputedValues when nothing else does.\n * During a batch `onBecomeUnobserved` will be called at most once per observable.\n * Avoids unnecessary recalculations.\n */\nfunction startBatch() {\n globalState.inBatch++;\n}\nfunction endBatch() {\n if (--globalState.inBatch === 0) {\n runReactions();\n // the batch is actually about to finish, all unobserving should happen here.\n var list = globalState.pendingUnobservations;\n for (var i = 0; i < list.length; i++) {\n var observable = list[i];\n observable.isPendingUnobservation = false;\n if (observable.observers_.size === 0) {\n if (observable.isBeingObserved) {\n // if this observable had reactive observers, trigger the hooks\n observable.isBeingObserved = false;\n observable.onBUO();\n }\n if (observable instanceof ComputedValue) {\n // computed values are automatically teared down when the last observer leaves\n // this process happens recursively, this computed might be the last observabe of another, etc..\n observable.suspend_();\n }\n }\n }\n globalState.pendingUnobservations = [];\n }\n}\nfunction reportObserved(observable) {\n checkIfStateReadsAreAllowed(observable);\n var derivation = globalState.trackingDerivation;\n if (derivation !== null) {\n /**\n * Simple optimization, give each derivation run an unique id (runId)\n * Check if last time this observable was accessed the same runId is used\n * if this is the case, the relation is already known\n */\n if (derivation.runId_ !== observable.lastAccessedBy_) {\n observable.lastAccessedBy_ = derivation.runId_;\n // Tried storing newObserving, or observing, or both as Set, but performance didn't come close...\n derivation.newObserving_[derivation.unboundDepsCount_++] = observable;\n if (!observable.isBeingObserved && globalState.trackingContext) {\n observable.isBeingObserved = true;\n observable.onBO();\n }\n }\n return observable.isBeingObserved;\n } else if (observable.observers_.size === 0 && globalState.inBatch > 0) {\n queueForUnobservation(observable);\n }\n return false;\n}\n// function invariantLOS(observable: IObservable, msg: string) {\n// // it's expensive so better not run it in produciton. but temporarily helpful for testing\n// const min = getObservers(observable).reduce((a, b) => Math.min(a, b.dependenciesState), 2)\n// if (min >= observable.lowestObserverState) return // <- the only assumption about `lowestObserverState`\n// throw new Error(\n// \"lowestObserverState is wrong for \" +\n// msg +\n// \" because \" +\n// min +\n// \" < \" +\n// observable.lowestObserverState\n// )\n// }\n/**\n * NOTE: current propagation mechanism will in case of self reruning autoruns behave unexpectedly\n * It will propagate changes to observers from previous run\n * It's hard or maybe impossible (with reasonable perf) to get it right with current approach\n * Hopefully self reruning autoruns aren't a feature people should depend on\n * Also most basic use cases should be ok\n */\n// Called by Atom when its value changes\nfunction propagateChanged(observable) {\n // invariantLOS(observable, \"changed start\");\n if (observable.lowestObserverState_ === IDerivationState_.STALE_) {\n return;\n }\n observable.lowestObserverState_ = IDerivationState_.STALE_;\n // Ideally we use for..of here, but the downcompiled version is really slow...\n observable.observers_.forEach(function (d) {\n if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n if (process.env.NODE_ENV !== \"production\" && d.isTracing_ !== TraceMode.NONE) {\n logTraceInfo(d, observable);\n }\n d.onBecomeStale_();\n }\n d.dependenciesState_ = IDerivationState_.STALE_;\n });\n // invariantLOS(observable, \"changed end\");\n}\n// Called by ComputedValue when it recalculate and its value changed\nfunction propagateChangeConfirmed(observable) {\n // invariantLOS(observable, \"confirmed start\");\n if (observable.lowestObserverState_ === IDerivationState_.STALE_) {\n return;\n }\n observable.lowestObserverState_ = IDerivationState_.STALE_;\n observable.observers_.forEach(function (d) {\n if (d.dependenciesState_ === IDerivationState_.POSSIBLY_STALE_) {\n d.dependenciesState_ = IDerivationState_.STALE_;\n if (process.env.NODE_ENV !== \"production\" && d.isTracing_ !== TraceMode.NONE) {\n logTraceInfo(d, observable);\n }\n } else if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_ // this happens during computing of `d`, just keep lowestObserverState up to date.\n ) {\n observable.lowestObserverState_ = IDerivationState_.UP_TO_DATE_;\n }\n });\n // invariantLOS(observable, \"confirmed end\");\n}\n// Used by computed when its dependency changed, but we don't wan't to immediately recompute.\nfunction propagateMaybeChanged(observable) {\n // invariantLOS(observable, \"maybe start\");\n if (observable.lowestObserverState_ !== IDerivationState_.UP_TO_DATE_) {\n return;\n }\n observable.lowestObserverState_ = IDerivationState_.POSSIBLY_STALE_;\n observable.observers_.forEach(function (d) {\n if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n d.dependenciesState_ = IDerivationState_.POSSIBLY_STALE_;\n d.onBecomeStale_();\n }\n });\n // invariantLOS(observable, \"maybe end\");\n}\nfunction logTraceInfo(derivation, observable) {\n console.log(\"[mobx.trace] '\" + derivation.name_ + \"' is invalidated due to a change in: '\" + observable.name_ + \"'\");\n if (derivation.isTracing_ === TraceMode.BREAK) {\n var lines = [];\n printDepTree(getDependencyTree(derivation), lines, 1);\n // prettier-ignore\n new Function(\"debugger;\\n/*\\nTracing '\" + derivation.name_ + \"'\\n\\nYou are entering this break point because derivation '\" + derivation.name_ + \"' is being traced and '\" + observable.name_ + \"' is now forcing it to update.\\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\\n\\n\" + (derivation instanceof ComputedValue ? derivation.derivation.toString().replace(/[*]\\//g, \"/\") : \"\") + \"\\n\\nThe dependencies for this derivation are:\\n\\n\" + lines.join(\"\\n\") + \"\\n*/\\n \")();\n }\n}\nfunction printDepTree(tree, lines, depth) {\n if (lines.length >= 1000) {\n lines.push(\"(and many more)\");\n return;\n }\n lines.push(\"\" + \"\\t\".repeat(depth - 1) + tree.name);\n if (tree.dependencies) {\n tree.dependencies.forEach(function (child) {\n return printDepTree(child, lines, depth + 1);\n });\n }\n}\n\nvar Reaction = /*#__PURE__*/function () {\n function Reaction(name_, onInvalidate_, errorHandler_, requiresObservable_) {\n if (name_ === void 0) {\n name_ = process.env.NODE_ENV !== \"production\" ? \"Reaction@\" + getNextId() : \"Reaction\";\n }\n this.name_ = void 0;\n this.onInvalidate_ = void 0;\n this.errorHandler_ = void 0;\n this.requiresObservable_ = void 0;\n this.observing_ = [];\n // nodes we are looking at. Our value depends on these nodes\n this.newObserving_ = [];\n this.dependenciesState_ = IDerivationState_.NOT_TRACKING_;\n this.runId_ = 0;\n this.unboundDepsCount_ = 0;\n this.flags_ = 0;\n this.isTracing_ = TraceMode.NONE;\n this.name_ = name_;\n this.onInvalidate_ = onInvalidate_;\n this.errorHandler_ = errorHandler_;\n this.requiresObservable_ = requiresObservable_;\n }\n var _proto = Reaction.prototype;\n _proto.onBecomeStale_ = function onBecomeStale_() {\n this.schedule_();\n };\n _proto.schedule_ = function schedule_() {\n if (!this.isScheduled) {\n this.isScheduled = true;\n globalState.pendingReactions.push(this);\n runReactions();\n }\n }\n /**\n * internal, use schedule() if you intend to kick off a reaction\n */;\n _proto.runReaction_ = function runReaction_() {\n if (!this.isDisposed) {\n startBatch();\n this.isScheduled = false;\n var prev = globalState.trackingContext;\n globalState.trackingContext = this;\n if (shouldCompute(this)) {\n this.isTrackPending = true;\n try {\n this.onInvalidate_();\n if (process.env.NODE_ENV !== \"production\" && this.isTrackPending && isSpyEnabled()) {\n // onInvalidate didn't trigger track right away..\n spyReport({\n name: this.name_,\n type: \"scheduled-reaction\"\n });\n }\n } catch (e) {\n this.reportExceptionInDerivation_(e);\n }\n }\n globalState.trackingContext = prev;\n endBatch();\n }\n };\n _proto.track = function track(fn) {\n if (this.isDisposed) {\n return;\n // console.warn(\"Reaction already disposed\") // Note: Not a warning / error in mobx 4 either\n }\n startBatch();\n var notify = isSpyEnabled();\n var startTime;\n if (process.env.NODE_ENV !== \"production\" && notify) {\n startTime = Date.now();\n spyReportStart({\n name: this.name_,\n type: \"reaction\"\n });\n }\n this.isRunning = true;\n var prevReaction = globalState.trackingContext; // reactions could create reactions...\n globalState.trackingContext = this;\n var result = trackDerivedFunction(this, fn, undefined);\n globalState.trackingContext = prevReaction;\n this.isRunning = false;\n this.isTrackPending = false;\n if (this.isDisposed) {\n // disposed during last run. Clean up everything that was bound after the dispose call.\n clearObserving(this);\n }\n if (isCaughtException(result)) {\n this.reportExceptionInDerivation_(result.cause);\n }\n if (process.env.NODE_ENV !== \"production\" && notify) {\n spyReportEnd({\n time: Date.now() - startTime\n });\n }\n endBatch();\n };\n _proto.reportExceptionInDerivation_ = function reportExceptionInDerivation_(error) {\n var _this = this;\n if (this.errorHandler_) {\n this.errorHandler_(error, this);\n return;\n }\n if (globalState.disableErrorBoundaries) {\n throw error;\n }\n var message = process.env.NODE_ENV !== \"production\" ? \"[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '\" + this + \"'\" : \"[mobx] uncaught error in '\" + this + \"'\";\n if (!globalState.suppressReactionErrors) {\n console.error(message, error);\n /** If debugging brought you here, please, read the above message :-). Tnx! */\n } else if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[mobx] (error in reaction '\" + this.name_ + \"' suppressed, fix error of causing action below)\");\n } // prettier-ignore\n if (process.env.NODE_ENV !== \"production\" && isSpyEnabled()) {\n spyReport({\n type: \"error\",\n name: this.name_,\n message: message,\n error: \"\" + error\n });\n }\n globalState.globalReactionErrorHandlers.forEach(function (f) {\n return f(error, _this);\n });\n };\n _proto.dispose = function dispose() {\n if (!this.isDisposed) {\n this.isDisposed = true;\n if (!this.isRunning) {\n // if disposed while running, clean up later. Maybe not optimal, but rare case\n startBatch();\n clearObserving(this);\n endBatch();\n }\n }\n };\n _proto.getDisposer_ = function getDisposer_(abortSignal) {\n var _this2 = this;\n var dispose = function dispose() {\n _this2.dispose();\n abortSignal == null || abortSignal.removeEventListener == null || abortSignal.removeEventListener(\"abort\", dispose);\n };\n abortSignal == null || abortSignal.addEventListener == null || abortSignal.addEventListener(\"abort\", dispose);\n dispose[$mobx] = this;\n return dispose;\n };\n _proto.toString = function toString() {\n return \"Reaction[\" + this.name_ + \"]\";\n };\n _proto.trace = function trace$1(enterBreakPoint) {\n if (enterBreakPoint === void 0) {\n enterBreakPoint = false;\n }\n trace(this, enterBreakPoint);\n };\n return _createClass(Reaction, [{\n key: \"isDisposed\",\n get: function get() {\n return getFlag(this.flags_, Reaction.isDisposedMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, Reaction.isDisposedMask_, newValue);\n }\n }, {\n key: \"isScheduled\",\n get: function get() {\n return getFlag(this.flags_, Reaction.isScheduledMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, Reaction.isScheduledMask_, newValue);\n }\n }, {\n key: \"isTrackPending\",\n get: function get() {\n return getFlag(this.flags_, Reaction.isTrackPendingMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, Reaction.isTrackPendingMask_, newValue);\n }\n }, {\n key: \"isRunning\",\n get: function get() {\n return getFlag(this.flags_, Reaction.isRunningMask_);\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, Reaction.isRunningMask_, newValue);\n }\n }, {\n key: \"diffValue\",\n get: function get() {\n return getFlag(this.flags_, Reaction.diffValueMask_) ? 1 : 0;\n },\n set: function set(newValue) {\n this.flags_ = setFlag(this.flags_, Reaction.diffValueMask_, newValue === 1 ? true : false);\n }\n }]);\n}();\nReaction.isDisposedMask_ = 1;\nReaction.isScheduledMask_ = 2;\nReaction.isTrackPendingMask_ = 4;\nReaction.isRunningMask_ = 8;\nReaction.diffValueMask_ = 16;\nfunction onReactionError(handler) {\n globalState.globalReactionErrorHandlers.push(handler);\n return function () {\n var idx = globalState.globalReactionErrorHandlers.indexOf(handler);\n if (idx >= 0) {\n globalState.globalReactionErrorHandlers.splice(idx, 1);\n }\n };\n}\n/**\n * Magic number alert!\n * Defines within how many times a reaction is allowed to re-trigger itself\n * until it is assumed that this is gonna be a never ending loop...\n */\nvar MAX_REACTION_ITERATIONS = 100;\nvar reactionScheduler = function reactionScheduler(f) {\n return f();\n};\nfunction runReactions() {\n // Trampolining, if runReactions are already running, new reactions will be picked up\n if (globalState.inBatch > 0 || globalState.isRunningReactions) {\n return;\n }\n reactionScheduler(runReactionsHelper);\n}\nfunction runReactionsHelper() {\n globalState.isRunningReactions = true;\n var allReactions = globalState.pendingReactions;\n var iterations = 0;\n // While running reactions, new reactions might be triggered.\n // Hence we work with two variables and check whether\n // we converge to no remaining reactions after a while.\n while (allReactions.length > 0) {\n if (++iterations === MAX_REACTION_ITERATIONS) {\n console.error(process.env.NODE_ENV !== \"production\" ? \"Reaction doesn't converge to a stable state after \" + MAX_REACTION_ITERATIONS + \" iterations.\" + (\" Probably there is a cycle in the reactive function: \" + allReactions[0]) : \"[mobx] cycle in reaction: \" + allReactions[0]);\n allReactions.splice(0); // clear reactions\n }\n var remainingReactions = allReactions.splice(0);\n for (var i = 0, l = remainingReactions.length; i < l; i++) {\n remainingReactions[i].runReaction_();\n }\n }\n globalState.isRunningReactions = false;\n}\nvar isReaction = /*#__PURE__*/createInstanceofPredicate(\"Reaction\", Reaction);\nfunction setReactionScheduler(fn) {\n var baseScheduler = reactionScheduler;\n reactionScheduler = function reactionScheduler(f) {\n return fn(function () {\n return baseScheduler(f);\n });\n };\n}\n\nfunction isSpyEnabled() {\n return process.env.NODE_ENV !== \"production\" && !!globalState.spyListeners.length;\n}\nfunction spyReport(event) {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n } // dead code elimination can do the rest\n if (!globalState.spyListeners.length) {\n return;\n }\n var listeners = globalState.spyListeners;\n for (var i = 0, l = listeners.length; i < l; i++) {\n listeners[i](event);\n }\n}\nfunction spyReportStart(event) {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n }\n var change = _extends({}, event, {\n spyReportStart: true\n });\n spyReport(change);\n}\nvar END_EVENT = {\n type: \"report-end\",\n spyReportEnd: true\n};\nfunction spyReportEnd(change) {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n }\n if (change) {\n spyReport(_extends({}, change, {\n type: \"report-end\",\n spyReportEnd: true\n }));\n } else {\n spyReport(END_EVENT);\n }\n}\nfunction spy(listener) {\n if (!(process.env.NODE_ENV !== \"production\")) {\n console.warn(\"[mobx.spy] Is a no-op in production builds\");\n return function () {};\n } else {\n globalState.spyListeners.push(listener);\n return once(function () {\n globalState.spyListeners = globalState.spyListeners.filter(function (l) {\n return l !== listener;\n });\n });\n }\n}\n\nvar ACTION = \"action\";\nvar ACTION_BOUND = \"action.bound\";\nvar AUTOACTION = \"autoAction\";\nvar AUTOACTION_BOUND = \"autoAction.bound\";\nvar DEFAULT_ACTION_NAME = \"<unnamed action>\";\nvar actionAnnotation = /*#__PURE__*/createActionAnnotation(ACTION);\nvar actionBoundAnnotation = /*#__PURE__*/createActionAnnotation(ACTION_BOUND, {\n bound: true\n});\nvar autoActionAnnotation = /*#__PURE__*/createActionAnnotation(AUTOACTION, {\n autoAction: true\n});\nvar autoActionBoundAnnotation = /*#__PURE__*/createActionAnnotation(AUTOACTION_BOUND, {\n autoAction: true,\n bound: true\n});\nfunction createActionFactory(autoAction) {\n var res = function action(arg1, arg2) {\n // action(fn() {})\n if (isFunction(arg1)) {\n return createAction(arg1.name || DEFAULT_ACTION_NAME, arg1, autoAction);\n }\n // action(\"name\", fn() {})\n if (isFunction(arg2)) {\n return createAction(arg1, arg2, autoAction);\n }\n // @action (2022.3 Decorators)\n if (is20223Decorator(arg2)) {\n return (autoAction ? autoActionAnnotation : actionAnnotation).decorate_20223_(arg1, arg2);\n }\n // @action\n if (isStringish(arg2)) {\n return storeAnnotation(arg1, arg2, autoAction ? autoActionAnnotation : actionAnnotation);\n }\n // action(\"name\") & @action(\"name\")\n if (isStringish(arg1)) {\n return createDecoratorAnnotation(createActionAnnotation(autoAction ? AUTOACTION : ACTION, {\n name: arg1,\n autoAction: autoAction\n }));\n }\n if (process.env.NODE_ENV !== \"production\") {\n die(\"Invalid arguments for `action`\");\n }\n };\n return res;\n}\nvar action = /*#__PURE__*/createActionFactory(false);\nObject.assign(action, actionAnnotation);\nvar autoAction = /*#__PURE__*/createActionFactory(true);\nObject.assign(autoAction, autoActionAnnotation);\naction.bound = /*#__PURE__*/createDecoratorAnnotation(actionBoundAnnotation);\nautoAction.bound = /*#__PURE__*/createDecoratorAnnotation(autoActionBoundAnnotation);\nfunction runInAction(fn) {\n return executeAction(fn.name || DEFAULT_ACTION_NAME, false, fn, this, undefined);\n}\nfunction isAction(thing) {\n return isFunction(thing) && thing.isMobxAction === true;\n}\n\n/**\n * Creates a named reactive view and keeps it alive, so that the view is always\n * updated if one of the dependencies changes, even when the view is not further used by something else.\n * @param view The reactive view\n * @returns disposer function, which can be used to stop the view from being updated in the future.\n */\nfunction autorun(view, opts) {\n var _opts$name, _opts, _opts2, _opts3;\n if (opts === void 0) {\n opts = EMPTY_OBJECT;\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!isFunction(view)) {\n die(\"Autorun expects a function as first argument\");\n }\n if (isAction(view)) {\n die(\"Autorun does not accept actions since actions are untrackable\");\n }\n }\n var name = (_opts$name = (_opts = opts) == null ? void 0 : _opts.name) != null ? _opts$name : process.env.NODE_ENV !== \"production\" ? view.name || \"Autorun@\" + getNextId() : \"Autorun\";\n var runSync = !opts.scheduler && !opts.delay;\n var reaction;\n if (runSync) {\n // normal autorun\n reaction = new Reaction(name, function () {\n this.track(reactionRunner);\n }, opts.onError, opts.requiresObservable);\n } else {\n var scheduler = createSchedulerFromOptions(opts);\n // debounced autorun\n var isScheduled = false;\n reaction = new Reaction(name, function () {\n if (!isScheduled) {\n isScheduled = true;\n scheduler(function () {\n isScheduled = false;\n if (!reaction.isDisposed) {\n reaction.track(reactionRunner);\n }\n });\n }\n }, opts.onError, opts.requiresObservable);\n }\n function reactionRunner() {\n view(reaction);\n }\n if (!((_opts2 = opts) != null && (_opts2 = _opts2.signal) != null && _opts2.aborted)) {\n reaction.schedule_();\n }\n return reaction.getDisposer_((_opts3 = opts) == null ? void 0 : _opts3.signal);\n}\nvar run = function run(f) {\n return f();\n};\nfunction createSchedulerFromOptions(opts) {\n return opts.scheduler ? opts.scheduler : opts.delay ? function (f) {\n return setTimeout(f, opts.delay);\n } : run;\n}\nfunction reaction(expression, effect, opts) {\n var _opts$name2, _opts4, _opts5;\n if (opts === void 0) {\n opts = EMPTY_OBJECT;\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!isFunction(expression) || !isFunction(effect)) {\n die(\"First and second argument to reaction should be functions\");\n }\n if (!isPlainObject(opts)) {\n die(\"Third argument of reactions should be an object\");\n }\n }\n var name = (_opts$name2 = opts.name) != null ? _opts$name2 : process.env.NODE_ENV !== \"production\" ? \"Reaction@\" + getNextId() : \"Reaction\";\n var effectAction = action(name, opts.onError ? wrapErrorHandler(opts.onError, effect) : effect);\n var runSync = !opts.scheduler && !opts.delay;\n var scheduler = createSchedulerFromOptions(opts);\n var firstTime = true;\n var isScheduled = false;\n var value;\n var equals = opts.compareStructural ? comparer.structural : opts.equals || comparer[\"default\"];\n var r = new Reaction(name, function () {\n if (firstTime || runSync) {\n reactionRunner();\n } else if (!isScheduled) {\n isScheduled = true;\n scheduler(reactionRunner);\n }\n }, opts.onError, opts.requiresObservable);\n function reactionRunner() {\n isScheduled = false;\n if (r.isDisposed) {\n return;\n }\n var changed = false;\n var oldValue = value;\n r.track(function () {\n var nextValue = allowStateChanges(false, function () {\n return expression(r);\n });\n changed = firstTime || !equals(value, nextValue);\n value = nextValue;\n });\n if (firstTime && opts.fireImmediately) {\n effectAction(value, oldValue, r);\n } else if (!firstTime && changed) {\n effectAction(value, oldValue, r);\n }\n firstTime = false;\n }\n if (!((_opts4 = opts) != null && (_opts4 = _opts4.signal) != null && _opts4.aborted)) {\n r.schedule_();\n }\n return r.getDisposer_((_opts5 = opts) == null ? void 0 : _opts5.signal);\n}\nfunction wrapErrorHandler(errorHandler, baseFn) {\n return function () {\n try {\n return baseFn.apply(this, arguments);\n } catch (e) {\n errorHandler.call(this, e);\n }\n };\n}\n\nvar ON_BECOME_OBSERVED = \"onBO\";\nvar ON_BECOME_UNOBSERVED = \"onBUO\";\nfunction onBecomeObserved(thing, arg2, arg3) {\n return interceptHook(ON_BECOME_OBSERVED, thing, arg2, arg3);\n}\nfunction onBecomeUnobserved(thing, arg2, arg3) {\n return interceptHook(ON_BECOME_UNOBSERVED, thing, arg2, arg3);\n}\nfunction interceptHook(hook, thing, arg2, arg3) {\n var atom = typeof arg3 === \"function\" ? getAtom(thing, arg2) : getAtom(thing);\n var cb = isFunction(arg3) ? arg3 : arg2;\n var listenersKey = hook + \"L\";\n if (atom[listenersKey]) {\n atom[listenersKey].add(cb);\n } else {\n atom[listenersKey] = new Set([cb]);\n }\n return function () {\n var hookListeners = atom[listenersKey];\n if (hookListeners) {\n hookListeners[\"delete\"](cb);\n if (hookListeners.size === 0) {\n delete atom[listenersKey];\n }\n }\n };\n}\n\nvar NEVER = \"never\";\nvar ALWAYS = \"always\";\nvar OBSERVED = \"observed\";\n// const IF_AVAILABLE = \"ifavailable\"\nfunction configure(options) {\n if (options.isolateGlobalState === true) {\n isolateGlobalState();\n }\n var useProxies = options.useProxies,\n enforceActions = options.enforceActions;\n if (useProxies !== undefined) {\n globalState.useProxies = useProxies === ALWAYS ? true : useProxies === NEVER ? false : typeof Proxy !== \"undefined\";\n }\n if (useProxies === \"ifavailable\") {\n globalState.verifyProxies = true;\n }\n if (enforceActions !== undefined) {\n var ea = enforceActions === ALWAYS ? ALWAYS : enforceActions === OBSERVED;\n globalState.enforceActions = ea;\n globalState.allowStateChanges = ea === true || ea === ALWAYS ? false : true;\n }\n [\"computedRequiresReaction\", \"reactionRequiresObservable\", \"observableRequiresReaction\", \"disableErrorBoundaries\", \"safeDescriptors\"].forEach(function (key) {\n if (key in options) {\n globalState[key] = !!options[key];\n }\n });\n globalState.allowStateReads = !globalState.observableRequiresReaction;\n if (process.env.NODE_ENV !== \"production\" && globalState.disableErrorBoundaries === true) {\n console.warn(\"WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled.\");\n }\n if (options.reactionScheduler) {\n setReactionScheduler(options.reactionScheduler);\n }\n}\n\nfunction extendObservable(target, properties, annotations, options) {\n if (process.env.NODE_ENV !== \"production\") {\n if (arguments.length > 4) {\n die(\"'extendObservable' expected 2-4 arguments\");\n }\n if (typeof target !== \"object\") {\n die(\"'extendObservable' expects an object as first argument\");\n }\n if (isObservableMap(target)) {\n die(\"'extendObservable' should not be used on maps, use map.merge instead\");\n }\n if (!isPlainObject(properties)) {\n die(\"'extendObservable' only accepts plain objects as second argument\");\n }\n if (isObservable(properties) || isObservable(annotations)) {\n die(\"Extending an object with another observable (object) is not supported\");\n }\n }\n // Pull descriptors first, so we don't have to deal with props added by administration ($mobx)\n var descriptors = getOwnPropertyDescriptors(properties);\n initObservable(function () {\n var adm = asObservableObject(target, options)[$mobx];\n ownKeys(descriptors).forEach(function (key) {\n adm.extend_(key, descriptors[key],\n // must pass \"undefined\" for { key: undefined }\n !annotations ? true : key in annotations ? annotations[key] : true);\n });\n });\n return target;\n}\n\nfunction getDependencyTree(thing, property) {\n return nodeToDependencyTree(getAtom(thing, property));\n}\nfunction nodeToDependencyTree(node) {\n var result = {\n name: node.name_\n };\n if (node.observing_ && node.observing_.length > 0) {\n result.dependencies = unique(node.observing_).map(nodeToDependencyTree);\n }\n return result;\n}\nfunction getObserverTree(thing, property) {\n return nodeToObserverTree(getAtom(thing, property));\n}\nfunction nodeToObserverTree(node) {\n var result = {\n name: node.name_\n };\n if (hasObservers(node)) {\n result.observers = Array.from(getObservers(node)).map(nodeToObserverTree);\n }\n return result;\n}\nfunction unique(list) {\n return Array.from(new Set(list));\n}\n\nvar generatorId = 0;\nfunction FlowCancellationError() {\n this.message = \"FLOW_CANCELLED\";\n}\nFlowCancellationError.prototype = /*#__PURE__*/Object.create(Error.prototype);\nfunction isFlowCancellationError(error) {\n return error instanceof FlowCancellationError;\n}\nvar flowAnnotation = /*#__PURE__*/createFlowAnnotation(\"flow\");\nvar flowBoundAnnotation = /*#__PURE__*/createFlowAnnotation(\"flow.bound\", {\n bound: true\n});\nvar flow = /*#__PURE__*/Object.assign(function flow(arg1, arg2) {\n // @flow (2022.3 Decorators)\n if (is20223Decorator(arg2)) {\n return flowAnnotation.decorate_20223_(arg1, arg2);\n }\n // @flow\n if (isStringish(arg2)) {\n return storeAnnotation(arg1, arg2, flowAnnotation);\n }\n // flow(fn)\n if (process.env.NODE_ENV !== \"production\" && arguments.length !== 1) {\n die(\"Flow expects single argument with generator function\");\n }\n var generator = arg1;\n var name = generator.name || \"<unnamed flow>\";\n // Implementation based on https://github.com/tj/co/blob/master/index.js\n var res = function res() {\n var ctx = this;\n var args = arguments;\n var runId = ++generatorId;\n var gen = action(name + \" - runid: \" + runId + \" - init\", generator).apply(ctx, args);\n var rejector;\n var pendingPromise = undefined;\n var promise = new Promise(function (resolve, reject) {\n var stepId = 0;\n rejector = reject;\n function onFulfilled(res) {\n pendingPromise = undefined;\n var ret;\n try {\n ret = action(name + \" - runid: \" + runId + \" - yield \" + stepId++, gen.next).call(gen, res);\n } catch (e) {\n return reject(e);\n }\n next(ret);\n }\n function onRejected(err) {\n pendingPromise = undefined;\n var ret;\n try {\n ret = action(name + \" - runid: \" + runId + \" - yield \" + stepId++, gen[\"throw\"]).call(gen, err);\n } catch (e) {\n return reject(e);\n }\n next(ret);\n }\n function next(ret) {\n if (isFunction(ret == null ? void 0 : ret.then)) {\n // an async iterator\n ret.then(next, reject);\n return;\n }\n if (ret.done) {\n return resolve(ret.value);\n }\n pendingPromise = Promise.resolve(ret.value);\n return pendingPromise.then(onFulfilled, onRejected);\n }\n onFulfilled(undefined); // kick off the process\n });\n promise.cancel = action(name + \" - runid: \" + runId + \" - cancel\", function () {\n try {\n if (pendingPromise) {\n cancelPromise(pendingPromise);\n }\n // Finally block can return (or yield) stuff..\n var _res = gen[\"return\"](undefined);\n // eat anything that promise would do, it's cancelled!\n var yieldedPromise = Promise.resolve(_res.value);\n yieldedPromise.then(noop, noop);\n cancelPromise(yieldedPromise); // maybe it can be cancelled :)\n // reject our original promise\n rejector(new FlowCancellationError());\n } catch (e) {\n rejector(e); // there could be a throwing finally block\n }\n });\n return promise;\n };\n res.isMobXFlow = true;\n return res;\n}, flowAnnotation);\nflow.bound = /*#__PURE__*/createDecoratorAnnotation(flowBoundAnnotation);\nfunction cancelPromise(promise) {\n if (isFunction(promise.cancel)) {\n promise.cancel();\n }\n}\nfunction flowResult(result) {\n return result; // just tricking TypeScript :)\n}\nfunction isFlow(fn) {\n return (fn == null ? void 0 : fn.isMobXFlow) === true;\n}\n\nfunction interceptReads(thing, propOrHandler, handler) {\n var target;\n if (isObservableMap(thing) || isObservableArray(thing) || isObservableValue(thing)) {\n target = getAdministration(thing);\n } else if (isObservableObject(thing)) {\n if (process.env.NODE_ENV !== \"production\" && !isStringish(propOrHandler)) {\n return die(\"InterceptReads can only be used with a specific property, not with an object in general\");\n }\n target = getAdministration(thing, propOrHandler);\n } else if (process.env.NODE_ENV !== \"production\") {\n return die(\"Expected observable map, object or array as first array\");\n }\n if (process.env.NODE_ENV !== \"production\" && target.dehancer !== undefined) {\n return die(\"An intercept reader was already established\");\n }\n target.dehancer = typeof propOrHandler === \"function\" ? propOrHandler : handler;\n return function () {\n target.dehancer = undefined;\n };\n}\n\nfunction intercept(thing, propOrHandler, handler) {\n if (isFunction(handler)) {\n return interceptProperty(thing, propOrHandler, handler);\n } else {\n return interceptInterceptable(thing, propOrHandler);\n }\n}\nfunction interceptInterceptable(thing, handler) {\n return getAdministration(thing).intercept_(handler);\n}\nfunction interceptProperty(thing, property, handler) {\n return getAdministration(thing, property).intercept_(handler);\n}\n\nfunction _isComputed(value, property) {\n if (property === undefined) {\n return isComputedValue(value);\n }\n if (isObservableObject(value) === false) {\n return false;\n }\n if (!value[$mobx].values_.has(property)) {\n return false;\n }\n var atom = getAtom(value, property);\n return isComputedValue(atom);\n}\nfunction isComputed(value) {\n if (process.env.NODE_ENV !== \"production\" && arguments.length > 1) {\n return die(\"isComputed expects only 1 argument. Use isComputedProp to inspect the observability of a property\");\n }\n return _isComputed(value);\n}\nfunction isComputedProp(value, propName) {\n if (process.env.NODE_ENV !== \"production\" && !isStringish(propName)) {\n return die(\"isComputed expected a property name as second argument\");\n }\n return _isComputed(value, propName);\n}\n\nfunction _isObservable(value, property) {\n if (!value) {\n return false;\n }\n if (property !== undefined) {\n if (process.env.NODE_ENV !== \"production\" && (isObservableMap(value) || isObservableArray(value))) {\n return die(\"isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.\");\n }\n if (isObservableObject(value)) {\n return value[$mobx].values_.has(property);\n }\n return false;\n }\n // For first check, see #701\n return isObservableObject(value) || !!value[$mobx] || isAtom(value) || isReaction(value) || isComputedValue(value);\n}\nfunction isObservable(value) {\n if (process.env.NODE_ENV !== \"production\" && arguments.length !== 1) {\n die(\"isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property\");\n }\n return _isObservable(value);\n}\nfunction isObservableProp(value, propName) {\n if (process.env.NODE_ENV !== \"production\" && !isStringish(propName)) {\n return die(\"expected a property name as second argument\");\n }\n return _isObservable(value, propName);\n}\n\nfunction keys(obj) {\n if (isObservableObject(obj)) {\n return obj[$mobx].keys_();\n }\n if (isObservableMap(obj) || isObservableSet(obj)) {\n return Array.from(obj.keys());\n }\n if (isObservableArray(obj)) {\n return obj.map(function (_, index) {\n return index;\n });\n }\n die(5);\n}\nfunction values(obj) {\n if (isObservableObject(obj)) {\n return keys(obj).map(function (key) {\n return obj[key];\n });\n }\n if (isObservableMap(obj)) {\n return keys(obj).map(function (key) {\n return obj.get(key);\n });\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.values());\n }\n if (isObservableArray(obj)) {\n return obj.slice();\n }\n die(6);\n}\nfunction entries(obj) {\n if (isObservableObject(obj)) {\n return keys(obj).map(function (key) {\n return [key, obj[key]];\n });\n }\n if (isObservableMap(obj)) {\n return keys(obj).map(function (key) {\n return [key, obj.get(key)];\n });\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.entries());\n }\n if (isObservableArray(obj)) {\n return obj.map(function (key, index) {\n return [index, key];\n });\n }\n die(7);\n}\nfunction set(obj, key, value) {\n if (arguments.length === 2 && !isObservableSet(obj)) {\n startBatch();\n var _values = key;\n try {\n for (var _key in _values) {\n set(obj, _key, _values[_key]);\n }\n } finally {\n endBatch();\n }\n return;\n }\n if (isObservableObject(obj)) {\n obj[$mobx].set_(key, value);\n } else if (isObservableMap(obj)) {\n obj.set(key, value);\n } else if (isObservableSet(obj)) {\n obj.add(key);\n } else if (isObservableArray(obj)) {\n if (typeof key !== \"number\") {\n key = parseInt(key, 10);\n }\n if (key < 0) {\n die(\"Invalid index: '\" + key + \"'\");\n }\n startBatch();\n if (key >= obj.length) {\n obj.length = key + 1;\n }\n obj[key] = value;\n endBatch();\n } else {\n die(8);\n }\n}\nfunction remove(obj, key) {\n if (isObservableObject(obj)) {\n obj[$mobx].delete_(key);\n } else if (isObservableMap(obj)) {\n obj[\"delete\"](key);\n } else if (isObservableSet(obj)) {\n obj[\"delete\"](key);\n } else if (isObservableArray(obj)) {\n if (typeof key !== \"number\") {\n key = parseInt(key, 10);\n }\n obj.splice(key, 1);\n } else {\n die(9);\n }\n}\nfunction has(obj, key) {\n if (isObservableObject(obj)) {\n return obj[$mobx].has_(key);\n } else if (isObservableMap(obj)) {\n return obj.has(key);\n } else if (isObservableSet(obj)) {\n return obj.has(key);\n } else if (isObservableArray(obj)) {\n return key >= 0 && key < obj.length;\n }\n die(10);\n}\nfunction get(obj, key) {\n if (!has(obj, key)) {\n return undefined;\n }\n if (isObservableObject(obj)) {\n return obj[$mobx].get_(key);\n } else if (isObservableMap(obj)) {\n return obj.get(key);\n } else if (isObservableArray(obj)) {\n return obj[key];\n }\n die(11);\n}\nfunction apiDefineProperty(obj, key, descriptor) {\n if (isObservableObject(obj)) {\n return obj[$mobx].defineProperty_(key, descriptor);\n }\n die(39);\n}\nfunction apiOwnKeys(obj) {\n if (isObservableObject(obj)) {\n return obj[$mobx].ownKeys_();\n }\n die(38);\n}\n\nfunction observe(thing, propOrCb, cbOrFire, fireImmediately) {\n if (isFunction(cbOrFire)) {\n return observeObservableProperty(thing, propOrCb, cbOrFire, fireImmediately);\n } else {\n return observeObservable(thing, propOrCb, cbOrFire);\n }\n}\nfunction observeObservable(thing, listener, fireImmediately) {\n return getAdministration(thing).observe_(listener, fireImmediately);\n}\nfunction observeObservableProperty(thing, property, listener, fireImmediately) {\n return getAdministration(thing, property).observe_(listener, fireImmediately);\n}\n\nfunction cache(map, key, value) {\n map.set(key, value);\n return value;\n}\nfunction toJSHelper(source, __alreadySeen) {\n if (source == null || typeof source !== \"object\" || source instanceof Date || !isObservable(source)) {\n return source;\n }\n if (isObservableValue(source) || isComputedValue(source)) {\n return toJSHelper(source.get(), __alreadySeen);\n }\n if (__alreadySeen.has(source)) {\n return __alreadySeen.get(source);\n }\n if (isObservableArray(source)) {\n var res = cache(__alreadySeen, source, new Array(source.length));\n source.forEach(function (value, idx) {\n res[idx] = toJSHelper(value, __alreadySeen);\n });\n return res;\n }\n if (isObservableSet(source)) {\n var _res = cache(__alreadySeen, source, new Set());\n source.forEach(function (value) {\n _res.add(toJSHelper(value, __alreadySeen));\n });\n return _res;\n }\n if (isObservableMap(source)) {\n var _res2 = cache(__alreadySeen, source, new Map());\n source.forEach(function (value, key) {\n _res2.set(key, toJSHelper(value, __alreadySeen));\n });\n return _res2;\n } else {\n // must be observable object\n var _res3 = cache(__alreadySeen, source, {});\n apiOwnKeys(source).forEach(function (key) {\n if (objectPrototype.propertyIsEnumerable.call(source, key)) {\n _res3[key] = toJSHelper(source[key], __alreadySeen);\n }\n });\n return _res3;\n }\n}\n/**\n * Recursively converts an observable to it's non-observable native counterpart.\n * It does NOT recurse into non-observables, these are left as they are, even if they contain observables.\n * Computed and other non-enumerable properties are completely ignored.\n * Complex scenarios require custom solution, eg implementing `toJSON` or using `serializr` lib.\n */\nfunction toJS(source, options) {\n if (process.env.NODE_ENV !== \"production\" && options) {\n die(\"toJS no longer supports options\");\n }\n return toJSHelper(source, new Map());\n}\n\nfunction trace() {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n }\n var enterBreakPoint = false;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (typeof args[args.length - 1] === \"boolean\") {\n enterBreakPoint = args.pop();\n }\n var derivation = getAtomFromArgs(args);\n if (!derivation) {\n return die(\"'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly\");\n }\n if (derivation.isTracing_ === TraceMode.NONE) {\n console.log(\"[mobx.trace] '\" + derivation.name_ + \"' tracing enabled\");\n }\n derivation.isTracing_ = enterBreakPoint ? TraceMode.BREAK : TraceMode.LOG;\n}\nfunction getAtomFromArgs(args) {\n switch (args.length) {\n case 0:\n return globalState.trackingDerivation;\n case 1:\n return getAtom(args[0]);\n case 2:\n return getAtom(args[0], args[1]);\n }\n}\n\n/**\n * During a transaction no views are updated until the end of the transaction.\n * The transaction will be run synchronously nonetheless.\n *\n * @param action a function that updates some reactive state\n * @returns any value that was returned by the 'action' parameter.\n */\nfunction transaction(action, thisArg) {\n if (thisArg === void 0) {\n thisArg = undefined;\n }\n startBatch();\n try {\n return action.apply(thisArg);\n } finally {\n endBatch();\n }\n}\n\nfunction when(predicate, arg1, arg2) {\n if (arguments.length === 1 || arg1 && typeof arg1 === \"object\") {\n return whenPromise(predicate, arg1);\n }\n return _when(predicate, arg1, arg2 || {});\n}\nfunction _when(predicate, effect, opts) {\n var timeoutHandle;\n if (typeof opts.timeout === \"number\") {\n var error = new Error(\"WHEN_TIMEOUT\");\n timeoutHandle = setTimeout(function () {\n if (!disposer[$mobx].isDisposed) {\n disposer();\n if (opts.onError) {\n opts.onError(error);\n } else {\n throw error;\n }\n }\n }, opts.timeout);\n }\n opts.name = process.env.NODE_ENV !== \"production\" ? opts.name || \"When@\" + getNextId() : \"When\";\n var effectAction = createAction(process.env.NODE_ENV !== \"production\" ? opts.name + \"-effect\" : \"When-effect\", effect);\n // eslint-disable-next-line\n var disposer = autorun(function (r) {\n // predicate should not change state\n var cond = allowStateChanges(false, predicate);\n if (cond) {\n r.dispose();\n if (timeoutHandle) {\n clearTimeout(timeoutHandle);\n }\n effectAction();\n }\n }, opts);\n return disposer;\n}\nfunction whenPromise(predicate, opts) {\n var _opts$signal;\n if (process.env.NODE_ENV !== \"production\" && opts && opts.onError) {\n return die(\"the options 'onError' and 'promise' cannot be combined\");\n }\n if (opts != null && (_opts$signal = opts.signal) != null && _opts$signal.aborted) {\n return Object.assign(Promise.reject(new Error(\"WHEN_ABORTED\")), {\n cancel: function cancel() {\n return null;\n }\n });\n }\n var cancel;\n var abort;\n var res = new Promise(function (resolve, reject) {\n var _opts$signal2;\n var disposer = _when(predicate, resolve, _extends({}, opts, {\n onError: reject\n }));\n cancel = function cancel() {\n disposer();\n reject(new Error(\"WHEN_CANCELLED\"));\n };\n abort = function abort() {\n disposer();\n reject(new Error(\"WHEN_ABORTED\"));\n };\n opts == null || (_opts$signal2 = opts.signal) == null || _opts$signal2.addEventListener == null || _opts$signal2.addEventListener(\"abort\", abort);\n })[\"finally\"](function () {\n var _opts$signal3;\n return opts == null || (_opts$signal3 = opts.signal) == null || _opts$signal3.removeEventListener == null ? void 0 : _opts$signal3.removeEventListener(\"abort\", abort);\n });\n res.cancel = cancel;\n return res;\n}\n\nfunction getAdm(target) {\n return target[$mobx];\n}\n// Optimization: we don't need the intermediate objects and could have a completely custom administration for DynamicObjects,\n// and skip either the internal values map, or the base object with its property descriptors!\nvar objectProxyTraps = {\n has: function has(target, name) {\n if (process.env.NODE_ENV !== \"production\" && globalState.trackingDerivation) {\n warnAboutProxyRequirement(\"detect new properties using the 'in' operator. Use 'has' from 'mobx' instead.\");\n }\n return getAdm(target).has_(name);\n },\n get: function get(target, name) {\n return getAdm(target).get_(name);\n },\n set: function set(target, name, value) {\n var _getAdm$set_;\n if (!isStringish(name)) {\n return false;\n }\n if (process.env.NODE_ENV !== \"production\" && !getAdm(target).values_.has(name)) {\n warnAboutProxyRequirement(\"add a new observable property through direct assignment. Use 'set' from 'mobx' instead.\");\n }\n // null (intercepted) -> true (success)\n return (_getAdm$set_ = getAdm(target).set_(name, value, true)) != null ? _getAdm$set_ : true;\n },\n deleteProperty: function deleteProperty(target, name) {\n var _getAdm$delete_;\n if (process.env.NODE_ENV !== \"production\") {\n warnAboutProxyRequirement(\"delete properties from an observable object. Use 'remove' from 'mobx' instead.\");\n }\n if (!isStringish(name)) {\n return false;\n }\n // null (intercepted) -> true (success)\n return (_getAdm$delete_ = getAdm(target).delete_(name, true)) != null ? _getAdm$delete_ : true;\n },\n defineProperty: function defineProperty(target, name, descriptor) {\n var _getAdm$definePropert;\n if (process.env.NODE_ENV !== \"production\") {\n warnAboutProxyRequirement(\"define property on an observable object. Use 'defineProperty' from 'mobx' instead.\");\n }\n // null (intercepted) -> true (success)\n return (_getAdm$definePropert = getAdm(target).defineProperty_(name, descriptor)) != null ? _getAdm$definePropert : true;\n },\n ownKeys: function ownKeys(target) {\n if (process.env.NODE_ENV !== \"production\" && globalState.trackingDerivation) {\n warnAboutProxyRequirement(\"iterate keys to detect added / removed properties. Use 'keys' from 'mobx' instead.\");\n }\n return getAdm(target).ownKeys_();\n },\n preventExtensions: function preventExtensions(target) {\n die(13);\n }\n};\nfunction asDynamicObservableObject(target, options) {\n var _target$$mobx, _target$$mobx$proxy_;\n assertProxies();\n target = asObservableObject(target, options);\n return (_target$$mobx$proxy_ = (_target$$mobx = target[$mobx]).proxy_) != null ? _target$$mobx$proxy_ : _target$$mobx.proxy_ = new Proxy(target, objectProxyTraps);\n}\n\nfunction hasInterceptors(interceptable) {\n return interceptable.interceptors_ !== undefined && interceptable.interceptors_.length > 0;\n}\nfunction registerInterceptor(interceptable, handler) {\n var interceptors = interceptable.interceptors_ || (interceptable.interceptors_ = []);\n interceptors.push(handler);\n return once(function () {\n var idx = interceptors.indexOf(handler);\n if (idx !== -1) {\n interceptors.splice(idx, 1);\n }\n });\n}\nfunction interceptChange(interceptable, change) {\n var prevU = untrackedStart();\n try {\n // Interceptor can modify the array, copy it to avoid concurrent modification, see #1950\n var interceptors = [].concat(interceptable.interceptors_ || []);\n for (var i = 0, l = interceptors.length; i < l; i++) {\n change = interceptors[i](change);\n if (change && !change.type) {\n die(14);\n }\n if (!change) {\n break;\n }\n }\n return change;\n } finally {\n untrackedEnd(prevU);\n }\n}\n\nfunction hasListeners(listenable) {\n return listenable.changeListeners_ !== undefined && listenable.changeListeners_.length > 0;\n}\nfunction registerListener(listenable, handler) {\n var listeners = listenable.changeListeners_ || (listenable.changeListeners_ = []);\n listeners.push(handler);\n return once(function () {\n var idx = listeners.indexOf(handler);\n if (idx !== -1) {\n listeners.splice(idx, 1);\n }\n });\n}\nfunction notifyListeners(listenable, change) {\n var prevU = untrackedStart();\n var listeners = listenable.changeListeners_;\n if (!listeners) {\n return;\n }\n listeners = listeners.slice();\n for (var i = 0, l = listeners.length; i < l; i++) {\n listeners[i](change);\n }\n untrackedEnd(prevU);\n}\n\nfunction makeObservable(target, annotations, options) {\n initObservable(function () {\n var _annotations;\n var adm = asObservableObject(target, options)[$mobx];\n if (process.env.NODE_ENV !== \"production\" && annotations && target[storedAnnotationsSymbol]) {\n die(\"makeObservable second arg must be nullish when using decorators. Mixing @decorator syntax with annotations is not supported.\");\n }\n // Default to decorators\n (_annotations = annotations) != null ? _annotations : annotations = collectStoredAnnotations(target);\n // Annotate\n ownKeys(annotations).forEach(function (key) {\n return adm.make_(key, annotations[key]);\n });\n });\n return target;\n}\n// proto[keysSymbol] = new Set<PropertyKey>()\nvar keysSymbol = /*#__PURE__*/Symbol(\"mobx-keys\");\nfunction makeAutoObservable(target, overrides, options) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!isPlainObject(target) && !isPlainObject(Object.getPrototypeOf(target))) {\n die(\"'makeAutoObservable' can only be used for classes that don't have a superclass\");\n }\n if (isObservableObject(target)) {\n die(\"makeAutoObservable can only be used on objects not already made observable\");\n }\n }\n // Optimization: avoid visiting protos\n // Assumes that annotation.make_/.extend_ works the same for plain objects\n if (isPlainObject(target)) {\n return extendObservable(target, target, overrides, options);\n }\n initObservable(function () {\n var adm = asObservableObject(target, options)[$mobx];\n // Optimization: cache keys on proto\n // Assumes makeAutoObservable can be called only once per object and can't be used in subclass\n if (!target[keysSymbol]) {\n var proto = Object.getPrototypeOf(target);\n var keys = new Set([].concat(ownKeys(target), ownKeys(proto)));\n keys[\"delete\"](\"constructor\");\n keys[\"delete\"]($mobx);\n addHiddenProp(proto, keysSymbol, keys);\n }\n target[keysSymbol].forEach(function (key) {\n return adm.make_(key,\n // must pass \"undefined\" for { key: undefined }\n !overrides ? true : key in overrides ? overrides[key] : true);\n });\n });\n return target;\n}\n\nvar SPLICE = \"splice\";\nvar UPDATE = \"update\";\nvar MAX_SPLICE_SIZE = 10000; // See e.g. https://github.com/mobxjs/mobx/issues/859\nvar arrayTraps = {\n get: function get(target, name) {\n var adm = target[$mobx];\n if (name === $mobx) {\n return adm;\n }\n if (name === \"length\") {\n return adm.getArrayLength_();\n }\n if (typeof name === \"string\" && !isNaN(name)) {\n return adm.get_(parseInt(name));\n }\n if (hasProp(arrayExtensions, name)) {\n return arrayExtensions[name];\n }\n return target[name];\n },\n set: function set(target, name, value) {\n var adm = target[$mobx];\n if (name === \"length\") {\n adm.setArrayLength_(value);\n }\n if (typeof name === \"symbol\" || isNaN(name)) {\n target[name] = value;\n } else {\n // numeric string\n adm.set_(parseInt(name), value);\n }\n return true;\n },\n preventExtensions: function preventExtensions() {\n die(15);\n }\n};\nvar ObservableArrayAdministration = /*#__PURE__*/function () {\n function ObservableArrayAdministration(name, enhancer, owned_, legacyMode_) {\n if (name === void 0) {\n name = process.env.NODE_ENV !== \"production\" ? \"ObservableArray@\" + getNextId() : \"ObservableArray\";\n }\n this.owned_ = void 0;\n this.legacyMode_ = void 0;\n this.atom_ = void 0;\n this.values_ = [];\n // this is the prop that gets proxied, so can't replace it!\n this.interceptors_ = void 0;\n this.changeListeners_ = void 0;\n this.enhancer_ = void 0;\n this.dehancer = void 0;\n this.proxy_ = void 0;\n this.lastKnownLength_ = 0;\n this.owned_ = owned_;\n this.legacyMode_ = legacyMode_;\n this.atom_ = new Atom(name);\n this.enhancer_ = function (newV, oldV) {\n return enhancer(newV, oldV, process.env.NODE_ENV !== \"production\" ? name + \"[..]\" : \"ObservableArray[..]\");\n };\n }\n var _proto = ObservableArrayAdministration.prototype;\n _proto.dehanceValue_ = function dehanceValue_(value) {\n if (this.dehancer !== undefined) {\n return this.dehancer(value);\n }\n return value;\n };\n _proto.dehanceValues_ = function dehanceValues_(values) {\n if (this.dehancer !== undefined && values.length > 0) {\n return values.map(this.dehancer);\n }\n return values;\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n if (fireImmediately === void 0) {\n fireImmediately = false;\n }\n if (fireImmediately) {\n listener({\n observableKind: \"array\",\n object: this.proxy_,\n debugObjectName: this.atom_.name_,\n type: \"splice\",\n index: 0,\n added: this.values_.slice(),\n addedCount: this.values_.length,\n removed: [],\n removedCount: 0\n });\n }\n return registerListener(this, listener);\n };\n _proto.getArrayLength_ = function getArrayLength_() {\n this.atom_.reportObserved();\n return this.values_.length;\n };\n _proto.setArrayLength_ = function setArrayLength_(newLength) {\n if (typeof newLength !== \"number\" || isNaN(newLength) || newLength < 0) {\n die(\"Out of range: \" + newLength);\n }\n var currentLength = this.values_.length;\n if (newLength === currentLength) {\n return;\n } else if (newLength > currentLength) {\n var newItems = new Array(newLength - currentLength);\n for (var i = 0; i < newLength - currentLength; i++) {\n newItems[i] = undefined;\n } // No Array.fill everywhere...\n this.spliceWithArray_(currentLength, 0, newItems);\n } else {\n this.spliceWithArray_(newLength, currentLength - newLength);\n }\n };\n _proto.updateArrayLength_ = function updateArrayLength_(oldLength, delta) {\n if (oldLength !== this.lastKnownLength_) {\n die(16);\n }\n this.lastKnownLength_ += delta;\n if (this.legacyMode_ && delta > 0) {\n reserveArrayBuffer(oldLength + delta + 1);\n }\n };\n _proto.spliceWithArray_ = function spliceWithArray_(index, deleteCount, newItems) {\n var _this = this;\n checkIfStateModificationsAreAllowed(this.atom_);\n var length = this.values_.length;\n if (index === undefined) {\n index = 0;\n } else if (index > length) {\n index = length;\n } else if (index < 0) {\n index = Math.max(0, length + index);\n }\n if (arguments.length === 1) {\n deleteCount = length - index;\n } else if (deleteCount === undefined || deleteCount === null) {\n deleteCount = 0;\n } else {\n deleteCount = Math.max(0, Math.min(deleteCount, length - index));\n }\n if (newItems === undefined) {\n newItems = EMPTY_ARRAY;\n }\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_,\n type: SPLICE,\n index: index,\n removedCount: deleteCount,\n added: newItems\n });\n if (!change) {\n return EMPTY_ARRAY;\n }\n deleteCount = change.removedCount;\n newItems = change.added;\n }\n newItems = newItems.length === 0 ? newItems : newItems.map(function (v) {\n return _this.enhancer_(v, undefined);\n });\n if (this.legacyMode_ || process.env.NODE_ENV !== \"production\") {\n var lengthDelta = newItems.length - deleteCount;\n this.updateArrayLength_(length, lengthDelta); // checks if internal array wasn't modified\n }\n var res = this.spliceItemsIntoValues_(index, deleteCount, newItems);\n if (deleteCount !== 0 || newItems.length !== 0) {\n this.notifyArraySplice_(index, newItems, res);\n }\n return this.dehanceValues_(res);\n };\n _proto.spliceItemsIntoValues_ = function spliceItemsIntoValues_(index, deleteCount, newItems) {\n if (newItems.length < MAX_SPLICE_SIZE) {\n var _this$values_;\n return (_this$values_ = this.values_).splice.apply(_this$values_, [index, deleteCount].concat(newItems));\n } else {\n // The items removed by the splice\n var res = this.values_.slice(index, index + deleteCount);\n // The items that that should remain at the end of the array\n var oldItems = this.values_.slice(index + deleteCount);\n // New length is the previous length + addition count - deletion count\n this.values_.length += newItems.length - deleteCount;\n for (var i = 0; i < newItems.length; i++) {\n this.values_[index + i] = newItems[i];\n }\n for (var _i = 0; _i < oldItems.length; _i++) {\n this.values_[index + newItems.length + _i] = oldItems[_i];\n }\n return res;\n }\n };\n _proto.notifyArrayChildUpdate_ = function notifyArrayChildUpdate_(index, newValue, oldValue) {\n var notifySpy = !this.owned_ && isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"array\",\n object: this.proxy_,\n type: UPDATE,\n debugObjectName: this.atom_.name_,\n index: index,\n newValue: newValue,\n oldValue: oldValue\n } : null;\n // The reason why this is on right hand side here (and not above), is this way the uglifier will drop it, but it won't\n // cause any runtime overhead in development mode without NODE_ENV set, unless spying is enabled\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(change);\n }\n this.atom_.reportChanged();\n if (notify) {\n notifyListeners(this, change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n };\n _proto.notifyArraySplice_ = function notifyArraySplice_(index, added, removed) {\n var notifySpy = !this.owned_ && isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"array\",\n object: this.proxy_,\n debugObjectName: this.atom_.name_,\n type: SPLICE,\n index: index,\n removed: removed,\n added: added,\n removedCount: removed.length,\n addedCount: added.length\n } : null;\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(change);\n }\n this.atom_.reportChanged();\n // conform: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/observe\n if (notify) {\n notifyListeners(this, change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n };\n _proto.get_ = function get_(index) {\n if (this.legacyMode_ && index >= this.values_.length) {\n console.warn(process.env.NODE_ENV !== \"production\" ? \"[mobx.array] Attempt to read an array index (\" + index + \") that is out of bounds (\" + this.values_.length + \"). Please check length first. Out of bound indices will not be tracked by MobX\" : \"[mobx] Out of bounds read: \" + index);\n return undefined;\n }\n this.atom_.reportObserved();\n return this.dehanceValue_(this.values_[index]);\n };\n _proto.set_ = function set_(index, newValue) {\n var values = this.values_;\n if (this.legacyMode_ && index > values.length) {\n // out of bounds\n die(17, index, values.length);\n }\n if (index < values.length) {\n // update at index in range\n checkIfStateModificationsAreAllowed(this.atom_);\n var oldValue = values[index];\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: UPDATE,\n object: this.proxy_,\n // since \"this\" is the real array we need to pass its proxy\n index: index,\n newValue: newValue\n });\n if (!change) {\n return;\n }\n newValue = change.newValue;\n }\n newValue = this.enhancer_(newValue, oldValue);\n var changed = newValue !== oldValue;\n if (changed) {\n values[index] = newValue;\n this.notifyArrayChildUpdate_(index, newValue, oldValue);\n }\n } else {\n // For out of bound index, we don't create an actual sparse array,\n // but rather fill the holes with undefined (same as setArrayLength_).\n // This could be considered a bug.\n var newItems = new Array(index + 1 - values.length);\n for (var i = 0; i < newItems.length - 1; i++) {\n newItems[i] = undefined;\n } // No Array.fill everywhere...\n newItems[newItems.length - 1] = newValue;\n this.spliceWithArray_(values.length, 0, newItems);\n }\n };\n return ObservableArrayAdministration;\n}();\nfunction createObservableArray(initialValues, enhancer, name, owned) {\n if (name === void 0) {\n name = process.env.NODE_ENV !== \"production\" ? \"ObservableArray@\" + getNextId() : \"ObservableArray\";\n }\n if (owned === void 0) {\n owned = false;\n }\n assertProxies();\n return initObservable(function () {\n var adm = new ObservableArrayAdministration(name, enhancer, owned, false);\n addHiddenFinalProp(adm.values_, $mobx, adm);\n var proxy = new Proxy(adm.values_, arrayTraps);\n adm.proxy_ = proxy;\n if (initialValues && initialValues.length) {\n adm.spliceWithArray_(0, 0, initialValues);\n }\n return proxy;\n });\n}\n// eslint-disable-next-line\nvar arrayExtensions = {\n clear: function clear() {\n return this.splice(0);\n },\n replace: function replace(newItems) {\n var adm = this[$mobx];\n return adm.spliceWithArray_(0, adm.values_.length, newItems);\n },\n // Used by JSON.stringify\n toJSON: function toJSON() {\n return this.slice();\n },\n /*\n * functions that do alter the internal structure of the array, (based on lib.es6.d.ts)\n * since these functions alter the inner structure of the array, the have side effects.\n * Because the have side effects, they should not be used in computed function,\n * and for that reason the do not call dependencyState.notifyObserved\n */\n splice: function splice(index, deleteCount) {\n for (var _len = arguments.length, newItems = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n newItems[_key - 2] = arguments[_key];\n }\n var adm = this[$mobx];\n switch (arguments.length) {\n case 0:\n return [];\n case 1:\n return adm.spliceWithArray_(index);\n case 2:\n return adm.spliceWithArray_(index, deleteCount);\n }\n return adm.spliceWithArray_(index, deleteCount, newItems);\n },\n spliceWithArray: function spliceWithArray(index, deleteCount, newItems) {\n return this[$mobx].spliceWithArray_(index, deleteCount, newItems);\n },\n push: function push() {\n var adm = this[$mobx];\n for (var _len2 = arguments.length, items = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n items[_key2] = arguments[_key2];\n }\n adm.spliceWithArray_(adm.values_.length, 0, items);\n return adm.values_.length;\n },\n pop: function pop() {\n return this.splice(Math.max(this[$mobx].values_.length - 1, 0), 1)[0];\n },\n shift: function shift() {\n return this.splice(0, 1)[0];\n },\n unshift: function unshift() {\n var adm = this[$mobx];\n for (var _len3 = arguments.length, items = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n items[_key3] = arguments[_key3];\n }\n adm.spliceWithArray_(0, 0, items);\n return adm.values_.length;\n },\n reverse: function reverse() {\n // reverse by default mutates in place before returning the result\n // which makes it both a 'derivation' and a 'mutation'.\n if (globalState.trackingDerivation) {\n die(37, \"reverse\");\n }\n this.replace(this.slice().reverse());\n return this;\n },\n sort: function sort() {\n // sort by default mutates in place before returning the result\n // which goes against all good practices. Let's not change the array in place!\n if (globalState.trackingDerivation) {\n die(37, \"sort\");\n }\n var copy = this.slice();\n copy.sort.apply(copy, arguments);\n this.replace(copy);\n return this;\n },\n remove: function remove(value) {\n var adm = this[$mobx];\n var idx = adm.dehanceValues_(adm.values_).indexOf(value);\n if (idx > -1) {\n this.splice(idx, 1);\n return true;\n }\n return false;\n }\n};\n/**\n * Wrap function from prototype\n * Without this, everything works as well, but this works\n * faster as everything works on unproxied values\n */\naddArrayExtension(\"at\", simpleFunc);\naddArrayExtension(\"concat\", simpleFunc);\naddArrayExtension(\"flat\", simpleFunc);\naddArrayExtension(\"includes\", simpleFunc);\naddArrayExtension(\"indexOf\", simpleFunc);\naddArrayExtension(\"join\", simpleFunc);\naddArrayExtension(\"lastIndexOf\", simpleFunc);\naddArrayExtension(\"slice\", simpleFunc);\naddArrayExtension(\"toString\", simpleFunc);\naddArrayExtension(\"toLocaleString\", simpleFunc);\naddArrayExtension(\"toSorted\", simpleFunc);\naddArrayExtension(\"toSpliced\", simpleFunc);\naddArrayExtension(\"with\", simpleFunc);\n// map\naddArrayExtension(\"every\", mapLikeFunc);\naddArrayExtension(\"filter\", mapLikeFunc);\naddArrayExtension(\"find\", mapLikeFunc);\naddArrayExtension(\"findIndex\", mapLikeFunc);\naddArrayExtension(\"findLast\", mapLikeFunc);\naddArrayExtension(\"findLastIndex\", mapLikeFunc);\naddArrayExtension(\"flatMap\", mapLikeFunc);\naddArrayExtension(\"forEach\", mapLikeFunc);\naddArrayExtension(\"map\", mapLikeFunc);\naddArrayExtension(\"some\", mapLikeFunc);\naddArrayExtension(\"toReversed\", mapLikeFunc);\n// reduce\naddArrayExtension(\"reduce\", reduceLikeFunc);\naddArrayExtension(\"reduceRight\", reduceLikeFunc);\nfunction addArrayExtension(funcName, funcFactory) {\n if (typeof Array.prototype[funcName] === \"function\") {\n arrayExtensions[funcName] = funcFactory(funcName);\n }\n}\n// Report and delegate to dehanced array\nfunction simpleFunc(funcName) {\n return function () {\n var adm = this[$mobx];\n adm.atom_.reportObserved();\n var dehancedValues = adm.dehanceValues_(adm.values_);\n return dehancedValues[funcName].apply(dehancedValues, arguments);\n };\n}\n// Make sure callbacks receive correct array arg #2326\nfunction mapLikeFunc(funcName) {\n return function (callback, thisArg) {\n var _this2 = this;\n var adm = this[$mobx];\n adm.atom_.reportObserved();\n var dehancedValues = adm.dehanceValues_(adm.values_);\n return dehancedValues[funcName](function (element, index) {\n return callback.call(thisArg, element, index, _this2);\n });\n };\n}\n// Make sure callbacks receive correct array arg #2326\nfunction reduceLikeFunc(funcName) {\n return function () {\n var _this3 = this;\n var adm = this[$mobx];\n adm.atom_.reportObserved();\n var dehancedValues = adm.dehanceValues_(adm.values_);\n // #2432 - reduce behavior depends on arguments.length\n var callback = arguments[0];\n arguments[0] = function (accumulator, currentValue, index) {\n return callback(accumulator, currentValue, index, _this3);\n };\n return dehancedValues[funcName].apply(dehancedValues, arguments);\n };\n}\nvar isObservableArrayAdministration = /*#__PURE__*/createInstanceofPredicate(\"ObservableArrayAdministration\", ObservableArrayAdministration);\nfunction isObservableArray(thing) {\n return isObject(thing) && isObservableArrayAdministration(thing[$mobx]);\n}\n\nvar ObservableMapMarker = {};\nvar ADD = \"add\";\nvar DELETE = \"delete\";\n// just extend Map? See also https://gist.github.com/nestharus/13b4d74f2ef4a2f4357dbd3fc23c1e54\n// But: https://github.com/mobxjs/mobx/issues/1556\nvar ObservableMap = /*#__PURE__*/function () {\n function ObservableMap(initialData, enhancer_, name_) {\n var _this = this;\n if (enhancer_ === void 0) {\n enhancer_ = deepEnhancer;\n }\n if (name_ === void 0) {\n name_ = process.env.NODE_ENV !== \"production\" ? \"ObservableMap@\" + getNextId() : \"ObservableMap\";\n }\n this.enhancer_ = void 0;\n this.name_ = void 0;\n this[$mobx] = ObservableMapMarker;\n this.data_ = void 0;\n this.hasMap_ = void 0;\n // hasMap, not hashMap >-).\n this.keysAtom_ = void 0;\n this.interceptors_ = void 0;\n this.changeListeners_ = void 0;\n this.dehancer = void 0;\n this.enhancer_ = enhancer_;\n this.name_ = name_;\n if (!isFunction(Map)) {\n die(18);\n }\n initObservable(function () {\n _this.keysAtom_ = createAtom(process.env.NODE_ENV !== \"production\" ? _this.name_ + \".keys()\" : \"ObservableMap.keys()\");\n _this.data_ = new Map();\n _this.hasMap_ = new Map();\n if (initialData) {\n _this.merge(initialData);\n }\n });\n }\n var _proto = ObservableMap.prototype;\n _proto.has_ = function has_(key) {\n return this.data_.has(key);\n };\n _proto.has = function has(key) {\n var _this2 = this;\n if (!globalState.trackingDerivation) {\n return this.has_(key);\n }\n var entry = this.hasMap_.get(key);\n if (!entry) {\n var newEntry = entry = new ObservableValue(this.has_(key), referenceEnhancer, process.env.NODE_ENV !== \"production\" ? this.name_ + \".\" + stringifyKey(key) + \"?\" : \"ObservableMap.key?\", false);\n this.hasMap_.set(key, newEntry);\n onBecomeUnobserved(newEntry, function () {\n return _this2.hasMap_[\"delete\"](key);\n });\n }\n return entry.get();\n };\n _proto.set = function set(key, value) {\n var hasKey = this.has_(key);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: hasKey ? UPDATE : ADD,\n object: this,\n newValue: value,\n name: key\n });\n if (!change) {\n return this;\n }\n value = change.newValue;\n }\n if (hasKey) {\n this.updateValue_(key, value);\n } else {\n this.addValue_(key, value);\n }\n return this;\n };\n _proto[\"delete\"] = function _delete(key) {\n var _this3 = this;\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: DELETE,\n object: this,\n name: key\n });\n if (!change) {\n return false;\n }\n }\n if (this.has_(key)) {\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var _change = notify || notifySpy ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: DELETE,\n object: this,\n oldValue: this.data_.get(key).value_,\n name: key\n } : null;\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(_change);\n } // TODO fix type\n transaction(function () {\n var _this3$hasMap_$get;\n _this3.keysAtom_.reportChanged();\n (_this3$hasMap_$get = _this3.hasMap_.get(key)) == null || _this3$hasMap_$get.setNewValue_(false);\n var observable = _this3.data_.get(key);\n observable.setNewValue_(undefined);\n _this3.data_[\"delete\"](key);\n });\n if (notify) {\n notifyListeners(this, _change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n return true;\n }\n return false;\n };\n _proto.updateValue_ = function updateValue_(key, newValue) {\n var observable = this.data_.get(key);\n newValue = observable.prepareNewValue_(newValue);\n if (newValue !== globalState.UNCHANGED) {\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: UPDATE,\n object: this,\n oldValue: observable.value_,\n name: key,\n newValue: newValue\n } : null;\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(change);\n } // TODO fix type\n observable.setNewValue_(newValue);\n if (notify) {\n notifyListeners(this, change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n }\n };\n _proto.addValue_ = function addValue_(key, newValue) {\n var _this4 = this;\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n transaction(function () {\n var _this4$hasMap_$get;\n var observable = new ObservableValue(newValue, _this4.enhancer_, process.env.NODE_ENV !== \"production\" ? _this4.name_ + \".\" + stringifyKey(key) : \"ObservableMap.key\", false);\n _this4.data_.set(key, observable);\n newValue = observable.value_; // value might have been changed\n (_this4$hasMap_$get = _this4.hasMap_.get(key)) == null || _this4$hasMap_$get.setNewValue_(true);\n _this4.keysAtom_.reportChanged();\n });\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: ADD,\n object: this,\n name: key,\n newValue: newValue\n } : null;\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(change);\n } // TODO fix type\n if (notify) {\n notifyListeners(this, change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n };\n _proto.get = function get(key) {\n if (this.has(key)) {\n return this.dehanceValue_(this.data_.get(key).get());\n }\n return this.dehanceValue_(undefined);\n };\n _proto.dehanceValue_ = function dehanceValue_(value) {\n if (this.dehancer !== undefined) {\n return this.dehancer(value);\n }\n return value;\n };\n _proto.keys = function keys() {\n this.keysAtom_.reportObserved();\n return this.data_.keys();\n };\n _proto.values = function values() {\n var self = this;\n var keys = this.keys();\n return makeIterableForMap({\n next: function next() {\n var _keys$next = keys.next(),\n done = _keys$next.done,\n value = _keys$next.value;\n return {\n done: done,\n value: done ? undefined : self.get(value)\n };\n }\n });\n };\n _proto.entries = function entries() {\n var self = this;\n var keys = this.keys();\n return makeIterableForMap({\n next: function next() {\n var _keys$next2 = keys.next(),\n done = _keys$next2.done,\n value = _keys$next2.value;\n return {\n done: done,\n value: done ? undefined : [value, self.get(value)]\n };\n }\n });\n };\n _proto[Symbol.iterator] = function () {\n return this.entries();\n };\n _proto.forEach = function forEach(callback, thisArg) {\n for (var _iterator = _createForOfIteratorHelperLoose(this), _step; !(_step = _iterator()).done;) {\n var _step$value = _step.value,\n key = _step$value[0],\n value = _step$value[1];\n callback.call(thisArg, value, key, this);\n }\n }\n /** Merge another object into this object, returns this. */;\n _proto.merge = function merge(other) {\n var _this5 = this;\n if (isObservableMap(other)) {\n other = new Map(other);\n }\n transaction(function () {\n if (isPlainObject(other)) {\n getPlainObjectKeys(other).forEach(function (key) {\n return _this5.set(key, other[key]);\n });\n } else if (Array.isArray(other)) {\n other.forEach(function (_ref) {\n var key = _ref[0],\n value = _ref[1];\n return _this5.set(key, value);\n });\n } else if (isES6Map(other)) {\n if (!isPlainES6Map(other)) {\n die(19, other);\n }\n other.forEach(function (value, key) {\n return _this5.set(key, value);\n });\n } else if (other !== null && other !== undefined) {\n die(20, other);\n }\n });\n return this;\n };\n _proto.clear = function clear() {\n var _this6 = this;\n transaction(function () {\n untracked(function () {\n for (var _iterator2 = _createForOfIteratorHelperLoose(_this6.keys()), _step2; !(_step2 = _iterator2()).done;) {\n var key = _step2.value;\n _this6[\"delete\"](key);\n }\n });\n });\n };\n _proto.replace = function replace(values) {\n var _this7 = this;\n // Implementation requirements:\n // - respect ordering of replacement map\n // - allow interceptors to run and potentially prevent individual operations\n // - don't recreate observables that already exist in original map (so we don't destroy existing subscriptions)\n // - don't _keysAtom.reportChanged if the keys of resulting map are indentical (order matters!)\n // - note that result map may differ from replacement map due to the interceptors\n transaction(function () {\n // Convert to map so we can do quick key lookups\n var replacementMap = convertToMap(values);\n var orderedData = new Map();\n // Used for optimization\n var keysReportChangedCalled = false;\n // Delete keys that don't exist in replacement map\n // if the key deletion is prevented by interceptor\n // add entry at the beginning of the result map\n for (var _iterator3 = _createForOfIteratorHelperLoose(_this7.data_.keys()), _step3; !(_step3 = _iterator3()).done;) {\n var key = _step3.value;\n // Concurrently iterating/deleting keys\n // iterator should handle this correctly\n if (!replacementMap.has(key)) {\n var deleted = _this7[\"delete\"](key);\n // Was the key removed?\n if (deleted) {\n // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true;\n } else {\n // Delete prevented by interceptor\n var value = _this7.data_.get(key);\n orderedData.set(key, value);\n }\n }\n }\n // Merge entries\n for (var _iterator4 = _createForOfIteratorHelperLoose(replacementMap.entries()), _step4; !(_step4 = _iterator4()).done;) {\n var _step4$value = _step4.value,\n _key = _step4$value[0],\n _value = _step4$value[1];\n // We will want to know whether a new key is added\n var keyExisted = _this7.data_.has(_key);\n // Add or update value\n _this7.set(_key, _value);\n // The addition could have been prevent by interceptor\n if (_this7.data_.has(_key)) {\n // The update could have been prevented by interceptor\n // and also we want to preserve existing values\n // so use value from _data map (instead of replacement map)\n var _value2 = _this7.data_.get(_key);\n orderedData.set(_key, _value2);\n // Was a new key added?\n if (!keyExisted) {\n // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true;\n }\n }\n }\n // Check for possible key order change\n if (!keysReportChangedCalled) {\n if (_this7.data_.size !== orderedData.size) {\n // If size differs, keys are definitely modified\n _this7.keysAtom_.reportChanged();\n } else {\n var iter1 = _this7.data_.keys();\n var iter2 = orderedData.keys();\n var next1 = iter1.next();\n var next2 = iter2.next();\n while (!next1.done) {\n if (next1.value !== next2.value) {\n _this7.keysAtom_.reportChanged();\n break;\n }\n next1 = iter1.next();\n next2 = iter2.next();\n }\n }\n }\n // Use correctly ordered map\n _this7.data_ = orderedData;\n });\n return this;\n };\n _proto.toString = function toString() {\n return \"[object ObservableMap]\";\n };\n _proto.toJSON = function toJSON() {\n return Array.from(this);\n };\n /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */\n _proto.observe_ = function observe_(listener, fireImmediately) {\n if (process.env.NODE_ENV !== \"production\" && fireImmediately === true) {\n die(\"`observe` doesn't support fireImmediately=true in combination with maps.\");\n }\n return registerListener(this, listener);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n return _createClass(ObservableMap, [{\n key: \"size\",\n get: function get() {\n this.keysAtom_.reportObserved();\n return this.data_.size;\n }\n }, {\n key: Symbol.toStringTag,\n get: function get() {\n return \"Map\";\n }\n }]);\n}();\n// eslint-disable-next-line\nvar isObservableMap = /*#__PURE__*/createInstanceofPredicate(\"ObservableMap\", ObservableMap);\nfunction makeIterableForMap(iterator) {\n iterator[Symbol.toStringTag] = \"MapIterator\";\n return makeIterable(iterator);\n}\nfunction convertToMap(dataStructure) {\n if (isES6Map(dataStructure) || isObservableMap(dataStructure)) {\n return dataStructure;\n } else if (Array.isArray(dataStructure)) {\n return new Map(dataStructure);\n } else if (isPlainObject(dataStructure)) {\n var map = new Map();\n for (var key in dataStructure) {\n map.set(key, dataStructure[key]);\n }\n return map;\n } else {\n return die(21, dataStructure);\n }\n}\n\nvar ObservableSetMarker = {};\nvar ObservableSet = /*#__PURE__*/function () {\n function ObservableSet(initialData, enhancer, name_) {\n var _this = this;\n if (enhancer === void 0) {\n enhancer = deepEnhancer;\n }\n if (name_ === void 0) {\n name_ = process.env.NODE_ENV !== \"production\" ? \"ObservableSet@\" + getNextId() : \"ObservableSet\";\n }\n this.name_ = void 0;\n this[$mobx] = ObservableSetMarker;\n this.data_ = new Set();\n this.atom_ = void 0;\n this.changeListeners_ = void 0;\n this.interceptors_ = void 0;\n this.dehancer = void 0;\n this.enhancer_ = void 0;\n this.name_ = name_;\n if (!isFunction(Set)) {\n die(22);\n }\n this.enhancer_ = function (newV, oldV) {\n return enhancer(newV, oldV, name_);\n };\n initObservable(function () {\n _this.atom_ = createAtom(_this.name_);\n if (initialData) {\n _this.replace(initialData);\n }\n });\n }\n var _proto = ObservableSet.prototype;\n _proto.dehanceValue_ = function dehanceValue_(value) {\n if (this.dehancer !== undefined) {\n return this.dehancer(value);\n }\n return value;\n };\n _proto.clear = function clear() {\n var _this2 = this;\n transaction(function () {\n untracked(function () {\n for (var _iterator = _createForOfIteratorHelperLoose(_this2.data_.values()), _step; !(_step = _iterator()).done;) {\n var value = _step.value;\n _this2[\"delete\"](value);\n }\n });\n });\n };\n _proto.forEach = function forEach(callbackFn, thisArg) {\n for (var _iterator2 = _createForOfIteratorHelperLoose(this), _step2; !(_step2 = _iterator2()).done;) {\n var value = _step2.value;\n callbackFn.call(thisArg, value, value, this);\n }\n };\n _proto.add = function add(value) {\n var _this3 = this;\n checkIfStateModificationsAreAllowed(this.atom_);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: ADD,\n object: this,\n newValue: value\n });\n if (!change) {\n return this;\n }\n // ideally, value = change.value would be done here, so that values can be\n // changed by interceptor. Same applies for other Set and Map api's.\n }\n if (!this.has(value)) {\n transaction(function () {\n _this3.data_.add(_this3.enhancer_(value, undefined));\n _this3.atom_.reportChanged();\n });\n var notifySpy = process.env.NODE_ENV !== \"production\" && isSpyEnabled();\n var notify = hasListeners(this);\n var _change = notify || notifySpy ? {\n observableKind: \"set\",\n debugObjectName: this.name_,\n type: ADD,\n object: this,\n newValue: value\n } : null;\n if (notifySpy && process.env.NODE_ENV !== \"production\") {\n spyReportStart(_change);\n }\n if (notify) {\n notifyListeners(this, _change);\n }\n if (notifySpy && process.env.NODE_ENV !== \"production\") {\n spyReportEnd();\n }\n }\n return this;\n };\n _proto[\"delete\"] = function _delete(value) {\n var _this4 = this;\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: DELETE,\n object: this,\n oldValue: value\n });\n if (!change) {\n return false;\n }\n }\n if (this.has(value)) {\n var notifySpy = process.env.NODE_ENV !== \"production\" && isSpyEnabled();\n var notify = hasListeners(this);\n var _change2 = notify || notifySpy ? {\n observableKind: \"set\",\n debugObjectName: this.name_,\n type: DELETE,\n object: this,\n oldValue: value\n } : null;\n if (notifySpy && process.env.NODE_ENV !== \"production\") {\n spyReportStart(_change2);\n }\n transaction(function () {\n _this4.atom_.reportChanged();\n _this4.data_[\"delete\"](value);\n });\n if (notify) {\n notifyListeners(this, _change2);\n }\n if (notifySpy && process.env.NODE_ENV !== \"production\") {\n spyReportEnd();\n }\n return true;\n }\n return false;\n };\n _proto.has = function has(value) {\n this.atom_.reportObserved();\n return this.data_.has(this.dehanceValue_(value));\n };\n _proto.entries = function entries() {\n var values = this.values();\n return makeIterableForSet({\n next: function next() {\n var _values$next = values.next(),\n value = _values$next.value,\n done = _values$next.done;\n return !done ? {\n value: [value, value],\n done: done\n } : {\n value: undefined,\n done: done\n };\n }\n });\n };\n _proto.keys = function keys() {\n return this.values();\n };\n _proto.values = function values() {\n this.atom_.reportObserved();\n var self = this;\n var values = this.data_.values();\n return makeIterableForSet({\n next: function next() {\n var _values$next2 = values.next(),\n value = _values$next2.value,\n done = _values$next2.done;\n return !done ? {\n value: self.dehanceValue_(value),\n done: done\n } : {\n value: undefined,\n done: done\n };\n }\n });\n };\n _proto.intersection = function intersection(otherSet) {\n if (isES6Set(otherSet) && !isObservableSet(otherSet)) {\n return otherSet.intersection(this);\n } else {\n var dehancedSet = new Set(this);\n return dehancedSet.intersection(otherSet);\n }\n };\n _proto.union = function union(otherSet) {\n if (isES6Set(otherSet) && !isObservableSet(otherSet)) {\n return otherSet.union(this);\n } else {\n var dehancedSet = new Set(this);\n return dehancedSet.union(otherSet);\n }\n };\n _proto.difference = function difference(otherSet) {\n return new Set(this).difference(otherSet);\n };\n _proto.symmetricDifference = function symmetricDifference(otherSet) {\n if (isES6Set(otherSet) && !isObservableSet(otherSet)) {\n return otherSet.symmetricDifference(this);\n } else {\n var dehancedSet = new Set(this);\n return dehancedSet.symmetricDifference(otherSet);\n }\n };\n _proto.isSubsetOf = function isSubsetOf(otherSet) {\n return new Set(this).isSubsetOf(otherSet);\n };\n _proto.isSupersetOf = function isSupersetOf(otherSet) {\n return new Set(this).isSupersetOf(otherSet);\n };\n _proto.isDisjointFrom = function isDisjointFrom(otherSet) {\n if (isES6Set(otherSet) && !isObservableSet(otherSet)) {\n return otherSet.isDisjointFrom(this);\n } else {\n var dehancedSet = new Set(this);\n return dehancedSet.isDisjointFrom(otherSet);\n }\n };\n _proto.replace = function replace(other) {\n var _this5 = this;\n if (isObservableSet(other)) {\n other = new Set(other);\n }\n transaction(function () {\n if (Array.isArray(other)) {\n _this5.clear();\n other.forEach(function (value) {\n return _this5.add(value);\n });\n } else if (isES6Set(other)) {\n _this5.clear();\n other.forEach(function (value) {\n return _this5.add(value);\n });\n } else if (other !== null && other !== undefined) {\n die(\"Cannot initialize set from \" + other);\n }\n });\n return this;\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n // ... 'fireImmediately' could also be true?\n if (process.env.NODE_ENV !== \"production\" && fireImmediately === true) {\n die(\"`observe` doesn't support fireImmediately=true in combination with sets.\");\n }\n return registerListener(this, listener);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.toJSON = function toJSON() {\n return Array.from(this);\n };\n _proto.toString = function toString() {\n return \"[object ObservableSet]\";\n };\n _proto[Symbol.iterator] = function () {\n return this.values();\n };\n return _createClass(ObservableSet, [{\n key: \"size\",\n get: function get() {\n this.atom_.reportObserved();\n return this.data_.size;\n }\n }, {\n key: Symbol.toStringTag,\n get: function get() {\n return \"Set\";\n }\n }]);\n}();\n// eslint-disable-next-line\nvar isObservableSet = /*#__PURE__*/createInstanceofPredicate(\"ObservableSet\", ObservableSet);\nfunction makeIterableForSet(iterator) {\n iterator[Symbol.toStringTag] = \"SetIterator\";\n return makeIterable(iterator);\n}\n\nvar descriptorCache = /*#__PURE__*/Object.create(null);\nvar REMOVE = \"remove\";\nvar ObservableObjectAdministration = /*#__PURE__*/function () {\n function ObservableObjectAdministration(target_, values_, name_,\n // Used anytime annotation is not explicitely provided\n defaultAnnotation_) {\n if (values_ === void 0) {\n values_ = new Map();\n }\n if (defaultAnnotation_ === void 0) {\n defaultAnnotation_ = autoAnnotation;\n }\n this.target_ = void 0;\n this.values_ = void 0;\n this.name_ = void 0;\n this.defaultAnnotation_ = void 0;\n this.keysAtom_ = void 0;\n this.changeListeners_ = void 0;\n this.interceptors_ = void 0;\n this.proxy_ = void 0;\n this.isPlainObject_ = void 0;\n this.appliedAnnotations_ = void 0;\n this.pendingKeys_ = void 0;\n this.target_ = target_;\n this.values_ = values_;\n this.name_ = name_;\n this.defaultAnnotation_ = defaultAnnotation_;\n this.keysAtom_ = new Atom(process.env.NODE_ENV !== \"production\" ? this.name_ + \".keys\" : \"ObservableObject.keys\");\n // Optimization: we use this frequently\n this.isPlainObject_ = isPlainObject(this.target_);\n if (process.env.NODE_ENV !== \"production\" && !isAnnotation(this.defaultAnnotation_)) {\n die(\"defaultAnnotation must be valid annotation\");\n }\n if (process.env.NODE_ENV !== \"production\") {\n // Prepare structure for tracking which fields were already annotated\n this.appliedAnnotations_ = {};\n }\n }\n var _proto = ObservableObjectAdministration.prototype;\n _proto.getObservablePropValue_ = function getObservablePropValue_(key) {\n return this.values_.get(key).get();\n };\n _proto.setObservablePropValue_ = function setObservablePropValue_(key, newValue) {\n var observable = this.values_.get(key);\n if (observable instanceof ComputedValue) {\n observable.set(newValue);\n return true;\n }\n // intercept\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: UPDATE,\n object: this.proxy_ || this.target_,\n name: key,\n newValue: newValue\n });\n if (!change) {\n return null;\n }\n newValue = change.newValue;\n }\n newValue = observable.prepareNewValue_(newValue);\n // notify spy & observers\n if (newValue !== globalState.UNCHANGED) {\n var notify = hasListeners(this);\n var notifySpy = process.env.NODE_ENV !== \"production\" && isSpyEnabled();\n var _change = notify || notifySpy ? {\n type: UPDATE,\n observableKind: \"object\",\n debugObjectName: this.name_,\n object: this.proxy_ || this.target_,\n oldValue: observable.value_,\n name: key,\n newValue: newValue\n } : null;\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(_change);\n }\n observable.setNewValue_(newValue);\n if (notify) {\n notifyListeners(this, _change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n }\n return true;\n };\n _proto.get_ = function get_(key) {\n if (globalState.trackingDerivation && !hasProp(this.target_, key)) {\n // Key doesn't exist yet, subscribe for it in case it's added later\n this.has_(key);\n }\n return this.target_[key];\n }\n /**\n * @param {PropertyKey} key\n * @param {any} value\n * @param {Annotation|boolean} annotation true - use default annotation, false - copy as is\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */;\n _proto.set_ = function set_(key, value, proxyTrap) {\n if (proxyTrap === void 0) {\n proxyTrap = false;\n }\n // Don't use .has(key) - we care about own\n if (hasProp(this.target_, key)) {\n // Existing prop\n if (this.values_.has(key)) {\n // Observable (can be intercepted)\n return this.setObservablePropValue_(key, value);\n } else if (proxyTrap) {\n // Non-observable - proxy\n return Reflect.set(this.target_, key, value);\n } else {\n // Non-observable\n this.target_[key] = value;\n return true;\n }\n } else {\n // New prop\n return this.extend_(key, {\n value: value,\n enumerable: true,\n writable: true,\n configurable: true\n }, this.defaultAnnotation_, proxyTrap);\n }\n }\n // Trap for \"in\"\n ;\n _proto.has_ = function has_(key) {\n if (!globalState.trackingDerivation) {\n // Skip key subscription outside derivation\n return key in this.target_;\n }\n this.pendingKeys_ || (this.pendingKeys_ = new Map());\n var entry = this.pendingKeys_.get(key);\n if (!entry) {\n entry = new ObservableValue(key in this.target_, referenceEnhancer, process.env.NODE_ENV !== \"production\" ? this.name_ + \".\" + stringifyKey(key) + \"?\" : \"ObservableObject.key?\", false);\n this.pendingKeys_.set(key, entry);\n }\n return entry.get();\n }\n /**\n * @param {PropertyKey} key\n * @param {Annotation|boolean} annotation true - use default annotation, false - ignore prop\n */;\n _proto.make_ = function make_(key, annotation) {\n if (annotation === true) {\n annotation = this.defaultAnnotation_;\n }\n if (annotation === false) {\n return;\n }\n assertAnnotable(this, annotation, key);\n if (!(key in this.target_)) {\n var _this$target_$storedA;\n // Throw on missing key, except for decorators:\n // Decorator annotations are collected from whole prototype chain.\n // When called from super() some props may not exist yet.\n // However we don't have to worry about missing prop,\n // because the decorator must have been applied to something.\n if ((_this$target_$storedA = this.target_[storedAnnotationsSymbol]) != null && _this$target_$storedA[key]) {\n return; // will be annotated by subclass constructor\n } else {\n die(1, annotation.annotationType_, this.name_ + \".\" + key.toString());\n }\n }\n var source = this.target_;\n while (source && source !== objectPrototype) {\n var descriptor = getDescriptor(source, key);\n if (descriptor) {\n var outcome = annotation.make_(this, key, descriptor, source);\n if (outcome === 0 /* MakeResult.Cancel */) {\n return;\n }\n if (outcome === 1 /* MakeResult.Break */) {\n break;\n }\n }\n source = Object.getPrototypeOf(source);\n }\n recordAnnotationApplied(this, annotation, key);\n }\n /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {Annotation|boolean} annotation true - use default annotation, false - copy as is\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */;\n _proto.extend_ = function extend_(key, descriptor, annotation, proxyTrap) {\n if (proxyTrap === void 0) {\n proxyTrap = false;\n }\n if (annotation === true) {\n annotation = this.defaultAnnotation_;\n }\n if (annotation === false) {\n return this.defineProperty_(key, descriptor, proxyTrap);\n }\n assertAnnotable(this, annotation, key);\n var outcome = annotation.extend_(this, key, descriptor, proxyTrap);\n if (outcome) {\n recordAnnotationApplied(this, annotation, key);\n }\n return outcome;\n }\n /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */;\n _proto.defineProperty_ = function defineProperty_(key, descriptor, proxyTrap) {\n if (proxyTrap === void 0) {\n proxyTrap = false;\n }\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n try {\n startBatch();\n // Delete\n var deleteOutcome = this.delete_(key);\n if (!deleteOutcome) {\n // Failure or intercepted\n return deleteOutcome;\n }\n // ADD interceptor\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: descriptor.value\n });\n if (!change) {\n return null;\n }\n var newValue = change.newValue;\n if (descriptor.value !== newValue) {\n descriptor = _extends({}, descriptor, {\n value: newValue\n });\n }\n }\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) {\n return false;\n }\n } else {\n defineProperty(this.target_, key, descriptor);\n }\n // Notify\n this.notifyPropertyAddition_(key, descriptor.value);\n } finally {\n endBatch();\n }\n return true;\n }\n // If original descriptor becomes relevant, move this to annotation directly\n ;\n _proto.defineObservableProperty_ = function defineObservableProperty_(key, value, enhancer, proxyTrap) {\n if (proxyTrap === void 0) {\n proxyTrap = false;\n }\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n try {\n startBatch();\n // Delete\n var deleteOutcome = this.delete_(key);\n if (!deleteOutcome) {\n // Failure or intercepted\n return deleteOutcome;\n }\n // ADD interceptor\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: value\n });\n if (!change) {\n return null;\n }\n value = change.newValue;\n }\n var cachedDescriptor = getCachedObservablePropDescriptor(key);\n var descriptor = {\n configurable: globalState.safeDescriptors ? this.isPlainObject_ : true,\n enumerable: true,\n get: cachedDescriptor.get,\n set: cachedDescriptor.set\n };\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) {\n return false;\n }\n } else {\n defineProperty(this.target_, key, descriptor);\n }\n var observable = new ObservableValue(value, enhancer, process.env.NODE_ENV !== \"production\" ? this.name_ + \".\" + key.toString() : \"ObservableObject.key\", false);\n this.values_.set(key, observable);\n // Notify (value possibly changed by ObservableValue)\n this.notifyPropertyAddition_(key, observable.value_);\n } finally {\n endBatch();\n }\n return true;\n }\n // If original descriptor becomes relevant, move this to annotation directly\n ;\n _proto.defineComputedProperty_ = function defineComputedProperty_(key, options, proxyTrap) {\n if (proxyTrap === void 0) {\n proxyTrap = false;\n }\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n try {\n startBatch();\n // Delete\n var deleteOutcome = this.delete_(key);\n if (!deleteOutcome) {\n // Failure or intercepted\n return deleteOutcome;\n }\n // ADD interceptor\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: undefined\n });\n if (!change) {\n return null;\n }\n }\n options.name || (options.name = process.env.NODE_ENV !== \"production\" ? this.name_ + \".\" + key.toString() : \"ObservableObject.key\");\n options.context = this.proxy_ || this.target_;\n var cachedDescriptor = getCachedObservablePropDescriptor(key);\n var descriptor = {\n configurable: globalState.safeDescriptors ? this.isPlainObject_ : true,\n enumerable: false,\n get: cachedDescriptor.get,\n set: cachedDescriptor.set\n };\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) {\n return false;\n }\n } else {\n defineProperty(this.target_, key, descriptor);\n }\n this.values_.set(key, new ComputedValue(options));\n // Notify\n this.notifyPropertyAddition_(key, undefined);\n } finally {\n endBatch();\n }\n return true;\n }\n /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */;\n _proto.delete_ = function delete_(key, proxyTrap) {\n if (proxyTrap === void 0) {\n proxyTrap = false;\n }\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n // No such prop\n if (!hasProp(this.target_, key)) {\n return true;\n }\n // Intercept\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: REMOVE\n });\n // Cancelled\n if (!change) {\n return null;\n }\n }\n // Delete\n try {\n var _this$pendingKeys_;\n startBatch();\n var notify = hasListeners(this);\n var notifySpy = process.env.NODE_ENV !== \"production\" && isSpyEnabled();\n var observable = this.values_.get(key);\n // Value needed for spies/listeners\n var value = undefined;\n // Optimization: don't pull the value unless we will need it\n if (!observable && (notify || notifySpy)) {\n var _getDescriptor;\n value = (_getDescriptor = getDescriptor(this.target_, key)) == null ? void 0 : _getDescriptor.value;\n }\n // delete prop (do first, may fail)\n if (proxyTrap) {\n if (!Reflect.deleteProperty(this.target_, key)) {\n return false;\n }\n } else {\n delete this.target_[key];\n }\n // Allow re-annotating this field\n if (process.env.NODE_ENV !== \"production\") {\n delete this.appliedAnnotations_[key];\n }\n // Clear observable\n if (observable) {\n this.values_[\"delete\"](key);\n // for computed, value is undefined\n if (observable instanceof ObservableValue) {\n value = observable.value_;\n }\n // Notify: autorun(() => obj[key]), see #1796\n propagateChanged(observable);\n }\n // Notify \"keys/entries/values\" observers\n this.keysAtom_.reportChanged();\n // Notify \"has\" observers\n // \"in\" as it may still exist in proto\n (_this$pendingKeys_ = this.pendingKeys_) == null || (_this$pendingKeys_ = _this$pendingKeys_.get(key)) == null || _this$pendingKeys_.set(key in this.target_);\n // Notify spies/listeners\n if (notify || notifySpy) {\n var _change2 = {\n type: REMOVE,\n observableKind: \"object\",\n object: this.proxy_ || this.target_,\n debugObjectName: this.name_,\n oldValue: value,\n name: key\n };\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(_change2);\n }\n if (notify) {\n notifyListeners(this, _change2);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n }\n } finally {\n endBatch();\n }\n return true;\n }\n /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */;\n _proto.observe_ = function observe_(callback, fireImmediately) {\n if (process.env.NODE_ENV !== \"production\" && fireImmediately === true) {\n die(\"`observe` doesn't support the fire immediately property for observable objects.\");\n }\n return registerListener(this, callback);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.notifyPropertyAddition_ = function notifyPropertyAddition_(key, value) {\n var _this$pendingKeys_2;\n var notify = hasListeners(this);\n var notifySpy = process.env.NODE_ENV !== \"production\" && isSpyEnabled();\n if (notify || notifySpy) {\n var change = notify || notifySpy ? {\n type: ADD,\n observableKind: \"object\",\n debugObjectName: this.name_,\n object: this.proxy_ || this.target_,\n name: key,\n newValue: value\n } : null;\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(change);\n }\n if (notify) {\n notifyListeners(this, change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n }\n (_this$pendingKeys_2 = this.pendingKeys_) == null || (_this$pendingKeys_2 = _this$pendingKeys_2.get(key)) == null || _this$pendingKeys_2.set(true);\n // Notify \"keys/entries/values\" observers\n this.keysAtom_.reportChanged();\n };\n _proto.ownKeys_ = function ownKeys_() {\n this.keysAtom_.reportObserved();\n return ownKeys(this.target_);\n };\n _proto.keys_ = function keys_() {\n // Returns enumerable && own, but unfortunately keysAtom will report on ANY key change.\n // There is no way to distinguish between Object.keys(object) and Reflect.ownKeys(object) - both are handled by ownKeys trap.\n // We can either over-report in Object.keys(object) or under-report in Reflect.ownKeys(object)\n // We choose to over-report in Object.keys(object), because:\n // - typically it's used with simple data objects\n // - when symbolic/non-enumerable keys are relevant Reflect.ownKeys works as expected\n this.keysAtom_.reportObserved();\n return Object.keys(this.target_);\n };\n return ObservableObjectAdministration;\n}();\nfunction asObservableObject(target, options) {\n var _options$name;\n if (process.env.NODE_ENV !== \"production\" && options && isObservableObject(target)) {\n die(\"Options can't be provided for already observable objects.\");\n }\n if (hasProp(target, $mobx)) {\n if (process.env.NODE_ENV !== \"production\" && !(getAdministration(target) instanceof ObservableObjectAdministration)) {\n die(\"Cannot convert '\" + getDebugName(target) + \"' into observable object:\" + \"\\nThe target is already observable of different type.\" + \"\\nExtending builtins is not supported.\");\n }\n return target;\n }\n if (process.env.NODE_ENV !== \"production\" && !Object.isExtensible(target)) {\n die(\"Cannot make the designated object observable; it is not extensible\");\n }\n var name = (_options$name = options == null ? void 0 : options.name) != null ? _options$name : process.env.NODE_ENV !== \"production\" ? (isPlainObject(target) ? \"ObservableObject\" : target.constructor.name) + \"@\" + getNextId() : \"ObservableObject\";\n var adm = new ObservableObjectAdministration(target, new Map(), String(name), getAnnotationFromOptions(options));\n addHiddenProp(target, $mobx, adm);\n return target;\n}\nvar isObservableObjectAdministration = /*#__PURE__*/createInstanceofPredicate(\"ObservableObjectAdministration\", ObservableObjectAdministration);\nfunction getCachedObservablePropDescriptor(key) {\n return descriptorCache[key] || (descriptorCache[key] = {\n get: function get() {\n return this[$mobx].getObservablePropValue_(key);\n },\n set: function set(value) {\n return this[$mobx].setObservablePropValue_(key, value);\n }\n });\n}\nfunction isObservableObject(thing) {\n if (isObject(thing)) {\n return isObservableObjectAdministration(thing[$mobx]);\n }\n return false;\n}\nfunction recordAnnotationApplied(adm, annotation, key) {\n var _adm$target_$storedAn;\n if (process.env.NODE_ENV !== \"production\") {\n adm.appliedAnnotations_[key] = annotation;\n }\n // Remove applied decorator annotation so we don't try to apply it again in subclass constructor\n (_adm$target_$storedAn = adm.target_[storedAnnotationsSymbol]) == null || delete _adm$target_$storedAn[key];\n}\nfunction assertAnnotable(adm, annotation, key) {\n // Valid annotation\n if (process.env.NODE_ENV !== \"production\" && !isAnnotation(annotation)) {\n die(\"Cannot annotate '\" + adm.name_ + \".\" + key.toString() + \"': Invalid annotation.\");\n }\n /*\n // Configurable, not sealed, not frozen\n // Possibly not needed, just a little better error then the one thrown by engine.\n // Cases where this would be useful the most (subclass field initializer) are not interceptable by this.\n if (__DEV__) {\n const configurable = getDescriptor(adm.target_, key)?.configurable\n const frozen = Object.isFrozen(adm.target_)\n const sealed = Object.isSealed(adm.target_)\n if (!configurable || frozen || sealed) {\n const fieldName = `${adm.name_}.${key.toString()}`\n const requestedAnnotationType = annotation.annotationType_\n let error = `Cannot apply '${requestedAnnotationType}' to '${fieldName}':`\n if (frozen) {\n error += `\\nObject is frozen.`\n }\n if (sealed) {\n error += `\\nObject is sealed.`\n }\n if (!configurable) {\n error += `\\nproperty is not configurable.`\n // Mention only if caused by us to avoid confusion\n if (hasProp(adm.appliedAnnotations!, key)) {\n error += `\\nTo prevent accidental re-definition of a field by a subclass, `\n error += `all annotated fields of non-plain objects (classes) are not configurable.`\n }\n }\n die(error)\n }\n }\n */\n // Not annotated\n if (process.env.NODE_ENV !== \"production\" && !isOverride(annotation) && hasProp(adm.appliedAnnotations_, key)) {\n var fieldName = adm.name_ + \".\" + key.toString();\n var currentAnnotationType = adm.appliedAnnotations_[key].annotationType_;\n var requestedAnnotationType = annotation.annotationType_;\n die(\"Cannot apply '\" + requestedAnnotationType + \"' to '\" + fieldName + \"':\" + (\"\\nThe field is already annotated with '\" + currentAnnotationType + \"'.\") + \"\\nRe-annotating fields is not allowed.\" + \"\\nUse 'override' annotation for methods overridden by subclass.\");\n }\n}\n\n// Bug in safari 9.* (or iOS 9 safari mobile). See #364\nvar ENTRY_0 = /*#__PURE__*/createArrayEntryDescriptor(0);\nvar safariPrototypeSetterInheritanceBug = /*#__PURE__*/function () {\n var v = false;\n var p = {};\n Object.defineProperty(p, \"0\", {\n set: function set() {\n v = true;\n }\n });\n /*#__PURE__*/Object.create(p)[\"0\"] = 1;\n return v === false;\n}();\n/**\n * This array buffer contains two lists of properties, so that all arrays\n * can recycle their property definitions, which significantly improves performance of creating\n * properties on the fly.\n */\nvar OBSERVABLE_ARRAY_BUFFER_SIZE = 0;\n// Typescript workaround to make sure ObservableArray extends Array\nvar StubArray = function StubArray() {};\nfunction inherit(ctor, proto) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(ctor.prototype, proto);\n } else if (ctor.prototype.__proto__ !== undefined) {\n ctor.prototype.__proto__ = proto;\n } else {\n ctor.prototype = proto;\n }\n}\ninherit(StubArray, Array.prototype);\n// Weex proto freeze protection was here,\n// but it is unclear why the hack is need as MobX never changed the prototype\n// anyway, so removed it in V6\nvar LegacyObservableArray = /*#__PURE__*/function (_StubArray) {\n function LegacyObservableArray(initialValues, enhancer, name, owned) {\n var _this;\n if (name === void 0) {\n name = process.env.NODE_ENV !== \"production\" ? \"ObservableArray@\" + getNextId() : \"ObservableArray\";\n }\n if (owned === void 0) {\n owned = false;\n }\n _this = _StubArray.call(this) || this;\n initObservable(function () {\n var adm = new ObservableArrayAdministration(name, enhancer, owned, true);\n adm.proxy_ = _this;\n addHiddenFinalProp(_this, $mobx, adm);\n if (initialValues && initialValues.length) {\n // @ts-ignore\n _this.spliceWithArray(0, 0, initialValues);\n }\n if (safariPrototypeSetterInheritanceBug) {\n // Seems that Safari won't use numeric prototype setter until any * numeric property is\n // defined on the instance. After that it works fine, even if this property is deleted.\n Object.defineProperty(_this, \"0\", ENTRY_0);\n }\n });\n return _this;\n }\n _inheritsLoose(LegacyObservableArray, _StubArray);\n var _proto = LegacyObservableArray.prototype;\n _proto.concat = function concat() {\n this[$mobx].atom_.reportObserved();\n for (var _len = arguments.length, arrays = new Array(_len), _key = 0; _key < _len; _key++) {\n arrays[_key] = arguments[_key];\n }\n return Array.prototype.concat.apply(this.slice(),\n //@ts-ignore\n arrays.map(function (a) {\n return isObservableArray(a) ? a.slice() : a;\n }));\n };\n _proto[Symbol.iterator] = function () {\n var self = this;\n var nextIndex = 0;\n return makeIterable({\n next: function next() {\n return nextIndex < self.length ? {\n value: self[nextIndex++],\n done: false\n } : {\n done: true,\n value: undefined\n };\n }\n });\n };\n return _createClass(LegacyObservableArray, [{\n key: \"length\",\n get: function get() {\n return this[$mobx].getArrayLength_();\n },\n set: function set(newLength) {\n this[$mobx].setArrayLength_(newLength);\n }\n }, {\n key: Symbol.toStringTag,\n get: function get() {\n return \"Array\";\n }\n }]);\n}(StubArray);\nObject.entries(arrayExtensions).forEach(function (_ref) {\n var prop = _ref[0],\n fn = _ref[1];\n if (prop !== \"concat\") {\n addHiddenProp(LegacyObservableArray.prototype, prop, fn);\n }\n});\nfunction createArrayEntryDescriptor(index) {\n return {\n enumerable: false,\n configurable: true,\n get: function get() {\n return this[$mobx].get_(index);\n },\n set: function set(value) {\n this[$mobx].set_(index, value);\n }\n };\n}\nfunction createArrayBufferItem(index) {\n defineProperty(LegacyObservableArray.prototype, \"\" + index, createArrayEntryDescriptor(index));\n}\nfunction reserveArrayBuffer(max) {\n if (max > OBSERVABLE_ARRAY_BUFFER_SIZE) {\n for (var index = OBSERVABLE_ARRAY_BUFFER_SIZE; index < max + 100; index++) {\n createArrayBufferItem(index);\n }\n OBSERVABLE_ARRAY_BUFFER_SIZE = max;\n }\n}\nreserveArrayBuffer(1000);\nfunction createLegacyArray(initialValues, enhancer, name) {\n return new LegacyObservableArray(initialValues, enhancer, name);\n}\n\nfunction getAtom(thing, property) {\n if (typeof thing === \"object\" && thing !== null) {\n if (isObservableArray(thing)) {\n if (property !== undefined) {\n die(23);\n }\n return thing[$mobx].atom_;\n }\n if (isObservableSet(thing)) {\n return thing.atom_;\n }\n if (isObservableMap(thing)) {\n if (property === undefined) {\n return thing.keysAtom_;\n }\n var observable = thing.data_.get(property) || thing.hasMap_.get(property);\n if (!observable) {\n die(25, property, getDebugName(thing));\n }\n return observable;\n }\n if (isObservableObject(thing)) {\n if (!property) {\n return die(26);\n }\n var _observable = thing[$mobx].values_.get(property);\n if (!_observable) {\n die(27, property, getDebugName(thing));\n }\n return _observable;\n }\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) {\n return thing;\n }\n } else if (isFunction(thing)) {\n if (isReaction(thing[$mobx])) {\n // disposer function\n return thing[$mobx];\n }\n }\n die(28);\n}\nfunction getAdministration(thing, property) {\n if (!thing) {\n die(29);\n }\n if (property !== undefined) {\n return getAdministration(getAtom(thing, property));\n }\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) {\n return thing;\n }\n if (isObservableMap(thing) || isObservableSet(thing)) {\n return thing;\n }\n if (thing[$mobx]) {\n return thing[$mobx];\n }\n die(24, thing);\n}\nfunction getDebugName(thing, property) {\n var named;\n if (property !== undefined) {\n named = getAtom(thing, property);\n } else if (isAction(thing)) {\n return thing.name;\n } else if (isObservableObject(thing) || isObservableMap(thing) || isObservableSet(thing)) {\n named = getAdministration(thing);\n } else {\n // valid for arrays as well\n named = getAtom(thing);\n }\n return named.name_;\n}\n/**\n * Helper function for initializing observable structures, it applies:\n * 1. allowStateChanges so we don't violate enforceActions.\n * 2. untracked so we don't accidentaly subscribe to anything observable accessed during init in case the observable is created inside derivation.\n * 3. batch to avoid state version updates\n */\nfunction initObservable(cb) {\n var derivation = untrackedStart();\n var allowStateChanges = allowStateChangesStart(true);\n startBatch();\n try {\n return cb();\n } finally {\n endBatch();\n allowStateChangesEnd(allowStateChanges);\n untrackedEnd(derivation);\n }\n}\n\nvar toString = objectPrototype.toString;\nfunction deepEqual(a, b, depth) {\n if (depth === void 0) {\n depth = -1;\n }\n return eq(a, b, depth);\n}\n// Copied from https://github.com/jashkenas/underscore/blob/5c237a7c682fb68fd5378203f0bf22dce1624854/underscore.js#L1186-L1289\n// Internal recursive comparison function for `isEqual`.\nfunction eq(a, b, depth, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) {\n return a !== 0 || 1 / a === 1 / b;\n }\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) {\n return false;\n }\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) {\n return b !== b;\n }\n // Exhaust primitive checks\n var type = typeof a;\n if (type !== \"function\" && type !== \"object\" && typeof b != \"object\") {\n return false;\n }\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) {\n return false;\n }\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case \"[object RegExp]\":\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case \"[object String]\":\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return \"\" + a === \"\" + b;\n case \"[object Number]\":\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) {\n return +b !== +b;\n }\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case \"[object Date]\":\n case \"[object Boolean]\":\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n case \"[object Symbol]\":\n return typeof Symbol !== \"undefined\" && Symbol.valueOf.call(a) === Symbol.valueOf.call(b);\n case \"[object Map]\":\n case \"[object Set]\":\n // Maps and Sets are unwrapped to arrays of entry-pairs, adding an incidental level.\n // Hide this extra level by increasing the depth.\n if (depth >= 0) {\n depth++;\n }\n break;\n }\n // Unwrap any wrapped objects.\n a = unwrap(a);\n b = unwrap(b);\n var areArrays = className === \"[object Array]\";\n if (!areArrays) {\n if (typeof a != \"object\" || typeof b != \"object\") {\n return false;\n }\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor,\n bCtor = b.constructor;\n if (aCtor !== bCtor && !(isFunction(aCtor) && aCtor instanceof aCtor && isFunction(bCtor) && bCtor instanceof bCtor) && \"constructor\" in a && \"constructor\" in b) {\n return false;\n }\n }\n if (depth === 0) {\n return false;\n } else if (depth < 0) {\n depth = -1;\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) {\n return bStack[length] === b;\n }\n }\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) {\n return false;\n }\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], depth - 1, aStack, bStack)) {\n return false;\n }\n }\n } else {\n // Deep compare objects.\n var keys = Object.keys(a);\n var key;\n length = keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (Object.keys(b).length !== length) {\n return false;\n }\n while (length--) {\n // Deep compare each member\n key = keys[length];\n if (!(hasProp(b, key) && eq(a[key], b[key], depth - 1, aStack, bStack))) {\n return false;\n }\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n}\nfunction unwrap(a) {\n if (isObservableArray(a)) {\n return a.slice();\n }\n if (isES6Map(a) || isObservableMap(a)) {\n return Array.from(a.entries());\n }\n if (isES6Set(a) || isObservableSet(a)) {\n return Array.from(a.entries());\n }\n return a;\n}\n\nvar _getGlobal$Iterator;\n// safely get iterator prototype if available\nvar maybeIteratorPrototype = ((_getGlobal$Iterator = /*#__PURE__*/getGlobal().Iterator) == null ? void 0 : _getGlobal$Iterator.prototype) || {};\nfunction makeIterable(iterator) {\n iterator[Symbol.iterator] = getSelf;\n return Object.assign(Object.create(maybeIteratorPrototype), iterator);\n}\nfunction getSelf() {\n return this;\n}\n\nfunction isAnnotation(thing) {\n return (\n // Can be function\n thing instanceof Object && typeof thing.annotationType_ === \"string\" && isFunction(thing.make_) && isFunction(thing.extend_)\n );\n}\n\n/**\n * (c) Michel Weststrate 2015 - 2020\n * MIT Licensed\n *\n * Welcome to the mobx sources! To get a global overview of how MobX internally works,\n * this is a good place to start:\n * https://medium.com/@mweststrate/becoming-fully-reactive-an-in-depth-explanation-of-mobservable-55995262a254#.xvbh6qd74\n *\n * Source folders:\n * ===============\n *\n * - api/ Most of the public static methods exposed by the module can be found here.\n * - core/ Implementation of the MobX algorithm; atoms, derivations, reactions, dependency trees, optimizations. Cool stuff can be found here.\n * - types/ All the magic that is need to have observable objects, arrays and values is in this folder. Including the modifiers like `asFlat`.\n * - utils/ Utility stuff.\n *\n */\n[\"Symbol\", \"Map\", \"Set\"].forEach(function (m) {\n var g = getGlobal();\n if (typeof g[m] === \"undefined\") {\n die(\"MobX requires global '\" + m + \"' to be available or polyfilled\");\n }\n});\nif (typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__ === \"object\") {\n // See: https://github.com/andykog/mobx-devtools/\n __MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({\n spy: spy,\n extras: {\n getDebugName: getDebugName\n },\n $mobx: $mobx\n });\n}\n\nexport { $mobx, FlowCancellationError, ObservableMap, ObservableSet, Reaction, allowStateChanges as _allowStateChanges, runInAction as _allowStateChangesInsideComputed, allowStateReadsEnd as _allowStateReadsEnd, allowStateReadsStart as _allowStateReadsStart, autoAction as _autoAction, _endAction, getAdministration as _getAdministration, getGlobalState as _getGlobalState, interceptReads as _interceptReads, isComputingDerivation as _isComputingDerivation, resetGlobalState as _resetGlobalState, _startAction, action, autorun, comparer, computed, configure, createAtom, apiDefineProperty as defineProperty, entries, extendObservable, flow, flowResult, get, getAtom, getDebugName, getDependencyTree, getObserverTree, has, intercept, isAction, isObservableValue as isBoxedObservable, isComputed, isComputedProp, isFlow, isFlowCancellationError, isObservable, isObservableArray, isObservableMap, isObservableObject, isObservableProp, isObservableSet, keys, makeAutoObservable, makeObservable, observable, observe, onBecomeObserved, onBecomeUnobserved, onReactionError, override, apiOwnKeys as ownKeys, reaction, remove, runInAction, set, spy, toJS, trace, transaction, untracked, values, when };\n//# sourceMappingURL=mobx.esm.js.map\n","const niceErrors = {\n 0: `Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'`,\n 1(annotationType, key: PropertyKey) {\n return `Cannot apply '${annotationType}' to '${key.toString()}': Field not found.`\n },\n /*\n 2(prop) {\n return `invalid decorator for '${prop.toString()}'`\n },\n 3(prop) {\n return `Cannot decorate '${prop.toString()}': action can only be used on properties with a function value.`\n },\n 4(prop) {\n return `Cannot decorate '${prop.toString()}': computed can only be used on getter properties.`\n },\n */\n 5: \"'keys()' can only be used on observable objects, arrays, sets and maps\",\n 6: \"'values()' can only be used on observable objects, arrays, sets and maps\",\n 7: \"'entries()' can only be used on observable objects, arrays and maps\",\n 8: \"'set()' can only be used on observable objects, arrays and maps\",\n 9: \"'remove()' can only be used on observable objects, arrays and maps\",\n 10: \"'has()' can only be used on observable objects, arrays and maps\",\n 11: \"'get()' can only be used on observable objects, arrays and maps\",\n 12: `Invalid annotation`,\n 13: `Dynamic observable objects cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,\n 14: \"Intercept handlers should return nothing or a change object\",\n 15: `Observable arrays cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,\n 16: `Modification exception: the internal structure of an observable array was changed.`,\n 17(index, length) {\n return `[mobx.array] Index out of bounds, ${index} is larger than ${length}`\n },\n 18: \"mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js\",\n 19(other) {\n return \"Cannot initialize from classes that inherit from Map: \" + other.constructor.name\n },\n 20(other) {\n return \"Cannot initialize map from \" + other\n },\n 21(dataStructure) {\n return `Cannot convert to map from '${dataStructure}'`\n },\n 22: \"mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js\",\n 23: \"It is not possible to get index atoms from arrays\",\n 24(thing) {\n return \"Cannot obtain administration from \" + thing\n },\n 25(property, name) {\n return `the entry '${property}' does not exist in the observable map '${name}'`\n },\n 26: \"please specify a property\",\n 27(property, name) {\n return `no observable property '${property.toString()}' found on the observable object '${name}'`\n },\n 28(thing) {\n return \"Cannot obtain atom from \" + thing\n },\n 29: \"Expecting some object\",\n 30: \"invalid action stack. did you forget to finish an action?\",\n 31: \"missing option for computed: get\",\n 32(name, derivation) {\n return `Cycle detected in computation ${name}: ${derivation}`\n },\n 33(name) {\n return `The setter of computed value '${name}' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?`\n },\n 34(name) {\n return `[ComputedValue '${name}'] It is not possible to assign a new value to a computed value.`\n },\n 35: \"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`\",\n 36: \"isolateGlobalState should be called before MobX is running any reactions\",\n 37(method) {\n return `[mobx] \\`observableArray.${method}()\\` mutates the array in-place, which is not allowed inside a derivation. Use \\`array.slice().${method}()\\` instead`\n },\n 38: \"'ownKeys()' can only be used on observable objects\",\n 39: \"'defineProperty()' can only be used on observable objects\"\n} as const\n\nconst errors: typeof niceErrors = __DEV__ ? niceErrors : ({} as any)\n\nexport function die(error: string | keyof typeof errors, ...args: any[]): never {\n if (__DEV__) {\n let e: any = typeof error === \"string\" ? error : errors[error]\n if (typeof e === \"function\") e = e.apply(null, args as any)\n throw new Error(`[MobX] ${e}`)\n }\n throw new Error(\n typeof error === \"number\"\n ? `[MobX] minified error nr: ${error}${\n args.length ? \" \" + args.map(String).join(\",\") : \"\"\n }. Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts`\n : `[MobX] ${error}`\n )\n}\n","declare const window: any\ndeclare const self: any\n\nconst mockGlobal = {}\n\nexport function getGlobal() {\n if (typeof globalThis !== \"undefined\") {\n return globalThis\n }\n if (typeof window !== \"undefined\") {\n return window\n }\n if (typeof global !== \"undefined\") {\n return global\n }\n if (typeof self !== \"undefined\") {\n return self\n }\n return mockGlobal\n}\n","import { globalState, die } from \"../internal\"\n\n// We shorten anything used > 5 times\nexport const assign = Object.assign\nexport const getDescriptor = Object.getOwnPropertyDescriptor\nexport const defineProperty = Object.defineProperty\nexport const objectPrototype = Object.prototype\n\nexport const EMPTY_ARRAY = []\nObject.freeze(EMPTY_ARRAY)\n\nexport const EMPTY_OBJECT = {}\nObject.freeze(EMPTY_OBJECT)\n\nexport interface Lambda {\n (): void\n name?: string\n}\n\nconst hasProxy = typeof Proxy !== \"undefined\"\nconst plainObjectString = Object.toString()\n\nexport function assertProxies() {\n if (!hasProxy) {\n die(\n __DEV__\n ? \"`Proxy` objects are not available in the current environment. Please configure MobX to enable a fallback implementation.`\"\n : \"Proxy not available\"\n )\n }\n}\n\nexport function warnAboutProxyRequirement(msg: string) {\n if (__DEV__ && globalState.verifyProxies) {\n die(\n \"MobX is currently configured to be able to run in ES5 mode, but in ES5 MobX won't be able to \" +\n msg\n )\n }\n}\n\nexport function getNextId() {\n return ++globalState.mobxGuid\n}\n\n/**\n * Makes sure that the provided function is invoked at most once.\n */\nexport function once(func: Lambda): Lambda {\n let invoked = false\n return function () {\n if (invoked) {\n return\n }\n invoked = true\n return (func as any).apply(this, arguments)\n }\n}\n\nexport const noop = () => {}\n\nexport function isFunction(fn: any): fn is Function {\n return typeof fn === \"function\"\n}\n\nexport function isString(value: any): value is string {\n return typeof value === \"string\"\n}\n\nexport function isStringish(value: any): value is string | number | symbol {\n const t = typeof value\n switch (t) {\n case \"string\":\n case \"symbol\":\n case \"number\":\n return true\n }\n return false\n}\n\nexport function isObject(value: any): value is Object {\n return value !== null && typeof value === \"object\"\n}\n\nexport function isPlainObject(value: any) {\n if (!isObject(value)) {\n return false\n }\n const proto = Object.getPrototypeOf(value)\n if (proto == null) {\n return true\n }\n const protoConstructor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor\n return (\n typeof protoConstructor === \"function\" && protoConstructor.toString() === plainObjectString\n )\n}\n\n// https://stackoverflow.com/a/37865170\nexport function isGenerator(obj: any): boolean {\n const constructor = obj?.constructor\n if (!constructor) {\n return false\n }\n if (\n \"GeneratorFunction\" === constructor.name ||\n \"GeneratorFunction\" === constructor.displayName\n ) {\n return true\n }\n return false\n}\n\nexport function addHiddenProp(object: any, propName: PropertyKey, value: any) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: true,\n configurable: true,\n value\n })\n}\n\nexport function addHiddenFinalProp(object: any, propName: PropertyKey, value: any) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: false,\n configurable: true,\n value\n })\n}\n\nexport function createInstanceofPredicate<T>(\n name: string,\n theClass: new (...args: any[]) => T\n): (x: any) => x is T {\n const propName = \"isMobX\" + name\n theClass.prototype[propName] = true\n return function (x) {\n return isObject(x) && x[propName] === true\n } as any\n}\n\n/**\n * Yields true for both native and observable Map, even across different windows.\n */\nexport function isES6Map(thing: unknown): thing is Map<any, any> {\n return thing != null && Object.prototype.toString.call(thing) === \"[object Map]\"\n}\n\n/**\n * Makes sure a Map is an instance of non-inherited native or observable Map.\n */\nexport function isPlainES6Map(thing: Map<unknown, unknown>): boolean {\n const mapProto = Object.getPrototypeOf(thing)\n const objectProto = Object.getPrototypeOf(mapProto)\n const nullProto = Object.getPrototypeOf(objectProto)\n return nullProto === null\n}\n\n/**\n * Yields true for both native and observable Set, even across different windows.\n */\nexport function isES6Set(thing: unknown): thing is Set<any> {\n return thing != null && Object.prototype.toString.call(thing) === \"[object Set]\"\n}\n\nconst hasGetOwnPropertySymbols = typeof Object.getOwnPropertySymbols !== \"undefined\"\n\n/**\n * Returns the following: own enumerable keys and symbols.\n */\nexport function getPlainObjectKeys(object: any) {\n const keys = Object.keys(object)\n // Not supported in IE, so there are not going to be symbol props anyway...\n if (!hasGetOwnPropertySymbols) {\n return keys\n }\n const symbols = Object.getOwnPropertySymbols(object)\n if (!symbols.length) {\n return keys\n }\n return [...keys, ...symbols.filter(s => objectPrototype.propertyIsEnumerable.call(object, s))]\n}\n\n// From Immer utils\n// Returns all own keys, including non-enumerable and symbolic\nexport const ownKeys: (target: any) => Array<string | symbol> =\n typeof Reflect !== \"undefined\" && Reflect.ownKeys\n ? Reflect.ownKeys\n : hasGetOwnPropertySymbols\n ? obj => Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj) as any)\n : /* istanbul ignore next */ Object.getOwnPropertyNames\n\nexport function stringifyKey(key: any): string {\n if (typeof key === \"string\") {\n return key\n }\n if (typeof key === \"symbol\") {\n return key.toString()\n }\n return new String(key).toString()\n}\n\nexport function toPrimitive(value: any) {\n return value === null ? null : typeof value === \"object\" ? \"\" + value : value\n}\n\nexport function hasProp(target: Object, prop: PropertyKey): boolean {\n return objectPrototype.hasOwnProperty.call(target, prop)\n}\n\n// From Immer utils\nexport const getOwnPropertyDescriptors =\n Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(target: any) {\n // Polyfill needed for Hermes and IE, see https://github.com/facebook/hermes/issues/274\n const res: any = {}\n // Note: without polyfill for ownKeys, symbols won't be picked up\n ownKeys(target).forEach(key => {\n res[key] = getDescriptor(target, key)\n })\n return res\n }\n\nexport function getFlag(flags: number, mask: number) {\n return !!(flags & mask)\n}\n\nexport function setFlag(flags: number, mask: number, newValue: boolean): number {\n if (newValue) {\n flags |= mask\n } else {\n flags &= ~mask\n }\n return flags\n}\n","import { Annotation, addHiddenProp, AnnotationsMap, hasProp, die, isOverride } from \"../internal\"\n\nimport type { Decorator } from \"../types/decorator_fills\"\n\nexport const storedAnnotationsSymbol = Symbol(\"mobx-stored-annotations\")\n\n/**\n * Creates a function that acts as\n * - decorator\n * - annotation object\n */\nexport function createDecoratorAnnotation<D extends Decorator = Decorator>(\n annotation: Annotation\n): PropertyDecorator & Annotation & D {\n function decorator(target, property) {\n if (is20223Decorator(property)) {\n return annotation.decorate_20223_(target, property)\n } else {\n storeAnnotation(target, property, annotation)\n }\n }\n return Object.assign(decorator, annotation) as any\n}\n\n/**\n * Stores annotation to prototype,\n * so it can be inspected later by `makeObservable` called from constructor\n */\nexport function storeAnnotation(prototype: any, key: PropertyKey, annotation: Annotation) {\n if (!hasProp(prototype, storedAnnotationsSymbol)) {\n addHiddenProp(prototype, storedAnnotationsSymbol, {\n // Inherit annotations\n ...prototype[storedAnnotationsSymbol]\n })\n }\n // @override must override something\n if (__DEV__ && isOverride(annotation) && !hasProp(prototype[storedAnnotationsSymbol], key)) {\n const fieldName = `${prototype.constructor.name}.prototype.${key.toString()}`\n die(\n `'${fieldName}' is decorated with 'override', ` +\n `but no such decorated member was found on prototype.`\n )\n }\n // Cannot re-decorate\n assertNotDecorated(prototype, annotation, key)\n\n // Ignore override\n if (!isOverride(annotation)) {\n prototype[storedAnnotationsSymbol][key] = annotation\n }\n}\n\nfunction assertNotDecorated(prototype: object, annotation: Annotation, key: PropertyKey) {\n if (__DEV__ && !isOverride(annotation) && hasProp(prototype[storedAnnotationsSymbol], key)) {\n const fieldName = `${prototype.constructor.name}.prototype.${key.toString()}`\n const currentAnnotationType = prototype[storedAnnotationsSymbol][key].annotationType_\n const requestedAnnotationType = annotation.annotationType_\n die(\n `Cannot apply '@${requestedAnnotationType}' to '${fieldName}':` +\n `\\nThe field is already decorated with '@${currentAnnotationType}'.` +\n `\\nRe-decorating fields is not allowed.` +\n `\\nUse '@override' decorator for methods overridden by subclass.`\n )\n }\n}\n\n/**\n * Collects annotations from prototypes and stores them on target (instance)\n */\nexport function collectStoredAnnotations(target): AnnotationsMap<any, any> {\n if (!hasProp(target, storedAnnotationsSymbol)) {\n // if (__DEV__ && !target[storedAnnotationsSymbol]) {\n // die(\n // `No annotations were passed to makeObservable, but no decorated members have been found either`\n // )\n // }\n // We need a copy as we will remove annotation from the list once it's applied.\n addHiddenProp(target, storedAnnotationsSymbol, { ...target[storedAnnotationsSymbol] })\n }\n return target[storedAnnotationsSymbol]\n}\n\nexport function is20223Decorator(context): context is DecoratorContext {\n return typeof context == \"object\" && typeof context[\"kind\"] == \"string\"\n}\n\nexport function assert20223DecoratorType(\n context: DecoratorContext,\n types: DecoratorContext[\"kind\"][]\n) {\n if (__DEV__ && !types.includes(context.kind)) {\n die(\n `The decorator applied to '${String(context.name)}' cannot be used on a ${\n context.kind\n } element`\n )\n }\n}\n","import {\n IDerivationState_,\n IObservable,\n IDerivation,\n createInstanceofPredicate,\n endBatch,\n getNextId,\n noop,\n onBecomeObserved,\n onBecomeUnobserved,\n propagateChanged,\n reportObserved,\n startBatch,\n Lambda\n} from \"../internal\"\n\nimport { getFlag, setFlag } from \"../utils/utils\"\n\nexport const $mobx = Symbol(\"mobx administration\")\n\nexport interface IAtom extends IObservable {\n reportObserved(): boolean\n reportChanged(): void\n}\n\nexport class Atom implements IAtom {\n private static readonly isBeingObservedMask_ = 0b001\n private static readonly isPendingUnobservationMask_ = 0b010\n private static readonly diffValueMask_ = 0b100\n private flags_ = 0b000\n\n observers_ = new Set<IDerivation>()\n\n lastAccessedBy_ = 0\n lowestObserverState_ = IDerivationState_.NOT_TRACKING_\n /**\n * Create a new atom. For debugging purposes it is recommended to give it a name.\n * The onBecomeObserved and onBecomeUnobserved callbacks can be used for resource management.\n */\n constructor(public name_ = __DEV__ ? \"Atom@\" + getNextId() : \"Atom\") {}\n\n // for effective unobserving. BaseAtom has true, for extra optimization, so its onBecomeUnobserved never gets called, because it's not needed\n get isBeingObserved(): boolean {\n return getFlag(this.flags_, Atom.isBeingObservedMask_)\n }\n set isBeingObserved(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, Atom.isBeingObservedMask_, newValue)\n }\n\n get isPendingUnobservation(): boolean {\n return getFlag(this.flags_, Atom.isPendingUnobservationMask_)\n }\n set isPendingUnobservation(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, Atom.isPendingUnobservationMask_, newValue)\n }\n\n get diffValue(): 0 | 1 {\n return getFlag(this.flags_, Atom.diffValueMask_) ? 1 : 0\n }\n set diffValue(newValue: 0 | 1) {\n this.flags_ = setFlag(this.flags_, Atom.diffValueMask_, newValue === 1 ? true : false)\n }\n\n // onBecomeObservedListeners\n public onBOL: Set<Lambda> | undefined\n // onBecomeUnobservedListeners\n public onBUOL: Set<Lambda> | undefined\n\n public onBO() {\n if (this.onBOL) {\n this.onBOL.forEach(listener => listener())\n }\n }\n\n public onBUO() {\n if (this.onBUOL) {\n this.onBUOL.forEach(listener => listener())\n }\n }\n\n /**\n * Invoke this method to notify mobx that your atom has been used somehow.\n * Returns true if there is currently a reactive context.\n */\n public reportObserved(): boolean {\n return reportObserved(this)\n }\n\n /**\n * Invoke this method _after_ this method has changed to signal mobx that all its observers should invalidate.\n */\n public reportChanged() {\n startBatch()\n propagateChanged(this)\n endBatch()\n }\n\n toString() {\n return this.name_\n }\n}\n\nexport const isAtom = createInstanceofPredicate(\"Atom\", Atom)\n\nexport function createAtom(\n name: string,\n onBecomeObservedHandler: () => void = noop,\n onBecomeUnobservedHandler: () => void = noop\n): IAtom {\n const atom = new Atom(name)\n // default `noop` listener will not initialize the hook Set\n if (onBecomeObservedHandler !== noop) {\n onBecomeObserved(atom, onBecomeObservedHandler)\n }\n\n if (onBecomeUnobservedHandler !== noop) {\n onBecomeUnobserved(atom, onBecomeUnobservedHandler)\n }\n return atom\n}\n","import { deepEqual } from \"../internal\"\n\nexport interface IEqualsComparer<T> {\n (a: T, b: T): boolean\n}\n\nfunction identityComparer(a: any, b: any): boolean {\n return a === b\n}\n\nfunction structuralComparer(a: any, b: any): boolean {\n return deepEqual(a, b)\n}\n\nfunction shallowComparer(a: any, b: any): boolean {\n return deepEqual(a, b, 1)\n}\n\nfunction defaultComparer(a: any, b: any): boolean {\n if (Object.is) {\n return Object.is(a, b)\n }\n\n return a === b ? a !== 0 || 1 / a === 1 / b : a !== a && b !== b\n}\n\nexport const comparer = {\n identity: identityComparer,\n structural: structuralComparer,\n default: defaultComparer,\n shallow: shallowComparer\n}\n","import {\n deepEqual,\n isES6Map,\n isES6Set,\n isObservable,\n isObservableArray,\n isObservableMap,\n isObservableSet,\n isObservableObject,\n isPlainObject,\n observable,\n die,\n isAction,\n autoAction,\n flow,\n isFlow,\n isGenerator\n} from \"../internal\"\n\nexport interface IEnhancer<T> {\n (newValue: T, oldValue: T | undefined, name: string): T\n}\n\nexport function deepEnhancer(v, _, name) {\n // it is an observable already, done\n if (isObservable(v)) {\n return v\n }\n\n // something that can be converted and mutated?\n if (Array.isArray(v)) {\n return observable.array(v, { name })\n }\n if (isPlainObject(v)) {\n return observable.object(v, undefined, { name })\n }\n if (isES6Map(v)) {\n return observable.map(v, { name })\n }\n if (isES6Set(v)) {\n return observable.set(v, { name })\n }\n if (typeof v === \"function\" && !isAction(v) && !isFlow(v)) {\n if (isGenerator(v)) {\n return flow(v)\n } else {\n return autoAction(name, v)\n }\n }\n return v\n}\n\nexport function shallowEnhancer(v, _, name): any {\n if (v === undefined || v === null) {\n return v\n }\n if (isObservableObject(v) || isObservableArray(v) || isObservableMap(v) || isObservableSet(v)) {\n return v\n }\n if (Array.isArray(v)) {\n return observable.array(v, { name, deep: false })\n }\n if (isPlainObject(v)) {\n return observable.object(v, undefined, { name, deep: false })\n }\n if (isES6Map(v)) {\n return observable.map(v, { name, deep: false })\n }\n if (isES6Set(v)) {\n return observable.set(v, { name, deep: false })\n }\n\n if (__DEV__) {\n die(\n \"The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets\"\n )\n }\n}\n\nexport function referenceEnhancer(newValue?) {\n // never turn into an observable\n return newValue\n}\n\nexport function refStructEnhancer(v, oldValue): any {\n if (__DEV__ && isObservable(v)) {\n die(`observable.struct should not be used with observable values`)\n }\n if (deepEqual(v, oldValue)) {\n return oldValue\n }\n return v\n}\n","import {\n die,\n Annotation,\n hasProp,\n createDecoratorAnnotation,\n ObservableObjectAdministration,\n MakeResult\n} from \"../internal\"\n\nimport type { ClassMethodDecorator } from \"./decorator_fills\"\n\nconst OVERRIDE = \"override\"\n\nexport const override: Annotation & PropertyDecorator & ClassMethodDecorator =\n createDecoratorAnnotation({\n annotationType_: OVERRIDE,\n make_,\n extend_,\n decorate_20223_\n })\n\nexport function isOverride(annotation: Annotation): boolean {\n return annotation.annotationType_ === OVERRIDE\n}\n\nfunction make_(this: Annotation, adm: ObservableObjectAdministration, key): MakeResult {\n // Must not be plain object\n if (__DEV__ && adm.isPlainObject_) {\n die(\n `Cannot apply '${this.annotationType_}' to '${adm.name_}.${key.toString()}':` +\n `\\n'${this.annotationType_}' cannot be used on plain objects.`\n )\n }\n // Must override something\n if (__DEV__ && !hasProp(adm.appliedAnnotations_!, key)) {\n die(\n `'${adm.name_}.${key.toString()}' is annotated with '${this.annotationType_}', ` +\n `but no such annotated member was found on prototype.`\n )\n }\n return MakeResult.Cancel\n}\n\nfunction extend_(this: Annotation, adm, key, descriptor, proxyTrap): boolean {\n die(`'${this.annotationType_}' can only be used with 'makeObservable'`)\n}\n\nfunction decorate_20223_(this: Annotation, desc, context: DecoratorContext) {\n console.warn(`'${this.annotationType_}' cannot be used with decorators - this is a no-op`)\n}\n","import {\n ObservableObjectAdministration,\n createAction,\n isAction,\n defineProperty,\n die,\n isFunction,\n Annotation,\n globalState,\n MakeResult,\n assert20223DecoratorType\n} from \"../internal\"\n\nexport function createActionAnnotation(name: string, options?: object): Annotation {\n return {\n annotationType_: name,\n options_: options,\n make_,\n extend_,\n decorate_20223_\n }\n}\n\nfunction make_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n source: object\n): MakeResult {\n // bound\n if (this.options_?.bound) {\n return this.extend_(adm, key, descriptor, false) === null\n ? MakeResult.Cancel\n : MakeResult.Break\n }\n // own\n if (source === adm.target_) {\n return this.extend_(adm, key, descriptor, false) === null\n ? MakeResult.Cancel\n : MakeResult.Continue\n }\n // prototype\n if (isAction(descriptor.value)) {\n // A prototype could have been annotated already by other constructor,\n // rest of the proto chain must be annotated already\n return MakeResult.Break\n }\n const actionDescriptor = createActionDescriptor(adm, this, key, descriptor, false)\n defineProperty(source, key, actionDescriptor)\n return MakeResult.Continue\n}\n\nfunction extend_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean\n): boolean | null {\n const actionDescriptor = createActionDescriptor(adm, this, key, descriptor)\n return adm.defineProperty_(key, actionDescriptor, proxyTrap)\n}\n\nfunction decorate_20223_(this: Annotation, mthd, context: DecoratorContext) {\n if (__DEV__) {\n assert20223DecoratorType(context, [\"method\", \"field\"])\n }\n const { kind, name, addInitializer } = context\n const ann = this\n\n const _createAction = m =>\n createAction(ann.options_?.name ?? name!.toString(), m, ann.options_?.autoAction ?? false)\n\n if (kind == \"field\") {\n return function (initMthd) {\n let mthd = initMthd\n if (!isAction(mthd)) {\n mthd = _createAction(mthd)\n }\n if (ann.options_?.bound) {\n mthd = mthd.bind(this)\n mthd.isMobxAction = true\n }\n return mthd\n }\n }\n\n if (kind == \"method\") {\n if (!isAction(mthd)) {\n mthd = _createAction(mthd)\n }\n\n if (this.options_?.bound) {\n addInitializer(function () {\n const self = this as any\n const bound = self[name].bind(self)\n bound.isMobxAction = true\n self[name] = bound\n })\n }\n\n return mthd\n }\n\n die(\n `Cannot apply '${ann.annotationType_}' to '${String(name)}' (kind: ${kind}):` +\n `\\n'${ann.annotationType_}' can only be used on properties with a function value.`\n )\n}\n\nfunction assertActionDescriptor(\n adm: ObservableObjectAdministration,\n { annotationType_ }: Annotation,\n key: PropertyKey,\n { value }: PropertyDescriptor\n) {\n if (__DEV__ && !isFunction(value)) {\n die(\n `Cannot apply '${annotationType_}' to '${adm.name_}.${key.toString()}':` +\n `\\n'${annotationType_}' can only be used on properties with a function value.`\n )\n }\n}\n\nexport function createActionDescriptor(\n adm: ObservableObjectAdministration,\n annotation: Annotation,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n // provides ability to disable safeDescriptors for prototypes\n safeDescriptors: boolean = globalState.safeDescriptors\n) {\n assertActionDescriptor(adm, annotation, key, descriptor)\n let { value } = descriptor\n if (annotation.options_?.bound) {\n value = value.bind(adm.proxy_ ?? adm.target_)\n }\n return {\n value: createAction(\n annotation.options_?.name ?? key.toString(),\n value,\n annotation.options_?.autoAction ?? false,\n // https://github.com/mobxjs/mobx/discussions/3140\n annotation.options_?.bound ? adm.proxy_ ?? adm.target_ : undefined\n ),\n // Non-configurable for classes\n // prevents accidental field redefinition in subclass\n configurable: safeDescriptors ? adm.isPlainObject_ : true,\n // https://github.com/mobxjs/mobx/pull/2641#issuecomment-737292058\n enumerable: false,\n // Non-obsevable, therefore non-writable\n // Also prevents rewriting in subclass constructor\n writable: safeDescriptors ? false : true\n }\n}\n","import {\n ObservableObjectAdministration,\n Annotation,\n defineProperty,\n die,\n flow,\n isFlow,\n isFunction,\n globalState,\n MakeResult,\n hasProp,\n assert20223DecoratorType\n} from \"../internal\"\n\nexport function createFlowAnnotation(name: string, options?: object): Annotation {\n return {\n annotationType_: name,\n options_: options,\n make_,\n extend_,\n decorate_20223_\n }\n}\n\nfunction make_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n source: object\n): MakeResult {\n // own\n if (source === adm.target_) {\n return this.extend_(adm, key, descriptor, false) === null\n ? MakeResult.Cancel\n : MakeResult.Continue\n }\n // prototype\n // bound - must annotate protos to support super.flow()\n if (this.options_?.bound && (!hasProp(adm.target_, key) || !isFlow(adm.target_[key]))) {\n if (this.extend_(adm, key, descriptor, false) === null) {\n return MakeResult.Cancel\n }\n }\n if (isFlow(descriptor.value)) {\n // A prototype could have been annotated already by other constructor,\n // rest of the proto chain must be annotated already\n return MakeResult.Break\n }\n const flowDescriptor = createFlowDescriptor(adm, this, key, descriptor, false, false)\n defineProperty(source, key, flowDescriptor)\n return MakeResult.Continue\n}\n\nfunction extend_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean\n): boolean | null {\n const flowDescriptor = createFlowDescriptor(adm, this, key, descriptor, this.options_?.bound)\n return adm.defineProperty_(key, flowDescriptor, proxyTrap)\n}\n\nfunction decorate_20223_(this: Annotation, mthd, context: ClassMethodDecoratorContext) {\n if (__DEV__) {\n assert20223DecoratorType(context, [\"method\"])\n }\n const { name, addInitializer } = context\n\n if (!isFlow(mthd)) {\n mthd = flow(mthd)\n }\n\n if (this.options_?.bound) {\n addInitializer(function () {\n const self = this as any\n const bound = self[name].bind(self)\n bound.isMobXFlow = true\n self[name] = bound\n })\n }\n\n return mthd\n}\n\nfunction assertFlowDescriptor(\n adm: ObservableObjectAdministration,\n { annotationType_ }: Annotation,\n key: PropertyKey,\n { value }: PropertyDescriptor\n) {\n if (__DEV__ && !isFunction(value)) {\n die(\n `Cannot apply '${annotationType_}' to '${adm.name_}.${key.toString()}':` +\n `\\n'${annotationType_}' can only be used on properties with a generator function value.`\n )\n }\n}\n\nfunction createFlowDescriptor(\n adm: ObservableObjectAdministration,\n annotation: Annotation,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n bound: boolean,\n // provides ability to disable safeDescriptors for prototypes\n safeDescriptors: boolean = globalState.safeDescriptors\n): PropertyDescriptor {\n assertFlowDescriptor(adm, annotation, key, descriptor)\n let { value } = descriptor\n // In case of flow.bound, the descriptor can be from already annotated prototype\n if (!isFlow(value)) {\n value = flow(value)\n }\n if (bound) {\n // We do not keep original function around, so we bind the existing flow\n value = value.bind(adm.proxy_ ?? adm.target_)\n // This is normally set by `flow`, but `bind` returns new function...\n value.isMobXFlow = true\n }\n return {\n value,\n // Non-configurable for classes\n // prevents accidental field redefinition in subclass\n configurable: safeDescriptors ? adm.isPlainObject_ : true,\n // https://github.com/mobxjs/mobx/pull/2641#issuecomment-737292058\n enumerable: false,\n // Non-obsevable, therefore non-writable\n // Also prevents rewriting in subclass constructor\n writable: safeDescriptors ? false : true\n }\n}\n","import {\n ObservableObjectAdministration,\n die,\n Annotation,\n MakeResult,\n assert20223DecoratorType,\n $mobx,\n asObservableObject,\n ComputedValue\n} from \"../internal\"\n\nexport function createComputedAnnotation(name: string, options?: object): Annotation {\n return {\n annotationType_: name,\n options_: options,\n make_,\n extend_,\n decorate_20223_\n }\n}\n\nfunction make_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor\n): MakeResult {\n return this.extend_(adm, key, descriptor, false) === null ? MakeResult.Cancel : MakeResult.Break\n}\n\nfunction extend_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean\n): boolean | null {\n assertComputedDescriptor(adm, this, key, descriptor)\n return adm.defineComputedProperty_(\n key,\n {\n ...this.options_,\n get: descriptor.get,\n set: descriptor.set\n },\n proxyTrap\n )\n}\n\nfunction decorate_20223_(this: Annotation, get, context: ClassGetterDecoratorContext) {\n if (__DEV__) {\n assert20223DecoratorType(context, [\"getter\"])\n }\n const ann = this\n const { name: key, addInitializer } = context\n\n addInitializer(function () {\n const adm: ObservableObjectAdministration = asObservableObject(this)[$mobx]\n const options = {\n ...ann.options_,\n get,\n context: this\n }\n options.name ||= __DEV__\n ? `${adm.name_}.${key.toString()}`\n : `ObservableObject.${key.toString()}`\n adm.values_.set(key, new ComputedValue(options))\n })\n\n return function () {\n return this[$mobx].getObservablePropValue_(key)\n }\n}\n\nfunction assertComputedDescriptor(\n adm: ObservableObjectAdministration,\n { annotationType_ }: Annotation,\n key: PropertyKey,\n { get }: PropertyDescriptor\n) {\n if (__DEV__ && !get) {\n die(\n `Cannot apply '${annotationType_}' to '${adm.name_}.${key.toString()}':` +\n `\\n'${annotationType_}' can only be used on getter(+setter) properties.`\n )\n }\n}\n","import {\n ObservableObjectAdministration,\n deepEnhancer,\n die,\n Annotation,\n MakeResult,\n assert20223DecoratorType,\n ObservableValue,\n asObservableObject,\n $mobx\n} from \"../internal\"\n\nexport function createObservableAnnotation(name: string, options?: object): Annotation {\n return {\n annotationType_: name,\n options_: options,\n make_,\n extend_,\n decorate_20223_\n }\n}\n\nfunction make_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor\n): MakeResult {\n return this.extend_(adm, key, descriptor, false) === null ? MakeResult.Cancel : MakeResult.Break\n}\n\nfunction extend_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean\n): boolean | null {\n assertObservableDescriptor(adm, this, key, descriptor)\n return adm.defineObservableProperty_(\n key,\n descriptor.value,\n this.options_?.enhancer ?? deepEnhancer,\n proxyTrap\n )\n}\n\nfunction decorate_20223_(\n this: Annotation,\n desc,\n context: ClassAccessorDecoratorContext | ClassFieldDecoratorContext\n) {\n if (__DEV__) {\n if (context.kind === \"field\") {\n throw die(\n `Please use \\`@observable accessor ${String(\n context.name\n )}\\` instead of \\`@observable ${String(context.name)}\\``\n )\n }\n assert20223DecoratorType(context, [\"accessor\"])\n }\n\n const ann = this\n const { kind, name } = context\n\n // The laziness here is not ideal... It's a workaround to how 2022.3 Decorators are implemented:\n // `addInitializer` callbacks are executed _before_ any accessors are defined (instead of the ideal-for-us right after each).\n // This means that, if we were to do our stuff in an `addInitializer`, we'd attempt to read a private slot\n // before it has been initialized. The runtime doesn't like that and throws a `Cannot read private member\n // from an object whose class did not declare it` error.\n // TODO: it seems that this will not be required anymore in the final version of the spec\n // See TODO: link\n const initializedObjects = new WeakSet()\n\n function initializeObservable(target, value) {\n const adm: ObservableObjectAdministration = asObservableObject(target)[$mobx]\n const observable = new ObservableValue(\n value,\n ann.options_?.enhancer ?? deepEnhancer,\n __DEV__ ? `${adm.name_}.${name.toString()}` : `ObservableObject.${name.toString()}`,\n false\n )\n adm.values_.set(name, observable)\n initializedObjects.add(target)\n }\n\n if (kind == \"accessor\") {\n return {\n get() {\n if (!initializedObjects.has(this)) {\n initializeObservable(this, desc.get.call(this))\n }\n return this[$mobx].getObservablePropValue_(name)\n },\n set(value) {\n if (!initializedObjects.has(this)) {\n initializeObservable(this, value)\n }\n return this[$mobx].setObservablePropValue_(name, value)\n },\n init(value) {\n if (!initializedObjects.has(this)) {\n initializeObservable(this, value)\n }\n return value\n }\n }\n }\n\n return\n}\n\nfunction assertObservableDescriptor(\n adm: ObservableObjectAdministration,\n { annotationType_ }: Annotation,\n key: PropertyKey,\n descriptor: PropertyDescriptor\n) {\n if (__DEV__ && !(\"value\" in descriptor)) {\n die(\n `Cannot apply '${annotationType_}' to '${adm.name_}.${key.toString()}':` +\n `\\n'${annotationType_}' cannot be used on getter/setter properties`\n )\n }\n}\n","import {\n ObservableObjectAdministration,\n observable,\n Annotation,\n defineProperty,\n createAction,\n globalState,\n flow,\n computed,\n autoAction,\n isGenerator,\n MakeResult,\n die\n} from \"../internal\"\n\nconst AUTO = \"true\"\n\nexport const autoAnnotation: Annotation = createAutoAnnotation()\n\nexport function createAutoAnnotation(options?: object): Annotation {\n return {\n annotationType_: AUTO,\n options_: options,\n make_,\n extend_,\n decorate_20223_\n }\n}\n\nfunction make_(\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n source: object\n): MakeResult {\n // getter -> computed\n if (descriptor.get) {\n return computed.make_(adm, key, descriptor, source)\n }\n // lone setter -> action setter\n if (descriptor.set) {\n // TODO make action applicable to setter and delegate to action.make_\n const set = createAction(key.toString(), descriptor.set) as (v: any) => void\n // own\n if (source === adm.target_) {\n return adm.defineProperty_(key, {\n configurable: globalState.safeDescriptors ? adm.isPlainObject_ : true,\n set\n }) === null\n ? MakeResult.Cancel\n : MakeResult.Continue\n }\n // proto\n defineProperty(source, key, {\n configurable: true,\n set\n })\n return MakeResult.Continue\n }\n // function on proto -> autoAction/flow\n if (source !== adm.target_ && typeof descriptor.value === \"function\") {\n if (isGenerator(descriptor.value)) {\n const flowAnnotation = this.options_?.autoBind ? flow.bound : flow\n return flowAnnotation.make_(adm, key, descriptor, source)\n }\n const actionAnnotation = this.options_?.autoBind ? autoAction.bound : autoAction\n return actionAnnotation.make_(adm, key, descriptor, source)\n }\n // other -> observable\n // Copy props from proto as well, see test:\n // \"decorate should work with Object.create\"\n let observableAnnotation = this.options_?.deep === false ? observable.ref : observable\n // if function respect autoBind option\n if (typeof descriptor.value === \"function\" && this.options_?.autoBind) {\n descriptor.value = descriptor.value.bind(adm.proxy_ ?? adm.target_)\n }\n return observableAnnotation.make_(adm, key, descriptor, source)\n}\n\nfunction extend_(\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean\n): boolean | null {\n // getter -> computed\n if (descriptor.get) {\n return computed.extend_(adm, key, descriptor, proxyTrap)\n }\n // lone setter -> action setter\n if (descriptor.set) {\n // TODO make action applicable to setter and delegate to action.extend_\n return adm.defineProperty_(\n key,\n {\n configurable: globalState.safeDescriptors ? adm.isPlainObject_ : true,\n set: createAction(key.toString(), descriptor.set) as (v: any) => void\n },\n proxyTrap\n )\n }\n // other -> observable\n // if function respect autoBind option\n if (typeof descriptor.value === \"function\" && this.options_?.autoBind) {\n descriptor.value = descriptor.value.bind(adm.proxy_ ?? adm.target_)\n }\n let observableAnnotation = this.options_?.deep === false ? observable.ref : observable\n return observableAnnotation.extend_(adm, key, descriptor, proxyTrap)\n}\n\nfunction decorate_20223_(this: Annotation, desc, context: ClassGetterDecoratorContext) {\n die(`'${this.annotationType_}' cannot be used as a decorator`)\n}\n","import {\n IEnhancer,\n IEqualsComparer,\n IObservableArray,\n IObservableMapInitialValues,\n IObservableSetInitialValues,\n IObservableValue,\n ObservableMap,\n ObservableSet,\n ObservableValue,\n asDynamicObservableObject,\n createObservableArray,\n deepEnhancer,\n extendObservable,\n isES6Map,\n isES6Set,\n isObservable,\n isPlainObject,\n referenceEnhancer,\n Annotation,\n shallowEnhancer,\n refStructEnhancer,\n AnnotationsMap,\n asObservableObject,\n storeAnnotation,\n createDecoratorAnnotation,\n createLegacyArray,\n globalState,\n assign,\n isStringish,\n createObservableAnnotation,\n createAutoAnnotation,\n is20223Decorator,\n initObservable\n} from \"../internal\"\n\nimport type { ClassAccessorDecorator, ClassFieldDecorator } from \"../types/decorator_fills\"\n\nexport const OBSERVABLE = \"observable\"\nexport const OBSERVABLE_REF = \"observable.ref\"\nexport const OBSERVABLE_SHALLOW = \"observable.shallow\"\nexport const OBSERVABLE_STRUCT = \"observable.struct\"\n\nexport type CreateObservableOptions = {\n name?: string\n equals?: IEqualsComparer<any>\n deep?: boolean\n defaultDecorator?: Annotation\n proxy?: boolean\n autoBind?: boolean\n}\n\n// Predefined bags of create observable options, to avoid allocating temporarily option objects\n// in the majority of cases\nexport const defaultCreateObservableOptions: CreateObservableOptions = {\n deep: true,\n name: undefined,\n defaultDecorator: undefined,\n proxy: true\n}\nObject.freeze(defaultCreateObservableOptions)\n\nexport function asCreateObservableOptions(thing: any): CreateObservableOptions {\n return thing || defaultCreateObservableOptions\n}\n\nconst observableAnnotation = createObservableAnnotation(OBSERVABLE)\nconst observableRefAnnotation = createObservableAnnotation(OBSERVABLE_REF, {\n enhancer: referenceEnhancer\n})\nconst observableShallowAnnotation = createObservableAnnotation(OBSERVABLE_SHALLOW, {\n enhancer: shallowEnhancer\n})\nconst observableStructAnnotation = createObservableAnnotation(OBSERVABLE_STRUCT, {\n enhancer: refStructEnhancer\n})\nconst observableDecoratorAnnotation =\n createDecoratorAnnotation<ClassAccessorDecorator>(observableAnnotation)\n\nexport function getEnhancerFromOptions(options: CreateObservableOptions): IEnhancer<any> {\n return options.deep === true\n ? deepEnhancer\n : options.deep === false\n ? referenceEnhancer\n : getEnhancerFromAnnotation(options.defaultDecorator)\n}\n\nexport function getAnnotationFromOptions(\n options?: CreateObservableOptions\n): Annotation | undefined {\n return options ? options.defaultDecorator ?? createAutoAnnotation(options) : undefined\n}\n\nexport function getEnhancerFromAnnotation(annotation?: Annotation): IEnhancer<any> {\n return !annotation ? deepEnhancer : annotation.options_?.enhancer ?? deepEnhancer\n}\n\n/**\n * Turns an object, array or function into a reactive structure.\n * @param v the value which should become observable.\n */\nfunction createObservable(v: any, arg2?: any, arg3?: any) {\n // @observable someProp; (2022.3 Decorators)\n if (is20223Decorator(arg2)) {\n return observableAnnotation.decorate_20223_(v, arg2)\n }\n\n // @observable someProp;\n if (isStringish(arg2)) {\n storeAnnotation(v, arg2, observableAnnotation)\n return\n }\n\n // already observable - ignore\n if (isObservable(v)) {\n return v\n }\n\n // plain object\n if (isPlainObject(v)) {\n return observable.object(v, arg2, arg3)\n }\n\n // Array\n if (Array.isArray(v)) {\n return observable.array(v, arg2)\n }\n\n // Map\n if (isES6Map(v)) {\n return observable.map(v, arg2)\n }\n\n // Set\n if (isES6Set(v)) {\n return observable.set(v, arg2)\n }\n\n // other object - ignore\n if (typeof v === \"object\" && v !== null) {\n return v\n }\n\n // anything else\n return observable.box(v, arg2)\n}\nassign(createObservable, observableDecoratorAnnotation)\n\nexport interface IObservableValueFactory {\n <T>(value: T, options?: CreateObservableOptions): IObservableValue<T>\n <T>(value?: T, options?: CreateObservableOptions): IObservableValue<T | undefined>\n}\n\nexport interface IObservableFactory\n extends Annotation,\n PropertyDecorator,\n ClassAccessorDecorator,\n ClassFieldDecorator {\n // TODO: remove ClassFieldDecorator, this is only temporarily support for legacy decorators\n <T = any>(value: T[], options?: CreateObservableOptions): IObservableArray<T>\n <T = any>(value: Set<T>, options?: CreateObservableOptions): ObservableSet<T>\n <K = any, V = any>(value: Map<K, V>, options?: CreateObservableOptions): ObservableMap<K, V>\n <T extends object>(\n value: T,\n decorators?: AnnotationsMap<T, never>,\n options?: CreateObservableOptions\n ): T\n\n box: IObservableValueFactory\n array: <T = any>(initialValues?: T[], options?: CreateObservableOptions) => IObservableArray<T>\n set: <T = any>(\n initialValues?: IObservableSetInitialValues<T>,\n options?: CreateObservableOptions\n ) => ObservableSet<T>\n map: <K = any, V = any>(\n initialValues?: IObservableMapInitialValues<K, V>,\n options?: CreateObservableOptions\n ) => ObservableMap<K, V>\n object: <T = any>(\n props: T,\n decorators?: AnnotationsMap<T, never>,\n options?: CreateObservableOptions\n ) => T\n\n /**\n * Decorator that creates an observable that only observes the references, but doesn't try to turn the assigned value into an observable.ts.\n */\n ref: Annotation & PropertyDecorator & ClassAccessorDecorator & ClassFieldDecorator\n /**\n * Decorator that creates an observable converts its value (objects, maps or arrays) into a shallow observable structure\n */\n shallow: Annotation & PropertyDecorator & ClassAccessorDecorator & ClassFieldDecorator\n deep: Annotation & PropertyDecorator & ClassAccessorDecorator & ClassFieldDecorator\n struct: Annotation & PropertyDecorator & ClassAccessorDecorator & ClassFieldDecorator\n}\n\nconst observableFactories: IObservableFactory = {\n box<T = any>(value: T, options?: CreateObservableOptions): IObservableValue<T> {\n const o = asCreateObservableOptions(options)\n return new ObservableValue(value, getEnhancerFromOptions(o), o.name, true, o.equals)\n },\n array<T = any>(initialValues?: T[], options?: CreateObservableOptions): IObservableArray<T> {\n const o = asCreateObservableOptions(options)\n return (\n globalState.useProxies === false || o.proxy === false\n ? createLegacyArray\n : createObservableArray\n )(initialValues, getEnhancerFromOptions(o), o.name)\n },\n map<K = any, V = any>(\n initialValues?: IObservableMapInitialValues<K, V>,\n options?: CreateObservableOptions\n ): ObservableMap<K, V> {\n const o = asCreateObservableOptions(options)\n return new ObservableMap<K, V>(initialValues, getEnhancerFromOptions(o), o.name)\n },\n set<T = any>(\n initialValues?: IObservableSetInitialValues<T>,\n options?: CreateObservableOptions\n ): ObservableSet<T> {\n const o = asCreateObservableOptions(options)\n return new ObservableSet<T>(initialValues, getEnhancerFromOptions(o), o.name)\n },\n object<T extends object = any>(\n props: T,\n decorators?: AnnotationsMap<T, never>,\n options?: CreateObservableOptions\n ): T {\n return initObservable(() =>\n extendObservable(\n globalState.useProxies === false || options?.proxy === false\n ? asObservableObject({}, options)\n : asDynamicObservableObject({}, options),\n props,\n decorators\n )\n )\n },\n ref: createDecoratorAnnotation(observableRefAnnotation),\n shallow: createDecoratorAnnotation(observableShallowAnnotation),\n deep: observableDecoratorAnnotation,\n struct: createDecoratorAnnotation(observableStructAnnotation)\n} as any\n\n// eslint-disable-next-line\nexport var observable: IObservableFactory = assign(createObservable, observableFactories)\n","import {\n ComputedValue,\n IComputedValueOptions,\n Annotation,\n storeAnnotation,\n createDecoratorAnnotation,\n isStringish,\n isPlainObject,\n isFunction,\n die,\n IComputedValue,\n createComputedAnnotation,\n comparer,\n is20223Decorator\n} from \"../internal\"\n\nimport type { ClassGetterDecorator } from \"../types/decorator_fills\"\n\nexport const COMPUTED = \"computed\"\nexport const COMPUTED_STRUCT = \"computed.struct\"\n\nexport interface IComputedFactory extends Annotation, PropertyDecorator, ClassGetterDecorator {\n // @computed(opts)\n <T>(options: IComputedValueOptions<T>): Annotation & PropertyDecorator & ClassGetterDecorator\n // computed(fn, opts)\n <T>(func: () => T, options?: IComputedValueOptions<T>): IComputedValue<T>\n\n struct: Annotation & PropertyDecorator & ClassGetterDecorator\n}\n\nconst computedAnnotation = createComputedAnnotation(COMPUTED)\nconst computedStructAnnotation = createComputedAnnotation(COMPUTED_STRUCT, {\n equals: comparer.structural\n})\n\n/**\n * Decorator for class properties: @computed get value() { return expr; }.\n * For legacy purposes also invokable as ES5 observable created: `computed(() => expr)`;\n */\nexport const computed: IComputedFactory = function computed(arg1, arg2) {\n if (is20223Decorator(arg2)) {\n // @computed (2022.3 Decorators)\n return computedAnnotation.decorate_20223_(arg1, arg2)\n }\n if (isStringish(arg2)) {\n // @computed\n return storeAnnotation(arg1, arg2, computedAnnotation)\n }\n if (isPlainObject(arg1)) {\n // @computed({ options })\n return createDecoratorAnnotation(createComputedAnnotation(COMPUTED, arg1))\n }\n\n // computed(expr, options?)\n if (__DEV__) {\n if (!isFunction(arg1)) {\n die(\"First argument to `computed` should be an expression.\")\n }\n if (isFunction(arg2)) {\n die(\n \"A setter as second argument is no longer supported, use `{ set: fn }` option instead\"\n )\n }\n }\n const opts: IComputedValueOptions<any> = isPlainObject(arg2) ? arg2 : {}\n opts.get = arg1\n opts.name ||= arg1.name || \"\" /* for generated name */\n\n return new ComputedValue(opts)\n} as any\n\nObject.assign(computed, computedAnnotation)\n\ncomputed.struct = createDecoratorAnnotation(computedStructAnnotation)\n","import {\n IDerivation,\n endBatch,\n globalState,\n isSpyEnabled,\n spyReportEnd,\n spyReportStart,\n startBatch,\n untrackedEnd,\n untrackedStart,\n isFunction,\n allowStateReadsStart,\n allowStateReadsEnd,\n ACTION,\n EMPTY_ARRAY,\n die,\n getDescriptor,\n defineProperty\n} from \"../internal\"\n\n// we don't use globalState for these in order to avoid possible issues with multiple\n// mobx versions\nlet currentActionId = 0\nlet nextActionId = 1\nconst isFunctionNameConfigurable = getDescriptor(() => {}, \"name\")?.configurable ?? false\n\n// we can safely recycle this object\nconst tmpNameDescriptor: PropertyDescriptor = {\n value: \"action\",\n configurable: true,\n writable: false,\n enumerable: false\n}\n\nexport function createAction(\n actionName: string,\n fn: Function,\n autoAction: boolean = false,\n ref?: Object\n): Function {\n if (__DEV__) {\n if (!isFunction(fn)) {\n die(\"`action` can only be invoked on functions\")\n }\n if (typeof actionName !== \"string\" || !actionName) {\n die(`actions should have valid names, got: '${actionName}'`)\n }\n }\n function res() {\n return executeAction(actionName, autoAction, fn, ref || this, arguments)\n }\n res.isMobxAction = true\n res.toString = () => fn.toString()\n if (isFunctionNameConfigurable) {\n tmpNameDescriptor.value = actionName\n defineProperty(res, \"name\", tmpNameDescriptor)\n }\n return res\n}\n\nexport function executeAction(\n actionName: string,\n canRunAsDerivation: boolean,\n fn: Function,\n scope?: any,\n args?: IArguments\n) {\n const runInfo = _startAction(actionName, canRunAsDerivation, scope, args)\n try {\n return fn.apply(scope, args)\n } catch (err) {\n runInfo.error_ = err\n throw err\n } finally {\n _endAction(runInfo)\n }\n}\n\nexport interface IActionRunInfo {\n prevDerivation_: IDerivation | null\n prevAllowStateChanges_: boolean\n prevAllowStateReads_: boolean\n notifySpy_: boolean\n startTime_: number\n error_?: any\n parentActionId_: number\n actionId_: number\n runAsAction_?: boolean\n}\n\nexport function _startAction(\n actionName: string,\n canRunAsDerivation: boolean, // true for autoAction\n scope: any,\n args?: IArguments\n): IActionRunInfo {\n const notifySpy_ = __DEV__ && isSpyEnabled() && !!actionName\n let startTime_: number = 0\n if (__DEV__ && notifySpy_) {\n startTime_ = Date.now()\n const flattenedArgs = args ? Array.from(args) : EMPTY_ARRAY\n spyReportStart({\n type: ACTION,\n name: actionName,\n object: scope,\n arguments: flattenedArgs\n })\n }\n const prevDerivation_ = globalState.trackingDerivation\n const runAsAction = !canRunAsDerivation || !prevDerivation_\n startBatch()\n let prevAllowStateChanges_ = globalState.allowStateChanges // by default preserve previous allow\n if (runAsAction) {\n untrackedStart()\n prevAllowStateChanges_ = allowStateChangesStart(true)\n }\n const prevAllowStateReads_ = allowStateReadsStart(true)\n const runInfo = {\n runAsAction_: runAsAction,\n prevDerivation_,\n prevAllowStateChanges_,\n prevAllowStateReads_,\n notifySpy_,\n startTime_,\n actionId_: nextActionId++,\n parentActionId_: currentActionId\n }\n currentActionId = runInfo.actionId_\n return runInfo\n}\n\nexport function _endAction(runInfo: IActionRunInfo) {\n if (currentActionId !== runInfo.actionId_) {\n die(30)\n }\n currentActionId = runInfo.parentActionId_\n\n if (runInfo.error_ !== undefined) {\n globalState.suppressReactionErrors = true\n }\n allowStateChangesEnd(runInfo.prevAllowStateChanges_)\n allowStateReadsEnd(runInfo.prevAllowStateReads_)\n endBatch()\n if (runInfo.runAsAction_) {\n untrackedEnd(runInfo.prevDerivation_)\n }\n if (__DEV__ && runInfo.notifySpy_) {\n spyReportEnd({ time: Date.now() - runInfo.startTime_ })\n }\n globalState.suppressReactionErrors = false\n}\n\nexport function allowStateChanges<T>(allowStateChanges: boolean, func: () => T): T {\n const prev = allowStateChangesStart(allowStateChanges)\n try {\n return func()\n } finally {\n allowStateChangesEnd(prev)\n }\n}\n\nexport function allowStateChangesStart(allowStateChanges: boolean) {\n const prev = globalState.allowStateChanges\n globalState.allowStateChanges = allowStateChanges\n return prev\n}\n\nexport function allowStateChangesEnd(prev: boolean) {\n globalState.allowStateChanges = prev\n}\n","import {\n Atom,\n IEnhancer,\n IInterceptable,\n IEqualsComparer,\n IInterceptor,\n IListenable,\n Lambda,\n checkIfStateModificationsAreAllowed,\n comparer,\n createInstanceofPredicate,\n getNextId,\n hasInterceptors,\n hasListeners,\n interceptChange,\n isSpyEnabled,\n notifyListeners,\n registerInterceptor,\n registerListener,\n spyReport,\n spyReportEnd,\n spyReportStart,\n toPrimitive,\n globalState,\n IUNCHANGED,\n UPDATE\n} from \"../internal\"\n\nexport interface IValueWillChange<T> {\n object: IObservableValue<T>\n type: \"update\"\n newValue: T\n}\n\nexport type IValueDidChange<T = any> = {\n type: \"update\"\n observableKind: \"value\"\n object: IObservableValue<T>\n debugObjectName: string\n newValue: T\n oldValue: T | undefined\n}\nexport type IBoxDidChange<T = any> =\n | {\n type: \"create\"\n observableKind: \"value\"\n object: IObservableValue<T>\n debugObjectName: string\n newValue: T\n }\n | IValueDidChange<T>\n\nexport interface IObservableValue<T> {\n get(): T\n set(value: T): void\n}\n\nconst CREATE = \"create\"\n\nexport class ObservableValue<T>\n extends Atom\n implements IObservableValue<T>, IInterceptable<IValueWillChange<T>>, IListenable\n{\n hasUnreportedChange_ = false\n interceptors_\n changeListeners_\n value_\n dehancer: any\n\n constructor(\n value: T,\n public enhancer: IEnhancer<T>,\n public name_ = __DEV__ ? \"ObservableValue@\" + getNextId() : \"ObservableValue\",\n notifySpy = true,\n private equals: IEqualsComparer<any> = comparer.default\n ) {\n super(name_)\n this.value_ = enhancer(value, undefined, name_)\n if (__DEV__ && notifySpy && isSpyEnabled()) {\n // only notify spy if this is a stand-alone observable\n spyReport({\n type: CREATE,\n object: this,\n observableKind: \"value\",\n debugObjectName: this.name_,\n newValue: \"\" + this.value_\n })\n }\n }\n\n private dehanceValue(value: T): T {\n if (this.dehancer !== undefined) {\n return this.dehancer(value)\n }\n return value\n }\n\n public set(newValue: T) {\n const oldValue = this.value_\n newValue = this.prepareNewValue_(newValue) as any\n if (newValue !== globalState.UNCHANGED) {\n const notifySpy = isSpyEnabled()\n if (__DEV__ && notifySpy) {\n spyReportStart({\n type: UPDATE,\n object: this,\n observableKind: \"value\",\n debugObjectName: this.name_,\n newValue,\n oldValue\n })\n }\n this.setNewValue_(newValue)\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n }\n\n private prepareNewValue_(newValue): T | IUNCHANGED {\n checkIfStateModificationsAreAllowed(this)\n if (hasInterceptors(this)) {\n const change = interceptChange<IValueWillChange<T>>(this, {\n object: this,\n type: UPDATE,\n newValue\n })\n if (!change) {\n return globalState.UNCHANGED\n }\n newValue = change.newValue\n }\n // apply modifier\n newValue = this.enhancer(newValue, this.value_, this.name_)\n return this.equals(this.value_, newValue) ? globalState.UNCHANGED : newValue\n }\n\n setNewValue_(newValue: T) {\n const oldValue = this.value_\n this.value_ = newValue\n this.reportChanged()\n if (hasListeners(this)) {\n notifyListeners(this, {\n type: UPDATE,\n object: this,\n newValue,\n oldValue\n })\n }\n }\n\n public get(): T {\n this.reportObserved()\n return this.dehanceValue(this.value_)\n }\n\n intercept_(handler: IInterceptor<IValueWillChange<T>>): Lambda {\n return registerInterceptor(this, handler)\n }\n\n observe_(listener: (change: IValueDidChange<T>) => void, fireImmediately?: boolean): Lambda {\n if (fireImmediately) {\n listener({\n observableKind: \"value\",\n debugObjectName: this.name_,\n object: this,\n type: UPDATE,\n newValue: this.value_,\n oldValue: undefined\n })\n }\n return registerListener(this, listener)\n }\n\n raw() {\n // used by MST ot get undehanced value\n return this.value_\n }\n\n toJSON() {\n return this.get()\n }\n\n toString() {\n return `${this.name_}[${this.value_}]`\n }\n\n valueOf(): T {\n return toPrimitive(this.get())\n }\n\n [Symbol.toPrimitive]() {\n return this.valueOf()\n }\n}\n\nexport const isObservableValue = createInstanceofPredicate(\"ObservableValue\", ObservableValue) as (\n x: any\n) => x is IObservableValue<any>\n","import {\n CaughtException,\n IDerivation,\n IDerivationState_,\n IEqualsComparer,\n IObservable,\n Lambda,\n TraceMode,\n autorun,\n clearObserving,\n comparer,\n createAction,\n createInstanceofPredicate,\n endBatch,\n getNextId,\n globalState,\n isCaughtException,\n isSpyEnabled,\n propagateChangeConfirmed,\n propagateMaybeChanged,\n reportObserved,\n shouldCompute,\n spyReport,\n startBatch,\n toPrimitive,\n trackDerivedFunction,\n untrackedEnd,\n untrackedStart,\n UPDATE,\n die,\n allowStateChangesStart,\n allowStateChangesEnd\n} from \"../internal\"\n\nimport { getFlag, setFlag } from \"../utils/utils\"\n\nexport interface IComputedValue<T> {\n get(): T\n set(value: T): void\n}\n\nexport interface IComputedValueOptions<T> {\n get?: () => T\n set?: (value: T) => void\n name?: string\n equals?: IEqualsComparer<T>\n context?: any\n requiresReaction?: boolean\n keepAlive?: boolean\n}\n\nexport type IComputedDidChange<T = any> = {\n type: \"update\"\n observableKind: \"computed\"\n object: unknown\n debugObjectName: string\n newValue: T\n oldValue: T | undefined\n}\n\n/**\n * A node in the state dependency root that observes other nodes, and can be observed itself.\n *\n * ComputedValue will remember the result of the computation for the duration of the batch, or\n * while being observed.\n *\n * During this time it will recompute only when one of its direct dependencies changed,\n * but only when it is being accessed with `ComputedValue.get()`.\n *\n * Implementation description:\n * 1. First time it's being accessed it will compute and remember result\n * give back remembered result until 2. happens\n * 2. First time any deep dependency change, propagate POSSIBLY_STALE to all observers, wait for 3.\n * 3. When it's being accessed, recompute if any shallow dependency changed.\n * if result changed: propagate STALE to all observers, that were POSSIBLY_STALE from the last step.\n * go to step 2. either way\n *\n * If at any point it's outside batch and it isn't observed: reset everything and go to 1.\n */\nexport class ComputedValue<T> implements IObservable, IComputedValue<T>, IDerivation {\n dependenciesState_ = IDerivationState_.NOT_TRACKING_\n observing_: IObservable[] = [] // nodes we are looking at. Our value depends on these nodes\n newObserving_ = null // during tracking it's an array with new observed observers\n observers_ = new Set<IDerivation>()\n runId_ = 0\n lastAccessedBy_ = 0\n lowestObserverState_ = IDerivationState_.UP_TO_DATE_\n unboundDepsCount_ = 0\n protected value_: T | undefined | CaughtException = new CaughtException(null)\n name_: string\n triggeredBy_?: string\n\n private static readonly isComputingMask_ = 0b00001\n private static readonly isRunningSetterMask_ = 0b00010\n private static readonly isBeingObservedMask_ = 0b00100\n private static readonly isPendingUnobservationMask_ = 0b01000\n private static readonly diffValueMask_ = 0b10000\n private flags_ = 0b00000\n\n derivation: () => T // N.B: unminified as it is used by MST\n setter_?: (value: T) => void\n isTracing_: TraceMode = TraceMode.NONE\n scope_: Object | undefined\n private equals_: IEqualsComparer<any>\n private requiresReaction_: boolean | undefined\n keepAlive_: boolean\n\n /**\n * Create a new computed value based on a function expression.\n *\n * The `name` property is for debug purposes only.\n *\n * The `equals` property specifies the comparer function to use to determine if a newly produced\n * value differs from the previous value. Two comparers are provided in the library; `defaultComparer`\n * compares based on identity comparison (===), and `structuralComparer` deeply compares the structure.\n * Structural comparison can be convenient if you always produce a new aggregated object and\n * don't want to notify observers if it is structurally the same.\n * This is useful for working with vectors, mouse coordinates etc.\n */\n constructor(options: IComputedValueOptions<T>) {\n if (!options.get) {\n die(31)\n }\n this.derivation = options.get!\n this.name_ = options.name || (__DEV__ ? \"ComputedValue@\" + getNextId() : \"ComputedValue\")\n if (options.set) {\n this.setter_ = createAction(\n __DEV__ ? this.name_ + \"-setter\" : \"ComputedValue-setter\",\n options.set\n ) as any\n }\n this.equals_ =\n options.equals ||\n ((options as any).compareStructural || (options as any).struct\n ? comparer.structural\n : comparer.default)\n this.scope_ = options.context\n this.requiresReaction_ = options.requiresReaction\n this.keepAlive_ = !!options.keepAlive\n }\n\n onBecomeStale_() {\n propagateMaybeChanged(this)\n }\n\n public onBOL: Set<Lambda> | undefined\n public onBUOL: Set<Lambda> | undefined\n\n public onBO() {\n if (this.onBOL) {\n this.onBOL.forEach(listener => listener())\n }\n }\n\n public onBUO() {\n if (this.onBUOL) {\n this.onBUOL.forEach(listener => listener())\n }\n }\n\n // to check for cycles\n private get isComputing(): boolean {\n return getFlag(this.flags_, ComputedValue.isComputingMask_)\n }\n private set isComputing(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, ComputedValue.isComputingMask_, newValue)\n }\n\n private get isRunningSetter(): boolean {\n return getFlag(this.flags_, ComputedValue.isRunningSetterMask_)\n }\n private set isRunningSetter(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, ComputedValue.isRunningSetterMask_, newValue)\n }\n\n get isBeingObserved(): boolean {\n return getFlag(this.flags_, ComputedValue.isBeingObservedMask_)\n }\n set isBeingObserved(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, ComputedValue.isBeingObservedMask_, newValue)\n }\n\n get isPendingUnobservation(): boolean {\n return getFlag(this.flags_, ComputedValue.isPendingUnobservationMask_)\n }\n set isPendingUnobservation(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, ComputedValue.isPendingUnobservationMask_, newValue)\n }\n\n get diffValue(): 0 | 1 {\n return getFlag(this.flags_, ComputedValue.diffValueMask_) ? 1 : 0\n }\n set diffValue(newValue: 0 | 1) {\n this.flags_ = setFlag(\n this.flags_,\n ComputedValue.diffValueMask_,\n newValue === 1 ? true : false\n )\n }\n\n /**\n * Returns the current value of this computed value.\n * Will evaluate its computation first if needed.\n */\n public get(): T {\n if (this.isComputing) {\n die(32, this.name_, this.derivation)\n }\n if (\n globalState.inBatch === 0 &&\n // !globalState.trackingDerivatpion &&\n this.observers_.size === 0 &&\n !this.keepAlive_\n ) {\n if (shouldCompute(this)) {\n this.warnAboutUntrackedRead_()\n startBatch() // See perf test 'computed memoization'\n this.value_ = this.computeValue_(false)\n endBatch()\n }\n } else {\n reportObserved(this)\n if (shouldCompute(this)) {\n let prevTrackingContext = globalState.trackingContext\n if (this.keepAlive_ && !prevTrackingContext) {\n globalState.trackingContext = this\n }\n if (this.trackAndCompute()) {\n propagateChangeConfirmed(this)\n }\n globalState.trackingContext = prevTrackingContext\n }\n }\n const result = this.value_!\n\n if (isCaughtException(result)) {\n throw result.cause\n }\n return result\n }\n\n public set(value: T) {\n if (this.setter_) {\n if (this.isRunningSetter) {\n die(33, this.name_)\n }\n this.isRunningSetter = true\n try {\n this.setter_.call(this.scope_, value)\n } finally {\n this.isRunningSetter = false\n }\n } else {\n die(34, this.name_)\n }\n }\n\n trackAndCompute(): boolean {\n // N.B: unminified as it is used by MST\n const oldValue = this.value_\n const wasSuspended =\n /* see #1208 */ this.dependenciesState_ === IDerivationState_.NOT_TRACKING_\n const newValue = this.computeValue_(true)\n\n const changed =\n wasSuspended ||\n isCaughtException(oldValue) ||\n isCaughtException(newValue) ||\n !this.equals_(oldValue, newValue)\n\n if (changed) {\n this.value_ = newValue\n\n if (__DEV__ && isSpyEnabled()) {\n spyReport({\n observableKind: \"computed\",\n debugObjectName: this.name_,\n object: this.scope_,\n type: \"update\",\n oldValue,\n newValue\n } as IComputedDidChange)\n }\n }\n\n return changed\n }\n\n computeValue_(track: boolean) {\n this.isComputing = true\n // don't allow state changes during computation\n const prev = allowStateChangesStart(false)\n let res: T | CaughtException\n if (track) {\n res = trackDerivedFunction(this, this.derivation, this.scope_)\n } else {\n if (globalState.disableErrorBoundaries === true) {\n res = this.derivation.call(this.scope_)\n } else {\n try {\n res = this.derivation.call(this.scope_)\n } catch (e) {\n res = new CaughtException(e)\n }\n }\n }\n allowStateChangesEnd(prev)\n this.isComputing = false\n return res\n }\n\n suspend_() {\n if (!this.keepAlive_) {\n clearObserving(this)\n this.value_ = undefined // don't hold on to computed value!\n if (__DEV__ && this.isTracing_ !== TraceMode.NONE) {\n console.log(\n `[mobx.trace] Computed value '${this.name_}' was suspended and it will recompute on the next access.`\n )\n }\n }\n }\n\n observe_(listener: (change: IComputedDidChange<T>) => void, fireImmediately?: boolean): Lambda {\n let firstTime = true\n let prevValue: T | undefined = undefined\n return autorun(() => {\n // TODO: why is this in a different place than the spyReport() function? in all other observables it's called in the same place\n let newValue = this.get()\n if (!firstTime || fireImmediately) {\n const prevU = untrackedStart()\n listener({\n observableKind: \"computed\",\n debugObjectName: this.name_,\n type: UPDATE,\n object: this,\n newValue,\n oldValue: prevValue\n })\n untrackedEnd(prevU)\n }\n firstTime = false\n prevValue = newValue\n })\n }\n\n warnAboutUntrackedRead_() {\n if (!__DEV__) {\n return\n }\n if (this.isTracing_ !== TraceMode.NONE) {\n console.log(\n `[mobx.trace] Computed value '${this.name_}' is being read outside a reactive context. Doing a full recompute.`\n )\n }\n if (\n typeof this.requiresReaction_ === \"boolean\"\n ? this.requiresReaction_\n : globalState.computedRequiresReaction\n ) {\n console.warn(\n `[mobx] Computed value '${this.name_}' is being read outside a reactive context. Doing a full recompute.`\n )\n }\n }\n\n toString() {\n return `${this.name_}[${this.derivation.toString()}]`\n }\n\n valueOf(): T {\n return toPrimitive(this.get())\n }\n\n [Symbol.toPrimitive]() {\n return this.valueOf()\n }\n}\n\nexport const isComputedValue = createInstanceofPredicate(\"ComputedValue\", ComputedValue)\n","import {\n IAtom,\n IDepTreeNode,\n IObservable,\n addObserver,\n globalState,\n isComputedValue,\n removeObserver\n} from \"../internal\"\n\nexport enum IDerivationState_ {\n // before being run or (outside batch and not being observed)\n // at this point derivation is not holding any data about dependency tree\n NOT_TRACKING_ = -1,\n // no shallow dependency changed since last computation\n // won't recalculate derivation\n // this is what makes mobx fast\n UP_TO_DATE_ = 0,\n // some deep dependency changed, but don't know if shallow dependency changed\n // will require to check first if UP_TO_DATE or POSSIBLY_STALE\n // currently only ComputedValue will propagate POSSIBLY_STALE\n //\n // having this state is second big optimization:\n // don't have to recompute on every dependency change, but only when it's needed\n POSSIBLY_STALE_ = 1,\n // A shallow dependency has changed since last computation and the derivation\n // will need to recompute when it's needed next.\n STALE_ = 2\n}\n\nexport enum TraceMode {\n NONE,\n LOG,\n BREAK\n}\n\n/**\n * A derivation is everything that can be derived from the state (all the atoms) in a pure manner.\n * See https://medium.com/@mweststrate/becoming-fully-reactive-an-in-depth-explanation-of-mobservable-55995262a254#.xvbh6qd74\n */\nexport interface IDerivation extends IDepTreeNode {\n observing_: IObservable[]\n newObserving_: null | IObservable[]\n dependenciesState_: IDerivationState_\n /**\n * Id of the current run of a derivation. Each time the derivation is tracked\n * this number is increased by one. This number is globally unique\n */\n runId_: number\n /**\n * amount of dependencies used by the derivation in this run, which has not been bound yet.\n */\n unboundDepsCount_: number\n onBecomeStale_(): void\n isTracing_: TraceMode\n\n /**\n * warn if the derivation has no dependencies after creation/update\n */\n requiresObservable_?: boolean\n}\n\nexport class CaughtException {\n constructor(public cause: any) {\n // Empty\n }\n}\n\nexport function isCaughtException(e: any): e is CaughtException {\n return e instanceof CaughtException\n}\n\n/**\n * Finds out whether any dependency of the derivation has actually changed.\n * If dependenciesState is 1 then it will recalculate dependencies,\n * if any dependency changed it will propagate it by changing dependenciesState to 2.\n *\n * By iterating over the dependencies in the same order that they were reported and\n * stopping on the first change, all the recalculations are only called for ComputedValues\n * that will be tracked by derivation. That is because we assume that if the first x\n * dependencies of the derivation doesn't change then the derivation should run the same way\n * up until accessing x-th dependency.\n */\nexport function shouldCompute(derivation: IDerivation): boolean {\n switch (derivation.dependenciesState_) {\n case IDerivationState_.UP_TO_DATE_:\n return false\n case IDerivationState_.NOT_TRACKING_:\n case IDerivationState_.STALE_:\n return true\n case IDerivationState_.POSSIBLY_STALE_: {\n // state propagation can occur outside of action/reactive context #2195\n const prevAllowStateReads = allowStateReadsStart(true)\n const prevUntracked = untrackedStart() // no need for those computeds to be reported, they will be picked up in trackDerivedFunction.\n const obs = derivation.observing_,\n l = obs.length\n for (let i = 0; i < l; i++) {\n const obj = obs[i]\n if (isComputedValue(obj)) {\n if (globalState.disableErrorBoundaries) {\n obj.get()\n } else {\n try {\n obj.get()\n } catch (e) {\n // we are not interested in the value *or* exception at this moment, but if there is one, notify all\n untrackedEnd(prevUntracked)\n allowStateReadsEnd(prevAllowStateReads)\n return true\n }\n }\n // if ComputedValue `obj` actually changed it will be computed and propagated to its observers.\n // and `derivation` is an observer of `obj`\n // invariantShouldCompute(derivation)\n if ((derivation.dependenciesState_ as any) === IDerivationState_.STALE_) {\n untrackedEnd(prevUntracked)\n allowStateReadsEnd(prevAllowStateReads)\n return true\n }\n }\n }\n changeDependenciesStateTo0(derivation)\n untrackedEnd(prevUntracked)\n allowStateReadsEnd(prevAllowStateReads)\n return false\n }\n }\n}\n\nexport function isComputingDerivation() {\n return globalState.trackingDerivation !== null // filter out actions inside computations\n}\n\nexport function checkIfStateModificationsAreAllowed(atom: IAtom) {\n if (!__DEV__) {\n return\n }\n const hasObservers = atom.observers_.size > 0\n // Should not be possible to change observed state outside strict mode, except during initialization, see #563\n if (\n !globalState.allowStateChanges &&\n (hasObservers || globalState.enforceActions === \"always\")\n ) {\n console.warn(\n \"[MobX] \" +\n (globalState.enforceActions\n ? \"Since strict-mode is enabled, changing (observed) observable values without using an action is not allowed. Tried to modify: \"\n : \"Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, a computed value or the render function of a React component? You can wrap side effects in 'runInAction' (or decorate functions with 'action') if needed. Tried to modify: \") +\n atom.name_\n )\n }\n}\n\nexport function checkIfStateReadsAreAllowed(observable: IObservable) {\n if (__DEV__ && !globalState.allowStateReads && globalState.observableRequiresReaction) {\n console.warn(\n `[mobx] Observable '${observable.name_}' being read outside a reactive context.`\n )\n }\n}\n\n/**\n * Executes the provided function `f` and tracks which observables are being accessed.\n * The tracking information is stored on the `derivation` object and the derivation is registered\n * as observer of any of the accessed observables.\n */\nexport function trackDerivedFunction<T>(derivation: IDerivation, f: () => T, context: any) {\n const prevAllowStateReads = allowStateReadsStart(true)\n changeDependenciesStateTo0(derivation)\n // Preallocate array; will be trimmed by bindDependencies.\n derivation.newObserving_ = new Array(\n // Reserve constant space for initial dependencies, dynamic space otherwise.\n // See https://github.com/mobxjs/mobx/pull/3833\n derivation.runId_ === 0 ? 100 : derivation.observing_.length\n )\n derivation.unboundDepsCount_ = 0\n derivation.runId_ = ++globalState.runId\n const prevTracking = globalState.trackingDerivation\n globalState.trackingDerivation = derivation\n globalState.inBatch++\n let result\n if (globalState.disableErrorBoundaries === true) {\n result = f.call(context)\n } else {\n try {\n result = f.call(context)\n } catch (e) {\n result = new CaughtException(e)\n }\n }\n globalState.inBatch--\n globalState.trackingDerivation = prevTracking\n bindDependencies(derivation)\n\n warnAboutDerivationWithoutDependencies(derivation)\n allowStateReadsEnd(prevAllowStateReads)\n return result\n}\n\nfunction warnAboutDerivationWithoutDependencies(derivation: IDerivation) {\n if (!__DEV__) {\n return\n }\n\n if (derivation.observing_.length !== 0) {\n return\n }\n\n if (\n typeof derivation.requiresObservable_ === \"boolean\"\n ? derivation.requiresObservable_\n : globalState.reactionRequiresObservable\n ) {\n console.warn(\n `[mobx] Derivation '${derivation.name_}' is created/updated without reading any observable value.`\n )\n }\n}\n\n/**\n * diffs newObserving with observing.\n * update observing to be newObserving with unique observables\n * notify observers that become observed/unobserved\n */\nfunction bindDependencies(derivation: IDerivation) {\n // invariant(derivation.dependenciesState !== IDerivationState.NOT_TRACKING, \"INTERNAL ERROR bindDependencies expects derivation.dependenciesState !== -1\");\n const prevObserving = derivation.observing_\n const observing = (derivation.observing_ = derivation.newObserving_!)\n let lowestNewObservingDerivationState = IDerivationState_.UP_TO_DATE_\n\n // Go through all new observables and check diffValue: (this list can contain duplicates):\n // 0: first occurrence, change to 1 and keep it\n // 1: extra occurrence, drop it\n let i0 = 0,\n l = derivation.unboundDepsCount_\n for (let i = 0; i < l; i++) {\n const dep = observing[i]\n if (dep.diffValue === 0) {\n dep.diffValue = 1\n if (i0 !== i) {\n observing[i0] = dep\n }\n i0++\n }\n\n // Upcast is 'safe' here, because if dep is IObservable, `dependenciesState` will be undefined,\n // not hitting the condition\n if ((dep as any as IDerivation).dependenciesState_ > lowestNewObservingDerivationState) {\n lowestNewObservingDerivationState = (dep as any as IDerivation).dependenciesState_\n }\n }\n observing.length = i0\n\n derivation.newObserving_ = null // newObserving shouldn't be needed outside tracking (statement moved down to work around FF bug, see #614)\n\n // Go through all old observables and check diffValue: (it is unique after last bindDependencies)\n // 0: it's not in new observables, unobserve it\n // 1: it keeps being observed, don't want to notify it. change to 0\n l = prevObserving.length\n while (l--) {\n const dep = prevObserving[l]\n if (dep.diffValue === 0) {\n removeObserver(dep, derivation)\n }\n dep.diffValue = 0\n }\n\n // Go through all new observables and check diffValue: (now it should be unique)\n // 0: it was set to 0 in last loop. don't need to do anything.\n // 1: it wasn't observed, let's observe it. set back to 0\n while (i0--) {\n const dep = observing[i0]\n if (dep.diffValue === 1) {\n dep.diffValue = 0\n addObserver(dep, derivation)\n }\n }\n\n // Some new observed derivations may become stale during this derivation computation\n // so they have had no chance to propagate staleness (#916)\n if (lowestNewObservingDerivationState !== IDerivationState_.UP_TO_DATE_) {\n derivation.dependenciesState_ = lowestNewObservingDerivationState\n derivation.onBecomeStale_()\n }\n}\n\nexport function clearObserving(derivation: IDerivation) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR clearObserving should be called only inside batch\");\n const obs = derivation.observing_\n derivation.observing_ = []\n let i = obs.length\n while (i--) {\n removeObserver(obs[i], derivation)\n }\n\n derivation.dependenciesState_ = IDerivationState_.NOT_TRACKING_\n}\n\nexport function untracked<T>(action: () => T): T {\n const prev = untrackedStart()\n try {\n return action()\n } finally {\n untrackedEnd(prev)\n }\n}\n\nexport function untrackedStart(): IDerivation | null {\n const prev = globalState.trackingDerivation\n globalState.trackingDerivation = null\n return prev\n}\n\nexport function untrackedEnd(prev: IDerivation | null) {\n globalState.trackingDerivation = prev\n}\n\nexport function allowStateReadsStart(allowStateReads: boolean) {\n const prev = globalState.allowStateReads\n globalState.allowStateReads = allowStateReads\n return prev\n}\n\nexport function allowStateReadsEnd(prev: boolean) {\n globalState.allowStateReads = prev\n}\n\n/**\n * needed to keep `lowestObserverState` correct. when changing from (2 or 1) to 0\n *\n */\nexport function changeDependenciesStateTo0(derivation: IDerivation) {\n if (derivation.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n return\n }\n derivation.dependenciesState_ = IDerivationState_.UP_TO_DATE_\n\n const obs = derivation.observing_\n let i = obs.length\n while (i--) {\n obs[i].lowestObserverState_ = IDerivationState_.UP_TO_DATE_\n }\n}\n","import { IDerivation, IObservable, Reaction, die, getGlobal } from \"../internal\"\nimport { ComputedValue } from \"./computedvalue\"\n\n/**\n * These values will persist if global state is reset\n */\nconst persistentKeys: (keyof MobXGlobals)[] = [\n \"mobxGuid\",\n \"spyListeners\",\n \"enforceActions\",\n \"computedRequiresReaction\",\n \"reactionRequiresObservable\",\n \"observableRequiresReaction\",\n \"allowStateReads\",\n \"disableErrorBoundaries\",\n \"runId\",\n \"UNCHANGED\",\n \"useProxies\"\n]\n\nexport type IUNCHANGED = {}\n\nexport class MobXGlobals {\n /**\n * MobXGlobals version.\n * MobX compatiblity with other versions loaded in memory as long as this version matches.\n * It indicates that the global state still stores similar information\n *\n * N.B: this version is unrelated to the package version of MobX, and is only the version of the\n * internal state storage of MobX, and can be the same across many different package versions\n */\n version = 6\n\n /**\n * globally unique token to signal unchanged\n */\n UNCHANGED: IUNCHANGED = {}\n\n /**\n * Currently running derivation\n */\n trackingDerivation: IDerivation | null = null\n\n /**\n * Currently running reaction. This determines if we currently have a reactive context.\n * (Tracking derivation is also set for temporal tracking of computed values inside actions,\n * but trackingReaction can only be set by a form of Reaction)\n */\n trackingContext: Reaction | ComputedValue<any> | null = null\n\n /**\n * Each time a derivation is tracked, it is assigned a unique run-id\n */\n runId = 0\n\n /**\n * 'guid' for general purpose. Will be persisted amongst resets.\n */\n mobxGuid = 0\n\n /**\n * Are we in a batch block? (and how many of them)\n */\n inBatch: number = 0\n\n /**\n * Observables that don't have observers anymore, and are about to be\n * suspended, unless somebody else accesses it in the same batch\n *\n * @type {IObservable[]}\n */\n pendingUnobservations: IObservable[] = []\n\n /**\n * List of scheduled, not yet executed, reactions.\n */\n pendingReactions: Reaction[] = []\n\n /**\n * Are we currently processing reactions?\n */\n isRunningReactions = false\n\n /**\n * Is it allowed to change observables at this point?\n * In general, MobX doesn't allow that when running computations and React.render.\n * To ensure that those functions stay pure.\n */\n allowStateChanges = false\n\n /**\n * Is it allowed to read observables at this point?\n * Used to hold the state needed for `observableRequiresReaction`\n */\n allowStateReads = true\n\n /**\n * If strict mode is enabled, state changes are by default not allowed\n */\n enforceActions: boolean | \"always\" = true\n\n /**\n * Spy callbacks\n */\n spyListeners: { (change: any): void }[] = []\n\n /**\n * Globally attached error handlers that react specifically to errors in reactions\n */\n globalReactionErrorHandlers: ((error: any, derivation: IDerivation) => void)[] = []\n\n /**\n * Warn if computed values are accessed outside a reactive context\n */\n computedRequiresReaction = false\n\n /**\n * (Experimental)\n * Warn if you try to create to derivation / reactive context without accessing any observable.\n */\n reactionRequiresObservable = false\n\n /**\n * (Experimental)\n * Warn if observables are accessed outside a reactive context\n */\n observableRequiresReaction = false\n\n /*\n * Don't catch and rethrow exceptions. This is useful for inspecting the state of\n * the stack when an exception occurs while debugging.\n */\n disableErrorBoundaries = false\n\n /*\n * If true, we are already handling an exception in an action. Any errors in reactions should be suppressed, as\n * they are not the cause, see: https://github.com/mobxjs/mobx/issues/1836\n */\n suppressReactionErrors = false\n\n useProxies = true\n /*\n * print warnings about code that would fail if proxies weren't available\n */\n verifyProxies = false\n\n /**\n * False forces all object's descriptors to\n * writable: true\n * configurable: true\n */\n safeDescriptors = true\n}\n\nlet canMergeGlobalState = true\nlet isolateCalled = false\n\nexport let globalState: MobXGlobals = (function () {\n let global = getGlobal()\n if (global.__mobxInstanceCount > 0 && !global.__mobxGlobals) {\n canMergeGlobalState = false\n }\n if (global.__mobxGlobals && global.__mobxGlobals.version !== new MobXGlobals().version) {\n canMergeGlobalState = false\n }\n\n if (!canMergeGlobalState) {\n // Because this is a IIFE we need to let isolateCalled a chance to change\n // so we run it after the event loop completed at least 1 iteration\n setTimeout(() => {\n if (!isolateCalled) {\n die(35)\n }\n }, 1)\n return new MobXGlobals()\n } else if (global.__mobxGlobals) {\n global.__mobxInstanceCount += 1\n if (!global.__mobxGlobals.UNCHANGED) {\n global.__mobxGlobals.UNCHANGED = {}\n } // make merge backward compatible\n return global.__mobxGlobals\n } else {\n global.__mobxInstanceCount = 1\n return (global.__mobxGlobals = new MobXGlobals())\n }\n})()\n\nexport function isolateGlobalState() {\n if (\n globalState.pendingReactions.length ||\n globalState.inBatch ||\n globalState.isRunningReactions\n ) {\n die(36)\n }\n isolateCalled = true\n if (canMergeGlobalState) {\n let global = getGlobal()\n if (--global.__mobxInstanceCount === 0) {\n global.__mobxGlobals = undefined\n }\n globalState = new MobXGlobals()\n }\n}\n\nexport function getGlobalState(): any {\n return globalState\n}\n\n/**\n * For testing purposes only; this will break the internal state of existing observables,\n * but can be used to get back at a stable state after throwing errors\n */\nexport function resetGlobalState() {\n const defaultGlobals = new MobXGlobals()\n for (let key in defaultGlobals) {\n if (persistentKeys.indexOf(key as any) === -1) {\n globalState[key] = defaultGlobals[key]\n }\n }\n globalState.allowStateChanges = !globalState.enforceActions\n}\n","import {\n Lambda,\n ComputedValue,\n IDependencyTree,\n IDerivation,\n IDerivationState_,\n TraceMode,\n getDependencyTree,\n globalState,\n runReactions,\n checkIfStateReadsAreAllowed\n} from \"../internal\"\n\nexport interface IDepTreeNode {\n name_: string\n observing_?: IObservable[]\n}\n\nexport interface IObservable extends IDepTreeNode {\n diffValue: number\n /**\n * Id of the derivation *run* that last accessed this observable.\n * If this id equals the *run* id of the current derivation,\n * the dependency is already established\n */\n lastAccessedBy_: number\n isBeingObserved: boolean\n\n lowestObserverState_: IDerivationState_ // Used to avoid redundant propagations\n isPendingUnobservation: boolean // Used to push itself to global.pendingUnobservations at most once per batch.\n\n observers_: Set<IDerivation>\n\n onBUO(): void\n onBO(): void\n\n onBUOL: Set<Lambda> | undefined\n onBOL: Set<Lambda> | undefined\n}\n\nexport function hasObservers(observable: IObservable): boolean {\n return observable.observers_ && observable.observers_.size > 0\n}\n\nexport function getObservers(observable: IObservable): Set<IDerivation> {\n return observable.observers_\n}\n\n// function invariantObservers(observable: IObservable) {\n// const list = observable.observers\n// const map = observable.observersIndexes\n// const l = list.length\n// for (let i = 0; i < l; i++) {\n// const id = list[i].__mapid\n// if (i) {\n// invariant(map[id] === i, \"INTERNAL ERROR maps derivation.__mapid to index in list\") // for performance\n// } else {\n// invariant(!(id in map), \"INTERNAL ERROR observer on index 0 shouldn't be held in map.\") // for performance\n// }\n// }\n// invariant(\n// list.length === 0 || Object.keys(map).length === list.length - 1,\n// \"INTERNAL ERROR there is no junk in map\"\n// )\n// }\nexport function addObserver(observable: IObservable, node: IDerivation) {\n // invariant(node.dependenciesState !== -1, \"INTERNAL ERROR, can add only dependenciesState !== -1\");\n // invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR add already added node\");\n // invariantObservers(observable);\n\n observable.observers_.add(node)\n if (observable.lowestObserverState_ > node.dependenciesState_) {\n observable.lowestObserverState_ = node.dependenciesState_\n }\n\n // invariantObservers(observable);\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR didn't add node\");\n}\n\nexport function removeObserver(observable: IObservable, node: IDerivation) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR, remove should be called only inside batch\");\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR remove already removed node\");\n // invariantObservers(observable);\n observable.observers_.delete(node)\n if (observable.observers_.size === 0) {\n // deleting last observer\n queueForUnobservation(observable)\n }\n // invariantObservers(observable);\n // invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR remove already removed node2\");\n}\n\nexport function queueForUnobservation(observable: IObservable) {\n if (observable.isPendingUnobservation === false) {\n // invariant(observable._observers.length === 0, \"INTERNAL ERROR, should only queue for unobservation unobserved observables\");\n observable.isPendingUnobservation = true\n globalState.pendingUnobservations.push(observable)\n }\n}\n\n/**\n * Batch starts a transaction, at least for purposes of memoizing ComputedValues when nothing else does.\n * During a batch `onBecomeUnobserved` will be called at most once per observable.\n * Avoids unnecessary recalculations.\n */\nexport function startBatch() {\n globalState.inBatch++\n}\n\nexport function endBatch() {\n if (--globalState.inBatch === 0) {\n runReactions()\n // the batch is actually about to finish, all unobserving should happen here.\n const list = globalState.pendingUnobservations\n for (let i = 0; i < list.length; i++) {\n const observable = list[i]\n observable.isPendingUnobservation = false\n if (observable.observers_.size === 0) {\n if (observable.isBeingObserved) {\n // if this observable had reactive observers, trigger the hooks\n observable.isBeingObserved = false\n observable.onBUO()\n }\n if (observable instanceof ComputedValue) {\n // computed values are automatically teared down when the last observer leaves\n // this process happens recursively, this computed might be the last observabe of another, etc..\n observable.suspend_()\n }\n }\n }\n globalState.pendingUnobservations = []\n }\n}\n\nexport function reportObserved(observable: IObservable): boolean {\n checkIfStateReadsAreAllowed(observable)\n\n const derivation = globalState.trackingDerivation\n if (derivation !== null) {\n /**\n * Simple optimization, give each derivation run an unique id (runId)\n * Check if last time this observable was accessed the same runId is used\n * if this is the case, the relation is already known\n */\n if (derivation.runId_ !== observable.lastAccessedBy_) {\n observable.lastAccessedBy_ = derivation.runId_\n // Tried storing newObserving, or observing, or both as Set, but performance didn't come close...\n derivation.newObserving_![derivation.unboundDepsCount_++] = observable\n if (!observable.isBeingObserved && globalState.trackingContext) {\n observable.isBeingObserved = true\n observable.onBO()\n }\n }\n return observable.isBeingObserved\n } else if (observable.observers_.size === 0 && globalState.inBatch > 0) {\n queueForUnobservation(observable)\n }\n\n return false\n}\n\n// function invariantLOS(observable: IObservable, msg: string) {\n// // it's expensive so better not run it in produciton. but temporarily helpful for testing\n// const min = getObservers(observable).reduce((a, b) => Math.min(a, b.dependenciesState), 2)\n// if (min >= observable.lowestObserverState) return // <- the only assumption about `lowestObserverState`\n// throw new Error(\n// \"lowestObserverState is wrong for \" +\n// msg +\n// \" because \" +\n// min +\n// \" < \" +\n// observable.lowestObserverState\n// )\n// }\n\n/**\n * NOTE: current propagation mechanism will in case of self reruning autoruns behave unexpectedly\n * It will propagate changes to observers from previous run\n * It's hard or maybe impossible (with reasonable perf) to get it right with current approach\n * Hopefully self reruning autoruns aren't a feature people should depend on\n * Also most basic use cases should be ok\n */\n\n// Called by Atom when its value changes\nexport function propagateChanged(observable: IObservable) {\n // invariantLOS(observable, \"changed start\");\n if (observable.lowestObserverState_ === IDerivationState_.STALE_) {\n return\n }\n observable.lowestObserverState_ = IDerivationState_.STALE_\n\n // Ideally we use for..of here, but the downcompiled version is really slow...\n observable.observers_.forEach(d => {\n if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n if (__DEV__ && d.isTracing_ !== TraceMode.NONE) {\n logTraceInfo(d, observable)\n }\n d.onBecomeStale_()\n }\n d.dependenciesState_ = IDerivationState_.STALE_\n })\n // invariantLOS(observable, \"changed end\");\n}\n\n// Called by ComputedValue when it recalculate and its value changed\nexport function propagateChangeConfirmed(observable: IObservable) {\n // invariantLOS(observable, \"confirmed start\");\n if (observable.lowestObserverState_ === IDerivationState_.STALE_) {\n return\n }\n observable.lowestObserverState_ = IDerivationState_.STALE_\n\n observable.observers_.forEach(d => {\n if (d.dependenciesState_ === IDerivationState_.POSSIBLY_STALE_) {\n d.dependenciesState_ = IDerivationState_.STALE_\n if (__DEV__ && d.isTracing_ !== TraceMode.NONE) {\n logTraceInfo(d, observable)\n }\n } else if (\n d.dependenciesState_ === IDerivationState_.UP_TO_DATE_ // this happens during computing of `d`, just keep lowestObserverState up to date.\n ) {\n observable.lowestObserverState_ = IDerivationState_.UP_TO_DATE_\n }\n })\n // invariantLOS(observable, \"confirmed end\");\n}\n\n// Used by computed when its dependency changed, but we don't wan't to immediately recompute.\nexport function propagateMaybeChanged(observable: IObservable) {\n // invariantLOS(observable, \"maybe start\");\n if (observable.lowestObserverState_ !== IDerivationState_.UP_TO_DATE_) {\n return\n }\n observable.lowestObserverState_ = IDerivationState_.POSSIBLY_STALE_\n\n observable.observers_.forEach(d => {\n if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n d.dependenciesState_ = IDerivationState_.POSSIBLY_STALE_\n d.onBecomeStale_()\n }\n })\n // invariantLOS(observable, \"maybe end\");\n}\n\nfunction logTraceInfo(derivation: IDerivation, observable: IObservable) {\n console.log(\n `[mobx.trace] '${derivation.name_}' is invalidated due to a change in: '${observable.name_}'`\n )\n if (derivation.isTracing_ === TraceMode.BREAK) {\n const lines = []\n printDepTree(getDependencyTree(derivation), lines, 1)\n\n // prettier-ignore\n new Function(\n`debugger;\n/*\nTracing '${derivation.name_}'\n\nYou are entering this break point because derivation '${derivation.name_}' is being traced and '${observable.name_}' is now forcing it to update.\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\n\n${derivation instanceof ComputedValue ? derivation.derivation.toString().replace(/[*]\\//g, \"/\") : \"\"}\n\nThe dependencies for this derivation are:\n\n${lines.join(\"\\n\")}\n*/\n `)()\n }\n}\n\nfunction printDepTree(tree: IDependencyTree, lines: string[], depth: number) {\n if (lines.length >= 1000) {\n lines.push(\"(and many more)\")\n return\n }\n lines.push(`${\"\\t\".repeat(depth - 1)}${tree.name}`)\n if (tree.dependencies) {\n tree.dependencies.forEach(child => printDepTree(child, lines, depth + 1))\n }\n}\n","import {\n $mobx,\n IDerivation,\n IDerivationState_,\n IObservable,\n Lambda,\n TraceMode,\n clearObserving,\n createInstanceofPredicate,\n endBatch,\n getNextId,\n globalState,\n isCaughtException,\n isSpyEnabled,\n shouldCompute,\n spyReport,\n spyReportEnd,\n spyReportStart,\n startBatch,\n trace,\n trackDerivedFunction,\n GenericAbortSignal\n} from \"../internal\"\n\nimport { getFlag, setFlag } from \"../utils/utils\"\n\n/**\n * Reactions are a special kind of derivations. Several things distinguishes them from normal reactive computations\n *\n * 1) They will always run, whether they are used by other computations or not.\n * This means that they are very suitable for triggering side effects like logging, updating the DOM and making network requests.\n * 2) They are not observable themselves\n * 3) They will always run after any 'normal' derivations\n * 4) They are allowed to change the state and thereby triggering themselves again, as long as they make sure the state propagates to a stable state in a reasonable amount of iterations.\n *\n * The state machine of a Reaction is as follows:\n *\n * 1) after creating, the reaction should be started by calling `runReaction` or by scheduling it (see also `autorun`)\n * 2) the `onInvalidate` handler should somehow result in a call to `this.track(someFunction)`\n * 3) all observables accessed in `someFunction` will be observed by this reaction.\n * 4) as soon as some of the dependencies has changed the Reaction will be rescheduled for another run (after the current mutation or transaction). `isScheduled` will yield true once a dependency is stale and during this period\n * 5) `onInvalidate` will be called, and we are back at step 1.\n *\n */\n\nexport interface IReactionPublic {\n dispose(): void\n trace(enterBreakPoint?: boolean): void\n}\n\nexport interface IReactionDisposer {\n (): void\n [$mobx]: Reaction\n}\n\nexport class Reaction implements IDerivation, IReactionPublic {\n observing_: IObservable[] = [] // nodes we are looking at. Our value depends on these nodes\n newObserving_: IObservable[] = []\n dependenciesState_ = IDerivationState_.NOT_TRACKING_\n runId_ = 0\n unboundDepsCount_ = 0\n\n private static readonly isDisposedMask_ = 0b00001\n private static readonly isScheduledMask_ = 0b00010\n private static readonly isTrackPendingMask_ = 0b00100\n private static readonly isRunningMask_ = 0b01000\n private static readonly diffValueMask_ = 0b10000\n private flags_ = 0b00000\n\n isTracing_: TraceMode = TraceMode.NONE\n\n constructor(\n public name_: string = __DEV__ ? \"Reaction@\" + getNextId() : \"Reaction\",\n private onInvalidate_: () => void,\n private errorHandler_?: (error: any, derivation: IDerivation) => void,\n public requiresObservable_?\n ) {}\n\n get isDisposed() {\n return getFlag(this.flags_, Reaction.isDisposedMask_)\n }\n set isDisposed(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, Reaction.isDisposedMask_, newValue)\n }\n\n get isScheduled() {\n return getFlag(this.flags_, Reaction.isScheduledMask_)\n }\n set isScheduled(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, Reaction.isScheduledMask_, newValue)\n }\n\n get isTrackPending() {\n return getFlag(this.flags_, Reaction.isTrackPendingMask_)\n }\n set isTrackPending(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, Reaction.isTrackPendingMask_, newValue)\n }\n\n get isRunning() {\n return getFlag(this.flags_, Reaction.isRunningMask_)\n }\n set isRunning(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, Reaction.isRunningMask_, newValue)\n }\n\n get diffValue(): 0 | 1 {\n return getFlag(this.flags_, Reaction.diffValueMask_) ? 1 : 0\n }\n set diffValue(newValue: 0 | 1) {\n this.flags_ = setFlag(this.flags_, Reaction.diffValueMask_, newValue === 1 ? true : false)\n }\n\n onBecomeStale_() {\n this.schedule_()\n }\n\n schedule_() {\n if (!this.isScheduled) {\n this.isScheduled = true\n globalState.pendingReactions.push(this)\n runReactions()\n }\n }\n\n /**\n * internal, use schedule() if you intend to kick off a reaction\n */\n runReaction_() {\n if (!this.isDisposed) {\n startBatch()\n this.isScheduled = false\n const prev = globalState.trackingContext\n globalState.trackingContext = this\n if (shouldCompute(this)) {\n this.isTrackPending = true\n\n try {\n this.onInvalidate_()\n if (__DEV__ && this.isTrackPending && isSpyEnabled()) {\n // onInvalidate didn't trigger track right away..\n spyReport({\n name: this.name_,\n type: \"scheduled-reaction\"\n })\n }\n } catch (e) {\n this.reportExceptionInDerivation_(e)\n }\n }\n globalState.trackingContext = prev\n endBatch()\n }\n }\n\n track(fn: () => void) {\n if (this.isDisposed) {\n return\n // console.warn(\"Reaction already disposed\") // Note: Not a warning / error in mobx 4 either\n }\n startBatch()\n const notify = isSpyEnabled()\n let startTime\n if (__DEV__ && notify) {\n startTime = Date.now()\n spyReportStart({\n name: this.name_,\n type: \"reaction\"\n })\n }\n this.isRunning = true\n const prevReaction = globalState.trackingContext // reactions could create reactions...\n globalState.trackingContext = this\n const result = trackDerivedFunction(this, fn, undefined)\n globalState.trackingContext = prevReaction\n this.isRunning = false\n this.isTrackPending = false\n if (this.isDisposed) {\n // disposed during last run. Clean up everything that was bound after the dispose call.\n clearObserving(this)\n }\n if (isCaughtException(result)) {\n this.reportExceptionInDerivation_(result.cause)\n }\n if (__DEV__ && notify) {\n spyReportEnd({\n time: Date.now() - startTime\n })\n }\n endBatch()\n }\n\n reportExceptionInDerivation_(error: any) {\n if (this.errorHandler_) {\n this.errorHandler_(error, this)\n return\n }\n\n if (globalState.disableErrorBoundaries) {\n throw error\n }\n\n const message = __DEV__\n ? `[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '${this}'`\n : `[mobx] uncaught error in '${this}'`\n if (!globalState.suppressReactionErrors) {\n console.error(message, error)\n /** If debugging brought you here, please, read the above message :-). Tnx! */\n } else if (__DEV__) { console.warn(`[mobx] (error in reaction '${this.name_}' suppressed, fix error of causing action below)`) } // prettier-ignore\n\n if (__DEV__ && isSpyEnabled()) {\n spyReport({\n type: \"error\",\n name: this.name_,\n message,\n error: \"\" + error\n })\n }\n\n globalState.globalReactionErrorHandlers.forEach(f => f(error, this))\n }\n\n dispose() {\n if (!this.isDisposed) {\n this.isDisposed = true\n if (!this.isRunning) {\n // if disposed while running, clean up later. Maybe not optimal, but rare case\n startBatch()\n clearObserving(this)\n endBatch()\n }\n }\n }\n\n getDisposer_(abortSignal?: GenericAbortSignal): IReactionDisposer {\n const dispose = (() => {\n this.dispose()\n abortSignal?.removeEventListener?.(\"abort\", dispose)\n }) as IReactionDisposer\n abortSignal?.addEventListener?.(\"abort\", dispose)\n dispose[$mobx] = this\n\n return dispose\n }\n\n toString() {\n return `Reaction[${this.name_}]`\n }\n\n trace(enterBreakPoint: boolean = false) {\n trace(this, enterBreakPoint)\n }\n}\n\nexport function onReactionError(handler: (error: any, derivation: IDerivation) => void): Lambda {\n globalState.globalReactionErrorHandlers.push(handler)\n return () => {\n const idx = globalState.globalReactionErrorHandlers.indexOf(handler)\n if (idx >= 0) {\n globalState.globalReactionErrorHandlers.splice(idx, 1)\n }\n }\n}\n\n/**\n * Magic number alert!\n * Defines within how many times a reaction is allowed to re-trigger itself\n * until it is assumed that this is gonna be a never ending loop...\n */\nconst MAX_REACTION_ITERATIONS = 100\n\nlet reactionScheduler: (fn: () => void) => void = f => f()\n\nexport function runReactions() {\n // Trampolining, if runReactions are already running, new reactions will be picked up\n if (globalState.inBatch > 0 || globalState.isRunningReactions) {\n return\n }\n reactionScheduler(runReactionsHelper)\n}\n\nfunction runReactionsHelper() {\n globalState.isRunningReactions = true\n const allReactions = globalState.pendingReactions\n let iterations = 0\n\n // While running reactions, new reactions might be triggered.\n // Hence we work with two variables and check whether\n // we converge to no remaining reactions after a while.\n while (allReactions.length > 0) {\n if (++iterations === MAX_REACTION_ITERATIONS) {\n console.error(\n __DEV__\n ? `Reaction doesn't converge to a stable state after ${MAX_REACTION_ITERATIONS} iterations.` +\n ` Probably there is a cycle in the reactive function: ${allReactions[0]}`\n : `[mobx] cycle in reaction: ${allReactions[0]}`\n )\n allReactions.splice(0) // clear reactions\n }\n let remainingReactions = allReactions.splice(0)\n for (let i = 0, l = remainingReactions.length; i < l; i++) {\n remainingReactions[i].runReaction_()\n }\n }\n globalState.isRunningReactions = false\n}\n\nexport const isReaction = createInstanceofPredicate(\"Reaction\", Reaction)\n\nexport function setReactionScheduler(fn: (f: () => void) => void) {\n const baseScheduler = reactionScheduler\n reactionScheduler = f => fn(() => baseScheduler(f))\n}\n","import { IComputedDidChange } from \"./computedvalue\"\nimport { IValueDidChange, IBoxDidChange } from \"./../types/observablevalue\"\nimport { IObjectDidChange } from \"./../types/observableobject\"\nimport { IArrayDidChange } from \"./../types/observablearray\"\nimport { Lambda, globalState, once, ISetDidChange, IMapDidChange } from \"../internal\"\n\nexport function isSpyEnabled() {\n return __DEV__ && !!globalState.spyListeners.length\n}\n\nexport type PureSpyEvent =\n | { type: \"action\"; name: string; object: unknown; arguments: unknown[] }\n | { type: \"scheduled-reaction\"; name: string }\n | { type: \"reaction\"; name: string }\n | { type: \"error\"; name: string; message: string; error: string }\n | IComputedDidChange<unknown>\n | IObjectDidChange<unknown>\n | IArrayDidChange<unknown>\n | IMapDidChange<unknown, unknown>\n | ISetDidChange<unknown>\n | IValueDidChange<unknown>\n | IBoxDidChange<unknown>\n | { type: \"report-end\"; spyReportEnd: true; time?: number }\n\ntype SpyEvent = PureSpyEvent & { spyReportStart?: true }\n\nexport function spyReport(event: SpyEvent) {\n if (!__DEV__) {\n return\n } // dead code elimination can do the rest\n if (!globalState.spyListeners.length) {\n return\n }\n const listeners = globalState.spyListeners\n for (let i = 0, l = listeners.length; i < l; i++) {\n listeners[i](event)\n }\n}\n\nexport function spyReportStart(event: PureSpyEvent) {\n if (!__DEV__) {\n return\n }\n const change = { ...event, spyReportStart: true as const }\n spyReport(change)\n}\n\nconst END_EVENT: SpyEvent = { type: \"report-end\", spyReportEnd: true }\n\nexport function spyReportEnd(change?: { time?: number }) {\n if (!__DEV__) {\n return\n }\n if (change) {\n spyReport({ ...change, type: \"report-end\", spyReportEnd: true })\n } else {\n spyReport(END_EVENT)\n }\n}\n\nexport function spy(listener: (change: SpyEvent) => void): Lambda {\n if (!__DEV__) {\n console.warn(`[mobx.spy] Is a no-op in production builds`)\n return function () {}\n } else {\n globalState.spyListeners.push(listener)\n return once(() => {\n globalState.spyListeners = globalState.spyListeners.filter(l => l !== listener)\n })\n }\n}\n","import {\n createAction,\n executeAction,\n Annotation,\n storeAnnotation,\n die,\n isFunction,\n isStringish,\n createDecoratorAnnotation,\n createActionAnnotation,\n is20223Decorator\n} from \"../internal\"\n\nimport type { ClassFieldDecorator, ClassMethodDecorator } from \"../types/decorator_fills\"\n\nexport const ACTION = \"action\"\nexport const ACTION_BOUND = \"action.bound\"\nexport const AUTOACTION = \"autoAction\"\nexport const AUTOACTION_BOUND = \"autoAction.bound\"\n\nconst DEFAULT_ACTION_NAME = \"<unnamed action>\"\n\nconst actionAnnotation = createActionAnnotation(ACTION)\nconst actionBoundAnnotation = createActionAnnotation(ACTION_BOUND, {\n bound: true\n})\nconst autoActionAnnotation = createActionAnnotation(AUTOACTION, {\n autoAction: true\n})\nconst autoActionBoundAnnotation = createActionAnnotation(AUTOACTION_BOUND, {\n autoAction: true,\n bound: true\n})\n\nexport interface IActionFactory\n extends Annotation,\n PropertyDecorator,\n ClassMethodDecorator,\n ClassFieldDecorator {\n // nameless actions\n <T extends Function | undefined | null>(fn: T): T\n // named actions\n <T extends Function | undefined | null>(name: string, fn: T): T\n\n // named decorator\n (customName: string): PropertyDecorator &\n Annotation &\n ClassMethodDecorator &\n ClassFieldDecorator\n\n // decorator (name no longer supported)\n bound: Annotation & PropertyDecorator & ClassMethodDecorator & ClassFieldDecorator\n}\n\nfunction createActionFactory(autoAction: boolean): IActionFactory {\n const res: IActionFactory = function action(arg1, arg2?): any {\n // action(fn() {})\n if (isFunction(arg1)) {\n return createAction(arg1.name || DEFAULT_ACTION_NAME, arg1, autoAction)\n }\n // action(\"name\", fn() {})\n if (isFunction(arg2)) {\n return createAction(arg1, arg2, autoAction)\n }\n // @action (2022.3 Decorators)\n if (is20223Decorator(arg2)) {\n return (autoAction ? autoActionAnnotation : actionAnnotation).decorate_20223_(\n arg1,\n arg2\n )\n }\n // @action\n if (isStringish(arg2)) {\n return storeAnnotation(arg1, arg2, autoAction ? autoActionAnnotation : actionAnnotation)\n }\n // action(\"name\") & @action(\"name\")\n if (isStringish(arg1)) {\n return createDecoratorAnnotation(\n createActionAnnotation(autoAction ? AUTOACTION : ACTION, {\n name: arg1,\n autoAction\n })\n )\n }\n\n if (__DEV__) {\n die(\"Invalid arguments for `action`\")\n }\n } as IActionFactory\n return res\n}\n\nexport const action: IActionFactory = createActionFactory(false)\nObject.assign(action, actionAnnotation)\nexport const autoAction: IActionFactory = createActionFactory(true)\nObject.assign(autoAction, autoActionAnnotation)\n\naction.bound = createDecoratorAnnotation(actionBoundAnnotation)\nautoAction.bound = createDecoratorAnnotation(autoActionBoundAnnotation)\n\nexport function runInAction<T>(fn: () => T): T {\n return executeAction(fn.name || DEFAULT_ACTION_NAME, false, fn, this, undefined)\n}\n\nexport function isAction(thing: any) {\n return isFunction(thing) && thing.isMobxAction === true\n}\n","import {\n EMPTY_OBJECT,\n IEqualsComparer,\n IReactionDisposer,\n IReactionPublic,\n Lambda,\n Reaction,\n action,\n comparer,\n getNextId,\n isAction,\n isFunction,\n isPlainObject,\n die,\n allowStateChanges,\n GenericAbortSignal\n} from \"../internal\"\n\nexport interface IAutorunOptions {\n delay?: number\n name?: string\n /**\n * Experimental.\n * Warns if the view doesn't track observables\n */\n requiresObservable?: boolean\n scheduler?: (callback: () => void) => any\n onError?: (error: any) => void\n signal?: GenericAbortSignal\n}\n\n/**\n * Creates a named reactive view and keeps it alive, so that the view is always\n * updated if one of the dependencies changes, even when the view is not further used by something else.\n * @param view The reactive view\n * @returns disposer function, which can be used to stop the view from being updated in the future.\n */\nexport function autorun(\n view: (r: IReactionPublic) => any,\n opts: IAutorunOptions = EMPTY_OBJECT\n): IReactionDisposer {\n if (__DEV__) {\n if (!isFunction(view)) {\n die(\"Autorun expects a function as first argument\")\n }\n if (isAction(view)) {\n die(\"Autorun does not accept actions since actions are untrackable\")\n }\n }\n\n const name: string =\n opts?.name ?? (__DEV__ ? (view as any).name || \"Autorun@\" + getNextId() : \"Autorun\")\n const runSync = !opts.scheduler && !opts.delay\n let reaction: Reaction\n\n if (runSync) {\n // normal autorun\n reaction = new Reaction(\n name,\n function (this: Reaction) {\n this.track(reactionRunner)\n },\n opts.onError,\n opts.requiresObservable\n )\n } else {\n const scheduler = createSchedulerFromOptions(opts)\n // debounced autorun\n let isScheduled = false\n\n reaction = new Reaction(\n name,\n () => {\n if (!isScheduled) {\n isScheduled = true\n scheduler(() => {\n isScheduled = false\n if (!reaction.isDisposed) {\n reaction.track(reactionRunner)\n }\n })\n }\n },\n opts.onError,\n opts.requiresObservable\n )\n }\n\n function reactionRunner() {\n view(reaction)\n }\n\n if (!opts?.signal?.aborted) {\n reaction.schedule_()\n }\n return reaction.getDisposer_(opts?.signal)\n}\n\nexport type IReactionOptions<T, FireImmediately extends boolean> = IAutorunOptions & {\n fireImmediately?: FireImmediately\n equals?: IEqualsComparer<T>\n}\n\nconst run = (f: Lambda) => f()\n\nfunction createSchedulerFromOptions(opts: IAutorunOptions) {\n return opts.scheduler\n ? opts.scheduler\n : opts.delay\n ? (f: Lambda) => setTimeout(f, opts.delay!)\n : run\n}\n\nexport function reaction<T, FireImmediately extends boolean = false>(\n expression: (r: IReactionPublic) => T,\n effect: (\n arg: T,\n prev: FireImmediately extends true ? T | undefined : T,\n r: IReactionPublic\n ) => void,\n opts: IReactionOptions<T, FireImmediately> = EMPTY_OBJECT\n): IReactionDisposer {\n if (__DEV__) {\n if (!isFunction(expression) || !isFunction(effect)) {\n die(\"First and second argument to reaction should be functions\")\n }\n if (!isPlainObject(opts)) {\n die(\"Third argument of reactions should be an object\")\n }\n }\n const name = opts.name ?? (__DEV__ ? \"Reaction@\" + getNextId() : \"Reaction\")\n const effectAction = action(\n name,\n opts.onError ? wrapErrorHandler(opts.onError, effect) : effect\n )\n const runSync = !opts.scheduler && !opts.delay\n const scheduler = createSchedulerFromOptions(opts)\n\n let firstTime = true\n let isScheduled = false\n let value: T\n\n const equals: IEqualsComparer<T> = (opts as any).compareStructural\n ? comparer.structural\n : opts.equals || comparer.default\n\n const r = new Reaction(\n name,\n () => {\n if (firstTime || runSync) {\n reactionRunner()\n } else if (!isScheduled) {\n isScheduled = true\n scheduler!(reactionRunner)\n }\n },\n opts.onError,\n opts.requiresObservable\n )\n\n function reactionRunner() {\n isScheduled = false\n if (r.isDisposed) {\n return\n }\n let changed: boolean = false\n const oldValue = value\n r.track(() => {\n const nextValue = allowStateChanges(false, () => expression(r))\n changed = firstTime || !equals(value, nextValue)\n value = nextValue\n })\n\n // This casting is nesessary as TS cannot infer proper type in current function implementation\n type OldValue = FireImmediately extends true ? T | undefined : T\n if (firstTime && opts.fireImmediately!) {\n effectAction(value, oldValue as OldValue, r)\n } else if (!firstTime && changed) {\n effectAction(value, oldValue as OldValue, r)\n }\n firstTime = false\n }\n\n if (!opts?.signal?.aborted) {\n r.schedule_()\n }\n return r.getDisposer_(opts?.signal)\n}\n\nfunction wrapErrorHandler(errorHandler, baseFn) {\n return function () {\n try {\n return baseFn.apply(this, arguments)\n } catch (e) {\n errorHandler.call(this, e)\n }\n }\n}\n","import {\n IComputedValue,\n IObservable,\n IObservableArray,\n Lambda,\n ObservableMap,\n getAtom,\n ObservableSet,\n isFunction,\n IObservableValue\n} from \"../internal\"\n\nconst ON_BECOME_OBSERVED = \"onBO\"\nconst ON_BECOME_UNOBSERVED = \"onBUO\"\n\nexport function onBecomeObserved(\n value:\n | IObservable\n | IComputedValue<any>\n | IObservableArray<any>\n | ObservableMap<any, any>\n | ObservableSet<any>\n | IObservableValue<any>,\n listener: Lambda\n): Lambda\nexport function onBecomeObserved<K, V = any>(\n value: ObservableMap<K, V> | Object,\n property: K,\n listener: Lambda\n): Lambda\nexport function onBecomeObserved(thing, arg2, arg3?): Lambda {\n return interceptHook(ON_BECOME_OBSERVED, thing, arg2, arg3)\n}\n\nexport function onBecomeUnobserved(\n value:\n | IObservable\n | IComputedValue<any>\n | IObservableArray<any>\n | ObservableMap<any, any>\n | ObservableSet<any>\n | IObservableValue<any>,\n listener: Lambda\n): Lambda\nexport function onBecomeUnobserved<K, V = any>(\n value: ObservableMap<K, V> | Object,\n property: K,\n listener: Lambda\n): Lambda\nexport function onBecomeUnobserved(thing, arg2, arg3?): Lambda {\n return interceptHook(ON_BECOME_UNOBSERVED, thing, arg2, arg3)\n}\n\nfunction interceptHook(hook: \"onBO\" | \"onBUO\", thing, arg2, arg3) {\n const atom: IObservable =\n typeof arg3 === \"function\" ? getAtom(thing, arg2) : (getAtom(thing) as any)\n const cb = isFunction(arg3) ? arg3 : arg2\n const listenersKey = `${hook}L` as \"onBOL\" | \"onBUOL\"\n\n if (atom[listenersKey]) {\n atom[listenersKey]!.add(cb)\n } else {\n atom[listenersKey] = new Set<Lambda>([cb])\n }\n\n return function () {\n const hookListeners = atom[listenersKey]\n if (hookListeners) {\n hookListeners.delete(cb)\n if (hookListeners.size === 0) {\n delete atom[listenersKey]\n }\n }\n }\n}\n","import { globalState, isolateGlobalState, setReactionScheduler } from \"../internal\"\n\nconst NEVER = \"never\"\nconst ALWAYS = \"always\"\nconst OBSERVED = \"observed\"\n// const IF_AVAILABLE = \"ifavailable\"\n\nexport function configure(options: {\n enforceActions?: \"never\" | \"always\" | \"observed\"\n computedRequiresReaction?: boolean\n /**\n * Warn if you try to create to derivation / reactive context without accessing any observable.\n */\n reactionRequiresObservable?: boolean\n /**\n * Warn if observables are accessed outside a reactive context\n */\n observableRequiresReaction?: boolean\n isolateGlobalState?: boolean\n disableErrorBoundaries?: boolean\n safeDescriptors?: boolean\n reactionScheduler?: (f: () => void) => void\n useProxies?: \"always\" | \"never\" | \"ifavailable\"\n}): void {\n if (options.isolateGlobalState === true) {\n isolateGlobalState()\n }\n const { useProxies, enforceActions } = options\n if (useProxies !== undefined) {\n globalState.useProxies =\n useProxies === ALWAYS\n ? true\n : useProxies === NEVER\n ? false\n : typeof Proxy !== \"undefined\"\n }\n if (useProxies === \"ifavailable\") {\n globalState.verifyProxies = true\n }\n if (enforceActions !== undefined) {\n const ea = enforceActions === ALWAYS ? ALWAYS : enforceActions === OBSERVED\n globalState.enforceActions = ea\n globalState.allowStateChanges = ea === true || ea === ALWAYS ? false : true\n }\n ;[\n \"computedRequiresReaction\",\n \"reactionRequiresObservable\",\n \"observableRequiresReaction\",\n \"disableErrorBoundaries\",\n \"safeDescriptors\"\n ].forEach(key => {\n if (key in options) {\n globalState[key] = !!options[key]\n }\n })\n globalState.allowStateReads = !globalState.observableRequiresReaction\n if (__DEV__ && globalState.disableErrorBoundaries === true) {\n console.warn(\n \"WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled.\"\n )\n }\n if (options.reactionScheduler) {\n setReactionScheduler(options.reactionScheduler)\n }\n}\n","import {\n CreateObservableOptions,\n isObservableMap,\n AnnotationsMap,\n asObservableObject,\n isPlainObject,\n ObservableObjectAdministration,\n isObservable,\n die,\n getOwnPropertyDescriptors,\n $mobx,\n ownKeys,\n initObservable\n} from \"../internal\"\n\nexport function extendObservable<A extends Object, B extends Object>(\n target: A,\n properties: B,\n annotations?: AnnotationsMap<B, never>,\n options?: CreateObservableOptions\n): A & B {\n if (__DEV__) {\n if (arguments.length > 4) {\n die(\"'extendObservable' expected 2-4 arguments\")\n }\n if (typeof target !== \"object\") {\n die(\"'extendObservable' expects an object as first argument\")\n }\n if (isObservableMap(target)) {\n die(\"'extendObservable' should not be used on maps, use map.merge instead\")\n }\n if (!isPlainObject(properties)) {\n die(`'extendObservable' only accepts plain objects as second argument`)\n }\n if (isObservable(properties) || isObservable(annotations)) {\n die(`Extending an object with another observable (object) is not supported`)\n }\n }\n // Pull descriptors first, so we don't have to deal with props added by administration ($mobx)\n const descriptors = getOwnPropertyDescriptors(properties)\n\n initObservable(() => {\n const adm: ObservableObjectAdministration = asObservableObject(target, options)[$mobx]\n ownKeys(descriptors).forEach(key => {\n adm.extend_(\n key,\n descriptors[key as any],\n // must pass \"undefined\" for { key: undefined }\n !annotations ? true : key in annotations ? annotations[key] : true\n )\n })\n })\n\n return target as any\n}\n","import { IDepTreeNode, getAtom, getObservers, hasObservers } from \"../internal\"\n\nexport interface IDependencyTree {\n name: string\n dependencies?: IDependencyTree[]\n}\n\nexport interface IObserverTree {\n name: string\n observers?: IObserverTree[]\n}\n\nexport function getDependencyTree(thing: any, property?: string): IDependencyTree {\n return nodeToDependencyTree(getAtom(thing, property))\n}\n\nfunction nodeToDependencyTree(node: IDepTreeNode): IDependencyTree {\n const result: IDependencyTree = {\n name: node.name_\n }\n if (node.observing_ && node.observing_.length > 0) {\n result.dependencies = unique(node.observing_).map(nodeToDependencyTree)\n }\n return result\n}\n\nexport function getObserverTree(thing: any, property?: string): IObserverTree {\n return nodeToObserverTree(getAtom(thing, property))\n}\n\nfunction nodeToObserverTree(node: IDepTreeNode): IObserverTree {\n const result: IObserverTree = {\n name: node.name_\n }\n if (hasObservers(node as any)) {\n result.observers = Array.from(<any>getObservers(node as any)).map(<any>nodeToObserverTree)\n }\n return result\n}\n\nfunction unique<T>(list: T[]): T[] {\n return Array.from(new Set(list))\n}\n","import {\n action,\n noop,\n die,\n isFunction,\n Annotation,\n isStringish,\n storeAnnotation,\n createFlowAnnotation,\n createDecoratorAnnotation,\n is20223Decorator\n} from \"../internal\"\n\nimport type { ClassMethodDecorator } from \"../types/decorator_fills\"\n\nexport const FLOW = \"flow\"\n\nlet generatorId = 0\n\nexport function FlowCancellationError() {\n this.message = \"FLOW_CANCELLED\"\n}\nFlowCancellationError.prototype = Object.create(Error.prototype)\n\nexport function isFlowCancellationError(error: Error) {\n return error instanceof FlowCancellationError\n}\n\nexport type CancellablePromise<T> = Promise<T> & { cancel(): void }\n\ninterface Flow extends Annotation, PropertyDecorator, ClassMethodDecorator {\n <R, Args extends any[]>(\n generator: (...args: Args) => Generator<any, R, any> | AsyncGenerator<any, R, any>\n ): (...args: Args) => CancellablePromise<R>\n bound: Annotation & PropertyDecorator & ClassMethodDecorator\n}\n\nconst flowAnnotation = createFlowAnnotation(\"flow\")\nconst flowBoundAnnotation = createFlowAnnotation(\"flow.bound\", { bound: true })\n\nexport const flow: Flow = Object.assign(\n function flow(arg1, arg2?) {\n // @flow (2022.3 Decorators)\n if (is20223Decorator(arg2)) {\n return flowAnnotation.decorate_20223_(arg1, arg2)\n }\n // @flow\n if (isStringish(arg2)) {\n return storeAnnotation(arg1, arg2, flowAnnotation)\n }\n // flow(fn)\n if (__DEV__ && arguments.length !== 1) {\n die(`Flow expects single argument with generator function`)\n }\n const generator = arg1\n const name = generator.name || \"<unnamed flow>\"\n\n // Implementation based on https://github.com/tj/co/blob/master/index.js\n const res = function () {\n const ctx = this\n const args = arguments\n const runId = ++generatorId\n const gen = action(`${name} - runid: ${runId} - init`, generator).apply(ctx, args)\n let rejector: (error: any) => void\n let pendingPromise: CancellablePromise<any> | undefined = undefined\n\n const promise = new Promise(function (resolve, reject) {\n let stepId = 0\n rejector = reject\n\n function onFulfilled(res: any) {\n pendingPromise = undefined\n let ret\n try {\n ret = action(\n `${name} - runid: ${runId} - yield ${stepId++}`,\n gen.next\n ).call(gen, res)\n } catch (e) {\n return reject(e)\n }\n\n next(ret)\n }\n\n function onRejected(err: any) {\n pendingPromise = undefined\n let ret\n try {\n ret = action(\n `${name} - runid: ${runId} - yield ${stepId++}`,\n gen.throw!\n ).call(gen, err)\n } catch (e) {\n return reject(e)\n }\n next(ret)\n }\n\n function next(ret: any) {\n if (isFunction(ret?.then)) {\n // an async iterator\n ret.then(next, reject)\n return\n }\n if (ret.done) {\n return resolve(ret.value)\n }\n pendingPromise = Promise.resolve(ret.value) as any\n return pendingPromise!.then(onFulfilled, onRejected)\n }\n\n onFulfilled(undefined) // kick off the process\n }) as any\n\n promise.cancel = action(`${name} - runid: ${runId} - cancel`, function () {\n try {\n if (pendingPromise) {\n cancelPromise(pendingPromise)\n }\n // Finally block can return (or yield) stuff..\n const res = gen.return!(undefined as any)\n // eat anything that promise would do, it's cancelled!\n const yieldedPromise = Promise.resolve(res.value)\n yieldedPromise.then(noop, noop)\n cancelPromise(yieldedPromise) // maybe it can be cancelled :)\n // reject our original promise\n rejector(new FlowCancellationError())\n } catch (e) {\n rejector(e) // there could be a throwing finally block\n }\n })\n return promise\n }\n res.isMobXFlow = true\n return res\n } as any,\n flowAnnotation\n)\n\nflow.bound = createDecoratorAnnotation(flowBoundAnnotation)\n\nfunction cancelPromise(promise) {\n if (isFunction(promise.cancel)) {\n promise.cancel()\n }\n}\n\nexport function flowResult<T>(\n result: T\n): T extends Generator<any, infer R, any>\n ? CancellablePromise<R>\n : T extends CancellablePromise<any>\n ? T\n : never {\n return result as any // just tricking TypeScript :)\n}\n\nexport function isFlow(fn: any): boolean {\n return fn?.isMobXFlow === true\n}\n","import {\n IObservableArray,\n IObservableValue,\n Lambda,\n ObservableMap,\n getAdministration,\n isObservableArray,\n isObservableMap,\n isObservableObject,\n isObservableValue,\n ObservableSet,\n die,\n isStringish\n} from \"../internal\"\n\nexport type ReadInterceptor<T> = (value: any) => T\n\n/** Experimental feature right now, tested indirectly via Mobx-State-Tree */\nexport function interceptReads<T>(value: IObservableValue<T>, handler: ReadInterceptor<T>): Lambda\nexport function interceptReads<T>(\n observableArray: IObservableArray<T>,\n handler: ReadInterceptor<T>\n): Lambda\nexport function interceptReads<K, V>(\n observableMap: ObservableMap<K, V>,\n handler: ReadInterceptor<V>\n): Lambda\nexport function interceptReads<V>(\n observableSet: ObservableSet<V>,\n handler: ReadInterceptor<V>\n): Lambda\nexport function interceptReads(\n object: Object,\n property: string,\n handler: ReadInterceptor<any>\n): Lambda\nexport function interceptReads(thing, propOrHandler?, handler?): Lambda {\n let target\n if (isObservableMap(thing) || isObservableArray(thing) || isObservableValue(thing)) {\n target = getAdministration(thing)\n } else if (isObservableObject(thing)) {\n if (__DEV__ && !isStringish(propOrHandler)) {\n return die(\n `InterceptReads can only be used with a specific property, not with an object in general`\n )\n }\n target = getAdministration(thing, propOrHandler)\n } else if (__DEV__) {\n return die(`Expected observable map, object or array as first array`)\n }\n if (__DEV__ && target.dehancer !== undefined) {\n return die(`An intercept reader was already established`)\n }\n target.dehancer = typeof propOrHandler === \"function\" ? propOrHandler : handler\n return () => {\n target.dehancer = undefined\n }\n}\n","import {\n IArrayWillChange,\n IArrayWillSplice,\n IInterceptor,\n IMapWillChange,\n IObjectWillChange,\n IObservableArray,\n IObservableValue,\n IValueWillChange,\n Lambda,\n ObservableMap,\n getAdministration,\n ObservableSet,\n ISetWillChange,\n isFunction\n} from \"../internal\"\n\nexport function intercept<T>(\n value: IObservableValue<T>,\n handler: IInterceptor<IValueWillChange<T>>\n): Lambda\nexport function intercept<T>(\n observableArray: IObservableArray<T> | Array<T>,\n handler: IInterceptor<IArrayWillChange<T> | IArrayWillSplice<T>>\n): Lambda\nexport function intercept<K, V>(\n observableMap: ObservableMap<K, V> | Map<K, V>,\n handler: IInterceptor<IMapWillChange<K, V>>\n): Lambda\nexport function intercept<V>(\n observableSet: ObservableSet<V> | Set<V>,\n handler: IInterceptor<ISetWillChange<V>>\n): Lambda\nexport function intercept<K, V>(\n observableMap: ObservableMap<K, V> | Map<K, V>,\n property: K,\n handler: IInterceptor<IValueWillChange<V>>\n): Lambda\nexport function intercept(object: object, handler: IInterceptor<IObjectWillChange>): Lambda\nexport function intercept<T extends object, K extends keyof T>(\n object: T,\n property: K,\n handler: IInterceptor<IValueWillChange<T[K]>>\n): Lambda\nexport function intercept(thing, propOrHandler?, handler?): Lambda {\n if (isFunction(handler)) {\n return interceptProperty(thing, propOrHandler, handler)\n } else {\n return interceptInterceptable(thing, propOrHandler)\n }\n}\n\nfunction interceptInterceptable(thing, handler) {\n return getAdministration(thing).intercept_(handler)\n}\n\nfunction interceptProperty(thing, property, handler) {\n return getAdministration(thing, property).intercept_(handler)\n}\n","import { $mobx, getAtom, isComputedValue, isObservableObject, die, isStringish } from \"../internal\"\n\nexport function _isComputed(value, property?: PropertyKey): boolean {\n if (property === undefined) {\n return isComputedValue(value)\n }\n if (isObservableObject(value) === false) {\n return false\n }\n if (!value[$mobx].values_.has(property)) {\n return false\n }\n const atom = getAtom(value, property)\n return isComputedValue(atom)\n}\n\nexport function isComputed(value: any): boolean {\n if (__DEV__ && arguments.length > 1) {\n return die(\n `isComputed expects only 1 argument. Use isComputedProp to inspect the observability of a property`\n )\n }\n return _isComputed(value)\n}\n\nexport function isComputedProp(value: any, propName: PropertyKey): boolean {\n if (__DEV__ && !isStringish(propName)) {\n return die(`isComputed expected a property name as second argument`)\n }\n return _isComputed(value, propName)\n}\n","import {\n $mobx,\n isAtom,\n isComputedValue,\n isObservableArray,\n isObservableMap,\n isObservableObject,\n isReaction,\n die,\n isStringish\n} from \"../internal\"\n\nfunction _isObservable(value, property?: PropertyKey): boolean {\n if (!value) {\n return false\n }\n if (property !== undefined) {\n if (__DEV__ && (isObservableMap(value) || isObservableArray(value))) {\n return die(\n \"isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.\"\n )\n }\n if (isObservableObject(value)) {\n return value[$mobx].values_.has(property)\n }\n return false\n }\n // For first check, see #701\n return (\n isObservableObject(value) ||\n !!value[$mobx] ||\n isAtom(value) ||\n isReaction(value) ||\n isComputedValue(value)\n )\n}\n\nexport function isObservable(value: any): boolean {\n if (__DEV__ && arguments.length !== 1) {\n die(\n `isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property`\n )\n }\n return _isObservable(value)\n}\n\nexport function isObservableProp(value: any, propName: PropertyKey): boolean {\n if (__DEV__ && !isStringish(propName)) {\n return die(`expected a property name as second argument`)\n }\n return _isObservable(value, propName)\n}\n","import {\n $mobx,\n IIsObservableObject,\n IObservableArray,\n ObservableMap,\n ObservableSet,\n ObservableObjectAdministration,\n endBatch,\n isObservableArray,\n isObservableMap,\n isObservableSet,\n isObservableObject,\n startBatch,\n die\n} from \"../internal\"\n\nexport function keys<K>(map: ObservableMap<K, any>): ReadonlyArray<K>\nexport function keys<T>(ar: IObservableArray<T>): ReadonlyArray<number>\nexport function keys<T>(set: ObservableSet<T>): ReadonlyArray<T>\nexport function keys<T extends Object>(obj: T): ReadonlyArray<PropertyKey>\nexport function keys(obj: any): any {\n if (isObservableObject(obj)) {\n return (\n (obj as any as IIsObservableObject)[$mobx] as ObservableObjectAdministration\n ).keys_()\n }\n if (isObservableMap(obj) || isObservableSet(obj)) {\n return Array.from(obj.keys())\n }\n if (isObservableArray(obj)) {\n return obj.map((_, index) => index)\n }\n die(5)\n}\n\nexport function values<K, T>(map: ObservableMap<K, T>): ReadonlyArray<T>\nexport function values<T>(set: ObservableSet<T>): ReadonlyArray<T>\nexport function values<T>(ar: IObservableArray<T>): ReadonlyArray<T>\nexport function values<T = any>(obj: T): ReadonlyArray<T extends object ? T[keyof T] : any>\nexport function values(obj: any): string[] {\n if (isObservableObject(obj)) {\n return keys(obj).map(key => obj[key])\n }\n if (isObservableMap(obj)) {\n return keys(obj).map(key => obj.get(key))\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.values())\n }\n if (isObservableArray(obj)) {\n return obj.slice()\n }\n die(6)\n}\n\nexport function entries<K, T>(map: ObservableMap<K, T>): ReadonlyArray<[K, T]>\nexport function entries<T>(set: ObservableSet<T>): ReadonlyArray<[T, T]>\nexport function entries<T>(ar: IObservableArray<T>): ReadonlyArray<[number, T]>\nexport function entries<T = any>(\n obj: T\n): ReadonlyArray<[string, T extends object ? T[keyof T] : any]>\nexport function entries(obj: any): any {\n if (isObservableObject(obj)) {\n return keys(obj).map(key => [key, obj[key]])\n }\n if (isObservableMap(obj)) {\n return keys(obj).map(key => [key, obj.get(key)])\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.entries())\n }\n if (isObservableArray(obj)) {\n return obj.map((key, index) => [index, key])\n }\n die(7)\n}\n\nexport function set<V>(obj: ObservableMap<PropertyKey, V>, values: { [key: string]: V })\nexport function set<K, V>(obj: ObservableMap<K, V>, key: K, value: V)\nexport function set<T>(obj: ObservableSet<T>, value: T)\nexport function set<T>(obj: IObservableArray<T>, index: number, value: T)\nexport function set<T extends Object>(obj: T, values: { [key: string]: any })\nexport function set<T extends Object>(obj: T, key: PropertyKey, value: any)\nexport function set(obj: any, key: any, value?: any): void {\n if (arguments.length === 2 && !isObservableSet(obj)) {\n startBatch()\n const values = key\n try {\n for (let key in values) {\n set(obj, key, values[key])\n }\n } finally {\n endBatch()\n }\n return\n }\n if (isObservableObject(obj)) {\n ;(obj as any as IIsObservableObject)[$mobx].set_(key, value)\n } else if (isObservableMap(obj)) {\n obj.set(key, value)\n } else if (isObservableSet(obj)) {\n obj.add(key)\n } else if (isObservableArray(obj)) {\n if (typeof key !== \"number\") {\n key = parseInt(key, 10)\n }\n if (key < 0) {\n die(`Invalid index: '${key}'`)\n }\n startBatch()\n if (key >= obj.length) {\n obj.length = key + 1\n }\n obj[key] = value\n endBatch()\n } else {\n die(8)\n }\n}\n\nexport function remove<K, V>(obj: ObservableMap<K, V>, key: K)\nexport function remove<T>(obj: ObservableSet<T>, key: T)\nexport function remove<T>(obj: IObservableArray<T>, index: number)\nexport function remove<T extends Object>(obj: T, key: string)\nexport function remove(obj: any, key: any): void {\n if (isObservableObject(obj)) {\n ;(obj as any as IIsObservableObject)[$mobx].delete_(key)\n } else if (isObservableMap(obj)) {\n obj.delete(key)\n } else if (isObservableSet(obj)) {\n obj.delete(key)\n } else if (isObservableArray(obj)) {\n if (typeof key !== \"number\") {\n key = parseInt(key, 10)\n }\n obj.splice(key, 1)\n } else {\n die(9)\n }\n}\n\nexport function has<K>(obj: ObservableMap<K, any>, key: K): boolean\nexport function has<T>(obj: ObservableSet<T>, key: T): boolean\nexport function has<T>(obj: IObservableArray<T>, index: number): boolean\nexport function has<T extends Object>(obj: T, key: string): boolean\nexport function has(obj: any, key: any): boolean {\n if (isObservableObject(obj)) {\n return (obj as any as IIsObservableObject)[$mobx].has_(key)\n } else if (isObservableMap(obj)) {\n return obj.has(key)\n } else if (isObservableSet(obj)) {\n return obj.has(key)\n } else if (isObservableArray(obj)) {\n return key >= 0 && key < obj.length\n }\n die(10)\n}\n\nexport function get<K, V>(obj: ObservableMap<K, V>, key: K): V | undefined\nexport function get<T>(obj: IObservableArray<T>, index: number): T | undefined\nexport function get<T extends Object>(obj: T, key: string): any\nexport function get(obj: any, key: any): any {\n if (!has(obj, key)) {\n return undefined\n }\n if (isObservableObject(obj)) {\n return (obj as any as IIsObservableObject)[$mobx].get_(key)\n } else if (isObservableMap(obj)) {\n return obj.get(key)\n } else if (isObservableArray(obj)) {\n return obj[key]\n }\n die(11)\n}\n\nexport function apiDefineProperty(obj: Object, key: PropertyKey, descriptor: PropertyDescriptor) {\n if (isObservableObject(obj)) {\n return (obj as any as IIsObservableObject)[$mobx].defineProperty_(key, descriptor)\n }\n die(39)\n}\n\nexport function apiOwnKeys(obj: Object) {\n if (isObservableObject(obj)) {\n return (obj as any as IIsObservableObject)[$mobx].ownKeys_()\n }\n die(38)\n}\n","import {\n IArrayDidChange,\n IComputedValue,\n IMapDidChange,\n IObjectDidChange,\n IObservableArray,\n IObservableValue,\n IValueDidChange,\n Lambda,\n ObservableMap,\n getAdministration,\n ObservableSet,\n ISetDidChange,\n isFunction\n} from \"../internal\"\n\nexport function observe<T>(\n value: IObservableValue<T> | IComputedValue<T>,\n listener: (change: IValueDidChange<T>) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe<T>(\n observableArray: IObservableArray<T> | Array<T>,\n listener: (change: IArrayDidChange<T>) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe<V>(\n // ObservableSet/ObservableMap are required despite they implement Set/Map: https://github.com/mobxjs/mobx/pull/3180#discussion_r746542929\n observableSet: ObservableSet<V> | Set<V>,\n listener: (change: ISetDidChange<V>) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe<K, V>(\n observableMap: ObservableMap<K, V> | Map<K, V>,\n listener: (change: IMapDidChange<K, V>) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe<K, V>(\n observableMap: ObservableMap<K, V> | Map<K, V>,\n property: K,\n listener: (change: IValueDidChange<V>) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe(\n object: Object,\n listener: (change: IObjectDidChange) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe<T, K extends keyof T>(\n object: T,\n property: K,\n listener: (change: IValueDidChange<T[K]>) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe(thing, propOrCb?, cbOrFire?, fireImmediately?): Lambda {\n if (isFunction(cbOrFire)) {\n return observeObservableProperty(thing, propOrCb, cbOrFire, fireImmediately)\n } else {\n return observeObservable(thing, propOrCb, cbOrFire)\n }\n}\n\nfunction observeObservable(thing, listener, fireImmediately: boolean) {\n return getAdministration(thing).observe_(listener, fireImmediately)\n}\n\nfunction observeObservableProperty(thing, property, listener, fireImmediately: boolean) {\n return getAdministration(thing, property).observe_(listener, fireImmediately)\n}\n","import {\n isObservable,\n isObservableArray,\n isObservableValue,\n isObservableMap,\n isObservableSet,\n isComputedValue,\n die,\n apiOwnKeys,\n objectPrototype\n} from \"../internal\"\n\nfunction cache<K, V>(map: Map<any, any>, key: K, value: V): V {\n map.set(key, value)\n return value\n}\n\nfunction toJSHelper(source, __alreadySeen: Map<any, any>) {\n if (\n source == null ||\n typeof source !== \"object\" ||\n source instanceof Date ||\n !isObservable(source)\n ) {\n return source\n }\n\n if (isObservableValue(source) || isComputedValue(source)) {\n return toJSHelper(source.get(), __alreadySeen)\n }\n if (__alreadySeen.has(source)) {\n return __alreadySeen.get(source)\n }\n if (isObservableArray(source)) {\n const res = cache(__alreadySeen, source, new Array(source.length))\n source.forEach((value, idx) => {\n res[idx] = toJSHelper(value, __alreadySeen)\n })\n return res\n }\n if (isObservableSet(source)) {\n const res = cache(__alreadySeen, source, new Set())\n source.forEach(value => {\n res.add(toJSHelper(value, __alreadySeen))\n })\n return res\n }\n if (isObservableMap(source)) {\n const res = cache(__alreadySeen, source, new Map())\n source.forEach((value, key) => {\n res.set(key, toJSHelper(value, __alreadySeen))\n })\n return res\n } else {\n // must be observable object\n const res = cache(__alreadySeen, source, {})\n apiOwnKeys(source).forEach((key: any) => {\n if (objectPrototype.propertyIsEnumerable.call(source, key)) {\n res[key] = toJSHelper(source[key], __alreadySeen)\n }\n })\n return res\n }\n}\n\n/**\n * Recursively converts an observable to it's non-observable native counterpart.\n * It does NOT recurse into non-observables, these are left as they are, even if they contain observables.\n * Computed and other non-enumerable properties are completely ignored.\n * Complex scenarios require custom solution, eg implementing `toJSON` or using `serializr` lib.\n */\nexport function toJS<T>(source: T, options?: any): T {\n if (__DEV__ && options) {\n die(\"toJS no longer supports options\")\n }\n return toJSHelper(source, new Map())\n}\n","import { TraceMode, die, getAtom, globalState } from \"../internal\"\n\nexport function trace(thing?: any, prop?: string, enterBreakPoint?: boolean): void\nexport function trace(thing?: any, enterBreakPoint?: boolean): void\nexport function trace(enterBreakPoint?: boolean): void\nexport function trace(...args: any[]): void {\n if (!__DEV__) {\n return\n }\n let enterBreakPoint = false\n if (typeof args[args.length - 1] === \"boolean\") {\n enterBreakPoint = args.pop()\n }\n const derivation = getAtomFromArgs(args)\n if (!derivation) {\n return die(\n `'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly`\n )\n }\n if (derivation.isTracing_ === TraceMode.NONE) {\n console.log(`[mobx.trace] '${derivation.name_}' tracing enabled`)\n }\n derivation.isTracing_ = enterBreakPoint ? TraceMode.BREAK : TraceMode.LOG\n}\n\nfunction getAtomFromArgs(args): any {\n switch (args.length) {\n case 0:\n return globalState.trackingDerivation\n case 1:\n return getAtom(args[0])\n case 2:\n return getAtom(args[0], args[1])\n }\n}\n","import { endBatch, startBatch } from \"../internal\"\n\n/**\n * During a transaction no views are updated until the end of the transaction.\n * The transaction will be run synchronously nonetheless.\n *\n * @param action a function that updates some reactive state\n * @returns any value that was returned by the 'action' parameter.\n */\nexport function transaction<T>(action: () => T, thisArg = undefined): T {\n startBatch()\n try {\n return action.apply(thisArg)\n } finally {\n endBatch()\n }\n}\n","import {\n $mobx,\n IReactionDisposer,\n Lambda,\n autorun,\n createAction,\n getNextId,\n die,\n allowStateChanges,\n GenericAbortSignal\n} from \"../internal\"\n\nexport interface IWhenOptions {\n name?: string\n timeout?: number\n onError?: (error: any) => void\n signal?: GenericAbortSignal\n}\n\nexport function when(\n predicate: () => boolean,\n opts?: IWhenOptions\n): Promise<void> & { cancel(): void }\nexport function when(\n predicate: () => boolean,\n effect: Lambda,\n opts?: IWhenOptions\n): IReactionDisposer\nexport function when(predicate: any, arg1?: any, arg2?: any): any {\n if (arguments.length === 1 || (arg1 && typeof arg1 === \"object\")) {\n return whenPromise(predicate, arg1)\n }\n return _when(predicate, arg1, arg2 || {})\n}\n\nfunction _when(predicate: () => boolean, effect: Lambda, opts: IWhenOptions): IReactionDisposer {\n let timeoutHandle: any\n if (typeof opts.timeout === \"number\") {\n const error = new Error(\"WHEN_TIMEOUT\")\n timeoutHandle = setTimeout(() => {\n if (!disposer[$mobx].isDisposed) {\n disposer()\n if (opts.onError) {\n opts.onError(error)\n } else {\n throw error\n }\n }\n }, opts.timeout)\n }\n\n opts.name = __DEV__ ? opts.name || \"When@\" + getNextId() : \"When\"\n const effectAction = createAction(\n __DEV__ ? opts.name + \"-effect\" : \"When-effect\",\n effect as Function\n )\n // eslint-disable-next-line\n var disposer = autorun(r => {\n // predicate should not change state\n let cond = allowStateChanges(false, predicate)\n if (cond) {\n r.dispose()\n if (timeoutHandle) {\n clearTimeout(timeoutHandle)\n }\n effectAction()\n }\n }, opts)\n return disposer\n}\n\nfunction whenPromise(\n predicate: () => boolean,\n opts?: IWhenOptions\n): Promise<void> & { cancel(): void } {\n if (__DEV__ && opts && opts.onError) {\n return die(`the options 'onError' and 'promise' cannot be combined`)\n }\n if (opts?.signal?.aborted) {\n return Object.assign(Promise.reject(new Error(\"WHEN_ABORTED\")), { cancel: () => null })\n }\n let cancel\n let abort\n const res = new Promise((resolve, reject) => {\n let disposer = _when(predicate, resolve as Lambda, { ...opts, onError: reject })\n cancel = () => {\n disposer()\n reject(new Error(\"WHEN_CANCELLED\"))\n }\n abort = () => {\n disposer()\n reject(new Error(\"WHEN_ABORTED\"))\n }\n opts?.signal?.addEventListener?.(\"abort\", abort)\n }).finally(() => opts?.signal?.removeEventListener?.(\"abort\", abort))\n ;(res as any).cancel = cancel\n return res as any\n}\n","import {\n $mobx,\n IIsObservableObject,\n ObservableObjectAdministration,\n warnAboutProxyRequirement,\n assertProxies,\n die,\n isStringish,\n globalState,\n CreateObservableOptions,\n asObservableObject\n} from \"../internal\"\n\nfunction getAdm(target): ObservableObjectAdministration {\n return target[$mobx]\n}\n\n// Optimization: we don't need the intermediate objects and could have a completely custom administration for DynamicObjects,\n// and skip either the internal values map, or the base object with its property descriptors!\nconst objectProxyTraps: ProxyHandler<any> = {\n has(target: IIsObservableObject, name: PropertyKey): boolean {\n if (__DEV__ && globalState.trackingDerivation) {\n warnAboutProxyRequirement(\n \"detect new properties using the 'in' operator. Use 'has' from 'mobx' instead.\"\n )\n }\n return getAdm(target).has_(name)\n },\n get(target: IIsObservableObject, name: PropertyKey): any {\n return getAdm(target).get_(name)\n },\n set(target: IIsObservableObject, name: PropertyKey, value: any): boolean {\n if (!isStringish(name)) {\n return false\n }\n if (__DEV__ && !getAdm(target).values_.has(name)) {\n warnAboutProxyRequirement(\n \"add a new observable property through direct assignment. Use 'set' from 'mobx' instead.\"\n )\n }\n // null (intercepted) -> true (success)\n return getAdm(target).set_(name, value, true) ?? true\n },\n deleteProperty(target: IIsObservableObject, name: PropertyKey): boolean {\n if (__DEV__) {\n warnAboutProxyRequirement(\n \"delete properties from an observable object. Use 'remove' from 'mobx' instead.\"\n )\n }\n if (!isStringish(name)) {\n return false\n }\n // null (intercepted) -> true (success)\n return getAdm(target).delete_(name, true) ?? true\n },\n defineProperty(\n target: IIsObservableObject,\n name: PropertyKey,\n descriptor: PropertyDescriptor\n ): boolean {\n if (__DEV__) {\n warnAboutProxyRequirement(\n \"define property on an observable object. Use 'defineProperty' from 'mobx' instead.\"\n )\n }\n // null (intercepted) -> true (success)\n return getAdm(target).defineProperty_(name, descriptor) ?? true\n },\n ownKeys(target: IIsObservableObject): ArrayLike<string | symbol> {\n if (__DEV__ && globalState.trackingDerivation) {\n warnAboutProxyRequirement(\n \"iterate keys to detect added / removed properties. Use 'keys' from 'mobx' instead.\"\n )\n }\n return getAdm(target).ownKeys_()\n },\n preventExtensions(target) {\n die(13)\n }\n}\n\nexport function asDynamicObservableObject(\n target: any,\n options?: CreateObservableOptions\n): IIsObservableObject {\n assertProxies()\n target = asObservableObject(target, options)\n return (target[$mobx].proxy_ ??= new Proxy(target, objectProxyTraps))\n}\n","import { Lambda, once, untrackedEnd, untrackedStart, die } from \"../internal\"\n\nexport type IInterceptor<T> = (change: T) => T | null\n\nexport interface IInterceptable<T> {\n interceptors_: IInterceptor<T>[] | undefined\n}\n\nexport function hasInterceptors(interceptable: IInterceptable<any>) {\n return interceptable.interceptors_ !== undefined && interceptable.interceptors_.length > 0\n}\n\nexport function registerInterceptor<T>(\n interceptable: IInterceptable<T>,\n handler: IInterceptor<T>\n): Lambda {\n const interceptors = interceptable.interceptors_ || (interceptable.interceptors_ = [])\n interceptors.push(handler)\n return once(() => {\n const idx = interceptors.indexOf(handler)\n if (idx !== -1) {\n interceptors.splice(idx, 1)\n }\n })\n}\n\nexport function interceptChange<T>(\n interceptable: IInterceptable<T | null>,\n change: T | null\n): T | null {\n const prevU = untrackedStart()\n try {\n // Interceptor can modify the array, copy it to avoid concurrent modification, see #1950\n const interceptors = [...(interceptable.interceptors_ || [])]\n for (let i = 0, l = interceptors.length; i < l; i++) {\n change = interceptors[i](change)\n if (change && !(change as any).type) {\n die(14)\n }\n if (!change) {\n break\n }\n }\n return change\n } finally {\n untrackedEnd(prevU)\n }\n}\n","import { Lambda, once, untrackedEnd, untrackedStart } from \"../internal\"\n\nexport interface IListenable {\n changeListeners_: Function[] | undefined\n}\n\nexport function hasListeners(listenable: IListenable) {\n return listenable.changeListeners_ !== undefined && listenable.changeListeners_.length > 0\n}\n\nexport function registerListener(listenable: IListenable, handler: Function): Lambda {\n const listeners = listenable.changeListeners_ || (listenable.changeListeners_ = [])\n listeners.push(handler)\n return once(() => {\n const idx = listeners.indexOf(handler)\n if (idx !== -1) {\n listeners.splice(idx, 1)\n }\n })\n}\n\nexport function notifyListeners<T>(listenable: IListenable, change: T) {\n const prevU = untrackedStart()\n let listeners = listenable.changeListeners_\n if (!listeners) {\n return\n }\n listeners = listeners.slice()\n for (let i = 0, l = listeners.length; i < l; i++) {\n listeners[i](change)\n }\n untrackedEnd(prevU)\n}\n","import {\n $mobx,\n asObservableObject,\n AnnotationsMap,\n CreateObservableOptions,\n ObservableObjectAdministration,\n collectStoredAnnotations,\n isPlainObject,\n isObservableObject,\n die,\n ownKeys,\n extendObservable,\n addHiddenProp,\n storedAnnotationsSymbol,\n initObservable\n} from \"../internal\"\n\n// Hack based on https://github.com/Microsoft/TypeScript/issues/14829#issuecomment-322267089\n// We need this, because otherwise, AdditionalKeys is going to be inferred to be any\n// set of superfluous keys. But, we rather want to get a compile error unless AdditionalKeys is\n// _explicity_ passed as generic argument\n// Fixes: https://github.com/mobxjs/mobx/issues/2325#issuecomment-691070022\ntype NoInfer<T> = [T][T extends any ? 0 : never]\n\ntype MakeObservableOptions = Omit<CreateObservableOptions, \"proxy\">\n\nexport function makeObservable<T extends object, AdditionalKeys extends PropertyKey = never>(\n target: T,\n annotations?: AnnotationsMap<T, NoInfer<AdditionalKeys>>,\n options?: MakeObservableOptions\n): T {\n initObservable(() => {\n const adm: ObservableObjectAdministration = asObservableObject(target, options)[$mobx]\n if (__DEV__ && annotations && target[storedAnnotationsSymbol]) {\n die(\n `makeObservable second arg must be nullish when using decorators. Mixing @decorator syntax with annotations is not supported.`\n )\n }\n // Default to decorators\n annotations ??= collectStoredAnnotations(target)\n\n // Annotate\n ownKeys(annotations).forEach(key => adm.make_(key, annotations![key]))\n })\n return target\n}\n\n// proto[keysSymbol] = new Set<PropertyKey>()\nconst keysSymbol = Symbol(\"mobx-keys\")\n\nexport function makeAutoObservable<T extends object, AdditionalKeys extends PropertyKey = never>(\n target: T,\n overrides?: AnnotationsMap<T, NoInfer<AdditionalKeys>>,\n options?: MakeObservableOptions\n): T {\n if (__DEV__) {\n if (!isPlainObject(target) && !isPlainObject(Object.getPrototypeOf(target))) {\n die(`'makeAutoObservable' can only be used for classes that don't have a superclass`)\n }\n if (isObservableObject(target)) {\n die(`makeAutoObservable can only be used on objects not already made observable`)\n }\n }\n\n // Optimization: avoid visiting protos\n // Assumes that annotation.make_/.extend_ works the same for plain objects\n if (isPlainObject(target)) {\n return extendObservable(target, target, overrides, options)\n }\n\n initObservable(() => {\n const adm: ObservableObjectAdministration = asObservableObject(target, options)[$mobx]\n\n // Optimization: cache keys on proto\n // Assumes makeAutoObservable can be called only once per object and can't be used in subclass\n if (!target[keysSymbol]) {\n const proto = Object.getPrototypeOf(target)\n const keys = new Set([...ownKeys(target), ...ownKeys(proto)])\n keys.delete(\"constructor\")\n keys.delete($mobx)\n addHiddenProp(proto, keysSymbol, keys)\n }\n\n target[keysSymbol].forEach(key =>\n adm.make_(\n key,\n // must pass \"undefined\" for { key: undefined }\n !overrides ? true : key in overrides ? overrides[key] : true\n )\n )\n })\n\n return target\n}\n","import {\n $mobx,\n Atom,\n EMPTY_ARRAY,\n IAtom,\n IEnhancer,\n IInterceptable,\n IInterceptor,\n IListenable,\n Lambda,\n addHiddenFinalProp,\n checkIfStateModificationsAreAllowed,\n createInstanceofPredicate,\n getNextId,\n hasInterceptors,\n hasListeners,\n interceptChange,\n isObject,\n isSpyEnabled,\n notifyListeners,\n registerInterceptor,\n registerListener,\n spyReportEnd,\n spyReportStart,\n assertProxies,\n reserveArrayBuffer,\n hasProp,\n die,\n globalState,\n initObservable\n} from \"../internal\"\n\nconst SPLICE = \"splice\"\nexport const UPDATE = \"update\"\nexport const MAX_SPLICE_SIZE = 10000 // See e.g. https://github.com/mobxjs/mobx/issues/859\n\nexport interface IObservableArray<T = any> extends Array<T> {\n spliceWithArray(index: number, deleteCount?: number, newItems?: T[]): T[]\n clear(): T[]\n replace(newItems: T[]): T[]\n remove(value: T): boolean\n toJSON(): T[]\n}\n\ninterface IArrayBaseChange<T> {\n object: IObservableArray<T>\n observableKind: \"array\"\n debugObjectName: string\n index: number\n}\n\nexport type IArrayDidChange<T = any> = IArrayUpdate<T> | IArraySplice<T>\n\nexport interface IArrayUpdate<T = any> extends IArrayBaseChange<T> {\n type: \"update\"\n newValue: T\n oldValue: T\n}\n\nexport interface IArraySplice<T = any> extends IArrayBaseChange<T> {\n type: \"splice\"\n added: T[]\n addedCount: number\n removed: T[]\n removedCount: number\n}\n\nexport interface IArrayWillChange<T = any> {\n object: IObservableArray<T>\n index: number\n type: \"update\"\n newValue: T\n}\n\nexport interface IArrayWillSplice<T = any> {\n object: IObservableArray<T>\n index: number\n type: \"splice\"\n added: T[]\n removedCount: number\n}\n\nconst arrayTraps = {\n get(target, name) {\n const adm: ObservableArrayAdministration = target[$mobx]\n if (name === $mobx) {\n return adm\n }\n if (name === \"length\") {\n return adm.getArrayLength_()\n }\n if (typeof name === \"string\" && !isNaN(name as any)) {\n return adm.get_(parseInt(name))\n }\n if (hasProp(arrayExtensions, name)) {\n return arrayExtensions[name]\n }\n return target[name]\n },\n set(target, name, value): boolean {\n const adm: ObservableArrayAdministration = target[$mobx]\n if (name === \"length\") {\n adm.setArrayLength_(value)\n }\n if (typeof name === \"symbol\" || isNaN(name)) {\n target[name] = value\n } else {\n // numeric string\n adm.set_(parseInt(name), value)\n }\n return true\n },\n preventExtensions() {\n die(15)\n }\n}\n\nexport class ObservableArrayAdministration\n implements IInterceptable<IArrayWillChange<any> | IArrayWillSplice<any>>, IListenable\n{\n atom_: IAtom\n readonly values_: any[] = [] // this is the prop that gets proxied, so can't replace it!\n interceptors_\n changeListeners_\n enhancer_: (newV: any, oldV: any | undefined) => any\n dehancer: any\n proxy_!: IObservableArray<any>\n lastKnownLength_ = 0\n\n constructor(\n name = __DEV__ ? \"ObservableArray@\" + getNextId() : \"ObservableArray\",\n enhancer: IEnhancer<any>,\n public owned_: boolean,\n public legacyMode_: boolean\n ) {\n this.atom_ = new Atom(name)\n this.enhancer_ = (newV, oldV) =>\n enhancer(newV, oldV, __DEV__ ? name + \"[..]\" : \"ObservableArray[..]\")\n }\n\n dehanceValue_(value: any): any {\n if (this.dehancer !== undefined) {\n return this.dehancer(value)\n }\n return value\n }\n\n dehanceValues_(values: any[]): any[] {\n if (this.dehancer !== undefined && values.length > 0) {\n return values.map(this.dehancer) as any\n }\n return values\n }\n\n intercept_(handler: IInterceptor<IArrayWillChange<any> | IArrayWillSplice<any>>): Lambda {\n return registerInterceptor<IArrayWillChange<any> | IArrayWillSplice<any>>(this, handler)\n }\n\n observe_(\n listener: (changeData: IArrayDidChange<any>) => void,\n fireImmediately = false\n ): Lambda {\n if (fireImmediately) {\n listener(<IArraySplice<any>>{\n observableKind: \"array\",\n object: this.proxy_ as any,\n debugObjectName: this.atom_.name_,\n type: \"splice\",\n index: 0,\n added: this.values_.slice(),\n addedCount: this.values_.length,\n removed: [],\n removedCount: 0\n })\n }\n return registerListener(this, listener)\n }\n\n getArrayLength_(): number {\n this.atom_.reportObserved()\n return this.values_.length\n }\n\n setArrayLength_(newLength: number) {\n if (typeof newLength !== \"number\" || isNaN(newLength) || newLength < 0) {\n die(\"Out of range: \" + newLength)\n }\n let currentLength = this.values_.length\n if (newLength === currentLength) {\n return\n } else if (newLength > currentLength) {\n const newItems = new Array(newLength - currentLength)\n for (let i = 0; i < newLength - currentLength; i++) {\n newItems[i] = undefined\n } // No Array.fill everywhere...\n this.spliceWithArray_(currentLength, 0, newItems)\n } else {\n this.spliceWithArray_(newLength, currentLength - newLength)\n }\n }\n\n updateArrayLength_(oldLength: number, delta: number) {\n if (oldLength !== this.lastKnownLength_) {\n die(16)\n }\n this.lastKnownLength_ += delta\n if (this.legacyMode_ && delta > 0) {\n reserveArrayBuffer(oldLength + delta + 1)\n }\n }\n\n spliceWithArray_(index: number, deleteCount?: number, newItems?: any[]): any[] {\n checkIfStateModificationsAreAllowed(this.atom_)\n const length = this.values_.length\n\n if (index === undefined) {\n index = 0\n } else if (index > length) {\n index = length\n } else if (index < 0) {\n index = Math.max(0, length + index)\n }\n\n if (arguments.length === 1) {\n deleteCount = length - index\n } else if (deleteCount === undefined || deleteCount === null) {\n deleteCount = 0\n } else {\n deleteCount = Math.max(0, Math.min(deleteCount, length - index))\n }\n\n if (newItems === undefined) {\n newItems = EMPTY_ARRAY\n }\n\n if (hasInterceptors(this)) {\n const change = interceptChange<IArrayWillSplice<any>>(this as any, {\n object: this.proxy_ as any,\n type: SPLICE,\n index,\n removedCount: deleteCount,\n added: newItems\n })\n if (!change) {\n return EMPTY_ARRAY\n }\n deleteCount = change.removedCount\n newItems = change.added\n }\n\n newItems =\n newItems.length === 0 ? newItems : newItems.map(v => this.enhancer_(v, undefined))\n if (this.legacyMode_ || __DEV__) {\n const lengthDelta = newItems.length - deleteCount\n this.updateArrayLength_(length, lengthDelta) // checks if internal array wasn't modified\n }\n const res = this.spliceItemsIntoValues_(index, deleteCount, newItems)\n\n if (deleteCount !== 0 || newItems.length !== 0) {\n this.notifyArraySplice_(index, newItems, res)\n }\n return this.dehanceValues_(res)\n }\n\n spliceItemsIntoValues_(index: number, deleteCount: number, newItems: any[]): any[] {\n if (newItems.length < MAX_SPLICE_SIZE) {\n return this.values_.splice(index, deleteCount, ...newItems)\n } else {\n // The items removed by the splice\n const res = this.values_.slice(index, index + deleteCount)\n // The items that that should remain at the end of the array\n let oldItems = this.values_.slice(index + deleteCount)\n // New length is the previous length + addition count - deletion count\n this.values_.length += newItems.length - deleteCount\n for (let i = 0; i < newItems.length; i++) {\n this.values_[index + i] = newItems[i]\n }\n for (let i = 0; i < oldItems.length; i++) {\n this.values_[index + newItems.length + i] = oldItems[i]\n }\n return res\n }\n }\n\n notifyArrayChildUpdate_(index: number, newValue: any, oldValue: any) {\n const notifySpy = !this.owned_ && isSpyEnabled()\n const notify = hasListeners(this)\n const change: IArrayDidChange | null =\n notify || notifySpy\n ? ({\n observableKind: \"array\",\n object: this.proxy_,\n type: UPDATE,\n debugObjectName: this.atom_.name_,\n index,\n newValue,\n oldValue\n } as const)\n : null\n\n // The reason why this is on right hand side here (and not above), is this way the uglifier will drop it, but it won't\n // cause any runtime overhead in development mode without NODE_ENV set, unless spying is enabled\n if (__DEV__ && notifySpy) {\n spyReportStart(change!)\n }\n this.atom_.reportChanged()\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n\n notifyArraySplice_(index: number, added: any[], removed: any[]) {\n const notifySpy = !this.owned_ && isSpyEnabled()\n const notify = hasListeners(this)\n const change: IArraySplice | null =\n notify || notifySpy\n ? ({\n observableKind: \"array\",\n object: this.proxy_,\n debugObjectName: this.atom_.name_,\n type: SPLICE,\n index,\n removed,\n added,\n removedCount: removed.length,\n addedCount: added.length\n } as const)\n : null\n\n if (__DEV__ && notifySpy) {\n spyReportStart(change!)\n }\n this.atom_.reportChanged()\n // conform: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/observe\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n\n get_(index: number): any | undefined {\n if (this.legacyMode_ && index >= this.values_.length) {\n console.warn(\n __DEV__\n ? `[mobx.array] Attempt to read an array index (${index}) that is out of bounds (${this.values_.length}). Please check length first. Out of bound indices will not be tracked by MobX`\n : `[mobx] Out of bounds read: ${index}`\n )\n return undefined\n }\n this.atom_.reportObserved()\n return this.dehanceValue_(this.values_[index])\n }\n\n set_(index: number, newValue: any) {\n const values = this.values_\n if (this.legacyMode_ && index > values.length) {\n // out of bounds\n die(17, index, values.length)\n }\n if (index < values.length) {\n // update at index in range\n checkIfStateModificationsAreAllowed(this.atom_)\n const oldValue = values[index]\n if (hasInterceptors(this)) {\n const change = interceptChange<IArrayWillChange<any>>(this as any, {\n type: UPDATE,\n object: this.proxy_ as any, // since \"this\" is the real array we need to pass its proxy\n index,\n newValue\n })\n if (!change) {\n return\n }\n newValue = change.newValue\n }\n newValue = this.enhancer_(newValue, oldValue)\n const changed = newValue !== oldValue\n if (changed) {\n values[index] = newValue\n this.notifyArrayChildUpdate_(index, newValue, oldValue)\n }\n } else {\n // For out of bound index, we don't create an actual sparse array,\n // but rather fill the holes with undefined (same as setArrayLength_).\n // This could be considered a bug.\n const newItems = new Array(index + 1 - values.length)\n for (let i = 0; i < newItems.length - 1; i++) {\n newItems[i] = undefined\n } // No Array.fill everywhere...\n newItems[newItems.length - 1] = newValue\n this.spliceWithArray_(values.length, 0, newItems)\n }\n }\n}\n\nexport function createObservableArray<T>(\n initialValues: T[] | undefined,\n enhancer: IEnhancer<T>,\n name = __DEV__ ? \"ObservableArray@\" + getNextId() : \"ObservableArray\",\n owned = false\n): IObservableArray<T> {\n assertProxies()\n return initObservable(() => {\n const adm = new ObservableArrayAdministration(name, enhancer, owned, false)\n addHiddenFinalProp(adm.values_, $mobx, adm)\n const proxy = new Proxy(adm.values_, arrayTraps) as any\n adm.proxy_ = proxy\n if (initialValues && initialValues.length) {\n adm.spliceWithArray_(0, 0, initialValues)\n }\n return proxy\n })\n}\n\n// eslint-disable-next-line\nexport var arrayExtensions = {\n clear(): any[] {\n return this.splice(0)\n },\n\n replace(newItems: any[]) {\n const adm: ObservableArrayAdministration = this[$mobx]\n return adm.spliceWithArray_(0, adm.values_.length, newItems)\n },\n\n // Used by JSON.stringify\n toJSON(): any[] {\n return this.slice()\n },\n\n /*\n * functions that do alter the internal structure of the array, (based on lib.es6.d.ts)\n * since these functions alter the inner structure of the array, the have side effects.\n * Because the have side effects, they should not be used in computed function,\n * and for that reason the do not call dependencyState.notifyObserved\n */\n splice(index: number, deleteCount?: number, ...newItems: any[]): any[] {\n const adm: ObservableArrayAdministration = this[$mobx]\n switch (arguments.length) {\n case 0:\n return []\n case 1:\n return adm.spliceWithArray_(index)\n case 2:\n return adm.spliceWithArray_(index, deleteCount)\n }\n return adm.spliceWithArray_(index, deleteCount, newItems)\n },\n\n spliceWithArray(index: number, deleteCount?: number, newItems?: any[]): any[] {\n return (this[$mobx] as ObservableArrayAdministration).spliceWithArray_(\n index,\n deleteCount,\n newItems\n )\n },\n\n push(...items: any[]): number {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.spliceWithArray_(adm.values_.length, 0, items)\n return adm.values_.length\n },\n\n pop() {\n return this.splice(Math.max(this[$mobx].values_.length - 1, 0), 1)[0]\n },\n\n shift() {\n return this.splice(0, 1)[0]\n },\n\n unshift(...items: any[]): number {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.spliceWithArray_(0, 0, items)\n return adm.values_.length\n },\n\n reverse(): any[] {\n // reverse by default mutates in place before returning the result\n // which makes it both a 'derivation' and a 'mutation'.\n if (globalState.trackingDerivation) {\n die(37, \"reverse\")\n }\n this.replace(this.slice().reverse())\n return this\n },\n\n sort(): any[] {\n // sort by default mutates in place before returning the result\n // which goes against all good practices. Let's not change the array in place!\n if (globalState.trackingDerivation) {\n die(37, \"sort\")\n }\n const copy = this.slice()\n copy.sort.apply(copy, arguments)\n this.replace(copy)\n return this\n },\n\n remove(value: any): boolean {\n const adm: ObservableArrayAdministration = this[$mobx]\n const idx = adm.dehanceValues_(adm.values_).indexOf(value)\n if (idx > -1) {\n this.splice(idx, 1)\n return true\n }\n return false\n }\n}\n\n/**\n * Wrap function from prototype\n * Without this, everything works as well, but this works\n * faster as everything works on unproxied values\n */\naddArrayExtension(\"at\", simpleFunc)\naddArrayExtension(\"concat\", simpleFunc)\naddArrayExtension(\"flat\", simpleFunc)\naddArrayExtension(\"includes\", simpleFunc)\naddArrayExtension(\"indexOf\", simpleFunc)\naddArrayExtension(\"join\", simpleFunc)\naddArrayExtension(\"lastIndexOf\", simpleFunc)\naddArrayExtension(\"slice\", simpleFunc)\naddArrayExtension(\"toString\", simpleFunc)\naddArrayExtension(\"toLocaleString\", simpleFunc)\naddArrayExtension(\"toSorted\", simpleFunc)\naddArrayExtension(\"toSpliced\", simpleFunc)\naddArrayExtension(\"with\", simpleFunc)\n// map\naddArrayExtension(\"every\", mapLikeFunc)\naddArrayExtension(\"filter\", mapLikeFunc)\naddArrayExtension(\"find\", mapLikeFunc)\naddArrayExtension(\"findIndex\", mapLikeFunc)\naddArrayExtension(\"findLast\", mapLikeFunc)\naddArrayExtension(\"findLastIndex\", mapLikeFunc)\naddArrayExtension(\"flatMap\", mapLikeFunc)\naddArrayExtension(\"forEach\", mapLikeFunc)\naddArrayExtension(\"map\", mapLikeFunc)\naddArrayExtension(\"some\", mapLikeFunc)\naddArrayExtension(\"toReversed\", mapLikeFunc)\n// reduce\naddArrayExtension(\"reduce\", reduceLikeFunc)\naddArrayExtension(\"reduceRight\", reduceLikeFunc)\n\nfunction addArrayExtension(funcName, funcFactory) {\n if (typeof Array.prototype[funcName] === \"function\") {\n arrayExtensions[funcName] = funcFactory(funcName)\n }\n}\n\n// Report and delegate to dehanced array\nfunction simpleFunc(funcName) {\n return function () {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.atom_.reportObserved()\n const dehancedValues = adm.dehanceValues_(adm.values_)\n return dehancedValues[funcName].apply(dehancedValues, arguments)\n }\n}\n\n// Make sure callbacks receive correct array arg #2326\nfunction mapLikeFunc(funcName) {\n return function (callback, thisArg) {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.atom_.reportObserved()\n const dehancedValues = adm.dehanceValues_(adm.values_)\n return dehancedValues[funcName]((element, index) => {\n return callback.call(thisArg, element, index, this)\n })\n }\n}\n\n// Make sure callbacks receive correct array arg #2326\nfunction reduceLikeFunc(funcName) {\n return function () {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.atom_.reportObserved()\n const dehancedValues = adm.dehanceValues_(adm.values_)\n // #2432 - reduce behavior depends on arguments.length\n const callback = arguments[0]\n arguments[0] = (accumulator, currentValue, index) => {\n return callback(accumulator, currentValue, index, this)\n }\n return dehancedValues[funcName].apply(dehancedValues, arguments)\n }\n}\n\nconst isObservableArrayAdministration = createInstanceofPredicate(\n \"ObservableArrayAdministration\",\n ObservableArrayAdministration\n)\n\nexport function isObservableArray(thing): thing is IObservableArray<any> {\n return isObject(thing) && isObservableArrayAdministration(thing[$mobx])\n}\n","import {\n $mobx,\n IEnhancer,\n IInterceptable,\n IInterceptor,\n IListenable,\n Lambda,\n ObservableValue,\n checkIfStateModificationsAreAllowed,\n createAtom,\n createInstanceofPredicate,\n makeIterable,\n deepEnhancer,\n getNextId,\n getPlainObjectKeys,\n hasInterceptors,\n hasListeners,\n interceptChange,\n isES6Map,\n isPlainES6Map,\n isPlainObject,\n isSpyEnabled,\n notifyListeners,\n referenceEnhancer,\n registerInterceptor,\n registerListener,\n spyReportEnd,\n spyReportStart,\n stringifyKey,\n transaction,\n untracked,\n onBecomeUnobserved,\n globalState,\n die,\n isFunction,\n UPDATE,\n IAtom,\n PureSpyEvent,\n initObservable\n} from \"../internal\"\n\nexport interface IKeyValueMap<V = any> {\n [key: string]: V\n}\n\nexport type IMapEntry<K = any, V = any> = [K, V]\nexport type IReadonlyMapEntry<K = any, V = any> = readonly [K, V]\nexport type IMapEntries<K = any, V = any> = IMapEntry<K, V>[]\nexport type IReadonlyMapEntries<K = any, V = any> = IReadonlyMapEntry<K, V>[]\n\nexport type IMapDidChange<K = any, V = any> = { observableKind: \"map\"; debugObjectName: string } & (\n | {\n object: ObservableMap<K, V>\n name: K // actual the key or index, but this is based on the ancient .observe proposal for consistency\n type: \"update\"\n newValue: V\n oldValue: V\n }\n | {\n object: ObservableMap<K, V>\n name: K\n type: \"add\"\n newValue: V\n }\n | {\n object: ObservableMap<K, V>\n name: K\n type: \"delete\"\n oldValue: V\n }\n)\n\nexport interface IMapWillChange<K = any, V = any> {\n object: ObservableMap<K, V>\n type: \"update\" | \"add\" | \"delete\"\n name: K\n newValue?: V\n}\n\nconst ObservableMapMarker = {}\n\nexport const ADD = \"add\"\nexport const DELETE = \"delete\"\n\nexport type IObservableMapInitialValues<K = any, V = any> =\n | IMapEntries<K, V>\n | IReadonlyMapEntries<K, V>\n | IKeyValueMap<V>\n | Map<K, V>\n\n// just extend Map? See also https://gist.github.com/nestharus/13b4d74f2ef4a2f4357dbd3fc23c1e54\n// But: https://github.com/mobxjs/mobx/issues/1556\nexport class ObservableMap<K = any, V = any>\n implements Map<K, V>, IInterceptable<IMapWillChange<K, V>>, IListenable\n{\n [$mobx] = ObservableMapMarker\n data_!: Map<K, ObservableValue<V>>\n hasMap_!: Map<K, ObservableValue<boolean>> // hasMap, not hashMap >-).\n keysAtom_!: IAtom\n interceptors_\n changeListeners_\n dehancer: any\n\n constructor(\n initialData?: IObservableMapInitialValues<K, V>,\n public enhancer_: IEnhancer<V> = deepEnhancer,\n public name_ = __DEV__ ? \"ObservableMap@\" + getNextId() : \"ObservableMap\"\n ) {\n if (!isFunction(Map)) {\n die(18)\n }\n initObservable(() => {\n this.keysAtom_ = createAtom(__DEV__ ? `${this.name_}.keys()` : \"ObservableMap.keys()\")\n this.data_ = new Map()\n this.hasMap_ = new Map()\n if (initialData) {\n this.merge(initialData)\n }\n })\n }\n\n private has_(key: K): boolean {\n return this.data_.has(key)\n }\n\n has(key: K): boolean {\n if (!globalState.trackingDerivation) {\n return this.has_(key)\n }\n\n let entry = this.hasMap_.get(key)\n if (!entry) {\n const newEntry = (entry = new ObservableValue(\n this.has_(key),\n referenceEnhancer,\n __DEV__ ? `${this.name_}.${stringifyKey(key)}?` : \"ObservableMap.key?\",\n false\n ))\n this.hasMap_.set(key, newEntry)\n onBecomeUnobserved(newEntry, () => this.hasMap_.delete(key))\n }\n\n return entry.get()\n }\n\n set(key: K, value: V) {\n const hasKey = this.has_(key)\n if (hasInterceptors(this)) {\n const change = interceptChange<IMapWillChange<K, V>>(this, {\n type: hasKey ? UPDATE : ADD,\n object: this,\n newValue: value,\n name: key\n })\n if (!change) {\n return this\n }\n value = change.newValue!\n }\n if (hasKey) {\n this.updateValue_(key, value)\n } else {\n this.addValue_(key, value)\n }\n return this\n }\n\n delete(key: K): boolean {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n if (hasInterceptors(this)) {\n const change = interceptChange<IMapWillChange<K, V>>(this, {\n type: DELETE,\n object: this,\n name: key\n })\n if (!change) {\n return false\n }\n }\n if (this.has_(key)) {\n const notifySpy = isSpyEnabled()\n const notify = hasListeners(this)\n const change: IMapDidChange<K, V> | null =\n notify || notifySpy\n ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: DELETE,\n object: this,\n oldValue: (<any>this.data_.get(key)).value_,\n name: key\n }\n : null\n\n if (__DEV__ && notifySpy) {\n spyReportStart(change! as PureSpyEvent)\n } // TODO fix type\n transaction(() => {\n this.keysAtom_.reportChanged()\n this.hasMap_.get(key)?.setNewValue_(false)\n const observable = this.data_.get(key)!\n observable.setNewValue_(undefined as any)\n this.data_.delete(key)\n })\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n return true\n }\n return false\n }\n\n private updateValue_(key: K, newValue: V | undefined) {\n const observable = this.data_.get(key)!\n newValue = (observable as any).prepareNewValue_(newValue) as V\n if (newValue !== globalState.UNCHANGED) {\n const notifySpy = isSpyEnabled()\n const notify = hasListeners(this)\n const change: IMapDidChange<K, V> | null =\n notify || notifySpy\n ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: UPDATE,\n object: this,\n oldValue: (observable as any).value_,\n name: key,\n newValue\n }\n : null\n if (__DEV__ && notifySpy) {\n spyReportStart(change! as PureSpyEvent)\n } // TODO fix type\n observable.setNewValue_(newValue as V)\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n }\n\n private addValue_(key: K, newValue: V) {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n transaction(() => {\n const observable = new ObservableValue(\n newValue,\n this.enhancer_,\n __DEV__ ? `${this.name_}.${stringifyKey(key)}` : \"ObservableMap.key\",\n false\n )\n this.data_.set(key, observable)\n newValue = (observable as any).value_ // value might have been changed\n this.hasMap_.get(key)?.setNewValue_(true)\n this.keysAtom_.reportChanged()\n })\n const notifySpy = isSpyEnabled()\n const notify = hasListeners(this)\n const change: IMapDidChange<K, V> | null =\n notify || notifySpy\n ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: ADD,\n object: this,\n name: key,\n newValue\n }\n : null\n if (__DEV__ && notifySpy) {\n spyReportStart(change! as PureSpyEvent)\n } // TODO fix type\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n\n get(key: K): V | undefined {\n if (this.has(key)) {\n return this.dehanceValue_(this.data_.get(key)!.get())\n }\n return this.dehanceValue_(undefined)\n }\n\n private dehanceValue_<X extends V | undefined>(value: X): X {\n if (this.dehancer !== undefined) {\n return this.dehancer(value)\n }\n return value\n }\n\n keys(): MapIterator<K> {\n this.keysAtom_.reportObserved()\n return this.data_.keys()\n }\n\n values(): MapIterator<V> {\n const self = this\n const keys = this.keys()\n return makeIterableForMap({\n next() {\n const { done, value } = keys.next()\n return {\n done,\n value: done ? (undefined as any) : self.get(value)\n }\n }\n })\n }\n\n entries(): MapIterator<IMapEntry<K, V>> {\n const self = this\n const keys = this.keys()\n return makeIterableForMap({\n next() {\n const { done, value } = keys.next()\n return {\n done,\n value: done ? (undefined as any) : ([value, self.get(value)!] as [K, V])\n }\n }\n })\n }\n\n [Symbol.iterator]() {\n return this.entries()\n }\n\n forEach(callback: (value: V, key: K, object: Map<K, V>) => void, thisArg?) {\n for (const [key, value] of this) {\n callback.call(thisArg, value, key, this)\n }\n }\n\n /** Merge another object into this object, returns this. */\n merge(other?: IObservableMapInitialValues<K, V>): ObservableMap<K, V> {\n if (isObservableMap(other)) {\n other = new Map(other)\n }\n transaction(() => {\n if (isPlainObject(other)) {\n getPlainObjectKeys(other).forEach((key: any) =>\n this.set(key as K, (other as IKeyValueMap)[key])\n )\n } else if (Array.isArray(other)) {\n other.forEach(([key, value]) => this.set(key, value))\n } else if (isES6Map(other)) {\n if (!isPlainES6Map(other)) {\n die(19, other)\n }\n other.forEach((value, key) => this.set(key, value))\n } else if (other !== null && other !== undefined) {\n die(20, other)\n }\n })\n return this\n }\n\n clear() {\n transaction(() => {\n untracked(() => {\n for (const key of this.keys()) {\n this.delete(key)\n }\n })\n })\n }\n\n replace(values: IObservableMapInitialValues<K, V>): ObservableMap<K, V> {\n // Implementation requirements:\n // - respect ordering of replacement map\n // - allow interceptors to run and potentially prevent individual operations\n // - don't recreate observables that already exist in original map (so we don't destroy existing subscriptions)\n // - don't _keysAtom.reportChanged if the keys of resulting map are indentical (order matters!)\n // - note that result map may differ from replacement map due to the interceptors\n transaction(() => {\n // Convert to map so we can do quick key lookups\n const replacementMap = convertToMap(values)\n const orderedData = new Map()\n // Used for optimization\n let keysReportChangedCalled = false\n // Delete keys that don't exist in replacement map\n // if the key deletion is prevented by interceptor\n // add entry at the beginning of the result map\n for (const key of this.data_.keys()) {\n // Concurrently iterating/deleting keys\n // iterator should handle this correctly\n if (!replacementMap.has(key)) {\n const deleted = this.delete(key)\n // Was the key removed?\n if (deleted) {\n // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true\n } else {\n // Delete prevented by interceptor\n const value = this.data_.get(key)\n orderedData.set(key, value)\n }\n }\n }\n // Merge entries\n for (const [key, value] of replacementMap.entries()) {\n // We will want to know whether a new key is added\n const keyExisted = this.data_.has(key)\n // Add or update value\n this.set(key, value)\n // The addition could have been prevent by interceptor\n if (this.data_.has(key)) {\n // The update could have been prevented by interceptor\n // and also we want to preserve existing values\n // so use value from _data map (instead of replacement map)\n const value = this.data_.get(key)\n orderedData.set(key, value)\n // Was a new key added?\n if (!keyExisted) {\n // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true\n }\n }\n }\n // Check for possible key order change\n if (!keysReportChangedCalled) {\n if (this.data_.size !== orderedData.size) {\n // If size differs, keys are definitely modified\n this.keysAtom_.reportChanged()\n } else {\n const iter1 = this.data_.keys()\n const iter2 = orderedData.keys()\n let next1 = iter1.next()\n let next2 = iter2.next()\n while (!next1.done) {\n if (next1.value !== next2.value) {\n this.keysAtom_.reportChanged()\n break\n }\n next1 = iter1.next()\n next2 = iter2.next()\n }\n }\n }\n // Use correctly ordered map\n this.data_ = orderedData\n })\n return this\n }\n\n get size(): number {\n this.keysAtom_.reportObserved()\n return this.data_.size\n }\n\n toString(): string {\n return \"[object ObservableMap]\"\n }\n\n toJSON(): [K, V][] {\n return Array.from(this)\n }\n\n get [Symbol.toStringTag]() {\n return \"Map\"\n }\n\n /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */\n observe_(listener: (changes: IMapDidChange<K, V>) => void, fireImmediately?: boolean): Lambda {\n if (__DEV__ && fireImmediately === true) {\n die(\"`observe` doesn't support fireImmediately=true in combination with maps.\")\n }\n return registerListener(this, listener)\n }\n\n intercept_(handler: IInterceptor<IMapWillChange<K, V>>): Lambda {\n return registerInterceptor(this, handler)\n }\n}\n\n// eslint-disable-next-line\nexport var isObservableMap = createInstanceofPredicate(\"ObservableMap\", ObservableMap) as (\n thing: any\n) => thing is ObservableMap<any, any>\n\nfunction makeIterableForMap<T>(iterator: Iterator<T>): MapIterator<T> {\n iterator[Symbol.toStringTag] = \"MapIterator\"\n return makeIterable<T, BuiltinIteratorReturn>(iterator)\n}\n\nfunction convertToMap(dataStructure: any): Map<any, any> {\n if (isES6Map(dataStructure) || isObservableMap(dataStructure)) {\n return dataStructure\n } else if (Array.isArray(dataStructure)) {\n return new Map(dataStructure)\n } else if (isPlainObject(dataStructure)) {\n const map = new Map()\n for (const key in dataStructure) {\n map.set(key, dataStructure[key])\n }\n return map\n } else {\n return die(21, dataStructure)\n }\n}\n","import {\n $mobx,\n createAtom,\n deepEnhancer,\n getNextId,\n IEnhancer,\n isSpyEnabled,\n hasListeners,\n IListenable,\n registerListener,\n Lambda,\n spyReportStart,\n notifyListeners,\n spyReportEnd,\n createInstanceofPredicate,\n makeIterable,\n hasInterceptors,\n interceptChange,\n IInterceptable,\n IInterceptor,\n registerInterceptor,\n checkIfStateModificationsAreAllowed,\n untracked,\n transaction,\n isES6Set,\n IAtom,\n DELETE,\n ADD,\n die,\n isFunction,\n initObservable\n} from \"../internal\"\n\nconst ObservableSetMarker = {}\n\nexport type IObservableSetInitialValues<T> = Set<T> | readonly T[]\n\nexport type ISetDidChange<T = any> =\n | {\n object: ObservableSet<T>\n observableKind: \"set\"\n debugObjectName: string\n type: \"add\"\n newValue: T\n }\n | {\n object: ObservableSet<T>\n observableKind: \"set\"\n debugObjectName: string\n type: \"delete\"\n oldValue: T\n }\n\nexport type ISetWillChange<T = any> =\n | {\n type: \"delete\"\n object: ObservableSet<T>\n oldValue: T\n }\n | {\n type: \"add\"\n object: ObservableSet<T>\n newValue: T\n }\n\nexport class ObservableSet<T = any> implements Set<T>, IInterceptable<ISetWillChange>, IListenable {\n [$mobx] = ObservableSetMarker\n private data_: Set<any> = new Set()\n atom_!: IAtom\n changeListeners_\n interceptors_\n dehancer: any\n enhancer_: (newV: any, oldV: any | undefined) => any\n\n constructor(\n initialData?: IObservableSetInitialValues<T>,\n enhancer: IEnhancer<T> = deepEnhancer,\n public name_ = __DEV__ ? \"ObservableSet@\" + getNextId() : \"ObservableSet\"\n ) {\n if (!isFunction(Set)) {\n die(22)\n }\n this.enhancer_ = (newV, oldV) => enhancer(newV, oldV, name_)\n initObservable(() => {\n this.atom_ = createAtom(this.name_)\n if (initialData) {\n this.replace(initialData)\n }\n })\n }\n\n private dehanceValue_<X extends T | undefined>(value: X): X {\n if (this.dehancer !== undefined) {\n return this.dehancer(value)\n }\n return value\n }\n\n clear() {\n transaction(() => {\n untracked(() => {\n for (const value of this.data_.values()) {\n this.delete(value)\n }\n })\n })\n }\n\n forEach(callbackFn: (value: T, value2: T, set: Set<T>) => void, thisArg?: any) {\n for (const value of this) {\n callbackFn.call(thisArg, value, value, this)\n }\n }\n\n get size() {\n this.atom_.reportObserved()\n return this.data_.size\n }\n\n add(value: T) {\n checkIfStateModificationsAreAllowed(this.atom_)\n if (hasInterceptors(this)) {\n const change = interceptChange<ISetWillChange<T>>(this, {\n type: ADD,\n object: this,\n newValue: value\n })\n if (!change) {\n return this\n }\n // ideally, value = change.value would be done here, so that values can be\n // changed by interceptor. Same applies for other Set and Map api's.\n }\n if (!this.has(value)) {\n transaction(() => {\n this.data_.add(this.enhancer_(value, undefined))\n this.atom_.reportChanged()\n })\n const notifySpy = __DEV__ && isSpyEnabled()\n const notify = hasListeners(this)\n const change =\n notify || notifySpy\n ? <ISetDidChange<T>>{\n observableKind: \"set\",\n debugObjectName: this.name_,\n type: ADD,\n object: this,\n newValue: value\n }\n : null\n if (notifySpy && __DEV__) {\n spyReportStart(change!)\n }\n if (notify) {\n notifyListeners(this, change)\n }\n if (notifySpy && __DEV__) {\n spyReportEnd()\n }\n }\n\n return this\n }\n\n delete(value: T) {\n if (hasInterceptors(this)) {\n const change = interceptChange<ISetWillChange<T>>(this, {\n type: DELETE,\n object: this,\n oldValue: value\n })\n if (!change) {\n return false\n }\n }\n if (this.has(value)) {\n const notifySpy = __DEV__ && isSpyEnabled()\n const notify = hasListeners(this)\n const change =\n notify || notifySpy\n ? <ISetDidChange<T>>{\n observableKind: \"set\",\n debugObjectName: this.name_,\n type: DELETE,\n object: this,\n oldValue: value\n }\n : null\n\n if (notifySpy && __DEV__) {\n spyReportStart(change!)\n }\n transaction(() => {\n this.atom_.reportChanged()\n this.data_.delete(value)\n })\n if (notify) {\n notifyListeners(this, change)\n }\n if (notifySpy && __DEV__) {\n spyReportEnd()\n }\n return true\n }\n return false\n }\n\n has(value: T) {\n this.atom_.reportObserved()\n return this.data_.has(this.dehanceValue_(value))\n }\n\n entries() {\n const values = this.values()\n return makeIterableForSet<[T, T]>({\n next() {\n const { value, done } = values.next()\n return !done ? { value: [value, value], done } : { value: undefined, done }\n }\n })\n }\n\n keys(): SetIterator<T> {\n return this.values()\n }\n\n values(): SetIterator<T> {\n this.atom_.reportObserved()\n const self = this\n const values = this.data_.values()\n return makeIterableForSet({\n next() {\n const { value, done } = values.next()\n return !done\n ? { value: self.dehanceValue_(value), done }\n : { value: undefined, done }\n }\n })\n }\n\n intersection<U>(otherSet: ReadonlySetLike<U> | Set<U>): Set<T & U> {\n if (isES6Set(otherSet) && !isObservableSet(otherSet)) {\n return otherSet.intersection(this)\n } else {\n const dehancedSet = new Set(this)\n return dehancedSet.intersection(otherSet)\n }\n }\n\n union<U>(otherSet: ReadonlySetLike<U> | Set<U>): Set<T | U> {\n if (isES6Set(otherSet) && !isObservableSet(otherSet)) {\n return otherSet.union(this)\n } else {\n const dehancedSet = new Set(this)\n return dehancedSet.union(otherSet)\n }\n }\n\n difference<U>(otherSet: ReadonlySetLike<U>): Set<T> {\n return new Set(this).difference(otherSet)\n }\n\n symmetricDifference<U>(otherSet: ReadonlySetLike<U> | Set<U>): Set<T | U> {\n if (isES6Set(otherSet) && !isObservableSet(otherSet)) {\n return otherSet.symmetricDifference(this)\n } else {\n const dehancedSet = new Set(this)\n return dehancedSet.symmetricDifference(otherSet)\n }\n }\n\n isSubsetOf(otherSet: ReadonlySetLike<unknown>): boolean {\n return new Set(this).isSubsetOf(otherSet)\n }\n\n isSupersetOf(otherSet: ReadonlySetLike<unknown>): boolean {\n return new Set(this).isSupersetOf(otherSet)\n }\n\n isDisjointFrom(otherSet: ReadonlySetLike<unknown> | Set<unknown>): boolean {\n if (isES6Set(otherSet) && !isObservableSet(otherSet)) {\n return otherSet.isDisjointFrom(this)\n } else {\n const dehancedSet = new Set(this)\n return dehancedSet.isDisjointFrom(otherSet)\n }\n }\n\n replace(other: ObservableSet<T> | IObservableSetInitialValues<T>): ObservableSet<T> {\n if (isObservableSet(other)) {\n other = new Set(other)\n }\n\n transaction(() => {\n if (Array.isArray(other)) {\n this.clear()\n other.forEach(value => this.add(value))\n } else if (isES6Set(other)) {\n this.clear()\n other.forEach(value => this.add(value))\n } else if (other !== null && other !== undefined) {\n die(\"Cannot initialize set from \" + other)\n }\n })\n\n return this\n }\n observe_(listener: (changes: ISetDidChange<T>) => void, fireImmediately?: boolean): Lambda {\n // ... 'fireImmediately' could also be true?\n if (__DEV__ && fireImmediately === true) {\n die(\"`observe` doesn't support fireImmediately=true in combination with sets.\")\n }\n return registerListener(this, listener)\n }\n\n intercept_(handler: IInterceptor<ISetWillChange<T>>): Lambda {\n return registerInterceptor(this, handler)\n }\n\n toJSON(): T[] {\n return Array.from(this)\n }\n\n toString(): string {\n return \"[object ObservableSet]\"\n }\n\n [Symbol.iterator]() {\n return this.values()\n }\n\n get [Symbol.toStringTag]() {\n return \"Set\"\n }\n}\n\n// eslint-disable-next-line\nexport var isObservableSet = createInstanceofPredicate(\"ObservableSet\", ObservableSet) as (\n thing: any\n) => thing is ObservableSet<any>\n\nfunction makeIterableForSet<T>(iterator: Iterator<T>): SetIterator<T> {\n iterator[Symbol.toStringTag] = \"SetIterator\"\n return makeIterable<T, BuiltinIteratorReturn>(iterator)\n}\n","import {\n CreateObservableOptions,\n getAnnotationFromOptions,\n propagateChanged,\n isAnnotation,\n $mobx,\n Atom,\n Annotation,\n ComputedValue,\n IAtom,\n IComputedValueOptions,\n IEnhancer,\n IInterceptable,\n IListenable,\n Lambda,\n ObservableValue,\n addHiddenProp,\n createInstanceofPredicate,\n endBatch,\n getNextId,\n hasInterceptors,\n hasListeners,\n interceptChange,\n isObject,\n isPlainObject,\n isSpyEnabled,\n notifyListeners,\n referenceEnhancer,\n registerInterceptor,\n registerListener,\n spyReportEnd,\n spyReportStart,\n startBatch,\n stringifyKey,\n globalState,\n ADD,\n UPDATE,\n die,\n hasProp,\n getDescriptor,\n storedAnnotationsSymbol,\n ownKeys,\n isOverride,\n defineProperty,\n autoAnnotation,\n getAdministration,\n getDebugName,\n objectPrototype,\n MakeResult,\n checkIfStateModificationsAreAllowed\n} from \"../internal\"\n\nconst descriptorCache = Object.create(null)\n\nexport type IObjectDidChange<T = any> = {\n observableKind: \"object\"\n name: PropertyKey\n object: T\n debugObjectName: string\n} & (\n | {\n type: \"add\"\n newValue: any\n }\n | {\n type: \"update\"\n oldValue: any\n newValue: any\n }\n | {\n type: \"remove\"\n oldValue: any\n }\n)\n\nexport type IObjectWillChange<T = any> =\n | {\n object: T\n type: \"update\" | \"add\"\n name: PropertyKey\n newValue: any\n }\n | {\n object: T\n type: \"remove\"\n name: PropertyKey\n }\n\nconst REMOVE = \"remove\"\n\nexport class ObservableObjectAdministration\n implements IInterceptable<IObjectWillChange>, IListenable\n{\n keysAtom_: IAtom\n changeListeners_\n interceptors_\n proxy_: any\n isPlainObject_: boolean\n appliedAnnotations_?: object\n private pendingKeys_: undefined | Map<PropertyKey, ObservableValue<boolean>>\n\n constructor(\n public target_: any,\n public values_ = new Map<PropertyKey, ObservableValue<any> | ComputedValue<any>>(),\n public name_: string,\n // Used anytime annotation is not explicitely provided\n public defaultAnnotation_: Annotation = autoAnnotation\n ) {\n this.keysAtom_ = new Atom(__DEV__ ? `${this.name_}.keys` : \"ObservableObject.keys\")\n // Optimization: we use this frequently\n this.isPlainObject_ = isPlainObject(this.target_)\n if (__DEV__ && !isAnnotation(this.defaultAnnotation_)) {\n die(`defaultAnnotation must be valid annotation`)\n }\n if (__DEV__) {\n // Prepare structure for tracking which fields were already annotated\n this.appliedAnnotations_ = {}\n }\n }\n\n getObservablePropValue_(key: PropertyKey): any {\n return this.values_.get(key)!.get()\n }\n\n setObservablePropValue_(key: PropertyKey, newValue): boolean | null {\n const observable = this.values_.get(key)\n if (observable instanceof ComputedValue) {\n observable.set(newValue)\n return true\n }\n\n // intercept\n if (hasInterceptors(this)) {\n const change = interceptChange<IObjectWillChange>(this, {\n type: UPDATE,\n object: this.proxy_ || this.target_,\n name: key,\n newValue\n })\n if (!change) {\n return null\n }\n newValue = (change as any).newValue\n }\n newValue = (observable as any).prepareNewValue_(newValue)\n\n // notify spy & observers\n if (newValue !== globalState.UNCHANGED) {\n const notify = hasListeners(this)\n const notifySpy = __DEV__ && isSpyEnabled()\n const change: IObjectDidChange | null =\n notify || notifySpy\n ? {\n type: UPDATE,\n observableKind: \"object\",\n debugObjectName: this.name_,\n object: this.proxy_ || this.target_,\n oldValue: (observable as any).value_,\n name: key,\n newValue\n }\n : null\n\n if (__DEV__ && notifySpy) {\n spyReportStart(change!)\n }\n ;(observable as ObservableValue<any>).setNewValue_(newValue)\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n return true\n }\n\n get_(key: PropertyKey): any {\n if (globalState.trackingDerivation && !hasProp(this.target_, key)) {\n // Key doesn't exist yet, subscribe for it in case it's added later\n this.has_(key)\n }\n return this.target_[key]\n }\n\n /**\n * @param {PropertyKey} key\n * @param {any} value\n * @param {Annotation|boolean} annotation true - use default annotation, false - copy as is\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */\n set_(key: PropertyKey, value: any, proxyTrap: boolean = false): boolean | null {\n // Don't use .has(key) - we care about own\n if (hasProp(this.target_, key)) {\n // Existing prop\n if (this.values_.has(key)) {\n // Observable (can be intercepted)\n return this.setObservablePropValue_(key, value)\n } else if (proxyTrap) {\n // Non-observable - proxy\n return Reflect.set(this.target_, key, value)\n } else {\n // Non-observable\n this.target_[key] = value\n return true\n }\n } else {\n // New prop\n return this.extend_(\n key,\n { value, enumerable: true, writable: true, configurable: true },\n this.defaultAnnotation_,\n proxyTrap\n )\n }\n }\n\n // Trap for \"in\"\n has_(key: PropertyKey): boolean {\n if (!globalState.trackingDerivation) {\n // Skip key subscription outside derivation\n return key in this.target_\n }\n this.pendingKeys_ ||= new Map()\n let entry = this.pendingKeys_.get(key)\n if (!entry) {\n entry = new ObservableValue(\n key in this.target_,\n referenceEnhancer,\n __DEV__ ? `${this.name_}.${stringifyKey(key)}?` : \"ObservableObject.key?\",\n false\n )\n this.pendingKeys_.set(key, entry)\n }\n return entry.get()\n }\n\n /**\n * @param {PropertyKey} key\n * @param {Annotation|boolean} annotation true - use default annotation, false - ignore prop\n */\n make_(key: PropertyKey, annotation: Annotation | boolean): void {\n if (annotation === true) {\n annotation = this.defaultAnnotation_\n }\n if (annotation === false) {\n return\n }\n assertAnnotable(this, annotation, key)\n if (!(key in this.target_)) {\n // Throw on missing key, except for decorators:\n // Decorator annotations are collected from whole prototype chain.\n // When called from super() some props may not exist yet.\n // However we don't have to worry about missing prop,\n // because the decorator must have been applied to something.\n if (this.target_[storedAnnotationsSymbol]?.[key]) {\n return // will be annotated by subclass constructor\n } else {\n die(1, annotation.annotationType_, `${this.name_}.${key.toString()}`)\n }\n }\n let source = this.target_\n while (source && source !== objectPrototype) {\n const descriptor = getDescriptor(source, key)\n if (descriptor) {\n const outcome = annotation.make_(this, key, descriptor, source)\n if (outcome === MakeResult.Cancel) {\n return\n }\n if (outcome === MakeResult.Break) {\n break\n }\n }\n source = Object.getPrototypeOf(source)\n }\n recordAnnotationApplied(this, annotation, key)\n }\n\n /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {Annotation|boolean} annotation true - use default annotation, false - copy as is\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */\n extend_(\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n annotation: Annotation | boolean,\n proxyTrap: boolean = false\n ): boolean | null {\n if (annotation === true) {\n annotation = this.defaultAnnotation_\n }\n if (annotation === false) {\n return this.defineProperty_(key, descriptor, proxyTrap)\n }\n assertAnnotable(this, annotation, key)\n const outcome = annotation.extend_(this, key, descriptor, proxyTrap)\n if (outcome) {\n recordAnnotationApplied(this, annotation, key)\n }\n return outcome\n }\n\n /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */\n defineProperty_(\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean = false\n ): boolean | null {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n try {\n startBatch()\n\n // Delete\n const deleteOutcome = this.delete_(key)\n if (!deleteOutcome) {\n // Failure or intercepted\n return deleteOutcome\n }\n\n // ADD interceptor\n if (hasInterceptors(this)) {\n const change = interceptChange<IObjectWillChange>(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: descriptor.value\n })\n if (!change) {\n return null\n }\n const { newValue } = change as any\n if (descriptor.value !== newValue) {\n descriptor = {\n ...descriptor,\n value: newValue\n }\n }\n }\n\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) {\n return false\n }\n } else {\n defineProperty(this.target_, key, descriptor)\n }\n\n // Notify\n this.notifyPropertyAddition_(key, descriptor.value)\n } finally {\n endBatch()\n }\n return true\n }\n\n // If original descriptor becomes relevant, move this to annotation directly\n defineObservableProperty_(\n key: PropertyKey,\n value: any,\n enhancer: IEnhancer<any>,\n proxyTrap: boolean = false\n ): boolean | null {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n try {\n startBatch()\n\n // Delete\n const deleteOutcome = this.delete_(key)\n if (!deleteOutcome) {\n // Failure or intercepted\n return deleteOutcome\n }\n\n // ADD interceptor\n if (hasInterceptors(this)) {\n const change = interceptChange<IObjectWillChange>(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: value\n })\n if (!change) {\n return null\n }\n value = (change as any).newValue\n }\n\n const cachedDescriptor = getCachedObservablePropDescriptor(key)\n const descriptor = {\n configurable: globalState.safeDescriptors ? this.isPlainObject_ : true,\n enumerable: true,\n get: cachedDescriptor.get,\n set: cachedDescriptor.set\n }\n\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) {\n return false\n }\n } else {\n defineProperty(this.target_, key, descriptor)\n }\n\n const observable = new ObservableValue(\n value,\n enhancer,\n __DEV__ ? `${this.name_}.${key.toString()}` : \"ObservableObject.key\",\n false\n )\n\n this.values_.set(key, observable)\n\n // Notify (value possibly changed by ObservableValue)\n this.notifyPropertyAddition_(key, observable.value_)\n } finally {\n endBatch()\n }\n return true\n }\n\n // If original descriptor becomes relevant, move this to annotation directly\n defineComputedProperty_(\n key: PropertyKey,\n options: IComputedValueOptions<any>,\n proxyTrap: boolean = false\n ): boolean | null {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n try {\n startBatch()\n\n // Delete\n const deleteOutcome = this.delete_(key)\n if (!deleteOutcome) {\n // Failure or intercepted\n return deleteOutcome\n }\n\n // ADD interceptor\n if (hasInterceptors(this)) {\n const change = interceptChange<IObjectWillChange>(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: undefined\n })\n if (!change) {\n return null\n }\n }\n options.name ||= __DEV__ ? `${this.name_}.${key.toString()}` : \"ObservableObject.key\"\n options.context = this.proxy_ || this.target_\n const cachedDescriptor = getCachedObservablePropDescriptor(key)\n const descriptor = {\n configurable: globalState.safeDescriptors ? this.isPlainObject_ : true,\n enumerable: false,\n get: cachedDescriptor.get,\n set: cachedDescriptor.set\n }\n\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) {\n return false\n }\n } else {\n defineProperty(this.target_, key, descriptor)\n }\n\n this.values_.set(key, new ComputedValue(options))\n\n // Notify\n this.notifyPropertyAddition_(key, undefined)\n } finally {\n endBatch()\n }\n return true\n }\n\n /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */\n delete_(key: PropertyKey, proxyTrap: boolean = false): boolean | null {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n // No such prop\n if (!hasProp(this.target_, key)) {\n return true\n }\n\n // Intercept\n if (hasInterceptors(this)) {\n const change = interceptChange<IObjectWillChange>(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: REMOVE\n })\n // Cancelled\n if (!change) {\n return null\n }\n }\n\n // Delete\n try {\n startBatch()\n const notify = hasListeners(this)\n const notifySpy = __DEV__ && isSpyEnabled()\n const observable = this.values_.get(key)\n // Value needed for spies/listeners\n let value = undefined\n // Optimization: don't pull the value unless we will need it\n if (!observable && (notify || notifySpy)) {\n value = getDescriptor(this.target_, key)?.value\n }\n // delete prop (do first, may fail)\n if (proxyTrap) {\n if (!Reflect.deleteProperty(this.target_, key)) {\n return false\n }\n } else {\n delete this.target_[key]\n }\n // Allow re-annotating this field\n if (__DEV__) {\n delete this.appliedAnnotations_![key]\n }\n // Clear observable\n if (observable) {\n this.values_.delete(key)\n // for computed, value is undefined\n if (observable instanceof ObservableValue) {\n value = observable.value_\n }\n // Notify: autorun(() => obj[key]), see #1796\n propagateChanged(observable)\n }\n // Notify \"keys/entries/values\" observers\n this.keysAtom_.reportChanged()\n\n // Notify \"has\" observers\n // \"in\" as it may still exist in proto\n this.pendingKeys_?.get(key)?.set(key in this.target_)\n\n // Notify spies/listeners\n if (notify || notifySpy) {\n const change: IObjectDidChange = {\n type: REMOVE,\n observableKind: \"object\",\n object: this.proxy_ || this.target_,\n debugObjectName: this.name_,\n oldValue: value,\n name: key\n }\n if (__DEV__ && notifySpy) {\n spyReportStart(change!)\n }\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n } finally {\n endBatch()\n }\n return true\n }\n\n /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */\n observe_(callback: (changes: IObjectDidChange) => void, fireImmediately?: boolean): Lambda {\n if (__DEV__ && fireImmediately === true) {\n die(\"`observe` doesn't support the fire immediately property for observable objects.\")\n }\n return registerListener(this, callback)\n }\n\n intercept_(handler): Lambda {\n return registerInterceptor(this, handler)\n }\n\n notifyPropertyAddition_(key: PropertyKey, value: any) {\n const notify = hasListeners(this)\n const notifySpy = __DEV__ && isSpyEnabled()\n if (notify || notifySpy) {\n const change: IObjectDidChange | null =\n notify || notifySpy\n ? ({\n type: ADD,\n observableKind: \"object\",\n debugObjectName: this.name_,\n object: this.proxy_ || this.target_,\n name: key,\n newValue: value\n } as const)\n : null\n\n if (__DEV__ && notifySpy) {\n spyReportStart(change!)\n }\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n\n this.pendingKeys_?.get(key)?.set(true)\n\n // Notify \"keys/entries/values\" observers\n this.keysAtom_.reportChanged()\n }\n\n ownKeys_(): Array<string | symbol> {\n this.keysAtom_.reportObserved()\n return ownKeys(this.target_)\n }\n\n keys_(): PropertyKey[] {\n // Returns enumerable && own, but unfortunately keysAtom will report on ANY key change.\n // There is no way to distinguish between Object.keys(object) and Reflect.ownKeys(object) - both are handled by ownKeys trap.\n // We can either over-report in Object.keys(object) or under-report in Reflect.ownKeys(object)\n // We choose to over-report in Object.keys(object), because:\n // - typically it's used with simple data objects\n // - when symbolic/non-enumerable keys are relevant Reflect.ownKeys works as expected\n this.keysAtom_.reportObserved()\n return Object.keys(this.target_)\n }\n}\n\nexport interface IIsObservableObject {\n [$mobx]: ObservableObjectAdministration\n}\n\nexport function asObservableObject(\n target: any,\n options?: CreateObservableOptions\n): IIsObservableObject {\n if (__DEV__ && options && isObservableObject(target)) {\n die(`Options can't be provided for already observable objects.`)\n }\n\n if (hasProp(target, $mobx)) {\n if (__DEV__ && !(getAdministration(target) instanceof ObservableObjectAdministration)) {\n die(\n `Cannot convert '${getDebugName(target)}' into observable object:` +\n `\\nThe target is already observable of different type.` +\n `\\nExtending builtins is not supported.`\n )\n }\n return target\n }\n\n if (__DEV__ && !Object.isExtensible(target)) {\n die(\"Cannot make the designated object observable; it is not extensible\")\n }\n\n const name =\n options?.name ??\n (__DEV__\n ? `${\n isPlainObject(target) ? \"ObservableObject\" : target.constructor.name\n }@${getNextId()}`\n : \"ObservableObject\")\n\n const adm = new ObservableObjectAdministration(\n target,\n new Map(),\n String(name),\n getAnnotationFromOptions(options)\n )\n\n addHiddenProp(target, $mobx, adm)\n\n return target\n}\n\nconst isObservableObjectAdministration = createInstanceofPredicate(\n \"ObservableObjectAdministration\",\n ObservableObjectAdministration\n)\n\nfunction getCachedObservablePropDescriptor(key) {\n return (\n descriptorCache[key] ||\n (descriptorCache[key] = {\n get() {\n return this[$mobx].getObservablePropValue_(key)\n },\n set(value) {\n return this[$mobx].setObservablePropValue_(key, value)\n }\n })\n )\n}\n\nexport function isObservableObject(thing: any): boolean {\n if (isObject(thing)) {\n return isObservableObjectAdministration((thing as any)[$mobx])\n }\n return false\n}\n\nexport function recordAnnotationApplied(\n adm: ObservableObjectAdministration,\n annotation: Annotation,\n key: PropertyKey\n) {\n if (__DEV__) {\n adm.appliedAnnotations_![key] = annotation\n }\n // Remove applied decorator annotation so we don't try to apply it again in subclass constructor\n delete adm.target_[storedAnnotationsSymbol]?.[key]\n}\n\nfunction assertAnnotable(\n adm: ObservableObjectAdministration,\n annotation: Annotation,\n key: PropertyKey\n) {\n // Valid annotation\n if (__DEV__ && !isAnnotation(annotation)) {\n die(`Cannot annotate '${adm.name_}.${key.toString()}': Invalid annotation.`)\n }\n\n /*\n // Configurable, not sealed, not frozen\n // Possibly not needed, just a little better error then the one thrown by engine.\n // Cases where this would be useful the most (subclass field initializer) are not interceptable by this.\n if (__DEV__) {\n const configurable = getDescriptor(adm.target_, key)?.configurable\n const frozen = Object.isFrozen(adm.target_)\n const sealed = Object.isSealed(adm.target_)\n if (!configurable || frozen || sealed) {\n const fieldName = `${adm.name_}.${key.toString()}`\n const requestedAnnotationType = annotation.annotationType_\n let error = `Cannot apply '${requestedAnnotationType}' to '${fieldName}':`\n if (frozen) {\n error += `\\nObject is frozen.`\n }\n if (sealed) {\n error += `\\nObject is sealed.`\n }\n if (!configurable) {\n error += `\\nproperty is not configurable.`\n // Mention only if caused by us to avoid confusion\n if (hasProp(adm.appliedAnnotations!, key)) {\n error += `\\nTo prevent accidental re-definition of a field by a subclass, `\n error += `all annotated fields of non-plain objects (classes) are not configurable.`\n }\n }\n die(error)\n }\n }\n */\n\n // Not annotated\n if (__DEV__ && !isOverride(annotation) && hasProp(adm.appliedAnnotations_!, key)) {\n const fieldName = `${adm.name_}.${key.toString()}`\n const currentAnnotationType = adm.appliedAnnotations_![key].annotationType_\n const requestedAnnotationType = annotation.annotationType_\n die(\n `Cannot apply '${requestedAnnotationType}' to '${fieldName}':` +\n `\\nThe field is already annotated with '${currentAnnotationType}'.` +\n `\\nRe-annotating fields is not allowed.` +\n `\\nUse 'override' annotation for methods overridden by subclass.`\n )\n }\n}\n","import {\n getNextId,\n addHiddenFinalProp,\n makeIterable,\n addHiddenProp,\n ObservableArrayAdministration,\n $mobx,\n arrayExtensions,\n IEnhancer,\n isObservableArray,\n IObservableArray,\n defineProperty,\n initObservable\n} from \"../internal\"\n\n// Bug in safari 9.* (or iOS 9 safari mobile). See #364\nconst ENTRY_0 = createArrayEntryDescriptor(0)\n\nconst safariPrototypeSetterInheritanceBug = (() => {\n let v = false\n const p = {}\n Object.defineProperty(p, \"0\", {\n set: () => {\n v = true\n }\n })\n Object.create(p)[\"0\"] = 1\n return v === false\n})()\n\n/**\n * This array buffer contains two lists of properties, so that all arrays\n * can recycle their property definitions, which significantly improves performance of creating\n * properties on the fly.\n */\nlet OBSERVABLE_ARRAY_BUFFER_SIZE = 0\n\n// Typescript workaround to make sure ObservableArray extends Array\nclass StubArray {}\nfunction inherit(ctor, proto) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(ctor.prototype, proto)\n } else if (ctor.prototype.__proto__ !== undefined) {\n ctor.prototype.__proto__ = proto\n } else {\n ctor.prototype = proto\n }\n}\ninherit(StubArray, Array.prototype)\n\n// Weex proto freeze protection was here,\n// but it is unclear why the hack is need as MobX never changed the prototype\n// anyway, so removed it in V6\n\nexport class LegacyObservableArray<T> extends StubArray {\n constructor(\n initialValues: T[] | undefined,\n enhancer: IEnhancer<T>,\n name = __DEV__ ? \"ObservableArray@\" + getNextId() : \"ObservableArray\",\n owned = false\n ) {\n super()\n initObservable(() => {\n const adm = new ObservableArrayAdministration(name, enhancer, owned, true)\n adm.proxy_ = this as any\n addHiddenFinalProp(this, $mobx, adm)\n\n if (initialValues && initialValues.length) {\n // @ts-ignore\n this.spliceWithArray(0, 0, initialValues)\n }\n\n if (safariPrototypeSetterInheritanceBug) {\n // Seems that Safari won't use numeric prototype setter until any * numeric property is\n // defined on the instance. After that it works fine, even if this property is deleted.\n Object.defineProperty(this, \"0\", ENTRY_0)\n }\n })\n }\n\n concat(...arrays: T[][]): T[] {\n ;(this[$mobx] as ObservableArrayAdministration).atom_.reportObserved()\n return Array.prototype.concat.apply(\n (this as any).slice(),\n //@ts-ignore\n arrays.map(a => (isObservableArray(a) ? a.slice() : a))\n )\n }\n\n get length(): number {\n return (this[$mobx] as ObservableArrayAdministration).getArrayLength_()\n }\n\n set length(newLength: number) {\n ;(this[$mobx] as ObservableArrayAdministration).setArrayLength_(newLength)\n }\n\n get [Symbol.toStringTag]() {\n return \"Array\"\n }\n\n [Symbol.iterator]() {\n const self = this\n let nextIndex = 0\n return makeIterable({\n next() {\n return nextIndex < self.length\n ? { value: self[nextIndex++], done: false }\n : { done: true, value: undefined }\n }\n })\n }\n}\n\nObject.entries(arrayExtensions).forEach(([prop, fn]) => {\n if (prop !== \"concat\") {\n addHiddenProp(LegacyObservableArray.prototype, prop, fn)\n }\n})\n\nfunction createArrayEntryDescriptor(index: number) {\n return {\n enumerable: false,\n configurable: true,\n get: function () {\n return this[$mobx].get_(index)\n },\n set: function (value) {\n this[$mobx].set_(index, value)\n }\n }\n}\n\nfunction createArrayBufferItem(index: number) {\n defineProperty(LegacyObservableArray.prototype, \"\" + index, createArrayEntryDescriptor(index))\n}\n\nexport function reserveArrayBuffer(max: number) {\n if (max > OBSERVABLE_ARRAY_BUFFER_SIZE) {\n for (let index = OBSERVABLE_ARRAY_BUFFER_SIZE; index < max + 100; index++) {\n createArrayBufferItem(index)\n }\n OBSERVABLE_ARRAY_BUFFER_SIZE = max\n }\n}\n\nreserveArrayBuffer(1000)\n\nexport function createLegacyArray<T>(\n initialValues: T[] | undefined,\n enhancer: IEnhancer<T>,\n name?: string\n): IObservableArray<T> {\n return new LegacyObservableArray(initialValues, enhancer, name) as any\n}\n","import { isAction } from \"../api/action\"\nimport {\n $mobx,\n IDepTreeNode,\n isAtom,\n isComputedValue,\n isObservableArray,\n isObservableMap,\n isObservableObject,\n isReaction,\n isObservableSet,\n die,\n isFunction,\n allowStateChangesStart,\n untrackedStart,\n allowStateChangesEnd,\n untrackedEnd,\n startBatch,\n endBatch\n} from \"../internal\"\n\nexport function getAtom(thing: any, property?: PropertyKey): IDepTreeNode {\n if (typeof thing === \"object\" && thing !== null) {\n if (isObservableArray(thing)) {\n if (property !== undefined) {\n die(23)\n }\n return (thing as any)[$mobx].atom_\n }\n if (isObservableSet(thing)) {\n return thing.atom_\n }\n if (isObservableMap(thing)) {\n if (property === undefined) {\n return thing.keysAtom_\n }\n const observable = thing.data_.get(property) || thing.hasMap_.get(property)\n if (!observable) {\n die(25, property, getDebugName(thing))\n }\n return observable\n }\n if (property && !thing[$mobx]) {\n thing[property]\n } // See #1072\n if (isObservableObject(thing)) {\n if (!property) {\n return die(26)\n }\n const observable = (thing as any)[$mobx].values_.get(property)\n if (!observable) {\n die(27, property, getDebugName(thing))\n }\n return observable\n }\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) {\n return thing\n }\n } else if (isFunction(thing)) {\n if (isReaction(thing[$mobx])) {\n // disposer function\n return thing[$mobx]\n }\n }\n die(28)\n}\n\nexport function getAdministration(thing: any, property?: string) {\n if (!thing) {\n die(29)\n }\n if (property !== undefined) {\n return getAdministration(getAtom(thing, property))\n }\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) {\n return thing\n }\n if (isObservableMap(thing) || isObservableSet(thing)) {\n return thing\n }\n if (thing[$mobx]) {\n return thing[$mobx]\n }\n die(24, thing)\n}\n\nexport function getDebugName(thing: any, property?: string): string {\n let named\n if (property !== undefined) {\n named = getAtom(thing, property)\n } else if (isAction(thing)) {\n return thing.name\n } else if (isObservableObject(thing) || isObservableMap(thing) || isObservableSet(thing)) {\n named = getAdministration(thing)\n } else {\n // valid for arrays as well\n named = getAtom(thing)\n }\n return named.name_\n}\n\n/**\n * Helper function for initializing observable structures, it applies:\n * 1. allowStateChanges so we don't violate enforceActions.\n * 2. untracked so we don't accidentaly subscribe to anything observable accessed during init in case the observable is created inside derivation.\n * 3. batch to avoid state version updates\n */\nexport function initObservable<T>(cb: () => T): T {\n const derivation = untrackedStart()\n const allowStateChanges = allowStateChangesStart(true)\n startBatch()\n try {\n return cb()\n } finally {\n endBatch()\n allowStateChangesEnd(allowStateChanges)\n untrackedEnd(derivation)\n }\n}\n","import {\n isES6Map,\n isObservableArray,\n isObservableMap,\n isES6Set,\n isObservableSet,\n hasProp,\n isFunction,\n objectPrototype\n} from \"../internal\"\n\ndeclare const Symbol\nconst toString = objectPrototype.toString\n\nexport function deepEqual(a: any, b: any, depth: number = -1): boolean {\n return eq(a, b, depth)\n}\n\n// Copied from https://github.com/jashkenas/underscore/blob/5c237a7c682fb68fd5378203f0bf22dce1624854/underscore.js#L1186-L1289\n// Internal recursive comparison function for `isEqual`.\nfunction eq(a: any, b: any, depth: number, aStack?: any[], bStack?: any[]) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) {\n return a !== 0 || 1 / a === 1 / b\n }\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) {\n return false\n }\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) {\n return b !== b\n }\n // Exhaust primitive checks\n const type = typeof a\n if (type !== \"function\" && type !== \"object\" && typeof b != \"object\") {\n return false\n }\n\n // Compare `[[Class]]` names.\n const className = toString.call(a)\n if (className !== toString.call(b)) {\n return false\n }\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case \"[object RegExp]\":\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case \"[object String]\":\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return \"\" + a === \"\" + b\n case \"[object Number]\":\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) {\n return +b !== +b\n }\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b\n case \"[object Date]\":\n case \"[object Boolean]\":\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b\n case \"[object Symbol]\":\n return (\n typeof Symbol !== \"undefined\" && Symbol.valueOf.call(a) === Symbol.valueOf.call(b)\n )\n case \"[object Map]\":\n case \"[object Set]\":\n // Maps and Sets are unwrapped to arrays of entry-pairs, adding an incidental level.\n // Hide this extra level by increasing the depth.\n if (depth >= 0) {\n depth++\n }\n break\n }\n // Unwrap any wrapped objects.\n a = unwrap(a)\n b = unwrap(b)\n\n const areArrays = className === \"[object Array]\"\n if (!areArrays) {\n if (typeof a != \"object\" || typeof b != \"object\") {\n return false\n }\n\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n const aCtor = a.constructor,\n bCtor = b.constructor\n if (\n aCtor !== bCtor &&\n !(\n isFunction(aCtor) &&\n aCtor instanceof aCtor &&\n isFunction(bCtor) &&\n bCtor instanceof bCtor\n ) &&\n \"constructor\" in a &&\n \"constructor\" in b\n ) {\n return false\n }\n }\n\n if (depth === 0) {\n return false\n } else if (depth < 0) {\n depth = -1\n }\n\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || []\n bStack = bStack || []\n let length = aStack.length\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) {\n return bStack[length] === b\n }\n }\n\n // Add the first object to the stack of traversed objects.\n aStack.push(a)\n bStack.push(b)\n\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length\n if (length !== b.length) {\n return false\n }\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], depth - 1, aStack, bStack)) {\n return false\n }\n }\n } else {\n // Deep compare objects.\n const keys = Object.keys(a)\n let key\n length = keys.length\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (Object.keys(b).length !== length) {\n return false\n }\n while (length--) {\n // Deep compare each member\n key = keys[length]\n if (!(hasProp(b, key) && eq(a[key], b[key], depth - 1, aStack, bStack))) {\n return false\n }\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop()\n bStack.pop()\n return true\n}\n\nfunction unwrap(a: any) {\n if (isObservableArray(a)) {\n return a.slice()\n }\n if (isES6Map(a) || isObservableMap(a)) {\n return Array.from(a.entries())\n }\n if (isES6Set(a) || isObservableSet(a)) {\n return Array.from(a.entries())\n }\n return a\n}\n","import { getGlobal } from \"../internal\"\n\n// safely get iterator prototype if available\nconst maybeIteratorPrototype = getGlobal().Iterator?.prototype || {}\n\nexport function makeIterable<T, TReturn = unknown>(\n iterator: Iterator<T>\n): IteratorObject<T, TReturn> {\n iterator[Symbol.iterator] = getSelf\n return Object.assign(Object.create(maybeIteratorPrototype), iterator)\n}\n\nfunction getSelf() {\n return this\n}\n","import { ObservableObjectAdministration, isFunction } from \"../internal\"\n\nexport const enum MakeResult {\n Cancel,\n Break,\n Continue\n}\n\nexport type Annotation = {\n annotationType_: string\n make_(\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n source: object\n ): MakeResult\n extend_(\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean\n ): boolean | null\n decorate_20223_(value: any, context: DecoratorContext)\n options_?: any\n}\n\nexport type AnnotationMapEntry =\n | Annotation\n | true /* follow the default decorator, usually deep */\n | false /* don't decorate this property */\n\n// AdditionalFields can be used to declare additional keys that can be used, for example to be able to\n// declare annotations for private/ protected members, see #2339\nexport type AnnotationsMap<T, AdditionalFields extends PropertyKey> = {\n [P in Exclude<keyof T, \"toString\">]?: AnnotationMapEntry\n} & Record<AdditionalFields, AnnotationMapEntry>\n\nexport function isAnnotation(thing: any) {\n return (\n // Can be function\n thing instanceof Object &&\n typeof thing.annotationType_ === \"string\" &&\n isFunction(thing.make_) &&\n isFunction(thing.extend_)\n )\n}\n\nexport function isAnnotationMapEntry(thing: any) {\n return typeof thing === \"boolean\" || isAnnotation(thing)\n}\n","/**\n * (c) Michel Weststrate 2015 - 2020\n * MIT Licensed\n *\n * Welcome to the mobx sources! To get a global overview of how MobX internally works,\n * this is a good place to start:\n * https://medium.com/@mweststrate/becoming-fully-reactive-an-in-depth-explanation-of-mobservable-55995262a254#.xvbh6qd74\n *\n * Source folders:\n * ===============\n *\n * - api/ Most of the public static methods exposed by the module can be found here.\n * - core/ Implementation of the MobX algorithm; atoms, derivations, reactions, dependency trees, optimizations. Cool stuff can be found here.\n * - types/ All the magic that is need to have observable objects, arrays and values is in this folder. Including the modifiers like `asFlat`.\n * - utils/ Utility stuff.\n *\n */\nimport { die } from \"./errors\"\nimport { getGlobal } from \"./utils/global\"\n;[\"Symbol\", \"Map\", \"Set\"].forEach(m => {\n let g = getGlobal()\n if (typeof g[m] === \"undefined\") {\n die(`MobX requires global '${m}' to be available or polyfilled`)\n }\n})\n\nimport { spy, getDebugName, $mobx } from \"./internal\"\n\nexport {\n IObservable,\n IDepTreeNode,\n Reaction,\n IReactionPublic,\n IReactionDisposer,\n untracked,\n IAtom,\n createAtom,\n spy,\n IComputedValue,\n IEqualsComparer,\n comparer,\n IEnhancer,\n IInterceptable,\n IInterceptor,\n IListenable,\n IObjectWillChange,\n IObjectDidChange,\n isObservableObject,\n IValueDidChange,\n IValueWillChange,\n IObservableValue,\n isObservableValue as isBoxedObservable,\n IObservableArray,\n IArrayWillChange,\n IArrayWillSplice,\n IArraySplice,\n IArrayUpdate,\n IArrayDidChange,\n isObservableArray,\n IKeyValueMap,\n ObservableMap,\n IMapEntries,\n IMapEntry,\n IMapWillChange,\n IMapDidChange,\n isObservableMap,\n IObservableMapInitialValues,\n ObservableSet,\n isObservableSet,\n ISetDidChange,\n ISetWillChange,\n IObservableSetInitialValues,\n transaction,\n observable,\n IObservableFactory,\n CreateObservableOptions,\n computed,\n IComputedFactory,\n isObservable,\n isObservableProp,\n isComputed,\n isComputedProp,\n extendObservable,\n observe,\n intercept,\n autorun,\n IAutorunOptions,\n reaction,\n IReactionOptions,\n when,\n IWhenOptions,\n action,\n isAction,\n runInAction,\n IActionFactory,\n keys,\n values,\n entries,\n set,\n remove,\n has,\n get,\n apiOwnKeys as ownKeys,\n apiDefineProperty as defineProperty,\n configure,\n onBecomeObserved,\n onBecomeUnobserved,\n flow,\n isFlow,\n flowResult,\n FlowCancellationError,\n isFlowCancellationError,\n toJS,\n trace,\n IObserverTree,\n IDependencyTree,\n getDependencyTree,\n getObserverTree,\n resetGlobalState as _resetGlobalState,\n getGlobalState as _getGlobalState,\n getDebugName,\n getAtom,\n getAdministration as _getAdministration,\n allowStateChanges as _allowStateChanges,\n runInAction as _allowStateChangesInsideComputed, // This has become the default behavior in Mobx 6\n Lambda,\n $mobx,\n isComputingDerivation as _isComputingDerivation,\n onReactionError,\n interceptReads as _interceptReads,\n IComputedValueOptions,\n IActionRunInfo,\n _startAction,\n _endAction,\n allowStateReadsStart as _allowStateReadsStart,\n allowStateReadsEnd as _allowStateReadsEnd,\n makeObservable,\n makeAutoObservable,\n autoAction as _autoAction,\n AnnotationsMap,\n AnnotationMapEntry,\n override\n} from \"./internal\"\n\n// Devtools support\ndeclare const __MOBX_DEVTOOLS_GLOBAL_HOOK__: { injectMobx: (any) => void }\nif (typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__ === \"object\") {\n // See: https://github.com/andykog/mobx-devtools/\n __MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({\n spy,\n extras: {\n getDebugName\n },\n $mobx\n })\n}\n","import { auto } from 'browser-unhandled-rejection';\nimport { DOMRenderer } from 'dom-renderer';\nimport { configure } from 'mobx';\nimport { documentReady, serviceWorkerUpdate } from 'web-utility';\n\nimport { PageBox } from './page';\nimport { renderMode } from './utility';\n\nauto();\n\nconfigure({ enforceActions: 'never' });\n\nself.addEventListener('unhandledrejection', ({ reason }) => {\n const { message } = reason as Error;\n\n if (message) self.alert(message);\n});\n\nconst { serviceWorker } = window.navigator;\n\nif (process.env.NODE_ENV !== 'development')\n serviceWorker\n ?.register('sw.js')\n .then(serviceWorkerUpdate)\n .then(worker => {\n if (\n window.confirm(\n 'New version of this Web App detected, update now?'\n )\n )\n worker.postMessage({ type: 'SKIP_WAITING' });\n });\n\nserviceWorker?.addEventListener('controllerchange', () =>\n window.location.reload()\n);\n\ndocumentReady.then(() =>\n new DOMRenderer().render(<PageBox />, document.body, renderMode)\n);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Fragment = exports.jsxDEV = exports.jsxs = void 0;\nexports.jsx = jsx;\nvar tslib_1 = require(\"tslib\");\nvar web_utility_1 = require(\"web-utility\");\nvar VDOM_1 = require(\"./dist/VDOM\");\n/**\n * @see {@link https://github.com/reactjs/rfcs/blob/createlement-rfc/text/0000-create-element-changes.md}\n * @see {@link https://babeljs.io/docs/babel-plugin-transform-react-jsx}\n */\nfunction jsx(type, _a, key) {\n var ref = _a.ref, is = _a.is, style = _a.style, children = _a.children, props = tslib_1.__rest(_a, [\"ref\", \"is\", \"style\", \"children\"]);\n if (typeof type === 'function' && (0, web_utility_1.isHTMLElementClass)(type))\n type = (0, web_utility_1.tagNameOf)(type);\n children = [children]\n .flat(Infinity)\n .map(function (node) {\n return node instanceof Object\n ? new VDOM_1.VNode(node)\n : node === 0 || node\n ? new VDOM_1.VNode({ text: node.toString() })\n : undefined;\n })\n .filter(Boolean);\n var commonProps = { key: key, ref: ref, is: is, style: style, children: children };\n return typeof type === 'string'\n ? new VDOM_1.VNode(tslib_1.__assign(tslib_1.__assign({}, commonProps), { tagName: type, props: props }))\n : type(tslib_1.__assign(tslib_1.__assign({}, commonProps), props));\n}\nexports.jsxs = jsx;\nexports.jsxDEV = jsx;\n/**\n * @see {@link https://babeljs.io/docs/babel-plugin-transform-react-jsx#react-automatic-runtime-1}\n */\nvar Fragment = function (_a) {\n var key = _a.key, ref = _a.ref, is = _a.is, style = _a.style, children = _a.children, props = tslib_1.__rest(_a, [\"key\", \"ref\", \"is\", \"style\", \"children\"]);\n return new VDOM_1.VNode({\n key: key,\n ref: ref,\n is: is,\n props: (0, web_utility_1.isEmpty)(props) ? undefined : props,\n style: style,\n children: children\n });\n};\nexports.Fragment = Fragment;\n","var OriginalPromise = Promise;\n\n/**\n * ES5 subclassing is used per:\n * https://github.com/rtsao/browser-unhandled-rejection/issues/1\n * https://kangax.github.io/compat-table/es6/#test-Promise_is_subclassable\n *\n * Adapted from: https://gist.github.com/domenic/8ed6048b187ee8f2ec75\n */\nvar InstrumentedPromise$1 = function Promise(resolver) {\n if (!(this instanceof InstrumentedPromise$1)) {\n throw new TypeError('Cannot call a class as a function');\n }\n var promise = new OriginalPromise(function (resolve, reject) {\n return resolver(resolve, function (arg) {\n OriginalPromise.resolve().then(function () {\n if (promise._hasDownstreams === undefined) {\n dispatchUnhandledRejectionEvent(promise, arg);\n }\n });\n return reject(arg);\n });\n });\n promise.__proto__ = InstrumentedPromise$1.prototype;\n return promise;\n};\n\nInstrumentedPromise$1.__proto__ = OriginalPromise;\nInstrumentedPromise$1.prototype.__proto__ = OriginalPromise.prototype;\n\nInstrumentedPromise$1.prototype.then = function then(onFulfilled, onRejected) {\n var next = OriginalPromise.prototype.then.call(this, onFulfilled, onRejected);\n this._hasDownstreams = true;\n return next;\n};\n\nfunction dispatchUnhandledRejectionEvent(promise, reason) {\n var event = document.createEvent('Event');\n /**\n * Note: these properties should not be enumerable, which is the default setting\n */\n Object.defineProperties(event, {\n promise: {\n value: promise,\n writable: false\n },\n reason: {\n value: reason,\n writable: false\n }\n });\n event.initEvent('unhandledrejection', // Define that the event name is 'unhandledrejection'\n false, // PromiseRejectionEvent is not bubbleable\n true // PromiseRejectionEvent is cancelable\n );\n window.dispatchEvent(event);\n}\n\nfunction needsPolyfill() {\n return typeof PromiseRejectionEvent === 'undefined';\n}\n\nfunction polyfill() {\n Promise = InstrumentedPromise$1;\n}\n\nfunction auto() {\n if (needsPolyfill()) {\n polyfill();\n }\n}\n\nexport { needsPolyfill, polyfill, auto };export default InstrumentedPromise$1;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./VDOM\"), exports);\ntslib_1.__exportStar(require(\"./DOMRenderer\"), exports);\n","import 'mdui/components/button-icon';\nimport 'mdui/components/layout';\nimport 'mdui/components/layout-item';\nimport 'mdui/components/layout-main';\nimport 'mdui/components/list';\nimport 'mdui/components/list-item';\nimport 'mdui/components/navigation-drawer';\nimport 'mdui/components/top-app-bar';\nimport 'mdui/components/top-app-bar-title';\n\nimport { createRouter } from 'cell-router';\nimport { observable } from 'mobx';\nimport { attribute, component, observer } from 'web-cell';\n\nimport { renderMode } from '../utility';\nimport { CompanyList } from './CompanyList';\n\nconst { Route } = createRouter();\n\n@component({ tagName: 'page-box', renderMode })\n@observer\nexport class PageBox extends HTMLElement {\n @attribute\n @observable\n accessor drawerOpen = false;\n\n render() {\n const { drawerOpen } = this;\n\n return (\n <mdui-layout className=\"h-screen bg-white\">\n <mdui-top-app-bar className=\"flex items-center gap-4 p-4\">\n <mdui-button-icon\n icon=\"menu\"\n onClick={() => (this.drawerOpen = !this.drawerOpen)}\n />\n <mdui-top-app-bar-title>Anti 996</mdui-top-app-bar-title>\n <div className=\"flex-1\" />\n <mdui-button-icon icon=\"more_vert\" />\n </mdui-top-app-bar>\n\n <mdui-navigation-drawer\n open={drawerOpen}\n closeOnOverlayClick\n onClosed={() => (this.drawerOpen = false)}\n >\n <mdui-list onClick={() => (this.drawerOpen = false)}>\n <mdui-list-item href=\"#?type=996\">996</mdui-list-item>\n <mdui-list-item href=\"#?type=955\">955</mdui-list-item>\n </mdui-list>\n </mdui-navigation-drawer>\n\n <mdui-layout-main>\n <Route path=\"\" component={CompanyList} />\n </mdui-layout-main>\n </mdui-layout>\n );\n }\n}\n","export * from './button-icon/index.js';\n","import { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { HasSlotController } from '@mdui/shared/controllers/has-slot.js';\nimport { watch } from '@mdui/shared/decorators/watch.js';\nimport { booleanConverter } from '@mdui/shared/helpers/decorator.js';\nimport { nothingTemplate } from '@mdui/shared/helpers/template.js';\nimport { ButtonBase } from '../button/button-base.js';\nimport '../icon.js';\nimport { style } from './style.js';\n/**\n * @summary 图标按钮组件\n *\n * ```html\n * <mdui-button-icon icon=\"search\"></mdui-button-icon>\n * ```\n *\n * @event focus - 获得焦点时触发\n * @event blur - 失去焦点时触发\n * @event change - 选中状态变更时触发\n * @event invalid - 表单字段验证未通过时触发\n *\n * @slot - 图标组件\n * @slot selected-icon 选中状态显示的图标元素\n *\n * @csspart button - 内部的 `<button>` 或 `<a>` 元素\n * @csspart icon - 未选中状态的图标\n * @csspart selected-icon 选中状态的图标\n * @csspart loading - 加载中状态的 `<mdui-circular-progress>` 元素\n *\n * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐引用[设计令牌](/docs/2/styles/design-tokens#shape-corner)\n */\nlet ButtonIcon = class ButtonIcon extends ButtonBase {\n constructor() {\n super(...arguments);\n /**\n * 图标按钮的形状。可选值包括:\n *\n * * `standard`:适用于最低优先级的操作\n * * `filled`:视觉效果强烈,适用于高优先级的操作\n * * `tonal`:视觉效果介于 `filled` 和 `outlined` 之间,适用于中高优先级的操作\n * * `outlined`:适用于中等优先级的操作\n */\n this.variant = 'standard';\n /**\n * 是否可选中\n */\n this.selectable = false;\n /**\n * 是否已被选中\n */\n this.selected = false;\n this.rippleRef = createRef();\n this.hasSlotController = new HasSlotController(this, '[default]', 'selected-icon');\n }\n get rippleElement() {\n return this.rippleRef.value;\n }\n onSelectedChange() {\n this.emit('change');\n }\n firstUpdated(changedProperties) {\n super.firstUpdated(changedProperties);\n this.addEventListener('click', () => {\n if (!this.selectable || this.disabled) {\n return;\n }\n this.selected = !this.selected;\n });\n }\n render() {\n return html `<mdui-ripple ${ref(this.rippleRef)} .noRipple=\"${this.noRipple}\"></mdui-ripple>${this.isButton()\n ? this.renderButton({\n className: 'button',\n part: 'button',\n content: this.renderIcon(),\n })\n : this.disabled || this.loading\n ? html `<span part=\"button\" class=\"button _a\">${this.renderIcon()}</span>`\n : this.renderAnchor({\n className: 'button',\n part: 'button',\n content: this.renderIcon(),\n })} ${this.renderLoading()}`;\n }\n renderIcon() {\n const icon = () => this.hasSlotController.test('[default]')\n ? html `<slot></slot>`\n : this.icon\n ? html `<mdui-icon part=\"icon\" class=\"icon\" name=\"${this.icon}\"></mdui-icon>`\n : nothingTemplate;\n const selectedIcon = () => this.hasSlotController.test('selected-icon') || this.selectedIcon\n ? html `<slot name=\"selected-icon\" part=\"selected-icon\" class=\"selected-icon\"><mdui-icon name=\"${this.selectedIcon}\"></mdui-icon></slot>`\n : icon();\n return this.selected ? selectedIcon() : icon();\n }\n};\nButtonIcon.styles = [ButtonBase.styles, style];\n__decorate([\n property({ reflect: true })\n], ButtonIcon.prototype, \"variant\", void 0);\n__decorate([\n property({ reflect: true })\n], ButtonIcon.prototype, \"icon\", void 0);\n__decorate([\n property({ reflect: true, attribute: 'selected-icon' })\n], ButtonIcon.prototype, \"selectedIcon\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n })\n], ButtonIcon.prototype, \"selectable\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n })\n], ButtonIcon.prototype, \"selected\", void 0);\n__decorate([\n watch('selected', true)\n], ButtonIcon.prototype, \"onSelectedChange\", null);\nButtonIcon = __decorate([\n customElement('mdui-button-icon')\n], ButtonIcon);\nexport { ButtonIcon };\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:r,getOwnPropertyNames:h,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e(this.prototype,t,r)}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...h(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(this[t],s))return;this.P(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i)}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:\"open\"},b[d(\"elementProperties\")]=new Map,b[d(\"finalized\")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push(\"2.0.4\");export{b as ReactiveElement,u as defaultConverter,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * Use this module if you want to create your own base class extending\n * {@link ReactiveElement}.\n * @packageDocumentation\n */\n\nimport {\n getCompatibleStyle,\n adoptStyles,\n CSSResultGroup,\n CSSResultOrNative,\n} from './css-tag.js';\nimport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n// In the Node build, this import will be injected by Rollup:\n// import {HTMLElement, customElements} from '@lit-labs/ssr-dom-shim';\n\nexport * from './css-tag.js';\nexport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n/**\n * Removes the `readonly` modifier from properties in the union K.\n *\n * This is a safer way to cast a value to a type with a mutable version of a\n * readonly field, than casting to an interface with the field re-declared\n * because it preserves the type of all the fields and warns on typos.\n */\ntype Mutable<T, K extends keyof T> = Omit<T, K> & {\n -readonly [P in keyof Pick<T, K>]: P extends K ? T[P] : never;\n};\n\n// TODO (justinfagnani): Add `hasOwn` here when we ship ES2022\nconst {\n is,\n defineProperty,\n getOwnPropertyDescriptor,\n getOwnPropertyNames,\n getOwnPropertySymbols,\n getPrototypeOf,\n} = Object;\n\nconst NODE_MODE = false;\n\n// Lets a minifier replace globalThis references with a minified name\nconst global = globalThis;\n\nif (NODE_MODE) {\n global.customElements ??= customElements;\n}\n\nconst DEV_MODE = true;\n\nlet issueWarning: (code: string, warning: string) => void;\n\nconst trustedTypes = (global as unknown as {trustedTypes?: {emptyScript: ''}})\n .trustedTypes;\n\n// Temporary workaround for https://crbug.com/993268\n// Currently, any attribute starting with \"on\" is considered to be a\n// TrustedScript source. Such boolean attributes must be set to the equivalent\n// trusted emptyScript value.\nconst emptyStringForBooleanAttribute = trustedTypes\n ? (trustedTypes.emptyScript as unknown as '')\n : '';\n\nconst polyfillSupport = DEV_MODE\n ? global.reactiveElementPolyfillSupportDevMode\n : global.reactiveElementPolyfillSupport;\n\nif (DEV_MODE) {\n // Ensure warnings are issued only 1x, even if multiple versions of Lit\n // are loaded.\n const issuedWarnings: Set<string | undefined> = (global.litIssuedWarnings ??=\n new Set());\n\n // Issue a warning, if we haven't already.\n issueWarning = (code: string, warning: string) => {\n warning += ` See https://lit.dev/msg/${code} for more information.`;\n if (!issuedWarnings.has(warning)) {\n console.warn(warning);\n issuedWarnings.add(warning);\n }\n };\n\n issueWarning(\n 'dev-mode',\n `Lit is in dev mode. Not recommended for production!`\n );\n\n // Issue polyfill support warning.\n if (global.ShadyDOM?.inUse && polyfillSupport === undefined) {\n issueWarning(\n 'polyfill-support-missing',\n `Shadow DOM is being polyfilled via \\`ShadyDOM\\` but ` +\n `the \\`polyfill-support\\` module has not been loaded.`\n );\n }\n}\n\n/**\n * Contains types that are part of the unstable debug API.\n *\n * Everything in this API is not stable and may change or be removed in the future,\n * even on patch releases.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace ReactiveUnstable {\n /**\n * When Lit is running in dev mode and `window.emitLitDebugLogEvents` is true,\n * we will emit 'lit-debug' events to window, with live details about the update and render\n * lifecycle. These can be useful for writing debug tooling and visualizations.\n *\n * Please be aware that running with window.emitLitDebugLogEvents has performance overhead,\n * making certain operations that are normally very cheap (like a no-op render) much slower,\n * because we must copy data and dispatch events.\n */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace DebugLog {\n export type Entry = Update;\n export interface Update {\n kind: 'update';\n }\n }\n}\n\ninterface DebugLoggingWindow {\n // Even in dev mode, we generally don't want to emit these events, as that's\n // another level of cost, so only emit them when DEV_MODE is true _and_ when\n // window.emitLitDebugEvents is true.\n emitLitDebugLogEvents?: boolean;\n}\n\n/**\n * Useful for visualizing and logging insights into what the Lit template system is doing.\n *\n * Compiled out of prod mode builds.\n */\nconst debugLogEvent = DEV_MODE\n ? (event: ReactiveUnstable.DebugLog.Entry) => {\n const shouldEmit = (global as unknown as DebugLoggingWindow)\n .emitLitDebugLogEvents;\n if (!shouldEmit) {\n return;\n }\n global.dispatchEvent(\n new CustomEvent<ReactiveUnstable.DebugLog.Entry>('lit-debug', {\n detail: event,\n })\n );\n }\n : undefined;\n\n/*\n * When using Closure Compiler, JSCompiler_renameProperty(property, object) is\n * replaced at compile time by the munged name for object[property]. We cannot\n * alias this function, so we have to use a small shim that has the same\n * behavior when not compiling.\n */\n/*@__INLINE__*/\nconst JSCompiler_renameProperty = <P extends PropertyKey>(\n prop: P,\n _obj: unknown\n): P => prop;\n\n/**\n * Converts property values to and from attribute values.\n */\nexport interface ComplexAttributeConverter<Type = unknown, TypeHint = unknown> {\n /**\n * Called to convert an attribute value to a property\n * value.\n */\n fromAttribute?(value: string | null, type?: TypeHint): Type;\n\n /**\n * Called to convert a property value to an attribute\n * value.\n *\n * It returns unknown instead of string, to be compatible with\n * https://github.com/WICG/trusted-types (and similar efforts).\n */\n toAttribute?(value: Type, type?: TypeHint): unknown;\n}\n\ntype AttributeConverter<Type = unknown, TypeHint = unknown> =\n | ComplexAttributeConverter<Type>\n | ((value: string | null, type?: TypeHint) => Type);\n\n/**\n * Defines options for a property accessor.\n */\nexport interface PropertyDeclaration<Type = unknown, TypeHint = unknown> {\n /**\n * When set to `true`, indicates the property is internal private state. The\n * property should not be set by users. When using TypeScript, this property\n * should be marked as `private` or `protected`, and it is also a common\n * practice to use a leading `_` in the name. The property is not added to\n * `observedAttributes`.\n */\n readonly state?: boolean;\n\n /**\n * Indicates how and whether the property becomes an observed attribute.\n * If the value is `false`, the property is not added to `observedAttributes`.\n * If true or absent, the lowercased property name is observed (e.g. `fooBar`\n * becomes `foobar`). If a string, the string value is observed (e.g\n * `attribute: 'foo-bar'`).\n */\n readonly attribute?: boolean | string;\n\n /**\n * Indicates the type of the property. This is used only as a hint for the\n * `converter` to determine how to convert the attribute\n * to/from a property.\n */\n readonly type?: TypeHint;\n\n /**\n * Indicates how to convert the attribute to/from a property. If this value\n * is a function, it is used to convert the attribute value a the property\n * value. If it's an object, it can have keys for `fromAttribute` and\n * `toAttribute`. If no `toAttribute` function is provided and\n * `reflect` is set to `true`, the property value is set directly to the\n * attribute. A default `converter` is used if none is provided; it supports\n * `Boolean`, `String`, `Number`, `Object`, and `Array`. Note,\n * when a property changes and the converter is used to update the attribute,\n * the property is never updated again as a result of the attribute changing,\n * and vice versa.\n */\n readonly converter?: AttributeConverter<Type, TypeHint>;\n\n /**\n * Indicates if the property should reflect to an attribute.\n * If `true`, when the property is set, the attribute is set using the\n * attribute name determined according to the rules for the `attribute`\n * property option and the value of the property converted using the rules\n * from the `converter` property option.\n */\n readonly reflect?: boolean;\n\n /**\n * A function that indicates if a property should be considered changed when\n * it is set. The function should take the `newValue` and `oldValue` and\n * return `true` if an update should be requested.\n */\n hasChanged?(value: Type, oldValue: Type): boolean;\n\n /**\n * Indicates whether an accessor will be created for this property. By\n * default, an accessor will be generated for this property that requests an\n * update when set. If this flag is `true`, no accessor will be created, and\n * it will be the user's responsibility to call\n * `this.requestUpdate(propertyName, oldValue)` to request an update when\n * the property changes.\n */\n readonly noAccessor?: boolean;\n\n /**\n * Whether this property is wrapping accessors. This is set by `@property`\n * to control the initial value change and reflection logic.\n *\n * @internal\n */\n wrapped?: boolean;\n}\n\n/**\n * Map of properties to PropertyDeclaration options. For each property an\n * accessor is made, and the property is processed according to the\n * PropertyDeclaration options.\n */\nexport interface PropertyDeclarations {\n readonly [key: string]: PropertyDeclaration;\n}\n\ntype PropertyDeclarationMap = Map<PropertyKey, PropertyDeclaration>;\n\ntype AttributeMap = Map<string, PropertyKey>;\n\n/**\n * A Map of property keys to values.\n *\n * Takes an optional type parameter T, which when specified as a non-any,\n * non-unknown type, will make the Map more strongly-typed, associating the map\n * keys with their corresponding value type on T.\n *\n * Use `PropertyValues<this>` when overriding ReactiveElement.update() and\n * other lifecycle methods in order to get stronger type-checking on keys\n * and values.\n */\n// This type is conditional so that if the parameter T is not specified, or\n// is `any`, the type will include `Map<PropertyKey, unknown>`. Since T is not\n// given in the uses of PropertyValues in this file, all uses here fallback to\n// meaning `Map<PropertyKey, unknown>`, but if a developer uses\n// `PropertyValues<this>` (or any other value for T) they will get a\n// strongly-typed Map type.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PropertyValues<T = any> = T extends object\n ? PropertyValueMap<T>\n : Map<PropertyKey, unknown>;\n\n/**\n * Do not use, instead prefer {@linkcode PropertyValues}.\n */\n// This type must be exported such that JavaScript generated by the Google\n// Closure Compiler can import a type reference.\nexport interface PropertyValueMap<T> extends Map<PropertyKey, unknown> {\n get<K extends keyof T>(k: K): T[K] | undefined;\n set<K extends keyof T>(key: K, value: T[K]): this;\n has<K extends keyof T>(k: K): boolean;\n delete<K extends keyof T>(k: K): boolean;\n}\n\nexport const defaultConverter: ComplexAttributeConverter = {\n toAttribute(value: unknown, type?: unknown): unknown {\n switch (type) {\n case Boolean:\n value = value ? emptyStringForBooleanAttribute : null;\n break;\n case Object:\n case Array:\n // if the value is `null` or `undefined` pass this through\n // to allow removing/no change behavior.\n value = value == null ? value : JSON.stringify(value);\n break;\n }\n return value;\n },\n\n fromAttribute(value: string | null, type?: unknown) {\n let fromValue: unknown = value;\n switch (type) {\n case Boolean:\n fromValue = value !== null;\n break;\n case Number:\n fromValue = value === null ? null : Number(value);\n break;\n case Object:\n case Array:\n // Do *not* generate exception when invalid JSON is set as elements\n // don't normally complain on being mis-configured.\n // TODO(sorvell): Do generate exception in *dev mode*.\n try {\n // Assert to adhere to Bazel's \"must type assert JSON parse\" rule.\n fromValue = JSON.parse(value!) as unknown;\n } catch (e) {\n fromValue = null;\n }\n break;\n }\n return fromValue;\n },\n};\n\nexport interface HasChanged {\n (value: unknown, old: unknown): boolean;\n}\n\n/**\n * Change function that returns true if `value` is different from `oldValue`.\n * This method is used as the default for a property's `hasChanged` function.\n */\nexport const notEqual: HasChanged = (value: unknown, old: unknown): boolean =>\n !is(value, old);\n\nconst defaultPropertyDeclaration: PropertyDeclaration = {\n attribute: true,\n type: String,\n converter: defaultConverter,\n reflect: false,\n hasChanged: notEqual,\n};\n\n/**\n * A string representing one of the supported dev mode warning categories.\n */\nexport type WarningKind =\n | 'change-in-update'\n | 'migration'\n | 'async-perform-update';\n\nexport type Initializer = (element: ReactiveElement) => void;\n\n// Temporary, until google3 is on TypeScript 5.2\ndeclare global {\n interface SymbolConstructor {\n readonly metadata: unique symbol;\n }\n}\n\n// Ensure metadata is enabled. TypeScript does not polyfill\n// Symbol.metadata, so we must ensure that it exists.\n(Symbol as {metadata: symbol}).metadata ??= Symbol('metadata');\n\ndeclare global {\n // This is public global API, do not change!\n // eslint-disable-next-line no-var\n var litPropertyMetadata: WeakMap<\n object,\n Map<PropertyKey, PropertyDeclaration>\n >;\n}\n\n// Map from a class's metadata object to property options\n// Note that we must use nullish-coalescing assignment so that we only use one\n// map even if we load multiple version of this module.\nglobal.litPropertyMetadata ??= new WeakMap<\n object,\n Map<PropertyKey, PropertyDeclaration>\n>();\n\n/**\n * Base element class which manages element properties and attributes. When\n * properties change, the `update` method is asynchronously called. This method\n * should be supplied by subclasses to render updates as desired.\n * @noInheritDoc\n */\nexport abstract class ReactiveElement\n // In the Node build, this `extends` clause will be substituted with\n // `(globalThis.HTMLElement ?? HTMLElement)`.\n //\n // This way, we will first prefer any global `HTMLElement` polyfill that the\n // user has assigned, and then fall back to the `HTMLElement` shim which has\n // been imported (see note at the top of this file about how this import is\n // generated by Rollup). Note that the `HTMLElement` variable has been\n // shadowed by this import, so it no longer refers to the global.\n extends HTMLElement\n implements ReactiveControllerHost\n{\n // Note: these are patched in only in DEV_MODE.\n /**\n * Read or set all the enabled warning categories for this class.\n *\n * This property is only used in development builds.\n *\n * @nocollapse\n * @category dev-mode\n */\n static enabledWarnings?: WarningKind[];\n\n /**\n * Enable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Enable for all ReactiveElement subclasses\n * ReactiveElement.enableWarning?.('migration');\n *\n * // Enable for only MyElement and subclasses\n * MyElement.enableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static enableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Disable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Disable for all ReactiveElement subclasses\n * ReactiveElement.disableWarning?.('migration');\n *\n * // Disable for only MyElement and subclasses\n * MyElement.disableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static disableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Adds an initializer function to the class that is called during instance\n * construction.\n *\n * This is useful for code that runs against a `ReactiveElement`\n * subclass, such as a decorator, that needs to do work for each\n * instance, such as setting up a `ReactiveController`.\n *\n * ```ts\n * const myDecorator = (target: typeof ReactiveElement, key: string) => {\n * target.addInitializer((instance: ReactiveElement) => {\n * // This is run during construction of the element\n * new MyController(instance);\n * });\n * }\n * ```\n *\n * Decorating a field will then cause each instance to run an initializer\n * that adds a controller:\n *\n * ```ts\n * class MyElement extends LitElement {\n * @myDecorator foo;\n * }\n * ```\n *\n * Initializers are stored per-constructor. Adding an initializer to a\n * subclass does not add it to a superclass. Since initializers are run in\n * constructors, initializers will run in order of the class hierarchy,\n * starting with superclasses and progressing to the instance's class.\n *\n * @nocollapse\n */\n static addInitializer(initializer: Initializer) {\n this.__prepare();\n (this._initializers ??= []).push(initializer);\n }\n\n static _initializers?: Initializer[];\n\n /*\n * Due to closure compiler ES6 compilation bugs, @nocollapse is required on\n * all static methods and properties with initializers. Reference:\n * - https://github.com/google/closure-compiler/issues/1776\n */\n\n /**\n * Maps attribute names to properties; for example `foobar` attribute to\n * `fooBar` property. Created lazily on user subclasses when finalizing the\n * class.\n * @nocollapse\n */\n private static __attributeToPropertyMap: AttributeMap;\n\n /**\n * Marks class as having been finalized, which includes creating properties\n * from `static properties`, but does *not* include all properties created\n * from decorators.\n * @nocollapse\n */\n protected static finalized: true | undefined;\n\n /**\n * Memoized list of all element properties, including any superclass\n * properties. Created lazily on user subclasses when finalizing the class.\n *\n * @nocollapse\n * @category properties\n */\n static elementProperties: PropertyDeclarationMap;\n\n /**\n * User-supplied object that maps property names to `PropertyDeclaration`\n * objects containing options for configuring reactive properties. When\n * a reactive property is set the element will update and render.\n *\n * By default properties are public fields, and as such, they should be\n * considered as primarily settable by element users, either via attribute or\n * the property itself.\n *\n * Generally, properties that are changed by the element should be private or\n * protected fields and should use the `state: true` option. Properties\n * marked as `state` do not reflect from the corresponding attribute\n *\n * However, sometimes element code does need to set a public property. This\n * should typically only be done in response to user interaction, and an event\n * should be fired informing the user; for example, a checkbox sets its\n * `checked` property when clicked and fires a `changed` event. Mutating\n * public properties should typically not be done for non-primitive (object or\n * array) properties. In other cases when an element needs to manage state, a\n * private property set with the `state: true` option should be used. When\n * needed, state properties can be initialized via public properties to\n * facilitate complex interactions.\n * @nocollapse\n * @category properties\n */\n static properties: PropertyDeclarations;\n\n /**\n * Memoized list of all element styles.\n * Created lazily on user subclasses when finalizing the class.\n * @nocollapse\n * @category styles\n */\n static elementStyles: Array<CSSResultOrNative> = [];\n\n /**\n * Array of styles to apply to the element. The styles should be defined\n * using the {@linkcode css} tag function, via constructible stylesheets, or\n * imported from native CSS module scripts.\n *\n * Note on Content Security Policy:\n *\n * Element styles are implemented with `<style>` tags when the browser doesn't\n * support adopted StyleSheets. To use such `<style>` tags with the style-src\n * CSP directive, the style-src value must either include 'unsafe-inline' or\n * `nonce-<base64-value>` with `<base64-value>` replaced be a server-generated\n * nonce.\n *\n * To provide a nonce to use on generated `<style>` elements, set\n * `window.litNonce` to a server-generated nonce in your page's HTML, before\n * loading application code:\n *\n * ```html\n * <script>\n * // Generated and unique per request:\n * window.litNonce = 'a1b2c3d4';\n * </script>\n * ```\n * @nocollapse\n * @category styles\n */\n static styles?: CSSResultGroup;\n\n /**\n * Returns a list of attributes corresponding to the registered properties.\n * @nocollapse\n * @category attributes\n */\n static get observedAttributes() {\n // Ensure we've created all properties\n this.finalize();\n // this.__attributeToPropertyMap is only undefined after finalize() in\n // ReactiveElement itself. ReactiveElement.observedAttributes is only\n // accessed with ReactiveElement as the receiver when a subclass or mixin\n // calls super.observedAttributes\n return (\n this.__attributeToPropertyMap && [...this.__attributeToPropertyMap.keys()]\n );\n }\n\n private __instanceProperties?: PropertyValues = undefined;\n\n /**\n * Creates a property accessor on the element prototype if one does not exist\n * and stores a {@linkcode PropertyDeclaration} for the property with the\n * given options. The property setter calls the property's `hasChanged`\n * property option or uses a strict identity check to determine whether or not\n * to request an update.\n *\n * This method may be overridden to customize properties; however,\n * when doing so, it's important to call `super.createProperty` to ensure\n * the property is setup correctly. This method calls\n * `getPropertyDescriptor` internally to get a descriptor to install.\n * To customize what properties do when they are get or set, override\n * `getPropertyDescriptor`. To customize the options for a property,\n * implement `createProperty` like this:\n *\n * ```ts\n * static createProperty(name, options) {\n * options = Object.assign(options, {myOption: true});\n * super.createProperty(name, options);\n * }\n * ```\n *\n * @nocollapse\n * @category properties\n */\n static createProperty(\n name: PropertyKey,\n options: PropertyDeclaration = defaultPropertyDeclaration\n ) {\n // If this is a state property, force the attribute to false.\n if (options.state) {\n (options as Mutable<PropertyDeclaration, 'attribute'>).attribute = false;\n }\n this.__prepare();\n this.elementProperties.set(name, options);\n if (!options.noAccessor) {\n const key = DEV_MODE\n ? // Use Symbol.for in dev mode to make it easier to maintain state\n // when doing HMR.\n Symbol.for(`${String(name)} (@property() cache)`)\n : Symbol();\n const descriptor = this.getPropertyDescriptor(name, key, options);\n if (descriptor !== undefined) {\n defineProperty(this.prototype, name, descriptor);\n }\n }\n }\n\n /**\n * Returns a property descriptor to be defined on the given named property.\n * If no descriptor is returned, the property will not become an accessor.\n * For example,\n *\n * ```ts\n * class MyElement extends LitElement {\n * static getPropertyDescriptor(name, key, options) {\n * const defaultDescriptor =\n * super.getPropertyDescriptor(name, key, options);\n * const setter = defaultDescriptor.set;\n * return {\n * get: defaultDescriptor.get,\n * set(value) {\n * setter.call(this, value);\n * // custom action.\n * },\n * configurable: true,\n * enumerable: true\n * }\n * }\n * }\n * ```\n *\n * @nocollapse\n * @category properties\n */\n protected static getPropertyDescriptor(\n name: PropertyKey,\n key: string | symbol,\n options: PropertyDeclaration\n ): PropertyDescriptor | undefined {\n const {get, set} = getOwnPropertyDescriptor(this.prototype, name) ?? {\n get(this: ReactiveElement) {\n return this[key as keyof typeof this];\n },\n set(this: ReactiveElement, v: unknown) {\n (this as unknown as Record<string | symbol, unknown>)[key] = v;\n },\n };\n if (DEV_MODE && get == null) {\n if ('value' in (getOwnPropertyDescriptor(this.prototype, name) ?? {})) {\n throw new Error(\n `Field ${JSON.stringify(String(name))} on ` +\n `${this.name} was declared as a reactive property ` +\n `but it's actually declared as a value on the prototype. ` +\n `Usually this is due to using @property or @state on a method.`\n );\n }\n issueWarning(\n 'reactive-property-without-getter',\n `Field ${JSON.stringify(String(name))} on ` +\n `${this.name} was declared as a reactive property ` +\n `but it does not have a getter. This will be an error in a ` +\n `future version of Lit.`\n );\n }\n return {\n get(this: ReactiveElement) {\n return get?.call(this);\n },\n set(this: ReactiveElement, value: unknown) {\n const oldValue = get?.call(this);\n set!.call(this, value);\n this.requestUpdate(name, oldValue, options);\n },\n configurable: true,\n enumerable: true,\n };\n }\n\n /**\n * Returns the property options associated with the given property.\n * These options are defined with a `PropertyDeclaration` via the `properties`\n * object or the `@property` decorator and are registered in\n * `createProperty(...)`.\n *\n * Note, this method should be considered \"final\" and not overridden. To\n * customize the options for a given property, override\n * {@linkcode createProperty}.\n *\n * @nocollapse\n * @final\n * @category properties\n */\n static getPropertyOptions(name: PropertyKey) {\n return this.elementProperties.get(name) ?? defaultPropertyDeclaration;\n }\n\n // Temporary, until google3 is on TypeScript 5.2\n declare static [Symbol.metadata]: object & Record<PropertyKey, unknown>;\n\n /**\n * Initializes static own properties of the class used in bookkeeping\n * for element properties, initializers, etc.\n *\n * Can be called multiple times by code that needs to ensure these\n * properties exist before using them.\n *\n * This method ensures the superclass is finalized so that inherited\n * property metadata can be copied down.\n * @nocollapse\n */\n private static __prepare() {\n if (\n this.hasOwnProperty(JSCompiler_renameProperty('elementProperties', this))\n ) {\n // Already prepared\n return;\n }\n // Finalize any superclasses\n const superCtor = getPrototypeOf(this) as typeof ReactiveElement;\n superCtor.finalize();\n\n // Create own set of initializers for this class if any exist on the\n // superclass and copy them down. Note, for a small perf boost, avoid\n // creating initializers unless needed.\n if (superCtor._initializers !== undefined) {\n this._initializers = [...superCtor._initializers];\n }\n // Initialize elementProperties from the superclass\n this.elementProperties = new Map(superCtor.elementProperties);\n }\n\n /**\n * Finishes setting up the class so that it's ready to be registered\n * as a custom element and instantiated.\n *\n * This method is called by the ReactiveElement.observedAttributes getter.\n * If you override the observedAttributes getter, you must either call\n * super.observedAttributes to trigger finalization, or call finalize()\n * yourself.\n *\n * @nocollapse\n */\n protected static finalize() {\n if (this.hasOwnProperty(JSCompiler_renameProperty('finalized', this))) {\n return;\n }\n this.finalized = true;\n this.__prepare();\n\n // Create properties from the static properties block:\n if (this.hasOwnProperty(JSCompiler_renameProperty('properties', this))) {\n const props = this.properties;\n const propKeys = [\n ...getOwnPropertyNames(props),\n ...getOwnPropertySymbols(props),\n ] as Array<keyof typeof props>;\n for (const p of propKeys) {\n this.createProperty(p, props[p]);\n }\n }\n\n // Create properties from standard decorator metadata:\n const metadata = this[Symbol.metadata];\n if (metadata !== null) {\n const properties = litPropertyMetadata.get(metadata);\n if (properties !== undefined) {\n for (const [p, options] of properties) {\n this.elementProperties.set(p, options);\n }\n }\n }\n\n // Create the attribute-to-property map\n this.__attributeToPropertyMap = new Map();\n for (const [p, options] of this.elementProperties) {\n const attr = this.__attributeNameForProperty(p, options);\n if (attr !== undefined) {\n this.__attributeToPropertyMap.set(attr, p);\n }\n }\n\n this.elementStyles = this.finalizeStyles(this.styles);\n\n if (DEV_MODE) {\n if (this.hasOwnProperty('createProperty')) {\n issueWarning(\n 'no-override-create-property',\n 'Overriding ReactiveElement.createProperty() is deprecated. ' +\n 'The override will not be called with standard decorators'\n );\n }\n if (this.hasOwnProperty('getPropertyDescriptor')) {\n issueWarning(\n 'no-override-get-property-descriptor',\n 'Overriding ReactiveElement.getPropertyDescriptor() is deprecated. ' +\n 'The override will not be called with standard decorators'\n );\n }\n }\n }\n\n /**\n * Options used when calling `attachShadow`. Set this property to customize\n * the options for the shadowRoot; for example, to create a closed\n * shadowRoot: `{mode: 'closed'}`.\n *\n * Note, these options are used in `createRenderRoot`. If this method\n * is customized, options should be respected if possible.\n * @nocollapse\n * @category rendering\n */\n static shadowRootOptions: ShadowRootInit = {mode: 'open'};\n\n /**\n * Takes the styles the user supplied via the `static styles` property and\n * returns the array of styles to apply to the element.\n * Override this method to integrate into a style management system.\n *\n * Styles are deduplicated preserving the _last_ instance in the list. This\n * is a performance optimization to avoid duplicated styles that can occur\n * especially when composing via subclassing. The last item is kept to try\n * to preserve the cascade order with the assumption that it's most important\n * that last added styles override previous styles.\n *\n * @nocollapse\n * @category styles\n */\n protected static finalizeStyles(\n styles?: CSSResultGroup\n ): Array<CSSResultOrNative> {\n const elementStyles = [];\n if (Array.isArray(styles)) {\n // Dedupe the flattened array in reverse order to preserve the last items.\n // Casting to Array<unknown> works around TS error that\n // appears to come from trying to flatten a type CSSResultArray.\n const set = new Set((styles as Array<unknown>).flat(Infinity).reverse());\n // Then preserve original order by adding the set items in reverse order.\n for (const s of set) {\n elementStyles.unshift(getCompatibleStyle(s as CSSResultOrNative));\n }\n } else if (styles !== undefined) {\n elementStyles.push(getCompatibleStyle(styles));\n }\n return elementStyles;\n }\n\n /**\n * Node or ShadowRoot into which element DOM should be rendered. Defaults\n * to an open shadowRoot.\n * @category rendering\n */\n readonly renderRoot!: HTMLElement | DocumentFragment;\n\n /**\n * Returns the property name for the given attribute `name`.\n * @nocollapse\n */\n private static __attributeNameForProperty(\n name: PropertyKey,\n options: PropertyDeclaration\n ) {\n const attribute = options.attribute;\n return attribute === false\n ? undefined\n : typeof attribute === 'string'\n ? attribute\n : typeof name === 'string'\n ? name.toLowerCase()\n : undefined;\n }\n\n // Initialize to an unresolved Promise so we can make sure the element has\n // connected before first update.\n private __updatePromise!: Promise<boolean>;\n\n /**\n * True if there is a pending update as a result of calling `requestUpdate()`.\n * Should only be read.\n * @category updates\n */\n isUpdatePending = false;\n\n /**\n * Is set to `true` after the first update. The element code cannot assume\n * that `renderRoot` exists before the element `hasUpdated`.\n * @category updates\n */\n hasUpdated = false;\n\n /**\n * Map with keys for any properties that have changed since the last\n * update cycle with previous values.\n *\n * @internal\n */\n _$changedProperties!: PropertyValues;\n\n /**\n * Properties that should be reflected when updated.\n */\n private __reflectingProperties?: Set<PropertyKey>;\n\n /**\n * Name of currently reflecting property\n */\n private __reflectingProperty: PropertyKey | null = null;\n\n /**\n * Set of controllers.\n */\n private __controllers?: Set<ReactiveController>;\n\n constructor() {\n super();\n this.__initialize();\n }\n\n /**\n * Internal only override point for customizing work done when elements\n * are constructed.\n */\n private __initialize() {\n this.__updatePromise = new Promise<boolean>(\n (res) => (this.enableUpdating = res)\n );\n this._$changedProperties = new Map();\n // This enqueues a microtask that ust run before the first update, so it\n // must be called before requestUpdate()\n this.__saveInstanceProperties();\n // ensures first update will be caught by an early access of\n // `updateComplete`\n this.requestUpdate();\n (this.constructor as typeof ReactiveElement)._initializers?.forEach((i) =>\n i(this)\n );\n }\n\n /**\n * Registers a `ReactiveController` to participate in the element's reactive\n * update cycle. The element automatically calls into any registered\n * controllers during its lifecycle callbacks.\n *\n * If the element is connected when `addController()` is called, the\n * controller's `hostConnected()` callback will be immediately called.\n * @category controllers\n */\n addController(controller: ReactiveController) {\n (this.__controllers ??= new Set()).add(controller);\n // If a controller is added after the element has been connected,\n // call hostConnected. Note, re-using existence of `renderRoot` here\n // (which is set in connectedCallback) to avoid the need to track a\n // first connected state.\n if (this.renderRoot !== undefined && this.isConnected) {\n controller.hostConnected?.();\n }\n }\n\n /**\n * Removes a `ReactiveController` from the element.\n * @category controllers\n */\n removeController(controller: ReactiveController) {\n this.__controllers?.delete(controller);\n }\n\n /**\n * Fixes any properties set on the instance before upgrade time.\n * Otherwise these would shadow the accessor and break these properties.\n * The properties are stored in a Map which is played back after the\n * constructor runs. Note, on very old versions of Safari (<=9) or Chrome\n * (<=41), properties created for native platform properties like (`id` or\n * `name`) may not have default values set in the element constructor. On\n * these browsers native properties appear on instances and therefore their\n * default value will overwrite any element default (e.g. if the element sets\n * this.id = 'id' in the constructor, the 'id' will become '' since this is\n * the native platform default).\n */\n private __saveInstanceProperties() {\n const instanceProperties = new Map<PropertyKey, unknown>();\n const elementProperties = (this.constructor as typeof ReactiveElement)\n .elementProperties;\n for (const p of elementProperties.keys() as IterableIterator<keyof this>) {\n if (this.hasOwnProperty(p)) {\n instanceProperties.set(p, this[p]);\n delete this[p];\n }\n }\n if (instanceProperties.size > 0) {\n this.__instanceProperties = instanceProperties;\n }\n }\n\n /**\n * Returns the node into which the element should render and by default\n * creates and returns an open shadowRoot. Implement to customize where the\n * element's DOM is rendered. For example, to render into the element's\n * childNodes, return `this`.\n *\n * @return Returns a node into which to render.\n * @category rendering\n */\n protected createRenderRoot(): HTMLElement | DocumentFragment {\n const renderRoot =\n this.shadowRoot ??\n this.attachShadow(\n (this.constructor as typeof ReactiveElement).shadowRootOptions\n );\n adoptStyles(\n renderRoot,\n (this.constructor as typeof ReactiveElement).elementStyles\n );\n return renderRoot;\n }\n\n /**\n * On first connection, creates the element's renderRoot, sets up\n * element styling, and enables updating.\n * @category lifecycle\n */\n connectedCallback() {\n // Create renderRoot before controllers `hostConnected`\n (this as Mutable<typeof this, 'renderRoot'>).renderRoot ??=\n this.createRenderRoot();\n this.enableUpdating(true);\n this.__controllers?.forEach((c) => c.hostConnected?.());\n }\n\n /**\n * Note, this method should be considered final and not overridden. It is\n * overridden on the element instance with a function that triggers the first\n * update.\n * @category updates\n */\n protected enableUpdating(_requestedUpdate: boolean) {}\n\n /**\n * Allows for `super.disconnectedCallback()` in extensions while\n * reserving the possibility of making non-breaking feature additions\n * when disconnecting at some point in the future.\n * @category lifecycle\n */\n disconnectedCallback() {\n this.__controllers?.forEach((c) => c.hostDisconnected?.());\n }\n\n /**\n * Synchronizes property values when attributes change.\n *\n * Specifically, when an attribute is set, the corresponding property is set.\n * You should rarely need to implement this callback. If this method is\n * overridden, `super.attributeChangedCallback(name, _old, value)` must be\n * called.\n *\n * See [using the lifecycle callbacks](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks)\n * on MDN for more information about the `attributeChangedCallback`.\n * @category attributes\n */\n attributeChangedCallback(\n name: string,\n _old: string | null,\n value: string | null\n ) {\n this._$attributeToProperty(name, value);\n }\n\n private __propertyToAttribute(name: PropertyKey, value: unknown) {\n const elemProperties: PropertyDeclarationMap = (\n this.constructor as typeof ReactiveElement\n ).elementProperties;\n const options = elemProperties.get(name)!;\n const attr = (\n this.constructor as typeof ReactiveElement\n ).__attributeNameForProperty(name, options);\n if (attr !== undefined && options.reflect === true) {\n const converter =\n (options.converter as ComplexAttributeConverter)?.toAttribute !==\n undefined\n ? (options.converter as ComplexAttributeConverter)\n : defaultConverter;\n const attrValue = converter.toAttribute!(value, options.type);\n if (\n DEV_MODE &&\n (this.constructor as typeof ReactiveElement).enabledWarnings!.includes(\n 'migration'\n ) &&\n attrValue === undefined\n ) {\n issueWarning(\n 'undefined-attribute-value',\n `The attribute value for the ${name as string} property is ` +\n `undefined on element ${this.localName}. The attribute will be ` +\n `removed, but in the previous version of \\`ReactiveElement\\`, ` +\n `the attribute would not have changed.`\n );\n }\n // Track if the property is being reflected to avoid\n // setting the property again via `attributeChangedCallback`. Note:\n // 1. this takes advantage of the fact that the callback is synchronous.\n // 2. will behave incorrectly if multiple attributes are in the reaction\n // stack at time of calling. However, since we process attributes\n // in `update` this should not be possible (or an extreme corner case\n // that we'd like to discover).\n // mark state reflecting\n this.__reflectingProperty = name;\n if (attrValue == null) {\n this.removeAttribute(attr);\n } else {\n this.setAttribute(attr, attrValue as string);\n }\n // mark state not reflecting\n this.__reflectingProperty = null;\n }\n }\n\n /** @internal */\n _$attributeToProperty(name: string, value: string | null) {\n const ctor = this.constructor as typeof ReactiveElement;\n // Note, hint this as an `AttributeMap` so closure clearly understands\n // the type; it has issues with tracking types through statics\n const propName = (ctor.__attributeToPropertyMap as AttributeMap).get(name);\n // Use tracking info to avoid reflecting a property value to an attribute\n // if it was just set because the attribute changed.\n if (propName !== undefined && this.__reflectingProperty !== propName) {\n const options = ctor.getPropertyOptions(propName);\n const converter =\n typeof options.converter === 'function'\n ? {fromAttribute: options.converter}\n : options.converter?.fromAttribute !== undefined\n ? options.converter\n : defaultConverter;\n // mark state reflecting\n this.__reflectingProperty = propName;\n this[propName as keyof this] = converter.fromAttribute!(\n value,\n options.type\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ) as any;\n // mark state not reflecting\n this.__reflectingProperty = null;\n }\n }\n\n /**\n * Requests an update which is processed asynchronously. This should be called\n * when an element should update based on some state not triggered by setting\n * a reactive property. In this case, pass no arguments. It should also be\n * called when manually implementing a property setter. In this case, pass the\n * property `name` and `oldValue` to ensure that any configured property\n * options are honored.\n *\n * @param name name of requesting property\n * @param oldValue old value of requesting property\n * @param options property options to use instead of the previously\n * configured options\n * @category updates\n */\n requestUpdate(\n name?: PropertyKey,\n oldValue?: unknown,\n options?: PropertyDeclaration\n ): void {\n // If we have a property key, perform property update steps.\n if (name !== undefined) {\n if (DEV_MODE && (name as unknown) instanceof Event) {\n issueWarning(\n ``,\n `The requestUpdate() method was called with an Event as the property name. This is probably a mistake caused by binding this.requestUpdate as an event listener. Instead bind a function that will call it with no arguments: () => this.requestUpdate()`\n );\n }\n options ??= (\n this.constructor as typeof ReactiveElement\n ).getPropertyOptions(name);\n const hasChanged = options.hasChanged ?? notEqual;\n const newValue = this[name as keyof this];\n if (hasChanged(newValue, oldValue)) {\n this._$changeProperty(name, oldValue, options);\n } else {\n // Abort the request if the property should not be considered changed.\n return;\n }\n }\n if (this.isUpdatePending === false) {\n this.__updatePromise = this.__enqueueUpdate();\n }\n }\n\n /**\n * @internal\n */\n _$changeProperty(\n name: PropertyKey,\n oldValue: unknown,\n options: PropertyDeclaration\n ) {\n // TODO (justinfagnani): Create a benchmark of Map.has() + Map.set(\n // vs just Map.set()\n if (!this._$changedProperties.has(name)) {\n this._$changedProperties.set(name, oldValue);\n }\n // Add to reflecting properties set.\n // Note, it's important that every change has a chance to add the\n // property to `__reflectingProperties`. This ensures setting\n // attribute + property reflects correctly.\n if (options.reflect === true && this.__reflectingProperty !== name) {\n (this.__reflectingProperties ??= new Set<PropertyKey>()).add(name);\n }\n }\n\n /**\n * Sets up the element to asynchronously update.\n */\n private async __enqueueUpdate() {\n this.isUpdatePending = true;\n try {\n // Ensure any previous update has resolved before updating.\n // This `await` also ensures that property changes are batched.\n await this.__updatePromise;\n } catch (e) {\n // Refire any previous errors async so they do not disrupt the update\n // cycle. Errors are refired so developers have a chance to observe\n // them, and this can be done by implementing\n // `window.onunhandledrejection`.\n Promise.reject(e);\n }\n const result = this.scheduleUpdate();\n // If `scheduleUpdate` returns a Promise, we await it. This is done to\n // enable coordinating updates with a scheduler. Note, the result is\n // checked to avoid delaying an additional microtask unless we need to.\n if (result != null) {\n await result;\n }\n return !this.isUpdatePending;\n }\n\n /**\n * Schedules an element update. You can override this method to change the\n * timing of updates by returning a Promise. The update will await the\n * returned Promise, and you should resolve the Promise to allow the update\n * to proceed. If this method is overridden, `super.scheduleUpdate()`\n * must be called.\n *\n * For instance, to schedule updates to occur just before the next frame:\n *\n * ```ts\n * override protected async scheduleUpdate(): Promise<unknown> {\n * await new Promise((resolve) => requestAnimationFrame(() => resolve()));\n * super.scheduleUpdate();\n * }\n * ```\n * @category updates\n */\n protected scheduleUpdate(): void | Promise<unknown> {\n const result = this.performUpdate();\n if (\n DEV_MODE &&\n (this.constructor as typeof ReactiveElement).enabledWarnings!.includes(\n 'async-perform-update'\n ) &&\n typeof (result as unknown as Promise<unknown> | undefined)?.then ===\n 'function'\n ) {\n issueWarning(\n 'async-perform-update',\n `Element ${this.localName} returned a Promise from performUpdate(). ` +\n `This behavior is deprecated and will be removed in a future ` +\n `version of ReactiveElement.`\n );\n }\n return result;\n }\n\n /**\n * Performs an element update. Note, if an exception is thrown during the\n * update, `firstUpdated` and `updated` will not be called.\n *\n * Call `performUpdate()` to immediately process a pending update. This should\n * generally not be needed, but it can be done in rare cases when you need to\n * update synchronously.\n *\n * @category updates\n */\n protected performUpdate(): void {\n // Abort any update if one is not pending when this is called.\n // This can happen if `performUpdate` is called early to \"flush\"\n // the update.\n if (!this.isUpdatePending) {\n return;\n }\n debugLogEvent?.({kind: 'update'});\n if (!this.hasUpdated) {\n // Create renderRoot before first update. This occurs in `connectedCallback`\n // but is done here to support out of tree calls to `enableUpdating`/`performUpdate`.\n (this as Mutable<typeof this, 'renderRoot'>).renderRoot ??=\n this.createRenderRoot();\n if (DEV_MODE) {\n // Produce warning if any reactive properties on the prototype are\n // shadowed by class fields. Instance fields set before upgrade are\n // deleted by this point, so any own property is caused by class field\n // initialization in the constructor.\n const ctor = this.constructor as typeof ReactiveElement;\n const shadowedProperties = [...ctor.elementProperties.keys()].filter(\n (p) => this.hasOwnProperty(p) && p in getPrototypeOf(this)\n );\n if (shadowedProperties.length) {\n throw new Error(\n `The following properties on element ${this.localName} will not ` +\n `trigger updates as expected because they are set using class ` +\n `fields: ${shadowedProperties.join(', ')}. ` +\n `Native class fields and some compiled output will overwrite ` +\n `accessors used for detecting changes. See ` +\n `https://lit.dev/msg/class-field-shadowing ` +\n `for more information.`\n );\n }\n }\n // Mixin instance properties once, if they exist.\n if (this.__instanceProperties) {\n // TODO (justinfagnani): should we use the stored value? Could a new value\n // have been set since we stored the own property value?\n for (const [p, value] of this.__instanceProperties) {\n this[p as keyof this] = value as this[keyof this];\n }\n this.__instanceProperties = undefined;\n }\n // Trigger initial value reflection and populate the initial\n // changedProperties map, but only for the case of experimental\n // decorators on accessors, which will not have already populated the\n // changedProperties map. We can't know if these accessors had\n // initializers, so we just set them anyway - a difference from\n // experimental decorators on fields and standard decorators on\n // auto-accessors.\n // For context why experimentalDecorators with auto accessors are handled\n // specifically also see:\n // https://github.com/lit/lit/pull/4183#issuecomment-1711959635\n const elementProperties = (this.constructor as typeof ReactiveElement)\n .elementProperties;\n if (elementProperties.size > 0) {\n for (const [p, options] of elementProperties) {\n if (\n options.wrapped === true &&\n !this._$changedProperties.has(p) &&\n this[p as keyof this] !== undefined\n ) {\n this._$changeProperty(p, this[p as keyof this], options);\n }\n }\n }\n }\n let shouldUpdate = false;\n const changedProperties = this._$changedProperties;\n try {\n shouldUpdate = this.shouldUpdate(changedProperties);\n if (shouldUpdate) {\n this.willUpdate(changedProperties);\n this.__controllers?.forEach((c) => c.hostUpdate?.());\n this.update(changedProperties);\n } else {\n this.__markUpdated();\n }\n } catch (e) {\n // Prevent `firstUpdated` and `updated` from running when there's an\n // update exception.\n shouldUpdate = false;\n // Ensure element can accept additional updates after an exception.\n this.__markUpdated();\n throw e;\n }\n // The update is no longer considered pending and further updates are now allowed.\n if (shouldUpdate) {\n this._$didUpdate(changedProperties);\n }\n }\n\n /**\n * Invoked before `update()` to compute values needed during the update.\n *\n * Implement `willUpdate` to compute property values that depend on other\n * properties and are used in the rest of the update process.\n *\n * ```ts\n * willUpdate(changedProperties) {\n * // only need to check changed properties for an expensive computation.\n * if (changedProperties.has('firstName') || changedProperties.has('lastName')) {\n * this.sha = computeSHA(`${this.firstName} ${this.lastName}`);\n * }\n * }\n *\n * render() {\n * return html`SHA: ${this.sha}`;\n * }\n * ```\n *\n * @category updates\n */\n protected willUpdate(_changedProperties: PropertyValues): void {}\n\n // Note, this is an override point for polyfill-support.\n // @internal\n _$didUpdate(changedProperties: PropertyValues) {\n this.__controllers?.forEach((c) => c.hostUpdated?.());\n if (!this.hasUpdated) {\n this.hasUpdated = true;\n this.firstUpdated(changedProperties);\n }\n this.updated(changedProperties);\n if (\n DEV_MODE &&\n this.isUpdatePending &&\n (this.constructor as typeof ReactiveElement).enabledWarnings!.includes(\n 'change-in-update'\n )\n ) {\n issueWarning(\n 'change-in-update',\n `Element ${this.localName} scheduled an update ` +\n `(generally because a property was set) ` +\n `after an update completed, causing a new update to be scheduled. ` +\n `This is inefficient and should be avoided unless the next update ` +\n `can only be scheduled as a side effect of the previous update.`\n );\n }\n }\n\n private __markUpdated() {\n this._$changedProperties = new Map();\n this.isUpdatePending = false;\n }\n\n /**\n * Returns a Promise that resolves when the element has completed updating.\n * The Promise value is a boolean that is `true` if the element completed the\n * update without triggering another update. The Promise result is `false` if\n * a property was set inside `updated()`. If the Promise is rejected, an\n * exception was thrown during the update.\n *\n * To await additional asynchronous work, override the `getUpdateComplete`\n * method. For example, it is sometimes useful to await a rendered element\n * before fulfilling this Promise. To do this, first await\n * `super.getUpdateComplete()`, then any subsequent state.\n *\n * @return A promise of a boolean that resolves to true if the update completed\n * without triggering another update.\n * @category updates\n */\n get updateComplete(): Promise<boolean> {\n return this.getUpdateComplete();\n }\n\n /**\n * Override point for the `updateComplete` promise.\n *\n * It is not safe to override the `updateComplete` getter directly due to a\n * limitation in TypeScript which means it is not possible to call a\n * superclass getter (e.g. `super.updateComplete.then(...)`) when the target\n * language is ES5 (https://github.com/microsoft/TypeScript/issues/338).\n * This method should be overridden instead. For example:\n *\n * ```ts\n * class MyElement extends LitElement {\n * override async getUpdateComplete() {\n * const result = await super.getUpdateComplete();\n * await this._myChild.updateComplete;\n * return result;\n * }\n * }\n * ```\n *\n * @return A promise of a boolean that resolves to true if the update completed\n * without triggering another update.\n * @category updates\n */\n protected getUpdateComplete(): Promise<boolean> {\n return this.__updatePromise;\n }\n\n /**\n * Controls whether or not `update()` should be called when the element requests\n * an update. By default, this method always returns `true`, but this can be\n * customized to control when to update.\n *\n * @param _changedProperties Map of changed properties with old values\n * @category updates\n */\n protected shouldUpdate(_changedProperties: PropertyValues): boolean {\n return true;\n }\n\n /**\n * Updates the element. This method reflects property values to attributes.\n * It can be overridden to render and keep updated element DOM.\n * Setting properties inside this method will *not* trigger\n * another update.\n *\n * @param _changedProperties Map of changed properties with old values\n * @category updates\n */\n protected update(_changedProperties: PropertyValues) {\n // The forEach() expression will only run when when __reflectingProperties is\n // defined, and it returns undefined, setting __reflectingProperties to\n // undefined\n this.__reflectingProperties &&= this.__reflectingProperties.forEach((p) =>\n this.__propertyToAttribute(p, this[p as keyof this])\n ) as undefined;\n this.__markUpdated();\n }\n\n /**\n * Invoked whenever the element is updated. Implement to perform\n * post-updating tasks via DOM APIs, for example, focusing an element.\n *\n * Setting properties inside this method will trigger the element to update\n * again after this update cycle completes.\n *\n * @param _changedProperties Map of changed properties with old values\n * @category updates\n */\n protected updated(_changedProperties: PropertyValues) {}\n\n /**\n * Invoked when the element is first updated. Implement to perform one time\n * work on the element after update.\n *\n * ```ts\n * firstUpdated() {\n * this.renderRoot.getElementById('my-text-area').focus();\n * }\n * ```\n *\n * Setting properties inside this method will trigger the element to update\n * again after this update cycle completes.\n *\n * @param _changedProperties Map of changed properties with old values\n * @category updates\n */\n protected firstUpdated(_changedProperties: PropertyValues) {}\n}\n// Assigned here to work around a jscompiler bug with static fields\n// when compiling to ES5.\n// https://github.com/google/closure-compiler/issues/3177\n(ReactiveElement as unknown as Record<string, unknown>)[\n JSCompiler_renameProperty('elementProperties', ReactiveElement)\n] = new Map();\n(ReactiveElement as unknown as Record<string, unknown>)[\n JSCompiler_renameProperty('finalized', ReactiveElement)\n] = new Map();\n\n// Apply polyfills if available\npolyfillSupport?.({ReactiveElement});\n\n// Dev mode warnings...\nif (DEV_MODE) {\n // Default warning set.\n ReactiveElement.enabledWarnings = [\n 'change-in-update',\n 'async-perform-update',\n ];\n const ensureOwnWarnings = function (ctor: typeof ReactiveElement) {\n if (\n !ctor.hasOwnProperty(JSCompiler_renameProperty('enabledWarnings', ctor))\n ) {\n ctor.enabledWarnings = ctor.enabledWarnings!.slice();\n }\n };\n ReactiveElement.enableWarning = function (\n this: typeof ReactiveElement,\n warning: WarningKind\n ) {\n ensureOwnWarnings(this);\n if (!this.enabledWarnings!.includes(warning)) {\n this.enabledWarnings!.push(warning);\n }\n };\n ReactiveElement.disableWarning = function (\n this: typeof ReactiveElement,\n warning: WarningKind\n ) {\n ensureOwnWarnings(this);\n const i = this.enabledWarnings!.indexOf(warning);\n if (i >= 0) {\n this.enabledWarnings!.splice(i, 1);\n }\n };\n}\n\n// IMPORTANT: do not change the property name or the assignment expression.\n// This line will be used in regexes to search for ReactiveElement usage.\n(global.reactiveElementVersions ??= []).push('2.0.4');\nif (DEV_MODE && global.reactiveElementVersions.length > 1) {\n issueWarning!(\n 'multiple-versions',\n `Multiple versions of Lit loaded. Loading multiple versions ` +\n `is not recommended.`\n );\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nconst NODE_MODE = false;\n\n// Allows minifiers to rename references to globalThis\nconst global = globalThis;\n\n/**\n * Whether the current browser supports `adoptedStyleSheets`.\n */\nexport const supportsAdoptingStyleSheets: boolean =\n global.ShadowRoot &&\n (global.ShadyCSS === undefined || global.ShadyCSS.nativeShadow) &&\n 'adoptedStyleSheets' in Document.prototype &&\n 'replace' in CSSStyleSheet.prototype;\n\n/**\n * A CSSResult or native CSSStyleSheet.\n *\n * In browsers that support constructible CSS style sheets, CSSStyleSheet\n * object can be used for styling along side CSSResult from the `css`\n * template tag.\n */\nexport type CSSResultOrNative = CSSResult | CSSStyleSheet;\n\nexport type CSSResultArray = Array<CSSResultOrNative | CSSResultArray>;\n\n/**\n * A single CSSResult, CSSStyleSheet, or an array or nested arrays of those.\n */\nexport type CSSResultGroup = CSSResultOrNative | CSSResultArray;\n\nconst constructionToken = Symbol();\n\nconst cssTagCache = new WeakMap<TemplateStringsArray, CSSStyleSheet>();\n\n/**\n * A container for a string of CSS text, that may be used to create a CSSStyleSheet.\n *\n * CSSResult is the return value of `css`-tagged template literals and\n * `unsafeCSS()`. In order to ensure that CSSResults are only created via the\n * `css` tag and `unsafeCSS()`, CSSResult cannot be constructed directly.\n */\nexport class CSSResult {\n // This property needs to remain unminified.\n ['_$cssResult$'] = true;\n readonly cssText: string;\n private _styleSheet?: CSSStyleSheet;\n private _strings: TemplateStringsArray | undefined;\n\n private constructor(\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ) {\n if (safeToken !== constructionToken) {\n throw new Error(\n 'CSSResult is not constructable. Use `unsafeCSS` or `css` instead.'\n );\n }\n this.cssText = cssText;\n this._strings = strings;\n }\n\n // This is a getter so that it's lazy. In practice, this means stylesheets\n // are not created until the first element instance is made.\n get styleSheet(): CSSStyleSheet | undefined {\n // If `supportsAdoptingStyleSheets` is true then we assume CSSStyleSheet is\n // constructable.\n let styleSheet = this._styleSheet;\n const strings = this._strings;\n if (supportsAdoptingStyleSheets && styleSheet === undefined) {\n const cacheable = strings !== undefined && strings.length === 1;\n if (cacheable) {\n styleSheet = cssTagCache.get(strings);\n }\n if (styleSheet === undefined) {\n (this._styleSheet = styleSheet = new CSSStyleSheet()).replaceSync(\n this.cssText\n );\n if (cacheable) {\n cssTagCache.set(strings, styleSheet);\n }\n }\n }\n return styleSheet;\n }\n\n toString(): string {\n return this.cssText;\n }\n}\n\ntype ConstructableCSSResult = CSSResult & {\n new (\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ): CSSResult;\n};\n\nconst textFromCSSResult = (value: CSSResultGroup | number) => {\n // This property needs to remain unminified.\n if ((value as CSSResult)['_$cssResult$'] === true) {\n return (value as CSSResult).cssText;\n } else if (typeof value === 'number') {\n return value;\n } else {\n throw new Error(\n `Value passed to 'css' function must be a 'css' function result: ` +\n `${value}. Use 'unsafeCSS' to pass non-literal values, but take care ` +\n `to ensure page security.`\n );\n }\n};\n\n/**\n * Wrap a value for interpolation in a {@linkcode css} tagged template literal.\n *\n * This is unsafe because untrusted CSS text can be used to phone home\n * or exfiltrate data to an attacker controlled site. Take care to only use\n * this with trusted input.\n */\nexport const unsafeCSS = (value: unknown) =>\n new (CSSResult as ConstructableCSSResult)(\n typeof value === 'string' ? value : String(value),\n undefined,\n constructionToken\n );\n\n/**\n * A template literal tag which can be used with LitElement's\n * {@linkcode LitElement.styles} property to set element styles.\n *\n * For security reasons, only literal string values and number may be used in\n * embedded expressions. To incorporate non-literal values {@linkcode unsafeCSS}\n * may be used inside an expression.\n */\nexport const css = (\n strings: TemplateStringsArray,\n ...values: (CSSResultGroup | number)[]\n): CSSResult => {\n const cssText =\n strings.length === 1\n ? strings[0]\n : values.reduce(\n (acc, v, idx) => acc + textFromCSSResult(v) + strings[idx + 1],\n strings[0]\n );\n return new (CSSResult as ConstructableCSSResult)(\n cssText,\n strings,\n constructionToken\n );\n};\n\n/**\n * Applies the given styles to a `shadowRoot`. When Shadow DOM is\n * available but `adoptedStyleSheets` is not, styles are appended to the\n * `shadowRoot` to [mimic spec behavior](https://wicg.github.io/construct-stylesheets/#using-constructed-stylesheets).\n * Note, when shimming is used, any styles that are subsequently placed into\n * the shadowRoot should be placed *before* any shimmed adopted styles. This\n * will match spec behavior that gives adopted sheets precedence over styles in\n * shadowRoot.\n */\nexport const adoptStyles = (\n renderRoot: ShadowRoot,\n styles: Array<CSSResultOrNative>\n) => {\n if (supportsAdoptingStyleSheets) {\n (renderRoot as ShadowRoot).adoptedStyleSheets = styles.map((s) =>\n s instanceof CSSStyleSheet ? s : s.styleSheet!\n );\n } else {\n for (const s of styles) {\n const style = document.createElement('style');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const nonce = (global as any)['litNonce'];\n if (nonce !== undefined) {\n style.setAttribute('nonce', nonce);\n }\n style.textContent = (s as CSSResult).cssText;\n renderRoot.appendChild(style);\n }\n }\n};\n\nconst cssResultFromStyleSheet = (sheet: CSSStyleSheet) => {\n let cssText = '';\n for (const rule of sheet.cssRules) {\n cssText += rule.cssText;\n }\n return unsafeCSS(cssText);\n};\n\nexport const getCompatibleStyle =\n supportsAdoptingStyleSheets ||\n (NODE_MODE && global.CSSStyleSheet === undefined)\n ? (s: CSSResultOrNative) => s\n : (s: CSSResultOrNative) =>\n s instanceof CSSStyleSheet ? cssResultFromStyleSheet(s) : s;\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.2.1\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n// IMPORTANT: these imports must be type-only\nimport type {Directive, DirectiveResult, PartInfo} from './directive.js';\nimport type {TrustedHTML, TrustedTypesWindow} from 'trusted-types/lib';\n\nconst DEV_MODE = true;\nconst ENABLE_EXTRA_SECURITY_HOOKS = true;\nconst ENABLE_SHADYDOM_NOPATCH = true;\nconst NODE_MODE = false;\n\n// Allows minifiers to rename references to globalThis\nconst global = globalThis;\n\n/**\n * Contains types that are part of the unstable debug API.\n *\n * Everything in this API is not stable and may change or be removed in the future,\n * even on patch releases.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace LitUnstable {\n /**\n * When Lit is running in dev mode and `window.emitLitDebugLogEvents` is true,\n * we will emit 'lit-debug' events to window, with live details about the update and render\n * lifecycle. These can be useful for writing debug tooling and visualizations.\n *\n * Please be aware that running with window.emitLitDebugLogEvents has performance overhead,\n * making certain operations that are normally very cheap (like a no-op render) much slower,\n * because we must copy data and dispatch events.\n */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace DebugLog {\n export type Entry =\n | TemplatePrep\n | TemplateInstantiated\n | TemplateInstantiatedAndUpdated\n | TemplateUpdating\n | BeginRender\n | EndRender\n | CommitPartEntry\n | SetPartValue;\n export interface TemplatePrep {\n kind: 'template prep';\n template: Template;\n strings: TemplateStringsArray;\n clonableTemplate: HTMLTemplateElement;\n parts: TemplatePart[];\n }\n export interface BeginRender {\n kind: 'begin render';\n id: number;\n value: unknown;\n container: HTMLElement | DocumentFragment;\n options: RenderOptions | undefined;\n part: ChildPart | undefined;\n }\n export interface EndRender {\n kind: 'end render';\n id: number;\n value: unknown;\n container: HTMLElement | DocumentFragment;\n options: RenderOptions | undefined;\n part: ChildPart;\n }\n export interface TemplateInstantiated {\n kind: 'template instantiated';\n template: Template | CompiledTemplate;\n instance: TemplateInstance;\n options: RenderOptions | undefined;\n fragment: Node;\n parts: Array<Part | undefined>;\n values: unknown[];\n }\n export interface TemplateInstantiatedAndUpdated {\n kind: 'template instantiated and updated';\n template: Template | CompiledTemplate;\n instance: TemplateInstance;\n options: RenderOptions | undefined;\n fragment: Node;\n parts: Array<Part | undefined>;\n values: unknown[];\n }\n export interface TemplateUpdating {\n kind: 'template updating';\n template: Template | CompiledTemplate;\n instance: TemplateInstance;\n options: RenderOptions | undefined;\n parts: Array<Part | undefined>;\n values: unknown[];\n }\n export interface SetPartValue {\n kind: 'set part';\n part: Part;\n value: unknown;\n valueIndex: number;\n values: unknown[];\n templateInstance: TemplateInstance;\n }\n\n export type CommitPartEntry =\n | CommitNothingToChildEntry\n | CommitText\n | CommitNode\n | CommitAttribute\n | CommitProperty\n | CommitBooleanAttribute\n | CommitEventListener\n | CommitToElementBinding;\n\n export interface CommitNothingToChildEntry {\n kind: 'commit nothing to child';\n start: ChildNode;\n end: ChildNode | null;\n parent: Disconnectable | undefined;\n options: RenderOptions | undefined;\n }\n\n export interface CommitText {\n kind: 'commit text';\n node: Text;\n value: unknown;\n options: RenderOptions | undefined;\n }\n\n export interface CommitNode {\n kind: 'commit node';\n start: Node;\n parent: Disconnectable | undefined;\n value: Node;\n options: RenderOptions | undefined;\n }\n\n export interface CommitAttribute {\n kind: 'commit attribute';\n element: Element;\n name: string;\n value: unknown;\n options: RenderOptions | undefined;\n }\n\n export interface CommitProperty {\n kind: 'commit property';\n element: Element;\n name: string;\n value: unknown;\n options: RenderOptions | undefined;\n }\n\n export interface CommitBooleanAttribute {\n kind: 'commit boolean attribute';\n element: Element;\n name: string;\n value: boolean;\n options: RenderOptions | undefined;\n }\n\n export interface CommitEventListener {\n kind: 'commit event listener';\n element: Element;\n name: string;\n value: unknown;\n oldListener: unknown;\n options: RenderOptions | undefined;\n // True if we're removing the old event listener (e.g. because settings changed, or value is nothing)\n removeListener: boolean;\n // True if we're adding a new event listener (e.g. because first render, or settings changed)\n addListener: boolean;\n }\n\n export interface CommitToElementBinding {\n kind: 'commit to element binding';\n element: Element;\n value: unknown;\n options: RenderOptions | undefined;\n }\n }\n}\n\ninterface DebugLoggingWindow {\n // Even in dev mode, we generally don't want to emit these events, as that's\n // another level of cost, so only emit them when DEV_MODE is true _and_ when\n // window.emitLitDebugEvents is true.\n emitLitDebugLogEvents?: boolean;\n}\n\n/**\n * Useful for visualizing and logging insights into what the Lit template system is doing.\n *\n * Compiled out of prod mode builds.\n */\nconst debugLogEvent = DEV_MODE\n ? (event: LitUnstable.DebugLog.Entry) => {\n const shouldEmit = (global as unknown as DebugLoggingWindow)\n .emitLitDebugLogEvents;\n if (!shouldEmit) {\n return;\n }\n global.dispatchEvent(\n new CustomEvent<LitUnstable.DebugLog.Entry>('lit-debug', {\n detail: event,\n })\n );\n }\n : undefined;\n// Used for connecting beginRender and endRender events when there are nested\n// renders when errors are thrown preventing an endRender event from being\n// called.\nlet debugLogRenderId = 0;\n\nlet issueWarning: (code: string, warning: string) => void;\n\nif (DEV_MODE) {\n global.litIssuedWarnings ??= new Set();\n\n // Issue a warning, if we haven't already.\n issueWarning = (code: string, warning: string) => {\n warning += code\n ? ` See https://lit.dev/msg/${code} for more information.`\n : '';\n if (!global.litIssuedWarnings!.has(warning)) {\n console.warn(warning);\n global.litIssuedWarnings!.add(warning);\n }\n };\n\n issueWarning(\n 'dev-mode',\n `Lit is in dev mode. Not recommended for production!`\n );\n}\n\nconst wrap =\n ENABLE_SHADYDOM_NOPATCH &&\n global.ShadyDOM?.inUse &&\n global.ShadyDOM?.noPatch === true\n ? (global.ShadyDOM!.wrap as <T extends Node>(node: T) => T)\n : <T extends Node>(node: T) => node;\n\nconst trustedTypes = (global as unknown as TrustedTypesWindow).trustedTypes;\n\n/**\n * Our TrustedTypePolicy for HTML which is declared using the html template\n * tag function.\n *\n * That HTML is a developer-authored constant, and is parsed with innerHTML\n * before any untrusted expressions have been mixed in. Therefor it is\n * considered safe by construction.\n */\nconst policy = trustedTypes\n ? trustedTypes.createPolicy('lit-html', {\n createHTML: (s) => s,\n })\n : undefined;\n\n/**\n * Used to sanitize any value before it is written into the DOM. This can be\n * used to implement a security policy of allowed and disallowed values in\n * order to prevent XSS attacks.\n *\n * One way of using this callback would be to check attributes and properties\n * against a list of high risk fields, and require that values written to such\n * fields be instances of a class which is safe by construction. Closure's Safe\n * HTML Types is one implementation of this technique (\n * https://github.com/google/safe-html-types/blob/master/doc/safehtml-types.md).\n * The TrustedTypes polyfill in API-only mode could also be used as a basis\n * for this technique (https://github.com/WICG/trusted-types).\n *\n * @param node The HTML node (usually either a #text node or an Element) that\n * is being written to. Note that this is just an exemplar node, the write\n * may take place against another instance of the same class of node.\n * @param name The name of an attribute or property (for example, 'href').\n * @param type Indicates whether the write that's about to be performed will\n * be to a property or a node.\n * @return A function that will sanitize this class of writes.\n */\nexport type SanitizerFactory = (\n node: Node,\n name: string,\n type: 'property' | 'attribute'\n) => ValueSanitizer;\n\n/**\n * A function which can sanitize values that will be written to a specific kind\n * of DOM sink.\n *\n * See SanitizerFactory.\n *\n * @param value The value to sanitize. Will be the actual value passed into\n * the lit-html template literal, so this could be of any type.\n * @return The value to write to the DOM. Usually the same as the input value,\n * unless sanitization is needed.\n */\nexport type ValueSanitizer = (value: unknown) => unknown;\n\nconst identityFunction: ValueSanitizer = (value: unknown) => value;\nconst noopSanitizer: SanitizerFactory = (\n _node: Node,\n _name: string,\n _type: 'property' | 'attribute'\n) => identityFunction;\n\n/** Sets the global sanitizer factory. */\nconst setSanitizer = (newSanitizer: SanitizerFactory) => {\n if (!ENABLE_EXTRA_SECURITY_HOOKS) {\n return;\n }\n if (sanitizerFactoryInternal !== noopSanitizer) {\n throw new Error(\n `Attempted to overwrite existing lit-html security policy.` +\n ` setSanitizeDOMValueFactory should be called at most once.`\n );\n }\n sanitizerFactoryInternal = newSanitizer;\n};\n\n/**\n * Only used in internal tests, not a part of the public API.\n */\nconst _testOnlyClearSanitizerFactoryDoNotCallOrElse = () => {\n sanitizerFactoryInternal = noopSanitizer;\n};\n\nconst createSanitizer: SanitizerFactory = (node, name, type) => {\n return sanitizerFactoryInternal(node, name, type);\n};\n\n// Added to an attribute name to mark the attribute as bound so we can find\n// it easily.\nconst boundAttributeSuffix = '$lit$';\n\n// This marker is used in many syntactic positions in HTML, so it must be\n// a valid element name and attribute name. We don't support dynamic names (yet)\n// but this at least ensures that the parse tree is closer to the template\n// intention.\nconst marker = `lit$${Math.random().toFixed(9).slice(2)}$`;\n\n// String used to tell if a comment is a marker comment\nconst markerMatch = '?' + marker;\n\n// Text used to insert a comment marker node. We use processing instruction\n// syntax because it's slightly smaller, but parses as a comment node.\nconst nodeMarker = `<${markerMatch}>`;\n\nconst d =\n NODE_MODE && global.document === undefined\n ? ({\n createTreeWalker() {\n return {};\n },\n } as unknown as Document)\n : document;\n\n// Creates a dynamic marker. We never have to search for these in the DOM.\nconst createMarker = () => d.createComment('');\n\n// https://tc39.github.io/ecma262/#sec-typeof-operator\ntype Primitive = null | undefined | boolean | number | string | symbol | bigint;\nconst isPrimitive = (value: unknown): value is Primitive =>\n value === null || (typeof value != 'object' && typeof value != 'function');\nconst isArray = Array.isArray;\nconst isIterable = (value: unknown): value is Iterable<unknown> =>\n isArray(value) ||\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n typeof (value as any)?.[Symbol.iterator] === 'function';\n\nconst SPACE_CHAR = `[ \\t\\n\\f\\r]`;\nconst ATTR_VALUE_CHAR = `[^ \\t\\n\\f\\r\"'\\`<>=]`;\nconst NAME_CHAR = `[^\\\\s\"'>=/]`;\n\n// These regexes represent the five parsing states that we care about in the\n// Template's HTML scanner. They match the *end* of the state they're named\n// after.\n// Depending on the match, we transition to a new state. If there's no match,\n// we stay in the same state.\n// Note that the regexes are stateful. We utilize lastIndex and sync it\n// across the multiple regexes used. In addition to the five regexes below\n// we also dynamically create a regex to find the matching end tags for raw\n// text elements.\n\n/**\n * End of text is: `<` followed by:\n * (comment start) or (tag) or (dynamic tag binding)\n */\nconst textEndRegex = /<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g;\nconst COMMENT_START = 1;\nconst TAG_NAME = 2;\nconst DYNAMIC_TAG_NAME = 3;\n\nconst commentEndRegex = /-->/g;\n/**\n * Comments not started with <!--, like </{, can be ended by a single `>`\n */\nconst comment2EndRegex = />/g;\n\n/**\n * The tagEnd regex matches the end of the \"inside an opening\" tag syntax\n * position. It either matches a `>`, an attribute-like sequence, or the end\n * of the string after a space (attribute-name position ending).\n *\n * See attributes in the HTML spec:\n * https://www.w3.org/TR/html5/syntax.html#elements-attributes\n *\n * \" \\t\\n\\f\\r\" are HTML space characters:\n * https://infra.spec.whatwg.org/#ascii-whitespace\n *\n * So an attribute is:\n * * The name: any character except a whitespace character, (\"), ('), \">\",\n * \"=\", or \"/\". Note: this is different from the HTML spec which also excludes control characters.\n * * Followed by zero or more space characters\n * * Followed by \"=\"\n * * Followed by zero or more space characters\n * * Followed by:\n * * Any character except space, ('), (\"), \"<\", \">\", \"=\", (`), or\n * * (\") then any non-(\"), or\n * * (') then any non-(')\n */\nconst tagEndRegex = new RegExp(\n `>|${SPACE_CHAR}(?:(${NAME_CHAR}+)(${SPACE_CHAR}*=${SPACE_CHAR}*(?:${ATTR_VALUE_CHAR}|(\"|')|))|$)`,\n 'g'\n);\nconst ENTIRE_MATCH = 0;\nconst ATTRIBUTE_NAME = 1;\nconst SPACES_AND_EQUALS = 2;\nconst QUOTE_CHAR = 3;\n\nconst singleQuoteAttrEndRegex = /'/g;\nconst doubleQuoteAttrEndRegex = /\"/g;\n/**\n * Matches the raw text elements.\n *\n * Comments are not parsed within raw text elements, so we need to search their\n * text content for marker strings.\n */\nconst rawTextElement = /^(?:script|style|textarea|title)$/i;\n\n/** TemplateResult types */\nconst HTML_RESULT = 1;\nconst SVG_RESULT = 2;\nconst MATHML_RESULT = 3;\n\ntype ResultType = typeof HTML_RESULT | typeof SVG_RESULT | typeof MATHML_RESULT;\n\n// TemplatePart types\n// IMPORTANT: these must match the values in PartType\nconst ATTRIBUTE_PART = 1;\nconst CHILD_PART = 2;\nconst PROPERTY_PART = 3;\nconst BOOLEAN_ATTRIBUTE_PART = 4;\nconst EVENT_PART = 5;\nconst ELEMENT_PART = 6;\nconst COMMENT_PART = 7;\n\n/**\n * The return type of the template tag functions, {@linkcode html} and\n * {@linkcode svg} when it hasn't been compiled by @lit-labs/compiler.\n *\n * A `TemplateResult` object holds all the information about a template\n * expression required to render it: the template strings, expression values,\n * and type of template (html or svg).\n *\n * `TemplateResult` objects do not create any DOM on their own. To create or\n * update DOM you need to render the `TemplateResult`. See\n * [Rendering](https://lit.dev/docs/components/rendering) for more information.\n *\n */\nexport type UncompiledTemplateResult<T extends ResultType = ResultType> = {\n // This property needs to remain unminified.\n ['_$litType$']: T;\n strings: TemplateStringsArray;\n values: unknown[];\n};\n\n/**\n * This is a template result that may be either uncompiled or compiled.\n *\n * In the future, TemplateResult will be this type. If you want to explicitly\n * note that a template result is potentially compiled, you can reference this\n * type and it will continue to behave the same through the next major version\n * of Lit. This can be useful for code that wants to prepare for the next\n * major version of Lit.\n */\nexport type MaybeCompiledTemplateResult<T extends ResultType = ResultType> =\n | UncompiledTemplateResult<T>\n | CompiledTemplateResult;\n\n/**\n * The return type of the template tag functions, {@linkcode html} and\n * {@linkcode svg}.\n *\n * A `TemplateResult` object holds all the information about a template\n * expression required to render it: the template strings, expression values,\n * and type of template (html or svg).\n *\n * `TemplateResult` objects do not create any DOM on their own. To create or\n * update DOM you need to render the `TemplateResult`. See\n * [Rendering](https://lit.dev/docs/components/rendering) for more information.\n *\n * In Lit 4, this type will be an alias of\n * MaybeCompiledTemplateResult, so that code will get type errors if it assumes\n * that Lit templates are not compiled. When deliberately working with only\n * one, use either {@linkcode CompiledTemplateResult} or\n * {@linkcode UncompiledTemplateResult} explicitly.\n */\nexport type TemplateResult<T extends ResultType = ResultType> =\n UncompiledTemplateResult<T>;\n\nexport type HTMLTemplateResult = TemplateResult<typeof HTML_RESULT>;\n\nexport type SVGTemplateResult = TemplateResult<typeof SVG_RESULT>;\n\nexport type MathMLTemplateResult = TemplateResult<typeof MATHML_RESULT>;\n\n/**\n * A TemplateResult that has been compiled by @lit-labs/compiler, skipping the\n * prepare step.\n */\nexport interface CompiledTemplateResult {\n // This is a factory in order to make template initialization lazy\n // and allow ShadyRenderOptions scope to be passed in.\n // This property needs to remain unminified.\n ['_$litType$']: CompiledTemplate;\n values: unknown[];\n}\n\nexport interface CompiledTemplate extends Omit<Template, 'el'> {\n // el is overridden to be optional. We initialize it on first render\n el?: HTMLTemplateElement;\n\n // The prepared HTML string to create a template element from.\n // The type is a TemplateStringsArray to guarantee that the value came from\n // source code, preventing a JSON injection attack.\n h: TemplateStringsArray;\n}\n\n/**\n * Generates a template literal tag function that returns a TemplateResult with\n * the given result type.\n */\nconst tag =\n <T extends ResultType>(type: T) =>\n (strings: TemplateStringsArray, ...values: unknown[]): TemplateResult<T> => {\n // Warn against templates octal escape sequences\n // We do this here rather than in render so that the warning is closer to the\n // template definition.\n if (DEV_MODE && strings.some((s) => s === undefined)) {\n console.warn(\n 'Some template strings are undefined.\\n' +\n 'This is probably caused by illegal octal escape sequences.'\n );\n }\n if (DEV_MODE) {\n // Import static-html.js results in a circular dependency which g3 doesn't\n // handle. Instead we know that static values must have the field\n // `_$litStatic$`.\n if (\n values.some((val) => (val as {_$litStatic$: unknown})?.['_$litStatic$'])\n ) {\n issueWarning(\n '',\n `Static values 'literal' or 'unsafeStatic' cannot be used as values to non-static templates.\\n` +\n `Please use the static 'html' tag function. See https://lit.dev/docs/templates/expressions/#static-expressions`\n );\n }\n }\n return {\n // This property needs to remain unminified.\n ['_$litType$']: type,\n strings,\n values,\n };\n };\n\n/**\n * Interprets a template literal as an HTML template that can efficiently\n * render to and update a container.\n *\n * ```ts\n * const header = (title: string) => html`<h1>${title}</h1>`;\n * ```\n *\n * The `html` tag returns a description of the DOM to render as a value. It is\n * lazy, meaning no work is done until the template is rendered. When rendering,\n * if a template comes from the same expression as a previously rendered result,\n * it's efficiently updated instead of replaced.\n */\nexport const html = tag(HTML_RESULT);\n\n/**\n * Interprets a template literal as an SVG fragment that can efficiently render\n * to and update a container.\n *\n * ```ts\n * const rect = svg`<rect width=\"10\" height=\"10\"></rect>`;\n *\n * const myImage = html`\n * <svg viewBox=\"0 0 10 10\" xmlns=\"http://www.w3.org/2000/svg/">\n * ${rect}\n * </svg>`;\n * ```\n *\n * The `svg` *tag function* should only be used for SVG fragments, or elements\n * that would be contained **inside** an `<svg>` HTML element. A common error is\n * placing an `<svg>` *element* in a template tagged with the `svg` tag\n * function. The `<svg>` element is an HTML element and should be used within a\n * template tagged with the {@linkcode html} tag function.\n *\n * In LitElement usage, it's invalid to return an SVG fragment from the\n * `render()` method, as the SVG fragment will be contained within the element's\n * shadow root and thus not be properly contained within an `<svg>` HTML\n * element.\n */\nexport const svg = tag(SVG_RESULT);\n\n/**\n * Interprets a template literal as MathML fragment that can efficiently render\n * to and update a container.\n *\n * ```ts\n * const num = mathml`<mn>1</mn>`;\n *\n * const eq = html`\n * <math>\n * ${num}\n * </math>`;\n * ```\n *\n * The `mathml` *tag function* should only be used for MathML fragments, or\n * elements that would be contained **inside** a `<math>` HTML element. A common\n * error is placing a `<math>` *element* in a template tagged with the `mathml`\n * tag function. The `<math>` element is an HTML element and should be used\n * within a template tagged with the {@linkcode html} tag function.\n *\n * In LitElement usage, it's invalid to return an MathML fragment from the\n * `render()` method, as the MathML fragment will be contained within the\n * element's shadow root and thus not be properly contained within a `<math>`\n * HTML element.\n */\nexport const mathml = tag(MATHML_RESULT);\n\n/**\n * A sentinel value that signals that a value was handled by a directive and\n * should not be written to the DOM.\n */\nexport const noChange = Symbol.for('lit-noChange');\n\n/**\n * A sentinel value that signals a ChildPart to fully clear its content.\n *\n * ```ts\n * const button = html`${\n * user.isAdmin\n * ? html`<button>DELETE</button>`\n * : nothing\n * }`;\n * ```\n *\n * Prefer using `nothing` over other falsy values as it provides a consistent\n * behavior between various expression binding contexts.\n *\n * In child expressions, `undefined`, `null`, `''`, and `nothing` all behave the\n * same and render no nodes. In attribute expressions, `nothing` _removes_ the\n * attribute, while `undefined` and `null` will render an empty string. In\n * property expressions `nothing` becomes `undefined`.\n */\nexport const nothing = Symbol.for('lit-nothing');\n\n/**\n * The cache of prepared templates, keyed by the tagged TemplateStringsArray\n * and _not_ accounting for the specific template tag used. This means that\n * template tags cannot be dynamic - they must statically be one of html, svg,\n * or attr. This restriction simplifies the cache lookup, which is on the hot\n * path for rendering.\n */\nconst templateCache = new WeakMap<TemplateStringsArray, Template>();\n\n/**\n * Object specifying options for controlling lit-html rendering. Note that\n * while `render` may be called multiple times on the same `container` (and\n * `renderBefore` reference node) to efficiently update the rendered content,\n * only the options passed in during the first render are respected during\n * the lifetime of renders to that unique `container` + `renderBefore`\n * combination.\n */\nexport interface RenderOptions {\n /**\n * An object to use as the `this` value for event listeners. It's often\n * useful to set this to the host component rendering a template.\n */\n host?: object;\n /**\n * A DOM node before which to render content in the container.\n */\n renderBefore?: ChildNode | null;\n /**\n * Node used for cloning the template (`importNode` will be called on this\n * node). This controls the `ownerDocument` of the rendered DOM, along with\n * any inherited context. Defaults to the global `document`.\n */\n creationScope?: {importNode(node: Node, deep?: boolean): Node};\n /**\n * The initial connected state for the top-level part being rendered. If no\n * `isConnected` option is set, `AsyncDirective`s will be connected by\n * default. Set to `false` if the initial render occurs in a disconnected tree\n * and `AsyncDirective`s should see `isConnected === false` for their initial\n * render. The `part.setConnected()` method must be used subsequent to initial\n * render to change the connected state of the part.\n */\n isConnected?: boolean;\n}\n\nconst walker = d.createTreeWalker(\n d,\n 129 /* NodeFilter.SHOW_{ELEMENT|COMMENT} */\n);\n\nlet sanitizerFactoryInternal: SanitizerFactory = noopSanitizer;\n\n//\n// Classes only below here, const variable declarations only above here...\n//\n// Keeping variable declarations and classes together improves minification.\n// Interfaces and type aliases can be interleaved freely.\n//\n\n// Type for classes that have a `_directive` or `_directives[]` field, used by\n// `resolveDirective`\nexport interface DirectiveParent {\n _$parent?: DirectiveParent;\n _$isConnected: boolean;\n __directive?: Directive;\n __directives?: Array<Directive | undefined>;\n}\n\nfunction trustFromTemplateString(\n tsa: TemplateStringsArray,\n stringFromTSA: string\n): TrustedHTML {\n // A security check to prevent spoofing of Lit template results.\n // In the future, we may be able to replace this with Array.isTemplateObject,\n // though we might need to make that check inside of the html and svg\n // functions, because precompiled templates don't come in as\n // TemplateStringArray objects.\n if (!isArray(tsa) || !tsa.hasOwnProperty('raw')) {\n let message = 'invalid template strings array';\n if (DEV_MODE) {\n message = `\n Internal Error: expected template strings to be an array\n with a 'raw' field. Faking a template strings array by\n calling html or svg like an ordinary function is effectively\n the same as calling unsafeHtml and can lead to major security\n issues, e.g. opening your code up to XSS attacks.\n If you're using the html or svg tagged template functions normally\n and still seeing this error, please file a bug at\n https://github.com/lit/lit/issues/new?template=bug_report.md\n and include information about your build tooling, if any.\n `\n .trim()\n .replace(/\\n */g, '\\n');\n }\n throw new Error(message);\n }\n return policy !== undefined\n ? policy.createHTML(stringFromTSA)\n : (stringFromTSA as unknown as TrustedHTML);\n}\n\n/**\n * Returns an HTML string for the given TemplateStringsArray and result type\n * (HTML or SVG), along with the case-sensitive bound attribute names in\n * template order. The HTML contains comment markers denoting the `ChildPart`s\n * and suffixes on bound attributes denoting the `AttributeParts`.\n *\n * @param strings template strings array\n * @param type HTML or SVG\n * @return Array containing `[html, attrNames]` (array returned for terseness,\n * to avoid object fields since this code is shared with non-minified SSR\n * code)\n */\nconst getTemplateHtml = (\n strings: TemplateStringsArray,\n type: ResultType\n): [TrustedHTML, Array<string>] => {\n // Insert makers into the template HTML to represent the position of\n // bindings. The following code scans the template strings to determine the\n // syntactic position of the bindings. They can be in text position, where\n // we insert an HTML comment, attribute value position, where we insert a\n // sentinel string and re-write the attribute name, or inside a tag where\n // we insert the sentinel string.\n const l = strings.length - 1;\n // Stores the case-sensitive bound attribute names in the order of their\n // parts. ElementParts are also reflected in this array as undefined\n // rather than a string, to disambiguate from attribute bindings.\n const attrNames: Array<string> = [];\n let html =\n type === SVG_RESULT ? '<svg>' : type === MATHML_RESULT ? '<math>' : '';\n\n // When we're inside a raw text tag (not it's text content), the regex\n // will still be tagRegex so we can find attributes, but will switch to\n // this regex when the tag ends.\n let rawTextEndRegex: RegExp | undefined;\n\n // The current parsing state, represented as a reference to one of the\n // regexes\n let regex = textEndRegex;\n\n for (let i = 0; i < l; i++) {\n const s = strings[i];\n // The index of the end of the last attribute name. When this is\n // positive at end of a string, it means we're in an attribute value\n // position and need to rewrite the attribute name.\n // We also use a special value of -2 to indicate that we encountered\n // the end of a string in attribute name position.\n let attrNameEndIndex = -1;\n let attrName: string | undefined;\n let lastIndex = 0;\n let match!: RegExpExecArray | null;\n\n // The conditions in this loop handle the current parse state, and the\n // assignments to the `regex` variable are the state transitions.\n while (lastIndex < s.length) {\n // Make sure we start searching from where we previously left off\n regex.lastIndex = lastIndex;\n match = regex.exec(s);\n if (match === null) {\n break;\n }\n lastIndex = regex.lastIndex;\n if (regex === textEndRegex) {\n if (match[COMMENT_START] === '!--') {\n regex = commentEndRegex;\n } else if (match[COMMENT_START] !== undefined) {\n // We started a weird comment, like </{\n regex = comment2EndRegex;\n } else if (match[TAG_NAME] !== undefined) {\n if (rawTextElement.test(match[TAG_NAME])) {\n // Record if we encounter a raw-text element. We'll switch to\n // this regex at the end of the tag.\n rawTextEndRegex = new RegExp(`</${match[TAG_NAME]}`, 'g');\n }\n regex = tagEndRegex;\n } else if (match[DYNAMIC_TAG_NAME] !== undefined) {\n if (DEV_MODE) {\n throw new Error(\n 'Bindings in tag names are not supported. Please use static templates instead. ' +\n 'See https://lit.dev/docs/templates/expressions/#static-expressions'\n );\n }\n regex = tagEndRegex;\n }\n } else if (regex === tagEndRegex) {\n if (match[ENTIRE_MATCH] === '>') {\n // End of a tag. If we had started a raw-text element, use that\n // regex\n regex = rawTextEndRegex ?? textEndRegex;\n // We may be ending an unquoted attribute value, so make sure we\n // clear any pending attrNameEndIndex\n attrNameEndIndex = -1;\n } else if (match[ATTRIBUTE_NAME] === undefined) {\n // Attribute name position\n attrNameEndIndex = -2;\n } else {\n attrNameEndIndex = regex.lastIndex - match[SPACES_AND_EQUALS].length;\n attrName = match[ATTRIBUTE_NAME];\n regex =\n match[QUOTE_CHAR] === undefined\n ? tagEndRegex\n : match[QUOTE_CHAR] === '\"'\n ? doubleQuoteAttrEndRegex\n : singleQuoteAttrEndRegex;\n }\n } else if (\n regex === doubleQuoteAttrEndRegex ||\n regex === singleQuoteAttrEndRegex\n ) {\n regex = tagEndRegex;\n } else if (regex === commentEndRegex || regex === comment2EndRegex) {\n regex = textEndRegex;\n } else {\n // Not one of the five state regexes, so it must be the dynamically\n // created raw text regex and we're at the close of that element.\n regex = tagEndRegex;\n rawTextEndRegex = undefined;\n }\n }\n\n if (DEV_MODE) {\n // If we have a attrNameEndIndex, which indicates that we should\n // rewrite the attribute name, assert that we're in a valid attribute\n // position - either in a tag, or a quoted attribute value.\n console.assert(\n attrNameEndIndex === -1 ||\n regex === tagEndRegex ||\n regex === singleQuoteAttrEndRegex ||\n regex === doubleQuoteAttrEndRegex,\n 'unexpected parse state B'\n );\n }\n\n // We have four cases:\n // 1. We're in text position, and not in a raw text element\n // (regex === textEndRegex): insert a comment marker.\n // 2. We have a non-negative attrNameEndIndex which means we need to\n // rewrite the attribute name to add a bound attribute suffix.\n // 3. We're at the non-first binding in a multi-binding attribute, use a\n // plain marker.\n // 4. We're somewhere else inside the tag. If we're in attribute name\n // position (attrNameEndIndex === -2), add a sequential suffix to\n // generate a unique attribute name.\n\n // Detect a binding next to self-closing tag end and insert a space to\n // separate the marker from the tag end:\n const end =\n regex === tagEndRegex && strings[i + 1].startsWith('/>') ? ' ' : '';\n html +=\n regex === textEndRegex\n ? s + nodeMarker\n : attrNameEndIndex >= 0\n ? (attrNames.push(attrName!),\n s.slice(0, attrNameEndIndex) +\n boundAttributeSuffix +\n s.slice(attrNameEndIndex)) +\n marker +\n end\n : s + marker + (attrNameEndIndex === -2 ? i : end);\n }\n\n const htmlResult: string | TrustedHTML =\n html +\n (strings[l] || '<?>') +\n (type === SVG_RESULT ? '</svg>' : type === MATHML_RESULT ? '</math>' : '');\n\n // Returned as an array for terseness\n return [trustFromTemplateString(strings, htmlResult), attrNames];\n};\n\n/** @internal */\nexport type {Template};\nclass Template {\n /** @internal */\n el!: HTMLTemplateElement;\n\n parts: Array<TemplatePart> = [];\n\n constructor(\n // This property needs to remain unminified.\n {strings, ['_$litType$']: type}: UncompiledTemplateResult,\n options?: RenderOptions\n ) {\n let node: Node | null;\n let nodeIndex = 0;\n let attrNameIndex = 0;\n const partCount = strings.length - 1;\n const parts = this.parts;\n\n // Create template element\n const [html, attrNames] = getTemplateHtml(strings, type);\n this.el = Template.createElement(html, options);\n walker.currentNode = this.el.content;\n\n // Re-parent SVG or MathML nodes into template root\n if (type === SVG_RESULT || type === MATHML_RESULT) {\n const wrapper = this.el.content.firstChild!;\n wrapper.replaceWith(...wrapper.childNodes);\n }\n\n // Walk the template to find binding markers and create TemplateParts\n while ((node = walker.nextNode()) !== null && parts.length < partCount) {\n if (node.nodeType === 1) {\n if (DEV_MODE) {\n const tag = (node as Element).localName;\n // Warn if `textarea` includes an expression and throw if `template`\n // does since these are not supported. We do this by checking\n // innerHTML for anything that looks like a marker. This catches\n // cases like bindings in textarea there markers turn into text nodes.\n if (\n /^(?:textarea|template)$/i!.test(tag) &&\n (node as Element).innerHTML.includes(marker)\n ) {\n const m =\n `Expressions are not supported inside \\`${tag}\\` ` +\n `elements. See https://lit.dev/msg/expression-in-${tag} for more ` +\n `information.`;\n if (tag === 'template') {\n throw new Error(m);\n } else issueWarning('', m);\n }\n }\n // TODO (justinfagnani): for attempted dynamic tag names, we don't\n // increment the bindingIndex, and it'll be off by 1 in the element\n // and off by two after it.\n if ((node as Element).hasAttributes()) {\n for (const name of (node as Element).getAttributeNames()) {\n if (name.endsWith(boundAttributeSuffix)) {\n const realName = attrNames[attrNameIndex++];\n const value = (node as Element).getAttribute(name)!;\n const statics = value.split(marker);\n const m = /([.?@])?(.*)/.exec(realName)!;\n parts.push({\n type: ATTRIBUTE_PART,\n index: nodeIndex,\n name: m[2],\n strings: statics,\n ctor:\n m[1] === '.'\n ? PropertyPart\n : m[1] === '?'\n ? BooleanAttributePart\n : m[1] === '@'\n ? EventPart\n : AttributePart,\n });\n (node as Element).removeAttribute(name);\n } else if (name.startsWith(marker)) {\n parts.push({\n type: ELEMENT_PART,\n index: nodeIndex,\n });\n (node as Element).removeAttribute(name);\n }\n }\n }\n // TODO (justinfagnani): benchmark the regex against testing for each\n // of the 3 raw text element names.\n if (rawTextElement.test((node as Element).tagName)) {\n // For raw text elements we need to split the text content on\n // markers, create a Text node for each segment, and create\n // a TemplatePart for each marker.\n const strings = (node as Element).textContent!.split(marker);\n const lastIndex = strings.length - 1;\n if (lastIndex > 0) {\n (node as Element).textContent = trustedTypes\n ? (trustedTypes.emptyScript as unknown as '')\n : '';\n // Generate a new text node for each literal section\n // These nodes are also used as the markers for node parts\n // We can't use empty text nodes as markers because they're\n // normalized when cloning in IE (could simplify when\n // IE is no longer supported)\n for (let i = 0; i < lastIndex; i++) {\n (node as Element).append(strings[i], createMarker());\n // Walk past the marker node we just added\n walker.nextNode();\n parts.push({type: CHILD_PART, index: ++nodeIndex});\n }\n // Note because this marker is added after the walker's current\n // node, it will be walked to in the outer loop (and ignored), so\n // we don't need to adjust nodeIndex here\n (node as Element).append(strings[lastIndex], createMarker());\n }\n }\n } else if (node.nodeType === 8) {\n const data = (node as Comment).data;\n if (data === markerMatch) {\n parts.push({type: CHILD_PART, index: nodeIndex});\n } else {\n let i = -1;\n while ((i = (node as Comment).data.indexOf(marker, i + 1)) !== -1) {\n // Comment node has a binding marker inside, make an inactive part\n // The binding won't work, but subsequent bindings will\n parts.push({type: COMMENT_PART, index: nodeIndex});\n // Move to the end of the match\n i += marker.length - 1;\n }\n }\n }\n nodeIndex++;\n }\n\n if (DEV_MODE) {\n // If there was a duplicate attribute on a tag, then when the tag is\n // parsed into an element the attribute gets de-duplicated. We can detect\n // this mismatch if we haven't precisely consumed every attribute name\n // when preparing the template. This works because `attrNames` is built\n // from the template string and `attrNameIndex` comes from processing the\n // resulting DOM.\n if (attrNames.length !== attrNameIndex) {\n throw new Error(\n `Detected duplicate attribute bindings. This occurs if your template ` +\n `has duplicate attributes on an element tag. For example ` +\n `\"<input ?disabled=\\${true} ?disabled=\\${false}>\" contains a ` +\n `duplicate \"disabled\" attribute. The error was detected in ` +\n `the following template: \\n` +\n '`' +\n strings.join('${...}') +\n '`'\n );\n }\n }\n\n // We could set walker.currentNode to another node here to prevent a memory\n // leak, but every time we prepare a template, we immediately render it\n // and re-use the walker in new TemplateInstance._clone().\n debugLogEvent &&\n debugLogEvent({\n kind: 'template prep',\n template: this,\n clonableTemplate: this.el,\n parts: this.parts,\n strings,\n });\n }\n\n // Overridden via `litHtmlPolyfillSupport` to provide platform support.\n /** @nocollapse */\n static createElement(html: TrustedHTML, _options?: RenderOptions) {\n const el = d.createElement('template');\n el.innerHTML = html as unknown as string;\n return el;\n }\n}\n\nexport interface Disconnectable {\n _$parent?: Disconnectable;\n _$disconnectableChildren?: Set<Disconnectable>;\n // Rather than hold connection state on instances, Disconnectables recursively\n // fetch the connection state from the RootPart they are connected in via\n // getters up the Disconnectable tree via _$parent references. This pushes the\n // cost of tracking the isConnected state to `AsyncDirectives`, and avoids\n // needing to pass all Disconnectables (parts, template instances, and\n // directives) their connection state each time it changes, which would be\n // costly for trees that have no AsyncDirectives.\n _$isConnected: boolean;\n}\n\nfunction resolveDirective(\n part: ChildPart | AttributePart | ElementPart,\n value: unknown,\n parent: DirectiveParent = part,\n attributeIndex?: number\n): unknown {\n // Bail early if the value is explicitly noChange. Note, this means any\n // nested directive is still attached and is not run.\n if (value === noChange) {\n return value;\n }\n let currentDirective =\n attributeIndex !== undefined\n ? (parent as AttributePart).__directives?.[attributeIndex]\n : (parent as ChildPart | ElementPart | Directive).__directive;\n const nextDirectiveConstructor = isPrimitive(value)\n ? undefined\n : // This property needs to remain unminified.\n (value as DirectiveResult)['_$litDirective$'];\n if (currentDirective?.constructor !== nextDirectiveConstructor) {\n // This property needs to remain unminified.\n currentDirective?.['_$notifyDirectiveConnectionChanged']?.(false);\n if (nextDirectiveConstructor === undefined) {\n currentDirective = undefined;\n } else {\n currentDirective = new nextDirectiveConstructor(part as PartInfo);\n currentDirective._$initialize(part, parent, attributeIndex);\n }\n if (attributeIndex !== undefined) {\n ((parent as AttributePart).__directives ??= [])[attributeIndex] =\n currentDirective;\n } else {\n (parent as ChildPart | Directive).__directive = currentDirective;\n }\n }\n if (currentDirective !== undefined) {\n value = resolveDirective(\n part,\n currentDirective._$resolve(part, (value as DirectiveResult).values),\n currentDirective,\n attributeIndex\n );\n }\n return value;\n}\n\nexport type {TemplateInstance};\n/**\n * An updateable instance of a Template. Holds references to the Parts used to\n * update the template instance.\n */\nclass TemplateInstance implements Disconnectable {\n _$template: Template;\n _$parts: Array<Part | undefined> = [];\n\n /** @internal */\n _$parent: ChildPart;\n /** @internal */\n _$disconnectableChildren?: Set<Disconnectable> = undefined;\n\n constructor(template: Template, parent: ChildPart) {\n this._$template = template;\n this._$parent = parent;\n }\n\n // Called by ChildPart parentNode getter\n get parentNode() {\n return this._$parent.parentNode;\n }\n\n // See comment in Disconnectable interface for why this is a getter\n get _$isConnected() {\n return this._$parent._$isConnected;\n }\n\n // This method is separate from the constructor because we need to return a\n // DocumentFragment and we don't want to hold onto it with an instance field.\n _clone(options: RenderOptions | undefined) {\n const {\n el: {content},\n parts: parts,\n } = this._$template;\n const fragment = (options?.creationScope ?? d).importNode(content, true);\n walker.currentNode = fragment;\n\n let node = walker.nextNode()!;\n let nodeIndex = 0;\n let partIndex = 0;\n let templatePart = parts[0];\n\n while (templatePart !== undefined) {\n if (nodeIndex === templatePart.index) {\n let part: Part | undefined;\n if (templatePart.type === CHILD_PART) {\n part = new ChildPart(\n node as HTMLElement,\n node.nextSibling,\n this,\n options\n );\n } else if (templatePart.type === ATTRIBUTE_PART) {\n part = new templatePart.ctor(\n node as HTMLElement,\n templatePart.name,\n templatePart.strings,\n this,\n options\n );\n } else if (templatePart.type === ELEMENT_PART) {\n part = new ElementPart(node as HTMLElement, this, options);\n }\n this._$parts.push(part);\n templatePart = parts[++partIndex];\n }\n if (nodeIndex !== templatePart?.index) {\n node = walker.nextNode()!;\n nodeIndex++;\n }\n }\n // We need to set the currentNode away from the cloned tree so that we\n // don't hold onto the tree even if the tree is detached and should be\n // freed.\n walker.currentNode = d;\n return fragment;\n }\n\n _update(values: Array<unknown>) {\n let i = 0;\n for (const part of this._$parts) {\n if (part !== undefined) {\n debugLogEvent &&\n debugLogEvent({\n kind: 'set part',\n part,\n value: values[i],\n valueIndex: i,\n values,\n templateInstance: this,\n });\n if ((part as AttributePart).strings !== undefined) {\n (part as AttributePart)._$setValue(values, part as AttributePart, i);\n // The number of values the part consumes is part.strings.length - 1\n // since values are in between template spans. We increment i by 1\n // later in the loop, so increment it by part.strings.length - 2 here\n i += (part as AttributePart).strings!.length - 2;\n } else {\n part._$setValue(values[i]);\n }\n }\n i++;\n }\n }\n}\n\n/*\n * Parts\n */\ntype AttributeTemplatePart = {\n readonly type: typeof ATTRIBUTE_PART;\n readonly index: number;\n readonly name: string;\n readonly ctor: typeof AttributePart;\n readonly strings: ReadonlyArray<string>;\n};\ntype ChildTemplatePart = {\n readonly type: typeof CHILD_PART;\n readonly index: number;\n};\ntype ElementTemplatePart = {\n readonly type: typeof ELEMENT_PART;\n readonly index: number;\n};\ntype CommentTemplatePart = {\n readonly type: typeof COMMENT_PART;\n readonly index: number;\n};\n\n/**\n * A TemplatePart represents a dynamic part in a template, before the template\n * is instantiated. When a template is instantiated Parts are created from\n * TemplateParts.\n */\ntype TemplatePart =\n | ChildTemplatePart\n | AttributeTemplatePart\n | ElementTemplatePart\n | CommentTemplatePart;\n\nexport type Part =\n | ChildPart\n | AttributePart\n | PropertyPart\n | BooleanAttributePart\n | ElementPart\n | EventPart;\n\nexport type {ChildPart};\nclass ChildPart implements Disconnectable {\n readonly type = CHILD_PART;\n readonly options: RenderOptions | undefined;\n _$committedValue: unknown = nothing;\n /** @internal */\n __directive?: Directive;\n /** @internal */\n _$startNode: ChildNode;\n /** @internal */\n _$endNode: ChildNode | null;\n private _textSanitizer: ValueSanitizer | undefined;\n /** @internal */\n _$parent: Disconnectable | undefined;\n /**\n * Connection state for RootParts only (i.e. ChildPart without _$parent\n * returned from top-level `render`). This field is unused otherwise. The\n * intention would be clearer if we made `RootPart` a subclass of `ChildPart`\n * with this field (and a different _$isConnected getter), but the subclass\n * caused a perf regression, possibly due to making call sites polymorphic.\n * @internal\n */\n __isConnected: boolean;\n\n // See comment in Disconnectable interface for why this is a getter\n get _$isConnected() {\n // ChildParts that are not at the root should always be created with a\n // parent; only RootChildNode's won't, so they return the local isConnected\n // state\n return this._$parent?._$isConnected ?? this.__isConnected;\n }\n\n // The following fields will be patched onto ChildParts when required by\n // AsyncDirective\n /** @internal */\n _$disconnectableChildren?: Set<Disconnectable> = undefined;\n /** @internal */\n _$notifyConnectionChanged?(\n isConnected: boolean,\n removeFromParent?: boolean,\n from?: number\n ): void;\n /** @internal */\n _$reparentDisconnectables?(parent: Disconnectable): void;\n\n constructor(\n startNode: ChildNode,\n endNode: ChildNode | null,\n parent: TemplateInstance | ChildPart | undefined,\n options: RenderOptions | undefined\n ) {\n this._$startNode = startNode;\n this._$endNode = endNode;\n this._$parent = parent;\n this.options = options;\n // Note __isConnected is only ever accessed on RootParts (i.e. when there is\n // no _$parent); the value on a non-root-part is \"don't care\", but checking\n // for parent would be more code\n this.__isConnected = options?.isConnected ?? true;\n if (ENABLE_EXTRA_SECURITY_HOOKS) {\n // Explicitly initialize for consistent class shape.\n this._textSanitizer = undefined;\n }\n }\n\n /**\n * The parent node into which the part renders its content.\n *\n * A ChildPart's content consists of a range of adjacent child nodes of\n * `.parentNode`, possibly bordered by 'marker nodes' (`.startNode` and\n * `.endNode`).\n *\n * - If both `.startNode` and `.endNode` are non-null, then the part's content\n * consists of all siblings between `.startNode` and `.endNode`, exclusively.\n *\n * - If `.startNode` is non-null but `.endNode` is null, then the part's\n * content consists of all siblings following `.startNode`, up to and\n * including the last child of `.parentNode`. If `.endNode` is non-null, then\n * `.startNode` will always be non-null.\n *\n * - If both `.endNode` and `.startNode` are null, then the part's content\n * consists of all child nodes of `.parentNode`.\n */\n get parentNode(): Node {\n let parentNode: Node = wrap(this._$startNode).parentNode!;\n const parent = this._$parent;\n if (\n parent !== undefined &&\n parentNode?.nodeType === 11 /* Node.DOCUMENT_FRAGMENT */\n ) {\n // If the parentNode is a DocumentFragment, it may be because the DOM is\n // still in the cloned fragment during initial render; if so, get the real\n // parentNode the part will be committed into by asking the parent.\n parentNode = (parent as ChildPart | TemplateInstance).parentNode;\n }\n return parentNode;\n }\n\n /**\n * The part's leading marker node, if any. See `.parentNode` for more\n * information.\n */\n get startNode(): Node | null {\n return this._$startNode;\n }\n\n /**\n * The part's trailing marker node, if any. See `.parentNode` for more\n * information.\n */\n get endNode(): Node | null {\n return this._$endNode;\n }\n\n _$setValue(value: unknown, directiveParent: DirectiveParent = this): void {\n if (DEV_MODE && this.parentNode === null) {\n throw new Error(\n `This \\`ChildPart\\` has no \\`parentNode\\` and therefore cannot accept a value. This likely means the element containing the part was manipulated in an unsupported way outside of Lit's control such that the part's marker nodes were ejected from DOM. For example, setting the element's \\`innerHTML\\` or \\`textContent\\` can do this.`\n );\n }\n value = resolveDirective(this, value, directiveParent);\n if (isPrimitive(value)) {\n // Non-rendering child values. It's important that these do not render\n // empty text nodes to avoid issues with preventing default <slot>\n // fallback content.\n if (value === nothing || value == null || value === '') {\n if (this._$committedValue !== nothing) {\n debugLogEvent &&\n debugLogEvent({\n kind: 'commit nothing to child',\n start: this._$startNode,\n end: this._$endNode,\n parent: this._$parent,\n options: this.options,\n });\n this._$clear();\n }\n this._$committedValue = nothing;\n } else if (value !== this._$committedValue && value !== noChange) {\n this._commitText(value);\n }\n // This property needs to remain unminified.\n } else if ((value as TemplateResult)['_$litType$'] !== undefined) {\n this._commitTemplateResult(value as TemplateResult);\n } else if ((value as Node).nodeType !== undefined) {\n if (DEV_MODE && this.options?.host === value) {\n this._commitText(\n `[probable mistake: rendered a template's host in itself ` +\n `(commonly caused by writing \\${this} in a template]`\n );\n console.warn(\n `Attempted to render the template host`,\n value,\n `inside itself. This is almost always a mistake, and in dev mode `,\n `we render some warning text. In production however, we'll `,\n `render it, which will usually result in an error, and sometimes `,\n `in the element disappearing from the DOM.`\n );\n return;\n }\n this._commitNode(value as Node);\n } else if (isIterable(value)) {\n this._commitIterable(value);\n } else {\n // Fallback, will render the string representation\n this._commitText(value);\n }\n }\n\n private _insert<T extends Node>(node: T) {\n return wrap(wrap(this._$startNode).parentNode!).insertBefore(\n node,\n this._$endNode\n );\n }\n\n private _commitNode(value: Node): void {\n if (this._$committedValue !== value) {\n this._$clear();\n if (\n ENABLE_EXTRA_SECURITY_HOOKS &&\n sanitizerFactoryInternal !== noopSanitizer\n ) {\n const parentNodeName = this._$startNode.parentNode?.nodeName;\n if (parentNodeName === 'STYLE' || parentNodeName === 'SCRIPT') {\n let message = 'Forbidden';\n if (DEV_MODE) {\n if (parentNodeName === 'STYLE') {\n message =\n `Lit does not support binding inside style nodes. ` +\n `This is a security risk, as style injection attacks can ` +\n `exfiltrate data and spoof UIs. ` +\n `Consider instead using css\\`...\\` literals ` +\n `to compose styles, and do dynamic styling with ` +\n `css custom properties, ::parts, <slot>s, ` +\n `and by mutating the DOM rather than stylesheets.`;\n } else {\n message =\n `Lit does not support binding inside script nodes. ` +\n `This is a security risk, as it could allow arbitrary ` +\n `code execution.`;\n }\n }\n throw new Error(message);\n }\n }\n debugLogEvent &&\n debugLogEvent({\n kind: 'commit node',\n start: this._$startNode,\n parent: this._$parent,\n value: value,\n options: this.options,\n });\n this._$committedValue = this._insert(value);\n }\n }\n\n private _commitText(value: unknown): void {\n // If the committed value is a primitive it means we called _commitText on\n // the previous render, and we know that this._$startNode.nextSibling is a\n // Text node. We can now just replace the text content (.data) of the node.\n if (\n this._$committedValue !== nothing &&\n isPrimitive(this._$committedValue)\n ) {\n const node = wrap(this._$startNode).nextSibling as Text;\n if (ENABLE_EXTRA_SECURITY_HOOKS) {\n if (this._textSanitizer === undefined) {\n this._textSanitizer = createSanitizer(node, 'data', 'property');\n }\n value = this._textSanitizer(value);\n }\n debugLogEvent &&\n debugLogEvent({\n kind: 'commit text',\n node,\n value,\n options: this.options,\n });\n (node as Text).data = value as string;\n } else {\n if (ENABLE_EXTRA_SECURITY_HOOKS) {\n const textNode = d.createTextNode('');\n this._commitNode(textNode);\n // When setting text content, for security purposes it matters a lot\n // what the parent is. For example, <style> and <script> need to be\n // handled with care, while <span> does not. So first we need to put a\n // text node into the document, then we can sanitize its content.\n if (this._textSanitizer === undefined) {\n this._textSanitizer = createSanitizer(textNode, 'data', 'property');\n }\n value = this._textSanitizer(value);\n debugLogEvent &&\n debugLogEvent({\n kind: 'commit text',\n node: textNode,\n value,\n options: this.options,\n });\n textNode.data = value as string;\n } else {\n this._commitNode(d.createTextNode(value as string));\n debugLogEvent &&\n debugLogEvent({\n kind: 'commit text',\n node: wrap(this._$startNode).nextSibling as Text,\n value,\n options: this.options,\n });\n }\n }\n this._$committedValue = value;\n }\n\n private _commitTemplateResult(\n result: TemplateResult | CompiledTemplateResult\n ): void {\n // This property needs to remain unminified.\n const {values, ['_$litType$']: type} = result;\n // If $litType$ is a number, result is a plain TemplateResult and we get\n // the template from the template cache. If not, result is a\n // CompiledTemplateResult and _$litType$ is a CompiledTemplate and we need\n // to create the <template> element the first time we see it.\n const template: Template | CompiledTemplate =\n typeof type === 'number'\n ? this._$getTemplate(result as UncompiledTemplateResult)\n : (type.el === undefined &&\n (type.el = Template.createElement(\n trustFromTemplateString(type.h, type.h[0]),\n this.options\n )),\n type);\n\n if ((this._$committedValue as TemplateInstance)?._$template === template) {\n debugLogEvent &&\n debugLogEvent({\n kind: 'template updating',\n template,\n instance: this._$committedValue as TemplateInstance,\n parts: (this._$committedValue as TemplateInstance)._$parts,\n options: this.options,\n values,\n });\n (this._$committedValue as TemplateInstance)._update(values);\n } else {\n const instance = new TemplateInstance(template as Template, this);\n const fragment = instance._clone(this.options);\n debugLogEvent &&\n debugLogEvent({\n kind: 'template instantiated',\n template,\n instance,\n parts: instance._$parts,\n options: this.options,\n fragment,\n values,\n });\n instance._update(values);\n debugLogEvent &&\n debugLogEvent({\n kind: 'template instantiated and updated',\n template,\n instance,\n parts: instance._$parts,\n options: this.options,\n fragment,\n values,\n });\n this._commitNode(fragment);\n this._$committedValue = instance;\n }\n }\n\n // Overridden via `litHtmlPolyfillSupport` to provide platform support.\n /** @internal */\n _$getTemplate(result: UncompiledTemplateResult) {\n let template = templateCache.get(result.strings);\n if (template === undefined) {\n templateCache.set(result.strings, (template = new Template(result)));\n }\n return template;\n }\n\n private _commitIterable(value: Iterable<unknown>): void {\n // For an Iterable, we create a new InstancePart per item, then set its\n // value to the item. This is a little bit of overhead for every item in\n // an Iterable, but it lets us recurse easily and efficiently update Arrays\n // of TemplateResults that will be commonly returned from expressions like:\n // array.map((i) => html`${i}`), by reusing existing TemplateInstances.\n\n // If value is an array, then the previous render was of an\n // iterable and value will contain the ChildParts from the previous\n // render. If value is not an array, clear this part and make a new\n // array for ChildParts.\n if (!isArray(this._$committedValue)) {\n this._$committedValue = [];\n this._$clear();\n }\n\n // Lets us keep track of how many items we stamped so we can clear leftover\n // items from a previous render\n const itemParts = this._$committedValue as ChildPart[];\n let partIndex = 0;\n let itemPart: ChildPart | undefined;\n\n for (const item of value) {\n if (partIndex === itemParts.length) {\n // If no existing part, create a new one\n // TODO (justinfagnani): test perf impact of always creating two parts\n // instead of sharing parts between nodes\n // https://github.com/lit/lit/issues/1266\n itemParts.push(\n (itemPart = new ChildPart(\n this._insert(createMarker()),\n this._insert(createMarker()),\n this,\n this.options\n ))\n );\n } else {\n // Reuse an existing part\n itemPart = itemParts[partIndex];\n }\n itemPart._$setValue(item);\n partIndex++;\n }\n\n if (partIndex < itemParts.length) {\n // itemParts always have end nodes\n this._$clear(\n itemPart && wrap(itemPart._$endNode!).nextSibling,\n partIndex\n );\n // Truncate the parts array so _value reflects the current state\n itemParts.length = partIndex;\n }\n }\n\n /**\n * Removes the nodes contained within this Part from the DOM.\n *\n * @param start Start node to clear from, for clearing a subset of the part's\n * DOM (used when truncating iterables)\n * @param from When `start` is specified, the index within the iterable from\n * which ChildParts are being removed, used for disconnecting directives in\n * those Parts.\n *\n * @internal\n */\n _$clear(\n start: ChildNode | null = wrap(this._$startNode).nextSibling,\n from?: number\n ) {\n this._$notifyConnectionChanged?.(false, true, from);\n while (start && start !== this._$endNode) {\n const n = wrap(start!).nextSibling;\n (wrap(start!) as Element).remove();\n start = n;\n }\n }\n /**\n * Implementation of RootPart's `isConnected`. Note that this method\n * should only be called on `RootPart`s (the `ChildPart` returned from a\n * top-level `render()` call). It has no effect on non-root ChildParts.\n * @param isConnected Whether to set\n * @internal\n */\n setConnected(isConnected: boolean) {\n if (this._$parent === undefined) {\n this.__isConnected = isConnected;\n this._$notifyConnectionChanged?.(isConnected);\n } else if (DEV_MODE) {\n throw new Error(\n 'part.setConnected() may only be called on a ' +\n 'RootPart returned from render().'\n );\n }\n }\n}\n\n/**\n * A top-level `ChildPart` returned from `render` that manages the connected\n * state of `AsyncDirective`s created throughout the tree below it.\n */\nexport interface RootPart extends ChildPart {\n /**\n * Sets the connection state for `AsyncDirective`s contained within this root\n * ChildPart.\n *\n * lit-html does not automatically monitor the connectedness of DOM rendered;\n * as such, it is the responsibility of the caller to `render` to ensure that\n * `part.setConnected(false)` is called before the part object is potentially\n * discarded, to ensure that `AsyncDirective`s have a chance to dispose of\n * any resources being held. If a `RootPart` that was previously\n * disconnected is subsequently re-connected (and its `AsyncDirective`s should\n * re-connect), `setConnected(true)` should be called.\n *\n * @param isConnected Whether directives within this tree should be connected\n * or not\n */\n setConnected(isConnected: boolean): void;\n}\n\nexport type {AttributePart};\nclass AttributePart implements Disconnectable {\n readonly type:\n | typeof ATTRIBUTE_PART\n | typeof PROPERTY_PART\n | typeof BOOLEAN_ATTRIBUTE_PART\n | typeof EVENT_PART = ATTRIBUTE_PART;\n readonly element: HTMLElement;\n readonly name: string;\n readonly options: RenderOptions | undefined;\n\n /**\n * If this attribute part represents an interpolation, this contains the\n * static strings of the interpolation. For single-value, complete bindings,\n * this is undefined.\n */\n readonly strings?: ReadonlyArray<string>;\n /** @internal */\n _$committedValue: unknown | Array<unknown> = nothing;\n /** @internal */\n __directives?: Array<Directive | undefined>;\n /** @internal */\n _$parent: Disconnectable;\n /** @internal */\n _$disconnectableChildren?: Set<Disconnectable> = undefined;\n\n protected _sanitizer: ValueSanitizer | undefined;\n\n get tagName() {\n return this.element.tagName;\n }\n\n // See comment in Disconnectable interface for why this is a getter\n get _$isConnected() {\n return this._$parent._$isConnected;\n }\n\n constructor(\n element: HTMLElement,\n name: string,\n strings: ReadonlyArray<string>,\n parent: Disconnectable,\n options: RenderOptions | undefined\n ) {\n this.element = element;\n this.name = name;\n this._$parent = parent;\n this.options = options;\n if (strings.length > 2 || strings[0] !== '' || strings[1] !== '') {\n this._$committedValue = new Array(strings.length - 1).fill(new String());\n this.strings = strings;\n } else {\n this._$committedValue = nothing;\n }\n if (ENABLE_EXTRA_SECURITY_HOOKS) {\n this._sanitizer = undefined;\n }\n }\n\n /**\n * Sets the value of this part by resolving the value from possibly multiple\n * values and static strings and committing it to the DOM.\n * If this part is single-valued, `this._strings` will be undefined, and the\n * method will be called with a single value argument. If this part is\n * multi-value, `this._strings` will be defined, and the method is called\n * with the value array of the part's owning TemplateInstance, and an offset\n * into the value array from which the values should be read.\n * This method is overloaded this way to eliminate short-lived array slices\n * of the template instance values, and allow a fast-path for single-valued\n * parts.\n *\n * @param value The part value, or an array of values for multi-valued parts\n * @param valueIndex the index to start reading values from. `undefined` for\n * single-valued parts\n * @param noCommit causes the part to not commit its value to the DOM. Used\n * in hydration to prime attribute parts with their first-rendered value,\n * but not set the attribute, and in SSR to no-op the DOM operation and\n * capture the value for serialization.\n *\n * @internal\n */\n _$setValue(\n value: unknown | Array<unknown>,\n directiveParent: DirectiveParent = this,\n valueIndex?: number,\n noCommit?: boolean\n ) {\n const strings = this.strings;\n\n // Whether any of the values has changed, for dirty-checking\n let change = false;\n\n if (strings === undefined) {\n // Single-value binding case\n value = resolveDirective(this, value, directiveParent, 0);\n change =\n !isPrimitive(value) ||\n (value !== this._$committedValue && value !== noChange);\n if (change) {\n this._$committedValue = value;\n }\n } else {\n // Interpolation case\n const values = value as Array<unknown>;\n value = strings[0];\n\n let i, v;\n for (i = 0; i < strings.length - 1; i++) {\n v = resolveDirective(this, values[valueIndex! + i], directiveParent, i);\n\n if (v === noChange) {\n // If the user-provided value is `noChange`, use the previous value\n v = (this._$committedValue as Array<unknown>)[i];\n }\n change ||=\n !isPrimitive(v) || v !== (this._$committedValue as Array<unknown>)[i];\n if (v === nothing) {\n value = nothing;\n } else if (value !== nothing) {\n value += (v ?? '') + strings[i + 1];\n }\n // We always record each value, even if one is `nothing`, for future\n // change detection.\n (this._$committedValue as Array<unknown>)[i] = v;\n }\n }\n if (change && !noCommit) {\n this._commitValue(value);\n }\n }\n\n /** @internal */\n _commitValue(value: unknown) {\n if (value === nothing) {\n (wrap(this.element) as Element).removeAttribute(this.name);\n } else {\n if (ENABLE_EXTRA_SECURITY_HOOKS) {\n if (this._sanitizer === undefined) {\n this._sanitizer = sanitizerFactoryInternal(\n this.element,\n this.name,\n 'attribute'\n );\n }\n value = this._sanitizer(value ?? '');\n }\n debugLogEvent &&\n debugLogEvent({\n kind: 'commit attribute',\n element: this.element,\n name: this.name,\n value,\n options: this.options,\n });\n (wrap(this.element) as Element).setAttribute(\n this.name,\n (value ?? '') as string\n );\n }\n }\n}\n\nexport type {PropertyPart};\nclass PropertyPart extends AttributePart {\n override readonly type = PROPERTY_PART;\n\n /** @internal */\n override _commitValue(value: unknown) {\n if (ENABLE_EXTRA_SECURITY_HOOKS) {\n if (this._sanitizer === undefined) {\n this._sanitizer = sanitizerFactoryInternal(\n this.element,\n this.name,\n 'property'\n );\n }\n value = this._sanitizer(value);\n }\n debugLogEvent &&\n debugLogEvent({\n kind: 'commit property',\n element: this.element,\n name: this.name,\n value,\n options: this.options,\n });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (this.element as any)[this.name] = value === nothing ? undefined : value;\n }\n}\n\nexport type {BooleanAttributePart};\nclass BooleanAttributePart extends AttributePart {\n override readonly type = BOOLEAN_ATTRIBUTE_PART;\n\n /** @internal */\n override _commitValue(value: unknown) {\n debugLogEvent &&\n debugLogEvent({\n kind: 'commit boolean attribute',\n element: this.element,\n name: this.name,\n value: !!(value && value !== nothing),\n options: this.options,\n });\n (wrap(this.element) as Element).toggleAttribute(\n this.name,\n !!value && value !== nothing\n );\n }\n}\n\ntype EventListenerWithOptions = EventListenerOrEventListenerObject &\n Partial<AddEventListenerOptions>;\n\n/**\n * An AttributePart that manages an event listener via add/removeEventListener.\n *\n * This part works by adding itself as the event listener on an element, then\n * delegating to the value passed to it. This reduces the number of calls to\n * add/removeEventListener if the listener changes frequently, such as when an\n * inline function is used as a listener.\n *\n * Because event options are passed when adding listeners, we must take case\n * to add and remove the part as a listener when the event options change.\n */\nexport type {EventPart};\nclass EventPart extends AttributePart {\n override readonly type = EVENT_PART;\n\n constructor(\n element: HTMLElement,\n name: string,\n strings: ReadonlyArray<string>,\n parent: Disconnectable,\n options: RenderOptions | undefined\n ) {\n super(element, name, strings, parent, options);\n\n if (DEV_MODE && this.strings !== undefined) {\n throw new Error(\n `A \\`<${element.localName}>\\` has a \\`@${name}=...\\` listener with ` +\n 'invalid content. Event listeners in templates must have exactly ' +\n 'one expression and no surrounding text.'\n );\n }\n }\n\n // EventPart does not use the base _$setValue/_resolveValue implementation\n // since the dirty checking is more complex\n /** @internal */\n override _$setValue(\n newListener: unknown,\n directiveParent: DirectiveParent = this\n ) {\n newListener =\n resolveDirective(this, newListener, directiveParent, 0) ?? nothing;\n if (newListener === noChange) {\n return;\n }\n const oldListener = this._$committedValue;\n\n // If the new value is nothing or any options change we have to remove the\n // part as a listener.\n const shouldRemoveListener =\n (newListener === nothing && oldListener !== nothing) ||\n (newListener as EventListenerWithOptions).capture !==\n (oldListener as EventListenerWithOptions).capture ||\n (newListener as EventListenerWithOptions).once !==\n (oldListener as EventListenerWithOptions).once ||\n (newListener as EventListenerWithOptions).passive !==\n (oldListener as EventListenerWithOptions).passive;\n\n // If the new value is not nothing and we removed the listener, we have\n // to add the part as a listener.\n const shouldAddListener =\n newListener !== nothing &&\n (oldListener === nothing || shouldRemoveListener);\n\n debugLogEvent &&\n debugLogEvent({\n kind: 'commit event listener',\n element: this.element,\n name: this.name,\n value: newListener,\n options: this.options,\n removeListener: shouldRemoveListener,\n addListener: shouldAddListener,\n oldListener,\n });\n if (shouldRemoveListener) {\n this.element.removeEventListener(\n this.name,\n this,\n oldListener as EventListenerWithOptions\n );\n }\n if (shouldAddListener) {\n // Beware: IE11 and Chrome 41 don't like using the listener as the\n // options object. Figure out how to deal w/ this in IE11 - maybe\n // patch addEventListener?\n this.element.addEventListener(\n this.name,\n this,\n newListener as EventListenerWithOptions\n );\n }\n this._$committedValue = newListener;\n }\n\n handleEvent(event: Event) {\n if (typeof this._$committedValue === 'function') {\n this._$committedValue.call(this.options?.host ?? this.element, event);\n } else {\n (this._$committedValue as EventListenerObject).handleEvent(event);\n }\n }\n}\n\nexport type {ElementPart};\nclass ElementPart implements Disconnectable {\n readonly type = ELEMENT_PART;\n\n /** @internal */\n __directive?: Directive;\n\n // This is to ensure that every Part has a _$committedValue\n _$committedValue: undefined;\n\n /** @internal */\n _$parent!: Disconnectable;\n\n /** @internal */\n _$disconnectableChildren?: Set<Disconnectable> = undefined;\n\n options: RenderOptions | undefined;\n\n constructor(\n public element: Element,\n parent: Disconnectable,\n options: RenderOptions | undefined\n ) {\n this._$parent = parent;\n this.options = options;\n }\n\n // See comment in Disconnectable interface for why this is a getter\n get _$isConnected() {\n return this._$parent._$isConnected;\n }\n\n _$setValue(value: unknown): void {\n debugLogEvent &&\n debugLogEvent({\n kind: 'commit to element binding',\n element: this.element,\n value,\n options: this.options,\n });\n resolveDirective(this, value);\n }\n}\n\n/**\n * END USERS SHOULD NOT RELY ON THIS OBJECT.\n *\n * Private exports for use by other Lit packages, not intended for use by\n * external users.\n *\n * We currently do not make a mangled rollup build of the lit-ssr code. In order\n * to keep a number of (otherwise private) top-level exports mangled in the\n * client side code, we export a _$LH object containing those members (or\n * helper methods for accessing private fields of those members), and then\n * re-export them for use in lit-ssr. This keeps lit-ssr agnostic to whether the\n * client-side code is being used in `dev` mode or `prod` mode.\n *\n * This has a unique name, to disambiguate it from private exports in\n * lit-element, which re-exports all of lit-html.\n *\n * @private\n */\nexport const _$LH = {\n // Used in lit-ssr\n _boundAttributeSuffix: boundAttributeSuffix,\n _marker: marker,\n _markerMatch: markerMatch,\n _HTML_RESULT: HTML_RESULT,\n _getTemplateHtml: getTemplateHtml,\n // Used in tests and private-ssr-support\n _TemplateInstance: TemplateInstance,\n _isIterable: isIterable,\n _resolveDirective: resolveDirective,\n _ChildPart: ChildPart,\n _AttributePart: AttributePart,\n _BooleanAttributePart: BooleanAttributePart,\n _EventPart: EventPart,\n _PropertyPart: PropertyPart,\n _ElementPart: ElementPart,\n};\n\n// Apply polyfills if available\nconst polyfillSupport = DEV_MODE\n ? global.litHtmlPolyfillSupportDevMode\n : global.litHtmlPolyfillSupport;\npolyfillSupport?.(Template, ChildPart);\n\n// IMPORTANT: do not change the property name or the assignment expression.\n// This line will be used in regexes to search for lit-html usage.\n(global.litHtmlVersions ??= []).push('3.2.1');\nif (DEV_MODE && global.litHtmlVersions.length > 1) {\n issueWarning!(\n 'multiple-versions',\n `Multiple versions of Lit loaded. ` +\n `Loading multiple versions is not recommended.`\n );\n}\n\n/**\n * Renders a value, usually a lit-html TemplateResult, to the container.\n *\n * This example renders the text \"Hello, Zoe!\" inside a paragraph tag, appending\n * it to the container `document.body`.\n *\n * ```js\n * import {html, render} from 'lit';\n *\n * const name = \"Zoe\";\n * render(html`<p>Hello, ${name}!</p>`, document.body);\n * ```\n *\n * @param value Any [renderable\n * value](https://lit.dev/docs/templates/expressions/#child-expressions),\n * typically a {@linkcode TemplateResult} created by evaluating a template tag\n * like {@linkcode html} or {@linkcode svg}.\n * @param container A DOM container to render to. The first render will append\n * the rendered value to the container, and subsequent renders will\n * efficiently update the rendered value if the same result type was\n * previously rendered there.\n * @param options See {@linkcode RenderOptions} for options documentation.\n * @see\n * {@link https://lit.dev/docs/libraries/standalone-templates/#rendering-lit-html-templates| Rendering Lit HTML Templates}\n */\nexport const render = (\n value: unknown,\n container: HTMLElement | DocumentFragment,\n options?: RenderOptions\n): RootPart => {\n if (DEV_MODE && container == null) {\n // Give a clearer error message than\n // Uncaught TypeError: Cannot read properties of null (reading\n // '_$litPart$')\n // which reads like an internal Lit error.\n throw new TypeError(`The container to render into may not be ${container}`);\n }\n const renderId = DEV_MODE ? debugLogRenderId++ : 0;\n const partOwnerNode = options?.renderBefore ?? container;\n // This property needs to remain unminified.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let part: ChildPart = (partOwnerNode as any)['_$litPart$'];\n debugLogEvent &&\n debugLogEvent({\n kind: 'begin render',\n id: renderId,\n value,\n container,\n options,\n part,\n });\n if (part === undefined) {\n const endNode = options?.renderBefore ?? null;\n // This property needs to remain unminified.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (partOwnerNode as any)['_$litPart$'] = part = new ChildPart(\n container.insertBefore(createMarker(), endNode),\n endNode,\n undefined,\n options ?? {}\n );\n }\n part._$setValue(value);\n debugLogEvent &&\n debugLogEvent({\n kind: 'end render',\n id: renderId,\n value,\n container,\n options,\n part,\n });\n return part as RootPart;\n};\n\nif (ENABLE_EXTRA_SECURITY_HOOKS) {\n render.setSanitizer = setSanitizer;\n render.createSanitizer = createSanitizer;\n if (DEV_MODE) {\n render._testOnlyClearSanitizerFactoryDoNotCallOrElse =\n _testOnlyClearSanitizerFactoryDoNotCallOrElse;\n }\n}\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as s}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class r extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(s,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return s}}r._$litElement$=!0,r[\"finalized\"]=!0,globalThis.litElementHydrateSupport?.({LitElement:r});const i=globalThis.litElementPolyfillSupport;i?.({LitElement:r});const o={_$AK:(t,e,s)=>{t._$AK(e,s)},_$AL:t=>t._$AL};(globalThis.litElementVersions??=[]).push(\"4.1.1\");export{r as LitElement,o as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * The main LitElement module, which defines the {@linkcode LitElement} base\n * class and related APIs.\n *\n * LitElement components can define a template and a set of observed\n * properties. Changing an observed property triggers a re-render of the\n * element.\n *\n * Import {@linkcode LitElement} and {@linkcode html} from this module to\n * create a component:\n *\n * ```js\n * import {LitElement, html} from 'lit-element';\n *\n * class MyElement extends LitElement {\n *\n * // Declare observed properties\n * static get properties() {\n * return {\n * adjective: {}\n * }\n * }\n *\n * constructor() {\n * this.adjective = 'awesome';\n * }\n *\n * // Define the element's template\n * render() {\n * return html`<p>your ${adjective} template here</p>`;\n * }\n * }\n *\n * customElements.define('my-element', MyElement);\n * ```\n *\n * `LitElement` extends {@linkcode ReactiveElement} and adds lit-html\n * templating. The `ReactiveElement` class is provided for users that want to\n * build their own custom element base classes that don't use lit-html.\n *\n * @packageDocumentation\n */\nimport {PropertyValues, ReactiveElement} from '@lit/reactive-element';\nimport {render, RenderOptions, noChange, RootPart} from 'lit-html';\nexport * from '@lit/reactive-element';\nexport * from 'lit-html';\n\nimport {LitUnstable} from 'lit-html';\nimport {ReactiveUnstable} from '@lit/reactive-element';\n\n/**\n * Contains types that are part of the unstable debug API.\n *\n * Everything in this API is not stable and may change or be removed in the future,\n * even on patch releases.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace Unstable {\n /**\n * When Lit is running in dev mode and `window.emitLitDebugLogEvents` is true,\n * we will emit 'lit-debug' events to window, with live details about the update and render\n * lifecycle. These can be useful for writing debug tooling and visualizations.\n *\n * Please be aware that running with window.emitLitDebugLogEvents has performance overhead,\n * making certain operations that are normally very cheap (like a no-op render) much slower,\n * because we must copy data and dispatch events.\n */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace DebugLog {\n export type Entry =\n | LitUnstable.DebugLog.Entry\n | ReactiveUnstable.DebugLog.Entry;\n }\n}\n/*\n * When using Closure Compiler, JSCompiler_renameProperty(property, object) is\n * replaced at compile time by the munged name for object[property]. We cannot\n * alias this function, so we have to use a small shim that has the same\n * behavior when not compiling.\n */\n/*@__INLINE__*/\nconst JSCompiler_renameProperty = <P extends PropertyKey>(\n prop: P,\n _obj: unknown\n): P => prop;\n\nconst DEV_MODE = true;\n\nlet issueWarning: (code: string, warning: string) => void;\n\nif (DEV_MODE) {\n // Ensure warnings are issued only 1x, even if multiple versions of Lit\n // are loaded.\n const issuedWarnings: Set<string | undefined> =\n (globalThis.litIssuedWarnings ??= new Set());\n\n // Issue a warning, if we haven't already.\n issueWarning = (code: string, warning: string) => {\n warning += ` See https://lit.dev/msg/${code} for more information.`;\n if (!issuedWarnings.has(warning)) {\n console.warn(warning);\n issuedWarnings.add(warning);\n }\n };\n}\n\n/**\n * Base element class that manages element properties and attributes, and\n * renders a lit-html template.\n *\n * To define a component, subclass `LitElement` and implement a\n * `render` method to provide the component's template. Define properties\n * using the {@linkcode LitElement.properties properties} property or the\n * {@linkcode property} decorator.\n */\nexport class LitElement extends ReactiveElement {\n // This property needs to remain unminified.\n static ['_$litElement$'] = true;\n\n /**\n * @category rendering\n */\n readonly renderOptions: RenderOptions = {host: this};\n\n private __childPart: RootPart | undefined = undefined;\n\n /**\n * @category rendering\n */\n protected override createRenderRoot() {\n const renderRoot = super.createRenderRoot();\n // When adoptedStyleSheets are shimmed, they are inserted into the\n // shadowRoot by createRenderRoot. Adjust the renderBefore node so that\n // any styles in Lit content render before adoptedStyleSheets. This is\n // important so that adoptedStyleSheets have precedence over styles in\n // the shadowRoot.\n this.renderOptions.renderBefore ??= renderRoot!.firstChild as ChildNode;\n return renderRoot;\n }\n\n /**\n * Updates the element. This method reflects property values to attributes\n * and calls `render` to render DOM via lit-html. Setting properties inside\n * this method will *not* trigger another update.\n * @param changedProperties Map of changed properties with old values\n * @category updates\n */\n protected override update(changedProperties: PropertyValues) {\n // Setting properties in `render` should not trigger an update. Since\n // updates are allowed after super.update, it's important to call `render`\n // before that.\n const value = this.render();\n if (!this.hasUpdated) {\n this.renderOptions.isConnected = this.isConnected;\n }\n super.update(changedProperties);\n this.__childPart = render(value, this.renderRoot, this.renderOptions);\n }\n\n /**\n * Invoked when the component is added to the document's DOM.\n *\n * In `connectedCallback()` you should setup tasks that should only occur when\n * the element is connected to the document. The most common of these is\n * adding event listeners to nodes external to the element, like a keydown\n * event handler added to the window.\n *\n * ```ts\n * connectedCallback() {\n * super.connectedCallback();\n * addEventListener('keydown', this._handleKeydown);\n * }\n * ```\n *\n * Typically, anything done in `connectedCallback()` should be undone when the\n * element is disconnected, in `disconnectedCallback()`.\n *\n * @category lifecycle\n */\n override connectedCallback() {\n super.connectedCallback();\n this.__childPart?.setConnected(true);\n }\n\n /**\n * Invoked when the component is removed from the document's DOM.\n *\n * This callback is the main signal to the element that it may no longer be\n * used. `disconnectedCallback()` should ensure that nothing is holding a\n * reference to the element (such as event listeners added to nodes external\n * to the element), so that it is free to be garbage collected.\n *\n * ```ts\n * disconnectedCallback() {\n * super.disconnectedCallback();\n * window.removeEventListener('keydown', this._handleKeydown);\n * }\n * ```\n *\n * An element may be re-connected after being disconnected.\n *\n * @category lifecycle\n */\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.__childPart?.setConnected(false);\n }\n\n /**\n * Invoked on each update to perform rendering tasks. This method may return\n * any value renderable by lit-html's `ChildPart` - typically a\n * `TemplateResult`. Setting properties inside this method will *not* trigger\n * the element to update.\n * @category rendering\n */\n protected render(): unknown {\n return noChange;\n }\n}\n\n/**\n * Ensure this class is marked as `finalized` as an optimization ensuring\n * it will not needlessly try to `finalize`.\n *\n * Note this property name is a string to prevent breaking Closure JS Compiler\n * optimizations. See @lit/reactive-element for more information.\n */\n(LitElement as unknown as Record<string, unknown>)[\n JSCompiler_renameProperty('finalized', LitElement)\n] = true;\n\n// Install hydration if available\nglobalThis.litElementHydrateSupport?.({LitElement});\n\n// Apply polyfills if available\nconst polyfillSupport = DEV_MODE\n ? globalThis.litElementPolyfillSupportDevMode\n : globalThis.litElementPolyfillSupport;\npolyfillSupport?.({LitElement});\n\n/**\n * END USERS SHOULD NOT RELY ON THIS OBJECT.\n *\n * Private exports for use by other Lit packages, not intended for use by\n * external users.\n *\n * We currently do not make a mangled rollup build of the lit-ssr code. In order\n * to keep a number of (otherwise private) top-level exports mangled in the\n * client side code, we export a _$LE object containing those members (or\n * helper methods for accessing private fields of those members), and then\n * re-export them for use in lit-ssr. This keeps lit-ssr agnostic to whether the\n * client-side code is being used in `dev` mode or `prod` mode.\n *\n * This has a unique name, to disambiguate it from private exports in\n * lit-html, since this module re-exports all of lit-html.\n *\n * @private\n */\nexport const _$LE = {\n _$attributeToProperty: (\n el: LitElement,\n name: string,\n value: string | null\n ) => {\n // eslint-disable-next-line\n (el as any)._$attributeToProperty(name, value);\n },\n // eslint-disable-next-line\n _$changedProperties: (el: LitElement) => (el as any)._$changedProperties,\n};\n\n// IMPORTANT: do not change the property name or the assignment expression.\n// This line will be used in regexes to search for LitElement usage.\n(globalThis.litElementVersions ??= []).push('4.1.1');\nif (DEV_MODE && globalThis.litElementVersions.length > 1) {\n issueWarning!(\n 'multiple-versions',\n `Multiple versions of Lit loaded. Loading multiple versions ` +\n `is not recommended.`\n );\n}\n","/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst o=!1;export{o as isServer};\n//# sourceMappingURL=is-server.js.map\n","/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * @fileoverview\n *\n * This file exports a boolean const whose value will depend on what environment\n * the module is being imported from.\n */\n\nconst NODE_MODE = false;\n\n/**\n * A boolean that will be `true` in server environments like Node, and `false`\n * in browser environments. Note that your server environment or toolchain must\n * support the `\"node\"` export condition for this to be `true`.\n *\n * This can be used when authoring components to change behavior based on\n * whether or not the component is executing in an SSR context.\n */\nexport const isServer = NODE_MODE;\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/*\n * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all\n * property decorators (but not class decorators) in this file that have\n * an @ExportDecoratedItems annotation must be defined as a regular function,\n * not an arrow function.\n */\n\nimport type {Constructor} from './base.js';\n\n/**\n * Allow for custom element classes with private constructors\n */\ntype CustomElementClass = Omit<typeof HTMLElement, 'new'>;\n\nexport type CustomElementDecorator = {\n // legacy\n (cls: CustomElementClass): void;\n\n // standard\n (\n target: CustomElementClass,\n context: ClassDecoratorContext<Constructor<HTMLElement>>\n ): void;\n};\n\n/**\n * Class decorator factory that defines the decorated class as a custom element.\n *\n * ```js\n * @customElement('my-element')\n * class MyElement extends LitElement {\n * render() {\n * return html``;\n * }\n * }\n * ```\n * @category Decorator\n * @param tagName The tag name of the custom element to define.\n */\nexport const customElement =\n (tagName: string): CustomElementDecorator =>\n (\n classOrTarget: CustomElementClass | Constructor<HTMLElement>,\n context?: ClassDecoratorContext<Constructor<HTMLElement>>\n ) => {\n if (context !== undefined) {\n context.addInitializer(() => {\n customElements.define(\n tagName,\n classOrTarget as CustomElementConstructor\n );\n });\n } else {\n customElements.define(tagName, classOrTarget as CustomElementConstructor);\n }\n };\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.P(o,void 0,t),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/*\n * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all\n * property decorators (but not class decorators) in this file that have\n * an @ExportDecoratedItems annotation must be defined as a regular function,\n * not an arrow function.\n */\n\nimport {\n type PropertyDeclaration,\n type ReactiveElement,\n defaultConverter,\n notEqual,\n} from '../reactive-element.js';\nimport type {Interface} from './base.js';\n\nconst DEV_MODE = true;\n\nlet issueWarning: (code: string, warning: string) => void;\n\nif (DEV_MODE) {\n // Ensure warnings are issued only 1x, even if multiple versions of Lit\n // are loaded.\n const issuedWarnings: Set<string | undefined> =\n (globalThis.litIssuedWarnings ??= new Set());\n\n // Issue a warning, if we haven't already.\n issueWarning = (code: string, warning: string) => {\n warning += ` See https://lit.dev/msg/${code} for more information.`;\n if (!issuedWarnings.has(warning)) {\n console.warn(warning);\n issuedWarnings.add(warning);\n }\n };\n}\n\n// Overloads for property decorator so that TypeScript can infer the correct\n// return type when a decorator is used as an accessor decorator or a setter\n// decorator.\nexport type PropertyDecorator = {\n // accessor decorator signature\n <C extends Interface<ReactiveElement>, V>(\n target: ClassAccessorDecoratorTarget<C, V>,\n context: ClassAccessorDecoratorContext<C, V>\n ): ClassAccessorDecoratorResult<C, V>;\n\n // setter decorator signature\n <C extends Interface<ReactiveElement>, V>(\n target: (value: V) => void,\n context: ClassSetterDecoratorContext<C, V>\n ): (this: C, value: V) => void;\n\n // legacy decorator signature\n (\n protoOrDescriptor: Object,\n name: PropertyKey,\n descriptor?: PropertyDescriptor\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): any;\n};\n\nconst legacyProperty = (\n options: PropertyDeclaration | undefined,\n proto: Object,\n name: PropertyKey\n) => {\n const hasOwnProperty = proto.hasOwnProperty(name);\n (proto.constructor as typeof ReactiveElement).createProperty(\n name,\n hasOwnProperty ? {...options, wrapped: true} : options\n );\n // For accessors (which have a descriptor on the prototype) we need to\n // return a descriptor, otherwise TypeScript overwrites the descriptor we\n // define in createProperty() with the original descriptor. We don't do this\n // for fields, which don't have a descriptor, because this could overwrite\n // descriptor defined by other decorators.\n return hasOwnProperty\n ? Object.getOwnPropertyDescriptor(proto, name)\n : undefined;\n};\n\n// This is duplicated from a similar variable in reactive-element.ts, but\n// actually makes sense to have this default defined with the decorator, so\n// that different decorators could have different defaults.\nconst defaultPropertyDeclaration: PropertyDeclaration = {\n attribute: true,\n type: String,\n converter: defaultConverter,\n reflect: false,\n hasChanged: notEqual,\n};\n\n// Temporary type, until google3 is on TypeScript 5.2\ntype StandardPropertyContext<C, V> = (\n | ClassAccessorDecoratorContext<C, V>\n | ClassSetterDecoratorContext<C, V>\n) & {metadata: object};\n\n/**\n * Wraps a class accessor or setter so that `requestUpdate()` is called with the\n * property name and old value when the accessor is set.\n */\nexport const standardProperty = <C extends Interface<ReactiveElement>, V>(\n options: PropertyDeclaration = defaultPropertyDeclaration,\n target: ClassAccessorDecoratorTarget<C, V> | ((value: V) => void),\n context: StandardPropertyContext<C, V>\n): ClassAccessorDecoratorResult<C, V> | ((this: C, value: V) => void) => {\n const {kind, metadata} = context;\n\n if (DEV_MODE && metadata == null) {\n issueWarning(\n 'missing-class-metadata',\n `The class ${target} is missing decorator metadata. This ` +\n `could mean that you're using a compiler that supports decorators ` +\n `but doesn't support decorator metadata, such as TypeScript 5.1. ` +\n `Please update your compiler.`\n );\n }\n\n // Store the property options\n let properties = globalThis.litPropertyMetadata.get(metadata);\n if (properties === undefined) {\n globalThis.litPropertyMetadata.set(metadata, (properties = new Map()));\n }\n properties.set(context.name, options);\n\n if (kind === 'accessor') {\n // Standard decorators cannot dynamically modify the class, so we can't\n // replace a field with accessors. The user must use the new `accessor`\n // keyword instead.\n const {name} = context;\n return {\n set(this: ReactiveElement, v: V) {\n const oldValue = (\n target as ClassAccessorDecoratorTarget<C, V>\n ).get.call(this as unknown as C);\n (target as ClassAccessorDecoratorTarget<C, V>).set.call(\n this as unknown as C,\n v\n );\n this.requestUpdate(name, oldValue, options);\n },\n init(this: ReactiveElement, v: V): V {\n if (v !== undefined) {\n this._$changeProperty(name, undefined, options);\n }\n return v;\n },\n } as unknown as ClassAccessorDecoratorResult<C, V>;\n } else if (kind === 'setter') {\n const {name} = context;\n return function (this: ReactiveElement, value: V) {\n const oldValue = this[name as keyof ReactiveElement];\n (target as (value: V) => void).call(this, value);\n this.requestUpdate(name, oldValue, options);\n } as unknown as (this: C, value: V) => void;\n }\n throw new Error(`Unsupported decorator location: ${kind}`);\n};\n\n/**\n * A class field or accessor decorator which creates a reactive property that\n * reflects a corresponding attribute value. When a decorated property is set\n * the element will update and render. A {@linkcode PropertyDeclaration} may\n * optionally be supplied to configure property features.\n *\n * This decorator should only be used for public fields. As public fields,\n * properties should be considered as primarily settable by element users,\n * either via attribute or the property itself.\n *\n * Generally, properties that are changed by the element should be private or\n * protected fields and should use the {@linkcode state} decorator.\n *\n * However, sometimes element code does need to set a public property. This\n * should typically only be done in response to user interaction, and an event\n * should be fired informing the user; for example, a checkbox sets its\n * `checked` property when clicked and fires a `changed` event. Mutating public\n * properties should typically not be done for non-primitive (object or array)\n * properties. In other cases when an element needs to manage state, a private\n * property decorated via the {@linkcode state} decorator should be used. When\n * needed, state properties can be initialized via public properties to\n * facilitate complex interactions.\n *\n * ```ts\n * class MyElement {\n * @property({ type: Boolean })\n * clicked = false;\n * }\n * ```\n * @category Decorator\n * @ExportDecoratedItems\n */\nexport function property(options?: PropertyDeclaration): PropertyDecorator {\n return <C extends Interface<ReactiveElement>, V>(\n protoOrTarget:\n | object\n | ClassAccessorDecoratorTarget<C, V>\n | ((value: V) => void),\n nameOrContext:\n | PropertyKey\n | ClassAccessorDecoratorContext<C, V>\n | ClassSetterDecoratorContext<C, V>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): any => {\n return (\n typeof nameOrContext === 'object'\n ? standardProperty<C, V>(\n options,\n protoOrTarget as\n | ClassAccessorDecoratorTarget<C, V>\n | ((value: V) => void),\n nameOrContext as StandardPropertyContext<C, V>\n )\n : legacyProperty(\n options,\n protoOrTarget as Object,\n nameOrContext as PropertyKey\n )\n ) as PropertyDecorator;\n };\n}\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/*\n * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all\n * property decorators (but not class decorators) in this file that have\n * an @ExportDecoratedItems annotation must be defined as a regular function,\n * not an arrow function.\n */\n\nimport {property} from './property.js';\n\nexport interface StateDeclaration<Type = unknown> {\n /**\n * A function that indicates if a property should be considered changed when\n * it is set. The function should take the `newValue` and `oldValue` and\n * return `true` if an update should be requested.\n */\n hasChanged?(value: Type, oldValue: Type): boolean;\n}\n\n/**\n * @deprecated use StateDeclaration\n */\nexport type InternalPropertyDeclaration<Type = unknown> =\n StateDeclaration<Type>;\n\n/**\n * Declares a private or protected reactive property that still triggers\n * updates to the element when it changes. It does not reflect from the\n * corresponding attribute.\n *\n * Properties declared this way must not be used from HTML or HTML templating\n * systems, they're solely for properties internal to the element. These\n * properties may be renamed by optimization tools like closure compiler.\n * @category Decorator\n */\nexport function state(options?: StateDeclaration) {\n return property({\n ...options,\n // Add both `state` and `attribute` because we found a third party\n // controller that is keying off of PropertyOptions.state to determine\n // whether a field is a private internal property or not.\n state: true,\n attribute: false,\n });\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nfunction t(t){return(n,o)=>{const c=\"function\"==typeof n?n:n[o];Object.assign(c,t)}}export{t as eventOptions};\n//# sourceMappingURL=event-options.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/*\n * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all\n * property decorators (but not class decorators) in this file that have\n * an @ExportDecoratedItems annotation must be defined as a regular function,\n * not an arrow function.\n */\n\nimport type {ReactiveElement} from '../reactive-element.js';\nimport type {Interface} from './base.js';\n\nexport type EventOptionsDecorator = {\n // legacy\n (\n proto: Interface<ReactiveElement>,\n name: PropertyKey\n // Note TypeScript requires the return type to be `void|any`\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): void | any;\n\n // standard\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n <C, V extends (this: C, ...args: any) => any>(\n value: V,\n _context: ClassMethodDecoratorContext<C, V>\n ): void;\n};\n\n/**\n * Adds event listener options to a method used as an event listener in a\n * lit-html template.\n *\n * @param options An object that specifies event listener options as accepted by\n * `EventTarget#addEventListener` and `EventTarget#removeEventListener`.\n *\n * Current browsers support the `capture`, `passive`, and `once` options. See:\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Parameters\n *\n * ```ts\n * class MyElement {\n * clicked = false;\n *\n * render() {\n * return html`\n * <div @click=${this._onClick}>\n * <button></button>\n * </div>\n * `;\n * }\n *\n * @eventOptions({capture: true})\n * _onClick(e) {\n * this.clicked = true;\n * }\n * }\n * ```\n * @category Decorator\n */\nexport function eventOptions(\n options: AddEventListenerOptions\n): EventOptionsDecorator {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (<C, V extends (this: C, ...args: any) => any>(\n protoOrValue: V,\n nameOrContext: PropertyKey | ClassMethodDecoratorContext<C, V>\n ) => {\n const method =\n typeof protoOrValue === 'function'\n ? protoOrValue\n : protoOrValue[nameOrContext as keyof ReactiveElement];\n Object.assign(method, options);\n }) as EventOptionsDecorator;\n}\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/*\n * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all\n * property decorators (but not class decorators) in this file that have\n * an @ExportDecoratedItems annotation must be defined as a regular function,\n * not an arrow function.\n */\nimport type {ReactiveElement} from '../reactive-element.js';\nimport {desc, type Interface} from './base.js';\n\nconst DEV_MODE = true;\n\nlet issueWarning: (code: string, warning: string) => void;\n\nif (DEV_MODE) {\n // Ensure warnings are issued only 1x, even if multiple versions of Lit\n // are loaded.\n const issuedWarnings: Set<string | undefined> =\n (globalThis.litIssuedWarnings ??= new Set());\n\n // Issue a warning, if we haven't already.\n issueWarning = (code: string, warning: string) => {\n warning += code\n ? ` See https://lit.dev/msg/${code} for more information.`\n : '';\n if (!issuedWarnings.has(warning)) {\n console.warn(warning);\n issuedWarnings.add(warning);\n }\n };\n}\n\nexport type QueryDecorator = {\n // legacy\n (\n proto: Interface<ReactiveElement>,\n name: PropertyKey,\n descriptor?: PropertyDescriptor\n // Note TypeScript requires the return type to be `void|any`\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): void | any;\n\n // standard\n <C extends Interface<ReactiveElement>, V extends Element | null>(\n value: ClassAccessorDecoratorTarget<C, V>,\n context: ClassAccessorDecoratorContext<C, V>\n ): ClassAccessorDecoratorResult<C, V>;\n};\n\n/**\n * A property decorator that converts a class property into a getter that\n * executes a querySelector on the element's renderRoot.\n *\n * @param selector A DOMString containing one or more selectors to match.\n * @param cache An optional boolean which when true performs the DOM query only\n * once and caches the result.\n *\n * See: https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector\n *\n * ```ts\n * class MyElement {\n * @query('#first')\n * first: HTMLDivElement;\n *\n * render() {\n * return html`\n * <div id=\"first\"></div>\n * <div id=\"second\"></div>\n * `;\n * }\n * }\n * ```\n * @category Decorator\n */\nexport function query(selector: string, cache?: boolean): QueryDecorator {\n return (<C extends Interface<ReactiveElement>, V extends Element | null>(\n protoOrTarget: ClassAccessorDecoratorTarget<C, V>,\n nameOrContext: PropertyKey | ClassAccessorDecoratorContext<C, V>,\n descriptor?: PropertyDescriptor\n ) => {\n const doQuery = (el: Interface<ReactiveElement>): V => {\n const result = (el.renderRoot?.querySelector(selector) ?? null) as V;\n if (DEV_MODE && result === null && cache && !el.hasUpdated) {\n const name =\n typeof nameOrContext === 'object'\n ? nameOrContext.name\n : nameOrContext;\n issueWarning(\n '',\n `@query'd field ${JSON.stringify(String(name))} with the 'cache' ` +\n `flag set for selector '${selector}' has been accessed before ` +\n `the first update and returned null. This is expected if the ` +\n `renderRoot tree has not been provided beforehand (e.g. via ` +\n `Declarative Shadow DOM). Therefore the value hasn't been cached.`\n );\n }\n // TODO: if we want to allow users to assert that the query will never\n // return null, we need a new option and to throw here if the result\n // is null.\n return result;\n };\n if (cache) {\n // Accessors to wrap from either:\n // 1. The decorator target, in the case of standard decorators\n // 2. The property descriptor, in the case of experimental decorators\n // on auto-accessors.\n // 3. Functions that access our own cache-key property on the instance,\n // in the case of experimental decorators on fields.\n const {get, set} =\n typeof nameOrContext === 'object'\n ? protoOrTarget\n : descriptor ??\n (() => {\n const key = DEV_MODE\n ? Symbol(`${String(nameOrContext)} (@query() cache)`)\n : Symbol();\n type WithCache = ReactiveElement & {\n [key: symbol]: Element | null;\n };\n return {\n get() {\n return (this as WithCache)[key];\n },\n set(v) {\n (this as WithCache)[key] = v;\n },\n };\n })();\n return desc(protoOrTarget, nameOrContext, {\n get(this: ReactiveElement): V {\n let result: V = get!.call(this);\n if (result === undefined) {\n result = doQuery(this);\n if (result !== null || this.hasUpdated) {\n set!.call(this, result);\n }\n }\n return result;\n },\n });\n } else {\n // This object works as the return type for both standard and\n // experimental decorators.\n return desc(protoOrTarget, nameOrContext, {\n get(this: ReactiveElement) {\n return doQuery(this);\n },\n });\n }\n }) as QueryDecorator;\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * Generates a public interface type that removes private and protected fields.\n * This allows accepting otherwise incompatible versions of the type (e.g. from\n * multiple copies of the same package in `node_modules`).\n */\nexport type Interface<T> = {\n [K in keyof T]: T[K];\n};\n\nexport type Constructor<T> = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n new (...args: any[]): T;\n};\n\n/**\n * Wraps up a few best practices when returning a property descriptor from a\n * decorator.\n *\n * Marks the defined property as configurable, and enumerable, and handles\n * the case where we have a busted Reflect.decorate zombiefill (e.g. in Angular\n * apps).\n *\n * @internal\n */\nexport const desc = (\n obj: object,\n name: PropertyKey | ClassAccessorDecoratorContext<unknown, unknown>,\n descriptor: PropertyDescriptor\n) => {\n // For backwards compatibility, we keep them configurable and enumerable.\n descriptor.configurable = true;\n descriptor.enumerable = true;\n if (\n // We check for Reflect.decorate each time, in case the zombiefill\n // is applied via lazy loading some Angular code.\n (Reflect as typeof Reflect & {decorate?: unknown}).decorate &&\n typeof name !== 'object'\n ) {\n // If we're called as a legacy decorator, and Reflect.decorate is present\n // then we have no guarantees that the returned descriptor will be\n // defined on the class, so we must apply it directly ourselves.\n\n Object.defineProperty(obj, name, descriptor);\n }\n return descriptor;\n};\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nlet e;function r(r){return(n,o)=>t(n,o,{get(){return(this.renderRoot??(e??=document.createDocumentFragment())).querySelectorAll(r)}})}export{r as queryAll};\n//# sourceMappingURL=query-all.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/*\n * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all\n * property decorators (but not class decorators) in this file that have\n * an @ExportDecoratedItems annotation must be defined as a regular function,\n * not an arrow function.\n */\nimport type {ReactiveElement} from '../reactive-element.js';\nimport {desc, type Interface} from './base.js';\n\nexport type QueryAllDecorator = {\n // legacy\n (\n proto: Interface<ReactiveElement>,\n name: PropertyKey,\n descriptor?: PropertyDescriptor\n // Note TypeScript requires the return type to be `void|any`\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): void | any;\n\n // standard\n <C extends Interface<ReactiveElement>, V extends NodeList>(\n value: ClassAccessorDecoratorTarget<C, V>,\n context: ClassAccessorDecoratorContext<C, V>\n ): ClassAccessorDecoratorResult<C, V>;\n};\n\n// Shared fragment used to generate empty NodeLists when a render root is\n// undefined\nlet fragment: DocumentFragment;\n\n/**\n * A property decorator that converts a class property into a getter\n * that executes a querySelectorAll on the element's renderRoot.\n *\n * @param selector A DOMString containing one or more selectors to match.\n *\n * See:\n * https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll\n *\n * ```ts\n * class MyElement {\n * @queryAll('div')\n * divs: NodeListOf<HTMLDivElement>;\n *\n * render() {\n * return html`\n * <div id=\"first\"></div>\n * <div id=\"second\"></div>\n * `;\n * }\n * }\n * ```\n * @category Decorator\n */\nexport function queryAll(selector: string): QueryAllDecorator {\n return ((\n obj: object,\n name: PropertyKey | ClassAccessorDecoratorContext<unknown, unknown>\n ) => {\n return desc(obj, name, {\n get(this: ReactiveElement) {\n const container =\n this.renderRoot ?? (fragment ??= document.createDocumentFragment());\n return container.querySelectorAll(selector);\n },\n });\n }) as QueryAllDecorator;\n}\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nfunction r(r){return(n,e)=>t(n,e,{async get(){return await this.updateComplete,this.renderRoot?.querySelector(r)??null}})}export{r as queryAsync};\n//# sourceMappingURL=query-async.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/*\n * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all\n * property decorators (but not class decorators) in this file that have\n * an @ExportDecoratedItems annotation must be defined as a regular function,\n * not an arrow function.\n */\n\nimport type {ReactiveElement} from '../reactive-element.js';\nimport {desc, type Interface} from './base.js';\n\nexport type QueryAsyncDecorator = {\n // legacy\n (\n proto: Interface<ReactiveElement>,\n name: PropertyKey,\n descriptor?: PropertyDescriptor\n // Note TypeScript requires the return type to be `void|any`\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): void | any;\n\n // standard\n <C extends Interface<ReactiveElement>, V extends Promise<Element | null>>(\n value: ClassAccessorDecoratorTarget<C, V>,\n context: ClassAccessorDecoratorContext<C, V>\n ): ClassAccessorDecoratorResult<C, V>;\n};\n\n// Note, in the future, we may extend this decorator to support the use case\n// where the queried element may need to do work to become ready to interact\n// with (e.g. load some implementation code). If so, we might elect to\n// add a second argument defining a function that can be run to make the\n// queried element loaded/updated/ready.\n/**\n * A property decorator that converts a class property into a getter that\n * returns a promise that resolves to the result of a querySelector on the\n * element's renderRoot done after the element's `updateComplete` promise\n * resolves. When the queried property may change with element state, this\n * decorator can be used instead of requiring users to await the\n * `updateComplete` before accessing the property.\n *\n * @param selector A DOMString containing one or more selectors to match.\n *\n * See: https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector\n *\n * ```ts\n * class MyElement {\n * @queryAsync('#first')\n * first: Promise<HTMLDivElement>;\n *\n * render() {\n * return html`\n * <div id=\"first\"></div>\n * <div id=\"second\"></div>\n * `;\n * }\n * }\n *\n * // external usage\n * async doSomethingWithFirst() {\n * (await aMyElement.first).doSomething();\n * }\n * ```\n * @category Decorator\n */\nexport function queryAsync(selector: string) {\n return ((\n obj: object,\n name: PropertyKey | ClassAccessorDecoratorContext<unknown, unknown>\n ) => {\n return desc(obj, name, {\n async get(this: ReactiveElement) {\n await this.updateComplete;\n return this.renderRoot?.querySelector(selector) ?? null;\n },\n });\n }) as QueryAsyncDecorator;\n}\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function o(o){return(e,n)=>{const{slot:r,selector:s}=o??{},c=\"slot\"+(r?`[name=${r}]`:\":not([name])\");return t(e,n,{get(){const t=this.renderRoot?.querySelector(c),e=t?.assignedElements(o)??[];return void 0===s?e:e.filter((t=>t.matches(s)))}})}}export{o as queryAssignedElements};\n//# sourceMappingURL=query-assigned-elements.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/*\n * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all\n * property decorators (but not class decorators) in this file that have\n * an @ExportDecoratedItems annotation must be defined as a regular function,\n * not an arrow function.\n */\n\nimport type {ReactiveElement} from '../reactive-element.js';\nimport type {QueryAssignedNodesOptions} from './query-assigned-nodes.js';\nimport {desc, type Interface} from './base.js';\n\nexport type QueryAssignedElementsDecorator = {\n // legacy\n (\n proto: Interface<ReactiveElement>,\n name: PropertyKey,\n descriptor?: PropertyDescriptor\n // Note TypeScript requires the return type to be `void|any`\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): void | any;\n\n // standard\n <C extends Interface<ReactiveElement>, V extends Array<Element>>(\n value: ClassAccessorDecoratorTarget<C, V>,\n context: ClassAccessorDecoratorContext<C, V>\n ): ClassAccessorDecoratorResult<C, V>;\n};\n\n/**\n * Options for the {@linkcode queryAssignedElements} decorator. Extends the\n * options that can be passed into\n * [HTMLSlotElement.assignedElements](https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement/assignedElements).\n */\nexport interface QueryAssignedElementsOptions\n extends QueryAssignedNodesOptions {\n /**\n * CSS selector used to filter the elements returned. For example, a selector\n * of `\".item\"` will only include elements with the `item` class.\n */\n selector?: string;\n}\n\n/**\n * A property decorator that converts a class property into a getter that\n * returns the `assignedElements` of the given `slot`. Provides a declarative\n * way to use\n * [`HTMLSlotElement.assignedElements`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement/assignedElements).\n *\n * Can be passed an optional {@linkcode QueryAssignedElementsOptions} object.\n *\n * Example usage:\n * ```ts\n * class MyElement {\n * @queryAssignedElements({ slot: 'list' })\n * listItems!: Array<HTMLElement>;\n * @queryAssignedElements()\n * unnamedSlotEls!: Array<HTMLElement>;\n *\n * render() {\n * return html`\n * <slot name=\"list\"></slot>\n * <slot></slot>\n * `;\n * }\n * }\n * ```\n *\n * Note, the type of this property should be annotated as `Array<HTMLElement>`.\n *\n * @category Decorator\n */\nexport function queryAssignedElements(\n options?: QueryAssignedElementsOptions\n): QueryAssignedElementsDecorator {\n return (<V extends Array<Element>>(\n obj: object,\n name: PropertyKey | ClassAccessorDecoratorContext<unknown, unknown>\n ) => {\n const {slot, selector} = options ?? {};\n const slotSelector = `slot${slot ? `[name=${slot}]` : ':not([name])'}`;\n return desc(obj, name, {\n get(this: ReactiveElement): V {\n const slotEl =\n this.renderRoot?.querySelector<HTMLSlotElement>(slotSelector);\n const elements = slotEl?.assignedElements(options) ?? [];\n return (\n selector === undefined\n ? elements\n : elements.filter((node) => node.matches(selector))\n ) as V;\n },\n });\n }) as QueryAssignedElementsDecorator;\n}\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function n(n){return(o,r)=>{const{slot:e}=n??{},s=\"slot\"+(e?`[name=${e}]`:\":not([name])\");return t(o,r,{get(){const t=this.renderRoot?.querySelector(s);return t?.assignedNodes(n)??[]}})}}export{n as queryAssignedNodes};\n//# sourceMappingURL=query-assigned-nodes.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/*\n * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all\n * property decorators (but not class decorators) in this file that have\n * an @ExportDecoratedItems annotation must be defined as a regular function,\n * not an arrow function.\n */\nimport type {ReactiveElement} from '../reactive-element.js';\nimport {desc, type Interface} from './base.js';\n\n/**\n * Options for the {@linkcode queryAssignedNodes} decorator. Extends the options\n * that can be passed into [HTMLSlotElement.assignedNodes](https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement/assignedNodes).\n */\nexport interface QueryAssignedNodesOptions extends AssignedNodesOptions {\n /**\n * Name of the slot to query. Leave empty for the default slot.\n */\n slot?: string;\n}\n\nexport type QueryAssignedNodesDecorator = {\n // legacy\n (\n proto: Interface<ReactiveElement>,\n name: PropertyKey,\n descriptor?: PropertyDescriptor\n // Note TypeScript requires the return type to be `void|any`\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): void | any;\n\n // standard\n <C extends Interface<ReactiveElement>, V extends Array<Node>>(\n value: ClassAccessorDecoratorTarget<C, V>,\n context: ClassAccessorDecoratorContext<C, V>\n ): ClassAccessorDecoratorResult<C, V>;\n};\n\n/**\n * A property decorator that converts a class property into a getter that\n * returns the `assignedNodes` of the given `slot`.\n *\n * Can be passed an optional {@linkcode QueryAssignedNodesOptions} object.\n *\n * Example usage:\n * ```ts\n * class MyElement {\n * @queryAssignedNodes({slot: 'list', flatten: true})\n * listItems!: Array<Node>;\n *\n * render() {\n * return html`\n * <slot name=\"list\"></slot>\n * `;\n * }\n * }\n * ```\n *\n * Note the type of this property should be annotated as `Array<Node>`. Use the\n * queryAssignedElements decorator to list only elements, and optionally filter\n * the element list using a CSS selector.\n *\n * @category Decorator\n */\nexport function queryAssignedNodes(\n options?: QueryAssignedNodesOptions\n): QueryAssignedNodesDecorator {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (<V extends Array<Node>>(\n obj: object,\n name: PropertyKey | ClassAccessorDecoratorContext<unknown, unknown>\n ) => {\n const {slot} = options ?? {};\n const slotSelector = `slot${slot ? `[name=${slot}]` : ':not([name])'}`;\n return desc(obj, name, {\n get(this: ReactiveElement): V {\n const slotEl =\n this.renderRoot?.querySelector<HTMLSlotElement>(slotSelector);\n return (slotEl?.assignedNodes(options) ?? []) as unknown as V;\n },\n });\n }) as QueryAssignedNodesDecorator;\n}\n","import{nothing as t}from\"../lit-html.js\";import{AsyncDirective as i}from\"../async-directive.js\";import{directive as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=()=>new h;class h{}const o=new WeakMap,n=s(class extends i{render(i){return t}update(i,[s]){const e=s!==this.Y;return e&&void 0!==this.Y&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.Y=s,this.ht=i.options?.host,this.rt(this.ct=i.element)),t}rt(t){if(this.isConnected||(t=void 0),\"function\"==typeof this.Y){const i=this.ht??globalThis;let s=o.get(i);void 0===s&&(s=new WeakMap,o.set(i,s)),void 0!==s.get(this.Y)&&this.Y.call(this.ht,void 0),s.set(this.Y,t),void 0!==t&&this.Y.call(this.ht,t)}else this.Y.value=t}get lt(){return\"function\"==typeof this.Y?o.get(this.ht??globalThis)?.get(this.Y):this.Y?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});export{e as createRef,n as ref};\n//# sourceMappingURL=ref.js.map\n","/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport {nothing, ElementPart} from '../lit-html.js';\nimport {directive, AsyncDirective} from '../async-directive.js';\n\n/**\n * Creates a new Ref object, which is container for a reference to an element.\n */\nexport const createRef = <T = Element>() => new Ref<T>();\n\n/**\n * An object that holds a ref value.\n */\nclass Ref<T = Element> {\n /**\n * The current Element value of the ref, or else `undefined` if the ref is no\n * longer rendered.\n */\n readonly value?: T;\n}\n\nexport type {Ref};\n\ninterface RefInternal {\n value: Element | undefined;\n}\n\n// When callbacks are used for refs, this map tracks the last value the callback\n// was called with, for ensuring a directive doesn't clear the ref if the ref\n// has already been rendered to a new spot. It is double-keyed on both the\n// context (`options.host`) and the callback, since we auto-bind class methods\n// to `options.host`.\nconst lastElementForContextAndCallback = new WeakMap<\n object,\n WeakMap<Function, Element | undefined>\n>();\n\nexport type RefOrCallback<T = Element> = Ref<T> | ((el: T | undefined) => void);\n\nclass RefDirective extends AsyncDirective {\n private _element?: Element;\n private _ref?: RefOrCallback;\n private _context?: object;\n\n render(_ref?: RefOrCallback) {\n return nothing;\n }\n\n override update(part: ElementPart, [ref]: Parameters<this['render']>) {\n const refChanged = ref !== this._ref;\n if (refChanged && this._ref !== undefined) {\n // The ref passed to the directive has changed;\n // unset the previous ref's value\n this._updateRefValue(undefined);\n }\n if (refChanged || this._lastElementForRef !== this._element) {\n // We either got a new ref or this is the first render;\n // store the ref/element & update the ref value\n this._ref = ref;\n this._context = part.options?.host;\n this._updateRefValue((this._element = part.element));\n }\n return nothing;\n }\n\n private _updateRefValue(element: Element | undefined) {\n if (!this.isConnected) {\n element = undefined;\n }\n if (typeof this._ref === 'function') {\n // If the current ref was called with a previous value, call with\n // `undefined`; We do this to ensure callbacks are called in a consistent\n // way regardless of whether a ref might be moving up in the tree (in\n // which case it would otherwise be called with the new value before the\n // previous one unsets it) and down in the tree (where it would be unset\n // before being set). Note that element lookup is keyed by\n // both the context and the callback, since we allow passing unbound\n // functions that are called on options.host, and we want to treat\n // these as unique \"instances\" of a function.\n const context = this._context ?? globalThis;\n let lastElementForCallback =\n lastElementForContextAndCallback.get(context);\n if (lastElementForCallback === undefined) {\n lastElementForCallback = new WeakMap();\n lastElementForContextAndCallback.set(context, lastElementForCallback);\n }\n if (lastElementForCallback.get(this._ref) !== undefined) {\n this._ref.call(this._context, undefined);\n }\n lastElementForCallback.set(this._ref, element);\n // Call the ref with the new element value\n if (element !== undefined) {\n this._ref.call(this._context, element);\n }\n } else {\n (this._ref as RefInternal)!.value = element;\n }\n }\n\n private get _lastElementForRef() {\n return typeof this._ref === 'function'\n ? lastElementForContextAndCallback\n .get(this._context ?? globalThis)\n ?.get(this._ref)\n : this._ref?.value;\n }\n\n override disconnected() {\n // Only clear the box if our element is still the one in it (i.e. another\n // directive instance hasn't rendered its element to it before us); that\n // only happens in the event of the directive being cleared (not via manual\n // disconnection)\n if (this._lastElementForRef === this._element) {\n this._updateRefValue(undefined);\n }\n }\n\n override reconnected() {\n // If we were manually disconnected, we can safely put our element back in\n // the box, since no rendering could have occurred to change its state\n this._updateRefValue(this._element);\n }\n}\n\n/**\n * Sets the value of a Ref object or calls a ref callback with the element it's\n * bound to.\n *\n * A Ref object acts as a container for a reference to an element. A ref\n * callback is a function that takes an element as its only argument.\n *\n * The ref directive sets the value of the Ref object or calls the ref callback\n * during rendering, if the referenced element changed.\n *\n * Note: If a ref callback is rendered to a different element position or is\n * removed in a subsequent render, it will first be called with `undefined`,\n * followed by another call with the new element it was rendered to (if any).\n *\n * ```js\n * // Using Ref object\n * const inputRef = createRef();\n * render(html`<input ${ref(inputRef)}>`, container);\n * inputRef.value.focus();\n *\n * // Using callback\n * const callback = (inputElement) => inputElement.focus();\n * render(html`<input ${ref(callback)}>`, container);\n * ```\n */\nexport const ref = directive(RefDirective);\n\n/**\n * The type of the class that powers this directive. Necessary for naming the\n * directive's return type.\n */\nexport type {RefDirective};\n","import{isSingleExpression as i}from\"./directive-helpers.js\";import{Directive as t,PartType as e}from\"./directive.js\";export{directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=(i,t)=>{const e=i._$AN;if(void 0===e)return!1;for(const i of e)i._$AO?.(t,!1),s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===e?.size)},r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),c(t)}};function h(i){void 0!==this._$AN?(o(this),this._$AM=i,r(this)):this._$AM=i}function n(i,t=!1,e=0){const r=this._$AH,h=this._$AN;if(void 0!==h&&0!==h.size)if(t)if(Array.isArray(r))for(let i=e;i<r.length;i++)s(r[i],!1),o(r[i]);else null!=r&&(s(r,!1),o(r));else s(this,i)}const c=i=>{i.type==e.CHILD&&(i._$AP??=n,i._$AQ??=h)};class f extends t{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),r(this),this.isConnected=i._$AU}_$AO(i,t=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(s(this,i),o(this))}setValue(t){if(i(this._$Ct))this._$Ct._$AI(t,this);else{const i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}export{f as AsyncDirective,t as Directive,e as PartType};\n//# sourceMappingURL=async-directive.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * Overview:\n *\n * This module is designed to add support for an async `setValue` API and\n * `disconnected` callback to directives with the least impact on the core\n * runtime or payload when that feature is not used.\n *\n * The strategy is to introduce a `AsyncDirective` subclass of\n * `Directive` that climbs the \"parent\" tree in its constructor to note which\n * branches of lit-html's \"logical tree\" of data structures contain such\n * directives and thus need to be crawled when a subtree is being cleared (or\n * manually disconnected) in order to run the `disconnected` callback.\n *\n * The \"nodes\" of the logical tree include Parts, TemplateInstances (for when a\n * TemplateResult is committed to a value of a ChildPart), and Directives; these\n * all implement a common interface called `DisconnectableChild`. Each has a\n * `_$parent` reference which is set during construction in the core code, and a\n * `_$disconnectableChildren` field which is initially undefined.\n *\n * The sparse tree created by means of the `AsyncDirective` constructor\n * crawling up the `_$parent` tree and placing a `_$disconnectableChildren` Set\n * on each parent that includes each child that contains a\n * `AsyncDirective` directly or transitively via its children. In order to\n * notify connection state changes and disconnect (or reconnect) a tree, the\n * `_$notifyConnectionChanged` API is patched onto ChildParts as a directive\n * climbs the parent tree, which is called by the core when clearing a part if\n * it exists. When called, that method iterates over the sparse tree of\n * Set<DisconnectableChildren> built up by AsyncDirectives, and calls\n * `_$notifyDirectiveConnectionChanged` on any directives that are encountered\n * in that tree, running the required callbacks.\n *\n * A given \"logical tree\" of lit-html data-structures might look like this:\n *\n * ChildPart(N1) _$dC=[D2,T3]\n * ._directive\n * AsyncDirective(D2)\n * ._value // user value was TemplateResult\n * TemplateInstance(T3) _$dC=[A4,A6,N10,N12]\n * ._$parts[]\n * AttributePart(A4) _$dC=[D5]\n * ._directives[]\n * AsyncDirective(D5)\n * AttributePart(A6) _$dC=[D7,D8]\n * ._directives[]\n * AsyncDirective(D7)\n * Directive(D8) _$dC=[D9]\n * ._directive\n * AsyncDirective(D9)\n * ChildPart(N10) _$dC=[D11]\n * ._directive\n * AsyncDirective(D11)\n * ._value\n * string\n * ChildPart(N12) _$dC=[D13,N14,N16]\n * ._directive\n * AsyncDirective(D13)\n * ._value // user value was iterable\n * Array<ChildPart>\n * ChildPart(N14) _$dC=[D15]\n * ._value\n * string\n * ChildPart(N16) _$dC=[D17,T18]\n * ._directive\n * AsyncDirective(D17)\n * ._value // user value was TemplateResult\n * TemplateInstance(T18) _$dC=[A19,A21,N25]\n * ._$parts[]\n * AttributePart(A19) _$dC=[D20]\n * ._directives[]\n * AsyncDirective(D20)\n * AttributePart(A21) _$dC=[22,23]\n * ._directives[]\n * AsyncDirective(D22)\n * Directive(D23) _$dC=[D24]\n * ._directive\n * AsyncDirective(D24)\n * ChildPart(N25) _$dC=[D26]\n * ._directive\n * AsyncDirective(D26)\n * ._value\n * string\n *\n * Example 1: The directive in ChildPart(N12) updates and returns `nothing`. The\n * ChildPart will _clear() itself, and so we need to disconnect the \"value\" of\n * the ChildPart (but not its directive). In this case, when `_clear()` calls\n * `_$notifyConnectionChanged()`, we don't iterate all of the\n * _$disconnectableChildren, rather we do a value-specific disconnection: i.e.\n * since the _value was an Array<ChildPart> (because an iterable had been\n * committed), we iterate the array of ChildParts (N14, N16) and run\n * `setConnected` on them (which does recurse down the full tree of\n * `_$disconnectableChildren` below it, and also removes N14 and N16 from N12's\n * `_$disconnectableChildren`). Once the values have been disconnected, we then\n * check whether the ChildPart(N12)'s list of `_$disconnectableChildren` is empty\n * (and would remove it from its parent TemplateInstance(T3) if so), but since\n * it would still contain its directive D13, it stays in the disconnectable\n * tree.\n *\n * Example 2: In the course of Example 1, `setConnected` will reach\n * ChildPart(N16); in this case the entire part is being disconnected, so we\n * simply iterate all of N16's `_$disconnectableChildren` (D17,T18) and\n * recursively run `setConnected` on them. Note that we only remove children\n * from `_$disconnectableChildren` for the top-level values being disconnected\n * on a clear; doing this bookkeeping lower in the tree is wasteful since it's\n * all being thrown away.\n *\n * Example 3: If the LitElement containing the entire tree above becomes\n * disconnected, it will run `childPart.setConnected()` (which calls\n * `childPart._$notifyConnectionChanged()` if it exists); in this case, we\n * recursively run `setConnected()` over the entire tree, without removing any\n * children from `_$disconnectableChildren`, since this tree is required to\n * re-connect the tree, which does the same operation, simply passing\n * `isConnected: true` down the tree, signaling which callback to run.\n */\n\nimport {AttributePart, ChildPart, Disconnectable, Part} from './lit-html.js';\nimport {isSingleExpression} from './directive-helpers.js';\nimport {Directive, PartInfo, PartType} from './directive.js';\nexport * from './directive.js';\n\nconst DEV_MODE = true;\n\n/**\n * Recursively walks down the tree of Parts/TemplateInstances/Directives to set\n * the connected state of directives and run `disconnected`/ `reconnected`\n * callbacks.\n *\n * @return True if there were children to disconnect; false otherwise\n */\nconst notifyChildrenConnectedChanged = (\n parent: Disconnectable,\n isConnected: boolean\n): boolean => {\n const children = parent._$disconnectableChildren;\n if (children === undefined) {\n return false;\n }\n for (const obj of children) {\n // The existence of `_$notifyDirectiveConnectionChanged` is used as a \"brand\" to\n // disambiguate AsyncDirectives from other DisconnectableChildren\n // (as opposed to using an instanceof check to know when to call it); the\n // redundancy of \"Directive\" in the API name is to avoid conflicting with\n // `_$notifyConnectionChanged`, which exists `ChildParts` which are also in\n // this list\n // Disconnect Directive (and any nested directives contained within)\n // This property needs to remain unminified.\n (obj as AsyncDirective)['_$notifyDirectiveConnectionChanged']?.(\n isConnected,\n false\n );\n // Disconnect Part/TemplateInstance\n notifyChildrenConnectedChanged(obj, isConnected);\n }\n return true;\n};\n\n/**\n * Removes the given child from its parent list of disconnectable children, and\n * if the parent list becomes empty as a result, removes the parent from its\n * parent, and so forth up the tree when that causes subsequent parent lists to\n * become empty.\n */\nconst removeDisconnectableFromParent = (obj: Disconnectable) => {\n let parent, children;\n do {\n if ((parent = obj._$parent) === undefined) {\n break;\n }\n children = parent._$disconnectableChildren!;\n children.delete(obj);\n obj = parent;\n } while (children?.size === 0);\n};\n\nconst addDisconnectableToParent = (obj: Disconnectable) => {\n // Climb the parent tree, creating a sparse tree of children needing\n // disconnection\n for (let parent; (parent = obj._$parent); obj = parent) {\n let children = parent._$disconnectableChildren;\n if (children === undefined) {\n parent._$disconnectableChildren = children = new Set();\n } else if (children.has(obj)) {\n // Once we've reached a parent that already contains this child, we\n // can short-circuit\n break;\n }\n children.add(obj);\n installDisconnectAPI(parent);\n }\n};\n\n/**\n * Changes the parent reference of the ChildPart, and updates the sparse tree of\n * Disconnectable children accordingly.\n *\n * Note, this method will be patched onto ChildPart instances and called from\n * the core code when parts are moved between different parents.\n */\nfunction reparentDisconnectables(this: ChildPart, newParent: Disconnectable) {\n if (this._$disconnectableChildren !== undefined) {\n removeDisconnectableFromParent(this);\n this._$parent = newParent;\n addDisconnectableToParent(this);\n } else {\n this._$parent = newParent;\n }\n}\n\n/**\n * Sets the connected state on any directives contained within the committed\n * value of this part (i.e. within a TemplateInstance or iterable of\n * ChildParts) and runs their `disconnected`/`reconnected`s, as well as within\n * any directives stored on the ChildPart (when `valueOnly` is false).\n *\n * `isClearingValue` should be passed as `true` on a top-level part that is\n * clearing itself, and not as a result of recursively disconnecting directives\n * as part of a `clear` operation higher up the tree. This both ensures that any\n * directive on this ChildPart that produced a value that caused the clear\n * operation is not disconnected, and also serves as a performance optimization\n * to avoid needless bookkeeping when a subtree is going away; when clearing a\n * subtree, only the top-most part need to remove itself from the parent.\n *\n * `fromPartIndex` is passed only in the case of a partial `_clear` running as a\n * result of truncating an iterable.\n *\n * Note, this method will be patched onto ChildPart instances and called from the\n * core code when parts are cleared or the connection state is changed by the\n * user.\n */\nfunction notifyChildPartConnectedChanged(\n this: ChildPart,\n isConnected: boolean,\n isClearingValue = false,\n fromPartIndex = 0\n) {\n const value = this._$committedValue;\n const children = this._$disconnectableChildren;\n if (children === undefined || children.size === 0) {\n return;\n }\n if (isClearingValue) {\n if (Array.isArray(value)) {\n // Iterable case: Any ChildParts created by the iterable should be\n // disconnected and removed from this ChildPart's disconnectable\n // children (starting at `fromPartIndex` in the case of truncation)\n for (let i = fromPartIndex; i < value.length; i++) {\n notifyChildrenConnectedChanged(value[i], false);\n removeDisconnectableFromParent(value[i]);\n }\n } else if (value != null) {\n // TemplateInstance case: If the value has disconnectable children (will\n // only be in the case that it is a TemplateInstance), we disconnect it\n // and remove it from this ChildPart's disconnectable children\n notifyChildrenConnectedChanged(value as Disconnectable, false);\n removeDisconnectableFromParent(value as Disconnectable);\n }\n } else {\n notifyChildrenConnectedChanged(this, isConnected);\n }\n}\n\n/**\n * Patches disconnection API onto ChildParts.\n */\nconst installDisconnectAPI = (obj: Disconnectable) => {\n if ((obj as ChildPart).type == PartType.CHILD) {\n (obj as ChildPart)._$notifyConnectionChanged ??=\n notifyChildPartConnectedChanged;\n (obj as ChildPart)._$reparentDisconnectables ??= reparentDisconnectables;\n }\n};\n\n/**\n * An abstract `Directive` base class whose `disconnected` method will be\n * called when the part containing the directive is cleared as a result of\n * re-rendering, or when the user calls `part.setConnected(false)` on\n * a part that was previously rendered containing the directive (as happens\n * when e.g. a LitElement disconnects from the DOM).\n *\n * If `part.setConnected(true)` is subsequently called on a\n * containing part, the directive's `reconnected` method will be called prior\n * to its next `update`/`render` callbacks. When implementing `disconnected`,\n * `reconnected` should also be implemented to be compatible with reconnection.\n *\n * Note that updates may occur while the directive is disconnected. As such,\n * directives should generally check the `this.isConnected` flag during\n * render/update to determine whether it is safe to subscribe to resources\n * that may prevent garbage collection.\n */\nexport abstract class AsyncDirective extends Directive {\n // As opposed to other Disconnectables, AsyncDirectives always get notified\n // when the RootPart connection changes, so the public `isConnected`\n // is a locally stored variable initialized via its part's getter and synced\n // via `_$notifyDirectiveConnectionChanged`. This is cheaper than using\n // the _$isConnected getter, which has to look back up the tree each time.\n /**\n * The connection state for this Directive.\n */\n isConnected!: boolean;\n\n // @internal\n override _$disconnectableChildren?: Set<Disconnectable> = undefined;\n /**\n * Initialize the part with internal fields\n * @param part\n * @param parent\n * @param attributeIndex\n */\n override _$initialize(\n part: Part,\n parent: Disconnectable,\n attributeIndex: number | undefined\n ) {\n super._$initialize(part, parent, attributeIndex);\n addDisconnectableToParent(this);\n this.isConnected = part._$isConnected;\n }\n // This property needs to remain unminified.\n /**\n * Called from the core code when a directive is going away from a part (in\n * which case `shouldRemoveFromParent` should be true), and from the\n * `setChildrenConnected` helper function when recursively changing the\n * connection state of a tree (in which case `shouldRemoveFromParent` should\n * be false).\n *\n * @param isConnected\n * @param isClearingDirective - True when the directive itself is being\n * removed; false when the tree is being disconnected\n * @internal\n */\n override ['_$notifyDirectiveConnectionChanged'](\n isConnected: boolean,\n isClearingDirective = true\n ) {\n if (isConnected !== this.isConnected) {\n this.isConnected = isConnected;\n if (isConnected) {\n this.reconnected?.();\n } else {\n this.disconnected?.();\n }\n }\n if (isClearingDirective) {\n notifyChildrenConnectedChanged(this, isConnected);\n removeDisconnectableFromParent(this);\n }\n }\n\n /**\n * Sets the value of the directive's Part outside the normal `update`/`render`\n * lifecycle of a directive.\n *\n * This method should not be called synchronously from a directive's `update`\n * or `render`.\n *\n * @param directive The directive to update\n * @param value The value to set\n */\n setValue(value: unknown) {\n if (isSingleExpression(this.__part as unknown as PartInfo)) {\n this.__part._$setValue(value, this);\n } else {\n // this.__attributeIndex will be defined in this case, but\n // assert it in dev mode\n if (DEV_MODE && this.__attributeIndex === undefined) {\n throw new Error(`Expected this.__attributeIndex to be a number`);\n }\n const newValues = [...(this.__part._$committedValue as Array<unknown>)];\n newValues[this.__attributeIndex!] = value;\n (this.__part as AttributePart)._$setValue(newValues, this, 0);\n }\n }\n\n /**\n * User callbacks for implementing logic to release any resources/subscriptions\n * that may have been retained by this directive. Since directives may also be\n * re-connected, `reconnected` should also be implemented to restore the\n * working state of the directive prior to the next render.\n */\n protected disconnected() {}\n protected reconnected() {}\n}\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2,MATHML:3},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,d=o=>o?._$litDirective$,f=o=>void 0===o.strings,s=()=>document.createComment(\"\"),r=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(s(),l),c=e.insertBefore(s(),l);n=new t(i,c,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,c=i!==o;if(c){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||c){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,M=o=>{o._$AP?.(!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},h=o=>{o._$AR()};export{n as TemplateResultType,h as clearPart,p as getCommittedValue,d as getDirectiveClass,r as insertPart,l as isCompiledTemplateResult,c as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,M as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {\n _$LH,\n Part,\n DirectiveParent,\n CompiledTemplateResult,\n MaybeCompiledTemplateResult,\n UncompiledTemplateResult,\n} from './lit-html.js';\nimport {\n DirectiveResult,\n DirectiveClass,\n PartInfo,\n AttributePartInfo,\n} from './directive.js';\ntype Primitive = null | undefined | boolean | number | string | symbol | bigint;\n\nconst {_ChildPart: ChildPart} = _$LH;\n\ntype ChildPart = InstanceType<typeof ChildPart>;\n\nconst ENABLE_SHADYDOM_NOPATCH = true;\n\nconst wrap =\n ENABLE_SHADYDOM_NOPATCH &&\n window.ShadyDOM?.inUse &&\n window.ShadyDOM?.noPatch === true\n ? window.ShadyDOM!.wrap\n : (node: Node) => node;\n\n/**\n * Tests if a value is a primitive value.\n *\n * See https://tc39.github.io/ecma262/#sec-typeof-operator\n */\nexport const isPrimitive = (value: unknown): value is Primitive =>\n value === null || (typeof value != 'object' && typeof value != 'function');\n\nexport const TemplateResultType = {\n HTML: 1,\n SVG: 2,\n MATHML: 3,\n} as const;\n\nexport type TemplateResultType =\n (typeof TemplateResultType)[keyof typeof TemplateResultType];\n\ntype IsTemplateResult = {\n (val: unknown): val is MaybeCompiledTemplateResult;\n <T extends TemplateResultType>(\n val: unknown,\n type: T\n ): val is UncompiledTemplateResult<T>;\n};\n\n/**\n * Tests if a value is a TemplateResult or a CompiledTemplateResult.\n */\nexport const isTemplateResult: IsTemplateResult = (\n value: unknown,\n type?: TemplateResultType\n): value is UncompiledTemplateResult =>\n type === undefined\n ? // This property needs to remain unminified.\n (value as UncompiledTemplateResult)?.['_$litType$'] !== undefined\n : (value as UncompiledTemplateResult)?.['_$litType$'] === type;\n\n/**\n * Tests if a value is a CompiledTemplateResult.\n */\nexport const isCompiledTemplateResult = (\n value: unknown\n): value is CompiledTemplateResult => {\n return (value as CompiledTemplateResult)?.['_$litType$']?.h != null;\n};\n\n/**\n * Tests if a value is a DirectiveResult.\n */\nexport const isDirectiveResult = (value: unknown): value is DirectiveResult =>\n // This property needs to remain unminified.\n (value as DirectiveResult)?.['_$litDirective$'] !== undefined;\n\n/**\n * Retrieves the Directive class for a DirectiveResult\n */\nexport const getDirectiveClass = (value: unknown): DirectiveClass | undefined =>\n // This property needs to remain unminified.\n (value as DirectiveResult)?.['_$litDirective$'];\n\n/**\n * Tests whether a part has only a single-expression with no strings to\n * interpolate between.\n *\n * Only AttributePart and PropertyPart can have multiple expressions.\n * Multi-expression parts have a `strings` property and single-expression\n * parts do not.\n */\nexport const isSingleExpression = (part: PartInfo) =>\n (part as AttributePartInfo).strings === undefined;\n\nconst createMarker = () => document.createComment('');\n\n/**\n * Inserts a ChildPart into the given container ChildPart's DOM, either at the\n * end of the container ChildPart, or before the optional `refPart`.\n *\n * This does not add the part to the containerPart's committed value. That must\n * be done by callers.\n *\n * @param containerPart Part within which to add the new ChildPart\n * @param refPart Part before which to add the new ChildPart; when omitted the\n * part added to the end of the `containerPart`\n * @param part Part to insert, or undefined to create a new part\n */\nexport const insertPart = (\n containerPart: ChildPart,\n refPart?: ChildPart,\n part?: ChildPart\n): ChildPart => {\n const container = wrap(containerPart._$startNode).parentNode!;\n\n const refNode =\n refPart === undefined ? containerPart._$endNode : refPart._$startNode;\n\n if (part === undefined) {\n const startNode = wrap(container).insertBefore(createMarker(), refNode);\n const endNode = wrap(container).insertBefore(createMarker(), refNode);\n part = new ChildPart(\n startNode,\n endNode,\n containerPart,\n containerPart.options\n );\n } else {\n const endNode = wrap(part._$endNode!).nextSibling;\n const oldParent = part._$parent;\n const parentChanged = oldParent !== containerPart;\n if (parentChanged) {\n part._$reparentDisconnectables?.(containerPart);\n // Note that although `_$reparentDisconnectables` updates the part's\n // `_$parent` reference after unlinking from its current parent, that\n // method only exists if Disconnectables are present, so we need to\n // unconditionally set it here\n part._$parent = containerPart;\n // Since the _$isConnected getter is somewhat costly, only\n // read it once we know the subtree has directives that need\n // to be notified\n let newConnectionState;\n if (\n part._$notifyConnectionChanged !== undefined &&\n (newConnectionState = containerPart._$isConnected) !==\n oldParent!._$isConnected\n ) {\n part._$notifyConnectionChanged(newConnectionState);\n }\n }\n if (endNode !== refNode || parentChanged) {\n let start: Node | null = part._$startNode;\n while (start !== endNode) {\n const n: Node | null = wrap(start!).nextSibling;\n wrap(container).insertBefore(start!, refNode);\n start = n;\n }\n }\n }\n\n return part;\n};\n\n/**\n * Sets the value of a Part.\n *\n * Note that this should only be used to set/update the value of user-created\n * parts (i.e. those created using `insertPart`); it should not be used\n * by directives to set the value of the directive's container part. Directives\n * should return a value from `update`/`render` to update their part state.\n *\n * For directives that require setting their part value asynchronously, they\n * should extend `AsyncDirective` and call `this.setValue()`.\n *\n * @param part Part to set\n * @param value Value to set\n * @param index For `AttributePart`s, the index to set\n * @param directiveParent Used internally; should not be set by user\n */\nexport const setChildPartValue = <T extends ChildPart>(\n part: T,\n value: unknown,\n directiveParent: DirectiveParent = part\n): T => {\n part._$setValue(value, directiveParent);\n return part;\n};\n\n// A sentinel value that can never appear as a part value except when set by\n// live(). Used to force a dirty-check to fail and cause a re-render.\nconst RESET_VALUE = {};\n\n/**\n * Sets the committed value of a ChildPart directly without triggering the\n * commit stage of the part.\n *\n * This is useful in cases where a directive needs to update the part such\n * that the next update detects a value change or not. When value is omitted,\n * the next update will be guaranteed to be detected as a change.\n *\n * @param part\n * @param value\n */\nexport const setCommittedValue = (part: Part, value: unknown = RESET_VALUE) =>\n (part._$committedValue = value);\n\n/**\n * Returns the committed value of a ChildPart.\n *\n * The committed value is used for change detection and efficient updates of\n * the part. It can differ from the value set by the template or directive in\n * cases where the template value is transformed before being committed.\n *\n * - `TemplateResult`s are committed as a `TemplateInstance`\n * - Iterables are committed as `Array<ChildPart>`\n * - All other types are committed as the template value or value returned or\n * set by a directive.\n *\n * @param part\n */\nexport const getCommittedValue = (part: ChildPart) => part._$committedValue;\n\n/**\n * Removes a ChildPart from the DOM, including any of its content.\n *\n * @param part The Part to remove\n */\nexport const removePart = (part: ChildPart) => {\n part._$notifyConnectionChanged?.(false, true);\n let start: ChildNode | null = part._$startNode;\n const end: ChildNode | null = wrap(part._$endNode!).nextSibling;\n while (start !== end) {\n const n: ChildNode | null = wrap(start!).nextSibling;\n (wrap(start!) as ChildNode).remove();\n start = n;\n }\n};\n\nexport const clearPart = (part: ChildPart) => {\n part._$clear();\n};\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {Disconnectable, Part} from './lit-html.js';\n\nexport {\n AttributePart,\n BooleanAttributePart,\n ChildPart,\n ElementPart,\n EventPart,\n Part,\n PropertyPart,\n} from './lit-html.js';\n\nexport interface DirectiveClass {\n new (part: PartInfo): Directive;\n}\n\n/**\n * This utility type extracts the signature of a directive class's render()\n * method so we can use it for the type of the generated directive function.\n */\nexport type DirectiveParameters<C extends Directive> = Parameters<C['render']>;\n\n/**\n * A generated directive function doesn't evaluate the directive, but just\n * returns a DirectiveResult object that captures the arguments.\n */\nexport interface DirectiveResult<C extends DirectiveClass = DirectiveClass> {\n /**\n * This property needs to remain unminified.\n * @internal\n */\n ['_$litDirective$']: C;\n /** @internal */\n values: DirectiveParameters<InstanceType<C>>;\n}\n\nexport const PartType = {\n ATTRIBUTE: 1,\n CHILD: 2,\n PROPERTY: 3,\n BOOLEAN_ATTRIBUTE: 4,\n EVENT: 5,\n ELEMENT: 6,\n} as const;\n\nexport type PartType = (typeof PartType)[keyof typeof PartType];\n\nexport interface ChildPartInfo {\n readonly type: typeof PartType.CHILD;\n}\n\nexport interface AttributePartInfo {\n readonly type:\n | typeof PartType.ATTRIBUTE\n | typeof PartType.PROPERTY\n | typeof PartType.BOOLEAN_ATTRIBUTE\n | typeof PartType.EVENT;\n readonly strings?: ReadonlyArray<string>;\n readonly name: string;\n readonly tagName: string;\n}\n\nexport interface ElementPartInfo {\n readonly type: typeof PartType.ELEMENT;\n}\n\n/**\n * Information about the part a directive is bound to.\n *\n * This is useful for checking that a directive is attached to a valid part,\n * such as with directive that can only be used on attribute bindings.\n */\nexport type PartInfo = ChildPartInfo | AttributePartInfo | ElementPartInfo;\n\n/**\n * Creates a user-facing directive function from a Directive class. This\n * function has the same parameters as the directive's render() method.\n */\nexport const directive =\n <C extends DirectiveClass>(c: C) =>\n (...values: DirectiveParameters<InstanceType<C>>): DirectiveResult<C> => ({\n // This property needs to remain unminified.\n ['_$litDirective$']: c,\n values,\n });\n\n/**\n * Base class for creating custom directives. Users should extend this class,\n * implement `render` and/or `update`, and then pass their subclass to\n * `directive`.\n */\nexport abstract class Directive implements Disconnectable {\n //@internal\n __part!: Part;\n //@internal\n __attributeIndex: number | undefined;\n //@internal\n __directive?: Directive;\n\n //@internal\n _$parent!: Disconnectable;\n\n // These will only exist on the AsyncDirective subclass\n //@internal\n _$disconnectableChildren?: Set<Disconnectable>;\n // This property needs to remain unminified.\n //@internal\n ['_$notifyDirectiveConnectionChanged']?(isConnected: boolean): void;\n\n constructor(_partInfo: PartInfo) {}\n\n // See comment in Disconnectable interface for why this is a getter\n get _$isConnected() {\n return this._$parent._$isConnected;\n }\n\n /** @internal */\n _$initialize(\n part: Part,\n parent: Disconnectable,\n attributeIndex: number | undefined\n ) {\n this.__part = part;\n this._$parent = parent;\n this.__attributeIndex = attributeIndex;\n }\n /** @internal */\n _$resolve(part: Part, props: Array<unknown>): unknown {\n return this.update(part, props);\n }\n\n abstract render(...props: Array<unknown>): unknown;\n\n update(_part: Part, props: Array<unknown>): unknown {\n return this.render(...props);\n }\n}\n","import { $ } from '@mdui/jq/$.js';\nimport { isDomReady } from '@mdui/jq/shared/dom.js';\n/**\n * 检查指定的 slot 是否存在\n */\nexport class HasSlotController {\n constructor(host, ...slotNames) {\n this.slotNames = [];\n (this.host = host).addController(this);\n this.slotNames = slotNames;\n this.onSlotChange = this.onSlotChange.bind(this);\n }\n hostConnected() {\n this.host.shadowRoot.addEventListener('slotchange', this.onSlotChange);\n if (!isDomReady()) {\n $(() => {\n this.host.requestUpdate();\n });\n }\n }\n hostDisconnected() {\n this.host.shadowRoot.removeEventListener('slotchange', this.onSlotChange);\n }\n test(slotName) {\n return slotName === '[default]'\n ? this.hasDefaultSlot()\n : this.hasNamedSlot(slotName);\n }\n hasDefaultSlot() {\n return [...this.host.childNodes].some((node) => {\n if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== '') {\n return true;\n }\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node;\n if (!el.hasAttribute('slot')) {\n return true;\n }\n }\n return false;\n });\n }\n hasNamedSlot(name) {\n return this.host.querySelector(`:scope > [slot=\"${name}\"]`) !== null;\n }\n onSlotChange(event) {\n const slot = event.target;\n if ((this.slotNames.includes('[default]') && !slot.name) ||\n (slot.name && this.slotNames.includes(slot.name))) {\n this.host.requestUpdate();\n }\n }\n}\n","import { getDocument } from 'ssr-window';\nimport { JQ } from './shared/core.js';\nimport { getChildNodesArray, isDomReady } from './shared/dom.js';\nimport { isFunction, isNode, isString, isArrayLike, eachObject, } from './shared/helper.js';\nconst get$ = () => {\n const $ = function (selector) {\n if (!selector) {\n return new JQ();\n }\n // JQ\n if (selector instanceof JQ) {\n return selector;\n }\n // function\n if (isFunction(selector)) {\n const document = getDocument();\n if (isDomReady(document)) {\n selector.call(document, $);\n }\n else {\n document.addEventListener('DOMContentLoaded', () => selector.call(document, $), { once: true });\n }\n return new JQ([document]);\n }\n // String\n if (isString(selector)) {\n const html = selector.trim();\n // 根据 HTML 字符串创建 JQ 对象\n if (html.startsWith('<') && html.endsWith('>')) {\n let toCreate = 'div';\n const tags = {\n li: 'ul',\n tr: 'tbody',\n td: 'tr',\n th: 'tr',\n tbody: 'table',\n option: 'select',\n };\n eachObject(tags, (childTag, parentTag) => {\n if (html.startsWith(`<${childTag}`)) {\n toCreate = parentTag;\n return false;\n }\n return;\n });\n return new JQ(getChildNodesArray(html, toCreate));\n }\n const document = getDocument();\n // 根据 CSS 选择器创建 JQ 对象\n return new JQ(document.querySelectorAll(selector));\n }\n if (isArrayLike(selector) && !isNode(selector)) {\n return new JQ(selector);\n }\n return new JQ([selector]);\n };\n $.fn = JQ.prototype;\n return $;\n};\nexport const $ = get$();\n","/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target = {}, src = {}) {\n Object.keys(src).forEach((key) => {\n if (typeof target[key] === 'undefined')\n target[key] = src[key];\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nconst ssrDocument = {\n body: {},\n addEventListener() { },\n removeEventListener() { },\n activeElement: {\n blur() { },\n nodeName: '',\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() { },\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() { },\n getElementsByTagName() {\n return [];\n },\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\n\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState() { },\n pushState() { },\n go() { },\n back() { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() { },\n removeEventListener() { },\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n },\n };\n },\n Image() { },\n Date() { },\n screen: {},\n setTimeout() { },\n clearTimeout() { },\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n },\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { extend, getDocument, getWindow, ssrDocument, ssrWindow };\n","import { eachArray } from './helper.js';\n/**\n * 为了使用模块扩充,这里不能使用默认导出\n */\nexport class JQ {\n constructor(arr) {\n this.length = 0;\n if (!arr) {\n return this;\n }\n eachArray(arr, (item, i) => {\n this[i] = item;\n });\n this.length = arr.length;\n return this;\n }\n}\n","/**\n * 获取指定元素的标签名(小写),不存在元素的返回空字符串\n * @param element\n */\nexport const getNodeName = (element) => {\n return element?.nodeName.toLowerCase() ?? '';\n};\n/**\n * 判断元素是否为指定的标签名(不区分大小写)\n * @param element\n * @param name\n */\nexport const isNodeName = (element, name) => {\n return element?.nodeName.toLowerCase() === name.toLowerCase();\n};\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const isFunction = (target) => {\n return typeof target === 'function';\n};\nexport const isString = (target) => {\n return typeof target === 'string';\n};\nexport const isNumber = (target) => {\n return typeof target === 'number';\n};\nexport const isBoolean = (target) => {\n return typeof target === 'boolean';\n};\nexport const isUndefined = (target) => {\n return typeof target === 'undefined';\n};\nexport const isNull = (target) => {\n return target === null;\n};\nexport const isWindow = (target) => {\n return typeof Window !== 'undefined' && target instanceof Window;\n};\nexport const isDocument = (target) => {\n return typeof Document !== 'undefined' && target instanceof Document;\n};\nexport const isElement = (target) => {\n return typeof Element !== 'undefined' && target instanceof Element;\n};\nexport const isNode = (target) => {\n return typeof Node !== 'undefined' && target instanceof Node;\n};\nexport const isArrayLike = (target) => {\n return (!isFunction(target) &&\n !isWindow(target) &&\n isNumber(target.length));\n};\nexport const isObjectLike = (target) => {\n return typeof target === 'object' && target !== null;\n};\nexport const toElement = (target) => {\n return isDocument(target) ? target.documentElement : target;\n};\n/**\n * 把用 - 分隔的字符串转为驼峰(如 box-sizing 转换为 boxSizing)\n * @param string\n */\nexport const toCamelCase = (string) => {\n return string.replace(/-([a-z])/g, (_, letter) => {\n return letter.toUpperCase();\n });\n};\n/**\n * 把驼峰法转为用 - 分隔的字符串(如 boxSizing 转换为 box-sizing)\n * @param string\n */\nexport const toKebabCase = (string) => {\n if (!string) {\n return string;\n }\n return string\n .replace(/^./, string[0].toLowerCase()) // 首字母转小写\n .replace(/[A-Z]/g, (replacer) => {\n return '-' + replacer.toLowerCase();\n });\n};\n/**\n * 始终返回 false 的函数\n */\nexport const returnFalse = () => {\n return false;\n};\n/**\n * 始终返回 true 的函数\n */\nexport const returnTrue = () => {\n return true;\n};\n/**\n * 遍历数组\n * @param target\n * @param callback\n */\nexport const eachArray = (target, callback) => {\n for (let i = 0; i < target.length; i += 1) {\n if (callback.call(target[i], target[i], i) === false) {\n return target;\n }\n }\n return target;\n};\n/**\n * 遍历对象\n * @param target\n * @param callback\n */\nexport const eachObject = (target, callback) => {\n const keys = Object.keys(target);\n for (let i = 0; i < keys.length; i += 1) {\n const key = keys[i];\n if (callback.call(target[key], key, target[key]) === false) {\n return target;\n }\n }\n return target;\n};\n","import { getDocument } from 'ssr-window';\n/**\n * DOM 是否已加载完成\n *\n * 在 Web Components 中操作组件外部的 DOM、或组件中的 slot 的 DOM 时,必须先判断 DOM 是否已加载完成。\n */\nexport const isDomReady = (document = getDocument()) => {\n return /complete|interactive/.test(document.readyState);\n};\nexport const createElement = (tagName) => {\n const document = getDocument();\n return document.createElement(tagName);\n};\nexport const appendChild = (element, child) => {\n return element.appendChild(child);\n};\nexport const removeChild = (element) => {\n return element.parentNode ? element.parentNode.removeChild(element) : element;\n};\n/**\n * 获取子节点组成的数组\n * @param target\n * @param parent\n */\nexport const getChildNodesArray = (target, parent) => {\n const tempParent = createElement(parent);\n tempParent.innerHTML = target;\n return [].slice.call(tempParent.childNodes);\n};\n","/**\n * watch 装饰器。在 @property 或 @state 属性变更时,且在组件更新前触发\n * 若初始值为 undefined,则初始状态不会触发;否则初始状态就会先触发一次\n *\n * 如果要等属性变更后,且组件更新完成再执行,可以在函数中执行 `await this.updateComplete`\n * 如果要等组件首次渲染完后再监听属性,可以传入第二个参数 true。或者在函数中通过 `this.hasUpdated` 进行判断\n *\n * @watch('propName')\n * handlePropChange(oldValue, newValue) {\n *\n * }\n */\n/**\n * @param propName 监听的属性名\n * @param waitUntilFirstUpdate 是否等首次渲染完后再监听\n */\nexport function watch(propName, waitUntilFirstUpdate = false) {\n return (proto, functionName) => {\n // @ts-ignore\n const { update } = proto;\n if (propName in proto) {\n // @ts-ignore\n proto.update = function (changedProperties) {\n if (changedProperties.has(propName)) {\n const oldValue = changedProperties.get(propName);\n const newValue = this[propName];\n if (oldValue !== newValue) {\n if (!waitUntilFirstUpdate || this.hasUpdated) {\n // @ts-ignore\n this[functionName](oldValue, newValue);\n }\n }\n }\n update.call(this, changedProperties);\n };\n }\n };\n}\n","/**\n * 在原生的 HTML 中,布尔属性只要添加了属性名,不论属性值设置成什么,属性值都是 true\n * 但这里设置了 attr=\"false\" 时,要把属性设置为 false\n *\n * 原因是:\n * 在 vue3 中,通过 :attr=\"value\" 设置属性时,vue 会优先从 DOM 属性中寻找是否存在 attr 属性名,\n * 若存在,则设置对应的 DOM 属性,否则设置对应的 attribute 属性\n * 但在 vue 的服务端渲染(ssr)时,不存在 DOM 对象,所以会把 attribute 属性设置成 attr=\"true\" 或 attr=\"false\"\n * 所以在 attribute 属性 attr=\"false\" 时,需要把属性值转换为布尔值 false\n *\n * 在 CSS 中选择布尔属性时,必须排除掉属性值为 false 的情况。i 表示不区分大小写。仅 public 属性需要这样处理,private 和 protected 属性不需要\n * 例如::host([hide]:not([hide=\"false\" i])) { ... }\n *\n * 这段代码不能封装成函数,否则生成 custom-elements.json 会识别不了\n * 这段注释仅在这里写一次,其他地方不再重复\n *\n * @see https://v3-migration.vuejs.org/zh/breaking-changes/attribute-coercion.html\n */\nexport const booleanConverter = (value) => {\n return value !== null && value.toLowerCase() !== 'false';\n};\n","import { html, nothing } from 'lit';\nexport const nothingTemplate = html `${nothing}`;\n","import { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport cc from 'classcat';\nimport { MduiElement } from '@mdui/shared/base/mdui-element.js';\nimport { FormController } from '@mdui/shared/controllers/form.js';\nimport { booleanConverter } from '@mdui/shared/helpers/decorator.js';\nimport { nothingTemplate } from '@mdui/shared/helpers/template.js';\nimport { componentStyle } from '@mdui/shared/lit-styles/component-style.js';\nimport { AnchorMixin } from '@mdui/shared/mixins/anchor.js';\nimport { FocusableMixin } from '@mdui/shared/mixins/focusable.js';\nimport '../circular-progress.js';\nimport { RippleMixin } from '../ripple/ripple-mixin.js';\nimport { buttonBaseStyle } from './button-base-style.js';\nexport class ButtonBase extends AnchorMixin(RippleMixin(FocusableMixin(MduiElement))) {\n constructor() {\n super(...arguments);\n /**\n * 是否禁用\n */\n this.disabled = false;\n /**\n * 是否处于加载中状态\n */\n this.loading = false;\n /**\n * 按钮的名称,将与表单数据一起提交。\n *\n * **Note**:仅在未设置 `href` 属性时,此属性才有效。\n */\n this.name = '';\n /**\n * 按钮的初始值,将与表单数据一起提交。\n *\n * **Note**:仅在未设置 `href` 属性时,此属性才有效。\n */\n this.value = '';\n /**\n * 按钮的类型。默认类型为 `button`。可选类型包括:\n *\n * * `submit`:点击按钮会提交表单数据到服务器\n * * `reset`:点击按钮会将表单中的所有字段重置为初始值\n * * `button`:此类型的按钮没有默认行为\n *\n * **Note**:仅在未指定 `href` 属性时,此属性才有效。\n */\n this.type = 'button';\n /**\n * 如果设置了此属性,表单提交时将不执行表单验证。\n *\n * 如果设置了此属性,将覆盖 `<form>` 元素的 `novalidate` 属性。\n *\n * **Note**:仅在未设置 `href` 属性且 `type=\"submit\"` 时,此属性才有效。\n */\n this.formNoValidate = false;\n this.formController = new FormController(this);\n }\n /**\n * 表单验证状态对象,具体参见 [`ValidityState`](https://developer.mozilla.org/zh-CN/docs/Web/API/ValidityState)\n */\n get validity() {\n if (this.isButton()) {\n return this.focusElement.validity;\n }\n }\n /**\n * 如果表单验证未通过,此属性将包含提示信息。如果验证通过,此属性将为空字符串\n */\n get validationMessage() {\n if (this.isButton()) {\n return this.focusElement.validationMessage;\n }\n }\n get rippleDisabled() {\n return this.disabled || this.loading;\n }\n get focusElement() {\n return this.isButton()\n ? this.renderRoot?.querySelector('._button')\n : !this.focusDisabled\n ? this.renderRoot?.querySelector('._a')\n : this;\n }\n get focusDisabled() {\n return this.disabled || this.loading;\n }\n /**\n * 检查表单字段是否通过验证。如果未通过,返回 `false` 并触发 `invalid` 事件;如果通过,返回 `true`\n */\n checkValidity() {\n if (this.isButton()) {\n const valid = this.focusElement.checkValidity();\n if (!valid) {\n // @ts-ignore\n this.emit('invalid', {\n bubbles: false,\n cancelable: true,\n composed: false,\n });\n }\n return valid;\n }\n return true;\n }\n /**\n * 检查表单字段是否通过验证。如果未通过,返回 `false` 并触发 `invalid` 事件;如果通过,返回 `true`。\n *\n * 如果验证未通过,还会在组件上显示验证失败的提示。\n */\n reportValidity() {\n if (this.isButton()) {\n const invalid = !this.focusElement.reportValidity();\n if (invalid) {\n // @ts-ignore\n this.emit('invalid', {\n bubbles: false,\n cancelable: true,\n composed: false,\n });\n // todo 考虑是否要支持 preventDefault() 方法,当前 invalid 状态没有样式\n }\n return !invalid;\n }\n return true;\n }\n /**\n * 设置自定义的错误提示文本。只要这个文本不为空,就表示字段未通过验证\n *\n * @param message 自定义的错误提示文本\n */\n setCustomValidity(message) {\n if (this.isButton()) {\n this.focusElement.setCustomValidity(message);\n }\n }\n firstUpdated(_changedProperties) {\n super.firstUpdated(_changedProperties);\n this.addEventListener('click', () => {\n if (this.type === 'submit') {\n this.formController.submit(this);\n }\n if (this.type === 'reset') {\n this.formController.reset(this);\n }\n });\n }\n renderLoading() {\n return this.loading\n ? html `<mdui-circular-progress part=\"loading\"></mdui-circular-progress>`\n : nothingTemplate;\n }\n renderButton({ id, className, part, content = html `<slot></slot>`, }) {\n return html `<button id=\"${ifDefined(id)}\" class=\"${cc(['_button', className])}\" part=\"${ifDefined(part)}\" ?disabled=\"${this.rippleDisabled || this.focusDisabled}\">${content}</button>`;\n }\n isButton() {\n return !this.href;\n }\n}\nButtonBase.styles = [\n componentStyle,\n buttonBaseStyle,\n];\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n })\n], ButtonBase.prototype, \"disabled\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n })\n], ButtonBase.prototype, \"loading\", void 0);\n__decorate([\n property({ reflect: true })\n], ButtonBase.prototype, \"name\", void 0);\n__decorate([\n property({ reflect: true })\n], ButtonBase.prototype, \"value\", void 0);\n__decorate([\n property({ reflect: true })\n], ButtonBase.prototype, \"type\", void 0);\n__decorate([\n property({ reflect: true })\n], ButtonBase.prototype, \"form\", void 0);\n__decorate([\n property({ reflect: true, attribute: 'formaction' })\n], ButtonBase.prototype, \"formAction\", void 0);\n__decorate([\n property({ reflect: true, attribute: 'formenctype' })\n], ButtonBase.prototype, \"formEnctype\", void 0);\n__decorate([\n property({ reflect: true, attribute: 'formmethod' })\n], ButtonBase.prototype, \"formMethod\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n attribute: 'formnovalidate',\n })\n], ButtonBase.prototype, \"formNoValidate\", void 0);\n__decorate([\n property({ reflect: true, attribute: 'formtarget' })\n], ButtonBase.prototype, \"formTarget\", void 0);\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {nothing} from '../lit-html.js';\n\n/**\n * For AttributeParts, sets the attribute if the value is defined and removes\n * the attribute if the value is undefined.\n *\n * For other part types, this directive is a no-op.\n */\nexport const ifDefined = <T>(value: T) => value ?? nothing;\n","export default function cc(names) {\n if (typeof names === \"string\" || typeof names === \"number\") return \"\" + names\n\n let out = \"\"\n\n if (Array.isArray(names)) {\n for (let i = 0, tmp; i < names.length; i++) {\n if ((tmp = cc(names[i])) !== \"\") {\n out += (out && \" \") + tmp\n }\n }\n } else {\n for (let k in names) {\n if (names[k]) out += (out && \" \") + k\n }\n }\n\n return out\n}\n","import { LitElement } from 'lit';\n// eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging\nexport class MduiElement extends LitElement {\n /**\n * 触发自定义事件。若返回 false,表示事件被取消\n * @param type\n * @param options 通常只用到 cancelable 和 detail;bubbles、composed 统一不用\n */\n emit(type, options) {\n const event = new CustomEvent(type, Object.assign({\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {},\n }, options));\n return this.dispatchEvent(event);\n }\n}\n","/**\n * 参考:https://github.com/shoelace-style/shoelace/blob/next/src/internal/form.ts\n */\nimport { $ } from '@mdui/jq/$.js';\nimport '@mdui/jq/methods/attr.js';\nimport '@mdui/jq/methods/css.js';\nimport { formCollections, getFormControls } from '@mdui/jq/shared/form.js';\nimport { isFunction, isString, isUndefined } from '@mdui/jq/shared/helper.js';\nimport { DefinedController } from './defined.js';\n/**\n * 在执行 `<form>` 元素的 reportValidity() 时,不会执行 mdui 组件的 reportValidity() 方法,\n * 因此在 mdui 表单控件的 hostConnected 中把 `<form>` 的 reportValidity 替换为自定义方法,\n * hostDisconnected 中恢复为 原生 reportValidity 方法\n *\n * 该 WeakMap 用于存储指定 `<form>` 的原生 reportValidity 方法\n *\n * 日后使用 ElementInternals 可不再进行该处理,但当前 safari 浏览器不支持。\n */\nconst reportValidityOverloads = new WeakMap();\n/**\n * 在执行表单的 reset() 方法后,使用该 WeakMap 存储指定表单中所有的表单控件\n * 在表单控件中监听值变更后,需要从该 WeakMap 中判断是否存在该表单控件,\n * 若存在,则 invalid 设置为 false(不显示验证不通过样式),同时从 WeakMap 中移除该表单控件\n */\nexport const formResets = new WeakMap();\nexport class FormController {\n constructor(host, options) {\n (this.host = host).addController(this);\n this.definedController = new DefinedController(host, {\n needDomReady: true,\n });\n this.options = {\n form: (control) => {\n const formId = $(control).attr('form');\n if (formId) {\n const root = control.getRootNode();\n return root.getElementById(formId);\n }\n return control.closest('form');\n },\n name: (control) => control.name,\n value: (control) => control.value,\n defaultValue: (control) => control.defaultValue,\n setValue: (control, value) => (control.value = value),\n disabled: (control) => control.disabled,\n reportValidity: (control) => isFunction(control.reportValidity) ? control.reportValidity() : true,\n ...options,\n };\n this.onFormData = this.onFormData.bind(this);\n this.onFormSubmit = this.onFormSubmit.bind(this);\n this.onFormReset = this.onFormReset.bind(this);\n this.reportFormValidity = this.reportFormValidity.bind(this);\n }\n hostConnected() {\n this.definedController.whenDefined().then(() => {\n this.form = this.options.form(this.host);\n if (this.form) {\n this.attachForm(this.form);\n }\n });\n }\n hostDisconnected() {\n this.detachForm();\n }\n hostUpdated() {\n this.definedController.whenDefined().then(() => {\n const form = this.options.form(this.host);\n if (!form) {\n this.detachForm();\n }\n if (form && this.form !== form) {\n this.detachForm();\n this.attachForm(form);\n }\n });\n }\n /**\n * 获取当前表单控件关联的 `<form>` 元素\n */\n getForm() {\n return this.form ?? null;\n }\n /**\n * 重置整个表单,所有表单控件恢复成默认值\n */\n reset(invoker) {\n this.doAction('reset', invoker);\n }\n /**\n * 提交整个表单\n */\n submit(invoker) {\n this.doAction('submit', invoker);\n }\n attachForm(form) {\n if (!form) {\n this.form = undefined;\n return;\n }\n this.form = form;\n if (formCollections.has(this.form)) {\n formCollections.get(this.form).add(this.host);\n }\n else {\n formCollections.set(this.form, new Set([this.host]));\n }\n this.form.addEventListener('formdata', this.onFormData);\n this.form.addEventListener('submit', this.onFormSubmit);\n this.form.addEventListener('reset', this.onFormReset);\n if (!reportValidityOverloads.has(this.form)) {\n reportValidityOverloads.set(this.form, this.form.reportValidity);\n this.form.reportValidity = () => this.reportFormValidity();\n }\n }\n detachForm() {\n if (this.form) {\n formCollections.get(this.form).delete(this.host);\n this.form.removeEventListener('formdata', this.onFormData);\n this.form.removeEventListener('submit', this.onFormSubmit);\n this.form.removeEventListener('reset', this.onFormReset);\n if (reportValidityOverloads.has(this.form) &&\n !formCollections.get(this.form).size) {\n this.form.reportValidity = reportValidityOverloads.get(this.form);\n reportValidityOverloads.delete(this.form);\n }\n }\n }\n doAction(type, invoker) {\n if (!this.form) {\n return;\n }\n const $button = $(`<button type=\"${type}\">`).css({\n position: 'absolute',\n width: 0,\n height: 0,\n clipPath: 'inset(50%)',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n });\n const button = $button[0];\n if (invoker) {\n button.name = invoker.name;\n button.value = invoker.value;\n [\n 'formaction',\n 'formenctype',\n 'formmethod',\n 'formnovalidate',\n 'formtarget',\n ].forEach((attr) => {\n $button.attr(attr, $(invoker).attr(attr));\n });\n }\n this.form.append(button);\n button.click();\n button.remove();\n }\n onFormData(event) {\n const disabled = this.options.disabled(this.host);\n const name = this.options.name(this.host);\n const value = this.options.value(this.host);\n // 对于按钮,仅在 type=\"submit\" 时,才提交值。已在 doAction() 方法中把 name、value 注入到 <button> 元素上\n const isButton = [\n 'mdui-button',\n 'mdui-button-icon',\n 'mdui-chip',\n 'mdui-fab',\n 'mdui-segmented-button',\n ].includes(this.host.tagName.toLowerCase());\n if (!disabled &&\n !isButton &&\n isString(name) &&\n name &&\n !isUndefined(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n event.formData.append(name, val.toString());\n });\n }\n else {\n event.formData.append(name, value.toString());\n }\n }\n }\n // todo: 当前组件进行验证的顺序,取决于组件的注册顺序,而不会按在 DOM 中的顺序从上到下验证。如何按 DOM 顺序验证?\n onFormSubmit(event) {\n const disabled = this.options.disabled(this.host);\n const reportValidity = this.options.reportValidity;\n if (this.form &&\n !this.form.noValidate &&\n !disabled &&\n !reportValidity(this.host)) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n onFormReset() {\n if (this.form) {\n this.options.setValue(this.host, this.options.defaultValue(this.host));\n // 取消 invalid 状态。\n // 此外,还需要在各个组件内,监听值的变更,判断 formResets 中是否存在当前表单控件。若存在则 invalid 设为 false;不存在则设置为 checkValidity() 的值\n // @ts-ignore\n this.host.invalid = false;\n if (formResets.has(this.form)) {\n formResets.get(this.form).add(this.host);\n }\n else {\n formResets.set(this.form, new Set([this.host]));\n }\n }\n }\n reportFormValidity() {\n if (this.form && !this.form.noValidate) {\n const elements = getFormControls(this.form);\n for (const element of elements) {\n if (isFunction(element.reportValidity) && !element.reportValidity()) {\n return false;\n }\n }\n }\n return true;\n }\n}\n","import { $ } from '../$.js';\nimport { getAttribute, setAttribute } from '../shared/attributes.js';\nimport { getStyle, cssNumber } from '../shared/css.js';\nimport { isElement, isFunction, isNumber, isUndefined, isObjectLike, eachArray, eachObject, toKebabCase, } from '../shared/helper.js';\nimport './each.js';\neachArray(['attr', 'prop', 'css'], (name, nameIndex) => {\n // eslint-disable-next-line\n const set = (element, key, value) => {\n // 值为 undefined 时,不修改\n if (isUndefined(value)) {\n return;\n }\n // attr\n if (nameIndex === 0) {\n return setAttribute(element, key, value);\n }\n // prop\n if (nameIndex === 1) {\n // @ts-ignore\n element[key] = value;\n return;\n }\n // css\n key = toKebabCase(key);\n // 获取默认后缀。以 -- 开头的为 CSS 变量,不添加后缀;值为数值类型的不添加后缀\n const getSuffix = () => key.startsWith('--') || cssNumber.includes(key) ? '' : 'px';\n element.style.setProperty(key, isNumber(value) ? `${value}${getSuffix()}` : value);\n };\n // eslint-disable-next-line\n const get = (element, key) => {\n // attr\n if (nameIndex === 0) {\n // 属性不存在时,原生 getAttribute 方法返回 null,而 jquery 返回 undefined。这里和 jquery 保持一致\n return getAttribute(element, key);\n }\n // prop\n if (nameIndex === 1) {\n // @ts-ignore\n return element[key];\n }\n return getStyle(element, key);\n };\n $.fn[name] = function (key, \n // eslint-disable-next-line\n value) {\n if (isObjectLike(key)) {\n eachObject(key, (k, v) => {\n // @ts-ignore\n this[name](k, v);\n });\n return this;\n }\n if (arguments.length === 1) {\n const element = this[0];\n return isElement(element) ? get(element, key) : undefined;\n }\n return this.each((i, element) => {\n set(element, key, isFunction(value) ? value.call(element, i, get(element, key)) : value);\n });\n };\n});\n","import { isNull } from './helper.js';\n/**\n * 获取属性值\n * @param element\n * @param key 属性键名\n * @param defaultValue 当 element.getAttribute 为 null 时,默认返回 undefined\n */\nexport const getAttribute = (element, key, defaultValue) => {\n const value = element.getAttribute(key);\n return isNull(value) ? defaultValue : value;\n};\n/**\n * 移除属性\n * @param element\n * @param key 属性键名\n */\nexport const removeAttribute = (element, key) => {\n element.removeAttribute(key);\n};\n/**\n * 设置属性值\n * @param element\n * @param key 属性键名\n * @param value 值,若为 null,则调用 removeAttribute\n */\nexport const setAttribute = (element, key, value) => {\n isNull(value)\n ? removeAttribute(element, key)\n : element.setAttribute(key, value);\n};\n","import { getWindow } from 'ssr-window';\nimport { toKebabCase } from './helper.js';\n/**\n * 获取元素的样式值\n * @param element\n * @param name\n */\nexport const getComputedStyleValue = (element, name) => {\n const window = getWindow();\n return window.getComputedStyle(element).getPropertyValue(toKebabCase(name));\n};\n/**\n * 检查元素的 box-sizing 是否是 border-box\n * @param element\n */\nexport const isBorderBox = (element) => {\n return getComputedStyleValue(element, 'box-sizing') === 'border-box';\n};\n/**\n * 获取元素的 padding, border, margin 宽度(两侧宽度的和,单位为px)\n * @param element\n * @param direction\n * @param extra\n */\nexport const getExtraWidth = (element, direction, extra) => {\n const position = direction === 'width'\n ? ['Left', 'Right']\n : ['Top', 'Bottom'];\n return [0, 1].reduce((prev, _, index) => {\n let prop = extra + position[index];\n if (extra === 'border') {\n prop += 'Width';\n }\n return prev + parseFloat(getComputedStyleValue(element, prop) || '0');\n }, 0);\n};\n/**\n * 获取元素的样式值,对 width 和 height 进行过处理\n * @param element\n * @param name\n */\nexport const getStyle = (element, name) => {\n // width、height 属性使用 getComputedStyle 得到的值不准确,需要使用 getBoundingClientRect 获取\n if (name === 'width' || name === 'height') {\n const valueNumber = element.getBoundingClientRect()[name];\n if (isBorderBox(element)) {\n return `${valueNumber}px`;\n }\n return `${valueNumber -\n getExtraWidth(element, name, 'border') -\n getExtraWidth(element, name, 'padding')}px`;\n }\n return getComputedStyleValue(element, name);\n};\n/**\n * 数值单位的 CSS 属性\n */\nexport const cssNumber = [\n 'animation-iteration-count',\n 'column-count',\n 'fill-opacity',\n 'flex-grow',\n 'flex-shrink',\n 'font-weight',\n 'grid-area',\n 'grid-column',\n 'grid-column-end',\n 'grid-column-start',\n 'grid-row',\n 'grid-row-end',\n 'grid-row-start',\n 'line-height',\n 'opacity',\n 'order',\n 'orphans',\n 'widows',\n 'z-index',\n 'zoom',\n];\n","import { $ } from '../$.js';\nimport { eachArray } from '../shared/helper.js';\n// eslint-disable-next-line\n$.fn.each = function (callback) {\n return eachArray(this, (value, index) => {\n return callback.call(value, index, value);\n });\n};\n","import './attr.js';\n","/**\n * 使用该 WeakMap 来存储指定表单中所有的 mdui 表单控件\n * 在每个表单控件的 hostConnected 中添加、hostDisconnected 中移除对应表单的 mdui 表单控件,\n * 然后在 getFormControls 方法中就能获取到表单中所有的 mdui 表单控件\n */\nexport const formCollections = new WeakMap();\n/**\n * 获取表单中的所有表单控件,包含原生和 mdui 表单控件\n * 原生的 `HTMLFormElement.elements` 仅返回原生表单控件,不包含 mdui 表单控件\n */\nexport const getFormControls = (form) => {\n const nativeFormControls = [...form.elements];\n const formControls = formCollections.get(form) || [];\n const comparePosition = (a, b) => {\n const position = a.compareDocumentPosition(b);\n return position & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n };\n // 按 DOM 元素的顺序排序\n return [...nativeFormControls, ...formControls].sort(comparePosition);\n};\n","import { getDocument } from 'ssr-window';\nimport { unique } from '@mdui/jq/functions/unique.js';\nimport { isDomReady } from '@mdui/jq/shared/dom.js';\n/**\n * 判断组件是否定义完成\n *\n * 如果需要在组件操作或读取组件外部、或组件 slot 中的原生 DOM 时,则需要在 DOM 就绪时,才能认为组件定义完成\n * 如果组件需要和其他组件配合使用,则需要等待其他组件定义完成后,才能认为组件定义完成\n */\nexport class DefinedController {\n constructor(host, options) {\n /**\n * 组件是否已定义完成\n */\n this.defined = false;\n (this.host = host).addController(this);\n this.relatedElements = options.relatedElements;\n this.needDomReady = options.needDomReady || !!options.relatedElements;\n this.onSlotChange = this.onSlotChange.bind(this);\n }\n hostConnected() {\n this.host.shadowRoot.addEventListener('slotchange', this.onSlotChange);\n }\n hostDisconnected() {\n this.host.shadowRoot.removeEventListener('slotchange', this.onSlotChange);\n }\n /**\n * 判断组件是否定义完成\n */\n isDefined() {\n if (this.defined) {\n return true;\n }\n this.defined =\n (!this.needDomReady || isDomReady()) &&\n !this.getUndefinedLocalNames().length;\n return this.defined;\n }\n /**\n * 在组件定义完成后,promise 被 resolve\n */\n async whenDefined() {\n if (this.defined) {\n return Promise.resolve();\n }\n const document = getDocument();\n if (this.needDomReady && !isDomReady(document)) {\n await new Promise((resolve) => {\n document.addEventListener('DOMContentLoaded', () => resolve(), {\n once: true,\n });\n });\n }\n const undefinedLocalNames = this.getUndefinedLocalNames();\n if (undefinedLocalNames.length) {\n const promises = [];\n undefinedLocalNames.forEach((localName) => {\n promises.push(customElements.whenDefined(localName));\n });\n await Promise.all(promises);\n }\n this.defined = true;\n return;\n }\n /**\n * slot 中的未完成定义的相关 Web components 组件的 CSS 选择器\n */\n getScopeLocalNameSelector() {\n const localNames = this.relatedElements;\n if (!localNames) {\n return null;\n }\n if (Array.isArray(localNames)) {\n return localNames\n .map((localName) => `${localName}:not(:defined)`)\n .join(',');\n }\n return Object.keys(localNames)\n .filter((localName) => !localNames[localName])\n .map((localName) => `${localName}:not(:defined)`)\n .join(',');\n }\n /**\n * 整个页面中的未完成定义的相关 Web components 组件的 CSS 选择器\n */\n getGlobalLocalNameSelector() {\n const localNames = this.relatedElements;\n if (!localNames || Array.isArray(localNames)) {\n return null;\n }\n return Object.keys(localNames)\n .filter((localName) => localNames[localName])\n .map((localName) => `${localName}:not(:defined)`)\n .join(',');\n }\n /**\n * 获取未完成定义的相关 Web components 组件名\n */\n getUndefinedLocalNames() {\n const scopeSelector = this.getScopeLocalNameSelector();\n const globalSelector = this.getGlobalLocalNameSelector();\n const undefinedScopeElements = scopeSelector\n ? [...this.host.querySelectorAll(scopeSelector)]\n : [];\n const undefinedGlobalElements = globalSelector\n ? [...getDocument().querySelectorAll(globalSelector)]\n : [];\n const localNames = [\n ...undefinedScopeElements,\n ...undefinedGlobalElements,\n ].map((element) => element.localName);\n return unique(localNames);\n }\n /**\n * slot 变更时,若 slot 中包含未完成定义的相关 Web components 组件,则组件未定义完成\n */\n onSlotChange() {\n const selector = this.getScopeLocalNameSelector();\n if (selector) {\n const undefinedElements = this.host.querySelectorAll(selector);\n if (undefinedElements.length) {\n this.defined = false;\n }\n }\n }\n}\n","/**\n * 过滤掉数组中的重复元素\n * @param arr 数组\n * @example\n```js\nunique([1, 2, 12, 3, 2, 1, 2, 1, 1]);\n// [1, 2, 12, 3]\n```\n */\nexport const unique = (arr) => {\n return [...new Set(arr)];\n};\n","import { css } from 'lit';\nexport const componentStyle = css `:host{box-sizing:border-box}:host *,:host ::after,:host ::before{box-sizing:inherit}:host :focus,:host :focus-visible,:host(:focus),:host(:focus-visible){outline:0}[hidden]{display:none!important}`;\n","import { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nexport const AnchorMixin = (superclass) => {\n class AnchorMixinClass extends superclass {\n renderAnchor({ id, className, part, content = html `<slot></slot>`, refDirective, tabIndex, }) {\n return html `<a ${refDirective} id=\"${ifDefined(id)}\" class=\"_a ${className ? className : ''}\" part=\"${ifDefined(part)}\" href=\"${ifDefined(this.href)}\" download=\"${ifDefined(this.download)}\" target=\"${ifDefined(this.target)}\" rel=\"${ifDefined(this.rel)}\" tabindex=\"${ifDefined(tabIndex)}\">${content}</a>`;\n }\n }\n __decorate([\n property({ reflect: true })\n ], AnchorMixinClass.prototype, \"href\", void 0);\n __decorate([\n property({ reflect: true })\n ], AnchorMixinClass.prototype, \"download\", void 0);\n __decorate([\n property({ reflect: true })\n ], AnchorMixinClass.prototype, \"target\", void 0);\n __decorate([\n property({ reflect: true })\n ], AnchorMixinClass.prototype, \"rel\", void 0);\n return AnchorMixinClass;\n};\n","import { __decorate } from \"tslib\";\nimport { property } from 'lit/decorators.js';\nimport { getDocument } from 'ssr-window';\nimport { $ } from '@mdui/jq/$.js';\nimport '@mdui/jq/methods/attr.js';\nimport '@mdui/jq/methods/css.js';\nimport '@mdui/jq/methods/each.js';\nimport '@mdui/jq/methods/removeAttr.js';\nimport { DefinedController } from '../controllers/defined.js';\nimport { booleanConverter } from '../helpers/decorator.js';\nlet isClick = true;\nconst document = getDocument();\ndocument.addEventListener('pointerdown', () => {\n isClick = true;\n});\ndocument.addEventListener('keydown', () => {\n isClick = false;\n});\n/**\n * 参考:https://github.com/adobe/spectrum-web-components/blob/main/tools/shared/src/focusable.ts\n */\nexport const FocusableMixin = (superclass) => {\n class FocusableMixinClass extends superclass {\n constructor() {\n super(...arguments);\n /**\n * 是否在页面加载完成后自动获取焦点\n */\n this.autofocus = false;\n /**\n * 是否获得了焦点,不管是鼠标点击,还是键盘切换获得的焦点,都会添加该属性\n * 添加到 :host 元素上,供 CSS 选择器添加样式\n */\n this.focused = false;\n /**\n * 是否通过键盘切换获得了焦点\n * 添加到 :host 元素上,供 CSS 选择器添加样式\n */\n this.focusVisible = false;\n this.focusableDefinedController = new DefinedController(this, { relatedElements: [''] });\n this._manipulatingTabindex = false;\n this._tabIndex = 0;\n }\n /**\n * 元素在使用 Tab 键切换焦点时的顺序\n */\n get tabIndex() {\n const $this = $(this);\n if (this.focusElement === this) {\n return Number($this.attr('tabindex') || -1);\n }\n const tabIndexAttribute = Number($this.attr('tabindex') || 0);\n if (this.focusDisabled || tabIndexAttribute < 0) {\n return -1;\n }\n if (!this.focusElement) {\n return tabIndexAttribute;\n }\n return this.focusElement.tabIndex;\n }\n set tabIndex(tabIndex) {\n if (this._manipulatingTabindex) {\n this._manipulatingTabindex = false;\n return;\n }\n const $this = $(this);\n if (this.focusElement === this) {\n if (tabIndex !== null) {\n this._tabIndex = tabIndex;\n }\n $this.attr('tabindex', this.focusDisabled ? null : tabIndex);\n return;\n }\n const onPointerDown = () => {\n if (this.tabIndex === -1) {\n this.tabIndex = 0;\n this.focus({ preventScroll: true });\n }\n };\n if (tabIndex === -1) {\n this.addEventListener('pointerdown', onPointerDown);\n }\n else {\n this._manipulatingTabindex = true;\n this.removeEventListener('pointerdown', onPointerDown);\n }\n if (tabIndex === -1 || this.focusDisabled) {\n $this.attr('tabindex', -1);\n if (tabIndex !== -1) {\n this.manageFocusElementTabindex(tabIndex);\n }\n return;\n }\n if (!this.hasAttribute('tabindex')) {\n this._manipulatingTabindex = false;\n }\n this.manageFocusElementTabindex(tabIndex);\n }\n /**\n * 父类要实现该属性,表示是否禁用 focus 状态\n */\n get focusDisabled() {\n throw new Error('Must implement focusDisabled getter!');\n }\n /**\n * 最终获得焦点的元素\n */\n get focusElement() {\n throw new Error('Must implement focusElement getter!');\n }\n connectedCallback() {\n super.connectedCallback();\n this.updateComplete.then(() => {\n requestAnimationFrame(() => {\n this.manageAutoFocus();\n });\n });\n }\n /**\n * 模拟鼠标点击元素\n */\n click() {\n if (this.focusDisabled) {\n return;\n }\n if (this.focusElement !== this) {\n this.focusElement.click();\n }\n else {\n HTMLElement.prototype.click.apply(this);\n }\n }\n /**\n * 将焦点设置到当前元素。\n *\n * 可以传入一个对象作为参数,该对象的属性包括:\n *\n * * `preventScroll`:默认情况下,元素获取焦点后,页面会滚动以将该元素滚动到视图中。如果不希望页面滚动,可以将此属性设置为 `true`。\n */\n focus(options) {\n if (this.focusDisabled || !this.focusElement) {\n return;\n }\n if (this.focusElement !== this) {\n this.focusElement.focus(options);\n }\n else {\n HTMLElement.prototype.focus.apply(this, [options]);\n }\n }\n /**\n * 移除当前元素的焦点\n */\n blur() {\n if (this.focusElement !== this) {\n this.focusElement.blur();\n }\n else {\n HTMLElement.prototype.blur.apply(this);\n }\n }\n firstUpdated(changedProperties) {\n super.firstUpdated(changedProperties);\n this.focusElement.addEventListener('focus', () => {\n this.focused = true;\n this.focusVisible = !isClick;\n });\n this.focusElement.addEventListener('blur', () => {\n this.focused = false;\n this.focusVisible = false;\n });\n }\n update(changedProperties) {\n if (this._lastFocusDisabled === undefined ||\n this._lastFocusDisabled !== this.focusDisabled) {\n this._lastFocusDisabled = this.focusDisabled;\n const $this = $(this);\n if (this.focusDisabled) {\n $this.removeAttr('tabindex');\n }\n else {\n if (this.focusElement === this) {\n this._manipulatingTabindex = true;\n $this.attr('tabindex', this._tabIndex);\n }\n else if (this.tabIndex > -1) {\n $this.removeAttr('tabindex');\n }\n }\n }\n super.update(changedProperties);\n }\n updated(changedProperties) {\n super.updated(changedProperties);\n if (this.focused && this.focusDisabled) {\n this.blur();\n }\n }\n async manageFocusElementTabindex(tabIndex) {\n if (!this.focusElement) {\n await this.updateComplete;\n }\n if (tabIndex === null) {\n this.focusElement.removeAttribute('tabindex');\n }\n else {\n this.focusElement.tabIndex = tabIndex;\n }\n }\n manageAutoFocus() {\n if (this.autofocus) {\n this.dispatchEvent(new KeyboardEvent('keydown', {\n code: 'Tab',\n }));\n this.focusElement.focus();\n }\n }\n }\n __decorate([\n property({\n type: Boolean,\n /**\n * 哪些属性需要 reflect: true?\n * 一般所有属性都需要 reflect,但以下情况除外:\n * 1. 会频繁变更的属性\n * 2. 属性同步会造成较大性能开销的属性\n * 3. 复杂类型属性(数组、对象等,仅提供 property,不提供 attribute)\n */\n reflect: true,\n converter: booleanConverter,\n })\n ], FocusableMixinClass.prototype, \"autofocus\", void 0);\n __decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n })\n ], FocusableMixinClass.prototype, \"focused\", void 0);\n __decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n attribute: 'focus-visible',\n })\n ], FocusableMixinClass.prototype, \"focusVisible\", void 0);\n __decorate([\n property({ type: Number, attribute: 'tabindex' })\n ], FocusableMixinClass.prototype, \"tabIndex\", null);\n return FocusableMixinClass;\n};\n","import { $ } from '../$.js';\nimport { removeAttribute } from '../shared/attributes.js';\nimport { eachArray } from '../shared/helper.js';\nimport './each.js';\n$.fn.removeAttr = function (attributeName) {\n const names = attributeName.split(' ').filter((name) => name);\n return this.each(function () {\n eachArray(names, (name) => {\n removeAttribute(this, name);\n });\n });\n};\n","export * from './circular-progress/index.js';\n","import { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { isUndefined } from '@mdui/jq/shared/helper.js';\nimport { MduiElement } from '@mdui/shared/base/mdui-element.js';\nimport { componentStyle } from '@mdui/shared/lit-styles/component-style.js';\nimport { style } from './style.js';\n/**\n * @summary 圆形进度指示器组件\n *\n * ```html\n * <mdui-circular-progress></mdui-circular-progress>\n * ```\n */\nlet CircularProgress = class CircularProgress extends MduiElement {\n constructor() {\n super(...arguments);\n /**\n * 进度指示器的最大值。默认为 `1`\n */\n this.max = 1;\n }\n render() {\n const isDeterminate = !isUndefined(this.value);\n return html `<div class=\"progress ${classMap({\n determinate: isDeterminate,\n indeterminate: !isDeterminate,\n })}\">${isDeterminate ? this.renderDeterminate() : this.renderInDeterminate()}</div>`;\n }\n renderDeterminate() {\n const value = this.value;\n const strokeWidth = 4; // 圆环宽度\n const circleRadius = 18; // 圆环宽度中心点的半径\n const π = 3.1415926;\n const center = circleRadius + strokeWidth / 2;\n const circumference = 2 * π * circleRadius;\n const determinateStrokeDashOffset = (1 - value / Math.max(this.max ?? value, value)) * circumference;\n return html `<svg viewBox=\"0 0 ${center * 2} ${center * 2}\"><circle class=\"track\" cx=\"${center}\" cy=\"${center}\" r=\"${circleRadius}\" stroke-width=\"${strokeWidth}\"></circle><circle class=\"circle\" cx=\"${center}\" cy=\"${center}\" r=\"${circleRadius}\" stroke-dasharray=\"${2 * π * circleRadius}\" stroke-dashoffset=\"${determinateStrokeDashOffset}\" stroke-width=\"${strokeWidth}\"></circle></svg>`;\n }\n renderInDeterminate() {\n const strokeWidth = 4; // 圆环宽度\n const circleRadius = 18; // 圆环宽度中心点的半径\n const π = 3.1415926;\n const center = circleRadius + strokeWidth / 2;\n const circumference = 2 * π * circleRadius;\n const halfCircumference = 0.5 * circumference;\n const circle = (thisStrokeWidth) => html `<svg class=\"circle\" viewBox=\"0 0 ${center * 2} ${center * 2}\"><circle cx=\"${center}\" cy=\"${center}\" r=\"${circleRadius}\" stroke-dasharray=\"${circumference}\" stroke-dashoffset=\"${halfCircumference}\" stroke-width=\"${thisStrokeWidth}\"></circle></svg>`;\n return html `<div class=\"layer\"><div class=\"clipper left\">${circle(strokeWidth)}</div><div class=\"gap-patch\">${circle(strokeWidth * 0.8)}</div><div class=\"clipper right\">${circle(strokeWidth)}</div></div>`;\n }\n};\nCircularProgress.styles = [componentStyle, style];\n__decorate([\n property({ type: Number, reflect: true })\n], CircularProgress.prototype, \"max\", void 0);\n__decorate([\n property({ type: Number })\n], CircularProgress.prototype, \"value\", void 0);\nCircularProgress = __decorate([\n customElement('mdui-circular-progress')\n], CircularProgress);\nexport { CircularProgress };\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((s=>t[s])).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {AttributePart, noChange} from '../lit-html.js';\nimport {\n directive,\n Directive,\n DirectiveParameters,\n PartInfo,\n PartType,\n} from '../directive.js';\n\n/**\n * A key-value set of class names to truthy values.\n */\nexport interface ClassInfo {\n readonly [name: string]: string | boolean | number;\n}\n\nclass ClassMapDirective extends Directive {\n /**\n * Stores the ClassInfo object applied to a given AttributePart.\n * Used to unset existing values when a new ClassInfo object is applied.\n */\n private _previousClasses?: Set<string>;\n private _staticClasses?: Set<string>;\n\n constructor(partInfo: PartInfo) {\n super(partInfo);\n if (\n partInfo.type !== PartType.ATTRIBUTE ||\n partInfo.name !== 'class' ||\n (partInfo.strings?.length as number) > 2\n ) {\n throw new Error(\n '`classMap()` can only be used in the `class` attribute ' +\n 'and must be the only part in the attribute.'\n );\n }\n }\n\n render(classInfo: ClassInfo) {\n // Add spaces to ensure separation from static classes\n return (\n ' ' +\n Object.keys(classInfo)\n .filter((key) => classInfo[key])\n .join(' ') +\n ' '\n );\n }\n\n override update(part: AttributePart, [classInfo]: DirectiveParameters<this>) {\n // Remember dynamic classes on the first render\n if (this._previousClasses === undefined) {\n this._previousClasses = new Set();\n if (part.strings !== undefined) {\n this._staticClasses = new Set(\n part.strings\n .join(' ')\n .split(/\\s/)\n .filter((s) => s !== '')\n );\n }\n for (const name in classInfo) {\n if (classInfo[name] && !this._staticClasses?.has(name)) {\n this._previousClasses.add(name);\n }\n }\n return this.render(classInfo);\n }\n\n const classList = part.element.classList;\n\n // Remove old classes that no longer apply\n for (const name of this._previousClasses) {\n if (!(name in classInfo)) {\n classList.remove(name);\n this._previousClasses!.delete(name);\n }\n }\n\n // Add or remove classes based on their classMap value\n for (const name in classInfo) {\n // We explicitly want a loose truthy check of `value` because it seems\n // more convenient that '' and 0 are skipped.\n const value = !!classInfo[name];\n if (\n value !== this._previousClasses.has(name) &&\n !this._staticClasses?.has(name)\n ) {\n if (value) {\n classList.add(name);\n this._previousClasses.add(name);\n } else {\n classList.remove(name);\n this._previousClasses.delete(name);\n }\n }\n }\n return noChange;\n }\n}\n\n/**\n * A directive that applies dynamic CSS classes.\n *\n * This must be used in the `class` attribute and must be the only part used in\n * the attribute. It takes each property in the `classInfo` argument and adds\n * the property name to the element's `classList` if the property value is\n * truthy; if the property value is falsy, the property name is removed from\n * the element's `class`.\n *\n * For example `{foo: bar}` applies the class `foo` if the value of `bar` is\n * truthy.\n *\n * @param classInfo\n */\nexport const classMap = directive(ClassMapDirective);\n\n/**\n * The type of the class that powers this directive. Necessary for naming the\n * directive's return type.\n */\nexport type {ClassMapDirective};\n","import { css } from 'lit';\nexport const style = css `:host{position:relative;display:inline-block;flex-shrink:0;width:2.5rem;height:2.5rem;stroke:rgb(var(--mdui-color-primary))}.progress{position:relative;display:inline-block;width:100%;height:100%;text-align:left;transition:opacity var(--mdui-motion-duration-medium1) var(--mdui-motion-easing-linear)}.determinate svg{transform:rotate(-90deg);fill:transparent}.determinate .track{stroke:transparent}.determinate .circle{stroke:inherit;transition:stroke-dashoffset var(--mdui-motion-duration-long2) var(--mdui-motion-easing-standard)}.indeterminate{font-size:0;letter-spacing:0;white-space:nowrap;animation:mdui-comp-circular-progress-rotate 1568ms var(--mdui-motion-easing-linear) infinite}.indeterminate .circle,.indeterminate .layer{position:absolute;width:100%;height:100%}.indeterminate .layer{animation:mdui-comp-circular-progress-layer-rotate 5332ms var(--mdui-motion-easing-standard) infinite both}.indeterminate .circle{fill:transparent;stroke:inherit}.indeterminate .gap-patch{position:absolute;top:0;left:47.5%;width:5%;height:100%;overflow:hidden}.indeterminate .gap-patch .circle{left:-900%;width:2000%;transform:rotate(180deg)}.indeterminate .clipper{position:relative;display:inline-block;width:50%;height:100%;overflow:hidden}.indeterminate .clipper .circle{width:200%}.indeterminate .clipper.left .circle{animation:mdui-comp-circular-progress-left-spin 1333ms var(--mdui-motion-easing-standard) infinite both}.indeterminate .clipper.right .circle{left:-100%;animation:mdui-comp-circular-progress-right-spin 1333ms var(--mdui-motion-easing-standard) infinite both}@keyframes mdui-comp-circular-progress-rotate{to{transform:rotate(360deg)}}@keyframes mdui-comp-circular-progress-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes mdui-comp-circular-progress-left-spin{0%{transform:rotate(265deg)}50%{transform:rotate(130deg)}100%{transform:rotate(265deg)}}@keyframes mdui-comp-circular-progress-right-spin{0%{transform:rotate(-265deg)}50%{transform:rotate(-130deg)}100%{transform:rotate(-265deg)}}`;\n","import { __decorate } from \"tslib\";\nimport { property } from 'lit/decorators.js';\nimport { $ } from '@mdui/jq/$.js';\nimport '@mdui/jq/methods/index.js';\nimport { isArrayLike } from '@mdui/jq/shared/helper.js';\nimport { booleanConverter } from '@mdui/shared/helpers/decorator.js';\nimport './index.js';\n/**\n * hover, pressed, dragged 三个属性用于添加到 rippleTarget 属性指定的元素上,供 CSS 选择题添加样式\n *\n * TODO: dragged 功能\n *\n * NOTE:\n * 不支持触控的屏幕上事件顺序为:pointerdown -> (8ms) -> mousedown -> pointerup -> (1ms) -> mouseup -> (1ms) -> click\n *\n * 支持触控的屏幕上事件顺序为:pointerdown -> (8ms) -> touchstart -> pointerup -> (1ms) -> touchend -> (5ms) -> mousedown -> mouseup -> click\n * pointermove 比较灵敏,有可能触发了 pointermove 但没有触发 touchmove\n *\n * 支持触摸笔的屏幕上事件顺序为:todo\n */\nexport const RippleMixin = (superclass) => {\n class Mixin extends superclass {\n constructor() {\n super(...arguments);\n /**\n * 是否禁用涟漪动画\n */\n this.noRipple = false;\n /**\n * 当前激活的是第几个 <mdui-ripple>。仅一个组件中有多个 <mdui-ripple> 时可以使用该属性\n * 若值为 undefined,则组件中所有 <mdui-ripple> 都激活\n */\n this.rippleIndex = undefined;\n /**\n * 获取当前激活的是第几个 <mdui-ripple>。仅一个组件中有多个 <mdui-ripple> 时可以使用该属性\n * 若值为 undefined,则组件中所有 <mdui-ripple> 都激活\n * 可在子类中手动指定该方法,指定需要激活的 ripple\n */\n this.getRippleIndex = () => this.rippleIndex;\n }\n /**\n * 子类要添加该属性,指向 <mdui-ripple> 元素\n * 如果一个组件中包含多个 <mdui-ripple> 元素,则这里可以是一个数组或 NodeList\n */\n get rippleElement() {\n throw new Error('Must implement rippleElement getter!');\n }\n /**\n * 子类要实现该属性,表示是否禁用 ripple\n * 如果一个组件中包含多个 <mdui-ripple> 元素,则这里可以是一个数组;也可以是单个值,同时控制多个 <mdui-ripple> 元素\n */\n get rippleDisabled() {\n throw new Error('Must implement rippleDisabled getter!');\n }\n /**\n * 当前 <mdui-ripple> 元素相对于哪个元素存在,即 hover、pressed、dragged 属性要添加到哪个元素上,默认为 :host\n * 如果需要修改该属性,则子类可以实现该属性\n * 如果一个组件中包含多个 <mdui-ripple> 元素,则这里可以是一个数组;也可以是单个值,同时控制多个 <mdui-ripple> 元素\n */\n get rippleTarget() {\n return this;\n }\n firstUpdated(changedProperties) {\n super.firstUpdated(changedProperties);\n const $rippleTarget = $(this.rippleTarget);\n // 监听到事件时,是在第几个 <mdui-ripple> 上触发的事件,记录到 this.rippleIndex 中\n const setRippleIndex = (event) => {\n if (isArrayLike(this.rippleTarget)) {\n this.rippleIndex = $rippleTarget.index(event.target);\n }\n };\n const rippleTargetArr = isArrayLike(this.rippleTarget)\n ? this.rippleTarget\n : [this.rippleTarget];\n rippleTargetArr.forEach((rippleTarget) => {\n rippleTarget.addEventListener('pointerdown', (event) => {\n setRippleIndex(event);\n this.startPress(event);\n });\n rippleTarget.addEventListener('pointerenter', (event) => {\n setRippleIndex(event);\n this.startHover(event);\n });\n rippleTarget.addEventListener('pointerleave', (event) => {\n setRippleIndex(event);\n this.endHover(event);\n });\n rippleTarget.addEventListener('focus', (event) => {\n setRippleIndex(event);\n this.startFocus();\n });\n rippleTarget.addEventListener('blur', (event) => {\n setRippleIndex(event);\n this.endFocus();\n });\n });\n }\n /**\n * 若存在多个 <mdui-ripple>,但 rippleTarget 为同一个,则 hover 状态无法在多个 <mdui-ripple> 之间切换\n * 所以把 startHover 和 endHover 设置为 protected,供子类调用\n * 子类中,在 getRippleIndex() 的返回值变更前调用 endHover(event),变更后调用 startHover(event)\n */\n startHover(event) {\n if (event.pointerType !== 'mouse' || this.isRippleDisabled()) {\n return;\n }\n this.getRippleTarget().setAttribute('hover', '');\n this.getRippleElement().startHover();\n }\n endHover(event) {\n if (event.pointerType !== 'mouse' || this.isRippleDisabled()) {\n return;\n }\n this.getRippleTarget().removeAttribute('hover');\n this.getRippleElement().endHover();\n }\n /**\n * 当前激活的 <mdui-ripple> 元素是否被禁用\n */\n isRippleDisabled() {\n const disabled = this.rippleDisabled;\n if (!Array.isArray(disabled)) {\n return disabled;\n }\n const rippleIndex = this.getRippleIndex();\n if (rippleIndex !== undefined) {\n return disabled[rippleIndex];\n }\n return disabled.length ? disabled[0] : false;\n }\n /**\n * 获取当前激活的 <mdui-ripple> 元素实例\n */\n getRippleElement() {\n const ripple = this.rippleElement;\n if (!isArrayLike(ripple)) {\n return ripple;\n }\n const rippleIndex = this.getRippleIndex();\n if (rippleIndex !== undefined) {\n return ripple[rippleIndex];\n }\n return ripple[0];\n }\n /**\n * 获取当前激活的 <mdui-ripple> 元素相对于哪个元素存在\n */\n getRippleTarget() {\n const target = this.rippleTarget;\n if (!isArrayLike(target)) {\n return target;\n }\n const rippleIndex = this.getRippleIndex();\n if (rippleIndex !== undefined) {\n return target[rippleIndex];\n }\n return target[0];\n }\n startFocus() {\n if (this.isRippleDisabled()) {\n return;\n }\n this.getRippleElement().startFocus();\n }\n endFocus() {\n if (this.isRippleDisabled()) {\n return;\n }\n this.getRippleElement().endFocus();\n }\n startPress(event) {\n // 为鼠标时操作,仅响应鼠标左键点击\n if (this.isRippleDisabled() || event.button) {\n return;\n }\n const target = this.getRippleTarget();\n target.setAttribute('pressed', '');\n // 手指触摸触发涟漪\n if (['touch', 'pen'].includes(event.pointerType)) {\n let hidden = false;\n // 手指触摸后,延迟一段时间触发涟漪,避免手指滑动时也触发涟漪\n let timer = setTimeout(() => {\n timer = 0;\n this.getRippleElement().startPress(event);\n }, 70);\n const hideRipple = () => {\n // 如果手指没有移动,且涟漪动画还没有开始,则开始涟漪动画\n if (timer) {\n clearTimeout(timer);\n timer = 0;\n this.getRippleElement().startPress(event);\n }\n if (!hidden) {\n hidden = true;\n this.endPress();\n }\n target.removeEventListener('pointerup', hideRipple);\n target.removeEventListener('pointercancel', hideRipple);\n };\n // 手指移动后,移除涟漪动画\n const touchMove = () => {\n if (timer) {\n clearTimeout(timer);\n timer = 0;\n }\n target.removeEventListener('touchmove', touchMove);\n };\n // pointermove 事件过于灵敏,可能在未触发 touchmove 的情况下,触发了 pointermove 事件,导致正常的点击操作没有显示涟漪\n // 因此这里监听 touchmove 事件\n target.addEventListener('touchmove', touchMove);\n target.addEventListener('pointerup', hideRipple);\n target.addEventListener('pointercancel', hideRipple);\n }\n // 鼠标点击触发涟漪,点击后立即触发涟漪(仅鼠标左键能触发涟漪)\n if (event.pointerType === 'mouse' && event.button === 0) {\n const hideRipple = () => {\n this.endPress();\n target.removeEventListener('pointerup', hideRipple);\n target.removeEventListener('pointercancel', hideRipple);\n target.removeEventListener('pointerleave', hideRipple);\n };\n this.getRippleElement().startPress(event);\n target.addEventListener('pointerup', hideRipple);\n target.addEventListener('pointercancel', hideRipple);\n target.addEventListener('pointerleave', hideRipple);\n }\n }\n endPress() {\n if (this.isRippleDisabled()) {\n return;\n }\n this.getRippleTarget().removeAttribute('pressed');\n this.getRippleElement().endPress();\n }\n startDrag() {\n if (this.isRippleDisabled()) {\n return;\n }\n this.getRippleElement().startDrag();\n }\n endDrag() {\n if (this.isRippleDisabled()) {\n return;\n }\n this.getRippleElement().endDrag();\n }\n }\n __decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n attribute: 'no-ripple',\n })\n ], Mixin.prototype, \"noRipple\", void 0);\n return Mixin;\n};\n","import { $ } from '../$.js';\nimport { isString } from '../shared/helper.js';\nimport './children.js';\nimport './eq.js';\nimport './get.js';\nimport './parent.js';\n// eslint-disable-next-line\n$.fn.index = function (selector) {\n if (!arguments.length) {\n return this.eq(0).parent().children().get().indexOf(this[0]);\n }\n if (isString(selector)) {\n return $(selector).get().indexOf(this[0]);\n }\n return this.get().indexOf($(selector)[0]);\n};\n","import { $ } from '../$.js';\nimport { unique } from '../functions/unique.js';\nimport { JQ } from '../shared/core.js';\nimport { isElement, eachArray } from '../shared/helper.js';\nimport './each.js';\nimport './is.js';\n$.fn.children = function (selector) {\n const children = [];\n this.each((_, element) => {\n eachArray(element.childNodes, (childNode) => {\n if (!isElement(childNode)) {\n return;\n }\n if (!selector || $(childNode).is(selector)) {\n children.push(childNode);\n }\n });\n });\n return new JQ(unique(children));\n};\n","import { $ } from '../$.js';\nimport { isDocument, isFunction, isString, isWindow, } from '../shared/helper.js';\nimport './each.js';\n// eslint-disable-next-line\n$.fn.is = function (selector) {\n let isMatched = false;\n if (isFunction(selector)) {\n this.each((index, element) => {\n if (selector.call(element, index, element)) {\n isMatched = true;\n }\n });\n return isMatched;\n }\n if (isString(selector)) {\n this.each((_, element) => {\n if (isDocument(element) || isWindow(element)) {\n return;\n }\n if (element.matches.call(element, selector)) {\n isMatched = true;\n }\n });\n return isMatched;\n }\n const $compareWith = $(selector);\n this.each((_, element) => {\n $compareWith.each((_, compare) => {\n if (element === compare) {\n isMatched = true;\n }\n });\n });\n return isMatched;\n};\n","import { $ } from '../$.js';\nimport { JQ } from '../shared/core.js';\nimport './slice.js';\n$.fn.eq = function (index) {\n const ret = index === -1 ? this.slice(index) : this.slice(index, +index + 1);\n return new JQ(ret);\n};\n","import { $ } from '../$.js';\nimport { JQ } from '../shared/core.js';\n$.fn.slice = function (...args) {\n return new JQ([].slice.apply(this, args));\n};\n","import { $ } from '../$.js';\n// eslint-disable-next-line\n$.fn.get = function (index) {\n return index === undefined\n ? [].slice.call(this)\n : this[index >= 0 ? index : index + this.length];\n};\n","import { $ } from '../$.js';\nimport { eachArray } from '../shared/helper.js';\nimport './get.js';\nimport { dir } from './utils/dir.js';\neachArray(['', 's', 'sUntil'], (name, nameIndex) => {\n $.fn[`parent${name}`] = function (\n // eslint-disable-next-line\n selector, filter) {\n // parents、parentsUntil 需要把元素的顺序反向处理,以便和 jQuery 的结果一致\n const $nodes = !nameIndex ? this : $(this.get().reverse());\n return dir($nodes, nameIndex, 'parentNode', selector, filter);\n };\n});\n","import { $ } from '../../$.js';\nimport { unique } from '../../functions/unique.js';\nimport { JQ } from '../../shared/core.js';\nimport { isElement } from '../../shared/helper.js';\nimport '../each.js';\nimport '../is.js';\nexport const dir = ($elements, nameIndex, node, \n// eslint-disable-next-line\nselector, filter) => {\n const ret = [];\n let target;\n $elements.each((_, element) => {\n target = element[node];\n // 不能包含最顶层的 document 元素\n while (target && isElement(target)) {\n // prevUntil, nextUntil, parentsUntil\n if (nameIndex === 2) {\n if (selector && $(target).is(selector)) {\n break;\n }\n if (!filter || $(target).is(filter)) {\n ret.push(target);\n }\n }\n // prev, next, parent\n else if (nameIndex === 0) {\n if (!selector || $(target).is(selector)) {\n ret.push(target);\n }\n break;\n }\n // prevAll, nextAll, parents\n else {\n if (!selector || $(target).is(selector)) {\n ret.push(target);\n }\n }\n target = target[node];\n }\n });\n return new JQ(unique(ret));\n};\n","import { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { $ } from '@mdui/jq/$.js';\nimport '@mdui/jq/methods/addClass.js';\nimport '@mdui/jq/methods/children.js';\nimport '@mdui/jq/methods/css.js';\nimport '@mdui/jq/methods/data.js';\nimport '@mdui/jq/methods/each.js';\nimport '@mdui/jq/methods/filter.js';\nimport '@mdui/jq/methods/innerHeight.js';\nimport '@mdui/jq/methods/innerWidth.js';\nimport '@mdui/jq/methods/offset.js';\nimport '@mdui/jq/methods/on.js';\nimport '@mdui/jq/methods/prependTo.js';\nimport '@mdui/jq/methods/remove.js';\nimport { MduiElement } from '@mdui/shared/base/mdui-element.js';\nimport { booleanConverter } from '@mdui/shared/helpers/decorator.js';\nimport { componentStyle } from '@mdui/shared/lit-styles/component-style.js';\nimport { style } from './style.js';\n/**\n * 处理点击时的涟漪动画;及添加 hover、focused、dragged 的背景色\n * 背景色通过在 .surface 元素上添加对应的 class 实现\n * 阴影在 ripple-mixin 中处理,通过在 :host 元素上添加 attribute 供 CSS 选择器添加样式\n */\nlet Ripple = class Ripple extends MduiElement {\n constructor() {\n super(...arguments);\n /**\n * 是否禁用涟漪动画\n */\n this.noRipple = false;\n this.hover = false;\n this.focused = false;\n this.dragged = false;\n this.surfaceRef = createRef();\n }\n startPress(event) {\n if (this.noRipple) {\n return;\n }\n const $surface = $(this.surfaceRef.value);\n const surfaceHeight = $surface.innerHeight();\n const surfaceWidth = $surface.innerWidth();\n // 点击位置坐标\n let touchStartX;\n let touchStartY;\n if (!event) {\n // 未传入事件对象,涟漪从中间扩散\n touchStartX = surfaceWidth / 2;\n touchStartY = surfaceHeight / 2;\n }\n else {\n // 传入了事件对象,涟漪从点击位置扩散\n const touchPosition = typeof TouchEvent !== 'undefined' &&\n event instanceof TouchEvent &&\n event.touches.length\n ? event.touches[0]\n : event;\n const offset = $surface.offset();\n // 点击位置不在 surface 内,不执行\n if (touchPosition.pageX < offset.left ||\n touchPosition.pageX > offset.left + surfaceWidth ||\n touchPosition.pageY < offset.top ||\n touchPosition.pageY > offset.top + surfaceHeight) {\n return;\n }\n touchStartX = touchPosition.pageX - offset.left;\n touchStartY = touchPosition.pageY - offset.top;\n }\n // 涟漪直径\n const diameter = Math.max(Math.pow(Math.pow(surfaceHeight, 2) + Math.pow(surfaceWidth, 2), 0.5), 48);\n // 涟漪扩散动画\n const translateX = `${-touchStartX + surfaceWidth / 2}px`;\n const translateY = `${-touchStartY + surfaceHeight / 2}px`;\n const translate = `translate3d(${translateX}, ${translateY}, 0) scale(1)`;\n // 涟漪 DOM 元素\n $('<div class=\"wave\"></div>')\n .css({\n width: diameter,\n height: diameter,\n marginTop: -diameter / 2,\n marginLeft: -diameter / 2,\n left: touchStartX,\n top: touchStartY,\n })\n .each((_, wave) => {\n wave.style.setProperty('--mdui-comp-ripple-transition-x', translateX);\n wave.style.setProperty('--mdui-comp-ripple-transition-y', translateY);\n })\n .prependTo(this.surfaceRef.value)\n .each((_, wave) => wave.clientLeft) // 重绘\n .css('transform', translate)\n .on('animationend', function (e) {\n const event = e;\n if (event.animationName === 'mdui-comp-ripple-radius-in') {\n $(this).data('filled', true); // 扩散动画完成后,添加标记\n }\n });\n }\n endPress() {\n const $waves = $(this.surfaceRef.value)\n .children()\n .filter((_, wave) => !$(wave).data('removing'))\n .data('removing', true);\n const hideAndRemove = ($waves) => {\n $waves\n .addClass('out')\n .each((_, wave) => wave.clientLeft) // 重绘\n .on('animationend', function () {\n $(this).remove();\n });\n };\n // 扩散动画未完成,先完成扩散,再隐藏并移除\n $waves\n .filter((_, wave) => !$(wave).data('filled'))\n .on('animationend', function (e) {\n const event = e;\n if (event.animationName === 'mdui-comp-ripple-radius-in') {\n hideAndRemove($(this));\n }\n });\n // 扩散动画已完成,直接隐藏并移除\n hideAndRemove($waves.filter((_, wave) => !!$(wave).data('filled')));\n }\n startHover() {\n this.hover = true;\n }\n endHover() {\n this.hover = false;\n }\n startFocus() {\n this.focused = true;\n }\n endFocus() {\n this.focused = false;\n }\n startDrag() {\n this.dragged = true;\n }\n endDrag() {\n this.dragged = false;\n }\n render() {\n return html `<div ${ref(this.surfaceRef)} class=\"surface ${classMap({\n hover: this.hover,\n focused: this.focused,\n dragged: this.dragged,\n })}\"></div>`;\n }\n};\nRipple.styles = [componentStyle, style];\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n attribute: 'no-ripple',\n })\n], Ripple.prototype, \"noRipple\", void 0);\n__decorate([\n state()\n], Ripple.prototype, \"hover\", void 0);\n__decorate([\n state()\n], Ripple.prototype, \"focused\", void 0);\n__decorate([\n state()\n], Ripple.prototype, \"dragged\", void 0);\nRipple = __decorate([\n customElement('mdui-ripple')\n], Ripple);\nexport { Ripple };\n","import { $ } from '../$.js';\nimport { getAttribute, setAttribute } from '../shared/attributes.js';\nimport { isElement, isFunction, eachArray } from '../shared/helper.js';\nimport './each.js';\neachArray(['add', 'remove', 'toggle'], (name) => {\n $.fn[`${name}Class`] = function (className) {\n if (name === 'remove' && !arguments.length) {\n return this.each((_, element) => {\n setAttribute(element, 'class', '');\n });\n }\n return this.each((i, element) => {\n if (!isElement(element)) {\n return;\n }\n const classes = (isFunction(className)\n ? className.call(element, i, getAttribute(element, 'class', ''))\n : className)\n .split(' ')\n .filter((name) => name);\n eachArray(classes, (cls) => {\n element.classList[name](cls);\n });\n });\n };\n});\n","import { $ } from '../$.js';\nimport { dataAttr, get, getAll, set, setAll } from '../shared/data.js';\nimport { isUndefined, isObjectLike, eachObject, toCamelCase, } from '../shared/helper.js';\nimport './each.js';\n// eslint-disable-next-line\n$.fn.data = function (key, value) {\n // 获取所有值\n if (isUndefined(key)) {\n if (!this.length) {\n return undefined;\n }\n const element = this[0];\n const resultData = getAll(element);\n // window, document 上不存在 `dataset`\n if (element.nodeType !== 1) {\n return resultData;\n }\n // 若值未通过 data 方法设置,则从 `dataset` 中获取值。dataset 中读取的 key 会自动转为驼峰法\n eachObject(element.dataset, (key) => {\n resultData[key] = dataAttr(element, key, resultData[key]);\n });\n return resultData;\n }\n // 同时设置多个值\n if (isObjectLike(key)) {\n return this.each(function () {\n setAll(this, key);\n });\n }\n // value 传入了 undefined\n if (arguments.length === 2 && isUndefined(value)) {\n return this;\n }\n // 设置值\n if (!isUndefined(value)) {\n return this.each(function () {\n set(this, key, value);\n });\n }\n // 获取值\n if (!this.length) {\n return undefined;\n }\n return dataAttr(this[0], toCamelCase(key), get(this[0], key));\n};\n","import { eachObject, toCamelCase, eachArray, isUndefined, isString, } from './helper.js';\nconst weakMap = new WeakMap();\n/**\n * 获取元素上的所有数据\n * @param element\n */\nexport const getAll = (element) => {\n return weakMap.get(element) ?? {};\n};\n/**\n * 获取元素上的的一个数据\n * @param element\n * @param keyOriginal\n */\nexport const get = (element, keyOriginal) => {\n const data = getAll(element);\n const key = toCamelCase(keyOriginal);\n return key in data ? data[key] : undefined;\n};\n/**\n * 在上设置键值对数据\n * @param element\n * @param object\n */\nexport const setAll = (element, object) => {\n const data = getAll(element);\n eachObject(object, (keyOriginal, value) => {\n data[toCamelCase(keyOriginal)] = value;\n });\n weakMap.set(element, data);\n};\n/**\n * 在元素上设置一个数据\n * @param element\n * @param keyOriginal\n * @param value\n */\nexport const set = (element, keyOriginal, value) => {\n setAll(element, { [keyOriginal]: value });\n};\n/**\n * 移除元素上所有数据\n * @param element\n */\nexport const removeAll = (element) => {\n weakMap.delete(element);\n};\n/**\n * 移除元素上的多个数据\n * @param element\n * @param keysOriginal 键名组成的数组\n */\nexport const removeMultiple = (element, keysOriginal) => {\n const data = getAll(element);\n eachArray(keysOriginal, (keyOriginal) => {\n const key = toCamelCase(keyOriginal);\n delete data[key];\n });\n weakMap.set(element, data);\n};\nconst rbrace = /^(?:{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/;\n/**\n * dataset 中的值读取时进行转换\n * @param value\n */\nconst stringTransform = (value) => {\n if (value === 'true') {\n return true;\n }\n if (value === 'false') {\n return false;\n }\n if (value === 'null') {\n return null;\n }\n if (value === +value + '') {\n return +value;\n }\n if (rbrace.test(value)) {\n return JSON.parse(value);\n }\n return value;\n};\n// 若 value 不存在,则从 `dataset` 中获取值。key 需要自行转为驼峰法\nexport const dataAttr = (element, key, value) => {\n if (isUndefined(value) && element.nodeType === 1) {\n value = element.dataset[key];\n if (isString(value)) {\n try {\n value = stringTransform(value);\n }\n catch (e) { }\n }\n }\n return value;\n};\n","import { $ } from '../$.js';\nimport { isFunction, isString } from '../shared/helper.js';\nimport './is.js';\nimport './map.js';\n// eslint-disable-next-line\n$.fn.filter = function (selector) {\n if (isFunction(selector)) {\n return this.map((index, element) => {\n return selector.call(element, index, element) ? element : undefined;\n });\n }\n if (isString(selector)) {\n return this.map((_, element) => {\n return $(element).is(selector) ? element : undefined;\n });\n }\n const $selector = $(selector);\n return this.map((_, element) => {\n return $selector.get().includes(element) ? element : undefined;\n });\n};\n","import { $ } from '../$.js';\nimport { map } from '../functions/map.js';\nimport { JQ } from '../shared/core.js';\n// eslint-disable-next-line\n$.fn.map = function (callback) {\n return new JQ(map(this, (element, i) => {\n return callback.call(element, i, element);\n }));\n};\n","import { getWindow } from 'ssr-window';\nimport { each } from './each.js';\n// eslint-disable-next-line\nexport function map(elements, callback) {\n const window = getWindow();\n let value;\n const ret = [];\n each(elements, (i, element) => {\n value = callback.call(window, element, i);\n if (value != null) {\n ret.push(value);\n }\n });\n return [].concat(...ret);\n}\n","import { isArrayLike, eachArray, eachObject } from '../shared/helper.js';\n// eslint-disable-next-line\nexport function each(target, callback) {\n // eachArray 回调函数是 value, key,这里的 each 函数是 key, value\n return isArrayLike(target)\n ? eachArray(target, (value, index) => {\n return callback.call(value, index, value);\n })\n : eachObject(target, callback);\n}\n","import './width.js';\n","import { getDocument } from 'ssr-window';\nimport { $ } from '../$.js';\nimport { isBorderBox, getExtraWidth, getComputedStyleValue, } from '../shared/css.js';\nimport { isBoolean, isString, isDocument, isFunction, isWindow, toElement, eachArray, } from '../shared/helper.js';\nimport './css.js';\nimport './each.js';\n/**\n * 值上面的 padding、border、margin 处理\n * @param element\n * @param name\n * @param value\n * @param funcIndex\n * @param includeMargin\n * @param multiply\n */\nconst handleExtraWidth = (element, name, value, funcIndex, includeMargin, multiply) => {\n // 获取元素的 padding, border, margin 宽度(两侧宽度的和)\n const getExtraWidthValue = (extra) => {\n return (getExtraWidth(element, name.toLowerCase(), extra) *\n multiply);\n };\n if (funcIndex === 2 && includeMargin) {\n value += getExtraWidthValue('margin');\n }\n if (isBorderBox(element)) {\n if (funcIndex === 0) {\n value -= getExtraWidthValue('border');\n }\n if (funcIndex === 1) {\n value -= getExtraWidthValue('border');\n value -= getExtraWidthValue('padding');\n }\n }\n else {\n if (funcIndex === 0) {\n value += getExtraWidthValue('padding');\n }\n if (funcIndex === 2) {\n value += getExtraWidthValue('border');\n value += getExtraWidthValue('padding');\n }\n }\n return value;\n};\n/**\n * 获取元素的样式值\n * @param element\n * @param name\n * @param funcIndex 0: innerWidth, innerHeight; 1: width, height; 2: outerWidth, outerHeight\n * @param includeMargin\n */\nconst get = (element, name, funcIndex, includeMargin) => {\n const document = getDocument();\n const clientProp = `client${name}`;\n const scrollProp = `scroll${name}`;\n const offsetProp = `offset${name}`;\n const innerProp = `inner${name}`;\n // $(window).width()\n if (isWindow(element)) {\n // outerWidth, outerHeight 需要包含滚动条的宽度\n return funcIndex === 2\n ? element[innerProp]\n : toElement(document)[clientProp];\n }\n // $(document).width()\n if (isDocument(element)) {\n const doc = toElement(element);\n return Math.max(\n // @ts-ignore\n element.body[scrollProp], doc[scrollProp], \n // @ts-ignore\n element.body[offsetProp], doc[offsetProp], doc[clientProp]);\n }\n const value = parseFloat(getComputedStyleValue(element, name.toLowerCase()) || '0');\n return handleExtraWidth(element, name, value, funcIndex, includeMargin, 1);\n};\n/**\n * 设置元素的样式值\n * @param element\n * @param elementIndex\n * @param name\n * @param funcIndex 0: innerWidth, innerHeight; 1: width, height; 2: outerWidth, outerHeight\n * @param includeMargin\n * @param value\n */\nconst set = (element, elementIndex, name, funcIndex, includeMargin, value) => {\n let computedValue = isFunction(value)\n ? value.call(element, elementIndex, get(element, name, funcIndex, includeMargin))\n : value;\n if (computedValue == null) {\n return;\n }\n const $element = $(element);\n const dimension = name.toLowerCase();\n // 特殊的值,不需要计算 padding、border、margin\n if (isString(computedValue) &&\n ['auto', 'inherit', ''].includes(computedValue)) {\n $element.css(dimension, computedValue);\n return;\n }\n // 其他值保留原始单位。注意:如果不使用 px 作为单位,则算出的值一般是不准确的\n const suffix = computedValue.toString().replace(/\\b[0-9.]*/, '');\n const numerical = parseFloat(computedValue);\n computedValue =\n handleExtraWidth(element, name, numerical, funcIndex, includeMargin, -1) +\n (suffix || 'px');\n $element.css(dimension, computedValue);\n};\neachArray(['Width', 'Height'], (name) => {\n eachArray([`inner${name}`, name.toLowerCase(), `outer${name}`], (funcName, funcIndex) => {\n $.fn[funcName] = function (\n // eslint-disable-next-line\n margin, \n // eslint-disable-next-line\n value) {\n // 是否是赋值操作\n const isSet = arguments.length && (funcIndex < 2 || !isBoolean(margin));\n const includeMargin = margin === true || value === true;\n // 获取第一个元素的值\n if (!isSet) {\n return this.length\n ? get(this[0], name, funcIndex, includeMargin)\n : undefined;\n }\n // 设置每个元素的值\n return this.each((index, element) => {\n return set(element, index, name, funcIndex, includeMargin, margin);\n });\n };\n });\n});\n","import './width.js';\n","import { $ } from '../$.js';\nimport { extend } from '../functions/extend.js';\nimport { isFunction } from '../shared/helper.js';\nimport './css.js';\nimport './each.js';\nimport './position.js';\nconst get = (element) => {\n if (!element.getClientRects().length) {\n return { top: 0, left: 0 };\n }\n const { top, left } = element.getBoundingClientRect();\n const { pageYOffset, pageXOffset } = element.ownerDocument\n .defaultView;\n return {\n top: top + pageYOffset,\n left: left + pageXOffset,\n };\n};\nconst set = (element, value, index) => {\n const $element = $(element);\n const position = $element.css('position');\n if (position === 'static') {\n $element.css('position', 'relative');\n }\n const currentOffset = get(element);\n const currentTopString = $element.css('top');\n const currentLeftString = $element.css('left');\n let currentTop;\n let currentLeft;\n const calculatePosition = (position === 'absolute' || position === 'fixed') &&\n (currentTopString + currentLeftString).includes('auto');\n if (calculatePosition) {\n const currentPosition = $element.position();\n currentTop = currentPosition.top;\n currentLeft = currentPosition.left;\n }\n else {\n currentTop = parseFloat(currentTopString);\n currentLeft = parseFloat(currentLeftString);\n }\n const computedValue = isFunction(value)\n ? value.call(element, index, extend({}, currentOffset))\n : value;\n $element.css({\n top: computedValue.top != null\n ? computedValue.top - currentOffset.top + currentTop\n : undefined,\n left: computedValue.left != null\n ? computedValue.left - currentOffset.left + currentLeft\n : undefined,\n });\n};\n// eslint-disable-next-line\n$.fn.offset = function (value) {\n // 获取坐标\n if (!arguments.length) {\n if (!this.length) {\n return undefined;\n }\n return get(this[0]);\n }\n // 设置坐标\n return this.each(function (index) {\n set(this, value, index);\n });\n};\n","import { isUndefined, eachObject, eachArray } from '../shared/helper.js';\nexport function extend(target, ...objectN) {\n eachArray(objectN, (object) => {\n eachObject(object, (prop, value) => {\n if (!isUndefined(value)) {\n target[prop] = value;\n }\n });\n });\n return target;\n}\n","import { $ } from '../$.js';\nimport './css.js';\nimport './eq.js';\nimport './offset.js';\nimport './offsetParent.js';\nconst floatStyle = ($element, name) => {\n return parseFloat($element.css(name));\n};\n// @ts-ignore\n$.fn.position = function () {\n if (!this.length) {\n return undefined;\n }\n const $element = this.eq(0);\n let currentOffset;\n let parentOffset = {\n left: 0,\n top: 0,\n };\n if ($element.css('position') === 'fixed') {\n currentOffset = $element[0].getBoundingClientRect();\n }\n else {\n currentOffset = $element.offset();\n const $offsetParent = $element.offsetParent();\n parentOffset = $offsetParent.offset();\n parentOffset.top += floatStyle($offsetParent, 'border-top-width');\n parentOffset.left += floatStyle($offsetParent, 'border-left-width');\n }\n return {\n top: currentOffset.top - parentOffset.top - floatStyle($element, 'margin-top'),\n left: currentOffset.left -\n parentOffset.left -\n floatStyle($element, 'margin-left'),\n };\n};\n","import { getDocument } from 'ssr-window';\nimport { $ } from '../$.js';\nimport './css.js';\nimport './map.js';\n/**\n * 返回最近的用于定位的父元素\n */\n$.fn.offsetParent = function () {\n const document = getDocument();\n return this.map(function () {\n let offsetParent = this.offsetParent;\n while (offsetParent && $(offsetParent).css('position') === 'static') {\n offsetParent = offsetParent.offsetParent;\n }\n return offsetParent || document.documentElement;\n });\n};\n","import { $ } from '../$.js';\nimport { add } from '../shared/event.js';\nimport { isString, isObjectLike, returnFalse, eachObject, } from '../shared/helper.js';\nimport './each.js';\nimport './off.js';\n$.fn.on = function (\n// eslint-disable-next-line\ntypes, \n// eslint-disable-next-line\nselector, \n// eslint-disable-next-line\ndata, \n// eslint-disable-next-line\ncallback, one) {\n // types 可以是 type/func 对象\n if (isObjectLike(types)) {\n // (types-Object, selector, data)\n if (!isString(selector)) {\n // (types-Object, data)\n data = data || selector;\n selector = undefined;\n }\n eachObject(types, (type, fn) => {\n // selector 和 data 都可能是 undefined\n // @ts-ignore\n this.on(type, selector, data, fn, one);\n });\n return this;\n }\n if (data == null && callback == null) {\n // (types, fn)\n callback = selector;\n data = selector = undefined;\n }\n else if (callback == null) {\n if (isString(selector)) {\n // (types, selector, fn)\n callback = data;\n data = undefined;\n }\n else {\n // (types, data, fn)\n callback = data;\n data = selector;\n selector = undefined;\n }\n }\n if (callback === false) {\n callback = returnFalse;\n }\n else if (!callback) {\n return this;\n }\n // $().one()\n if (one) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const _this = this;\n const origCallback = callback;\n callback = function (event, ...dataN) {\n _this.off(event.type, selector, callback);\n return origCallback.call(this, event, ...dataN);\n };\n }\n return this.each(function () {\n add(this, types, callback, data, selector);\n });\n};\n","import { getWindow } from 'ssr-window';\nimport { $ } from '../$.js';\nimport { contains } from '../functions/contains.js';\nimport '../methods/find.js';\nimport '../methods/get.js';\nimport { isObjectLike } from './helper.js';\n// 直接使用 CustomEvent 在 ssr 环境下会报错\nconst CustomEvent = getWindow().CustomEvent;\n/**\n * 封装 CustomEvent,使之支持 data:事件监听参数,namespace:命名空间\n */\nexport class MduiCustomEvent extends CustomEvent {\n constructor(type, options) {\n super(type, options);\n this.data = options.data;\n this.namespace = options.namespace;\n }\n}\nconst elementIdMap = new WeakMap();\nlet elementId = 1;\n/**\n * 为元素赋予一个唯一的ID\n */\nconst getElementId = (element) => {\n if (!elementIdMap.has(element)) {\n elementIdMap.set(element, ++elementId);\n }\n return elementIdMap.get(element);\n};\n// 存储唯一ID及事件处理\nconst handlersMap = new Map();\n/**\n * 获取元素上的事件处理器数组\n * @param element\n */\nconst getHandlers = (element) => {\n const id = getElementId(element);\n return handlersMap.get(id) || handlersMap.set(id, []).get(id);\n};\n/**\n * 解析事件名中的命名空间\n */\nexport const parse = (type) => {\n const parts = type.split('.');\n return {\n type: parts[0],\n namespace: parts.slice(1).sort().join(' '),\n };\n};\n/**\n * 命名空间匹配规则\n */\nconst matcherFor = (namespace) => {\n return new RegExp('(?:^| )' + namespace.replace(' ', ' .* ?') + '(?: |$)');\n};\n/**\n * 获取匹配的事件\n * @param element\n * @param type\n * @param func\n * @param selector\n */\nconst getMatchedHandlers = (element, type, func, selector) => {\n const event = parse(type);\n return getHandlers(element).filter((handler) => {\n return (handler &&\n (!event.type || handler.type === event.type) &&\n (!event.namespace ||\n matcherFor(event.namespace).test(handler.namespace)) &&\n (!func || getElementId(handler.func) === getElementId(func)) &&\n (!selector || handler.selector === selector));\n });\n};\n/**\n * 添加事件监听\n * @param element\n * @param types\n * @param func\n * @param data\n * @param selector\n */\nexport const add = (element, types, func, data, selector) => {\n // 传入 data.useCapture 来设置 useCapture: true\n let useCapture = false;\n if (isObjectLike(data) && data.useCapture) {\n useCapture = true;\n }\n types.split(' ').forEach((type) => {\n if (!type) {\n return;\n }\n const event = parse(type);\n const callFn = (e, elem) => {\n const result = func.apply(elem, \n // @ts-ignore\n e.detail === null ? [e] : [e].concat(e.detail));\n if (result === false) {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n const proxyFn = (e) => {\n if (e.namespace && !matcherFor(e.namespace).test(event.namespace)) {\n return;\n }\n e.data = data;\n if (selector) {\n // 事件代理\n $(element)\n .find(selector)\n .get()\n .reverse()\n .forEach((elem) => {\n if (elem === e.target || contains(elem, e.target)) {\n callFn(e, elem);\n }\n });\n }\n else {\n // 不使用事件代理\n callFn(e, element);\n }\n };\n const handler = {\n type: event.type,\n namespace: event.namespace,\n func,\n selector,\n id: getHandlers(element).length,\n proxy: proxyFn,\n };\n getHandlers(element).push(handler);\n // @ts-ignore\n element.addEventListener(handler.type, proxyFn, useCapture);\n });\n};\n/**\n * 移除事件监听\n * @param element\n * @param types\n * @param func\n * @param selector\n */\nexport const remove = (element, types, func, selector) => {\n const handlersInElement = getHandlers(element);\n const removeEvent = (handler) => {\n delete handlersInElement[handler.id];\n // @ts-ignore\n element.removeEventListener(handler.type, handler.proxy, false);\n };\n if (!types) {\n handlersInElement.forEach((handler) => {\n removeEvent(handler);\n });\n }\n else {\n types.split(' ').forEach((type) => {\n if (type) {\n getMatchedHandlers(element, type, func, selector).forEach((handler) => {\n removeEvent(handler);\n });\n }\n });\n }\n};\n","import { toElement } from '../shared/helper.js';\n/**\n * 检查 container 元素内是否包含 contains 元素\n * @param container 父元素\n * @param contains 子元素\n * @example\n```js\ncontains( document, document.body ); // true\ncontains( document.getElementById('test'), document ); // false\ncontains( $('.container').get(0), $('.contains').get(0) ); // false\n```\n */\nexport const contains = (container, contains) => {\n return container !== contains && toElement(container).contains(contains);\n};\n","import { $ } from '../$.js';\nimport { merge } from '../functions/merge.js';\nimport { JQ } from '../shared/core.js';\nimport './each.js';\nimport './get.js';\n$.fn.find = function (selector) {\n const foundElements = [];\n this.each((_, element) => {\n merge(foundElements, $(element.querySelectorAll(selector)).get());\n });\n return new JQ(foundElements);\n};\n","import { eachArray } from '../shared/helper.js';\n/**\n * 把第二个数组的元素追加到第一个数组中,并返回合并后的数组\n * @param first 第一个数组\n * @param second 该数组的元素将被追加到第一个数组中\n * @example\n```js\nmerge( [ 0, 1, 2 ], [ 2, 3, 4 ] )\n// [ 0, 1, 2, 2, 3, 4 ]\n```\n */\nexport const merge = (first, second) => {\n eachArray(second, (value) => {\n first.push(value);\n });\n return first;\n};\n","import { $ } from '../$.js';\nimport { remove } from '../shared/event.js';\nimport { isFunction, isObjectLike, returnFalse, eachObject, } from '../shared/helper.js';\nimport './each.js';\n$.fn.off = function (types, \n// eslint-disable-next-line\nselector, \n// eslint-disable-next-line\ncallback) {\n // types 是对象\n if (isObjectLike(types)) {\n eachObject(types, (type, fn) => {\n // this.off('click', undefined, function () {})\n // this.off('click', '.box', function () {})\n this.off(type, selector, fn);\n });\n return this;\n }\n // selector 不存在\n if (selector === false || isFunction(selector)) {\n callback = selector;\n selector = undefined;\n // this.off('click', undefined, function () {})\n }\n // callback 传入 `false`,相当于 `return false`\n if (callback === false) {\n callback = returnFalse;\n }\n return this.each(function () {\n remove(this, types, callback, selector);\n });\n};\n","import './appendTo.js';\n","import { $ } from '../$.js';\nimport { createElement, appendChild } from '../shared/dom.js';\nimport { eachArray } from '../shared/helper.js';\nimport './insertAfter.js';\nimport './insertBefore.js';\nimport './map.js';\nimport './remove.js';\neachArray(['appendTo', 'prependTo'], (name, nameIndex) => {\n // eslint-disable-next-line\n $.fn[name] = function (target) {\n const extraChilds = [];\n const $target = $(target).map((_, element) => {\n const childNodes = element.childNodes;\n const childLength = childNodes.length;\n if (childLength) {\n return childNodes[nameIndex ? 0 : childLength - 1];\n }\n const child = createElement('div');\n appendChild(element, child);\n extraChilds.push(child);\n return child;\n });\n const $result = this[nameIndex ? 'insertBefore' : 'insertAfter']($target);\n $(extraChilds).remove();\n return $result;\n };\n});\n","import './insertBefore.js';\n","import { $ } from '../$.js';\nimport { eachArray } from '../shared/helper.js';\nimport './each.js';\nimport './get.js';\neachArray(['insertBefore', 'insertAfter'], (name, nameIndex) => {\n // eslint-disable-next-line\n $.fn[name] = function (target) {\n const $element = nameIndex ? $(this.get().reverse()) : this; // 顺序和 jQuery 保持一致\n const $target = $(target);\n const result = [];\n $target.each((index, target) => {\n if (!target.parentNode) {\n return;\n }\n $element.each((_, element) => {\n const newItem = index\n ? element.cloneNode(true)\n : element;\n const existingItem = nameIndex ? target.nextSibling : target;\n result.push(newItem);\n target.parentNode.insertBefore(newItem, existingItem);\n });\n });\n return $(nameIndex ? result.reverse() : result);\n };\n});\n","import { $ } from '../$.js';\nimport { removeChild } from '../shared/dom.js';\nimport './each.js';\nimport './is.js';\n$.fn.remove = function (selector) {\n return this.each((_, element) => {\n if (!selector || $(element).is(selector)) {\n removeChild(element);\n }\n });\n};\n","import { css } from 'lit';\nexport const style = css `:host{position:absolute;top:0;left:0;display:block;width:100%;height:100%;overflow:hidden;pointer-events:none}.surface{position:absolute;top:0;left:0;width:100%;height:100%;transition-duration:280ms;transition-property:background-color;pointer-events:none;transition-timing-function:var(--mdui-motion-easing-standard)}.hover{background-color:rgba(var(--mdui-comp-ripple-state-layer-color,var(--mdui-color-on-surface)),var(--mdui-state-layer-hover))}:host-context([focus-visible]) .focused{background-color:rgba(var(--mdui-comp-ripple-state-layer-color,var(--mdui-color-on-surface)),var(--mdui-state-layer-focus))}.dragged{background-color:rgba(var(--mdui-comp-ripple-state-layer-color,var(--mdui-color-on-surface)),var(--mdui-state-layer-dragged))}.wave{position:absolute;z-index:1;background-color:rgb(var(--mdui-comp-ripple-state-layer-color,var(--mdui-color-on-surface)));border-radius:50%;transform:translate3d(0,0,0) scale(.4);opacity:0;animation:225ms ease 0s 1 normal forwards running mdui-comp-ripple-radius-in,75ms ease 0s 1 normal forwards running mdui-comp-ripple-opacity-in;pointer-events:none}.out{transform:translate3d(var(--mdui-comp-ripple-transition-x,0),var(--mdui-comp-ripple-transition-y,0),0) scale(1);animation:150ms ease 0s 1 normal none running mdui-comp-ripple-opacity-out}@keyframes mdui-comp-ripple-radius-in{from{transform:translate3d(0,0,0) scale(.4);animation-timing-function:var(--mdui-motion-easing-standard)}to{transform:translate3d(var(--mdui-comp-ripple-transition-x,0),var(--mdui-comp-ripple-transition-y,0),0) scale(1)}}@keyframes mdui-comp-ripple-opacity-in{from{opacity:0;animation-timing-function:linear}to{opacity:var(--mdui-state-layer-pressed)}}@keyframes mdui-comp-ripple-opacity-out{from{animation-timing-function:linear;opacity:var(--mdui-state-layer-pressed)}to{opacity:0}}`;\n","import { css } from 'lit';\nexport const buttonBaseStyle = css `.button{position:relative;display:inline-flex;align-items:center;justify-content:center;height:100%;padding:0;overflow:hidden;color:inherit;font-size:inherit;font-family:inherit;font-weight:inherit;letter-spacing:inherit;white-space:nowrap;text-align:center;text-decoration:none;vertical-align:middle;background:0 0;border:none;outline:0;cursor:inherit;-webkit-user-select:none;user-select:none;touch-action:manipulation;zoom:1;-webkit-user-drag:none}`;\n","export * from './icon/index.js';\n","import { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport { until } from 'lit/directives/until.js';\nimport { ajax } from '@mdui/jq/functions/ajax.js';\nimport { MduiElement } from '@mdui/shared/base/mdui-element.js';\nimport { HasSlotController } from '@mdui/shared/controllers/has-slot.js';\nimport { componentStyle } from '@mdui/shared/lit-styles/component-style.js';\nimport { style } from './style.js';\n/**\n * @summary 图标组件\n *\n * ```html\n * <mdui-icon name=\"search\"></mdui-icon>\n * ```\n *\n * @slot - `svg` 图标的内容\n */\nlet Icon = class Icon extends MduiElement {\n constructor() {\n super(...arguments);\n this.hasSlotController = new HasSlotController(this, '[default]');\n }\n render() {\n const renderDefault = () => {\n if (this.name) {\n const [name, variant] = this.name.split('--');\n const familyMap = new Map([\n ['outlined', 'Material Icons Outlined'],\n ['filled', 'Material Icons'],\n ['rounded', 'Material Icons Round'],\n ['sharp', 'Material Icons Sharp'],\n ['two-tone', 'Material Icons Two Tone'],\n ]);\n return html `<span style=\"${styleMap({ fontFamily: familyMap.get(variant) })}\">${name}</span>`;\n }\n if (this.src) {\n return html `${until(ajax({ url: this.src }).then(unsafeSVG))}`;\n }\n return html ``;\n };\n return this.hasSlotController.test('[default]')\n ? html `<slot></slot>`\n : renderDefault();\n }\n};\nIcon.styles = [componentStyle, style];\n__decorate([\n property({ reflect: true })\n], Icon.prototype, \"name\", void 0);\n__decorate([\n property({ reflect: true })\n], Icon.prototype, \"src\", void 0);\nIcon = __decorate([\n customElement('mdui-icon')\n], Icon);\nexport { Icon };\n","import{noChange as t}from\"../lit-html.js\";import{directive as e,Directive as r,PartType as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const n=\"important\",i=\" !\"+n,o=e(class extends r{constructor(t){if(super(t),t.type!==s.ATTRIBUTE||\"style\"!==t.name||t.strings?.length>2)throw Error(\"The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.\")}render(t){return Object.keys(t).reduce(((e,r)=>{const s=t[r];return null==s?e:e+`${r=r.includes(\"-\")?r:r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,\"-$&\").toLowerCase()}:${s};`}),\"\")}update(e,[r]){const{style:s}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(r)),this.render(r);for(const t of this.ft)null==r[t]&&(this.ft.delete(t),t.includes(\"-\")?s.removeProperty(t):s[t]=null);for(const t in r){const e=r[t];if(null!=e){this.ft.add(t);const r=\"string\"==typeof e&&e.endsWith(i);t.includes(\"-\")||r?s.setProperty(t,r?e.slice(0,-11):e,r?n:\"\"):s[t]=e}}return t}});export{o as styleMap};\n//# sourceMappingURL=style-map.js.map\n","/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {AttributePart, noChange} from '../lit-html.js';\nimport {\n directive,\n Directive,\n DirectiveParameters,\n PartInfo,\n PartType,\n} from '../directive.js';\n\n/**\n * A key-value set of CSS properties and values.\n *\n * The key should be either a valid CSS property name string, like\n * `'background-color'`, or a valid JavaScript camel case property name\n * for CSSStyleDeclaration like `backgroundColor`.\n */\nexport interface StyleInfo {\n [name: string]: string | number | undefined | null;\n}\n\nconst important = 'important';\n// The leading space is important\nconst importantFlag = ' !' + important;\n// How many characters to remove from a value, as a negative number\nconst flagTrim = 0 - importantFlag.length;\n\nclass StyleMapDirective extends Directive {\n private _previousStyleProperties?: Set<string>;\n\n constructor(partInfo: PartInfo) {\n super(partInfo);\n if (\n partInfo.type !== PartType.ATTRIBUTE ||\n partInfo.name !== 'style' ||\n (partInfo.strings?.length as number) > 2\n ) {\n throw new Error(\n 'The `styleMap` directive must be used in the `style` attribute ' +\n 'and must be the only part in the attribute.'\n );\n }\n }\n\n render(styleInfo: Readonly<StyleInfo>) {\n return Object.keys(styleInfo).reduce((style, prop) => {\n const value = styleInfo[prop];\n if (value == null) {\n return style;\n }\n // Convert property names from camel-case to dash-case, i.e.:\n // `backgroundColor` -> `background-color`\n // Vendor-prefixed names need an extra `-` appended to front:\n // `webkitAppearance` -> `-webkit-appearance`\n // Exception is any property name containing a dash, including\n // custom properties; we assume these are already dash-cased i.e.:\n // `--my-button-color` --> `--my-button-color`\n prop = prop.includes('-')\n ? prop\n : prop\n .replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g, '-$&')\n .toLowerCase();\n return style + `${prop}:${value};`;\n }, '');\n }\n\n override update(part: AttributePart, [styleInfo]: DirectiveParameters<this>) {\n const {style} = part.element as HTMLElement;\n\n if (this._previousStyleProperties === undefined) {\n this._previousStyleProperties = new Set(Object.keys(styleInfo));\n return this.render(styleInfo);\n }\n\n // Remove old properties that no longer exist in styleInfo\n for (const name of this._previousStyleProperties) {\n // If the name isn't in styleInfo or it's null/undefined\n if (styleInfo[name] == null) {\n this._previousStyleProperties!.delete(name);\n if (name.includes('-')) {\n style.removeProperty(name);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (style as any)[name] = null;\n }\n }\n }\n\n // Add or update properties\n for (const name in styleInfo) {\n const value = styleInfo[name];\n if (value != null) {\n this._previousStyleProperties.add(name);\n const isImportant =\n typeof value === 'string' && value.endsWith(importantFlag);\n if (name.includes('-') || isImportant) {\n style.setProperty(\n name,\n isImportant\n ? (value as string).slice(0, flagTrim)\n : (value as string),\n isImportant ? important : ''\n );\n } else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (style as any)[name] = value;\n }\n }\n }\n return noChange;\n }\n}\n\n/**\n * A directive that applies CSS properties to an element.\n *\n * `styleMap` can only be used in the `style` attribute and must be the only\n * expression in the attribute. It takes the property names in the\n * {@link StyleInfo styleInfo} object and adds the properties to the inline\n * style of the element.\n *\n * Property names with dashes (`-`) are assumed to be valid CSS\n * property names and set on the element's style object using `setProperty()`.\n * Names without dashes are assumed to be camelCased JavaScript property names\n * and set on the element's style object using property assignment, allowing the\n * style object to translate JavaScript-style names to CSS property names.\n *\n * For example `styleMap({backgroundColor: 'red', 'border-top': '5px', '--size':\n * '0'})` sets the `background-color`, `border-top` and `--size` properties.\n *\n * @param styleInfo\n * @see {@link https://lit.dev/docs/templates/directives/#stylemap styleMap code samples on Lit.dev}\n */\nexport const styleMap = directive(StyleMapDirective);\n\n/**\n * The type of the class that powers this directive. Necessary for naming the\n * directive's return type.\n */\nexport type {StyleMapDirective};\n","import{directive as s}from\"../directive.js\";import{UnsafeHTMLDirective as e}from\"./unsafe-html.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class t extends e{}t.directiveName=\"unsafeSVG\",t.resultType=2;const o=s(t);export{o as unsafeSVG};\n//# sourceMappingURL=unsafe-svg.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {directive} from '../directive.js';\nimport {UnsafeHTMLDirective} from './unsafe-html.js';\n\nconst SVG_RESULT = 2;\n\nclass UnsafeSVGDirective extends UnsafeHTMLDirective {\n static override directiveName = 'unsafeSVG';\n static override resultType = SVG_RESULT;\n}\n\n/**\n * Renders the result as SVG, rather than text.\n *\n * The values `undefined`, `null`, and `nothing`, will all result in no content\n * (empty string) being rendered.\n *\n * Note, this is unsafe to use with any user-provided input that hasn't been\n * sanitized or escaped, as it may lead to cross-site-scripting\n * vulnerabilities.\n */\nexport const unsafeSVG = directive(UnsafeSVGDirective);\n\n/**\n * The type of the class that powers this directive. Necessary for naming the\n * directive's return type.\n */\nexport type {UnsafeSVGDirective};\n","import{nothing as t,noChange as i}from\"../lit-html.js\";import{Directive as r,PartType as s,directive as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends r{constructor(i){if(super(i),this.it=t,i.type!==s.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this._t=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=n(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {nothing, TemplateResult, noChange} from '../lit-html.js';\nimport {directive, Directive, PartInfo, PartType} from '../directive.js';\n\nconst HTML_RESULT = 1;\n\nexport class UnsafeHTMLDirective extends Directive {\n static directiveName = 'unsafeHTML';\n static resultType = HTML_RESULT;\n\n private _value: unknown = nothing;\n private _templateResult?: TemplateResult;\n\n constructor(partInfo: PartInfo) {\n super(partInfo);\n if (partInfo.type !== PartType.CHILD) {\n throw new Error(\n `${\n (this.constructor as typeof UnsafeHTMLDirective).directiveName\n }() can only be used in child bindings`\n );\n }\n }\n\n render(value: string | typeof nothing | typeof noChange | undefined | null) {\n if (value === nothing || value == null) {\n this._templateResult = undefined;\n return (this._value = value);\n }\n if (value === noChange) {\n return value;\n }\n if (typeof value != 'string') {\n throw new Error(\n `${\n (this.constructor as typeof UnsafeHTMLDirective).directiveName\n }() called with a non-string value`\n );\n }\n if (value === this._value) {\n return this._templateResult;\n }\n this._value = value;\n const strings = [value] as unknown as TemplateStringsArray;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (strings as any).raw = strings;\n // WARNING: impersonating a TemplateResult like this is extremely\n // dangerous. Third-party directives should not do this.\n return (this._templateResult = {\n // Cast to a known set of integers that satisfy ResultType so that we\n // don't have to export ResultType and possibly encourage this pattern.\n // This property needs to remain unminified.\n ['_$litType$']: (this.constructor as typeof UnsafeHTMLDirective)\n .resultType as 1 | 2,\n strings,\n values: [],\n });\n }\n}\n\n/**\n * Renders the result as HTML, rather than text.\n *\n * The values `undefined`, `null`, and `nothing`, will all result in no content\n * (empty string) being rendered.\n *\n * Note, this is unsafe to use with any user-provided input that hasn't been\n * sanitized or escaped, as it may lead to cross-site-scripting\n * vulnerabilities.\n */\nexport const unsafeHTML = directive(UnsafeHTMLDirective);\n","import{noChange as t}from\"../lit-html.js\";import{isPrimitive as s}from\"../directive-helpers.js\";import{AsyncDirective as i}from\"../async-directive.js\";import{PseudoWeakRef as e,Pauser as r}from\"./private-async-helpers.js\";import{directive as o}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const n=t=>!s(t)&&\"function\"==typeof t.then,h=1073741823;class c extends i{constructor(){super(...arguments),this._$Cwt=h,this._$Cbt=[],this._$CK=new e(this),this._$CX=new r}render(...s){return s.find((t=>!n(t)))??t}update(s,i){const e=this._$Cbt;let r=e.length;this._$Cbt=i;const o=this._$CK,c=this._$CX;this.isConnected||this.disconnected();for(let t=0;t<i.length&&!(t>this._$Cwt);t++){const s=i[t];if(!n(s))return this._$Cwt=t,s;t<r&&s===e[t]||(this._$Cwt=h,r=0,Promise.resolve(s).then((async t=>{for(;c.get();)await c.get();const i=o.deref();if(void 0!==i){const e=i._$Cbt.indexOf(s);e>-1&&e<i._$Cwt&&(i._$Cwt=e,i.setValue(t))}})))}return t}disconnected(){this._$CK.disconnect(),this._$CX.pause()}reconnected(){this._$CK.reconnect(this),this._$CX.resume()}}const m=o(c);export{c as UntilDirective,m as until};\n//# sourceMappingURL=until.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {Part, noChange} from '../lit-html.js';\nimport {isPrimitive} from '../directive-helpers.js';\nimport {directive, AsyncDirective} from '../async-directive.js';\nimport {Pauser, PseudoWeakRef} from './private-async-helpers.js';\n\nconst isPromise = (x: unknown) => {\n return !isPrimitive(x) && typeof (x as {then?: unknown}).then === 'function';\n};\n// Effectively infinity, but a SMI.\nconst _infinity = 0x3fffffff;\n\nexport class UntilDirective extends AsyncDirective {\n private __lastRenderedIndex: number = _infinity;\n private __values: unknown[] = [];\n private __weakThis = new PseudoWeakRef(this);\n private __pauser = new Pauser();\n\n render(...args: Array<unknown>): unknown {\n return args.find((x) => !isPromise(x)) ?? noChange;\n }\n\n override update(_part: Part, args: Array<unknown>) {\n const previousValues = this.__values;\n let previousLength = previousValues.length;\n this.__values = args;\n\n const weakThis = this.__weakThis;\n const pauser = this.__pauser;\n\n // If our initial render occurs while disconnected, ensure that the pauser\n // and weakThis are in the disconnected state\n if (!this.isConnected) {\n this.disconnected();\n }\n\n for (let i = 0; i < args.length; i++) {\n // If we've rendered a higher-priority value already, stop.\n if (i > this.__lastRenderedIndex) {\n break;\n }\n\n const value = args[i];\n\n // Render non-Promise values immediately\n if (!isPromise(value)) {\n this.__lastRenderedIndex = i;\n // Since a lower-priority value will never overwrite a higher-priority\n // synchronous value, we can stop processing now.\n return value;\n }\n\n // If this is a Promise we've already handled, skip it.\n if (i < previousLength && value === previousValues[i]) {\n continue;\n }\n\n // We have a Promise that we haven't seen before, so priorities may have\n // changed. Forget what we rendered before.\n this.__lastRenderedIndex = _infinity;\n previousLength = 0;\n\n // Note, the callback avoids closing over `this` so that the directive\n // can be gc'ed before the promise resolves; instead `this` is retrieved\n // from `weakThis`, which can break the hard reference in the closure when\n // the directive disconnects\n Promise.resolve(value).then(async (result: unknown) => {\n // If we're disconnected, wait until we're (maybe) reconnected\n // The while loop here handles the case that the connection state\n // thrashes, causing the pauser to resume and then get re-paused\n while (pauser.get()) {\n await pauser.get();\n }\n // If the callback gets here and there is no `this`, it means that the\n // directive has been disconnected and garbage collected and we don't\n // need to do anything else\n const _this = weakThis.deref();\n if (_this !== undefined) {\n const index = _this.__values.indexOf(value);\n // If state.values doesn't contain the value, we've re-rendered without\n // the value, so don't render it. Then, only render if the value is\n // higher-priority than what's already been rendered.\n if (index > -1 && index < _this.__lastRenderedIndex) {\n _this.__lastRenderedIndex = index;\n _this.setValue(result);\n }\n }\n });\n }\n\n return noChange;\n }\n\n override disconnected() {\n this.__weakThis.disconnect();\n this.__pauser.pause();\n }\n\n override reconnected() {\n this.__weakThis.reconnect(this);\n this.__pauser.resume();\n }\n}\n\n/**\n * Renders one of a series of values, including Promises, to a Part.\n *\n * Values are rendered in priority order, with the first argument having the\n * highest priority and the last argument having the lowest priority. If a\n * value is a Promise, low-priority values will be rendered until it resolves.\n *\n * The priority of values can be used to create placeholder content for async\n * data. For example, a Promise with pending content can be the first,\n * highest-priority, argument, and a non_promise loading indicator template can\n * be used as the second, lower-priority, argument. The loading indicator will\n * render immediately, and the primary content will render when the Promise\n * resolves.\n *\n * Example:\n *\n * ```js\n * const content = fetch('http://github.com/content.txt').then(r => r.text());\n * html`${until(content, html`<span>Loading...</span>`)}`\n * ```\n */\nexport const until = directive(UntilDirective);\n\n/**\n * The type of the class that powers this directive. Necessary for naming the\n * directive's return type.\n */\n// export type {UntilDirective};\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=async(t,s)=>{for await(const i of t)if(!1===await s(i))return};class s{constructor(t){this.Y=t}disconnect(){this.Y=void 0}reconnect(t){this.Y=t}deref(){return this.Y}}class i{constructor(){this.Z=void 0,this.q=void 0}get(){return this.Z}pause(){this.Z??=new Promise((t=>this.q=t))}resume(){this.q?.(),this.Z=this.q=void 0}}export{i as Pauser,s as PseudoWeakRef,t as forAwaitOf};\n//# sourceMappingURL=private-async-helpers.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n// Note, this module is not included in package exports so that it's private to\n// our first-party directives. If it ends up being useful, we can open it up and\n// export it.\n\n/**\n * Helper to iterate an AsyncIterable in its own closure.\n * @param iterable The iterable to iterate\n * @param callback The callback to call for each value. If the callback returns\n * `false`, the loop will be broken.\n */\nexport const forAwaitOf = async <T>(\n iterable: AsyncIterable<T>,\n callback: (value: T) => Promise<boolean>\n) => {\n for await (const v of iterable) {\n if ((await callback(v)) === false) {\n return;\n }\n }\n};\n\n/**\n * Holds a reference to an instance that can be disconnected and reconnected,\n * so that a closure over the ref (e.g. in a then function to a promise) does\n * not strongly hold a ref to the instance. Approximates a WeakRef but must\n * be manually connected & disconnected to the backing instance.\n */\nexport class PseudoWeakRef<T> {\n private _ref?: T;\n constructor(ref: T) {\n this._ref = ref;\n }\n /**\n * Disassociates the ref with the backing instance.\n */\n disconnect() {\n this._ref = undefined;\n }\n /**\n * Reassociates the ref with the backing instance.\n */\n reconnect(ref: T) {\n this._ref = ref;\n }\n /**\n * Retrieves the backing instance (will be undefined when disconnected)\n */\n deref() {\n return this._ref;\n }\n}\n\n/**\n * A helper to pause and resume waiting on a condition in an async function\n */\nexport class Pauser {\n private _promise?: Promise<void> = undefined;\n private _resolve?: () => void = undefined;\n /**\n * When paused, returns a promise to be awaited; when unpaused, returns\n * undefined. Note that in the microtask between the pauser being resumed\n * an await of this promise resolving, the pauser could be paused again,\n * hence callers should check the promise in a loop when awaiting.\n * @returns A promise to be awaited when paused or undefined\n */\n get() {\n return this._promise;\n }\n /**\n * Creates a promise to be awaited\n */\n pause() {\n this._promise ??= new Promise((resolve) => (this._resolve = resolve));\n }\n /**\n * Resolves the promise which may be awaited\n */\n resume() {\n this._resolve?.();\n this._promise = this._resolve = undefined;\n }\n}\n","import { getDocument, getWindow } from 'ssr-window';\nimport { $ } from '../$.js';\nimport '../methods/trigger.js';\nimport { globalOptions, ajaxStart, ajaxSuccess, ajaxError, ajaxComplete, isQueryStringData, isCrossDomain, isHttpStatusSuccess, appendQuery, mergeOptions, } from '../shared/ajax.js';\nimport { isString, isUndefined, eachObject, eachArray, } from '../shared/helper.js';\nimport { param } from './param.js';\n/**\n * 发送 ajax 请求\n * @param options\n * @example\n```js\najax({\n method: \"POST\",\n url: \"some.php\",\n data: { name: \"John\", location: \"Boston\" }\n}).then(function( msg ) {\n alert( \"Data Saved: \" + msg );\n});\n```\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const ajax = (options) => {\n const document = getDocument();\n const window = getWindow();\n // 是否已取消请求\n let isCanceled = false;\n // ajaxStart、ajaxError、ajaxComplete 事件参数\n // @ts-ignore\n const eventParams = {};\n // ajaxSuccess 事件参数\n // @ts-ignore\n const successEventParams = {};\n // 参数合并\n const mergedOptions = mergeOptions(options);\n const method = mergedOptions.method.toUpperCase();\n let { data, url } = mergedOptions;\n url = url || window.location.toString();\n const { processData, async, cache, username, password, headers, xhrFields, statusCode, dataType, contentType, timeout, global, } = mergedOptions;\n // 需要发送的数据\n // GET/HEAD 请求和 processData 为 true 时,转换为查询字符串格式,特殊格式不转换\n const isMethodQueryString = isQueryStringData(method);\n if (data &&\n (isMethodQueryString || processData) &&\n !isString(data) &&\n !(data instanceof ArrayBuffer) &&\n !(data instanceof Blob) &&\n !(data instanceof Document) &&\n !(data instanceof FormData)) {\n data = param(data);\n }\n // 对于 GET、HEAD 类型的请求,把 data 数据添加到 URL 中\n if (data && isMethodQueryString) {\n // 查询字符串拼接到 URL 中\n url = appendQuery(url, data);\n data = null;\n }\n /**\n * 触发事件和回调函数\n * @param event\n * @param callback\n * @param args\n */\n const trigger = (event, callback, ...args) => {\n // 触发全局事件\n if (global) {\n $(document).trigger(event, callback === 'success' ? successEventParams : eventParams);\n }\n // 触发 ajax 回调和事件\n let resultGlobal;\n let resultCustom;\n // 全局回调\n if (callback in globalOptions) {\n // @ts-ignore\n resultGlobal = globalOptions[callback](...args);\n }\n // 自定义回调\n if (mergedOptions[callback]) {\n // @ts-ignore\n resultCustom = mergedOptions[callback](...args);\n }\n // beforeSend 回调返回 false 时取消 ajax 请求\n if (callback === 'beforeSend' &&\n [resultGlobal, resultCustom].includes(false)) {\n isCanceled = true;\n }\n };\n // XMLHttpRequest 请求\n const XHR = () => {\n let textStatus;\n return new Promise((resolve, reject) => {\n const doReject = (reason) => {\n return reject(new Error(reason));\n };\n // GET/HEAD 请求的缓存处理\n if (isMethodQueryString && !cache) {\n url = appendQuery(url, `_=${Date.now()}`);\n }\n // 创建 XHR\n const xhr = new XMLHttpRequest();\n xhr.open(method, url, async, username, password);\n if (contentType ||\n (data && !isMethodQueryString && contentType !== false)) {\n xhr.setRequestHeader('Content-Type', contentType);\n }\n // 设置 Accept\n if (dataType === 'json') {\n xhr.setRequestHeader('Accept', 'application/json, text/javascript');\n }\n // 添加 headers\n eachObject(headers, (key, value) => {\n // undefined 值不发送,string 和 null 需要发送\n if (!isUndefined(value)) {\n xhr.setRequestHeader(key, value + ''); // 把 null 转换成字符串\n }\n });\n // 检查是否是跨域请求,跨域请求时不添加 X-Requested-With\n if (!isCrossDomain(url)) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n // 设置 xhr 选项\n eachObject(xhrFields, (key, value) => {\n xhr[key] = value;\n });\n eventParams.xhr = successEventParams.xhr = xhr;\n eventParams.options = successEventParams.options = mergedOptions;\n let xhrTimeout;\n xhr.onload = () => {\n if (xhrTimeout) {\n clearTimeout(xhrTimeout);\n }\n // AJAX 返回的 HTTP 响应码是否表示成功\n const isSuccess = isHttpStatusSuccess(xhr.status);\n // @ts-ignore\n let responseData = undefined;\n if (isSuccess) {\n textStatus =\n xhr.status === 204 || method === 'HEAD'\n ? 'nocontent'\n : xhr.status === 304\n ? 'notmodified'\n : 'success';\n if (dataType === 'json' ||\n (!dataType &&\n (xhr.getResponseHeader('content-type') || '').includes('json'))) {\n try {\n responseData =\n method === 'HEAD' ? undefined : JSON.parse(xhr.responseText);\n successEventParams.response = responseData;\n }\n catch (err) {\n textStatus = 'parsererror';\n trigger(ajaxError, 'error', xhr, textStatus);\n doReject(textStatus);\n }\n if (textStatus !== 'parsererror') {\n trigger(ajaxSuccess, 'success', responseData, textStatus, xhr);\n resolve(responseData);\n }\n }\n else {\n responseData =\n method === 'HEAD'\n ? undefined\n : xhr.responseType === 'text' || xhr.responseType === ''\n ? xhr.responseText\n : xhr.response;\n successEventParams.response = responseData;\n trigger(ajaxSuccess, 'success', responseData, textStatus, xhr);\n resolve(responseData);\n }\n }\n else {\n textStatus = 'error';\n trigger(ajaxError, 'error', xhr, textStatus);\n doReject(textStatus);\n }\n // statusCode\n eachArray([globalOptions.statusCode ?? {}, statusCode], (func) => {\n if (func[xhr.status]) {\n if (isSuccess) {\n func[xhr.status](responseData, textStatus, xhr);\n }\n else {\n func[xhr.status](xhr, textStatus);\n }\n }\n });\n trigger(ajaxComplete, 'complete', xhr, textStatus);\n };\n xhr.onerror = () => {\n if (xhrTimeout) {\n clearTimeout(xhrTimeout);\n }\n trigger(ajaxError, 'error', xhr, xhr.statusText);\n trigger(ajaxComplete, 'complete', xhr, 'error');\n doReject(xhr.statusText);\n };\n xhr.onabort = () => {\n let statusText = 'abort';\n if (xhrTimeout) {\n statusText = 'timeout';\n clearTimeout(xhrTimeout);\n }\n trigger(ajaxError, 'error', xhr, statusText);\n trigger(ajaxComplete, 'complete', xhr, statusText);\n doReject(statusText);\n };\n // ajax start 回调\n trigger(ajaxStart, 'beforeSend', xhr, mergedOptions);\n if (isCanceled) {\n return doReject('cancel');\n }\n // Timeout\n if (timeout > 0) {\n xhrTimeout = window.setTimeout(() => xhr.abort(), timeout);\n }\n // 发送 XHR\n xhr.send(data);\n });\n };\n return XHR();\n};\n","import { $ } from '../$.js';\nimport { parse, MduiCustomEvent } from '../shared/event.js';\nimport './each.js';\n$.fn.trigger = function (name, \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ndetail = null, options) {\n const { type, namespace } = parse(name);\n const event = new MduiCustomEvent(type, {\n detail,\n data: null,\n namespace,\n bubbles: true,\n cancelable: false,\n composed: true,\n ...options,\n });\n return this.each((_, element) => {\n element.dispatchEvent(event);\n });\n};\n","import { getWindow } from 'ssr-window';\nimport { extend } from '../functions/extend.js';\nimport { eachObject, isUndefined } from './helper.js';\n// 全局事件名\nexport const ajaxStart = 'ajaxStart';\nexport const ajaxSuccess = 'ajaxSuccess';\nexport const ajaxError = 'ajaxError';\nexport const ajaxComplete = 'ajaxComplete';\n// 全局配置参数\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const globalOptions = {};\n/**\n * 判断此请求方法是否通过查询字符串提交参数\n * @param method 请求方法,大写\n */\nexport const isQueryStringData = (method) => {\n return ['GET', 'HEAD'].includes(method);\n};\n/**\n * 添加参数到 URL 上,且 URL 中不存在 ? 时,自动把第一个 & 替换为 ?\n * @param url\n * @param query\n */\nexport const appendQuery = (url, query) => {\n return `${url}&${query}`.replace(/[&?]{1,2}/, '?');\n};\n/**\n * url 是否跨域\n * @param url\n */\nexport const isCrossDomain = (url) => {\n const window = getWindow();\n return (/^([\\w-]+:)?\\/\\/([^/]+)/.test(url) && RegExp.$2 !== window.location.host);\n};\n/**\n * HTTP 状态码是否表示请求成功\n * @param status\n */\nexport const isHttpStatusSuccess = (status) => {\n return (status >= 200 && status < 300) || [0, 304].includes(status);\n};\n/**\n * 合并请求参数,参数优先级:options > globalOptions > defaults\n * @param options\n */\nexport const mergeOptions = (options) => {\n // 默认参数\n const defaults = {\n url: '',\n method: 'GET',\n data: '',\n processData: true,\n async: true,\n cache: true,\n username: '',\n password: '',\n headers: {},\n xhrFields: {},\n statusCode: {},\n dataType: '',\n contentType: 'application/x-www-form-urlencoded',\n timeout: 0,\n global: true,\n };\n // globalOptions 中的回调函数不合并\n eachObject(globalOptions, (key, value) => {\n const callbacks = [\n 'beforeSend',\n 'success',\n 'error',\n 'complete',\n 'statusCode',\n ];\n if (!callbacks.includes(key) && !isUndefined(value)) {\n defaults[key] = value;\n }\n });\n return extend({}, defaults, options);\n};\n","import { isObjectLike, eachObject, eachArray } from '../shared/helper.js';\n/**\n * 将数组或对象序列化,序列化后的字符串可作为 URL 查询字符串使用\n *\n * 若传入数组,则格式必须和 serializeArray 方法的返回值一样\n * @param obj 对象或数组\n * @example\n```js\nparam({ width: 1680, height: 1050 });\n// width=1680&height=1050\n```\n * @example\n```js\nparam({ foo: { one: 1, two: 2 }})\n// foo[one]=1&foo[two]=2\n```\n * @example\n```js\nparam({ids: [1, 2, 3]})\n// ids[]=1&ids[]=2&ids[]=3\n```\n * @example\n```js\nparam([\n {\"name\":\"name\",\"value\":\"mdui\"},\n {\"name\":\"password\",\"value\":\"123456\"}\n])\n// name=mdui&password=123456\n```\n */\nexport const param = (obj) => {\n if (!isObjectLike(obj) && !Array.isArray(obj)) {\n return '';\n }\n const args = [];\n const destructure = (key, value) => {\n let keyTmp;\n if (isObjectLike(value)) {\n eachObject(value, (i, v) => {\n keyTmp = Array.isArray(value) && !isObjectLike(v) ? '' : i;\n destructure(`${key}[${keyTmp}]`, v);\n });\n }\n else {\n keyTmp =\n value == null || value === '' ? '=' : `=${encodeURIComponent(value)}`;\n args.push(encodeURIComponent(key) + keyTmp);\n }\n };\n if (Array.isArray(obj)) {\n eachArray(obj, ({ name, value }) => {\n return destructure(name, value);\n });\n }\n else {\n eachObject(obj, destructure);\n }\n return args.join('&');\n};\n","import { css } from 'lit';\nexport const style = css `:host{display:inline-block;width:1em;height:1em;font-weight:400;font-family:'Material Icons';font-display:block;font-style:normal;line-height:1;direction:ltr;letter-spacing:normal;white-space:nowrap;text-transform:none;word-wrap:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-moz-osx-font-smoothing:grayscale;font-size:1.5rem}::slotted(svg),svg{width:100%;height:100%;fill:currentcolor}`;\n","import { css } from 'lit';\nexport const style = css `:host{--shape-corner:var(--mdui-shape-corner-full);position:relative;display:inline-block;flex-shrink:0;overflow:hidden;text-align:center;border-radius:var(--shape-corner);cursor:pointer;-webkit-tap-highlight-color:transparent;font-size:1.5rem;width:2.5rem;height:2.5rem}:host([variant=standard]){color:rgb(var(--mdui-color-on-surface-variant));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}:host([variant=filled]){color:rgb(var(--mdui-color-primary));background-color:rgb(var(--mdui-color-surface-container-highest));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=tonal]){color:rgb(var(--mdui-color-on-surface-variant));background-color:rgb(var(--mdui-color-surface-container-highest));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}:host([variant=outlined]){border:.0625rem solid rgb(var(--mdui-color-outline));color:rgb(var(--mdui-color-on-surface-variant));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}:host([variant=outlined][pressed]){color:rgb(var(--mdui-color-on-surface));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([variant=standard][selected]:not([selected=false i])){color:rgb(var(--mdui-color-primary));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=filled]:not([selectable])),:host([variant=filled][selectable=false i]),:host([variant=filled][selected]:not([selected=false i])){color:rgb(var(--mdui-color-on-primary));background-color:rgb(var(--mdui-color-primary));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-primary)}:host([variant=tonal]:not([selectable])),:host([variant=tonal][selectable=false i]),:host([variant=tonal][selected]:not([selected=false i])){color:rgb(var(--mdui-color-on-secondary-container));background-color:rgb(var(--mdui-color-secondary-container));--mdui-comp-ripple-state-layer-color:var(\n --mdui-color-on-secondary-container\n )}:host([variant=outlined][selected]:not([selected=false i])){border:none;color:rgb(var(--mdui-color-inverse-on-surface));background-color:rgb(var(--mdui-color-inverse-surface));--mdui-comp-ripple-state-layer-color:var(--mdui-color-inverse-on-surface)}:host([variant=filled][disabled]:not([disabled=false i])),:host([variant=outlined][disabled]:not([disabled=false i])),:host([variant=tonal][disabled]:not([disabled=false i])){background-color:rgba(var(--mdui-color-on-surface),.12);border-color:rgba(var(--mdui-color-on-surface),.12)}:host([disabled]:not([disabled=false i])),:host([loading]:not([loading=false i])){cursor:default;pointer-events:none}:host([disabled]:not([disabled=false i])){color:rgba(var(--mdui-color-on-surface),.38)!important}:host([loading]:not([loading=false i])) .button,:host([loading]:not([loading=false i])) mdui-ripple{opacity:0}.button{float:left;width:100%}.icon,.selected-icon mdui-icon,::slotted(*){font-size:inherit}mdui-circular-progress{display:flex;position:absolute;top:calc(50% - 1.5rem / 2);left:calc(50% - 1.5rem / 2);width:1.5rem;height:1.5rem}:host([variant=filled]:not([disabled])) mdui-circular-progress,:host([variant=filled][disabled=false i]) mdui-circular-progress{stroke:rgb(var(--mdui-color-on-primary))}:host([disabled]:not([disabled=false i])) mdui-circular-progress{stroke:rgba(var(--mdui-color-on-surface),38%)}`;\n","export * from './layout/layout.js';\n","import { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { MduiElement } from '@mdui/shared/base/mdui-element.js';\nimport { booleanConverter } from '@mdui/shared/helpers/decorator.js';\nimport { componentStyle } from '@mdui/shared/lit-styles/component-style.js';\nimport { layoutStyle } from './layout-style.js';\n/**\n * @summary 布局组件\n *\n * ```html\n * <mdui-layout>\n * ..<mdui-layout-item></mdui-layout-item>\n * ..<mdui-layout-item></mdui-layout-item>\n * ..<mdui-layout-main></mdui-layout-main>\n * </mdui-layout>\n * ```\n *\n * @slot - 可以包含 [`<mdui-top-app-bar>`](/docs/2/components/top-app-bar)、[`<mdui-bottom-app-bar>`](/docs/2/components/bottom-app-bar)、[`<mdui-navigation-bar>`](/docs/2/components/navigation-bar)、[`<mdui-navigation-drawer>`](/docs/2/components/navigation-drawer)、[`<mdui-navigation-rail>`](/docs/2/components/navigation-rail)、`<mdui-layout-item>`、`<mdui-layout-main>` 元素\n */\nlet Layout = class Layout extends MduiElement {\n constructor() {\n super(...arguments);\n /**\n * 设置当前布局的高度为 100%\n */\n this.fullHeight = false;\n }\n render() {\n return html `<slot></slot>`;\n }\n};\nLayout.styles = [componentStyle, layoutStyle];\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n attribute: 'full-height',\n })\n], Layout.prototype, \"fullHeight\", void 0);\nLayout = __decorate([\n customElement('mdui-layout')\n], Layout);\nexport { Layout };\n","import { css } from 'lit';\nexport const layoutStyle = css `:host{position:relative;display:flex;flex:1 1 auto;overflow:hidden}:host([full-height]:not([full-height=false i])){height:100%}`;\n","export * from './layout/layout-item.js';\n","import { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { watch } from '@mdui/shared/decorators/watch.js';\nimport { componentStyle } from '@mdui/shared/lit-styles/component-style.js';\nimport { LayoutItemBase } from './layout-item-base.js';\nimport { layoutItemStyle } from './layout-item-style.js';\n/**\n * @summary 布局项组件\n *\n * ```html\n * <mdui-layout>\n * ..<mdui-layout-item></mdui-layout-item>\n * ..<mdui-layout-item></mdui-layout-item>\n * ..<mdui-layout-main></mdui-layout-main>\n * </mdui-layout>\n * ```\n *\n * @slot - 可以包含任意内容\n */\nlet LayoutItem = class LayoutItem extends LayoutItemBase {\n constructor() {\n super(...arguments);\n /**\n * 组件的位置。可选值包括:\n *\n * * `top`:上方\n * * `bottom`:下方\n * * `left`:左侧\n * * `right`:右侧\n */\n this.placement = 'top';\n }\n get layoutPlacement() {\n return this.placement;\n }\n // placement 变更时,需要重新调整布局\n onPlacementChange() {\n this.layoutManager?.updateLayout(this);\n }\n render() {\n return html `<slot></slot>`;\n }\n};\nLayoutItem.styles = [\n componentStyle,\n layoutItemStyle,\n];\n__decorate([\n property({ reflect: true })\n], LayoutItem.prototype, \"placement\", void 0);\n__decorate([\n watch('placement', true)\n], LayoutItem.prototype, \"onPlacementChange\", null);\nLayoutItem = __decorate([\n customElement('mdui-layout-item')\n], LayoutItem);\nexport { LayoutItem };\n","import { __decorate } from \"tslib\";\nimport { property } from 'lit/decorators.js';\nimport { isNodeName } from '@mdui/jq/shared/helper.js';\nimport { MduiElement } from '@mdui/shared/base/mdui-element.js';\nimport { watch } from '@mdui/shared/decorators/watch.js';\nimport { getLayout } from './helper.js';\nexport class LayoutItemBase extends MduiElement {\n constructor() {\n super(...arguments);\n // 父元素是否是 `mdui-layout`\n this.isParentLayout = false;\n }\n /**\n * 当前布局组件所处的位置,父类必须实现该 getter\n */\n get layoutPlacement() {\n throw new Error('Must implement placement getter!');\n }\n // order 变更时,需要重新调整布局\n onOrderChange() {\n this.layoutManager?.updateOrder();\n }\n connectedCallback() {\n super.connectedCallback();\n const parentElement = this.parentElement;\n this.isParentLayout = isNodeName(parentElement, 'mdui-layout');\n if (this.isParentLayout) {\n this.layoutManager = getLayout(parentElement);\n this.layoutManager.registerItem(this);\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this.layoutManager) {\n this.layoutManager.unregisterItem(this);\n }\n }\n}\n__decorate([\n property({ type: Number, reflect: true })\n], LayoutItemBase.prototype, \"order\", void 0);\n__decorate([\n watch('order', true)\n], LayoutItemBase.prototype, \"onOrderChange\", null);\n","import { $ } from '@mdui/jq/$.js';\nimport '@mdui/jq/methods/children.js';\nimport '@mdui/jq/methods/css.js';\nimport '@mdui/jq/methods/get.js';\nimport { isNodeName } from '@mdui/jq/shared/helper.js';\nimport { observeResize } from '@mdui/shared/helpers/observeResize.js';\nexport class LayoutManager {\n constructor() {\n this.states = [];\n }\n /**\n * 注册 `<mdui-layout-main>`\n */\n registerMain(element) {\n this.$main = $(element);\n }\n /**\n * 取消注册 `<mdui-layout-main>`\n */\n unregisterMain() {\n this.$main = undefined;\n }\n /**\n * 注册新的 `<mdui-layout-item>`\n */\n registerItem(element) {\n const state = { element };\n this.states.push(state);\n // 监听元素尺寸变化\n state.observeResize = observeResize(state.element, () => {\n this.updateLayout(state.element, {\n width: this.isNoWidth(state) ? 0 : undefined,\n });\n });\n this.items = undefined;\n this.resort();\n // 从头更新布局\n this.updateLayout();\n }\n /**\n * 取消注册 `<mdui-layout-item>`\n */\n unregisterItem(element) {\n const index = this.states.findIndex((item) => item.element === element);\n if (index < 0) {\n return;\n }\n // 取消监听尺寸变化\n const item = this.states[index];\n item.observeResize?.unobserve();\n this.items = undefined;\n // 移除一个元素,并从下一个元素开始更新\n this.states.splice(index, 1);\n if (this.states[index]) {\n this.updateLayout(this.states[index].element);\n }\n }\n /**\n * 获取所有 `<mdui-layout-item>` 元素(按在 DOM 中的顺序)\n */\n getItems() {\n if (!this.items) {\n const items = this.states.map((state) => state.element);\n this.items = items.sort((a, b) => {\n const position = a.compareDocumentPosition(b);\n if (position & Node.DOCUMENT_POSITION_FOLLOWING) {\n return -1;\n }\n else if (position & Node.DOCUMENT_POSITION_PRECEDING) {\n return 1;\n }\n else {\n return 0;\n }\n });\n }\n return this.items;\n }\n /**\n * 获取 `<mdui-layout-main>` 元素\n */\n getMain() {\n return this.$main ? this.$main[0] : undefined;\n }\n /**\n * 获取 `<mdui-layout-item>` 及 `<mdui-layout-main>` 元素\n */\n getItemsAndMain() {\n return [...this.getItems(), this.getMain()].filter((i) => i);\n }\n /**\n * 更新 `order` 值,更新完后重新计算布局\n */\n updateOrder() {\n this.resort();\n this.updateLayout();\n }\n /**\n * 重新计算布局\n * @param element 从哪一个元素开始更新;若未传入参数,则将更新所有元素\n * @param size 此次更新中,元素的宽高(仅在此次更新中使用)。若不传则自动计算\n */\n updateLayout(element, size) {\n const state = element\n ? {\n element,\n width: size?.width,\n height: size?.height,\n }\n : undefined;\n const index = state\n ? this.states.findIndex((v) => v.element === state.element)\n : 0;\n if (index < 0) {\n return;\n }\n Object.assign(this.states[index], state);\n this.states.forEach((currState, currIndex) => {\n if (currIndex < index) {\n return;\n }\n // @ts-ignore\n const placement = currState.element.layoutPlacement;\n // 前一个元素\n const prevState = currIndex > 0 ? this.states[currIndex - 1] : undefined;\n const top = prevState?.top ?? 0;\n const right = prevState?.right ?? 0;\n const bottom = prevState?.bottom ?? 0;\n const left = prevState?.left ?? 0;\n Object.assign(currState, { top, right, bottom, left });\n switch (placement) {\n case 'top':\n case 'bottom':\n currState[placement] +=\n currState.height ?? currState.element.offsetHeight;\n break;\n case 'right':\n case 'left':\n currState[placement] +=\n (this.isNoWidth(currState) ? 0 : currState.width) ??\n currState.element.offsetWidth;\n break;\n }\n currState.height = currState.width = undefined;\n $(currState.element).css({\n position: 'absolute',\n top: placement === 'bottom' ? null : top,\n right: placement === 'left' ? null : right,\n bottom: placement === 'top' ? null : bottom,\n left: placement === 'right' ? null : left,\n });\n });\n // 更新完后,设置 layout-main 的 padding\n const lastState = this.states[this.states.length - 1];\n if (this.$main) {\n this.$main.css({\n paddingTop: lastState.top,\n paddingRight: lastState.right,\n paddingBottom: lastState.bottom,\n paddingLeft: lastState.left,\n });\n }\n }\n /**\n * 按 order 排序,order 相同时,按在 DOM 中的顺序排序\n */\n resort() {\n const items = this.getItems();\n this.states.sort((a, b) => {\n const aOrder = a.element.order ?? 0;\n const bOrder = b.element.order ?? 0;\n if (aOrder > bOrder) {\n return 1;\n }\n if (aOrder < bOrder) {\n return -1;\n }\n if (items.indexOf(a.element) > items.indexOf(b.element)) {\n return 1;\n }\n if (items.indexOf(a.element) < items.indexOf(b.element)) {\n return -1;\n }\n return 0;\n });\n }\n /**\n * 组件宽度是否为 0\n * mdui-navigation-drawer 较为特殊,在为模态化时,占据的宽度为 0\n */\n isNoWidth(state) {\n return (isNodeName(state.element, 'mdui-navigation-drawer') &&\n // @ts-ignore\n state.element.isModal);\n }\n}\nconst layoutManagerMap = new WeakMap();\n/**\n * 获取 layout 实例\n */\nexport const getLayout = (element) => {\n if (!layoutManagerMap.has(element)) {\n layoutManagerMap.set(element, new LayoutManager());\n }\n return layoutManagerMap.get(element);\n};\n","import { $ } from '@mdui/jq/$.js';\nimport '@mdui/jq/methods/each.js';\nimport { uniqueId } from './uniqueId.js';\nlet weakMap;\n// ResizeObserver 实例,所有 resizeObserver 函数内部共用一个 ResizeObserver 实例\nlet observer;\n/**\n * 监听元素的尺寸变化\n * @param target 监听该元素的尺寸变化\n * @param callback 尺寸变化时执行的回调函数,`this` 指向监听的元素\n */\nexport const observeResize = (target, callback) => {\n const $target = $(target);\n const key = uniqueId();\n // 取消监听函数\n const result = {\n unobserve: () => {\n $target.each((_, target) => {\n const options = weakMap.get(target);\n const index = options.coArr.findIndex((co) => co.key === key);\n if (index !== -1) {\n options.coArr.splice(index, 1);\n }\n if (!options.coArr.length) {\n observer.unobserve(target);\n weakMap.delete(target);\n }\n else {\n weakMap.set(target, options);\n }\n });\n },\n };\n // 初始化\n if (!weakMap) {\n weakMap = new WeakMap();\n observer = new ResizeObserver((entries) => {\n entries.forEach((entry) => {\n const target = entry.target;\n const options = weakMap.get(target);\n options.entry = entry;\n options.coArr.forEach((co) => {\n co.callback.call(result, entry, result);\n });\n });\n });\n }\n // 添加监听\n $target.each((_, target) => {\n const options = weakMap.get(target) ?? { coArr: [] };\n // 同一个元素已添加过监听后,再次添加新的监听时,不会立即执行回调函数,所以这里手动调用一次回调函数\n if (options.coArr.length && options.entry) {\n callback.call(result, options.entry, result);\n }\n options.coArr.push({ callback, key });\n weakMap.set(target, options);\n observer.observe(target);\n });\n return result;\n};\n","let id = 0;\n/**\n * 返回一个唯一ID\n */\nexport const uniqueId = () => {\n return ++id;\n};\n","import { css } from 'lit';\nexport const layoutItemStyle = css `:host{display:flex;z-index:1}`;\n","export * from './layout/layout-main.js';\n","import { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { customElement } from 'lit/decorators.js';\nimport { isNodeName } from '@mdui/jq/shared/helper.js';\nimport { MduiElement } from '@mdui/shared/base/mdui-element.js';\nimport { componentStyle } from '@mdui/shared/lit-styles/component-style.js';\nimport { getLayout } from './helper.js';\nimport { layoutMainStyle } from './layout-main-style.js';\n/**\n * @summary 布局主体内容组件\n *\n * ```html\n * <mdui-layout>\n * ..<mdui-layout-item></mdui-layout-item>\n * ..<mdui-layout-item></mdui-layout-item>\n * ..<mdui-layout-main></mdui-layout-main>\n * </mdui-layout>\n * ```\n *\n * @slot - 可以包含任意内容\n */\nlet LayoutMain = class LayoutMain extends MduiElement {\n connectedCallback() {\n super.connectedCallback();\n const parentElement = this.parentElement;\n if (isNodeName(parentElement, 'mdui-layout')) {\n this.layoutManager = getLayout(parentElement);\n this.layoutManager.registerMain(this);\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this.layoutManager) {\n this.layoutManager.unregisterMain();\n }\n }\n render() {\n return html `<slot></slot>`;\n }\n};\nLayoutMain.styles = [\n componentStyle,\n layoutMainStyle,\n];\nLayoutMain = __decorate([\n customElement('mdui-layout-main')\n], LayoutMain);\nexport { LayoutMain };\n","import { css } from 'lit';\nexport const layoutMainStyle = css `:host{flex:1 0 auto;max-width:100%;overflow:auto}`;\n","export * from './list/list.js';\n","import { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { customElement } from 'lit/decorators.js';\nimport { MduiElement } from '@mdui/shared/base/mdui-element.js';\nimport { componentStyle } from '@mdui/shared/lit-styles/component-style.js';\nimport { listStyle } from './list-style.js';\n/**\n * @summary 列表组件。需配合 `<mdui-list-item>` 组件使用\n *\n * ```html\n * <mdui-list>\n * ..<mdui-list-subheader>Subheader</mdui-list-subheader>\n * ..<mdui-list-item>Item 1</mdui-list-item>\n * ..<mdui-list-item>Item 2</mdui-list-item>\n * </mdui-list>\n * ```\n *\n * @slot - `<mdui-list-item>` 元素\n */\nlet List = class List extends MduiElement {\n render() {\n return html `<slot></slot>`;\n }\n};\nList.styles = [componentStyle, listStyle];\nList = __decorate([\n customElement('mdui-list')\n], List);\nexport { List };\n","import { css } from 'lit';\nexport const listStyle = css `:host{display:block;padding:.5rem 0}::slotted(mdui-divider[middle]){margin-left:1rem;margin-right:1.5rem}`;\n","export * from './list/list-item.js';\n","import { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { customElement, property, queryAssignedElements, } from 'lit/decorators.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport cc from 'classcat';\nimport { isNodeName, getNodeName } from '@mdui/jq/shared/helper.js';\nimport { MduiElement } from '@mdui/shared/base/mdui-element.js';\nimport { HasSlotController } from '@mdui/shared/controllers/has-slot.js';\nimport { booleanConverter } from '@mdui/shared/helpers/decorator.js';\nimport { nothingTemplate } from '@mdui/shared/helpers/template.js';\nimport { componentStyle } from '@mdui/shared/lit-styles/component-style.js';\nimport { AnchorMixin } from '@mdui/shared/mixins/anchor.js';\nimport { FocusableMixin } from '@mdui/shared/mixins/focusable.js';\nimport '../icon.js';\nimport { RippleMixin } from '../ripple/ripple-mixin.js';\nimport { listItemStyle } from './list-item-style.js';\n/**\n * @summary 列表项组件。需配合 `<mdui-list>` 组件使用\n *\n * ```html\n * <mdui-list>\n * ..<mdui-list-subheader>Subheader</mdui-list-subheader>\n * ..<mdui-list-item>Item 1</mdui-list-item>\n * ..<mdui-list-item>Item 2</mdui-list-item>\n * </mdui-list>\n * ```\n *\n * @event focus - 获得焦点时触发\n * @event blur - 失去焦点时触发\n *\n * @slot - 主文本\n * @slot description - 副文本\n * @slot icon - 列表项左侧的元素\n * @slot end-icon - 列表项右侧的元素\n * @slot custom - 任意自定义内容\n *\n * @csspart container - 列表项容器\n * @csspart icon - 左侧图标\n * @csspart end-icon - 右侧图标\n * @csspart body - 中间部分\n * @csspart headline - 主标题\n * @csspart description - 副标题\n *\n * @cssprop --shape-corner - 列表项的圆角大小。可以指定一个具体的像素值;但更推荐引用[设计令牌](/docs/2/styles/design-tokens#shape-corner)\n * @cssprop --shape-corner-rounded - 指定了 `rounded` 属性时,列表项的圆角大小。可以指定一个具体的像素值;但更推荐引用[设计令牌](/docs/2/styles/design-tokens#shape-corner)\n */\nlet ListItem = class ListItem extends AnchorMixin(RippleMixin(FocusableMixin(MduiElement))) {\n constructor() {\n super(...arguments);\n /**\n * 是否禁用该列表项,禁用后,列表项将变为灰色,且其中的 [`<mdui-checkbox>`](/docs/2/components/checkbox)、[`<mdui-radio>`](/docs/2/components/radio)、[`<mdui-switch>`](/docs/2/components/switch) 等也将禁用\n */\n this.disabled = false;\n /**\n * 是否激活该列表项\n */\n this.active = false;\n /**\n * 是否使列表项不可点击。设置后,列表项中的 [`<mdui-checkbox>`](/docs/2/components/checkbox)、[`<mdui-radio>`](/docs/2/components/radio)、[`<mdui-switch>`](/docs/2/components/switch) 等仍可交互\n */\n this.nonclickable = false;\n /**\n * 是否使用圆角形状的列表项\n */\n this.rounded = false;\n /**\n * 列表项的垂直对齐方式。可选值包括:\n *\n * * `start`:顶部对齐\n * * `center`:居中对齐\n * * `end`:底部对齐\n */\n this.alignment = 'center';\n this.rippleRef = createRef();\n this.itemRef = createRef();\n this.hasSlotController = new HasSlotController(this, '[default]', 'description', 'icon', 'end-icon', 'custom');\n }\n get rippleElement() {\n return this.rippleRef.value;\n }\n get rippleDisabled() {\n return this.focusDisabled;\n }\n get focusElement() {\n return this.href && !this.disabled ? this.itemRef.value : this;\n }\n get focusDisabled() {\n return this.href ? this.disabled : this.disabled || this.nonclickable;\n }\n render() {\n const preset = !this.hasSlotController.test('custom');\n const hasIcon = this.icon || this.hasSlotController.test('icon');\n const hasEndIcon = this.endIcon || this.hasSlotController.test('end-icon');\n const hasDescription = this.description || this.hasSlotController.test('description');\n const className = cc({\n container: true,\n preset,\n 'has-icon': hasIcon,\n 'has-end-icon': hasEndIcon,\n 'has-description': hasDescription,\n // icon slot 中的元素是否为 mdui-icon 或 mdui-icon-* 组件\n 'is-icon': isNodeName(this.iconElements[0], 'mdui-icon'),\n // end-icon slot 中的元素是否为 mdui-icon 或 mdui-icon-* 组件\n 'is-end-icon': getNodeName(this.endIconElements[0]).startsWith('mdui-icon-'),\n });\n return html `<mdui-ripple ${ref(this.rippleRef)} .noRipple=\"${this.noRipple}\"></mdui-ripple>${this.href && !this.disabled\n ? this.renderAnchor({\n className,\n content: this.renderInner(),\n part: 'container',\n refDirective: ref(this.itemRef),\n })\n : html `<div part=\"container\" class=\"${className}\" ${ref(this.itemRef)}>${this.renderInner()}</div>`}`;\n }\n renderInner() {\n const hasDefaultSlot = this.hasSlotController.test('[default]');\n return html `<slot name=\"custom\"><slot name=\"icon\" part=\"icon\" class=\"icon\">${this.icon\n ? html `<mdui-icon name=\"${this.icon}\"></mdui-icon>`\n : nothingTemplate}</slot><div part=\"body\" class=\"body\">${hasDefaultSlot\n ? html `<slot part=\"headline\" class=\"headline\"></slot>`\n : html `<div part=\"headline\" class=\"headline\">${this.headline}</div>`}<slot name=\"description\" part=\"description\" class=\"description\">${this.description}</slot></div><slot name=\"end-icon\" part=\"end-icon\" class=\"end-icon\">${this.endIcon\n ? html `<mdui-icon name=\"${this.endIcon}\"></mdui-icon>`\n : nothingTemplate}</slot></slot>`;\n }\n};\nListItem.styles = [\n componentStyle,\n listItemStyle,\n];\n__decorate([\n property({ reflect: true })\n], ListItem.prototype, \"headline\", void 0);\n__decorate([\n property({ type: Number, reflect: true, attribute: 'headline-line' })\n], ListItem.prototype, \"headlineLine\", void 0);\n__decorate([\n property({ reflect: true })\n], ListItem.prototype, \"description\", void 0);\n__decorate([\n property({ type: Number, reflect: true, attribute: 'description-line' })\n], ListItem.prototype, \"descriptionLine\", void 0);\n__decorate([\n property({ reflect: true })\n], ListItem.prototype, \"icon\", void 0);\n__decorate([\n property({ reflect: true, attribute: 'end-icon' })\n], ListItem.prototype, \"endIcon\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n })\n], ListItem.prototype, \"disabled\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n })\n], ListItem.prototype, \"active\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n })\n], ListItem.prototype, \"nonclickable\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n })\n], ListItem.prototype, \"rounded\", void 0);\n__decorate([\n property({ reflect: true })\n], ListItem.prototype, \"alignment\", void 0);\n__decorate([\n queryAssignedElements({ slot: 'icon', flatten: true })\n], ListItem.prototype, \"iconElements\", void 0);\n__decorate([\n queryAssignedElements({ slot: 'end-icon', flatten: true })\n], ListItem.prototype, \"endIconElements\", void 0);\nListItem = __decorate([\n customElement('mdui-list-item')\n], ListItem);\nexport { ListItem };\n","import { css } from 'lit';\nexport const listItemStyle = css `:host{--shape-corner:var(--mdui-shape-corner-none);--shape-corner-rounded:var(--mdui-shape-corner-extra-large);position:relative;display:block;border-radius:var(--shape-corner);--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([rounded]:not([rounded=false i])),:host([rounded]:not([rounded=false i])) mdui-ripple{border-radius:var(--shape-corner-rounded)}:host([active]:not([active=false i])){background-color:rgb(var(--mdui-color-secondary-container));--mdui-comp-ripple-state-layer-color:var(\n --mdui-color-on-secondary-container\n )}:host([disabled]:not([disabled=false i])){pointer-events:none}.container{cursor:pointer;-webkit-user-select:none;user-select:none;text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}:host([disabled]:not([disabled=false i])) .container{cursor:default;opacity:.38}:host([nonclickable]:not([href],[nonclickable=false i])) .container{cursor:auto;-webkit-user-select:auto;user-select:auto}.preset{display:flex;align-items:center;padding:.5rem 1.5rem .5rem 1rem;min-height:3.5rem}:host([alignment=start]) .preset{align-items:flex-start}:host([alignment=end]) .preset{align-items:flex-end}.body{display:flex;flex:1 1 100%;flex-direction:column;justify-content:center;min-width:0}.headline{display:block;color:rgb(var(--mdui-color-on-surface));font-size:var(--mdui-typescale-body-large-size);font-weight:var(--mdui-typescale-body-large-weight);letter-spacing:var(--mdui-typescale-body-large-tracking);line-height:var(--mdui-typescale-body-large-line-height)}:host([active]:not([active=false i])) .headline{color:rgb(var(--mdui-color-on-secondary-container))}.description{display:none;color:rgb(var(--mdui-color-on-surface-variant));font-size:var(--mdui-typescale-body-medium-size);font-weight:var(--mdui-typescale-body-medium-weight);letter-spacing:var(--mdui-typescale-body-medium-tracking);line-height:var(--mdui-typescale-body-medium-line-height)}:host([disabled]:not([disabled=false i])) .description,:host([focused]) .description,:host([hover]) .description,:host([pressed]) .description{color:rgb(var(--mdui-color-on-surface))}.has-description .description{display:block}:host([description-line='1']) .description,:host([headline-line='1']) .headline{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host([description-line='2']) .description,:host([description-line='3']) .description,:host([headline-line='2']) .headline,:host([headline-line='3']) .headline{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}:host([description-line='2']) .description,:host([headline-line='2']) .headline{-webkit-line-clamp:2}:host([description-line='3']) .description,:host([headline-line='3']) .headline{-webkit-line-clamp:3}.end-icon,.icon{display:flex;flex:0 0 auto;font-size:var(--mdui-typescale-label-small-size);font-weight:var(--mdui-typescale-label-small-weight);letter-spacing:var(--mdui-typescale-label-small-tracking);line-height:var(--mdui-typescale-label-small-line-height);color:rgb(var(--mdui-color-on-surface-variant))}:host([disabled]:not([disabled=false i])) .end-icon,:host([disabled]:not([disabled=false i])) .icon,:host([focused]) .end-icon,:host([focused]) .icon,:host([hover]) .end-icon,:host([hover]) .icon,:host([pressed]) .end-icon,:host([pressed]) .icon{color:rgb(var(--mdui-color-on-surface))}:host([active]:not([active=false i])) .end-icon,:host([active]:not([active=false i])) .icon{color:rgb(var(--mdui-color-on-secondary-container))}.end-icon mdui-icon,.icon mdui-icon,.is-end-icon ::slotted([slot=end-icon]),.is-icon ::slotted([slot=icon]){font-size:1.5rem}.has-icon .icon{margin-right:1rem}.has-icon ::slotted(mdui-checkbox[slot=icon]),.has-icon ::slotted(mdui-radio[slot=icon]){margin-left:-.5rem}.has-end-icon .end-icon{margin-left:1rem}.has-end-icon ::slotted(mdui-checkbox[slot=end-icon]),.has-end-icon ::slotted(mdui-radio[slot=end-icon]){margin-right:-.5rem}`;\n","export * from './navigation-drawer/index.js';\n","import { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { when } from 'lit/directives/when.js';\nimport { $ } from '@mdui/jq/$.js';\nimport '@mdui/jq/methods/css.js';\nimport '@mdui/jq/methods/innerWidth.js';\nimport { isFunction, isNull } from '@mdui/jq/shared/helper.js';\nimport { DefinedController } from '@mdui/shared/controllers/defined.js';\nimport { watch } from '@mdui/shared/decorators/watch.js';\nimport { animateTo, stopAnimations } from '@mdui/shared/helpers/animate.js';\nimport { breakpoint } from '@mdui/shared/helpers/breakpoint.js';\nimport { booleanConverter } from '@mdui/shared/helpers/decorator.js';\nimport { Modal } from '@mdui/shared/helpers/modal.js';\nimport { getDuration, getEasing } from '@mdui/shared/helpers/motion.js';\nimport { observeResize } from '@mdui/shared/helpers/observeResize.js';\nimport { lockScreen, unlockScreen } from '@mdui/shared/helpers/scroll.js';\nimport { componentStyle } from '@mdui/shared/lit-styles/component-style.js';\nimport { LayoutItemBase } from '../layout/layout-item-base.js';\nimport { style } from './style.js';\n/**\n * 在手机端,`modal` 始终为 `true`;大于手机端时,`modal` 属性才开始生效\n *\n * @summary 侧边抽屉栏组件\n *\n * ```html\n * <mdui-navigation-drawer>content</mdui-navigation-drawer>\n * ```\n *\n * @event open - 抽屉栏打开之前触发。可以通过调用 `event.preventDefault()` 阻止抽屉栏打开\n * @event opened - 抽屉栏打开动画完成之后触发\n * @event close - 抽屉栏关闭之前触发。可以通过调用 `event.preventDefault()` 阻止抽屉栏关闭\n * @event closed - 抽屉栏关闭动画完成之后触发\n * @event overlay-click - 点击遮罩层时触发\n *\n * @slot - 抽屉栏中的内容\n *\n * @csspart overlay - 遮罩层\n * @csspart panel - 抽屉栏容器\n *\n * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐引用[设计令牌](/docs/2/styles/design-tokens#shape-corner)\n * @cssprop --z-index - 组件的 CSS `z-index` 值\n */\nlet NavigationDrawer = class NavigationDrawer extends LayoutItemBase {\n constructor() {\n super(...arguments);\n /**\n * 是否打开抽屉栏\n */\n this.open = false;\n /**\n * 抽屉栏打开时,是否显示遮罩层\n *\n * 在窄屏设备上(屏幕宽度小于 [`--mdui-breakpoint-md`](/docs/2/styles/design-tokens#breakpoint)),会始终显示遮罩层,无视该参数\n */\n this.modal = false;\n /**\n * 在有遮罩层的情况下,按下 ESC 键是否关闭抽屉栏\n */\n this.closeOnEsc = false;\n /**\n * 点击遮罩层时,是否关闭抽屉栏\n */\n this.closeOnOverlayClick = false;\n /**\n * 抽屉栏的位置。可选值包括:\n *\n * * `left`:左侧\n * * `right`:右侧\n */\n this.placement = 'left';\n /**\n * 默认情况下,抽屉栏相对于 `body` 元素显示。当该参数设置为 `true` 时,抽屉栏将相对于其父元素显示。\n *\n * **Note**:设置该属性时,必须在父元素上手动设置样式 `position: relative; overflow: hidden;`。\n */\n this.contained = false;\n // 断点为 mobile 时为 `true` 时,强制使用遮罩层\n this.mobile = false;\n this.overlayRef = createRef();\n this.panelRef = createRef();\n this.definedController = new DefinedController(this, {\n needDomReady: true,\n });\n }\n get layoutPlacement() {\n return this.placement;\n }\n get lockTarget() {\n return this.contained || this.isParentLayout\n ? this.parentElement\n : document.documentElement;\n }\n get isModal() {\n return this.mobile || this.modal;\n }\n // contained 变更后,修改监听尺寸变化的元素。为 true 时,监听父元素;为 false 时,监听 body\n async onContainedChange() {\n await this.definedController.whenDefined();\n this.observeResize?.unobserve();\n this.setObserveResize();\n }\n onPlacementChange() {\n if (this.isParentLayout) {\n this.layoutManager.updateLayout(this);\n }\n }\n async onMobileChange() {\n if (!this.open || this.isParentLayout || this.contained) {\n return;\n }\n await this.definedController.whenDefined();\n if (this.isModal) {\n lockScreen(this, this.lockTarget);\n await this.getLockTargetAnimate(false, 0);\n }\n else {\n unlockScreen(this, this.lockTarget);\n await this.getLockTargetAnimate(true, 0);\n }\n }\n async onOpenChange() {\n let panel = this.panelRef.value;\n let overlay = this.overlayRef.value;\n const isRight = this.placement === 'right';\n const easingLinear = getEasing(this, 'linear');\n const easingEmphasized = getEasing(this, 'emphasized');\n // 在当前 drawer 位于 layout 中时,设置所有 layout-item 和 layout-main 元素的 transition 样式\n const setLayoutTransition = (duration, easing) => {\n $(this.layoutManager.getItemsAndMain()).css('transition', isNull(duration) ? null : `all ${duration}ms ${easing}`);\n };\n // 停止原有动画\n const stopOldAnimations = async () => {\n const elements = [];\n if (this.isModal) {\n elements.push(overlay, panel);\n }\n else if (!this.isParentLayout) {\n elements.push(this.lockTarget);\n }\n if (this.isParentLayout) {\n const layoutItems = this.layoutManager.getItemsAndMain();\n const layoutIndex = layoutItems.indexOf(this);\n elements.push(...layoutItems.slice(layoutIndex));\n }\n if (!this.isModal && !elements.includes(this)) {\n elements.push(this);\n }\n await Promise.all(elements.map((element) => stopAnimations(element)));\n };\n // 打开\n // 要区分是否首次渲染,首次渲染时不触发事件,不执行动画;非首次渲染,触发事件,执行动画\n if (this.open) {\n const hasUpdated = this.hasUpdated;\n if (!hasUpdated) {\n await this.updateComplete;\n panel = this.panelRef.value;\n overlay = this.overlayRef.value;\n }\n if (hasUpdated) {\n const eventProceeded = this.emit('open', { cancelable: true });\n if (!eventProceeded) {\n return;\n }\n }\n await this.definedController.whenDefined();\n this.style.display = 'block';\n this.originalTrigger = document.activeElement;\n if (this.isModal) {\n this.modalHelper.activate();\n if (!this.contained) {\n lockScreen(this, this.lockTarget);\n }\n }\n await stopOldAnimations();\n // 设置聚焦\n requestAnimationFrame(() => {\n const autoFocusTarget = this.querySelector('[autofocus]');\n if (autoFocusTarget) {\n autoFocusTarget.focus({ preventScroll: true });\n }\n else {\n panel.focus({ preventScroll: true });\n }\n });\n const duration = getDuration(this, 'long2');\n const animations = [];\n // 模态框 drawer,显示 overlay 动画\n if (this.isModal) {\n animations.push(animateTo(overlay, [{ opacity: 0 }, { opacity: 1, offset: 0.3 }, { opacity: 1 }], {\n duration: hasUpdated ? duration : 0,\n easing: easingLinear,\n }));\n }\n // 不位于 layout 中,父元素 padding 变化的动画\n else if (!this.isParentLayout) {\n animations.push(this.getLockTargetAnimate(true, hasUpdated ? duration : 0));\n }\n // 若位于 layout 中,则 layout-main 的 padding 变化需要有和 drawer 相同的动画\n // 但首次渲染不执行动画\n if (this.isParentLayout && hasUpdated) {\n setLayoutTransition(duration, easingEmphasized);\n this.layoutManager.updateLayout(this);\n }\n // drawer 显示动画\n animations.push(animateTo(this.isModal ? panel : this, [\n { transform: `translateX(${isRight ? '' : '-'}100%)` },\n { transform: 'translateX(0)' },\n ], {\n duration: hasUpdated ? duration : 0,\n easing: easingEmphasized,\n }));\n await Promise.all(animations);\n if (!this.open) {\n return;\n }\n // 若位于 layout 中,则 drawer 动画完成后,移除 layout-main 的动画\n if (this.isParentLayout && hasUpdated) {\n setLayoutTransition(null);\n }\n if (hasUpdated) {\n this.emit('opened');\n }\n }\n else if (this.hasUpdated) {\n // 关闭\n const eventProceeded = this.emit('close', { cancelable: true });\n if (!eventProceeded) {\n return;\n }\n await this.definedController.whenDefined();\n if (this.isModal) {\n this.modalHelper.deactivate();\n }\n await stopOldAnimations();\n const duration = getDuration(this, 'short4');\n const animations = [];\n // 模态框 drawer,显示 overlay 动画\n if (this.isModal) {\n animations.push(animateTo(overlay, [{ opacity: 1 }, { opacity: 0 }], {\n duration,\n easing: easingLinear,\n }));\n }\n // 不位于 layout 中,父元素 padding 变化的动画\n else if (!this.isParentLayout) {\n animations.push(this.getLockTargetAnimate(false, duration));\n }\n // 若位于 layout 中,则 layout-main 的 padding 变化需要有和 drawer 相同的动画\n if (this.isParentLayout) {\n setLayoutTransition(duration, easingEmphasized);\n // 关闭动画开始时,drawer 的宽度不变。等到关闭动画结束,drawer 的宽度才变为 0\n // 为了 layout-main 的动画能在关闭动画开始时就执行,强制调用 updateLayout 更新布局\n this.layoutManager.updateLayout(this, { width: 0 });\n }\n // drawer 显示动画\n animations.push(animateTo(this.isModal ? panel : this, [\n { transform: 'translateX(0)' },\n { transform: `translateX(${isRight ? '' : '-'}100%)` },\n ], { duration, easing: easingEmphasized }));\n await Promise.all(animations);\n if (this.open) {\n return;\n }\n // 若位于 layout 中,则 drawer 动画结束后,移除 layout-main 的动画\n if (this.isParentLayout) {\n setLayoutTransition(null);\n }\n this.style.display = 'none';\n if (this.isModal && !this.contained) {\n unlockScreen(this, this.lockTarget);\n }\n // 抽屉栏关闭后,恢复焦点到原有的元素上\n const trigger = this.originalTrigger;\n if (isFunction(trigger?.focus)) {\n setTimeout(() => trigger.focus());\n }\n this.emit('closed');\n }\n }\n connectedCallback() {\n super.connectedCallback();\n this.modalHelper = new Modal(this);\n this.definedController.whenDefined().then(() => {\n this.setObserveResize();\n });\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n unlockScreen(this, this.lockTarget);\n this.observeResize?.unobserve();\n }\n firstUpdated(_changedProperties) {\n super.firstUpdated(_changedProperties);\n this.addEventListener('keydown', (event) => {\n if (this.open &&\n this.closeOnEsc &&\n event.key === 'Escape' &&\n this.isModal) {\n event.stopPropagation();\n this.open = false;\n }\n });\n }\n render() {\n return html `${when(this.isModal, () => html `<div ${ref(this.overlayRef)} part=\"overlay\" class=\"overlay\" @click=\"${this.onOverlayClick}\"></div>`)}<slot ${ref(this.panelRef)} part=\"panel\" class=\"panel\" tabindex=\"0\"></slot>`;\n }\n setObserveResize() {\n this.observeResize = observeResize(this.contained ? this.parentElement : document.documentElement, () => {\n const target = this.contained ? this.parentElement : undefined;\n this.mobile = breakpoint(target).down('md');\n // 若位于 layout 中,且为模态化,则重新布局时,占据的宽度为 0\n if (this.isParentLayout) {\n this.layoutManager.updateLayout(this, {\n width: this.isModal ? 0 : undefined,\n });\n }\n });\n }\n onOverlayClick() {\n this.emit('overlay-click');\n if (this.closeOnOverlayClick) {\n this.open = false;\n }\n }\n getLockTargetAnimate(open, duration) {\n const paddingName = this.placement === 'right' ? 'paddingRight' : 'paddingLeft';\n const panelWidth = $(this.panelRef.value).innerWidth() + 'px';\n return animateTo(this.lockTarget, [\n { [paddingName]: open ? 0 : panelWidth },\n { [paddingName]: open ? panelWidth : 0 },\n ], {\n duration,\n easing: getEasing(this, 'emphasized'),\n fill: 'forwards',\n });\n }\n};\nNavigationDrawer.styles = [componentStyle, style];\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n })\n], NavigationDrawer.prototype, \"open\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n })\n], NavigationDrawer.prototype, \"modal\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n attribute: 'close-on-esc',\n })\n], NavigationDrawer.prototype, \"closeOnEsc\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n attribute: 'close-on-overlay-click',\n })\n], NavigationDrawer.prototype, \"closeOnOverlayClick\", void 0);\n__decorate([\n property({ reflect: true })\n // eslint-disable-next-line prettier/prettier\n], NavigationDrawer.prototype, \"placement\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n })\n], NavigationDrawer.prototype, \"contained\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n })\n], NavigationDrawer.prototype, \"mobile\", void 0);\n__decorate([\n watch('contained', true)\n], NavigationDrawer.prototype, \"onContainedChange\", null);\n__decorate([\n watch('placement', true)\n], NavigationDrawer.prototype, \"onPlacementChange\", null);\n__decorate([\n watch('mobile', true),\n watch('modal', true)\n], NavigationDrawer.prototype, \"onMobileChange\", null);\n__decorate([\n watch('open')\n], NavigationDrawer.prototype, \"onOpenChange\", null);\nNavigationDrawer = __decorate([\n customElement('mdui-navigation-drawer')\n], NavigationDrawer);\nexport { NavigationDrawer };\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nfunction n(n,r,t){return n?r(n):t?.(n)}export{n as when};\n//# sourceMappingURL=when.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\ntype Falsy = null | undefined | false | 0 | -0 | 0n | '';\n\n/**\n * When `condition` is true, returns the result of calling `trueCase()`, else\n * returns the result of calling `falseCase()` if `falseCase` is defined.\n *\n * This is a convenience wrapper around a ternary expression that makes it a\n * little nicer to write an inline conditional without an else.\n *\n * @example\n *\n * ```ts\n * render() {\n * return html`\n * ${when(this.user, () => html`User: ${this.user.username}`, () => html`Sign In...`)}\n * `;\n * }\n * ```\n */\nexport function when<C extends Falsy, T, F = undefined>(\n condition: C,\n trueCase: (c: C) => T,\n falseCase?: (c: C) => F\n): F;\nexport function when<C, T, F>(\n condition: C extends Falsy ? never : C,\n trueCase: (c: C) => T,\n falseCase?: (c: C) => F\n): T;\nexport function when<C, T, F = undefined>(\n condition: C,\n trueCase: (c: Exclude<C, Falsy>) => T,\n falseCase?: (c: Extract<C, Falsy>) => F\n): C extends Falsy ? F : T;\nexport function when(\n condition: unknown,\n trueCase: (c: unknown) => unknown,\n falseCase?: (c: unknown) => unknown\n): unknown {\n return condition ? trueCase(condition) : falseCase?.(condition);\n}\n","import { isNumber } from '@mdui/jq/shared/helper.js';\nexport function animateTo(el, keyframes, options) {\n if (!el) {\n return Promise.resolve();\n }\n return new Promise((resolve) => {\n if (options.duration === Infinity) {\n throw new Error('Promise-based animations must be finite.');\n }\n if (isNumber(options.duration) && isNaN(options.duration)) {\n options.duration = 0;\n }\n if (options.easing === '') {\n options.easing = 'linear';\n }\n const animation = el.animate(keyframes, options);\n animation.addEventListener('cancel', resolve, { once: true });\n animation.addEventListener('finish', resolve, { once: true });\n });\n}\nexport function stopAnimations(el) {\n if (!el) {\n return Promise.resolve();\n }\n return Promise.all(el.getAnimations().map((animation) => {\n return new Promise((resolve) => {\n const handleAnimationEvent = requestAnimationFrame(resolve);\n animation.addEventListener('cancel', () => handleAnimationEvent, {\n once: true,\n });\n animation.addEventListener('finish', () => handleAnimationEvent, {\n once: true,\n });\n animation.cancel();\n });\n }));\n}\n","/**\n * 断点相关的 js 函数\n * 这些函数直接导出到 mdui 全局对象下,供应用使用。框架内部使用时,为避免循环依赖,从 @mdui/shared 包内导入\n */\nimport { getDocument, getWindow } from 'ssr-window';\nimport { $ } from '@mdui/jq/$.js';\nimport '@mdui/jq/methods/innerWidth.js';\nimport { isElement, isNumber } from '@mdui/jq/shared/helper.js';\n/**\n * 获取断点对象,通过返回的对象可用于判断指定宽度、或指定元素的宽度、或当前窗口宽度与各个断点值的关系\n *\n * * 未传入参数时,获取的是 `window` 的宽度对应的断点对象\n * * 若传入数值,则获取的是该数值宽度对应的断点对象\n * * 若传入 CSS 选择器,则获取的是该选择器对应元素的宽度对应的断点对象\n * * 若传入 HTML 元素,则获取的是该元素的宽度对应的断点对象\n * * 若传入 JQ 对象,则获取的是该 JQ 对象中的元素的宽度对应的断点对象\n *\n * 返回的对象包含以下方法:\n *\n * * `up(breakpoint)`:判断当前宽度是否大于指定断点值\n * * `down(breakpoint)`:判断当前宽度是否小于指定断点值\n * * `only(breakpoint)`:判断当前宽度是否在指定断点值内\n * * `not(breakpoint)`:判断当前宽度是否不在指定断点值内\n * * `between(startBreakpoint, endBreakpoint)`:判断当前宽度是否在指定断点值之间\n */\nexport const breakpoint = (width) => {\n const window = getWindow();\n const document = getDocument();\n const computedStyle = window.getComputedStyle(document.documentElement);\n // 容器的宽度\n const containerWidth = isElement(width)\n ? $(width).innerWidth()\n : isNumber(width)\n ? width\n : $(window).innerWidth();\n // 断点对应的宽度值\n const getBreakpointValue = (breakpoint) => {\n const width = computedStyle\n .getPropertyValue(`--mdui-breakpoint-${breakpoint}`)\n .toLowerCase();\n return parseFloat(width);\n };\n // 获取比指定断点更大的一个断点\n const getNextBreakpoint = (breakpoint) => {\n switch (breakpoint) {\n case 'xs':\n return 'sm';\n case 'sm':\n return 'md';\n case 'md':\n return 'lg';\n case 'lg':\n return 'xl';\n case 'xl':\n return 'xxl';\n }\n };\n return {\n /**\n * 当前宽度是否大于指定断点值\n * @param breakpoint\n */\n up(breakpoint) {\n return containerWidth >= getBreakpointValue(breakpoint);\n },\n /**\n * 当前宽度是否小于指定断点值\n * @param breakpoint\n */\n down(breakpoint) {\n return containerWidth < getBreakpointValue(breakpoint);\n },\n /**\n * 当前宽度是否在指定断点值内\n * @param breakpoint\n */\n only(breakpoint) {\n if (breakpoint === 'xxl') {\n return this.up(breakpoint);\n }\n else {\n return this.up(breakpoint) && this.down(getNextBreakpoint(breakpoint));\n }\n },\n /**\n * 当前宽度是否不在指定断点值内\n * @param breakpoint\n */\n not(breakpoint) {\n return !this.only(breakpoint);\n },\n /**\n * 当前宽度是否在指定断点值之间\n * @param startBreakpoint\n * @param endBreakpoint\n * @returns\n */\n between(startBreakpoint, endBreakpoint) {\n return this.up(startBreakpoint) && this.down(endBreakpoint);\n },\n };\n};\n","/** https://github.com/shoelace-style/shoelace/blob/next/src/internal/modal.ts */\nimport { getTabbableBoundary } from './tabbable.js';\nlet activeModals = [];\nexport class Modal {\n constructor(element) {\n this.tabDirection = 'forward';\n this.element = element;\n this.handleFocusIn = this.handleFocusIn.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleKeyUp = this.handleKeyUp.bind(this);\n }\n activate() {\n activeModals.push(this.element);\n document.addEventListener('focusin', this.handleFocusIn);\n document.addEventListener('keydown', this.handleKeyDown);\n document.addEventListener('keyup', this.handleKeyUp);\n }\n deactivate() {\n activeModals = activeModals.filter((modal) => modal !== this.element);\n document.removeEventListener('focusin', this.handleFocusIn);\n document.removeEventListener('keydown', this.handleKeyDown);\n document.removeEventListener('keyup', this.handleKeyUp);\n }\n isActive() {\n // The \"active\" modal is always the most recent one shown\n return activeModals[activeModals.length - 1] === this.element;\n }\n checkFocus() {\n if (this.isActive()) {\n if (!this.element.matches(':focus-within')) {\n const { start, end } = getTabbableBoundary(this.element);\n const target = this.tabDirection === 'forward' ? start : end;\n if (typeof target?.focus === 'function') {\n target.focus({ preventScroll: true });\n }\n }\n }\n }\n handleFocusIn() {\n this.checkFocus();\n }\n handleKeyDown(event) {\n if (event.key === 'Tab' && event.shiftKey) {\n this.tabDirection = 'backward';\n }\n // Ensure focus remains trapped after they key is pressed\n requestAnimationFrame(() => this.checkFocus());\n }\n handleKeyUp() {\n this.tabDirection = 'forward';\n }\n}\n","import { getWindow } from 'ssr-window';\n/** https://github.com/shoelace-style/shoelace/blob/next/src/internal/tabbable.ts */\n/** Determines if the specified element is tabbable using heuristics inspired by https://github.com/focus-trap/tabbable */\nfunction isTabbable(el) {\n const window = getWindow();\n const localName = el.localName;\n // Elements with a -1 tab index are not tabbable\n if (el.getAttribute('tabindex') === '-1') {\n return false;\n }\n // Elements with a disabled attribute are not tabbable\n if (el.hasAttribute('disabled')) {\n return false;\n }\n // Elements with aria-disabled are not tabbable\n if (el.hasAttribute('aria-disabled') &&\n el.getAttribute('aria-disabled') !== 'false') {\n return false;\n }\n // Radios without a checked attribute are not tabbable\n if (localName === 'input' &&\n el.getAttribute('type') === 'radio' &&\n !el.hasAttribute('checked')) {\n return false;\n }\n // Elements that are hidden have no offsetParent and are not tabbable\n if (el.offsetParent === null) {\n return false;\n }\n // Elements without visibility are not tabbable\n if (window.getComputedStyle(el).visibility === 'hidden') {\n return false;\n }\n // Audio and video elements with the controls attribute are tabbable\n if ((localName === 'audio' || localName === 'video') &&\n el.hasAttribute('controls')) {\n return true;\n }\n // Elements with a tabindex other than -1 are tabbable\n if (el.hasAttribute('tabindex')) {\n return true;\n }\n // Elements with a contenteditable attribute are tabbable\n if (el.hasAttribute('contenteditable') &&\n el.getAttribute('contenteditable') !== 'false') {\n return true;\n }\n // At this point, the following elements are considered tabbable\n return [\n 'button',\n 'input',\n 'select',\n 'textarea',\n 'a',\n 'audio',\n 'video',\n 'summary',\n ].includes(localName);\n}\n/**\n * Returns the first and last bounding elements that are tabbable. This is more performant than checking every single\n * element because it short-circuits after finding the first and last ones.\n */\nexport function getTabbableBoundary(root) {\n const allElements = [];\n function walk(el) {\n if (el instanceof HTMLElement) {\n allElements.push(el);\n if (el.shadowRoot !== null && el.shadowRoot.mode === 'open') {\n walk(el.shadowRoot);\n }\n }\n const children = el.children;\n [...children].forEach((e) => walk(e));\n }\n // Collect all elements including the root\n walk(root);\n // Find the first and last tabbable elements\n const start = allElements.find((el) => isTabbable(el)) ?? null;\n const end = allElements.reverse().find((el) => isTabbable(el)) ?? null;\n return { start, end };\n}\n","import { $ } from '@mdui/jq/$.js';\nimport '@mdui/jq/methods/css.js';\n/**\n * 获取由 CSS 变量定义的缓动曲线值\n * @param element 在指定元素上获取值;若需要获取全局值,则传入 document.body\n * @param name 缓动曲线名称\n */\nexport const getEasing = (element, name) => {\n const cssVariableName = `--mdui-motion-easing-${name}`;\n return $(element).css(cssVariableName).trim();\n};\n/**\n * 获取由 CSS 变量定义的动画持续时间\n * @param element 在指定元素上获取值;若需要获取全局值,则传入 document.body\n * @param name 持续时间名称\n */\nexport const getDuration = (element, name) => {\n const cssVariableName = `--mdui-motion-duration-${name}`;\n const cssValue = $(element).css(cssVariableName).trim().toLowerCase();\n if (cssValue.endsWith('ms')) {\n return parseFloat(cssValue);\n }\n else {\n return parseFloat(cssValue) * 1000;\n }\n};\n","import { getDocument } from 'ssr-window';\nimport { $ } from '@mdui/jq/$.js';\nimport '@mdui/jq/methods/addClass.js';\nimport '@mdui/jq/methods/append.js';\nimport '@mdui/jq/methods/appendTo.js';\nimport '@mdui/jq/methods/css.js';\nimport '@mdui/jq/methods/remove.js';\nimport '@mdui/jq/methods/removeClass.js';\nimport '@mdui/jq/methods/width.js';\nimport { isUndefined } from '@mdui/jq/shared/helper.js';\n// 缓存滚动条宽度\nlet scrollBarSizeCached;\n/**\n * 获取滚动条宽度\n * @param fresh 是否重新计算\n */\nexport const getScrollBarSize = (fresh) => {\n if (isUndefined(document)) {\n return 0;\n }\n if (fresh || scrollBarSizeCached === undefined) {\n const $inner = $('<div>').css({\n width: '100%',\n height: '200px',\n });\n const $outer = $('<div>')\n .css({\n position: 'absolute',\n top: '0',\n left: '0',\n pointerEvents: 'none',\n visibility: 'hidden',\n width: '200px',\n height: '150px',\n overflow: 'hidden',\n })\n .append($inner)\n .appendTo(document.body);\n const widthContained = $inner[0].offsetWidth;\n $outer.css('overflow', 'scroll');\n let widthScroll = $inner[0].offsetWidth;\n if (widthContained === widthScroll) {\n widthScroll = $outer[0].clientWidth;\n }\n $outer.remove();\n scrollBarSizeCached = widthContained - widthScroll;\n }\n return scrollBarSizeCached;\n};\n/**\n * 判断指定元素当前是否有滚动条\n */\nexport const hasScrollbar = (target) => {\n return target.scrollHeight > target.clientHeight;\n};\nconst lockMap = new WeakMap();\nconst className = 'mdui-lock-screen';\n/**\n * 锁定指定元素,禁止滚动。对同一个元素多次调用此方法,只会锁定一次\n * @param source 由该元素触发锁定\n * @param target 锁定该元素的滚动状态,默认为 html\n */\nexport const lockScreen = (source, target) => {\n const document = getDocument();\n target ??= document.documentElement;\n if (!lockMap.has(target)) {\n lockMap.set(target, new Set());\n }\n const lock = lockMap.get(target);\n lock.add(source);\n const $target = $(target);\n if (hasScrollbar(target)) {\n $target.css('width', `calc(100% - ${getScrollBarSize()}px)`);\n }\n $target.addClass(className);\n};\n/**\n * 解除指定元素的滚动状态锁定。\n * @param source 由该元素触发锁定\n * @param target 锁定该元素的滚动状态,默认为 html\n */\nexport const unlockScreen = (source, target) => {\n const document = getDocument();\n target ??= document.documentElement;\n const lock = lockMap.get(target);\n if (!lock) {\n return;\n }\n lock.delete(source);\n if (lock.size === 0) {\n lockMap.delete(target);\n $(target).removeClass(className).width('');\n }\n};\n","import { $ } from '../$.js';\nimport { createElement, appendChild, removeChild } from '../shared/dom.js';\nimport { isFunction, isString, eachArray } from '../shared/helper.js';\nimport './after.js';\nimport './before.js';\nimport './clone.js';\nimport './each.js';\nimport './map.js';\nimport './remove.js';\neachArray(['prepend', 'append'], (name, nameIndex) => {\n // eslint-disable-next-line\n $.fn[name] = function (...args) {\n return this.each((index, element) => {\n const childNodes = element.childNodes;\n const childLength = childNodes.length;\n const child = childLength\n ? childNodes[nameIndex ? childLength - 1 : 0]\n : createElement('div');\n if (!childLength) {\n appendChild(element, child);\n }\n let contents = isFunction(args[0])\n ? [args[0].call(element, index, element.innerHTML)]\n : args;\n // 如果不是字符串,则仅第一个元素使用原始元素,其他的都克隆自第一个元素\n if (index) {\n contents = contents.map((content) => {\n return isString(content) ? content : $(content).clone();\n });\n }\n $(child)[nameIndex ? 'after' : 'before'](...contents);\n if (!childLength) {\n removeChild(child);\n }\n });\n };\n});\n","import './before.js';\n","import { $ } from '../$.js';\nimport { getChildNodesArray } from '../shared/dom.js';\nimport { isFunction, isString, isElement, eachArray, } from '../shared/helper.js';\nimport './each.js';\nimport './insertAfter.js';\nimport './insertBefore.js';\n/**\n * 是否不是 HTML 字符串(包裹在 <> 中)\n * @param target\n */\nconst isPlainText = (target) => {\n return isString(target) && !(target.startsWith('<') && target.endsWith('>'));\n};\neachArray(['before', 'after'], (name, nameIndex) => {\n // eslint-disable-next-line\n $.fn[name] = function (...args) {\n // after 方法,多个参数需要按参数顺序添加到元素后面,所以需要将参数顺序反向处理\n if (nameIndex === 1) {\n args = args.reverse();\n }\n return this.each((index, element) => {\n const targets = isFunction(args[0])\n ? [args[0].call(element, index, element.innerHTML)]\n : args;\n eachArray(targets, (target) => {\n let $target;\n if (isPlainText(target)) {\n $target = $(getChildNodesArray(target, 'div'));\n }\n else if (index && isElement(target)) {\n $target = $(target.cloneNode(true));\n }\n else {\n $target = $(target);\n }\n $target[nameIndex ? 'insertAfter' : 'insertBefore'](element);\n });\n });\n };\n});\n","import { $ } from '../$.js';\nimport './map.js';\n$.fn.clone = function () {\n return this.map(function () {\n return this.cloneNode(true);\n });\n};\n","import './addClass.js';\n","import { css } from 'lit';\nexport const style = css `:host{--shape-corner:var(--mdui-shape-corner-large);--z-index:2200;display:none;position:fixed;top:0;bottom:0;left:0;z-index:1;width:22.5rem}:host([placement=right]){left:initial;right:0}:host([mobile]),:host([modal]:not([modal=false i])){top:0!important;right:0;bottom:0!important;width:initial;z-index:var(--z-index)}:host([placement=right][mobile]),:host([placement=right][modal]:not([modal=false i])){left:0}:host([contained]:not([contained=false i])){position:absolute}.overlay{position:absolute;inset:0;z-index:inherit;background-color:rgba(var(--mdui-color-scrim),.4)}.panel{display:block;position:absolute;top:0;bottom:0;left:0;width:100%;overflow:auto;z-index:inherit;background-color:rgb(var(--mdui-color-surface));box-shadow:var(--mdui-elevation-level0)}:host([mobile]) .panel,:host([modal]:not([modal=false i])) .panel{border-radius:0 var(--shape-corner) var(--shape-corner) 0;max-width:80%;width:22.5rem;background-color:rgb(var(--mdui-color-surface-container-low));box-shadow:var(--mdui-elevation-level1)}:host([placement=right]) .panel{left:initial;right:0}:host([placement=right][mobile]) .panel,:host([placement=right][modal]:not([modal=false i])) .panel{border-radius:var(--shape-corner) 0 0 var(--shape-corner)}`;\n","export * from './top-app-bar/top-app-bar.js';\n","import { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { customElement, property, queryAssignedElements, } from 'lit/decorators.js';\nimport { watch } from '@mdui/shared/decorators/watch.js';\nimport { booleanConverter } from '@mdui/shared/helpers/decorator.js';\nimport { componentStyle } from '@mdui/shared/lit-styles/component-style.js';\nimport { ScrollBehaviorMixin } from '@mdui/shared/mixins/scrollBehavior.js';\nimport { LayoutItemBase } from '../layout/layout-item-base.js';\nimport { topAppBarStyle } from './top-app-bar-style.js';\n/**\n * @summary 顶部应用栏组件\n *\n * ```html\n * <mdui-top-app-bar>\n * ..<mdui-button-icon icon=\"menu\"></mdui-button-icon>\n * ..<mdui-top-app-bar-title>Title</mdui-top-app-bar-title>\n * ..<div style=\"flex-grow: 1\"></div>\n * ..<mdui-button-icon icon=\"more_vert\"></mdui-button-icon>\n * </mdui-top-app-bar>\n * ```\n *\n * @event show - 开始显示时,事件被触发。可以通过调用 `event.preventDefault()` 阻止显示\n * @event shown - 显示动画完成时,事件被触发\n * @event hide - 开始隐藏时,事件被触发。可以通过调用 `event.preventDefault()` 阻止隐藏\n * @event hidden - 隐藏动画完成时,事件被触发\n *\n * @slot - 顶部应用栏内部的元素\n *\n * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐引用[设计令牌](/docs/2/styles/design-tokens#shape-corner)\n * @cssprop --z-index - 组件的 CSS `z-index` 值\n */\nlet TopAppBar = class TopAppBar extends ScrollBehaviorMixin(LayoutItemBase) {\n constructor() {\n super(...arguments);\n /**\n * 顶部应用栏的形状。默认为 `small`。可选值包括:\n *\n * * `center-aligned`:小型应用栏,标题居中\n * * `small`:小型应用栏\n * * `medium`:中型应用栏\n * * `large`:大型应用栏\n */\n this.variant = 'small';\n /**\n * 是否隐藏\n */\n this.hide = false;\n /**\n * 是否缩小为 `variant=\"small\"` 的样式,仅在 `variant=\"medium\"` 或 `variant=\"large\"` 时生效\n */\n this.shrink = false;\n /**\n * 滚动条是否不位于顶部\n */\n this.scrolling = false;\n }\n get scrollPaddingPosition() {\n return 'top';\n }\n get layoutPlacement() {\n return 'top';\n }\n async onVariantChange() {\n if (this.hasUpdated) {\n // variant 变更时,重新为 scrollTargetContainer 元素添加 padding-top。避免 top-app-bar 覆盖内容\n this.addEventListener('transitionend', async () => {\n await this.scrollBehaviorDefinedController.whenDefined();\n this.setContainerPadding('update', this.scrollTarget);\n }, { once: true });\n }\n else {\n await this.updateComplete;\n }\n this.titleElements.forEach((titleElement) => {\n titleElement.variant = this.variant;\n });\n }\n async onShrinkChange() {\n if (!this.hasUpdated) {\n await this.updateComplete;\n }\n this.titleElements.forEach((titleElement) => {\n titleElement.shrink = this.shrink;\n });\n }\n firstUpdated(_changedProperties) {\n super.firstUpdated(_changedProperties);\n this.addEventListener('transitionend', (e) => {\n if (e.target === this) {\n this.emit(this.hide ? 'hidden' : 'shown');\n }\n });\n }\n render() {\n return html `<slot></slot>`;\n }\n runScrollNoThreshold(isScrollingUp, scrollTop) {\n // 向上滚动到顶部时,复原(无视 scrollThreshold 属性,否则会无法复原)\n if (this.hasScrollBehavior('shrink')) {\n // 到距离顶部 8px 即开始复原,显得灵敏些\n if (isScrollingUp && scrollTop < 8) {\n this.shrink = false;\n }\n }\n }\n runScrollThreshold(isScrollingUp, scrollTop) {\n // 滚动时添加阴影\n if (this.hasScrollBehavior('elevate')) {\n this.scrolling = !!scrollTop;\n }\n // 向下滚动时,缩小\n if (this.hasScrollBehavior('shrink')) {\n if (!isScrollingUp) {\n this.shrink = true;\n }\n }\n // 滚动时隐藏\n if (this.hasScrollBehavior('hide')) {\n // 向下滚动\n if (!isScrollingUp && !this.hide) {\n const eventProceeded = this.emit('hide', { cancelable: true });\n if (eventProceeded) {\n this.hide = true;\n }\n }\n // 向上滚动\n if (isScrollingUp && this.hide) {\n const eventProceeded = this.emit('show', { cancelable: true });\n if (eventProceeded) {\n this.hide = false;\n }\n }\n }\n }\n};\nTopAppBar.styles = [\n componentStyle,\n topAppBarStyle,\n];\n__decorate([\n property({ reflect: true })\n], TopAppBar.prototype, \"variant\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n })\n], TopAppBar.prototype, \"hide\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n })\n], TopAppBar.prototype, \"shrink\", void 0);\n__decorate([\n property({ reflect: true, attribute: 'scroll-behavior' })\n], TopAppBar.prototype, \"scrollBehavior\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n })\n], TopAppBar.prototype, \"scrolling\", void 0);\n__decorate([\n queryAssignedElements({ selector: 'mdui-top-app-bar-title', flatten: true })\n], TopAppBar.prototype, \"titleElements\", void 0);\n__decorate([\n watch('variant')\n], TopAppBar.prototype, \"onVariantChange\", null);\n__decorate([\n watch('shrink')\n], TopAppBar.prototype, \"onShrinkChange\", null);\nTopAppBar = __decorate([\n customElement('mdui-top-app-bar')\n], TopAppBar);\nexport { TopAppBar };\n","import { __decorate } from \"tslib\";\nimport { property } from 'lit/decorators.js';\nimport { $ } from '@mdui/jq/$.js';\nimport '@mdui/jq/methods/css.js';\nimport { isNodeName } from '@mdui/jq/shared/helper.js';\nimport { DefinedController } from '../controllers/defined.js';\nimport { watch } from '../decorators/watch.js';\n/**\n * 如果同时有多个组件在同一个元素上设置了 padding-top 或 padding-bottom,则移除其中一个组件时,不移除 padding-top 或 padding-bottom\n * 键为添加 padding 的目标元素,值为在分别在 top 和 bottom 上添加的组件数组\n */\nconst weakMap = new WeakMap();\n/**\n * 滚动行为\n *\n * 父类需要实现\n * @property() public scrollBehavior\n * protected runScrollThreshold(isScrollingUp: boolean, scrollTop: number): void;\n * protected runScrollNoThreshold(isScrollingUp: boolean, scrollTop: number): void;\n * protected get scrollPaddingPosition(): ScrollPaddingPosition\n */\nexport const ScrollBehaviorMixin = (superclass) => {\n class ScrollBehaviorMixinClass extends superclass {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(...args) {\n super(...args);\n this.scrollBehaviorDefinedController = new DefinedController(this, {\n needDomReady: true,\n });\n /**\n * 上次滚动后,垂直方向的距离(滚动距离超过 scrollThreshold 才记录)\n */\n this.lastScrollTopThreshold = 0;\n /**\n * 上次滚动后,垂直方向的距离(无视 scrollThreshold,始终记录)\n */\n this.lastScrollTopNoThreshold = 0;\n /**\n * 父元素是否是 `mdui-layout`\n */\n this.isParentLayout = false;\n this.onListeningScroll = this.onListeningScroll.bind(this);\n }\n /**\n * 滚动时,如果需要给 container 添加 padding,添加在顶部还是底部\n */\n get scrollPaddingPosition() {\n throw new Error('Must implement scrollPaddingPosition getter');\n }\n async onScrollTargetChange(oldValue, newValue) {\n const hasUpdated = this.hasUpdated;\n await this.scrollBehaviorDefinedController.whenDefined();\n // 旧元素移除 padding,新元素添加 padding\n if (hasUpdated) {\n this.setContainerPadding('remove', oldValue);\n this.setContainerPadding('add', newValue);\n }\n if (!this.scrollBehavior) {\n return;\n }\n const oldListening = this.getListening(oldValue);\n if (oldListening) {\n oldListening.removeEventListener('scroll', this.onListeningScroll);\n }\n const newListening = this.getListening(newValue);\n if (newListening) {\n this.updateScrollTop(newListening);\n newListening.addEventListener('scroll', this.onListeningScroll);\n }\n }\n async onScrollBehaviorChange() {\n await this.scrollBehaviorDefinedController.whenDefined();\n const listening = this.getListening(this.scrollTarget);\n if (!listening) {\n return;\n }\n if (this.scrollBehavior) {\n this.updateScrollTop(listening);\n listening.addEventListener('scroll', this.onListeningScroll);\n }\n else {\n listening.removeEventListener('scroll', this.onListeningScroll);\n }\n }\n connectedCallback() {\n super.connectedCallback();\n this.scrollBehaviorDefinedController.whenDefined().then(() => {\n this.isParentLayout = isNodeName(this.parentElement, 'mdui-layout');\n this.setContainerPadding('add', this.scrollTarget);\n });\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.scrollBehaviorDefinedController.whenDefined().then(() => {\n this.setContainerPadding('remove', this.scrollTarget);\n });\n }\n /**\n * scrollBehavior 包含多个滚动行为,用空格分割\n * 用该方法判断指定滚动行为是否在 scrollBehavior 中\n * @param behavior 为数组时,只要其中一个行为在 scrollBehavior 中,即返回 `true`\n */\n hasScrollBehavior(behavior) {\n const behaviors = (this.scrollBehavior?.split(' ') ??\n []);\n if (Array.isArray(behavior)) {\n return !!behaviors.filter((v) => behavior.includes(v)).length;\n }\n else {\n return behaviors.includes(behavior);\n }\n }\n /**\n * 执行滚动事件,在滚动距离超过 scrollThreshold 时才会执行\n * Note: 父类可以按需实现该方法\n * @param isScrollingUp 是否向上滚动\n * @param scrollTop 距离 scrollTarget 顶部的距离\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n runScrollThreshold(isScrollingUp, scrollTop) {\n return;\n }\n /**\n * 执行滚动事件,会无视 scrollThreshold,始终会执行\n * @param isScrollingUp 是否向上滚动\n * @param scrollTop 距离 scrollTarget 顶部的距离\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n runScrollNoThreshold(isScrollingUp, scrollTop) {\n return;\n }\n /**\n * 更新滚动容器的 padding,避免内容被 navigation-bar 覆盖\n * @param action 新增、更新、移除 padding\n * @param scrollTarget 在该元素上添加、更新或移除 padding\n */\n setContainerPadding(action, scrollTarget) {\n const container = this.getContainer(scrollTarget);\n if (!container || this.isParentLayout) {\n return;\n }\n const position = this.scrollPaddingPosition;\n const propName = position === 'top' ? 'paddingTop' : 'paddingBottom';\n if (action === 'add' || action === 'update') {\n const propValue = ['fixed', 'absolute'].includes($(this).css('position'))\n ? this.offsetHeight\n : null;\n $(container).css({ [propName]: propValue });\n // 添加 padding 时,weakMap 中添加指定元素\n if (action === 'add' && propValue !== null) {\n const options = weakMap.get(container) ?? { top: [], bottom: [] };\n options[position].push(this);\n weakMap.set(container, options);\n }\n }\n // 如果 weakMap 中指定元素的计数为 0,则移除 padding\n if (action === 'remove') {\n const options = weakMap.get(container);\n if (!options) {\n return;\n }\n const index = options[position].indexOf(this);\n if (index > -1) {\n options[position].splice(index, 1);\n weakMap.set(container, options);\n }\n if (!options[position].length) {\n $(container).css({ [propName]: null });\n }\n }\n }\n onListeningScroll() {\n const listening = this.getListening(this.scrollTarget);\n window.requestAnimationFrame(() => this.onScroll(listening));\n }\n /**\n * 滚动事件,这里过滤掉不符合条件的滚动\n */\n onScroll(listening) {\n const scrollTop = listening.scrollY ?? listening.scrollTop;\n // 无视 scrollThreshold 的回调\n if (this.lastScrollTopNoThreshold !== scrollTop) {\n this.runScrollNoThreshold(scrollTop < this.lastScrollTopNoThreshold, scrollTop);\n this.lastScrollTopNoThreshold = scrollTop;\n }\n // 滚动距离大于 scrollThreshold 时才执行的回调\n if (Math.abs(scrollTop - this.lastScrollTopThreshold) >\n (this.scrollThreshold || 0)) {\n this.runScrollThreshold(scrollTop < this.lastScrollTopThreshold, scrollTop);\n this.lastScrollTopThreshold = scrollTop;\n }\n }\n /**\n * 重新更新 lastScrollTopThreshold、lastScrollTopNoThreshold 的值\n * 用于在 scrollTarget、scrollBehavior 变更时,重新设置 lastScrollTopThreshold、lastScrollTopNoThreshold 的初始值\n */\n updateScrollTop(listening) {\n this.lastScrollTopThreshold = this.lastScrollTopNoThreshold =\n listening.scrollY ?? listening.scrollTop;\n }\n /**\n * 获取组件需要监听哪个元素的滚动状态\n */\n getListening(target) {\n return target ? $(target)[0] : window;\n }\n /**\n * 获取组件在哪个容器内滚动\n */\n getContainer(target) {\n return target ? $(target)[0] : document.body;\n }\n }\n __decorate([\n property({ attribute: 'scroll-target' })\n ], ScrollBehaviorMixinClass.prototype, \"scrollTarget\", void 0);\n __decorate([\n property({ reflect: true, attribute: 'scroll-behavior' })\n ], ScrollBehaviorMixinClass.prototype, \"scrollBehavior\", void 0);\n __decorate([\n property({ type: Number, reflect: true, attribute: 'scroll-threshold' })\n ], ScrollBehaviorMixinClass.prototype, \"scrollThreshold\", void 0);\n __decorate([\n watch('scrollTarget')\n ], ScrollBehaviorMixinClass.prototype, \"onScrollTargetChange\", null);\n __decorate([\n watch('scrollBehavior')\n ], ScrollBehaviorMixinClass.prototype, \"onScrollBehaviorChange\", null);\n return ScrollBehaviorMixinClass;\n};\n","import { css } from 'lit';\nexport const topAppBarStyle = css `:host{--shape-corner:var(--mdui-shape-corner-none);--z-index:2000;position:fixed;top:0;right:0;left:0;display:flex;flex:0 0 auto;align-items:flex-start;justify-content:flex-start;border-bottom-left-radius:var(--shape-corner);border-bottom-right-radius:var(--shape-corner);z-index:var(--z-index);transition:top var(--mdui-motion-duration-long2) var(--mdui-motion-easing-standard),height var(--mdui-motion-duration-long2) var(--mdui-motion-easing-standard),box-shadow var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear),background-color var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);padding:.75rem .5rem;height:4rem;background-color:rgb(var(--mdui-color-surface))}:host([scroll-target]:not([scroll-target=''])){position:absolute}:host([scroll-behavior~=shrink]){transition-duration:var(--mdui-motion-duration-short4)}:host([scrolling]){background-color:rgb(var(--mdui-color-surface-container));box-shadow:var(--mdui-elevation-level2)}::slotted(mdui-button-icon){color:rgb(var(--mdui-color-on-surface-variant));font-size:1.5rem}::slotted(mdui-button-icon:first-child){color:rgb(var(--mdui-color-on-surface))}::slotted(mdui-avatar){width:1.875rem;height:1.875rem;margin-top:.3125rem;margin-bottom:.3125rem}::slotted(*){flex-shrink:0}::slotted(:not(:last-child)){margin-right:.5rem}:host([variant=medium]){height:7rem}:host([variant=large]){height:9.5rem}:host([hide]:not([hide=false i])){transition-duration:var(--mdui-motion-duration-short4);top:-4.625rem}:host([hide][variant=medium]:not([hide=false i])){top:-7.625rem}:host([hide][variant=large]:not([hide=false i])){top:-10.125rem}:host([shrink][variant=large]:not([shrink=false i])),:host([shrink][variant=medium]:not([shrink=false i])){transition-duration:var(--mdui-motion-duration-short4);height:4rem}`;\n","export * from './top-app-bar/top-app-bar-title.js';\n","import { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { customElement, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { MduiElement } from '@mdui/shared/base/mdui-element.js';\nimport { HasSlotController } from '@mdui/shared/controllers/has-slot.js';\nimport { getInnerHtmlFromSlot } from '@mdui/shared/helpers/slot.js';\nimport { componentStyle } from '@mdui/shared/lit-styles/component-style.js';\nimport { topAppBarTitleStyle } from './top-app-bar-title-style.js';\n/**\n * @summary 顶部应用栏标题组件。需配合 `<mdui-top-app-bar>` 组件使用\n *\n * ```html\n * <mdui-top-app-bar>\n * ..<mdui-button-icon icon=\"menu\"></mdui-button-icon>\n * ..<mdui-top-app-bar-title>Title</mdui-top-app-bar-title>\n * ..<div style=\"flex-grow: 1\"></div>\n * ..<mdui-button-icon icon=\"more_vert\"></mdui-button-icon>\n * </mdui-top-app-bar>\n * ```\n *\n * @slot - 顶部应用栏的标题文本\n * @slot label-large - 展开状态下的标题文本\n *\n * @csspart label 标题文本\n * @csspart label-large 展开状态下的标题文本\n */\nlet TopAppBarTitle = class TopAppBarTitle extends MduiElement {\n constructor() {\n super(...arguments);\n /**\n * 顶部应用栏形状。由 mdui-top-app-bar 组件控制该参数\n */\n this.variant = 'small';\n /**\n * 是否缩小成 `variant=\"small\"` 的样式,仅在 `variant=\"medium\"` 或 `variant=\"large\"` 时生效。由 mdui-top-app-bar 组件控制该参数\n */\n this.shrink = false;\n this.hasSlotController = new HasSlotController(this, 'label-large');\n this.labelLargeRef = createRef();\n this.defaultSlotRef = createRef();\n }\n render() {\n const hasLabelLargeSlot = this.hasSlotController.test('label-large');\n const className = classMap({\n shrink: this.shrink,\n 'variant-center-aligned': this.variant === 'center-aligned',\n 'variant-small': this.variant === 'small',\n 'variant-medium': this.variant === 'medium',\n 'variant-large': this.variant === 'large',\n });\n return html `<slot part=\"label\" class=\"label ${className}\" ${ref(this.defaultSlotRef)} @slotchange=\"${() => this.onSlotChange(hasLabelLargeSlot)}\"></slot>${hasLabelLargeSlot\n ? html `<slot name=\"label-large\" part=\"label-large\" class=\"label-large ${className}\"></slot>`\n : html `<div ${ref(this.labelLargeRef)} part=\"label-large\" class=\"label-large ${className}\"></div>`}`;\n }\n /**\n * default slot 变化时,同步到 label-large 中\n * @param hasLabelLargeSlot\n * @private\n */\n onSlotChange(hasLabelLargeSlot) {\n if (!hasLabelLargeSlot) {\n this.labelLargeRef.value.innerHTML = getInnerHtmlFromSlot(this.defaultSlotRef.value);\n }\n }\n};\nTopAppBarTitle.styles = [\n componentStyle,\n topAppBarTitleStyle,\n];\n__decorate([\n state()\n], TopAppBarTitle.prototype, \"variant\", void 0);\n__decorate([\n state()\n], TopAppBarTitle.prototype, \"shrink\", void 0);\nTopAppBarTitle = __decorate([\n customElement('mdui-top-app-bar-title')\n], TopAppBarTitle);\nexport { TopAppBarTitle };\n","/**\n * 获取一个 slot 中的所有内容\n * @param slot\n */\nexport const getInnerHtmlFromSlot = (slot) => {\n const nodes = slot.assignedNodes({ flatten: true });\n let html = '';\n [...nodes].forEach((node) => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n html += node.outerHTML;\n }\n if (node.nodeType === Node.TEXT_NODE) {\n html += node.textContent;\n }\n });\n return html;\n};\n/**\n * 获取一个 slot 中的所有文本内容\n * @param slot\n */\nexport const getTextContentFromSlot = (slot) => {\n const nodes = slot.assignedNodes({ flatten: true });\n let text = '';\n [...nodes].forEach((node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n return text;\n};\n","import { css } from 'lit';\nexport const topAppBarTitleStyle = css `:host{display:block;width:100%;flex-shrink:initial!important;overflow:hidden;color:rgb(var(--mdui-color-on-surface));font-size:var(--mdui-typescale-title-large-size);font-weight:var(--mdui-typescale-title-large-weight);letter-spacing:var(--mdui-typescale-title-large-tracking);line-height:var(--mdui-typescale-title-large-line-height);line-height:2.5rem}.label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:1;transition:opacity var(--mdui-motion-duration-short2) var(--mdui-motion-easing-linear)}.label.variant-center-aligned{text-align:center}.label.variant-large:not(.shrink),.label.variant-medium:not(.shrink){opacity:0}.label.variant-large.shrink,.label.variant-medium.shrink{transition-delay:var(--mdui-motion-duration-short2)}.label-large{display:none;position:absolute;width:100%;left:0;margin-right:0;padding:0 1rem;transition:opacity var(--mdui-motion-duration-short2) var(--mdui-motion-easing-linear)}.label-large.variant-large,.label-large.variant-medium{display:block}.label-large.variant-medium{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;bottom:.75rem;font-size:var(--mdui-typescale-headline-small-size);font-weight:var(--mdui-typescale-headline-small-weight);letter-spacing:var(--mdui-typescale-headline-small-tracking);line-height:var(--mdui-typescale-headline-small-line-height)}.label-large.variant-large{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;bottom:1.25rem;font-size:var(--mdui-typescale-headline-medium-size);font-weight:var(--mdui-typescale-headline-medium-weight);letter-spacing:var(--mdui-typescale-headline-medium-tracking);line-height:var(--mdui-typescale-headline-medium-line-height)}.label-large.variant-large:not(.shrink),.label-large.variant-medium:not(.shrink){opacity:1;transition-delay:var(--mdui-motion-duration-short2)}.label-large.variant-large.shrink,.label-large.variant-medium.shrink{opacity:0;z-index:-1}`;\n","import \"urlpattern-polyfill\";\nimport {buildURLData as $dvphU$buildURLData, formToJSON as $dvphU$formToJSON, delegate as $dvphU$delegate, parseURLData as $dvphU$parseURLData, getVisibleText as $dvphU$getVisibleText, isXDomain as $dvphU$isXDomain, scrollTo as $dvphU$scrollTo} from \"web-utility\";\nimport {observable as $dvphU$observable, action as $dvphU$action, computed as $dvphU$computed} from \"mobx\";\nimport {jsx as $dvphU$jsx, Fragment as $dvphU$Fragment} from \"dom-renderer/jsx-runtime\";\nimport {component as $dvphU$component, observer as $dvphU$observer, attribute as $dvphU$attribute} from \"web-cell\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $3a2ee75a1759d0d8$exports = {};\n\n$parcel$export($3a2ee75a1759d0d8$exports, \"RouterMode\", () => $3a2ee75a1759d0d8$export$fc55ead6785c2297);\n$parcel$export($3a2ee75a1759d0d8$exports, \"History\", () => $3a2ee75a1759d0d8$export$84202caead5689ba);\n\n\n\nvar $3a2ee75a1759d0d8$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $3a2ee75a1759d0d8$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $3a2ee75a1759d0d8$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $3a2ee75a1759d0d8$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $3a2ee75a1759d0d8$var$_a, $3a2ee75a1759d0d8$var$_b;\nconst { location: $3a2ee75a1759d0d8$var$location, history: $3a2ee75a1759d0d8$var$history } = window;\nconst $3a2ee75a1759d0d8$var$basePath = ($3a2ee75a1759d0d8$var$_a = document.querySelector('base')) === null || $3a2ee75a1759d0d8$var$_a === void 0 ? void 0 : $3a2ee75a1759d0d8$var$_a.getAttribute('href');\nconst $3a2ee75a1759d0d8$var$defaultBaseURL = ($3a2ee75a1759d0d8$var$basePath ? new URL($3a2ee75a1759d0d8$var$basePath, $3a2ee75a1759d0d8$var$location.origin) + '' : $3a2ee75a1759d0d8$var$location.href.split(/\\?|#/)[0]).replace(/\\/$/, '');\nconst $3a2ee75a1759d0d8$var$originalTitle = ($3a2ee75a1759d0d8$var$_b = document.querySelector('title')) === null || $3a2ee75a1759d0d8$var$_b === void 0 ? void 0 : $3a2ee75a1759d0d8$var$_b.textContent.trim();\nvar $3a2ee75a1759d0d8$export$fc55ead6785c2297;\n(function(RouterMode) {\n RouterMode[\"hash\"] = \"#\";\n RouterMode[\"history\"] = \"/\";\n})($3a2ee75a1759d0d8$export$fc55ead6785c2297 || ($3a2ee75a1759d0d8$export$fc55ead6785c2297 = {}));\nlet $3a2ee75a1759d0d8$export$84202caead5689ba = (()=>{\n var _a, _History_path_accessor_storage, _History_oldPath_accessor_storage;\n let _instanceExtraInitializers = [];\n let _path_decorators;\n let _path_initializers = [];\n let _path_extraInitializers = [];\n let _oldPath_decorators;\n let _oldPath_initializers = [];\n let _oldPath_extraInitializers = [];\n let _push_decorators;\n return _a = class History {\n get path() {\n return $3a2ee75a1759d0d8$var$__classPrivateFieldGet(this, _History_path_accessor_storage, \"f\");\n }\n set path(value) {\n $3a2ee75a1759d0d8$var$__classPrivateFieldSet(this, _History_path_accessor_storage, value, \"f\");\n }\n get oldPath() {\n return $3a2ee75a1759d0d8$var$__classPrivateFieldGet(this, _History_oldPath_accessor_storage, \"f\");\n }\n set oldPath(value) {\n $3a2ee75a1759d0d8$var$__classPrivateFieldSet(this, _History_oldPath_accessor_storage, value, \"f\");\n }\n constructor(baseURL = $3a2ee75a1759d0d8$var$defaultBaseURL, delimiter = $3a2ee75a1759d0d8$export$fc55ead6785c2297.hash){\n Object.defineProperty(this, \"baseURL\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ($3a2ee75a1759d0d8$var$__runInitializers(this, _instanceExtraInitializers), baseURL)\n });\n Object.defineProperty(this, \"delimiter\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: delimiter\n });\n _History_path_accessor_storage.set(this, $3a2ee75a1759d0d8$var$__runInitializers(this, _path_initializers, void 0));\n _History_oldPath_accessor_storage.set(this, ($3a2ee75a1759d0d8$var$__runInitializers(this, _path_extraInitializers), $3a2ee75a1759d0d8$var$__runInitializers(this, _oldPath_initializers, void 0)));\n Object.defineProperty(this, \"restore\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ($3a2ee75a1759d0d8$var$__runInitializers(this, _oldPath_extraInitializers), ()=>{\n const { state: state } = $3a2ee75a1759d0d8$var$history;\n this.push();\n document.title = (state === null || state === void 0 ? void 0 : state.title) || this.titleOf() || $3a2ee75a1759d0d8$var$originalTitle || $3a2ee75a1759d0d8$var$location.href;\n })\n });\n Object.defineProperty(this, \"handleForm\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (event, form)=>{\n const { method: method, target: target } = form;\n if (method !== 'get' || (target || '_self') !== '_self') return;\n event.preventDefault();\n const path = form.getAttribute('action'), data = (0, $dvphU$buildURLData)((0, $dvphU$formToJSON)(form));\n this.push(`${path}?${data}`);\n }\n });\n this.restore();\n window.addEventListener('hashchange', this.restore);\n window.addEventListener('popstate', this.restore);\n document.addEventListener('click', (0, $dvphU$delegate)('a[href], area[href]', this.handleLink.bind(this)));\n document.addEventListener('submit', (0, $dvphU$delegate)('form[action]', this.handleForm));\n }\n push(path = $3a2ee75a1759d0d8$var$location.href) {\n var _b;\n path = path.replace(this.baseURL, '');\n if (this.delimiter === $3a2ee75a1759d0d8$export$fc55ead6785c2297.hash) path = ((_b = path.match(/#.*/)) === null || _b === void 0 ? void 0 : _b[0]) || $3a2ee75a1759d0d8$export$fc55ead6785c2297.hash;\n if (path === this.path) return path;\n this.oldPath = this.path;\n return this.path = path;\n }\n static dataOf(path) {\n const [before, after] = path.split('#');\n return (0, $dvphU$parseURLData)(after || before);\n }\n match(pattern, path = this.path) {\n var _b;\n if (!path) return;\n const { pathname: pathname, hash: hash } = new URLPattern(pattern, this.baseURL).exec(new URL(path.split('?')[0], this.baseURL)) || {};\n return (_b = hash || pathname) === null || _b === void 0 ? void 0 : _b.groups;\n }\n static getTitle(root) {\n return root.title || (0, $dvphU$getVisibleText)(root);\n }\n titleOf(path = this.path) {\n path = path.replace(/^\\//, '');\n if (path) for (const node of document.querySelectorAll(`a[href=\"${path}\"], area[href=\"${path}\"]`)){\n const title = _a.getTitle(node);\n if (title) return title;\n }\n }\n handleLink(event, link) {\n const path = link.getAttribute('href');\n if ((link.target || '_self') !== '_self' || (0, $dvphU$isXDomain)(path) || link.download) return;\n event.preventDefault();\n if (path.startsWith('#')) try {\n if (document.querySelector(path) || path === '#top') return (0, $dvphU$scrollTo)(path, event.currentTarget);\n } catch (_b) {}\n const title = _a.getTitle(link);\n $3a2ee75a1759d0d8$var$history.pushState({\n title: title\n }, document.title = title, path);\n this.push(path);\n }\n }, _History_path_accessor_storage = new WeakMap(), _History_oldPath_accessor_storage = new WeakMap(), (()=>{\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(null) : void 0;\n _path_decorators = [\n (0, $dvphU$observable)\n ];\n _oldPath_decorators = [\n (0, $dvphU$observable)\n ];\n _push_decorators = [\n (0, $dvphU$action)\n ];\n $3a2ee75a1759d0d8$var$__esDecorate(_a, null, _path_decorators, {\n kind: \"accessor\",\n name: \"path\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"path\" in obj,\n get: (obj)=>obj.path,\n set: (obj, value)=>{\n obj.path = value;\n }\n },\n metadata: _metadata\n }, _path_initializers, _path_extraInitializers);\n $3a2ee75a1759d0d8$var$__esDecorate(_a, null, _oldPath_decorators, {\n kind: \"accessor\",\n name: \"oldPath\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"oldPath\" in obj,\n get: (obj)=>obj.oldPath,\n set: (obj, value)=>{\n obj.oldPath = value;\n }\n },\n metadata: _metadata\n }, _oldPath_initializers, _oldPath_extraInitializers);\n $3a2ee75a1759d0d8$var$__esDecorate(_a, null, _push_decorators, {\n kind: \"method\",\n name: \"push\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"push\" in obj,\n get: (obj)=>obj.push\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n if (_metadata) Object.defineProperty(_a, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n })(), _a;\n})();\n\n\nvar $0e8e8fd52ec9970a$exports = {};\n\n$parcel$export($0e8e8fd52ec9970a$exports, \"CellRoute\", () => $0e8e8fd52ec9970a$export$d6c529ca17cdd16f);\n\n\n\n\nvar $0e8e8fd52ec9970a$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $0e8e8fd52ec9970a$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $0e8e8fd52ec9970a$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $0e8e8fd52ec9970a$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $0e8e8fd52ec9970a$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $0e8e8fd52ec9970a$export$d6c529ca17cdd16f = (()=>{\n var _CellRoute_history_accessor_storage, _CellRoute_path_accessor_storage;\n let _classDecorators = [\n (0, $dvphU$component)({\n tagName: 'cell-route',\n transitible: true\n }),\n (0, $dvphU$observer)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _history_decorators;\n let _history_initializers = [];\n let _history_extraInitializers = [];\n let _path_decorators;\n let _path_initializers = [];\n let _path_extraInitializers = [];\n let _get_matched_decorators;\n var CellRoute = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _CellRoute_history_accessor_storage.set(this, ($0e8e8fd52ec9970a$var$__runInitializers(this, _instanceExtraInitializers), $0e8e8fd52ec9970a$var$__runInitializers(this, _history_initializers, void 0)));\n _CellRoute_path_accessor_storage.set(this, ($0e8e8fd52ec9970a$var$__runInitializers(this, _history_extraInitializers), $0e8e8fd52ec9970a$var$__runInitializers(this, _path_initializers, void 0)));\n Object.defineProperty(this, \"component\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: $0e8e8fd52ec9970a$var$__runInitializers(this, _path_extraInitializers)\n });\n }\n get history() {\n return $0e8e8fd52ec9970a$var$__classPrivateFieldGet(this, _CellRoute_history_accessor_storage, \"f\");\n }\n set history(value) {\n $0e8e8fd52ec9970a$var$__classPrivateFieldSet(this, _CellRoute_history_accessor_storage, value, \"f\");\n }\n get path() {\n return $0e8e8fd52ec9970a$var$__classPrivateFieldGet(this, _CellRoute_path_accessor_storage, \"f\");\n }\n set path(value) {\n $0e8e8fd52ec9970a$var$__classPrivateFieldSet(this, _CellRoute_path_accessor_storage, value, \"f\");\n }\n get matched() {\n var _a;\n return (_a = this.history) === null || _a === void 0 ? void 0 : _a.match(this.path);\n }\n connectedCallback() {\n this.history || (this.history = new (0, $3a2ee75a1759d0d8$export$84202caead5689ba)());\n }\n render() {\n const { history: history, component: Tag, matched: matched } = this;\n const { path: path } = history || {};\n return matched ? (0, $dvphU$jsx)(Tag, Object.assign({}, matched, (0, $3a2ee75a1759d0d8$export$84202caead5689ba).dataOf(path), {\n path: path,\n history: history\n })) : (0, $dvphU$jsx)((0, $dvphU$Fragment), {});\n }\n };\n _CellRoute_history_accessor_storage = new WeakMap();\n _CellRoute_path_accessor_storage = new WeakMap();\n $0e8e8fd52ec9970a$var$__setFunctionName(_classThis, \"CellRoute\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _history_decorators = [\n (0, $dvphU$observable)\n ];\n _path_decorators = [\n (0, $dvphU$attribute),\n (0, $dvphU$observable)\n ];\n _get_matched_decorators = [\n (0, $dvphU$computed)\n ];\n $0e8e8fd52ec9970a$var$__esDecorate(_classThis, null, _history_decorators, {\n kind: \"accessor\",\n name: \"history\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"history\" in obj,\n get: (obj)=>obj.history,\n set: (obj, value)=>{\n obj.history = value;\n }\n },\n metadata: _metadata\n }, _history_initializers, _history_extraInitializers);\n $0e8e8fd52ec9970a$var$__esDecorate(_classThis, null, _path_decorators, {\n kind: \"accessor\",\n name: \"path\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"path\" in obj,\n get: (obj)=>obj.path,\n set: (obj, value)=>{\n obj.path = value;\n }\n },\n metadata: _metadata\n }, _path_initializers, _path_extraInitializers);\n $0e8e8fd52ec9970a$var$__esDecorate(_classThis, null, _get_matched_decorators, {\n kind: \"getter\",\n name: \"matched\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"matched\" in obj,\n get: (obj)=>obj.matched\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $0e8e8fd52ec9970a$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n CellRoute = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $0e8e8fd52ec9970a$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return CellRoute = _classThis;\n})();\n\n\nvar $3d03e8579c0b9ff1$exports = {};\n\n\nvar $7b488c9460f448a0$exports = {};\n\n$parcel$export($7b488c9460f448a0$exports, \"createRouter\", () => $7b488c9460f448a0$export$baddd0131ee8c05b);\n\n\n\nvar $7b488c9460f448a0$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nfunction $7b488c9460f448a0$export$baddd0131ee8c05b(_a = {}) {\n var { mode: mode = 'hash', basePath: basePath = '' } = _a, scopeProps = $7b488c9460f448a0$var$__rest(_a, [\n \"mode\",\n \"basePath\"\n ]);\n const prefix = (0, $3a2ee75a1759d0d8$export$fc55ead6785c2297)[mode], history = new (0, $3a2ee75a1759d0d8$export$84202caead5689ba)((new URL(basePath, location.origin) + '').replace(/\\/$/, ''), (0, $3a2ee75a1759d0d8$export$fc55ead6785c2297)[mode]);\n return {\n Route: (_a)=>{\n var { path: path } = _a, props = $7b488c9460f448a0$var$__rest(_a, [\n \"path\"\n ]);\n return (0, $dvphU$jsx)((0, $0e8e8fd52ec9970a$export$d6c529ca17cdd16f), Object.assign({}, props, scopeProps, {\n history: history,\n path: prefix + path\n }));\n },\n Link: (_a)=>{\n var { to: to, children: children } = _a, props = $7b488c9460f448a0$var$__rest(_a, [\n \"to\",\n \"children\"\n ]);\n return (0, $dvphU$jsx)(\"a\", Object.assign({}, props, {\n href: prefix + to,\n children: children\n }));\n },\n // @ts-ignore\n Form: (_a)=>{\n var { action: action, children: children } = _a, props = $7b488c9460f448a0$var$__rest(_a, [\n \"action\",\n \"children\"\n ]);\n return(// @ts-ignore\n (0, $dvphU$jsx)(\"form\", Object.assign({}, props, {\n action: prefix + action,\n children: children\n })));\n }\n };\n}\n\n\n\n\nexport {$3a2ee75a1759d0d8$export$fc55ead6785c2297 as RouterMode, $3a2ee75a1759d0d8$export$84202caead5689ba as History, $0e8e8fd52ec9970a$export$d6c529ca17cdd16f as CellRoute, $7b488c9460f448a0$export$baddd0131ee8c05b as createRouter};\n//# sourceMappingURL=index.esm.js.map\n","export * from './History';\nexport * from './Router';\nexport * from './utility';\nexport * from './scope';\n","import 'urlpattern-polyfill';\nimport {\n getVisibleText,\n scrollTo,\n formToJSON,\n buildURLData,\n parseURLData,\n delegate,\n isXDomain\n} from 'web-utility';\nimport { observable, action } from 'mobx';\n\nconst { location, history } = window;\n\nconst basePath = document.querySelector('base')?.getAttribute('href');\n\nconst defaultBaseURL = (\n basePath\n ? new URL(basePath, location.origin) + ''\n : location.href.split(/\\?|#/)[0]\n).replace(/\\/$/, '');\n\nconst originalTitle = document.querySelector('title')?.textContent.trim();\n\nexport enum RouterMode {\n hash = '#',\n history = '/'\n}\n\nexport class History {\n @observable\n accessor path: string;\n\n @observable\n accessor oldPath: string;\n\n constructor(\n public baseURL = defaultBaseURL,\n public delimiter: RouterMode = RouterMode.hash\n ) {\n this.restore();\n\n window.addEventListener('hashchange', this.restore);\n window.addEventListener('popstate', this.restore);\n\n document.addEventListener(\n 'click',\n delegate('a[href], area[href]', this.handleLink.bind(this))\n );\n document.addEventListener(\n 'submit',\n delegate('form[action]', this.handleForm)\n );\n }\n\n protected restore = () => {\n const { state } = history;\n\n this.push();\n\n document.title =\n state?.title || this.titleOf() || originalTitle || location.href;\n };\n\n @action\n push(path = location.href) {\n path = path.replace(this.baseURL, '');\n\n if (this.delimiter === RouterMode.hash)\n path = path.match(/#.*/)?.[0] || RouterMode.hash;\n\n if (path === this.path) return path;\n\n this.oldPath = this.path;\n\n return (this.path = path);\n }\n\n static dataOf(path: string) {\n const [before, after] = path.split('#');\n\n return parseURLData(after || before);\n }\n\n match(pattern: string, path = this.path) {\n if (!path) return;\n\n const { pathname, hash } =\n new URLPattern(pattern, this.baseURL).exec(\n new URL(path.split('?')[0], this.baseURL)\n ) || {};\n\n return (hash || pathname)?.groups;\n }\n\n static getTitle(root: HTMLElement) {\n return root.title || getVisibleText(root);\n }\n\n titleOf(path = this.path) {\n path = path.replace(/^\\//, '');\n\n if (path)\n for (const node of document.querySelectorAll<HTMLAnchorElement>(\n `a[href=\"${path}\"], area[href=\"${path}\"]`\n )) {\n const title = History.getTitle(node);\n\n if (title) return title;\n }\n }\n\n handleLink(event: Event, link: HTMLAnchorElement) {\n const path = link.getAttribute('href');\n\n if (\n (link.target || '_self') !== '_self' ||\n isXDomain(path) ||\n link.download\n )\n return;\n\n event.preventDefault();\n\n if (path.startsWith('#'))\n try {\n if (document.querySelector(path) || path === '#top')\n return scrollTo(path, event.currentTarget as Element);\n } catch {}\n\n const title = History.getTitle(link);\n\n history.pushState({ title }, (document.title = title), path);\n\n this.push(path);\n }\n\n handleForm = (event: Event, form: HTMLFormElement) => {\n const { method, target } = form;\n\n if (method !== 'get' || (target || '_self') !== '_self') return;\n\n event.preventDefault();\n\n const path = form.getAttribute('action'),\n data = buildURLData(formToJSON(form));\n\n this.push(`${path}?${data}`);\n };\n}\n","import { computed, observable } from 'mobx';\nimport {\n ClassComponent,\n FC,\n WebCell,\n WebCellProps,\n attribute,\n component,\n observer\n} from 'web-cell';\n\nimport { History } from './History';\nimport { PageProps } from './utility';\n\nexport interface CellRouteProps extends WebCellProps {\n history?: History;\n path: string;\n component: FC<PageProps> | ClassComponent;\n}\n\nexport interface CellRoute extends WebCell {}\n\n@component({\n tagName: 'cell-route',\n transitible: true\n})\n@observer\nexport class CellRoute extends HTMLElement implements WebCell {\n declare props: CellRouteProps;\n\n @observable\n accessor history: History | undefined;\n\n @attribute\n @observable\n accessor path: string;\n\n component: CellRouteProps['component'];\n\n @computed\n get matched() {\n return this.history?.match(this.path);\n }\n\n connectedCallback() {\n this.history ||= new History();\n }\n\n render() {\n const { history, component: Tag, matched } = this;\n const { path } = history || {};\n\n return matched ? (\n <Tag\n {...matched}\n {...History.dataOf(path)}\n {...{ path, history }}\n />\n ) : (\n <></>\n );\n }\n}\n","import { JsxProps } from 'dom-renderer';\n\nimport { History } from './History';\n\nexport type IncludeText<Raw extends string, Sub extends string> = {\n [K in Raw]: K extends `${string}${Sub}${string}` ? K : never;\n}[Raw];\n\nexport interface PageProps extends JsxProps<HTMLElement> {\n path: string;\n history: History;\n [key: string]: any;\n}\n","import { JsxProps } from 'dom-renderer';\nimport { WebCellProps } from 'web-cell';\n\nimport { History, RouterMode } from './History';\nimport { CellRoute, CellRouteProps } from './Router';\n\nexport interface RouterOptions {\n mode?: keyof typeof RouterMode;\n basePath?: string;\n}\n\nexport interface LinkProps extends WebCellProps<HTMLAnchorElement> {\n to: string;\n}\n\nexport type FormProps = JsxProps<HTMLFormElement>;\n\nexport function createRouter({\n mode = 'hash',\n basePath = '',\n ...scopeProps\n}: RouterOptions = {}) {\n const prefix = RouterMode[mode],\n history = new History(\n (new URL(basePath, location.origin) + '').replace(/\\/$/, ''),\n RouterMode[mode]\n );\n return {\n Route: ({ path, ...props }: CellRouteProps) => (\n <CellRoute\n {...props}\n {...scopeProps}\n history={history}\n path={prefix + path}\n />\n ),\n Link: ({ to, children, ...props }: LinkProps) => (\n <a {...props} href={prefix + to}>\n {children}\n </a>\n ),\n // @ts-ignore\n Form: ({ action, children, ...props }: FormProps) => (\n // @ts-ignore\n <form {...props} action={prefix + action}>\n {children}\n </form>\n )\n };\n}\n","import { URLPattern } from \"./dist/urlpattern.js\";\n\nexport { URLPattern };\n\nif (!globalThis.URLPattern) {\n globalThis.URLPattern = URLPattern;\n}\n","var R=class{type=3;name=\"\";prefix=\"\";value=\"\";suffix=\"\";modifier=3;constructor(t,r,n,o,c,l){this.type=t,this.name=r,this.prefix=n,this.value=o,this.suffix=c,this.modifier=l}hasCustomName(){return this.name!==\"\"&&typeof this.name!=\"number\"}},be=/[$_\\p{ID_Start}]/u,Pe=/[$_\\u200C\\u200D\\p{ID_Continue}]/u,M=\".*\";function Re(e,t){return(t?/^[\\x00-\\xFF]*$/:/^[\\x00-\\x7F]*$/).test(e)}function v(e,t=!1){let r=[],n=0;for(;n<e.length;){let o=e[n],c=function(l){if(!t)throw new TypeError(l);r.push({type:\"INVALID_CHAR\",index:n,value:e[n++]})};if(o===\"*\"){r.push({type:\"ASTERISK\",index:n,value:e[n++]});continue}if(o===\"+\"||o===\"?\"){r.push({type:\"OTHER_MODIFIER\",index:n,value:e[n++]});continue}if(o===\"\\\\\"){r.push({type:\"ESCAPED_CHAR\",index:n++,value:e[n++]});continue}if(o===\"{\"){r.push({type:\"OPEN\",index:n,value:e[n++]});continue}if(o===\"}\"){r.push({type:\"CLOSE\",index:n,value:e[n++]});continue}if(o===\":\"){let l=\"\",s=n+1;for(;s<e.length;){let i=e.substr(s,1);if(s===n+1&&be.test(i)||s!==n+1&&Pe.test(i)){l+=e[s++];continue}break}if(!l){c(`Missing parameter name at ${n}`);continue}r.push({type:\"NAME\",index:n,value:l}),n=s;continue}if(o===\"(\"){let l=1,s=\"\",i=n+1,a=!1;if(e[i]===\"?\"){c(`Pattern cannot start with \"?\" at ${i}`);continue}for(;i<e.length;){if(!Re(e[i],!1)){c(`Invalid character '${e[i]}' at ${i}.`),a=!0;break}if(e[i]===\"\\\\\"){s+=e[i++]+e[i++];continue}if(e[i]===\")\"){if(l--,l===0){i++;break}}else if(e[i]===\"(\"&&(l++,e[i+1]!==\"?\")){c(`Capturing groups are not allowed at ${i}`),a=!0;break}s+=e[i++]}if(a)continue;if(l){c(`Unbalanced pattern at ${n}`);continue}if(!s){c(`Missing pattern at ${n}`);continue}r.push({type:\"REGEX\",index:n,value:s}),n=i;continue}r.push({type:\"CHAR\",index:n,value:e[n++]})}return r.push({type:\"END\",index:n,value:\"\"}),r}function D(e,t={}){let r=v(e);t.delimiter??=\"/#?\",t.prefixes??=\"./\";let n=`[^${S(t.delimiter)}]+?`,o=[],c=0,l=0,s=\"\",i=new Set,a=h=>{if(l<r.length&&r[l].type===h)return r[l++].value},f=()=>a(\"OTHER_MODIFIER\")??a(\"ASTERISK\"),d=h=>{let u=a(h);if(u!==void 0)return u;let{type:p,index:A}=r[l];throw new TypeError(`Unexpected ${p} at ${A}, expected ${h}`)},T=()=>{let h=\"\",u;for(;u=a(\"CHAR\")??a(\"ESCAPED_CHAR\");)h+=u;return h},Se=h=>h,L=t.encodePart||Se,I=\"\",U=h=>{I+=h},$=()=>{I.length&&(o.push(new R(3,\"\",\"\",L(I),\"\",3)),I=\"\")},V=(h,u,p,A,Y)=>{let g=3;switch(Y){case\"?\":g=1;break;case\"*\":g=0;break;case\"+\":g=2;break}if(!u&&!p&&g===3){U(h);return}if($(),!u&&!p){if(!h)return;o.push(new R(3,\"\",\"\",L(h),\"\",g));return}let m;p?p===\"*\"?m=M:m=p:m=n;let O=2;m===n?(O=1,m=\"\"):m===M&&(O=0,m=\"\");let P;if(u?P=u:p&&(P=c++),i.has(P))throw new TypeError(`Duplicate name '${P}'.`);i.add(P),o.push(new R(O,P,L(h),m,L(A),g))};for(;l<r.length;){let h=a(\"CHAR\"),u=a(\"NAME\"),p=a(\"REGEX\");if(!u&&!p&&(p=a(\"ASTERISK\")),u||p){let g=h??\"\";t.prefixes.indexOf(g)===-1&&(U(g),g=\"\"),$();let m=f();V(g,u,p,\"\",m);continue}let A=h??a(\"ESCAPED_CHAR\");if(A){U(A);continue}if(a(\"OPEN\")){let g=T(),m=a(\"NAME\"),O=a(\"REGEX\");!m&&!O&&(O=a(\"ASTERISK\"));let P=T();d(\"CLOSE\");let xe=f();V(g,m,O,P,xe);continue}$(),d(\"END\")}return o}function S(e){return e.replace(/([.+*?^${}()[\\]|/\\\\])/g,\"\\\\$1\")}function X(e){return e&&e.ignoreCase?\"ui\":\"u\"}function Z(e,t,r){return F(D(e,r),t,r)}function k(e){switch(e){case 0:return\"*\";case 1:return\"?\";case 2:return\"+\";case 3:return\"\"}}function F(e,t,r={}){r.delimiter??=\"/#?\",r.prefixes??=\"./\",r.sensitive??=!1,r.strict??=!1,r.end??=!0,r.start??=!0,r.endsWith=\"\";let n=r.start?\"^\":\"\";for(let s of e){if(s.type===3){s.modifier===3?n+=S(s.value):n+=`(?:${S(s.value)})${k(s.modifier)}`;continue}t&&t.push(s.name);let i=`[^${S(r.delimiter)}]+?`,a=s.value;if(s.type===1?a=i:s.type===0&&(a=M),!s.prefix.length&&!s.suffix.length){s.modifier===3||s.modifier===1?n+=`(${a})${k(s.modifier)}`:n+=`((?:${a})${k(s.modifier)})`;continue}if(s.modifier===3||s.modifier===1){n+=`(?:${S(s.prefix)}(${a})${S(s.suffix)})`,n+=k(s.modifier);continue}n+=`(?:${S(s.prefix)}`,n+=`((?:${a})(?:`,n+=S(s.suffix),n+=S(s.prefix),n+=`(?:${a}))*)${S(s.suffix)})`,s.modifier===0&&(n+=\"?\")}let o=`[${S(r.endsWith)}]|$`,c=`[${S(r.delimiter)}]`;if(r.end)return r.strict||(n+=`${c}?`),r.endsWith.length?n+=`(?=${o})`:n+=\"$\",new RegExp(n,X(r));r.strict||(n+=`(?:${c}(?=${o}))?`);let l=!1;if(e.length){let s=e[e.length-1];s.type===3&&s.modifier===3&&(l=r.delimiter.indexOf(s)>-1)}return l||(n+=`(?=${c}|${o})`),new RegExp(n,X(r))}var x={delimiter:\"\",prefixes:\"\",sensitive:!0,strict:!0},B={delimiter:\".\",prefixes:\"\",sensitive:!0,strict:!0},q={delimiter:\"/\",prefixes:\"/\",sensitive:!0,strict:!0};function J(e,t){return e.length?e[0]===\"/\"?!0:!t||e.length<2?!1:(e[0]==\"\\\\\"||e[0]==\"{\")&&e[1]==\"/\":!1}function Q(e,t){return e.startsWith(t)?e.substring(t.length,e.length):e}function Ee(e,t){return e.endsWith(t)?e.substr(0,e.length-t.length):e}function W(e){return!e||e.length<2?!1:e[0]===\"[\"||(e[0]===\"\\\\\"||e[0]===\"{\")&&e[1]===\"[\"}var ee=[\"ftp\",\"file\",\"http\",\"https\",\"ws\",\"wss\"];function N(e){if(!e)return!0;for(let t of ee)if(e.test(t))return!0;return!1}function te(e,t){if(e=Q(e,\"#\"),t||e===\"\")return e;let r=new URL(\"https://example.com/");return r.hash=e,r.hash?r.hash.substring(1,r.hash.length):\"\"}function re(e,t){if(e=Q(e,\"?\"),t||e===\"\")return e;let r=new URL(\"https://example.com/");return r.search=e,r.search?r.search.substring(1,r.search.length):\"\"}function ne(e,t){return t||e===\"\"?e:W(e)?j(e):z(e)}function se(e,t){if(t||e===\"\")return e;let r=new URL(\"https://example.com/");return r.password=e,r.password}function ie(e,t){if(t||e===\"\")return e;let r=new URL(\"https://example.com/");return r.username=e,r.username}function ae(e,t,r){if(r||e===\"\")return e;if(t&&!ee.includes(t))return new URL(`${t}:${e}`).pathname;let n=e[0]==\"/\";return e=new URL(n?e:\"/-\"+e,\"https://example.com/").pathname,n||(e=e.substring(2,e.length)),e}function oe(e,t,r){return _(t)===e&&(e=\"\"),r||e===\"\"?e:K(e)}function ce(e,t){return e=Ee(e,\":\"),t||e===\"\"?e:y(e)}function _(e){switch(e){case\"ws\":case\"http\":return\"80\";case\"wws\":case\"https\":return\"443\";case\"ftp\":return\"21\";default:return\"\"}}function y(e){if(e===\"\")return e;if(/^[-+.A-Za-z0-9]*$/.test(e))return e.toLowerCase();throw new TypeError(`Invalid protocol '${e}'.`)}function le(e){if(e===\"\")return e;let t=new URL(\"https://example.com/");return t.username=e,t.username}function fe(e){if(e===\"\")return e;let t=new URL(\"https://example.com/");return t.password=e,t.password}function z(e){if(e===\"\")return e;if(/[\\t\\n\\r #%/:<>?@[\\]^\\\\|]/g.test(e))throw new TypeError(`Invalid hostname '${e}'`);let t=new URL(\"https://example.com/");return t.hostname=e,t.hostname}function j(e){if(e===\"\")return e;if(/[^0-9a-fA-F[\\]:]/g.test(e))throw new TypeError(`Invalid IPv6 hostname '${e}'`);return e.toLowerCase()}function K(e){if(e===\"\"||/^[0-9]*$/.test(e)&&parseInt(e)<=65535)return e;throw new TypeError(`Invalid port '${e}'.`)}function he(e){if(e===\"\")return e;let t=new URL(\"https://example.com/");return t.pathname=e[0]!==\"/\"?\"/-\"+e:e,e[0]!==\"/\"?t.pathname.substring(2,t.pathname.length):t.pathname}function ue(e){return e===\"\"?e:new URL(`data:${e}`).pathname}function de(e){if(e===\"\")return e;let t=new URL(\"https://example.com/");return t.search=e,t.search.substring(1,t.search.length)}function pe(e){if(e===\"\")return e;let t=new URL(\"https://example.com/");return t.hash=e,t.hash.substring(1,t.hash.length)}var H=class{#i;#n=[];#t={};#e=0;#s=1;#l=0;#o=0;#d=0;#p=0;#g=!1;constructor(t){this.#i=t}get result(){return this.#t}parse(){for(this.#n=v(this.#i,!0);this.#e<this.#n.length;this.#e+=this.#s){if(this.#s=1,this.#n[this.#e].type===\"END\"){if(this.#o===0){this.#b(),this.#f()?this.#r(9,1):this.#h()?this.#r(8,1):this.#r(7,0);continue}else if(this.#o===2){this.#u(5);continue}this.#r(10,0);break}if(this.#d>0)if(this.#A())this.#d-=1;else continue;if(this.#T()){this.#d+=1;continue}switch(this.#o){case 0:this.#P()&&this.#u(1);break;case 1:if(this.#P()){this.#C();let t=7,r=1;this.#E()?(t=2,r=3):this.#g&&(t=2),this.#r(t,r)}break;case 2:this.#S()?this.#u(3):(this.#x()||this.#h()||this.#f())&&this.#u(5);break;case 3:this.#O()?this.#r(4,1):this.#S()&&this.#r(5,1);break;case 4:this.#S()&&this.#r(5,1);break;case 5:this.#y()?this.#p+=1:this.#w()&&(this.#p-=1),this.#k()&&!this.#p?this.#r(6,1):this.#x()?this.#r(7,0):this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 6:this.#x()?this.#r(7,0):this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 7:this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 8:this.#f()&&this.#r(9,1);break;case 9:break;case 10:break}}this.#t.hostname!==void 0&&this.#t.port===void 0&&(this.#t.port=\"\")}#r(t,r){switch(this.#o){case 0:break;case 1:this.#t.protocol=this.#c();break;case 2:break;case 3:this.#t.username=this.#c();break;case 4:this.#t.password=this.#c();break;case 5:this.#t.hostname=this.#c();break;case 6:this.#t.port=this.#c();break;case 7:this.#t.pathname=this.#c();break;case 8:this.#t.search=this.#c();break;case 9:this.#t.hash=this.#c();break;case 10:break}this.#o!==0&&t!==10&&([1,2,3,4].includes(this.#o)&&[6,7,8,9].includes(t)&&(this.#t.hostname??=\"\"),[1,2,3,4,5,6].includes(this.#o)&&[8,9].includes(t)&&(this.#t.pathname??=this.#g?\"/\":\"\"),[1,2,3,4,5,6,7].includes(this.#o)&&t===9&&(this.#t.search??=\"\")),this.#R(t,r)}#R(t,r){this.#o=t,this.#l=this.#e+r,this.#e+=r,this.#s=0}#b(){this.#e=this.#l,this.#s=0}#u(t){this.#b(),this.#o=t}#m(t){return t<0&&(t=this.#n.length-t),t<this.#n.length?this.#n[t]:this.#n[this.#n.length-1]}#a(t,r){let n=this.#m(t);return n.value===r&&(n.type===\"CHAR\"||n.type===\"ESCAPED_CHAR\"||n.type===\"INVALID_CHAR\")}#P(){return this.#a(this.#e,\":\")}#E(){return this.#a(this.#e+1,\"/\")&&this.#a(this.#e+2,\"/\")}#S(){return this.#a(this.#e,\"@\")}#O(){return this.#a(this.#e,\":\")}#k(){return this.#a(this.#e,\":\")}#x(){return this.#a(this.#e,\"/\")}#h(){if(this.#a(this.#e,\"?\"))return!0;if(this.#n[this.#e].value!==\"?\")return!1;let t=this.#m(this.#e-1);return t.type!==\"NAME\"&&t.type!==\"REGEX\"&&t.type!==\"CLOSE\"&&t.type!==\"ASTERISK\"}#f(){return this.#a(this.#e,\"#\")}#T(){return this.#n[this.#e].type==\"OPEN\"}#A(){return this.#n[this.#e].type==\"CLOSE\"}#y(){return this.#a(this.#e,\"[\")}#w(){return this.#a(this.#e,\"]\")}#c(){let t=this.#n[this.#e],r=this.#m(this.#l).index;return this.#i.substring(r,t.index)}#C(){let t={};Object.assign(t,x),t.encodePart=y;let r=Z(this.#c(),void 0,t);this.#g=N(r)}};var G=[\"protocol\",\"username\",\"password\",\"hostname\",\"port\",\"pathname\",\"search\",\"hash\"],E=\"*\";function ge(e,t){if(typeof e!=\"string\")throw new TypeError(\"parameter 1 is not of type 'string'.\");let r=new URL(e,t);return{protocol:r.protocol.substring(0,r.protocol.length-1),username:r.username,password:r.password,hostname:r.hostname,port:r.port,pathname:r.pathname,search:r.search!==\"\"?r.search.substring(1,r.search.length):void 0,hash:r.hash!==\"\"?r.hash.substring(1,r.hash.length):void 0}}function b(e,t){return t?C(e):e}function w(e,t,r){let n;if(typeof t.baseURL==\"string\")try{n=new URL(t.baseURL),t.protocol===void 0&&(e.protocol=b(n.protocol.substring(0,n.protocol.length-1),r)),!r&&t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.username===void 0&&(e.username=b(n.username,r)),!r&&t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.username===void 0&&t.password===void 0&&(e.password=b(n.password,r)),t.protocol===void 0&&t.hostname===void 0&&(e.hostname=b(n.hostname,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&(e.port=b(n.port,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&(e.pathname=b(n.pathname,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&t.search===void 0&&(e.search=b(n.search.substring(1,n.search.length),r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&t.search===void 0&&t.hash===void 0&&(e.hash=b(n.hash.substring(1,n.hash.length),r))}catch{throw new TypeError(`invalid baseURL '${t.baseURL}'.`)}if(typeof t.protocol==\"string\"&&(e.protocol=ce(t.protocol,r)),typeof t.username==\"string\"&&(e.username=ie(t.username,r)),typeof t.password==\"string\"&&(e.password=se(t.password,r)),typeof t.hostname==\"string\"&&(e.hostname=ne(t.hostname,r)),typeof t.port==\"string\"&&(e.port=oe(t.port,e.protocol,r)),typeof t.pathname==\"string\"){if(e.pathname=t.pathname,n&&!J(e.pathname,r)){let o=n.pathname.lastIndexOf(\"/\");o>=0&&(e.pathname=b(n.pathname.substring(0,o+1),r)+e.pathname)}e.pathname=ae(e.pathname,e.protocol,r)}return typeof t.search==\"string\"&&(e.search=re(t.search,r)),typeof t.hash==\"string\"&&(e.hash=te(t.hash,r)),e}function C(e){return e.replace(/([+*?:{}()\\\\])/g,\"\\\\$1\")}function Oe(e){return e.replace(/([.+*?^${}()[\\]|/\\\\])/g,\"\\\\$1\")}function ke(e,t){t.delimiter??=\"/#?\",t.prefixes??=\"./\",t.sensitive??=!1,t.strict??=!1,t.end??=!0,t.start??=!0,t.endsWith=\"\";let r=\".*\",n=`[^${Oe(t.delimiter)}]+?`,o=/[$_\\u200C\\u200D\\p{ID_Continue}]/u,c=\"\";for(let l=0;l<e.length;++l){let s=e[l];if(s.type===3){if(s.modifier===3){c+=C(s.value);continue}c+=`{${C(s.value)}}${k(s.modifier)}`;continue}let i=s.hasCustomName(),a=!!s.suffix.length||!!s.prefix.length&&(s.prefix.length!==1||!t.prefixes.includes(s.prefix)),f=l>0?e[l-1]:null,d=l<e.length-1?e[l+1]:null;if(!a&&i&&s.type===1&&s.modifier===3&&d&&!d.prefix.length&&!d.suffix.length)if(d.type===3){let T=d.value.length>0?d.value[0]:\"\";a=o.test(T)}else a=!d.hasCustomName();if(!a&&!s.prefix.length&&f&&f.type===3){let T=f.value[f.value.length-1];a=t.prefixes.includes(T)}a&&(c+=\"{\"),c+=C(s.prefix),i&&(c+=`:${s.name}`),s.type===2?c+=`(${s.value})`:s.type===1?i||(c+=`(${n})`):s.type===0&&(!i&&(!f||f.type===3||f.modifier!==3||a||s.prefix!==\"\")?c+=\"*\":c+=`(${r})`),s.type===1&&i&&s.suffix.length&&o.test(s.suffix[0])&&(c+=\"\\\\\"),c+=C(s.suffix),a&&(c+=\"}\"),s.modifier!==3&&(c+=k(s.modifier))}return c}var me=class{#i;#n={};#t={};#e={};#s={};#l=!1;constructor(t={},r,n){try{let o;if(typeof r==\"string\"?o=r:n=r,typeof t==\"string\"){let i=new H(t);if(i.parse(),t=i.result,o===void 0&&typeof t.protocol!=\"string\")throw new TypeError(\"A base URL must be provided for a relative constructor string.\");t.baseURL=o}else{if(!t||typeof t!=\"object\")throw new TypeError(\"parameter 1 is not of type 'string' and cannot convert to dictionary.\");if(o)throw new TypeError(\"parameter 1 is not of type 'string'.\")}typeof n>\"u\"&&(n={ignoreCase:!1});let c={ignoreCase:n.ignoreCase===!0},l={pathname:E,protocol:E,username:E,password:E,hostname:E,port:E,search:E,hash:E};this.#i=w(l,t,!0),_(this.#i.protocol)===this.#i.port&&(this.#i.port=\"\");let s;for(s of G){if(!(s in this.#i))continue;let i={},a=this.#i[s];switch(this.#t[s]=[],s){case\"protocol\":Object.assign(i,x),i.encodePart=y;break;case\"username\":Object.assign(i,x),i.encodePart=le;break;case\"password\":Object.assign(i,x),i.encodePart=fe;break;case\"hostname\":Object.assign(i,B),W(a)?i.encodePart=j:i.encodePart=z;break;case\"port\":Object.assign(i,x),i.encodePart=K;break;case\"pathname\":N(this.#n.protocol)?(Object.assign(i,q,c),i.encodePart=he):(Object.assign(i,x,c),i.encodePart=ue);break;case\"search\":Object.assign(i,x,c),i.encodePart=de;break;case\"hash\":Object.assign(i,x,c),i.encodePart=pe;break}try{this.#s[s]=D(a,i),this.#n[s]=F(this.#s[s],this.#t[s],i),this.#e[s]=ke(this.#s[s],i),this.#l=this.#l||this.#s[s].some(f=>f.type===2)}catch{throw new TypeError(`invalid ${s} pattern '${this.#i[s]}'.`)}}}catch(o){throw new TypeError(`Failed to construct 'URLPattern': ${o.message}`)}}test(t={},r){let n={pathname:\"\",protocol:\"\",username:\"\",password:\"\",hostname:\"\",port:\"\",search:\"\",hash:\"\"};if(typeof t!=\"string\"&&r)throw new TypeError(\"parameter 1 is not of type 'string'.\");if(typeof t>\"u\")return!1;try{typeof t==\"object\"?n=w(n,t,!1):n=w(n,ge(t,r),!1)}catch{return!1}let o;for(o of G)if(!this.#n[o].exec(n[o]))return!1;return!0}exec(t={},r){let n={pathname:\"\",protocol:\"\",username:\"\",password:\"\",hostname:\"\",port:\"\",search:\"\",hash:\"\"};if(typeof t!=\"string\"&&r)throw new TypeError(\"parameter 1 is not of type 'string'.\");if(typeof t>\"u\")return;try{typeof t==\"object\"?n=w(n,t,!1):n=w(n,ge(t,r),!1)}catch{return null}let o={};r?o.inputs=[t,r]:o.inputs=[t];let c;for(c of G){let l=this.#n[c].exec(n[c]);if(!l)return null;let s={};for(let[i,a]of this.#t[c].entries())if(typeof a==\"string\"||typeof a==\"number\"){let f=l[i+1];s[a]=f}o[c]={input:n[c]??\"\",groups:s}}return o}static compareComponent(t,r,n){let o=(i,a)=>{for(let f of[\"type\",\"modifier\",\"prefix\",\"value\",\"suffix\"]){if(i[f]<a[f])return-1;if(i[f]===a[f])continue;return 1}return 0},c=new R(3,\"\",\"\",\"\",\"\",3),l=new R(0,\"\",\"\",\"\",\"\",3),s=(i,a)=>{let f=0;for(;f<Math.min(i.length,a.length);++f){let d=o(i[f],a[f]);if(d)return d}return i.length===a.length?0:o(i[f]??c,a[f]??c)};return!r.#e[t]&&!n.#e[t]?0:r.#e[t]&&!n.#e[t]?s(r.#s[t],[l]):!r.#e[t]&&n.#e[t]?s([l],n.#s[t]):s(r.#s[t],n.#s[t])}get protocol(){return this.#e.protocol}get username(){return this.#e.username}get password(){return this.#e.password}get hostname(){return this.#e.hostname}get port(){return this.#e.port}get pathname(){return this.#e.pathname}get search(){return this.#e.search}get hash(){return this.#e.hash}get hasRegExpGroups(){return this.#l}};export{me as URLPattern};\n","import {jsx as $42h8L$jsx, Fragment as $42h8L$Fragment} from \"dom-renderer/jsx-runtime\";\nimport {observable as $42h8L$observable, autorun as $42h8L$autorun, reaction as $42h8L$reaction} from \"mobx\";\nimport {importCSS as $42h8L$importCSS, toCamelCase as $42h8L$toCamelCase, parseJSON as $42h8L$parseJSON, isHTMLElementClass as $42h8L$isHTMLElementClass, toHyphenCase as $42h8L$toHyphenCase, delegate as $42h8L$delegate, isEmpty as $42h8L$isEmpty} from \"web-utility\";\nimport {DOMRenderer as $42h8L$DOMRenderer, VNode as $42h8L$VNode} from \"dom-renderer\";\n\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n\n return dest;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $d4436c849e74ae70$exports = {};\n\n$parcel$export($d4436c849e74ae70$exports, \"AnimateCSS\", function () { return $d4436c849e74ae70$export$2e9a7bb10257a509; });\n\n\n\nvar $0c03e47eb1097734$exports = {};\n\n$parcel$export($0c03e47eb1097734$exports, \"observer\", function () { return $0c03e47eb1097734$export$b6ae1bc530f4c149; });\n$parcel$export($0c03e47eb1097734$exports, \"attribute\", function () { return $0c03e47eb1097734$export$af4b9a83f4b00434; });\n$parcel$export($0c03e47eb1097734$exports, \"reaction\", function () { return $0c03e47eb1097734$export$7203b476385689ae; });\n\n\n\nvar $552a56cc5ff3f479$exports = {};\n\n$parcel$export($552a56cc5ff3f479$exports, \"Defer\", function () { return $552a56cc5ff3f479$export$c7e91f8aec23ae14; });\n$parcel$export($552a56cc5ff3f479$exports, \"getMobxData\", function () { return $552a56cc5ff3f479$export$b06b4c21253e26e2; });\n$parcel$export($552a56cc5ff3f479$exports, \"animated\", function () { return $552a56cc5ff3f479$export$4077c0dfbe9c3861; });\n\nclass $552a56cc5ff3f479$export$c7e91f8aec23ae14 {\n constructor(){\n Object.defineProperty(this, \"resolve\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"reject\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"promise\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new Promise((resolve, reject)=>{\n this.resolve = resolve;\n this.reject = reject;\n })\n });\n }\n}\nfunction $552a56cc5ff3f479$export$b06b4c21253e26e2(observable) {\n var _a;\n for (const key of Object.getOwnPropertySymbols(observable)){\n const store = (_a = observable[key]) === null || _a === void 0 ? void 0 : _a.values_;\n if (store instanceof Map) return Object.fromEntries(Array.from(store, ([key, { value_: value_ }])=>[\n key,\n value_\n ]));\n }\n}\nconst $552a56cc5ff3f479$export$4077c0dfbe9c3861 = (root, targetSelector)=>new Promise((resolve)=>{\n const ended = (0, $42h8L$delegate)(targetSelector, (event)=>{\n root.removeEventListener('animationend', ended);\n root.removeEventListener('animationcancel', ended);\n resolve(event);\n });\n root.addEventListener('animationend', ended);\n root.addEventListener('animationcancel', ended);\n });\n\n\nvar $0c03e47eb1097734$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nfunction $0c03e47eb1097734$var$wrapFunction(func) {\n const renderer = new (0, $42h8L$DOMRenderer)();\n return (props)=>{\n let tree = func(props), root;\n if (!(0, $42h8L$VNode).isFragment(tree)) {\n const disposer = (0, $42h8L$autorun)(()=>{\n tree = func(props);\n if (tree && root) renderer.patch((0, $42h8L$VNode).fromDOM(root), tree);\n });\n const { ref: ref } = tree;\n tree.ref = (node)=>{\n if (node) root = node;\n else disposer();\n ref === null || ref === void 0 || ref(node);\n };\n }\n return tree;\n };\n}\nconst $0c03e47eb1097734$var$reactionMap = new WeakMap();\nfunction $0c03e47eb1097734$var$wrapClass(Component) {\n var _ObserverComponent_instances, _ObserverComponent_boot;\n class ObserverComponent extends Component {\n get props() {\n return (0, $552a56cc5ff3f479$export$b06b4c21253e26e2)(this);\n }\n constructor(){\n super();\n _ObserverComponent_instances.add(this);\n Object.defineProperty(this, \"disposers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"update\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ()=>{\n const { update: update } = Object.getPrototypeOf(this);\n return new Promise((resolve)=>this.disposers.push((0, $42h8L$autorun)(()=>update.call(this).then(resolve))));\n }\n });\n Promise.resolve().then(()=>$0c03e47eb1097734$var$__classPrivateFieldGet(this, _ObserverComponent_instances, \"m\", _ObserverComponent_boot).call(this));\n }\n disconnectedCallback() {\n var _a;\n for (const disposer of this.disposers)disposer();\n this.disposers.length = 0;\n (_a = super['disconnectedCallback']) === null || _a === void 0 || _a.call(this);\n }\n setAttribute(name, value) {\n const old = super.getAttribute(name), names = this.constructor['observedAttributes'];\n super.setAttribute(name, value);\n if (names.includes(name)) this.attributeChangedCallback(name, old, value);\n }\n attributeChangedCallback(name, old, value) {\n var _a;\n this[(0, $42h8L$toCamelCase)(name)] = (0, $42h8L$parseJSON)(value);\n (_a = super['attributeChangedCallback']) === null || _a === void 0 || _a.call(this, name, old, value);\n }\n syncPropAttr(name) {\n var _a;\n let value = this[(0, $42h8L$toCamelCase)(name)];\n if (!(value != null) || value === false) return this.removeAttribute(name);\n value = value === true ? name : value;\n if (typeof value === 'object') {\n value = (_a = value.toJSON) === null || _a === void 0 ? void 0 : _a.call(value);\n value = typeof value === 'object' ? JSON.stringify(value) : value;\n }\n super.setAttribute(name, value);\n }\n }\n _ObserverComponent_instances = new WeakSet(), _ObserverComponent_boot = function _ObserverComponent_boot() {\n const names = this.constructor['observedAttributes'] || [], reactions = $0c03e47eb1097734$var$reactionMap.get(this) || [];\n this.disposers.push(...names.map((name)=>(0, $42h8L$autorun)(()=>this.syncPropAttr(name))), ...reactions.map(({ expression: expression, effect: effect })=>(0, $42h8L$reaction)((reaction)=>expression(this, reaction), effect.bind(this))));\n };\n Object.defineProperty(ObserverComponent, \"observedAttributes\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n return ObserverComponent;\n}\nfunction $0c03e47eb1097734$export$b6ae1bc530f4c149(func, _) {\n return (0, $42h8L$isHTMLElementClass)(func) ? $0c03e47eb1097734$var$wrapClass(func) : $0c03e47eb1097734$var$wrapFunction(func);\n}\nfunction $0c03e47eb1097734$export$af4b9a83f4b00434(_, { name: name, addInitializer: addInitializer }) {\n addInitializer(function() {\n const names = this.constructor['observedAttributes'], attribute = (0, $42h8L$toHyphenCase)(name.toString());\n if (!names.includes(attribute)) names.push(attribute);\n });\n}\nfunction $0c03e47eb1097734$export$7203b476385689ae(expression) {\n return (effect, { addInitializer: addInitializer })=>addInitializer(function() {\n const reactions = $0c03e47eb1097734$var$reactionMap.get(this) || [];\n reactions.push({\n expression: expression,\n effect: effect\n });\n $0c03e47eb1097734$var$reactionMap.set(this, reactions);\n });\n}\n\n\n\nvar $317b1f21909c74b8$exports = {};\n\n$parcel$export($317b1f21909c74b8$exports, \"component\", function () { return $317b1f21909c74b8$export$d8556a2a8f973135; });\n$parcel$export($317b1f21909c74b8$exports, \"on\", function () { return $317b1f21909c74b8$export$af631764ddc44097; });\n\n\n\nconst $317b1f21909c74b8$var$eventMap = new WeakMap();\nfunction $317b1f21909c74b8$export$d8556a2a8f973135(meta) {\n return (Class, { addInitializer: addInitializer })=>{\n class RendererComponent extends Class {\n get root() {\n return this.shadowRoot || this.internals.shadowRoot || this;\n }\n constructor(){\n var _a;\n super();\n Object.defineProperty(this, \"internals\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: this.tagName.includes('-') ? this.attachInternals() : undefined\n });\n Object.defineProperty(this, \"renderer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new (0, $42h8L$DOMRenderer)()\n });\n Object.defineProperty(this, \"mounted\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n if (meta.mode && !((_a = this.internals) === null || _a === void 0 ? void 0 : _a.shadowRoot)) this.attachShadow(meta);\n }\n async connectedCallback() {\n var _a, _b;\n const { mode: mode } = meta;\n const renderChildren = !(mode != null);\n const { root: root } = this, events = $317b1f21909c74b8$var$eventMap.get(this) || [];\n for (const { type: type, selector: selector, handler: handler } of events){\n if (renderChildren && /^:host/.test(selector)) console.warn(`[WebCell] DOM Event delegation of \"${selector}\" won't work if you don't invoke \"this.attachShadow()\" manually.`);\n root.addEventListener(type, handler);\n }\n (_a = super['connectedCallback']) === null || _a === void 0 || _a.call(this);\n if (this.mounted) return;\n await this.update();\n this.mounted = true;\n (_b = this.mountedCallback) === null || _b === void 0 || _b.call(this);\n }\n updateDOM(content) {\n var _a, _b;\n const result = this.renderer.render(content, this.root, meta.renderMode);\n return result instanceof Promise ? result.then((_a = this.updatedCallback) === null || _a === void 0 ? void 0 : _a.bind(this)) : (_b = this.updatedCallback) === null || _b === void 0 ? void 0 : _b.call(this);\n }\n async update() {\n var _a;\n const vNode = (_a = this.render) === null || _a === void 0 ? void 0 : _a.call(this);\n const content = (0, $42h8L$isEmpty)(vNode) ? meta.mode ? (0, $42h8L$jsx)(\"slot\", {}) : null : vNode;\n if (!(content != null)) return;\n if (!meta.transitible || typeof document.startViewTransition !== 'function') return this.updateDOM(content);\n const { updateCallbackDone: updateCallbackDone, finished: finished } = document.startViewTransition(()=>this.updateDOM(content));\n try {\n await finished;\n } catch (_b) {\n return updateCallbackDone;\n }\n }\n disconnectedCallback() {\n var _a;\n const { root: root } = this, events = $317b1f21909c74b8$var$eventMap.get(this) || [];\n for (const { type: type, handler: handler } of events)root.removeEventListener(type, handler);\n (_a = super['disconnectedCallback']) === null || _a === void 0 || _a.call(this);\n }\n emit(event, detail, { cancelable: cancelable, bubbles: bubbles, composed: composed } = {}) {\n return this.dispatchEvent(new CustomEvent(event, {\n detail: detail,\n cancelable: cancelable,\n bubbles: bubbles,\n composed: composed\n }));\n }\n }\n addInitializer(function() {\n var _a;\n (_a = globalThis.customElements) === null || _a === void 0 || _a.define(meta.tagName, this, meta);\n });\n return RendererComponent;\n };\n}\nfunction $317b1f21909c74b8$export$af631764ddc44097(type, selector) {\n return (method, { addInitializer: addInitializer })=>addInitializer(function() {\n const events = $317b1f21909c74b8$var$eventMap.get(this) || [], handler = (0, $42h8L$delegate)(selector, method.bind(this));\n events.push({\n type: type,\n selector: selector,\n handler: handler\n });\n $317b1f21909c74b8$var$eventMap.set(this, events);\n });\n}\n\n\nvar $819b340f625a29f4$exports = {};\n\n\nvar $d4436c849e74ae70$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $d4436c849e74ae70$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $d4436c849e74ae70$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $d4436c849e74ae70$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $d4436c849e74ae70$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $d4436c849e74ae70$export$2e9a7bb10257a509 = (()=>{\n var _AnimateCSS_type_accessor_storage, _AnimateCSS_playing_accessor_storage;\n let _classDecorators = [\n (0, $317b1f21909c74b8$export$d8556a2a8f973135)({\n tagName: 'animation-css'\n }),\n (0, $0c03e47eb1097734$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _playing_decorators;\n let _playing_initializers = [];\n let _playing_extraInitializers = [];\n let _typeChanged_decorators;\n var AnimateCSS = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _AnimateCSS_type_accessor_storage.set(this, ($d4436c849e74ae70$var$__runInitializers(this, _instanceExtraInitializers), $d4436c849e74ae70$var$__runInitializers(this, _type_initializers, void 0)));\n _AnimateCSS_playing_accessor_storage.set(this, ($d4436c849e74ae70$var$__runInitializers(this, _type_extraInitializers), $d4436c849e74ae70$var$__runInitializers(this, _playing_initializers, false)));\n Object.defineProperty(this, \"component\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: $d4436c849e74ae70$var$__runInitializers(this, _playing_extraInitializers)\n });\n }\n get type() {\n return $d4436c849e74ae70$var$__classPrivateFieldGet(this, _AnimateCSS_type_accessor_storage, \"f\");\n }\n set type(value) {\n $d4436c849e74ae70$var$__classPrivateFieldSet(this, _AnimateCSS_type_accessor_storage, value, \"f\");\n }\n get playing() {\n return $d4436c849e74ae70$var$__classPrivateFieldGet(this, _AnimateCSS_playing_accessor_storage, \"f\");\n }\n set playing(value) {\n $d4436c849e74ae70$var$__classPrivateFieldSet(this, _AnimateCSS_playing_accessor_storage, value, \"f\");\n }\n async connectedCallback() {\n await (0, $42h8L$importCSS)('https://unpkg.com/animate.css@4/animate.min.css');\n this.typeChanged();\n }\n async typeChanged() {\n this.playing = true;\n await (0, $552a56cc5ff3f479$export$4077c0dfbe9c3861)(this, '.animate__animated');\n this.playing = false;\n }\n render() {\n const { type: type, playing: playing, component: Tag } = this;\n return playing ? (0, $42h8L$jsx)(Tag, {\n className: `animate__animated animate__${type}`\n }) : type.includes('Out') ? (0, $42h8L$jsx)((0, $42h8L$Fragment), {}) : (0, $42h8L$jsx)(Tag, {});\n }\n };\n _AnimateCSS_type_accessor_storage = new WeakMap();\n _AnimateCSS_playing_accessor_storage = new WeakMap();\n $d4436c849e74ae70$var$__setFunctionName(_classThis, \"AnimateCSS\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _type_decorators = [\n (0, $0c03e47eb1097734$export$af4b9a83f4b00434),\n (0, $42h8L$observable)\n ];\n _playing_decorators = [\n (0, $0c03e47eb1097734$export$af4b9a83f4b00434),\n (0, $42h8L$observable)\n ];\n _typeChanged_decorators = [\n (0, $0c03e47eb1097734$export$7203b476385689ae)(({ type: type })=>type)\n ];\n $d4436c849e74ae70$var$__esDecorate(_classThis, null, _type_decorators, {\n kind: \"accessor\",\n name: \"type\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"type\" in obj,\n get: (obj)=>obj.type,\n set: (obj, value)=>{\n obj.type = value;\n }\n },\n metadata: _metadata\n }, _type_initializers, _type_extraInitializers);\n $d4436c849e74ae70$var$__esDecorate(_classThis, null, _playing_decorators, {\n kind: \"accessor\",\n name: \"playing\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"playing\" in obj,\n get: (obj)=>obj.playing,\n set: (obj, value)=>{\n obj.playing = value;\n }\n },\n metadata: _metadata\n }, _playing_initializers, _playing_extraInitializers);\n $d4436c849e74ae70$var$__esDecorate(_classThis, null, _typeChanged_decorators, {\n kind: \"method\",\n name: \"typeChanged\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"typeChanged\" in obj,\n get: (obj)=>obj.typeChanged\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $d4436c849e74ae70$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n AnimateCSS = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $d4436c849e74ae70$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return AnimateCSS = _classThis;\n})();\n$parcel$exportWildcard($d4436c849e74ae70$exports, $819b340f625a29f4$exports);\n\n\nvar $8acf79bd061a8fc3$exports = {};\n\n$parcel$export($8acf79bd061a8fc3$exports, \"AsyncCell\", function () { return $8acf79bd061a8fc3$export$854a54a999c89982; });\n$parcel$export($8acf79bd061a8fc3$exports, \"lazy\", function () { return $8acf79bd061a8fc3$export$488013bae63b21da; });\n\n\n\n\nvar $8acf79bd061a8fc3$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $8acf79bd061a8fc3$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $8acf79bd061a8fc3$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $8acf79bd061a8fc3$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $8acf79bd061a8fc3$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $8acf79bd061a8fc3$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nlet $8acf79bd061a8fc3$export$854a54a999c89982 = (()=>{\n var _AsyncCell_component_accessor_storage, _AsyncCell_delegatedProps_accessor_storage;\n let _classDecorators = [\n (0, $317b1f21909c74b8$export$d8556a2a8f973135)({\n tagName: 'async-cell'\n }),\n (0, $0c03e47eb1097734$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _component_decorators;\n let _component_initializers = [];\n let _component_extraInitializers = [];\n let _delegatedProps_decorators;\n let _delegatedProps_initializers = [];\n let _delegatedProps_extraInitializers = [];\n var AsyncCell = _classThis = class extends _classSuper {\n get component() {\n return $8acf79bd061a8fc3$var$__classPrivateFieldGet(this, _AsyncCell_component_accessor_storage, \"f\");\n }\n set component(value) {\n $8acf79bd061a8fc3$var$__classPrivateFieldSet(this, _AsyncCell_component_accessor_storage, value, \"f\");\n }\n get delegatedProps() {\n return $8acf79bd061a8fc3$var$__classPrivateFieldGet(this, _AsyncCell_delegatedProps_accessor_storage, \"f\");\n }\n set delegatedProps(value) {\n $8acf79bd061a8fc3$var$__classPrivateFieldSet(this, _AsyncCell_delegatedProps_accessor_storage, value, \"f\");\n }\n connectedCallback() {\n this.load();\n }\n async load() {\n this.component = undefined;\n const Tag = await this.loader();\n this.component = (_a)=>{\n var { children: children } = _a, props = $8acf79bd061a8fc3$var$__rest(_a, [\n \"children\"\n ]);\n return (0, $42h8L$jsx)(Tag, Object.assign({}, props, {\n children: children\n }));\n };\n this.emit('load', this.component);\n }\n render() {\n const { component: Tag, props: props, delegatedProps: delegatedProps } = this;\n const _a = Object.assign(Object.assign({}, props), delegatedProps), { children: children } = _a, data = $8acf79bd061a8fc3$var$__rest(_a, [\n \"children\"\n ]);\n return Tag && (0, $42h8L$jsx)(Tag, Object.assign({}, data, {\n children: children\n }));\n }\n constructor(){\n super(...arguments);\n Object.defineProperty(this, \"loader\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n _AsyncCell_component_accessor_storage.set(this, $8acf79bd061a8fc3$var$__runInitializers(this, _component_initializers, void 0));\n _AsyncCell_delegatedProps_accessor_storage.set(this, ($8acf79bd061a8fc3$var$__runInitializers(this, _component_extraInitializers), $8acf79bd061a8fc3$var$__runInitializers(this, _delegatedProps_initializers, void 0)));\n $8acf79bd061a8fc3$var$__runInitializers(this, _delegatedProps_extraInitializers);\n }\n };\n _AsyncCell_component_accessor_storage = new WeakMap();\n _AsyncCell_delegatedProps_accessor_storage = new WeakMap();\n $8acf79bd061a8fc3$var$__setFunctionName(_classThis, \"AsyncCell\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _component_decorators = [\n (0, $42h8L$observable)\n ];\n _delegatedProps_decorators = [\n (0, $42h8L$observable)\n ];\n $8acf79bd061a8fc3$var$__esDecorate(_classThis, null, _component_decorators, {\n kind: \"accessor\",\n name: \"component\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"component\" in obj,\n get: (obj)=>obj.component,\n set: (obj, value)=>{\n obj.component = value;\n }\n },\n metadata: _metadata\n }, _component_initializers, _component_extraInitializers);\n $8acf79bd061a8fc3$var$__esDecorate(_classThis, null, _delegatedProps_decorators, {\n kind: \"accessor\",\n name: \"delegatedProps\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"delegatedProps\" in obj,\n get: (obj)=>obj.delegatedProps,\n set: (obj, value)=>{\n obj.delegatedProps = value;\n }\n },\n metadata: _metadata\n }, _delegatedProps_initializers, _delegatedProps_extraInitializers);\n $8acf79bd061a8fc3$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n AsyncCell = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $8acf79bd061a8fc3$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return AsyncCell = _classThis;\n})();\nfunction $8acf79bd061a8fc3$export$488013bae63b21da(loader) {\n return (props)=>(0, $42h8L$jsx)($8acf79bd061a8fc3$export$854a54a999c89982, {\n delegatedProps: props,\n loader: async ()=>(await loader()).default\n });\n}\n\n\n\n\n\nvar $29675797ddd6c4f7$exports = {};\n\n$parcel$export($29675797ddd6c4f7$exports, \"formField\", function () { return $29675797ddd6c4f7$export$2a668e8d088a0667; });\n\n\nvar $29675797ddd6c4f7$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $29675797ddd6c4f7$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $29675797ddd6c4f7$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $29675797ddd6c4f7$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nfunction $29675797ddd6c4f7$export$2a668e8d088a0667(Class, _) {\n let FormFieldComponent = (()=>{\n var _a, _FormFieldComponent_name_accessor_storage, _FormFieldComponent_value_accessor_storage, _FormFieldComponent_required_accessor_storage, _FormFieldComponent_disabled_accessor_storage, _FormFieldComponent_autofocus_accessor_storage;\n let _classSuper = Class;\n let _instanceExtraInitializers = [];\n let _setValue_decorators;\n let _name_decorators;\n let _name_initializers = [];\n let _name_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _required_decorators;\n let _required_initializers = [];\n let _required_extraInitializers = [];\n let _disabled_decorators;\n let _disabled_initializers = [];\n let _disabled_extraInitializers = [];\n let _autofocus_decorators;\n let _autofocus_initializers = [];\n let _autofocus_extraInitializers = [];\n return _a = class FormFieldComponent extends _classSuper {\n setValue(value) {\n this.internals.setFormValue(value);\n }\n formDisabledCallback(disabled) {\n this.disabled = disabled;\n }\n get name() {\n return $29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_name_accessor_storage, \"f\");\n }\n set name(value) {\n $29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_name_accessor_storage, value, \"f\");\n }\n get value() {\n return $29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_value_accessor_storage, \"f\");\n }\n set value(value) {\n $29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_value_accessor_storage, value, \"f\");\n }\n get required() {\n return $29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_required_accessor_storage, \"f\");\n }\n set required(value) {\n $29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_required_accessor_storage, value, \"f\");\n }\n get disabled() {\n return $29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_disabled_accessor_storage, \"f\");\n }\n set disabled(value) {\n $29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_disabled_accessor_storage, value, \"f\");\n }\n get autofocus() {\n return $29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_autofocus_accessor_storage, \"f\");\n }\n set autofocus(value) {\n $29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_autofocus_accessor_storage, value, \"f\");\n }\n set defaultValue(raw) {\n var _b;\n this.setAttribute('value', raw);\n (_b = this.value) !== null && _b !== void 0 ? _b : this.value = raw;\n }\n get defaultValue() {\n return this.getAttribute('value');\n }\n get form() {\n return this.internals.form;\n }\n get validity() {\n return this.internals.validity;\n }\n get validationMessage() {\n return this.internals.validationMessage;\n }\n get willValidate() {\n return this.internals.willValidate;\n }\n checkValidity() {\n return this.internals.checkValidity();\n }\n reportValidity() {\n return this.internals.reportValidity();\n }\n constructor(){\n super(...arguments);\n _FormFieldComponent_name_accessor_storage.set(this, ($29675797ddd6c4f7$var$__runInitializers(this, _instanceExtraInitializers), $29675797ddd6c4f7$var$__runInitializers(this, _name_initializers, void 0)));\n _FormFieldComponent_value_accessor_storage.set(this, ($29675797ddd6c4f7$var$__runInitializers(this, _name_extraInitializers), $29675797ddd6c4f7$var$__runInitializers(this, _value_initializers, void 0)));\n _FormFieldComponent_required_accessor_storage.set(this, ($29675797ddd6c4f7$var$__runInitializers(this, _value_extraInitializers), $29675797ddd6c4f7$var$__runInitializers(this, _required_initializers, void 0)));\n _FormFieldComponent_disabled_accessor_storage.set(this, ($29675797ddd6c4f7$var$__runInitializers(this, _required_extraInitializers), $29675797ddd6c4f7$var$__runInitializers(this, _disabled_initializers, void 0)));\n _FormFieldComponent_autofocus_accessor_storage.set(this, ($29675797ddd6c4f7$var$__runInitializers(this, _disabled_extraInitializers), $29675797ddd6c4f7$var$__runInitializers(this, _autofocus_initializers, void 0)));\n $29675797ddd6c4f7$var$__runInitializers(this, _autofocus_extraInitializers);\n }\n }, _FormFieldComponent_name_accessor_storage = new WeakMap(), _FormFieldComponent_value_accessor_storage = new WeakMap(), _FormFieldComponent_required_accessor_storage = new WeakMap(), _FormFieldComponent_disabled_accessor_storage = new WeakMap(), _FormFieldComponent_autofocus_accessor_storage = new WeakMap(), (()=>{\n var _b;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_b = _classSuper[Symbol.metadata]) !== null && _b !== void 0 ? _b : null) : void 0;\n _setValue_decorators = [\n (0, $0c03e47eb1097734$export$7203b476385689ae)(({ value: value })=>value)\n ];\n _name_decorators = [\n (0, $0c03e47eb1097734$export$af4b9a83f4b00434),\n (0, $42h8L$observable)\n ];\n _value_decorators = [\n (0, $42h8L$observable)\n ];\n _required_decorators = [\n (0, $0c03e47eb1097734$export$af4b9a83f4b00434),\n (0, $42h8L$observable)\n ];\n _disabled_decorators = [\n (0, $0c03e47eb1097734$export$af4b9a83f4b00434),\n (0, $42h8L$observable)\n ];\n _autofocus_decorators = [\n (0, $0c03e47eb1097734$export$af4b9a83f4b00434),\n (0, $42h8L$observable)\n ];\n $29675797ddd6c4f7$var$__esDecorate(_a, null, _setValue_decorators, {\n kind: \"method\",\n name: \"setValue\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"setValue\" in obj,\n get: (obj)=>obj.setValue\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $29675797ddd6c4f7$var$__esDecorate(_a, null, _name_decorators, {\n kind: \"accessor\",\n name: \"name\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"name\" in obj,\n get: (obj)=>obj.name,\n set: (obj, value)=>{\n obj.name = value;\n }\n },\n metadata: _metadata\n }, _name_initializers, _name_extraInitializers);\n $29675797ddd6c4f7$var$__esDecorate(_a, null, _value_decorators, {\n kind: \"accessor\",\n name: \"value\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"value\" in obj,\n get: (obj)=>obj.value,\n set: (obj, value)=>{\n obj.value = value;\n }\n },\n metadata: _metadata\n }, _value_initializers, _value_extraInitializers);\n $29675797ddd6c4f7$var$__esDecorate(_a, null, _required_decorators, {\n kind: \"accessor\",\n name: \"required\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"required\" in obj,\n get: (obj)=>obj.required,\n set: (obj, value)=>{\n obj.required = value;\n }\n },\n metadata: _metadata\n }, _required_initializers, _required_extraInitializers);\n $29675797ddd6c4f7$var$__esDecorate(_a, null, _disabled_decorators, {\n kind: \"accessor\",\n name: \"disabled\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"disabled\" in obj,\n get: (obj)=>obj.disabled,\n set: (obj, value)=>{\n obj.disabled = value;\n }\n },\n metadata: _metadata\n }, _disabled_initializers, _disabled_extraInitializers);\n $29675797ddd6c4f7$var$__esDecorate(_a, null, _autofocus_decorators, {\n kind: \"accessor\",\n name: \"autofocus\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"autofocus\" in obj,\n get: (obj)=>obj.autofocus,\n set: (obj, value)=>{\n obj.autofocus = value;\n }\n },\n metadata: _metadata\n }, _autofocus_initializers, _autofocus_extraInitializers);\n if (_metadata) Object.defineProperty(_a, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n })(), Object.defineProperty(_a, \"formAssociated\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: true\n }), _a;\n })();\n return FormFieldComponent;\n}\n\n\n\n\nexport {$d4436c849e74ae70$export$2e9a7bb10257a509 as AnimateCSS, $8acf79bd061a8fc3$export$854a54a999c89982 as AsyncCell, $8acf79bd061a8fc3$export$488013bae63b21da as lazy, $0c03e47eb1097734$export$b6ae1bc530f4c149 as observer, $0c03e47eb1097734$export$af4b9a83f4b00434 as attribute, $0c03e47eb1097734$export$7203b476385689ae as reaction, $552a56cc5ff3f479$export$c7e91f8aec23ae14 as Defer, $552a56cc5ff3f479$export$b06b4c21253e26e2 as getMobxData, $552a56cc5ff3f479$export$4077c0dfbe9c3861 as animated, $317b1f21909c74b8$export$d8556a2a8f973135 as component, $317b1f21909c74b8$export$af631764ddc44097 as on, $29675797ddd6c4f7$export$2a668e8d088a0667 as formField};\n//# sourceMappingURL=index.esm.js.map\n","export * from './Animation';\nexport * from './Async';\nexport * from './decorator';\nexport * from './utility';\nexport * from './WebCell';\nexport * from './WebField';\n","import { observable } from 'mobx';\nimport { importCSS } from 'web-utility';\n\nimport { attribute, FC, observer, reaction } from '../decorator';\nimport { animated } from '../utility';\nimport { component, WebCell, WebCellProps } from '../WebCell';\nimport { AnimationType } from './type';\n\nexport * from './type';\n\nexport interface AnimateCSSProps {\n type: AnimationType;\n component: FC<WebCellProps>;\n}\n\nexport interface AnimateCSS extends WebCell<AnimateCSSProps> {}\n\n@component({ tagName: 'animation-css' })\n@observer\nexport class AnimateCSS\n extends HTMLElement\n implements WebCell<AnimateCSSProps>\n{\n @attribute\n @observable\n accessor type: AnimationType;\n\n @attribute\n @observable\n accessor playing = false;\n\n component: FC<WebCellProps>;\n\n async connectedCallback() {\n await importCSS('https://unpkg.com/animate.css@4/animate.min.css');\n\n this.typeChanged();\n }\n\n @reaction(({ type }) => type)\n async typeChanged() {\n this.playing = true;\n\n await animated(this, '.animate__animated');\n\n this.playing = false;\n }\n\n render() {\n const { type, playing, component: Tag } = this;\n\n return playing ? (\n <Tag className={`animate__animated animate__${type}`} />\n ) : type.includes('Out') ? (\n <></>\n ) : (\n <Tag />\n );\n }\n}\n","import { DataObject, DOMRenderer, JsxChildren, VNode } from 'dom-renderer';\nimport {\n autorun,\n IReactionDisposer,\n IReactionPublic,\n reaction as watch\n} from 'mobx';\nimport {\n CustomElement,\n isHTMLElementClass,\n parseJSON,\n toCamelCase,\n toHyphenCase\n} from 'web-utility';\n\nimport { getMobxData } from './utility';\nimport { ClassComponent } from './WebCell';\n\nexport type PropsWithChildren<P extends DataObject = {}> = P & {\n children?: JsxChildren;\n};\nexport type FunctionComponent<P extends DataObject = {}> = (props: P) => VNode;\nexport type FC<P extends DataObject = {}> = FunctionComponent<P>;\n\nfunction wrapFunction<P>(func: FC<P>) {\n const renderer = new DOMRenderer();\n\n return (props: P) => {\n let tree = func(props),\n root: Node;\n\n if (!VNode.isFragment(tree)) {\n const disposer = autorun(() => {\n tree = func(props);\n\n if (tree && root) renderer.patch(VNode.fromDOM(root), tree);\n });\n const { ref } = tree;\n\n tree.ref = node => {\n if (node) root = node;\n else disposer();\n\n ref?.(node);\n };\n }\n\n return tree;\n };\n}\n\ninterface ReactionItem {\n expression: ReactionExpression;\n effect: (...data: any[]) => any;\n}\nconst reactionMap = new WeakMap<CustomElement, ReactionItem[]>();\n\nfunction wrapClass<T extends ClassComponent>(Component: T) {\n class ObserverComponent\n extends (Component as ClassComponent)\n implements CustomElement\n {\n static observedAttributes = [];\n\n protected disposers: IReactionDisposer[] = [];\n\n get props() {\n return getMobxData(this);\n }\n\n constructor() {\n super();\n\n Promise.resolve().then(() => this.#boot());\n }\n\n update = () => {\n const { update } = Object.getPrototypeOf(this);\n\n return new Promise<void>(resolve =>\n this.disposers.push(\n autorun(() => update.call(this).then(resolve))\n )\n );\n };\n\n #boot() {\n const names: string[] =\n this.constructor['observedAttributes'] || [],\n reactions = reactionMap.get(this) || [];\n\n this.disposers.push(\n ...names.map(name => autorun(() => this.syncPropAttr(name))),\n ...reactions.map(({ expression, effect }) =>\n watch(\n reaction => expression(this, reaction),\n effect.bind(this)\n )\n )\n );\n }\n\n disconnectedCallback() {\n for (const disposer of this.disposers) disposer();\n\n this.disposers.length = 0;\n\n super['disconnectedCallback']?.();\n }\n\n setAttribute(name: string, value: string) {\n const old = super.getAttribute(name),\n names: string[] = this.constructor['observedAttributes'];\n\n super.setAttribute(name, value);\n\n if (names.includes(name))\n this.attributeChangedCallback(name, old, value);\n }\n\n attributeChangedCallback(name: string, old: string, value: string) {\n this[toCamelCase(name)] = parseJSON(value);\n\n super['attributeChangedCallback']?.(name, old, value);\n }\n\n syncPropAttr(name: string) {\n let value = this[toCamelCase(name)];\n\n if (!(value != null) || value === false)\n return this.removeAttribute(name);\n\n value = value === true ? name : value;\n\n if (typeof value === 'object') {\n value = value.toJSON?.();\n\n value =\n typeof value === 'object' ? JSON.stringify(value) : value;\n }\n super.setAttribute(name, value);\n }\n }\n\n return ObserverComponent as unknown as T;\n}\n\nexport type WebCellComponent = FunctionComponent | ClassComponent;\n\n/**\n * `class` decorator of Web components for MobX\n */\nexport function observer<T extends WebCellComponent>(\n func: T,\n _: ClassDecoratorContext\n): T;\nexport function observer<T extends WebCellComponent>(func: T): T;\nexport function observer<T extends WebCellComponent>(\n func: T,\n _?: ClassDecoratorContext\n) {\n return isHTMLElementClass(func) ? wrapClass(func) : wrapFunction(func);\n}\n\n/**\n * `accessor` decorator of MobX `@observable` for HTML attributes\n */\nexport function attribute<C extends HTMLElement, V>(\n _: ClassAccessorDecoratorTarget<C, V>,\n { name, addInitializer }: ClassAccessorDecoratorContext<C>\n) {\n addInitializer(function () {\n const names: string[] = this.constructor['observedAttributes'],\n attribute = toHyphenCase(name.toString());\n\n if (!names.includes(attribute)) names.push(attribute);\n });\n}\n\nexport type ReactionExpression<I = any, O = any> = (\n data: I,\n reaction: IReactionPublic\n) => O;\n\nexport type ReactionEffect<V> = (\n newValue: V,\n oldValue: V,\n reaction: IReactionPublic\n) => any;\n\n/**\n * Method decorator of MobX `reaction()`\n */\nexport function reaction<C extends HTMLElement, V>(\n expression: ReactionExpression<C, V>\n) {\n return (\n effect: ReactionEffect<V>,\n { addInitializer }: ClassMethodDecoratorContext<C>\n ) =>\n addInitializer(function () {\n const reactions = reactionMap.get(this) || [];\n\n reactions.push({ expression, effect });\n\n reactionMap.set(this, reactions);\n });\n}\n","import { DataObject } from 'dom-renderer';\nimport { ObservableValue } from 'mobx/dist/internal';\nimport { delegate } from 'web-utility';\n\nexport class Defer<T = void> {\n resolve: (value: T | PromiseLike<T>) => void;\n reject: (reason?: any) => void;\n\n promise = new Promise<T>((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n}\n\nexport function getMobxData<T extends DataObject>(observable: T) {\n for (const key of Object.getOwnPropertySymbols(observable)) {\n const store = observable[key as keyof T]?.values_ as Map<\n string,\n ObservableValue<T>\n >;\n if (store instanceof Map)\n return Object.fromEntries(\n Array.from(store, ([key, { value_ }]) => [key, value_])\n ) as T;\n }\n}\n\nexport const animated = <T extends HTMLElement | SVGElement>(\n root: T,\n targetSelector: string\n) =>\n new Promise<AnimationEvent>(resolve => {\n const ended = delegate(targetSelector, (event: AnimationEvent) => {\n root.removeEventListener('animationend', ended);\n root.removeEventListener('animationcancel', ended);\n resolve(event);\n });\n\n root.addEventListener('animationend', ended);\n root.addEventListener('animationcancel', ended);\n });\n","import { DOMRenderer, JsxProps, RenderMode, VNode } from 'dom-renderer';\nimport {\n CustomElement,\n delegate,\n DelegateEventHandler,\n isEmpty\n} from 'web-utility';\n\nexport interface ComponentMeta\n extends ElementDefinitionOptions,\n Partial<ShadowRootInit> {\n tagName: string;\n transitible?: boolean;\n renderMode?: RenderMode;\n}\n\nexport type ClassComponent = CustomElementConstructor;\n\nexport type WebCellProps<T extends HTMLElement = HTMLElement> = JsxProps<T>;\n\nexport interface WebCell<P = {}> extends CustomElement {\n props: P & WebCellProps;\n internals: ReturnType<HTMLElement['attachInternals']>;\n renderer: DOMRenderer;\n root: ParentNode;\n mounted: boolean;\n update: () => Promise<void>;\n /**\n * Called at DOM tree updated\n */\n updatedCallback?: () => any;\n /**\n * Called at first time of DOM tree updated\n */\n mountedCallback?: () => any;\n emit: (event: string, detail?: any, option?: EventInit) => boolean;\n}\n\ninterface DelegatedEvent {\n type: keyof HTMLElementEventMap;\n selector: string;\n handler: EventListener;\n}\nconst eventMap = new WeakMap<CustomElement, DelegatedEvent[]>();\n\n/**\n * `class` decorator of Web components\n */\nexport function component(meta: ComponentMeta) {\n return <T extends ClassComponent>(\n Class: T,\n { addInitializer }: ClassDecoratorContext<ClassComponent>\n ) => {\n class RendererComponent\n extends (Class as ClassComponent)\n implements WebCell\n {\n declare props: WebCellProps;\n\n internals = this.tagName.includes('-')\n ? this.attachInternals()\n : undefined;\n renderer = new DOMRenderer();\n\n get root(): ParentNode {\n return this.shadowRoot || this.internals.shadowRoot || this;\n }\n mounted = false;\n declare mountedCallback?: () => any;\n\n constructor() {\n super();\n\n if (meta.mode && !this.internals?.shadowRoot)\n this.attachShadow(meta as ShadowRootInit);\n }\n\n async connectedCallback() {\n const { mode } = meta;\n const renderChildren = !(mode != null);\n\n const { root } = this,\n events = eventMap.get(this) || [];\n\n for (const { type, selector, handler } of events) {\n if (renderChildren && /^:host/.test(selector))\n console.warn(\n `[WebCell] DOM Event delegation of \"${selector}\" won't work if you don't invoke \"this.attachShadow()\" manually.`\n );\n root.addEventListener(type, handler);\n }\n\n super['connectedCallback']?.();\n\n if (this.mounted) return;\n\n await this.update();\n\n this.mounted = true;\n this.mountedCallback?.();\n }\n\n declare render?: () => VNode;\n declare updatedCallback?: () => any;\n\n protected updateDOM(content: VNode) {\n const result = this.renderer.render(\n content,\n this.root,\n meta.renderMode as 'async'\n );\n\n return result instanceof Promise\n ? result.then(this.updatedCallback?.bind(this))\n : this.updatedCallback?.();\n }\n\n async update() {\n const vNode = this.render?.();\n\n const content = isEmpty(vNode) ? (\n meta.mode ? (\n <slot />\n ) : null\n ) : (\n vNode\n );\n if (!(content != null)) return;\n\n if (\n !meta.transitible ||\n typeof document.startViewTransition !== 'function'\n )\n return this.updateDOM(content);\n\n const { updateCallbackDone, finished } =\n document.startViewTransition(() => this.updateDOM(content));\n\n try {\n await finished;\n } catch {\n return updateCallbackDone;\n }\n }\n\n disconnectedCallback() {\n const { root } = this,\n events = eventMap.get(this) || [];\n\n for (const { type, handler } of events)\n root.removeEventListener(type, handler);\n\n super['disconnectedCallback']?.();\n }\n\n emit(\n event: string,\n detail?: any,\n { cancelable, bubbles, composed }: EventInit = {}\n ) {\n return this.dispatchEvent(\n new CustomEvent(event, {\n detail,\n cancelable,\n bubbles,\n composed\n })\n );\n }\n }\n\n addInitializer(function () {\n globalThis.customElements?.define(meta.tagName, this, meta);\n });\n\n return RendererComponent as unknown as T;\n };\n}\n\n/**\n * Method decorator of DOM Event delegation\n */\nexport function on<T extends HTMLElement>(\n type: DelegatedEvent['type'],\n selector: string\n) {\n return (\n method: DelegateEventHandler,\n { addInitializer }: ClassMethodDecoratorContext<T>\n ) =>\n addInitializer(function () {\n const events = eventMap.get(this) || [],\n handler = delegate(selector, method.bind(this));\n\n events.push({ type, selector, handler });\n\n eventMap.set(this, events);\n });\n}\n","export type PositionY = 'Top' | 'Bottom';\nexport type DirectionX = 'Left' | 'Right';\nexport type DirectionY = 'Up' | 'Down';\nexport type Direction = DirectionX | DirectionY;\nexport type AnimationMode = 'In' | 'Out';\n\nexport type AttentionSeekers =\n | 'bounce'\n | 'flash'\n | 'pulse'\n | 'rubberBand'\n | `shake${'X' | 'Y'}`\n | 'headShake'\n | 'swing'\n | 'tada'\n | 'wobble'\n | 'jello'\n | 'heartBeat';\nexport type BackEntrances = `backIn${Direction}`;\nexport type BackExits = `backOut${Direction}`;\nexport type BouncingEntrances = `bounceIn${'' | Direction}`;\nexport type BouncingExits = `bounceOut${'' | Direction}`;\nexport type FadingEntrances =\n | `fadeIn${'' | `${Direction}${'' | 'Big'}`}`\n | `fadeIn${PositionY}${DirectionX}`;\nexport type FadingExits = `fadeOut${\n | ''\n | `${Direction}${'' | 'Big'}`\n | `${PositionY}${DirectionX}`}`;\nexport type Flippers = `flip${'' | `${AnimationMode}${'X' | 'Y'}`}`;\nexport type Lightspeed = `lightSpeed${AnimationMode}${DirectionX}`;\nexport type RotatingEntrances = `rotateIn${'' | `${DirectionY}${DirectionX}`}`;\nexport type RotatingExits = `rotateOut${'' | `${DirectionY}${DirectionX}`}`;\nexport type Specials = 'hinge' | 'jackInTheBox' | `roll${'In' | 'Out'}`;\nexport type ZoomingEntrances = `zoomIn${'' | Direction}`;\nexport type ZoomingExits = `zoomOut${'' | Direction}`;\nexport type SlidingEntrances = `slideIn${Direction}`;\nexport type SlidingExits = `slideOut${Direction}`;\n\nexport type AnimationType =\n | AttentionSeekers\n | BackEntrances\n | BackExits\n | BouncingEntrances\n | BouncingExits\n | FadingEntrances\n | FadingExits\n | Flippers\n | Lightspeed\n | RotatingEntrances\n | RotatingExits\n | Specials\n | ZoomingEntrances\n | ZoomingExits\n | SlidingEntrances\n | SlidingExits;\n","import { observable } from 'mobx';\n\nimport {\n FC,\n FunctionComponent,\n observer,\n PropsWithChildren,\n WebCellComponent\n} from './decorator';\nimport { ClassComponent, component, WebCell, WebCellProps } from './WebCell';\n\nexport type ComponentTag = string | WebCellComponent;\n\nexport interface AsyncCellProps {\n loader: () => Promise<ComponentTag>;\n delegatedProps?: WebCellProps;\n}\n\nexport interface AsyncCell extends WebCell<AsyncCellProps> {}\n\n@component({\n tagName: 'async-cell'\n})\n@observer\nexport class AsyncCell extends HTMLElement implements WebCell<AsyncCellProps> {\n loader: AsyncCellProps['loader'];\n\n @observable\n accessor component: FC<PropsWithChildren>;\n\n @observable\n accessor delegatedProps: AsyncCellProps['delegatedProps'];\n\n connectedCallback() {\n this.load();\n }\n\n protected async load() {\n this.component = undefined;\n\n const Tag = await this.loader();\n\n this.component = ({ children, ...props }) => (\n <Tag {...props}>{children}</Tag>\n );\n this.emit('load', this.component);\n }\n\n render() {\n const { component: Tag, props, delegatedProps } = this;\n const { children, ...data } = { ...props, ...delegatedProps };\n\n return Tag && <Tag {...data}>{children}</Tag>;\n }\n}\n\ntype GetAsyncProps<T> = T extends () => Promise<{\n default: FunctionComponent<infer P> | ClassComponent;\n}>\n ? P\n : {};\n\nexport function lazy<\n T extends () => Promise<{ default: FunctionComponent | ClassComponent }>\n>(loader: T) {\n return (props: GetAsyncProps<T>) => (\n <AsyncCell\n delegatedProps={props}\n loader={async () => (await loader()).default}\n />\n );\n}\n","import { observable } from 'mobx';\nimport { CustomFormElement, HTMLFieldProps } from 'web-utility';\n\nimport { attribute, reaction } from './decorator';\nimport { ClassComponent, WebCell } from './WebCell';\n\nexport interface WebField<P = {}>\n extends CustomFormElement,\n WebCell<P & HTMLFieldProps> {}\n\n/**\n * `class` decorator of Form associated Web components\n */\nexport function formField<T extends ClassComponent>(\n Class: T,\n _: ClassDecoratorContext\n) {\n class FormFieldComponent\n extends (Class as ClassComponent)\n implements CustomFormElement\n {\n /**\n * Defined in {@link component}\n */\n declare internals: ElementInternals;\n static formAssociated = true;\n\n @reaction(({ value }) => value)\n setValue(value: string) {\n this.internals.setFormValue(value);\n }\n\n formDisabledCallback(disabled: boolean) {\n this.disabled = disabled;\n }\n\n @attribute\n @observable\n accessor name: string;\n\n @observable\n accessor value: string;\n\n @attribute\n @observable\n accessor required: boolean;\n\n @attribute\n @observable\n accessor disabled: boolean;\n\n @attribute\n @observable\n accessor autofocus: boolean;\n\n set defaultValue(raw: string) {\n this.setAttribute('value', raw);\n\n this.value ??= raw;\n }\n\n get defaultValue() {\n return this.getAttribute('value');\n }\n\n get form() {\n return this.internals.form;\n }\n get validity() {\n return this.internals.validity;\n }\n get validationMessage() {\n return this.internals.validationMessage;\n }\n get willValidate() {\n return this.internals.willValidate;\n }\n checkValidity() {\n return this.internals.checkValidity();\n }\n reportValidity() {\n return this.internals.reportValidity();\n }\n }\n\n return FormFieldComponent as unknown as T;\n}\n","import { parseURLData } from 'web-utility';\n\nexport const { renderMode = 'sync' } = parseURLData() as {\n renderMode?: 'sync';\n};\n","import 'mdui/components/button';\nimport 'mdui/components/card';\n\nimport { observable } from 'mobx';\nimport { attribute, component, observer, reaction, WebCell } from 'web-cell';\n\nimport companyStore, { Company, WorkType } from '../model/Company';\nimport { renderMode } from '../utility';\n\nexport interface CompanyListProps {\n type: WorkType;\n}\n\nexport interface CompanyList extends WebCell<CompanyListProps> {}\n\n@component({ tagName: 'company-list', renderMode })\n@observer\nexport class CompanyList\n extends HTMLElement\n implements WebCell<CompanyListProps>\n{\n @attribute\n @observable\n accessor type: WorkType = '996';\n\n @reaction(({ type }) => type)\n mountedCallback() {\n companyStore.getList(this.type);\n }\n\n renderCase = ({\n name,\n url,\n city,\n rule,\n evidences,\n date,\n comment_url\n }: Company) => (\n <mdui-card className=\"flex h-full flex-col gap-4 p-4\">\n <h2 className=\"font-bold text-blue-500\" title={name}>\n {url ? (\n <a target=\"_blank\" href={url} rel=\"noreferrer\">\n {name}\n </a>\n ) : (\n name\n )}\n </h2>\n <div className=\"flex flex-1 flex-col gap-4\">\n <p className=\"text-neutral-500\">{city}</p>\n <p>{rule}</p>\n\n <ol className=\"list-inside list-decimal\">\n {evidences.map(({ href, title }) => (\n <li key={title}>\n <a\n target=\"_blank\"\n className=\"text-blue-500 underline\"\n href={href}\n rel=\"noreferrer\"\n >\n {title}\n </a>\n </li>\n ))}\n </ol>\n </div>\n <div className=\"flex items-center justify-between\">\n <time className=\"truncate\" title={date}>\n {date}\n </time>\n <mdui-button target=\"_blank\" href={comment_url} icon=\"edit\">\n Comment\n </mdui-button>\n </div>\n </mdui-card>\n );\n\n render() {\n const { list } = companyStore;\n\n return (\n <ul className=\"grid gap-4 p-4 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4\">\n {list.map(item => (\n <li key={item.name}>{this.renderCase(item)}</li>\n ))}\n </ul>\n );\n }\n}\n","export * from './button/index.js';\n","import { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { booleanConverter } from '@mdui/shared/helpers/decorator.js';\nimport { nothingTemplate } from '@mdui/shared/helpers/template.js';\nimport '../icon.js';\nimport { ButtonBase } from './button-base.js';\nimport { style } from './style.js';\n/**\n * @summary 按钮组件\n *\n * ```html\n * <mdui-button>Button</mdui-button>\n * ```\n *\n * @event focus - 获得焦点时触发\n * @event blur - 失去焦点时触发\n * @event invalid - 表单字段验证未通过时触发\n *\n * @slot - 按钮的文本\n * @slot icon - 按钮左侧的元素\n * @slot end-icon - 按钮右侧的元素\n *\n * @csspart button - 内部的 `<button>` 或 `<a>` 元素\n * @csspart label - 按钮的文本\n * @csspart icon - 按钮左侧的图标\n * @csspart end-icon - 按钮右侧的图标\n * @csspart loading - 加载中状态的 `<mdui-circular-progress>` 元素\n *\n * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐引用[设计令牌](/docs/2/styles/design-tokens#shape-corner)\n */\nlet Button = class Button extends ButtonBase {\n constructor() {\n super(...arguments);\n /**\n * 按钮的形状。可选值包括:\n *\n * * `elevated`:带阴影的按钮,适用于需要将按钮与背景视觉分离的场景\n * * `filled`:视觉效果强烈,适用于重要流程的最终操作,如“保存”、“确认”等\n * * `tonal`:视觉效果介于 `filled` 和 `outlined` 之间,适用于中高优先级的操作,如流程中的“下一步”\n * * `outlined`:带边框的按钮,适用于中等优先级,且次要的操作,如“返回”\n * * `text`:文本按钮,适用于最低优先级的操作\n */\n this.variant = 'filled';\n /**\n * 是否填满父元素宽度\n */\n this.fullWidth = false;\n this.rippleRef = createRef();\n }\n get rippleElement() {\n return this.rippleRef.value;\n }\n render() {\n return html `<mdui-ripple ${ref(this.rippleRef)} .noRipple=\"${this.noRipple}\"></mdui-ripple>${this.isButton()\n ? this.renderButton({\n className: 'button',\n part: 'button',\n content: this.renderInner(),\n })\n : this.disabled || this.loading\n ? html `<span part=\"button\" class=\"button _a\">${this.renderInner()}</span>`\n : this.renderAnchor({\n className: 'button',\n part: 'button',\n content: this.renderInner(),\n })}`;\n }\n renderIcon() {\n if (this.loading) {\n return this.renderLoading();\n }\n return html `<slot name=\"icon\" part=\"icon\" class=\"icon\">${this.icon\n ? html `<mdui-icon name=\"${this.icon}\"></mdui-icon>`\n : nothingTemplate}</slot>`;\n }\n renderLabel() {\n return html `<slot part=\"label\" class=\"label\"></slot>`;\n }\n renderEndIcon() {\n return html `<slot name=\"end-icon\" part=\"end-icon\" class=\"end-icon\">${this.endIcon\n ? html `<mdui-icon name=\"${this.endIcon}\"></mdui-icon>`\n : nothingTemplate}</slot>`;\n }\n renderInner() {\n return [this.renderIcon(), this.renderLabel(), this.renderEndIcon()];\n }\n};\nButton.styles = [ButtonBase.styles, style];\n__decorate([\n property({ reflect: true })\n], Button.prototype, \"variant\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n attribute: 'full-width',\n })\n], Button.prototype, \"fullWidth\", void 0);\n__decorate([\n property({ reflect: true })\n], Button.prototype, \"icon\", void 0);\n__decorate([\n property({ reflect: true, attribute: 'end-icon' })\n], Button.prototype, \"endIcon\", void 0);\nButton = __decorate([\n customElement('mdui-button')\n], Button);\nexport { Button };\n","import { css } from 'lit';\nexport const style = css `:host{--shape-corner:var(--mdui-shape-corner-full);position:relative;display:inline-block;flex-shrink:0;overflow:hidden;text-align:center;border-radius:var(--shape-corner);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:box-shadow var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);min-width:3rem;height:2.5rem;color:rgb(var(--mdui-color-primary));font-size:var(--mdui-typescale-label-large-size);font-weight:var(--mdui-typescale-label-large-weight);letter-spacing:var(--mdui-typescale-label-large-tracking);line-height:var(--mdui-typescale-label-large-line-height)}.button{width:100%;padding:0 1rem}:host([full-width]:not([full-width=false i])){display:block}:host([variant=elevated]){box-shadow:var(--mdui-elevation-level1);background-color:rgb(var(--mdui-color-surface-container-low));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=filled]){color:rgb(var(--mdui-color-on-primary));background-color:rgb(var(--mdui-color-primary));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-primary)}:host([variant=tonal]){color:rgb(var(--mdui-color-on-secondary-container));background-color:rgb(var(--mdui-color-secondary-container));--mdui-comp-ripple-state-layer-color:var(\n --mdui-color-on-secondary-container\n )}:host([variant=outlined]){border:.0625rem solid rgb(var(--mdui-color-outline));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=text]){--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=outlined][focus-visible]){border-color:rgb(var(--mdui-color-primary))}:host([variant=elevated][hover]){box-shadow:var(--mdui-elevation-level2)}:host([variant=filled][hover]),:host([variant=tonal][hover]){box-shadow:var(--mdui-elevation-level1)}:host([disabled]:not([disabled=false i])),:host([loading]:not([loading=false i])){cursor:default;pointer-events:none}:host([disabled]:not([disabled=false i])){color:rgba(var(--mdui-color-on-surface),38%);box-shadow:var(--mdui-elevation-level0)}:host([variant=elevated][disabled]:not([disabled=false i])),:host([variant=filled][disabled]:not([disabled=false i])),:host([variant=tonal][disabled]:not([disabled=false i])){background-color:rgba(var(--mdui-color-on-surface),12%)}:host([variant=outlined][disabled]:not([disabled=false i])){border-color:rgba(var(--mdui-color-on-surface),12%)}.label{display:inline-flex;padding-right:.5rem;padding-left:.5rem}.end-icon,.icon{display:inline-flex;font-size:1.28571429em}.end-icon mdui-icon,.icon mdui-icon,::slotted([slot=end-icon]),::slotted([slot=icon]){font-size:inherit}mdui-circular-progress{display:inline-flex;width:1.125rem;height:1.125rem}:host([variant=filled]) mdui-circular-progress{stroke:rgb(var(--mdui-color-on-primary))}:host([variant=tonal]) mdui-circular-progress{stroke:rgb(var(--mdui-color-on-secondary-container))}:host([disabled]:not([disabled=false i])) mdui-circular-progress{stroke:rgba(var(--mdui-color-on-surface),38%)}`;\n","export * from './card/index.js';\n","import { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { MduiElement } from '@mdui/shared/base/mdui-element.js';\nimport { booleanConverter } from '@mdui/shared/helpers/decorator.js';\nimport { componentStyle } from '@mdui/shared/lit-styles/component-style.js';\nimport { AnchorMixin } from '@mdui/shared/mixins/anchor.js';\nimport { FocusableMixin } from '@mdui/shared/mixins/focusable.js';\nimport { RippleMixin } from '../ripple/ripple-mixin.js';\nimport { style } from './style.js';\n/**\n * @summary 卡片组件\n *\n * ```html\n * <mdui-card>card content</mdui-card>\n * ```\n *\n * @event focus - 获得焦点时触发\n * @event blur - 失去焦点时触发\n *\n * @slot - 卡片的内容\n *\n * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐引用[设计令牌](/docs/2/styles/design-tokens#shape-corner)\n */\nlet Card = class Card extends AnchorMixin(RippleMixin(FocusableMixin(MduiElement))) {\n constructor() {\n super(...arguments);\n /**\n * 卡片的形状。可选值包括:\n *\n * * `elevated`:带阴影的卡片,与背景的视觉分离度较高\n * * `filled`:带填充色的卡片,与背景的视觉分离度较低\n * * `outlined`:带边框的卡片,与背景的视觉分离度最高\n */\n this.variant = 'elevated';\n /**\n * 是否可点击。为 `true` 时,卡片将具有鼠标悬浮效果和点击涟漪效果\n */\n this.clickable = false;\n /**\n * 是否禁用\n */\n this.disabled = false;\n this.rippleRef = createRef();\n }\n get rippleElement() {\n return this.rippleRef.value;\n }\n get rippleDisabled() {\n return this.disabled || (!this.href && !this.clickable);\n }\n get focusElement() {\n return this.href && !this.disabled\n ? this.renderRoot.querySelector('._a')\n : this;\n }\n get focusDisabled() {\n return this.rippleDisabled;\n }\n render() {\n return html `<mdui-ripple ${ref(this.rippleRef)} .noRipple=\"${this.noRipple}\"></mdui-ripple>${this.href && !this.disabled\n ? this.renderAnchor({\n className: 'link',\n content: html `<slot></slot>`,\n })\n : html `<slot></slot>`}`;\n }\n};\nCard.styles = [componentStyle, style];\n__decorate([\n property({ reflect: true })\n], Card.prototype, \"variant\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n })\n], Card.prototype, \"clickable\", void 0);\n__decorate([\n property({\n type: Boolean,\n reflect: true,\n converter: booleanConverter,\n })\n], Card.prototype, \"disabled\", void 0);\nCard = __decorate([\n customElement('mdui-card')\n], Card);\nexport { Card };\n","import { css } from 'lit';\nexport const style = css `:host{--shape-corner:var(--mdui-shape-corner-medium);position:relative;display:inline-block;overflow:hidden;border-radius:var(--shape-corner);-webkit-tap-highlight-color:transparent;transition:box-shadow var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([clickable]:not([clickable=false i])){cursor:pointer}:host([variant=elevated]){background-color:rgb(var(--mdui-color-surface-container-low));box-shadow:var(--mdui-elevation-level1)}:host([variant=filled]){background-color:rgb(var(--mdui-color-surface-container-highest))}:host([variant=outlined]){background-color:rgb(var(--mdui-color-surface));border:.0625rem solid rgb(var(--mdui-color-outline))}:host([variant=elevated][hover]){box-shadow:var(--mdui-elevation-level2)}:host([variant=filled][hover]),:host([variant=outlined][hover]){box-shadow:var(--mdui-elevation-level1)}:host([variant=elevated][dragged]),:host([variant=filled][dragged]),:host([variant=outlined][dragged]){box-shadow:var(--mdui-elevation-level3)}:host([disabled]:not([disabled=false i])){opacity:.38;cursor:default;-webkit-user-select:none;user-select:none}:host([variant=elevated][disabled]:not([disabled=false i])){background-color:rgb(var(--mdui-color-surface-variant));box-shadow:var(--mdui-elevation-level0)}:host([variant=filled][disabled]:not([disabled=false i])){background-color:rgb(var(--mdui-color-surface));box-shadow:var(--mdui-elevation-level1)}:host([variant=outlined][disabled]:not([disabled=false i])){box-shadow:var(--mdui-elevation-level0);border-color:rgba(var(--mdui-color-outline),.32)}.link{position:relative;display:inline-block;width:100%;height:100%;color:inherit;font-size:inherit;letter-spacing:inherit;text-decoration:none;touch-action:manipulation;-webkit-user-drag:none}`;\n","import { observable } from 'mobx';\n\nimport { service } from './service';\n\nexport type WorkType = '996' | '955';\n\nexport interface Evidence {\n title: string;\n href?: string;\n}\n\nexport interface Company\n extends Record<'name' | 'city' | 'rule' | 'date' | 'comment_url', string> {\n url?: string;\n evidences: Evidence[];\n}\n\nexport class CompanyModel {\n @observable\n accessor list: Company[] = [];\n\n async getList(type: WorkType) {\n const { body } = await service.get<Company[]>(`${type}.json`);\n\n return (this.list = body!.sort(({ date: A }, { date: B }) =>\n B.localeCompare(A)\n ));\n }\n}\n\nexport default new CompanyModel();\n","import { HTTPClient } from 'koajax';\n\nexport const service = new HTTPClient({\n baseURI: 'https://fcc-cd.dev/996-data/',\n responseType: 'json'\n});\n","import {parseJSON as $42h8L$parseJSON, likeArray as $42h8L$likeArray, stringifyDOM as $42h8L$stringifyDOM, formToJSON as $42h8L$formToJSON, isTypedArray as $42h8L$isTypedArray, createAsyncIterator as $42h8L$createAsyncIterator} from \"web-utility\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $eef213ff4197108b$exports = {};\n\n$parcel$export($eef213ff4197108b$exports, \"Stack\", function () { return $eef213ff4197108b$export$694e0d28c7ffc90c; });\nconst { push: $eef213ff4197108b$var$push } = Array.prototype;\nclass $eef213ff4197108b$export$694e0d28c7ffc90c {\n use(...middlewares) {\n $eef213ff4197108b$var$push.apply(this, middlewares);\n return this;\n }\n execute(context, depth = 0) {\n const middleware = this[depth];\n if (middleware instanceof Function) return middleware(context, this.execute.bind(this, context, ++depth));\n }\n mount(condition, stack) {\n return this.use((context, next)=>condition(context) ? stack.execute(context) : next());\n }\n constructor(){\n this.length = 0;\n }\n}\n\n\nvar $0fe1f1400993ba8a$exports = {};\n\n$parcel$export($0fe1f1400993ba8a$exports, \"BodyRequestMethods\", function () { return $0fe1f1400993ba8a$export$4125cfe7e08e2040; });\n$parcel$export($0fe1f1400993ba8a$exports, \"HTTPError\", function () { return $0fe1f1400993ba8a$export$aa9d629c530f62a7; });\n$parcel$export($0fe1f1400993ba8a$exports, \"headerParser\", function () { return $0fe1f1400993ba8a$export$b725a69477e4d33f; });\n$parcel$export($0fe1f1400993ba8a$exports, \"parseHeaders\", function () { return $0fe1f1400993ba8a$export$eea2c1c5e1a37e50; });\n$parcel$export($0fe1f1400993ba8a$exports, \"parseBody\", function () { return $0fe1f1400993ba8a$export$3b629cd0ff482602; });\n$parcel$export($0fe1f1400993ba8a$exports, \"requestXHR\", function () { return $0fe1f1400993ba8a$export$4f2a8c8c11a6373a; });\n$parcel$export($0fe1f1400993ba8a$exports, \"requestFetch\", function () { return $0fe1f1400993ba8a$export$bda27a3e49197b9; });\n$parcel$export($0fe1f1400993ba8a$exports, \"parseResponse\", function () { return $0fe1f1400993ba8a$export$ba14d9a5a581e827; });\n$parcel$export($0fe1f1400993ba8a$exports, \"parseFetchBody\", function () { return $0fe1f1400993ba8a$export$b7b86d31099674dc; });\n$parcel$export($0fe1f1400993ba8a$exports, \"request\", function () { return $0fe1f1400993ba8a$export$b5fe3f66a567bec0; });\n\nvar $22de11b45b0eeb97$exports = {};\n\n$parcel$export($22de11b45b0eeb97$exports, \"parseDocument\", function () { return $22de11b45b0eeb97$export$b6a9369736b19f4d; });\n$parcel$export($22de11b45b0eeb97$exports, \"makeFormData\", function () { return $22de11b45b0eeb97$export$2c28ab2e118e73f1; });\n$parcel$export($22de11b45b0eeb97$exports, \"serializeNode\", function () { return $22de11b45b0eeb97$export$a0beee2e55fb5dd1; });\n$parcel$export($22de11b45b0eeb97$exports, \"serialize\", function () { return $22de11b45b0eeb97$export$dfdc1655ccc5b9cb; });\n$parcel$export($22de11b45b0eeb97$exports, \"streamFromProgress\", function () { return $22de11b45b0eeb97$export$f8162fcba31fa547; });\n$parcel$export($22de11b45b0eeb97$exports, \"emitStreamProgress\", function () { return $22de11b45b0eeb97$export$cebfdbc318a33abe; });\n$parcel$export($22de11b45b0eeb97$exports, \"FileMethod\", function () { return $22de11b45b0eeb97$export$226b21d2db5eaf9f; });\n$parcel$export($22de11b45b0eeb97$exports, \"readAs\", function () { return $22de11b45b0eeb97$export$e209cbb66c5b18c; });\n$parcel$export($22de11b45b0eeb97$exports, \"encodeBase64\", function () { return $22de11b45b0eeb97$export$8fb536984ec8b4d7; });\n\nglobalThis.ProgressEvent ||= class ProgressEvent1 extends Event {\n constructor(type, { lengthComputable: lengthComputable, total: total, loaded: loaded, ...meta } = {}){\n super(type, meta);\n this.lengthComputable = lengthComputable;\n this.total = total;\n this.loaded = loaded;\n }\n};\nasync function $22de11b45b0eeb97$export$b6a9369736b19f4d(text, contentType = '') {\n const [type] = contentType?.split(';') || [];\n return new DOMParser().parseFromString(text, type || 'text/html');\n}\nfunction $22de11b45b0eeb97$export$2c28ab2e118e73f1(data) {\n const formData = new FormData();\n for (const [key, value] of Object.entries(data)){\n const list = typeof value !== 'string' && (0, $42h8L$likeArray)(value) ? value : [\n value\n ];\n for (const item of Array.from(list))if (item != null) {\n if (typeof item === 'object') formData.append(key, item, item.name);\n else formData.append(key, item);\n }\n }\n return formData;\n}\nfunction $22de11b45b0eeb97$export$a0beee2e55fb5dd1(root) {\n var contentType;\n if (!(root instanceof HTMLFormElement)) return {\n contentType: root instanceof SVGElement ? 'image/svg' : root instanceof Document || root instanceof HTMLElement ? 'text/html' : 'application/xml',\n data: (0, $42h8L$stringifyDOM)(root)\n };\n if (root.querySelector('input[type=\"file\"][name]')) return {\n contentType: 'multipart/form-data',\n data: new FormData(root)\n };\n const data = (0, $42h8L$formToJSON)(root);\n switch(contentType = root.enctype){\n case 'text/plain':\n return {\n contentType: contentType,\n data: Object.entries(data).map(([name, value])=>`${name}=${value}`).join('\\n')\n };\n case 'application/x-www-form-urlencoded':\n return {\n contentType: contentType,\n data: new URLSearchParams(data)\n };\n default:\n return {\n contentType: 'application/json',\n data: JSON.stringify(data)\n };\n }\n}\nfunction $22de11b45b0eeb97$export$dfdc1655ccc5b9cb(data, contentType) {\n const [type] = contentType?.split(';') || [];\n switch(type){\n case 'application/x-www-form-urlencoded':\n return {\n contentType: contentType,\n data: new URLSearchParams(data)\n };\n case 'multipart/form-data':\n return {\n data: $22de11b45b0eeb97$export$2c28ab2e118e73f1(data)\n };\n case 'application/json':\n return {\n contentType: contentType,\n data: JSON.stringify(data)\n };\n case 'text/html':\n case 'application/xml':\n case 'image/svg':\n return {\n contentType: contentType,\n data: (0, $42h8L$stringifyDOM)(data)\n };\n }\n if (type) return {\n data: data,\n contentType: contentType\n };\n try {\n if (data instanceof URLSearchParams) return {\n contentType: 'application/x-www-form-urlencoded',\n data: data\n };\n } catch {}\n try {\n if (data instanceof FormData) return {\n data: data\n };\n } catch {}\n try {\n if (data instanceof Node) return $22de11b45b0eeb97$export$a0beee2e55fb5dd1(data);\n } catch {}\n try {\n if ((0, $42h8L$isTypedArray)(data) || data instanceof ArrayBuffer || data instanceof DataView || data instanceof Blob || data instanceof ReadableStream) return {\n contentType: 'application/octet-stream',\n data: data\n };\n } catch {}\n try {\n return {\n contentType: 'application/json',\n data: JSON.stringify(data)\n };\n } catch {}\n throw new Error('Unserialized Object needs a specific Content-Type');\n}\nconst $22de11b45b0eeb97$export$f8162fcba31fa547 = (target)=>(0, $42h8L$createAsyncIterator)(({ next: next, complete: complete, error: error })=>{\n const handleProgress = ({ loaded: loaded, total: total })=>{\n next({\n loaded: loaded,\n total: total\n });\n if (loaded >= total) complete();\n };\n target.addEventListener('progress', handleProgress);\n target.addEventListener('error', error);\n return ()=>{\n target.removeEventListener('progress', handleProgress);\n target.removeEventListener('error', error);\n };\n });\nasync function* $22de11b45b0eeb97$export$cebfdbc318a33abe(stream, total, eventTarget) {\n var loaded = 0;\n for await (const chunk of stream){\n yield chunk;\n loaded += chunk.byteLength;\n const event = new ProgressEvent('progress', {\n lengthComputable: isNaN(total),\n loaded: loaded,\n total: total\n });\n eventTarget.dispatchEvent(event);\n }\n}\nvar $22de11b45b0eeb97$export$226b21d2db5eaf9f = /*#__PURE__*/ function(FileMethod) {\n FileMethod[\"text\"] = \"readAsText\";\n FileMethod[\"dataURL\"] = \"readAsDataURL\";\n FileMethod[\"binaryString\"] = \"readAsBinaryString\";\n FileMethod[\"arrayBuffer\"] = \"readAsArrayBuffer\";\n return FileMethod;\n}({});\nfunction $22de11b45b0eeb97$export$e209cbb66c5b18c(file, method, encoding) {\n const reader = new FileReader();\n const result = new Promise((resolve, reject)=>{\n reader.onerror = reject;\n reader.onload = ()=>resolve(reader.result);\n reader[$22de11b45b0eeb97$export$226b21d2db5eaf9f[method]](file, encoding);\n });\n return {\n progress: $22de11b45b0eeb97$export$f8162fcba31fa547(reader),\n result: result\n };\n}\nconst $22de11b45b0eeb97$var$DataURI = /^data:(.+?\\/(.+?))?(;base64)?,([\\s\\S]+)/;\nasync function $22de11b45b0eeb97$export$8fb536984ec8b4d7(raw) {\n if (raw instanceof Blob) {\n const text = await $22de11b45b0eeb97$export$e209cbb66c5b18c(raw, 'dataURL').result;\n return ($22de11b45b0eeb97$var$DataURI.exec(text) || '')[4];\n }\n const text = encodeURIComponent(raw).replace(/%([0-9A-F]{2})/g, (_, p1)=>String.fromCharCode(+('0x' + p1)));\n return btoa(text);\n}\n\n\nvar $0fe1f1400993ba8a$export$4125cfe7e08e2040 = /*#__PURE__*/ function(BodyRequestMethods) {\n BodyRequestMethods[\"POST\"] = \"POST\";\n BodyRequestMethods[\"PUT\"] = \"PUT\";\n BodyRequestMethods[\"PATCH\"] = \"PATCH\";\n BodyRequestMethods[\"DELETE\"] = \"DELETE\";\n return BodyRequestMethods;\n}({});\nclass $0fe1f1400993ba8a$export$aa9d629c530f62a7 extends URIError {\n constructor(message, request, response){\n super(message), this.request = request, this.response = response;\n }\n}\nconst $0fe1f1400993ba8a$export$b725a69477e4d33f = {\n Link: (value)=>Object.fromEntries(Array.from(value.matchAll(/<(\\S+?)>; rel=\"(\\w+)\"(?:; title=\"(.*?)\")?/g), ([_, URI, rel, title])=>[\n rel,\n {\n rel: rel,\n URI: URI,\n title: title\n }\n ]))\n};\nconst $0fe1f1400993ba8a$export$eea2c1c5e1a37e50 = (raw)=>Object.fromEntries(Array.from(raw.trim().matchAll(/^([\\w-]+):\\s*(.*)/gm), ([_, key, value])=>{\n key = key.replace(/(^[a-z]|-[a-z])/g, (char)=>char.toUpperCase());\n return [\n key,\n $0fe1f1400993ba8a$export$b725a69477e4d33f[key]?.(value) ?? value\n ];\n }));\nfunction $0fe1f1400993ba8a$export$3b629cd0ff482602(raw, contentType) {\n if (contentType.includes('json')) return (0, $42h8L$parseJSON)(raw);\n if (contentType.match(/html|xml/)) try {\n return (0, $22de11b45b0eeb97$export$b6a9369736b19f4d)(raw, contentType);\n } catch {}\n if (contentType.includes('text')) return raw;\n return new TextEncoder().encode(raw).buffer;\n}\nfunction $0fe1f1400993ba8a$export$4f2a8c8c11a6373a({ method: method = 'GET', path: path, headers: headers = {}, body: body, signal: signal, ...rest }) {\n const request = new XMLHttpRequest();\n const header = new Headers(headers);\n const bodyPromise = body instanceof globalThis.ReadableStream ? Array.fromAsync(body).then((parts)=>new Blob(parts)) : Promise.resolve(body);\n const abort = ()=>request.abort();\n signal?.addEventListener('abort', abort);\n const response = new Promise((resolve, reject)=>{\n request.onreadystatechange = ()=>{\n const { readyState: readyState, status: status, statusText: statusText, responseType: responseType } = request;\n if (readyState !== 4 || !status && !signal?.aborted) return;\n resolve({\n status: status,\n statusText: statusText,\n headers: $0fe1f1400993ba8a$export$eea2c1c5e1a37e50(request.getAllResponseHeaders()),\n body: responseType && responseType !== 'text' ? request.response : request.responseText\n });\n };\n request.onerror = request.ontimeout = reject;\n const [MIMEType] = header.get('Accept')?.split(',') || [\n rest.responseType === 'document' ? 'application/xhtml+xml' : rest.responseType === 'json' ? 'application/json' : ''\n ];\n if (MIMEType) request.overrideMimeType(MIMEType);\n request.open(method, path + '');\n for (const [key, value] of header)request.setRequestHeader(key, value);\n Object.assign(request, rest);\n bodyPromise.then((body)=>request.send(body));\n }).then(({ body: body, ...meta })=>{\n signal?.throwIfAborted();\n const contentType = request.getResponseHeader('Content-Type') || '';\n if (typeof body === 'string' && !contentType.includes('text')) body = $0fe1f1400993ba8a$export$3b629cd0ff482602(body, contentType);\n return {\n ...meta,\n body: body\n };\n });\n response.finally(()=>signal?.removeEventListener('abort', abort));\n return {\n response: response,\n upload: (0, $22de11b45b0eeb97$export$f8162fcba31fa547)(request.upload),\n download: (0, $22de11b45b0eeb97$export$f8162fcba31fa547)(request)\n };\n}\nfunction $0fe1f1400993ba8a$export$bda27a3e49197b9({ path: path, method: method, headers: headers, withCredentials: withCredentials, body: body, signal: signal, timeout: timeout, responseType: responseType }) {\n const signals = [\n signal,\n timeout && AbortSignal.timeout(timeout)\n ].filter(Boolean);\n headers = headers instanceof Headers ? Object.fromEntries(headers.entries()) : headers instanceof Array ? Object.fromEntries(headers) : headers;\n headers = responseType === 'text' ? {\n ...headers,\n Accept: 'text/plain'\n } : responseType === 'json' ? {\n ...headers,\n Accept: 'application/json'\n } : responseType === 'document' ? {\n ...headers,\n Accept: 'text/html, application/xhtml+xml, application/xml'\n } : responseType === 'arraybuffer' || responseType === 'blob' ? {\n ...headers,\n Accept: 'application/octet-stream'\n } : headers;\n const isStream = body instanceof globalThis.ReadableStream;\n var upload;\n if (isStream) {\n const uploadProgress = new EventTarget();\n body = globalThis.ReadableStream['from']((0, $22de11b45b0eeb97$export$cebfdbc318a33abe)(body, +headers['Content-Length'], uploadProgress));\n upload = (0, $22de11b45b0eeb97$export$f8162fcba31fa547)(uploadProgress);\n }\n const downloadProgress = new EventTarget();\n const response = fetch(path + '', {\n method: method,\n headers: headers,\n credentials: withCredentials ? 'include' : 'omit',\n body: body,\n signal: signals[0] && AbortSignal.any(signals),\n // @ts-expect-error https://developer.chrome.com/docs/capabilities/web-apis/fetch-streaming-requests\n duplex: isStream ? 'half' : undefined\n }).then((response)=>$0fe1f1400993ba8a$export$ba14d9a5a581e827(response, responseType, downloadProgress));\n return {\n response: response,\n upload: upload,\n download: (0, $22de11b45b0eeb97$export$f8162fcba31fa547)(downloadProgress)\n };\n}\nasync function $0fe1f1400993ba8a$export$ba14d9a5a581e827({ status: status, statusText: statusText, headers: headers, body: body }, responseType, downloadProgress) {\n const stream = globalThis.ReadableStream['from']((0, $22de11b45b0eeb97$export$cebfdbc318a33abe)(body, +headers.get('Content-Length'), downloadProgress));\n const contentType = headers.get('Content-Type') || '';\n const header = $0fe1f1400993ba8a$export$eea2c1c5e1a37e50([\n ...headers\n ].map(([key, value])=>`${key}: ${value}`).join('\\n'));\n const rBody = status === 204 ? undefined : await $0fe1f1400993ba8a$export$b7b86d31099674dc(stream, contentType, responseType);\n return {\n status: status,\n statusText: statusText,\n headers: header,\n body: rBody\n };\n}\nasync function $0fe1f1400993ba8a$export$b7b86d31099674dc(stream, contentType, responseType) {\n const blob = new Blob(await Array.fromAsync(stream), {\n type: contentType\n });\n if (responseType === 'blob') return blob;\n if (responseType === 'arraybuffer') return blob.arrayBuffer();\n const text = await blob.text();\n if (responseType === 'text') return text;\n return $0fe1f1400993ba8a$export$3b629cd0ff482602(text, contentType);\n}\nconst $0fe1f1400993ba8a$export$b5fe3f66a567bec0 = typeof globalThis.XMLHttpRequest === 'function' ? $0fe1f1400993ba8a$export$4f2a8c8c11a6373a : $0fe1f1400993ba8a$export$bda27a3e49197b9;\n\n\nvar $cbd22d3323bef9ca$exports = {};\n\n$parcel$export($cbd22d3323bef9ca$exports, \"HTTPClient\", function () { return $cbd22d3323bef9ca$export$45cf759b359d3d24; });\n\n\n\nconst { splice: $cbd22d3323bef9ca$var$splice } = Array.prototype;\nclass $cbd22d3323bef9ca$export$45cf759b359d3d24 extends (0, $eef213ff4197108b$export$694e0d28c7ffc90c) {\n constructor({ baseURI: baseURI = globalThis.document?.baseURI, baseRequest: baseRequest = (0, $0fe1f1400993ba8a$export$b5fe3f66a567bec0), ...options } = {}){\n super(), this.defaultWare = async ({ request: request, response: response }, next)=>{\n const { method: method = 'GET', headers: headers = {}, body: body } = request;\n if (method in (0, $0fe1f1400993ba8a$export$4125cfe7e08e2040) && body && typeof body === 'object') {\n const { contentType: contentType, data: data } = (0, $22de11b45b0eeb97$export$dfdc1655ccc5b9cb)(body, headers['Content-Type']);\n if (contentType) headers['Content-Type'] = contentType;\n request.body = data;\n }\n await next();\n if (response.status > 299) throw new (0, $0fe1f1400993ba8a$export$aa9d629c530f62a7)(response.statusText, request, response);\n };\n this.baseURI = baseURI;\n this.baseRequest = baseRequest;\n this.options = options;\n super.use(this.defaultWare);\n super.use(async ({ request: data, response: response })=>{\n data.path = new URL(data.path + '', this.baseURI) + '';\n Object.assign(response, await this.baseRequest({\n ...options,\n ...data\n }).response);\n });\n }\n use(...middlewares) {\n $cbd22d3323bef9ca$var$splice.call(this, -2, 0, ...middlewares);\n return this;\n }\n async request(data) {\n const context = {\n request: {\n ...data,\n headers: {\n ...data.headers\n }\n },\n response: {}\n };\n await this.execute(context);\n return context.response;\n }\n async head(path, headers, options) {\n const { headers: data } = await this.request({\n method: 'HEAD',\n path: path,\n headers: headers,\n ...options\n });\n return data;\n }\n get(path, headers, options) {\n return this.request({\n method: 'GET',\n path: path,\n headers: headers,\n ...options\n });\n }\n post(path, body, headers, options) {\n return this.request({\n method: 'POST',\n path: path,\n headers: headers,\n body: body,\n ...options\n });\n }\n put(path, body, headers, options) {\n return this.request({\n method: 'PUT',\n path: path,\n headers: headers,\n body: body,\n ...options\n });\n }\n patch(path, body, headers, options) {\n return this.request({\n method: 'PATCH',\n path: path,\n headers: headers,\n body: body,\n ...options\n });\n }\n delete(path, body, headers, options) {\n return this.request({\n method: 'DELETE',\n path: path,\n headers: headers,\n body: body,\n ...options\n });\n }\n async *download(path, { headers: headers, chunkSize: chunkSize = 1024 ** 2, range: [start = 0, end = Infinity] = [], ...options } = {}) {\n var total = 0;\n function setEndAsHeader(length) {\n total = length;\n if (end === Infinity) end = total;\n }\n try {\n const { 'Content-Length': length } = await this.head(path, headers, options);\n setEndAsHeader(+length);\n } catch (error) {\n console.error(error);\n }\n for(let i = start, j = i - 1 + chunkSize; i < end; i = j + 1, j += chunkSize){\n const { status: status, headers: { 'Content-Range': range }, body: body } = await this.get(path, {\n ...headers,\n Range: `bytes=${i}-${j}`\n }, options);\n const totalBytes = +range?.split('/').pop();\n if (totalBytes) setEndAsHeader(totalBytes);\n if (status !== 206) {\n yield {\n total: total,\n loaded: total,\n percent: 100,\n buffer: body\n };\n break;\n }\n const loaded = i + body.byteLength;\n yield {\n total: total,\n loaded: loaded,\n percent: +(loaded / total * 100).toFixed(2),\n buffer: body\n };\n }\n }\n}\n\n\n\n\n\nexport {$eef213ff4197108b$export$694e0d28c7ffc90c as Stack, $0fe1f1400993ba8a$export$4125cfe7e08e2040 as BodyRequestMethods, $0fe1f1400993ba8a$export$aa9d629c530f62a7 as HTTPError, $0fe1f1400993ba8a$export$b725a69477e4d33f as headerParser, $0fe1f1400993ba8a$export$eea2c1c5e1a37e50 as parseHeaders, $0fe1f1400993ba8a$export$3b629cd0ff482602 as parseBody, $0fe1f1400993ba8a$export$4f2a8c8c11a6373a as requestXHR, $0fe1f1400993ba8a$export$bda27a3e49197b9 as requestFetch, $0fe1f1400993ba8a$export$ba14d9a5a581e827 as parseResponse, $0fe1f1400993ba8a$export$b7b86d31099674dc as parseFetchBody, $0fe1f1400993ba8a$export$b5fe3f66a567bec0 as request, $cbd22d3323bef9ca$export$45cf759b359d3d24 as HTTPClient, $22de11b45b0eeb97$export$b6a9369736b19f4d as parseDocument, $22de11b45b0eeb97$export$2c28ab2e118e73f1 as makeFormData, $22de11b45b0eeb97$export$a0beee2e55fb5dd1 as serializeNode, $22de11b45b0eeb97$export$dfdc1655ccc5b9cb as serialize, $22de11b45b0eeb97$export$f8162fcba31fa547 as streamFromProgress, $22de11b45b0eeb97$export$cebfdbc318a33abe as emitStreamProgress, $22de11b45b0eeb97$export$226b21d2db5eaf9f as FileMethod, $22de11b45b0eeb97$export$e209cbb66c5b18c as readAs, $22de11b45b0eeb97$export$8fb536984ec8b4d7 as encodeBase64};\n//# sourceMappingURL=index.esm.js.map\n","export * from './Stack';\nexport * from './HTTPRequest';\nexport * from './HTTPClient';\nexport * from './utility';\n","const { push } = Array.prototype;\n\nexport type Middleware<C = any> = (\n context: C,\n next: () => Promise<any>\n) => Promise<any> | any;\n\nexport class Stack<C = any> {\n length = 0;\n\n use(...middlewares: Middleware<C>[]) {\n push.apply(this, middlewares);\n\n return this;\n }\n\n execute(context?: C, depth = 0) {\n const middleware: Middleware<C> | undefined = this[depth];\n\n if (middleware instanceof Function)\n return middleware(\n context,\n this.execute.bind(this, context, ++depth)\n );\n }\n\n mount(condition: (context: C) => boolean, stack: Stack<C>) {\n return this.use((context, next) =>\n condition(context) ? stack.execute(context) : next()\n );\n }\n}\n","import type { ReadableStream } from 'web-streams-polyfill';\nimport { parseJSON } from 'web-utility';\n\nimport {\n emitStreamProgress,\n parseDocument,\n ProgressData,\n ProgressEventTarget,\n streamFromProgress\n} from './utility';\n\nexport enum BodyRequestMethods {\n POST = 'POST',\n PUT = 'PUT',\n PATCH = 'PATCH',\n DELETE = 'DELETE'\n}\n\nexport interface RequestOptions {\n withCredentials?: boolean;\n timeout?: number;\n responseType?: XMLHttpRequestResponseType;\n}\n\nexport interface Request<T = any> extends RequestOptions {\n method?: 'HEAD' | 'GET' | keyof typeof BodyRequestMethods;\n path: string | URL;\n headers?: HeadersInit;\n body?: BodyInit | HTMLFormElement | T;\n signal?: AbortSignal;\n}\n\nexport interface Response<B = Request['body']> {\n status: number;\n statusText: string;\n headers: Record<string, string | object>;\n body?: B;\n}\n\nexport class HTTPError<B = Request['body']> extends URIError {\n constructor(\n message: string,\n public request: Request,\n public response: Response<B>\n ) {\n super(message);\n }\n}\n\nexport type LinkHeader = Record<\n string,\n { URI: string; rel: string; title?: string }\n>;\n\nexport const headerParser = {\n Link: (value: string): LinkHeader =>\n Object.fromEntries(\n Array.from(\n value.matchAll(/<(\\S+?)>; rel=\"(\\w+)\"(?:; title=\"(.*?)\")?/g),\n ([_, URI, rel, title]) => [rel, { rel, URI, title }]\n )\n )\n};\n\nexport const parseHeaders = (raw: string): Response['headers'] =>\n Object.fromEntries(\n Array.from(\n raw.trim().matchAll(/^([\\w-]+):\\s*(.*)/gm),\n ([_, key, value]) => {\n key = key.replace(/(^[a-z]|-[a-z])/g, char =>\n char.toUpperCase()\n );\n return [key, headerParser[key]?.(value) ?? value];\n }\n )\n );\nexport function parseBody<T>(raw: string, contentType: string): T {\n if (contentType.includes('json')) return parseJSON(raw);\n\n if (contentType.match(/html|xml/))\n try {\n return parseDocument(raw, contentType) as T;\n } catch {}\n\n if (contentType.includes('text')) return raw as T;\n\n return new TextEncoder().encode(raw).buffer as T;\n}\n\nexport interface RequestResult<B> {\n response: Promise<Response<B>>;\n upload?: AsyncGenerator<ProgressData>;\n download: AsyncGenerator<ProgressData>;\n}\n\nexport function requestXHR<B>({\n method = 'GET',\n path,\n headers = {},\n body,\n signal,\n ...rest\n}: Request): RequestResult<B> {\n const request = new XMLHttpRequest();\n const header = new Headers(headers);\n const bodyPromise =\n body instanceof globalThis.ReadableStream\n ? Array.fromAsync(body as ReadableStream).then(\n parts => new Blob(parts)\n )\n : Promise.resolve(body);\n const abort = () => request.abort();\n\n signal?.addEventListener('abort', abort);\n\n const response = new Promise<Response<B>>((resolve, reject) => {\n request.onreadystatechange = () => {\n const { readyState, status, statusText, responseType } = request;\n\n if (readyState !== 4 || (!status && !signal?.aborted)) return;\n\n resolve({\n status,\n statusText,\n headers: parseHeaders(request.getAllResponseHeaders()),\n body:\n responseType && responseType !== 'text'\n ? request.response\n : request.responseText\n });\n };\n request.onerror = request.ontimeout = reject;\n\n const [MIMEType] = header.get('Accept')?.split(',') || [\n rest.responseType === 'document'\n ? 'application/xhtml+xml'\n : rest.responseType === 'json'\n ? 'application/json'\n : ''\n ];\n if (MIMEType) request.overrideMimeType(MIMEType);\n\n request.open(method, path + '');\n\n for (const [key, value] of header) request.setRequestHeader(key, value);\n\n Object.assign(request, rest);\n\n bodyPromise.then(body => request.send(body));\n }).then(({ body, ...meta }) => {\n signal?.throwIfAborted();\n\n const contentType = request.getResponseHeader('Content-Type') || '';\n\n if (typeof body === 'string' && !contentType.includes('text'))\n body = parseBody(body, contentType);\n\n return { ...meta, body };\n });\n\n response.finally(() => signal?.removeEventListener('abort', abort));\n\n return {\n response,\n upload: streamFromProgress(request.upload),\n download: streamFromProgress(request)\n };\n}\n\nexport function requestFetch<B>({\n path,\n method,\n headers,\n withCredentials,\n body,\n signal,\n timeout,\n responseType\n}: Request): RequestResult<B> {\n const signals = [signal, timeout && AbortSignal.timeout(timeout)].filter(\n Boolean\n );\n headers =\n headers instanceof Headers\n ? Object.fromEntries(headers.entries())\n : headers instanceof Array\n ? Object.fromEntries(headers)\n : headers;\n headers =\n responseType === 'text'\n ? { ...headers, Accept: 'text/plain' }\n : responseType === 'json'\n ? { ...headers, Accept: 'application/json' }\n : responseType === 'document'\n ? {\n ...headers,\n Accept: 'text/html, application/xhtml+xml, application/xml'\n }\n : responseType === 'arraybuffer' || responseType === 'blob'\n ? { ...headers, Accept: 'application/octet-stream' }\n : headers;\n const isStream = body instanceof globalThis.ReadableStream;\n var upload: AsyncGenerator<ProgressData> | undefined;\n\n if (isStream) {\n const uploadProgress = new EventTarget();\n\n body = globalThis.ReadableStream['from'](\n emitStreamProgress(\n body as ReadableStream<Uint8Array>,\n +headers['Content-Length'],\n uploadProgress\n )\n ) as ReadableStream<Uint8Array>;\n\n upload = streamFromProgress(uploadProgress);\n }\n const downloadProgress = new EventTarget();\n\n const response = fetch(path + '', {\n method,\n headers,\n credentials: withCredentials ? 'include' : 'omit',\n body,\n signal: signals[0] && AbortSignal.any(signals),\n // @ts-expect-error https://developer.chrome.com/docs/capabilities/web-apis/fetch-streaming-requests\n duplex: isStream ? 'half' : undefined\n }).then(response =>\n parseResponse<B>(response, responseType, downloadProgress)\n );\n return { response, upload, download: streamFromProgress(downloadProgress) };\n}\n\nexport async function parseResponse<B>(\n { status, statusText, headers, body }: globalThis.Response,\n responseType: Request['responseType'],\n downloadProgress: ProgressEventTarget\n): Promise<Response<B>> {\n const stream = globalThis.ReadableStream['from'](\n emitStreamProgress(\n body as ReadableStream<Uint8Array>,\n +headers.get('Content-Length'),\n downloadProgress\n )\n ) as ReadableStream<Uint8Array>;\n\n const contentType = headers.get('Content-Type') || '';\n\n const header = parseHeaders(\n [...headers].map(([key, value]) => `${key}: ${value}`).join('\\n')\n );\n const rBody =\n status === 204\n ? undefined\n : await parseFetchBody<B>(stream, contentType, responseType);\n\n return { status, statusText, headers: header, body: rBody };\n}\n\nexport async function parseFetchBody<B>(\n stream: ReadableStream<Uint8Array>,\n contentType: string,\n responseType: Request['responseType']\n) {\n const blob = new Blob(await Array.fromAsync(stream), { type: contentType });\n\n if (responseType === 'blob') return blob as B;\n\n if (responseType === 'arraybuffer') return blob.arrayBuffer() as B;\n\n const text = await blob.text();\n\n if (responseType === 'text') return text as B;\n\n return parseBody<B>(text, contentType);\n}\n\nexport const request =\n typeof globalThis.XMLHttpRequest === 'function' ? requestXHR : requestFetch;\n","import {\n createAsyncIterator,\n likeArray,\n isTypedArray,\n stringifyDOM,\n formToJSON\n} from 'web-utility';\n\nglobalThis.ProgressEvent ||= class ProgressEvent<\n T extends EventTarget = EventTarget\n> extends Event {\n declare target: T | null;\n\n lengthComputable: boolean;\n total: number;\n loaded: number;\n\n constructor(\n type: string,\n { lengthComputable, total, loaded, ...meta }: ProgressEventInit = {}\n ) {\n super(type, meta);\n\n this.lengthComputable = lengthComputable;\n this.total = total;\n this.loaded = loaded;\n }\n};\n\nexport async function parseDocument(text: string, contentType = '') {\n const [type] = contentType?.split(';') || [];\n\n return new DOMParser().parseFromString(\n text,\n (type as DOMParserSupportedType) || 'text/html'\n );\n}\n\nexport function makeFormData(data: Record<string, any>) {\n const formData = new FormData();\n\n for (const [key, value] of Object.entries(data)) {\n const list = (\n typeof value !== 'string' && likeArray(value) ? value : [value]\n ) as ArrayLike<string | Blob>;\n\n for (const item of Array.from(list))\n if (item != null)\n if (typeof item === 'object')\n formData.append(key, item, (item as File).name);\n else formData.append(key, item);\n }\n return formData;\n}\n\nexport function serializeNode(root: Node): {\n contentType: string;\n data: string | URLSearchParams | FormData;\n} {\n var contentType: string;\n\n if (!(root instanceof HTMLFormElement))\n return {\n contentType:\n root instanceof SVGElement\n ? 'image/svg'\n : root instanceof Document || root instanceof HTMLElement\n ? 'text/html'\n : 'application/xml',\n data: stringifyDOM(root)\n };\n\n if (root.querySelector('input[type=\"file\"][name]'))\n return {\n contentType: 'multipart/form-data',\n data: new FormData(root)\n };\n const data = formToJSON<Record<string, any>>(root);\n\n switch ((contentType = root.enctype)) {\n case 'text/plain':\n return {\n contentType,\n data: Object.entries(data)\n .map(([name, value]) => `${name}=${value}`)\n .join('\\n')\n };\n case 'application/x-www-form-urlencoded':\n return { contentType, data: new URLSearchParams(data) };\n default:\n return {\n contentType: 'application/json',\n data: JSON.stringify(data)\n };\n }\n}\n\nexport function serialize<T>(\n data: T,\n contentType?: string\n): {\n data: T | BodyInit;\n contentType?: string;\n} {\n const [type] = contentType?.split(';') || [];\n\n switch (type) {\n case 'application/x-www-form-urlencoded':\n return {\n contentType,\n data: new URLSearchParams(data as Record<string, any>)\n };\n case 'multipart/form-data':\n return { data: makeFormData(data) };\n case 'application/json':\n return { contentType, data: JSON.stringify(data) };\n case 'text/html':\n case 'application/xml':\n case 'image/svg':\n return { contentType, data: stringifyDOM(data as Node) };\n }\n if (type) return { data, contentType };\n\n try {\n if (data instanceof URLSearchParams)\n return {\n contentType: 'application/x-www-form-urlencoded',\n data\n };\n } catch {}\n\n try {\n if (data instanceof FormData) return { data };\n } catch {}\n\n try {\n if (data instanceof Node) return serializeNode(data);\n } catch {}\n\n try {\n if (\n isTypedArray(data) ||\n data instanceof ArrayBuffer ||\n data instanceof DataView ||\n data instanceof Blob ||\n data instanceof ReadableStream\n )\n return {\n contentType: 'application/octet-stream',\n data\n };\n } catch {}\n\n try {\n return {\n contentType: 'application/json',\n data: JSON.stringify(data)\n };\n } catch {}\n\n throw new Error('Unserialized Object needs a specific Content-Type');\n}\n\nexport type ProgressEventTarget = Pick<\n XMLHttpRequestEventTarget & FileReader,\n 'dispatchEvent' | 'addEventListener' | 'removeEventListener'\n>;\nexport type ProgressData = Pick<ProgressEvent, 'total' | 'loaded'>;\n\nexport const streamFromProgress = <T extends ProgressEventTarget>(target: T) =>\n createAsyncIterator<ProgressData, ProgressEvent<T>>(\n ({ next, complete, error }) => {\n const handleProgress = ({ loaded, total }: ProgressEvent) => {\n next({ loaded, total });\n\n if (loaded >= total) complete();\n };\n target.addEventListener('progress', handleProgress);\n target.addEventListener('error', error);\n\n return () => {\n target.removeEventListener('progress', handleProgress);\n target.removeEventListener('error', error);\n };\n }\n );\nexport async function* emitStreamProgress(\n stream: import('web-streams-polyfill').ReadableStream<Uint8Array>,\n total: number,\n eventTarget: ProgressEventTarget\n): AsyncGenerator<Uint8Array> {\n var loaded = 0;\n\n for await (const chunk of stream) {\n yield chunk;\n\n loaded += (chunk as Uint8Array).byteLength;\n\n const event = new ProgressEvent('progress', {\n lengthComputable: isNaN(total),\n loaded,\n total\n });\n eventTarget.dispatchEvent(event);\n }\n}\n\nexport enum FileMethod {\n text = 'readAsText',\n dataURL = 'readAsDataURL',\n binaryString = 'readAsBinaryString',\n arrayBuffer = 'readAsArrayBuffer'\n}\n\nexport function readAs(\n file: Blob,\n method: keyof typeof FileMethod,\n encoding?: string\n) {\n const reader = new FileReader();\n const result = new Promise<string | ArrayBuffer>((resolve, reject) => {\n reader.onerror = reject;\n reader.onload = () => resolve(reader.result);\n\n reader[FileMethod[method]](file, encoding);\n });\n return { progress: streamFromProgress(reader), result };\n}\n\nconst DataURI = /^data:(.+?\\/(.+?))?(;base64)?,([\\s\\S]+)/;\n/**\n * @param raw - Binary data\n *\n * @return Base64 encoded data\n */\nexport async function encodeBase64(raw: string | Blob) {\n if (raw instanceof Blob) {\n const text = await readAs(raw, 'dataURL').result;\n\n return (DataURI.exec(text as string) || '')[4];\n }\n const text = encodeURIComponent(raw).replace(/%([0-9A-F]{2})/g, (_, p1) =>\n String.fromCharCode(+('0x' + p1))\n );\n return btoa(text);\n}\n","import { Stack, Middleware } from './Stack';\nimport {\n Request,\n Response,\n RequestOptions,\n request,\n BodyRequestMethods,\n HTTPError\n} from './HTTPRequest';\nimport { ProgressData, serialize } from './utility';\n\nconst { splice } = Array.prototype;\n\nexport interface Context {\n request: Request;\n response: Response;\n}\n\nexport interface ClientOptions extends RequestOptions {\n baseURI?: string;\n baseRequest?: typeof request;\n}\n\nexport type MethodOptions = Omit<\n Request,\n 'method' | 'path' | 'headers' | 'body'\n>;\n\nexport interface DownloadOptions\n extends Pick<Request, 'headers' | 'withCredentials' | 'signal'> {\n chunkSize?: number;\n range?: [number?, number?];\n}\n\nexport interface TransferProgress extends ProgressData {\n percent: number;\n buffer: ArrayBuffer;\n}\n\nexport class HTTPClient<T extends Context> extends Stack<T> {\n baseURI: string;\n baseRequest: typeof request;\n options: RequestOptions;\n\n constructor({\n baseURI = globalThis.document?.baseURI,\n baseRequest = request,\n ...options\n }: ClientOptions = {}) {\n super();\n\n this.baseURI = baseURI;\n this.baseRequest = baseRequest;\n this.options = options;\n\n super.use(this.defaultWare);\n\n super.use(async ({ request: data, response }) => {\n data.path = new URL(data.path + '', this.baseURI) + '';\n\n Object.assign(\n response,\n await this.baseRequest({ ...options, ...data }).response\n );\n });\n }\n\n defaultWare: Middleware<T> = async ({ request, response }, next) => {\n const { method = 'GET', headers = {}, body } = request;\n\n if (method in BodyRequestMethods && body && typeof body === 'object') {\n const { contentType, data } = serialize(\n body,\n headers['Content-Type']\n );\n if (contentType) headers['Content-Type'] = contentType;\n request.body = data;\n }\n await next();\n\n if (response.status > 299)\n throw new HTTPError(response.statusText, request, response);\n };\n\n use(...middlewares: Middleware<T>[]) {\n splice.call(this, -2, 0, ...middlewares);\n\n return this;\n }\n\n async request<B>(data: T['request']): Promise<Response<B>> {\n const context = {\n request: { ...data, headers: { ...data.headers } },\n response: {}\n } as T;\n\n await this.execute(context);\n\n return context.response;\n }\n\n async head(\n path: Request['path'],\n headers?: Request['headers'],\n options?: MethodOptions\n ) {\n const { headers: data } = await this.request({\n method: 'HEAD',\n path,\n headers,\n ...options\n });\n return data;\n }\n\n get<B>(\n path: Request['path'],\n headers?: Request['headers'],\n options?: MethodOptions\n ) {\n return this.request<B>({ method: 'GET', path, headers, ...options });\n }\n\n post<B>(\n path: Request['path'],\n body?: Request['body'],\n headers?: Request['headers'],\n options?: MethodOptions\n ) {\n return this.request<B>({\n method: 'POST',\n path,\n headers,\n body,\n ...options\n });\n }\n\n put<B>(\n path: Request['path'],\n body?: Request['body'],\n headers?: Request['headers'],\n options?: MethodOptions\n ) {\n return this.request<B>({\n method: 'PUT',\n path,\n headers,\n body,\n ...options\n });\n }\n\n patch<B>(\n path: Request['path'],\n body?: Request['body'],\n headers?: Request['headers'],\n options?: MethodOptions\n ) {\n return this.request<B>({\n method: 'PATCH',\n path,\n headers,\n body,\n ...options\n });\n }\n\n delete<B>(\n path: Request['path'],\n body?: Request['body'],\n headers?: Request['headers'],\n options?: MethodOptions\n ) {\n return this.request<B>({\n method: 'DELETE',\n path,\n headers,\n body,\n ...options\n });\n }\n\n async *download(\n path: Request['path'],\n {\n headers,\n chunkSize = 1024 ** 2,\n range: [start = 0, end = Infinity] = [],\n ...options\n }: DownloadOptions = {}\n ): AsyncGenerator<TransferProgress> {\n var total = 0;\n\n function setEndAsHeader(length: number) {\n total = length;\n\n if (end === Infinity) end = total;\n }\n\n try {\n const { 'Content-Length': length } = await this.head(\n path,\n headers,\n options\n );\n setEndAsHeader(+length);\n } catch (error) {\n console.error(error);\n }\n\n for (\n let i = start, j = i - 1 + chunkSize;\n i < end;\n i = j + 1, j += chunkSize\n ) {\n const {\n status,\n headers: { 'Content-Range': range },\n body\n } = await this.get<ArrayBuffer>(\n path,\n { ...headers, Range: `bytes=${i}-${j}` },\n options\n );\n const totalBytes = +(range as string)?.split('/').pop();\n\n if (totalBytes) setEndAsHeader(totalBytes);\n\n if (status !== 206) {\n yield { total, loaded: total, percent: 100, buffer: body };\n break;\n }\n const loaded = i + body.byteLength;\n\n yield {\n total,\n loaded,\n percent: +((loaded / total) * 100).toFixed(2),\n buffer: body\n };\n }\n }\n}\n"],"names":["$6deeb9ef1c73e593$var$weakMap","$6deeb9ef1c73e593$var$observer","$adc62e3a0f282822$var$scrollBarSizeCached","_classDescriptor","_classThis","_type_decorators","_playing_decorators","_typeChanged_decorators","_classDecorators","_classExtraInitializers","_classSuper","_instanceExtraInitializers","_type_initializers","_type_extraInitializers","_playing_initializers","_playing_extraInitializers","_component_decorators","_delegatedProps_decorators","_component_initializers","_component_extraInitializers","_delegatedProps_initializers","_delegatedProps_extraInitializers","_path_decorators","_oldPath_decorators","_push_decorators","_path_initializers","_path_extraInitializers","_oldPath_initializers","_oldPath_extraInitializers","_history_decorators","_get_matched_decorators","_history_initializers","_history_extraInitializers","_list_initializers","_list_extraInitializers","_mountedCallback_decorators","_drawerOpen_decorators","_drawerOpen_initializers","_drawerOpen_extraInitializers","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","_AnimateCSS_type_accessor_storage","_AnimateCSS_playing_accessor_storage","f","name","source","_AsyncCell_component_accessor_storage","_AsyncCell_delegatedProps_accessor_storage","RouterMode","_a","_History_path_accessor_storage","_History_oldPath_accessor_storage","_CellRoute_history_accessor_storage","_CellRoute_path_accessor_storage","FileMethod","BodyRequestMethods","_CompanyModel_list_accessor_storage","_CompanyList_type_accessor_storage","_PageBox_drawerOpen_accessor_storage","$3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$_a","$3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$_b","$3a8ef450cf9a0028$export$fc55ead6785c2297","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","parcelRegister","value","VNode","VNodeMeta","$ceFTv","$8AMcb","$kYZOD","$5f2004034b0afe28$var$VNodeMeta","children","$5f2004034b0afe28$var$VNode","_super","_b","e_1","_c","_d","e_2","_e","_this","meta","__rest","assign","_f","__values","_g","next","done","vNode","push","apply","__spreadArray","__read","isFragment","e_1_1","error","return","_h","_j","child","parent","e_2_1","tagName","is","props","className","selector","toLowerCase","concat","trim","replace","filter","Boolean","join","__extends","prototype","walkUp","current","__generator","label","sent","namespaceOf","e_3","XMLNamespace","namespace","e_3_1","html","createDOM","document1","document","text","node","createTextNode","createElementNS","createDocumentFragment","toJSON","JSON","parse","stringify","key","style","generateElementXML","body","shadowRoots","innerHTML","restProps","_i","children_1","children_1_1","e_4","_k","_l","includes","elementTypeOf","ownerDocument","implementation","createHTMLDocument","findShadowRoots","getHTML","serializableShadowRoots","length","propsMap","toHyphenCase","trys","generateXML","mode","rest","key_1","isEmpty","fromDOM","Text","nodeValue","Element","namespaceURI","attributes","childNodes","getAttribute","Array","from","attrsMap","fromEntries","styles","httpEquiv","htmlFor","entries","map","item","reverse","$8e874a2fb001c377$export$a8ba968b8961cb8a","$8e874a2fb001c377$export$18ce0697a983be9b","$8e874a2fb001c377$export$3c9a16f847548506","$8e874a2fb001c377$export$29e00dfd3077644b","$8e874a2fb001c377$export$1050f835b63b671e","$8e874a2fb001c377$export$67ebef60e6f28a6","$8e874a2fb001c377$export$f33643c0debef087","$8e874a2fb001c377$export$19a8beecd37a4c45","$8e874a2fb001c377$export$8d051b38c9118094","$8e874a2fb001c377$export$1216008129fb82ed","$8e874a2fb001c377$var$extendStatics","d","b","setPrototypeOf","__proto__","p","hasOwnProperty","TypeError","String","__","constructor","create","t","i","arguments","indexOf","getOwnPropertySymbols","propertyIsEnumerable","decorators","target","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","rejected","result","adopt","then","y","_","ops","g","Iterator","verb","Symbol","iterator","op","pop","$8e874a2fb001c377$export$45d3717a4c69092e","o","m","k","k2","undefined","__esModule","writable","ar","to","pack","l","slice","SuppressedError","$6417122255dd4f8f$var$__generator","$6417122255dd4f8f$var$__read","$6417122255dd4f8f$var$__spreadArray","$6417122255dd4f8f$var$__values","factory","define","amd","require1","exports1","root","walker","currentNode","shadowRoot","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","HTMLElement","FILTER_ACCEPT","FILTER_SKIP","nextNode","shadowDOMs","generateHTML","attachDeclarativeShadowRoots","setHTMLUnsafe","parseHTMLUnsafe","xmlSerializer","XMLSerializer","attachShadow","WeakMap","shadowRootHTML","nextSibling","parentElement","SHOW_ALL","SVGElement","CDATASection","Comment","serializeToString","options","templates","querySelectorAll","templates_1","templates_1_1","template","content","append","remove","domParser","DOMParser","initDocument","documentElement","parseFromString","ShadowRoot","Document","readyState","addEventListener","window","$f4695c87a97b05e1$var$$parcel$export","$f4695c87a97b05e1$export$dd1bc94b04021eeb","$f4695c87a97b05e1$export$3f34ca2fef821bbd","$f4695c87a97b05e1$export$86f54f62aa7a7514","$f4695c87a97b05e1$export$2ddabb89308e1a22","$f4695c87a97b05e1$export$14527669107aa301","$f4695c87a97b05e1$export$3f063810d7bf01bd","$f4695c87a97b05e1$export$b5a4d6f439a5044d","$f4695c87a97b05e1$export$b119cc7e1840e59c","$f4695c87a97b05e1$export$86c18c6347f4a8c4","$f4695c87a97b05e1$export$27924e57e9afff7f","$f4695c87a97b05e1$export$71e6483fc2b024eb","$f4695c87a97b05e1$export$eb9b2aadbe449a20","$f4695c87a97b05e1$export$13397a83aa5915d6","$f4695c87a97b05e1$export$f5a4056b78c72efa","$f4695c87a97b05e1$export$2ee022bbbc550b25","$f4695c87a97b05e1$export$a549dd5cef7f8327","$f4695c87a97b05e1$export$8eece510bcb9c62c","$f4695c87a97b05e1$export$b8a1af58c024fefd","$f4695c87a97b05e1$export$b0709844452f8b6b","$f4695c87a97b05e1$export$be4650432daa84fd","$f4695c87a97b05e1$export$7cd14c57bbb84350","$f4695c87a97b05e1$export$3f99968195accfaf","$f4695c87a97b05e1$export$86d7c59254d6a2c9","$f4695c87a97b05e1$export$10b1921597150314","$f4695c87a97b05e1$export$3e2b244719956741","$f4695c87a97b05e1$export$d635d04af3887bbe","DiffStatus","$f4695c87a97b05e1$var$$9b05bcda60cc529c$exports","$f4695c87a97b05e1$export$61cc6ed0f143570b","$f4695c87a97b05e1$export$a09f818797e212c4","$f4695c87a97b05e1$export$170f4e08cad8229d","$f4695c87a97b05e1$export$2a489b3f92f4996a","$f4695c87a97b05e1$export$67a6ce548ae77071","$f4695c87a97b05e1$export$a48f0734ac7c2329","$f4695c87a97b05e1$export$89912e019eef22aa","$f4695c87a97b05e1$export$1c8ba402144543e5","$f4695c87a97b05e1$export$7b85fd78dd236198","$f4695c87a97b05e1$export$697c3df919c0e61a","$f4695c87a97b05e1$export$e6b5ff3168b5942b","list","subKey","handler","$f4695c87a97b05e1$export$1d012a0dff3dab06","$f4695c87a97b05e1$export$69a3209f1a06c04d","$f4695c87a97b05e1$export$dce9414bed0662c","$f4695c87a97b05e1$export$271f7c16f175f804","$f4695c87a97b05e1$var$$6a9944941b4c1893$exports","$f4695c87a97b05e1$export$8a63f25cc62965f1","data","reduce","sum","$f4695c87a97b05e1$export$e1f36757ecda301d","$f4695c87a97b05e1$export$8e694e1eafd55acb","sample","average","summary","$f4695c87a97b05e1$export$57d7c52a66287430","Math","sqrt","$f4695c87a97b05e1$export$2b4693832ca3ce16","$f4695c87a97b05e1$export$5b784e078da1ce6","raw","toFixed","offset","cut","padEnd","$f4695c87a97b05e1$export$17ec9c9f4f23588c","floatOffset","repeat","before","anchor","after","$f4695c87a97b05e1$export$595dbf49c602a1f","valueOf","toShortString","fractionDigits","units","base","find","abs","distanceOf","a","construct","Number","isNaN","keys","toString","Sub","Super","dataStore","setter","getPrototypeOf","Proxy","receiver","test","localeCompare","MAX_SAFE_INTEGER","numeric","match","large","toUpperCase","Date","now","parseInt","random","values","index","oldList","newList","group","status","Int8Array","array","unitLength","grid","iteratee","Function","Set","executor","title","cacheData","console","trace","log","message","promise","withResolvers","doneSymbol","disposer","complete","race","sources","iterators","dones","args","$f4695c87a97b05e1$var$$f872d8bba1c0f79f$exports","$f4695c87a97b05e1$export$c489aa6f7fd82b1a","$f4695c87a97b05e1$export$cbd942915f33be50","$f4695c87a97b05e1$export$9b886f8493244014","$f4695c87a97b05e1$export$e99cbb807a5bb10d","$f4695c87a97b05e1$export$7a9a31a911eb9a20","$f4695c87a97b05e1$export$fca4f8121099df57","$f4695c87a97b05e1$export$6ce2f08d515512","$f4695c87a97b05e1$export$951c8378cdfec6e6","$f4695c87a97b05e1$export$1a4097b876a13bf7","$f4695c87a97b05e1$export$d9bcbd5e1ff81430","$f4695c87a97b05e1$export$506c8e8f8c8edda","$f4695c87a97b05e1$export$3ae94a2503e890a1","$f4695c87a97b05e1$export$62ad822b3a5fd9a0","end","start","unit","timeDistance","split","distance","$f4695c87a97b05e1$var$$f872d8bba1c0f79f$var$fitUnit","padStart","max","time","year","month","day","hour","minute","second","millisecond","getTimezoneOffset","date","delta","getMonth","setFullYear","getFullYear","floor","setMonth","$f4695c87a97b05e1$var$$ba0e5dc395660a7c$exports","parseItem","$f4695c87a97b05e1$export$7ea17d45ecdcf634","parsed","number","$f4695c87a97b05e1$export$bb8626e4916f587b","header","separator","row","$f4695c87a97b05e1$var$$ba0e5dc395660a7c$var$readQuoteValue","quote","SyntaxError","object","$f4695c87a97b05e1$var$$083124ac4b1a50a0$exports","URI","URL","baseURI","origin","location","search","toBuiltIn","rawData","URLSearchParams","getAll","$f4695c87a97b05e1$export$fd89523fba250fa4","$f4695c87a97b05e1$export$504fbde693c1771c","$f4695c87a97b05e1$var$$083124ac4b1a50a0$var$stringify","fetch","blob","$f4695c87a97b05e1$var$$083124ac4b1a50a0$var$DataURI","type","base64","exec","aBuffer","ArrayBuffer","atob","uBuffer","Uint8Array","charCodeAt","Blob","$f4695c87a97b05e1$var$$50872bf213056663$exports","$f4695c87a97b05e1$export$1b9ac4d3de3ffd2e","$f4695c87a97b05e1$export$d51f3b55e8d1aa73","$f4695c87a97b05e1$var$$50872bf213056663$var$CRC_32_Table","cell","j","char","self","subtle","crypto","msCrypto","observer","oncomplete","onabort","onerror","crypto1","algorithm","digest","TextEncoder","encode","byte","$f4695c87a97b05e1$var$$3e0a089cc13f69ad$exports","$f4695c87a97b05e1$export$a2cf0d4bb6e06de4","$f4695c87a97b05e1$export$d66b332881d9723f","$f4695c87a97b05e1$export$5118471ee5d5453b","$f4695c87a97b05e1$export$578e38b4a3e0b255","$f4695c87a97b05e1$export$5100419dfae0456d","depth","indent","padding","$f4695c87a97b05e1$export$28d9d24a8cd0ffc2","$f4695c87a97b05e1$export$eafdbaa868ea9975","$f4695c87a97b05e1$export$36a0c1ca2ae264fa","svg","math","$f4695c87a97b05e1$var$$3e0a089cc13f69ad$var$templateMap","spawn","createElement","firstElementChild","prefix","localName","HTMLUnknownElement","Class","$f4695c87a97b05e1$var$$3e0a089cc13f69ad$var$nameMap","propertyName","ReadOnly_Properties","HTMLLinkElement","HTMLIFrameElement","HTMLObjectElement","HTMLInputElement","HTMLButtonElement","HTMLSelectElement","HTMLTextAreaElement","HTMLOutputElement","HTMLFieldSetElement","HTML","nodeType","Node","TEXT_NODE","width","height","getBoundingClientRect","offsetWidth","pageHeight","pageWidth","scrollHeight","pages","offsetTop","top","offsetHeight","bottomOffset","bottom","bottomIndex","alternate","styleSheets","href","link","onload","sheet","_1","_2","_3","_4","rel","head","nodes","fragment","nodeName","replaceWith","selection","getSelection","range","getRangeAt","deleteContents","insertNode","align","justify","ID","scrollTo","left","behavior","querySelector","scrollIntoView","block","inline","box","IntersectionObserver","isIntersecting","links","observe","textContent","level","last","visibilityState","change","state","form","field","elements","checked","defaultValue","selectedOptions","files","closest","parsedValue","$f4695c87a97b05e1$var$$bb23e0c794fefbef$exports","$f4695c87a97b05e1$export$e772c8ff12451969","seconds","setTimeout","$f4695c87a97b05e1$export$57207d71b8c929c8","stop","$f4695c87a97b05e1$var$$19ed8aeb7905a045$exports","event","path","composedPath","shift","currentTarget","matches","detail","$f4695c87a97b05e1$export$1d1d2ed6b55cf67f","$f4695c87a97b05e1$export$2155c0b5a4b77fb8","$f4695c87a97b05e1$export$9d97473344489dfc","removeEventListener","check","scope","element","clean","cancel","handlers","server","postMessage","UID","registration","waiting","onupdatefound","installing","navigator","serviceWorker","controller","$f4695c87a97b05e1$var$$7a08303ce13c49c5$exports","$f4695c87a97b05e1$export$1b88f6b6d432a52a","$f4695c87a97b05e1$export$b70f6380221b1350","$f4695c87a97b05e1$export$75d6cbe4503e149","$f4695c87a97b05e1$export$b2618d51188815c2","$f4695c87a97b05e1$export$490814474ddbb428","$f4695c87a97b05e1$export$3ea201dffb50dfef","$f4695c87a97b05e1$export$d1012c7198c6b460","$f4695c87a97b05e1$export$a35a418b7b17958e","pow","x","z","direction","XD","YD","ZD","XL","YL","ZL","threshold","getComputedStyle","fontSize","vector","transitionDuration","animationDuration","duration","parseFloat","catch","$f4695c87a97b05e1$var$$7a08303ce13c49c5$var$fadeIn","display","requestAnimationFrame","classList","add","$f4695c87a97b05e1$var$$7a08303ce13c49c5$var$fadeOut","$f4695c87a97b05e1$var$$69bd9f0117925302$exports","$f4695c87a97b05e1$export$cd5450f3a47e3789","cases","timeEnd","$f4695c87a97b05e1$export$3486a10f30cf1ee4","userCase","secondsOut","timeOut","RangeError","assert","DOMRenderer","$flxkr","$8alBv","$a365327176cd3513$var$DOMRenderer","eventPattern","ariaPattern","treeCache","signalCache","keyOf","vNodeOf","propsKeyOf","startsWith","toCamelCase","attrsNameOf","removeProperty","removeAttribute","setProperty","isXML","templateOf","setAttribute","name_1","handleCustomEvent","updateProps","oldProps","newProps","onDelete","onAdd","diffKeys","Old","Same","New","deleteNode","ref","DocumentFragment","forEach","commitChild","targetNode","diffVChildren","oldVNode","newVNode","deletingGroup","newVChild","oldVChild","_m","_o","groupBy","__assign","patchNode","generateDOM","oldVRoot","newVRoot","inserting","parent_1","e_5","patch","e_6","count","e_6_1","patchAsync","__awaiter","oldController","e_7","abort","AbortController","scheduler","yield","signal","aborted","delete","throwIfAborted","render","renderToStaticMarkup","tree","renderToReadableStream","ReadableStream","MessageChannel","port2","port1","onmessage","h","u","T","C","isIdleCallback","I","cancelIdleCallback","clearTimeout","requestIdleCallback","M","A","N","O","takeNextTask","q","merge","D","Event","previousPriority","priority","H","R","defineProperties","onprioritychange","setPriority","DOMException","dispatchEvent","S","U","W","B","postTask","delay","callback","hostCallback","abortCallback","onTaskCompleted","onTaskAborted","reason","isAborted","isContinuation","F","G","J","K","L","V","X","has","TaskController","TaskPriorityChangeEvent","$3aa41668e353fa42$var$te","$3aa41668e353fa42$var$re","$3aa41668e353fa42$var$oe","$3aa41668e353fa42$var$e","$3aa41668e353fa42$var$t","$3aa41668e353fa42$var$o","$3aa41668e353fa42$export$5d3e1e5268af5f76","$3aa41668e353fa42$var$n","$3aa41668e353fa42$var$a","bind","$3aa41668e353fa42$var$i","$3aa41668e353fa42$var$l","$3aa41668e353fa42$var$u","$3aa41668e353fa42$var$c","$3aa41668e353fa42$var$f","$3aa41668e353fa42$var$b","$3aa41668e353fa42$var$m","$3aa41668e353fa42$var$p","$3aa41668e353fa42$var$y","queueMicrotask","$3aa41668e353fa42$var$S","$3aa41668e353fa42$var$g","$3aa41668e353fa42$var$v","_cursor","_size","_front","_elements","_next","_back","peek","$3aa41668e353fa42$var$w","$3aa41668e353fa42$var$R","$3aa41668e353fa42$var$T","$3aa41668e353fa42$var$C","$3aa41668e353fa42$var$P","$3aa41668e353fa42$var$q","_ownerReadableStream","_reader","_state","$3aa41668e353fa42$var$B","$3aa41668e353fa42$var$A","_storedError","$3aa41668e353fa42$var$j","$3aa41668e353fa42$var$E","$3aa41668e353fa42$var$Or","$3aa41668e353fa42$var$W","_readableStreamController","$3aa41668e353fa42$var$O","_closedPromise","_closedPromise_resolve","_closedPromise_reject","$3aa41668e353fa42$var$z","isFinite","$3aa41668e353fa42$var$D","trunc","ceil","$3aa41668e353fa42$var$L","$3aa41668e353fa42$var$F","$3aa41668e353fa42$var$I","$3aa41668e353fa42$var$$","$3aa41668e353fa42$var$M","$3aa41668e353fa42$var$Y","$3aa41668e353fa42$var$Q","$3aa41668e353fa42$var$N","$3aa41668e353fa42$var$Er","$3aa41668e353fa42$var$H","$3aa41668e353fa42$export$a890bf36e2af9168","$3aa41668e353fa42$var$V","_readRequests","$3aa41668e353fa42$var$U","_closeSteps","_chunkSteps","$3aa41668e353fa42$var$G","$3aa41668e353fa42$var$X","$3aa41668e353fa42$var$J","$3aa41668e353fa42$var$Wr","closed","$3aa41668e353fa42$var$ee","read","$3aa41668e353fa42$var$K","_errorSteps","releaseLock","$3aa41668e353fa42$var$Z","_disturbed","$3aa41668e353fa42$var$ne","$3aa41668e353fa42$var$ae","toStringTag","$3aa41668e353fa42$var$ie","transfer","structuredClone","$3aa41668e353fa42$var$le","detached","byteLength","$3aa41668e353fa42$var$se","$3aa41668e353fa42$var$ue","$3aa41668e353fa42$var$ce","$3aa41668e353fa42$var$s","$3aa41668e353fa42$var$de","asyncIterator","for","$3aa41668e353fa42$var$be","nextMethod","$3aa41668e353fa42$var$he","_ongoingPromise","_isFinished","_preventCancel","_nextSteps","_returnSteps","$3aa41668e353fa42$var$me","$3aa41668e353fa42$var$_e","_asyncIteratorImpl","$3aa41668e353fa42$var$pe","$3aa41668e353fa42$var$ye","$3aa41668e353fa42$var$Se","buffer","byteOffset","$3aa41668e353fa42$var$ge","_queue","_queueTotalSize","size","$3aa41668e353fa42$var$ve","$3aa41668e353fa42$var$we","$3aa41668e353fa42$var$Re","DataView","$3aa41668e353fa42$export$fbcf11583158d2c","view","$3aa41668e353fa42$var$Ce","$3aa41668e353fa42$var$Ke","_view","respond","_associatedReadableByteStreamController","$3aa41668e353fa42$var$Ge","respondWithNewView","isView","$3aa41668e353fa42$var$Xe","$3aa41668e353fa42$export$2047cf34091e94ac","byobRequest","$3aa41668e353fa42$var$Te","$3aa41668e353fa42$var$Ze","$3aa41668e353fa42$var$Ve","desiredSize","$3aa41668e353fa42$var$Ue","close","_closeRequested","_controlledReadableByteStream","$3aa41668e353fa42$var$xe","enqueue","$3aa41668e353fa42$var$Qe","$3aa41668e353fa42$var$Ne","$3aa41668e353fa42$var$qe","_cancelAlgorithm","$3aa41668e353fa42$var$Ye","$3aa41668e353fa42$var$He","_autoAllocateChunkSize","bufferByteLength","bytesFilled","minimumFill","elementSize","viewConstructor","readerType","_pendingPullIntos","$3aa41668e353fa42$var$Pe","_started","$3aa41668e353fa42$var$nt","$3aa41668e353fa42$var$ot","_pulling","_pullAgain","_pullAlgorithm","$3aa41668e353fa42$var$Le","$3aa41668e353fa42$var$Ee","$3aa41668e353fa42$var$Oe","_readIntoRequests","$3aa41668e353fa42$var$We","$3aa41668e353fa42$var$Be","$3aa41668e353fa42$var$ke","$3aa41668e353fa42$var$je","$3aa41668e353fa42$var$Me","$3aa41668e353fa42$var$Ae","min","$3aa41668e353fa42$var$ze","$3aa41668e353fa42$var$De","$3aa41668e353fa42$var$Br","_byobRequest","$3aa41668e353fa42$var$Fe","$3aa41668e353fa42$var$$e","$3aa41668e353fa42$var$kr","_strategyHWM","$3aa41668e353fa42$var$Je","$3aa41668e353fa42$var$rt","$3aa41668e353fa42$var$at","$3aa41668e353fa42$export$20068a30393fcc28","$3aa41668e353fa42$var$st","$3aa41668e353fa42$var$it","$3aa41668e353fa42$var$lt","$3aa41668e353fa42$var$Ie","BYTES_PER_ELEMENT","$3aa41668e353fa42$var$ut","highWaterMark","$3aa41668e353fa42$var$ct","$3aa41668e353fa42$var$dt","$3aa41668e353fa42$var$pt","$3aa41668e353fa42$var$gt","$3aa41668e353fa42$export$826849241f7970f8","write","$3aa41668e353fa42$var$St","$3aa41668e353fa42$export$9e6890cb9a51c7c2","$3aa41668e353fa42$var$Ft","locked","$3aa41668e353fa42$var$Nt","$3aa41668e353fa42$var$vt","$3aa41668e353fa42$var$wt","$3aa41668e353fa42$var$qt","$3aa41668e353fa42$var$Rt","getWriter","$3aa41668e353fa42$export$9295348f005d6054","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_abortReason","_abortController","_promise","_resolve","_reject","_reason","_wasAlreadyErroring","$3aa41668e353fa42$var$Ct","$3aa41668e353fa42$var$or","$3aa41668e353fa42$var$Dt","$3aa41668e353fa42$var$Mt","$3aa41668e353fa42$var$Tt","$3aa41668e353fa42$var$Pt","$3aa41668e353fa42$var$jt","$3aa41668e353fa42$var$Et","$3aa41668e353fa42$var$Jt","$3aa41668e353fa42$var$Wt","$3aa41668e353fa42$var$Zt","_ownerWritableStream","$3aa41668e353fa42$var$Gt","$3aa41668e353fa42$var$er","$3aa41668e353fa42$var$tr","$3aa41668e353fa42$var$Kt","$3aa41668e353fa42$var$Ot","$3aa41668e353fa42$var$Vt","$3aa41668e353fa42$var$Ut","$3aa41668e353fa42$var$$t","ready","_readyPromise","$3aa41668e353fa42$var$Bt","$3aa41668e353fa42$var$At","$3aa41668e353fa42$var$zt","_readyPromiseState","$3aa41668e353fa42$var$rr","_closedPromiseState","_strategySizeAlgorithm","$3aa41668e353fa42$var$Yt","_controlledWritableStream","abortReason","$3aa41668e353fa42$var$Lt","$3aa41668e353fa42$var$Ht","$3aa41668e353fa42$var$Qt","_abortAlgorithm","$3aa41668e353fa42$var$It","_writeAlgorithm","_closeAlgorithm","_readyPromise_resolve","_readyPromise_reject","$3aa41668e353fa42$var$nr","$3aa41668e353fa42$var$ar","captureStackTrace","$3aa41668e353fa42$var$ir","all","E","w","$3aa41668e353fa42$export$b0bb6d0989d67700","$3aa41668e353fa42$var$lr","$3aa41668e353fa42$var$pr","$3aa41668e353fa42$var$hr","$3aa41668e353fa42$var$mr","$3aa41668e353fa42$var$dr","$3aa41668e353fa42$var$fr","$3aa41668e353fa42$var$br","$3aa41668e353fa42$var$cr","_controlledReadableStream","$3aa41668e353fa42$var$sr","$3aa41668e353fa42$var$ur","$3aa41668e353fa42$var$_r","$3aa41668e353fa42$var$Tr","preventAbort","preventCancel","preventClose","autoAllocateChunkSize","pull","$3aa41668e353fa42$var$Rr","$3aa41668e353fa42$var$qr","$3aa41668e353fa42$var$jr","getReader","$3aa41668e353fa42$var$et","pipeThrough","readable","pipeTo","tee","$3aa41668e353fa42$var$Pr","$3aa41668e353fa42$var$Cr","$3aa41668e353fa42$var$fe","$3aa41668e353fa42$var$Ar","$3aa41668e353fa42$var$zr","$3aa41668e353fa42$export$d386b5f37d154119","_byteLengthQueuingStrategyHighWaterMark","$3aa41668e353fa42$var$Lr","$3aa41668e353fa42$var$Dr","$3aa41668e353fa42$var$Fr","$3aa41668e353fa42$export$9ebfec18c2dfc625","_countQueuingStrategyHighWaterMark","$3aa41668e353fa42$var$$r","$3aa41668e353fa42$var$Ir","$3aa41668e353fa42$export$d102341634899398","flush","readableType","transform","writableType","_writable","_transformStreamController","_backpressureChangePromise","$3aa41668e353fa42$var$Zr","_finishPromise","_readable","_finishPromise_resolve","_finishPromise_reject","_flushAlgorithm","$3aa41668e353fa42$var$Jr","$3aa41668e353fa42$var$ro","$3aa41668e353fa42$var$to","$3aa41668e353fa42$var$Gr","$3aa41668e353fa42$var$Ur","_backpressureChangePromise_resolve","$3aa41668e353fa42$export$a55559184460222","$3aa41668e353fa42$var$Kr","_controlledTransformStream","_transformAlgorithm","$3aa41668e353fa42$var$Nr","$3aa41668e353fa42$var$oo","$3aa41668e353fa42$var$Hr","$3aa41668e353fa42$var$Vr","$3aa41668e353fa42$var$Xr","$3aa41668e353fa42$var$eo","terminate","die","_len","_key","observable","computed","autorun","action","reaction","configure","IDerivationState_","TraceMode","global1","proto","_getDescriptor$config","_getDescriptor","_getGlobal$Iterator","mockGlobal","getGlobal","getDescriptor","objectPrototype","EMPTY_ARRAY","freeze","EMPTY_OBJECT","hasProxy","plainObjectString","assertProxies","once","func","invoked","noop","isFunction","fn","isStringish","isObject","isPlainObject","protoConstructor","isGenerator","obj","displayName","addHiddenProp","propName","addHiddenFinalProp","createInstanceofPredicate","theClass","isES6Map","thing","isES6Set","hasGetOwnPropertySymbols","ownKeys","getOwnPropertyNames","toPrimitive","hasProp","prop","getOwnPropertyDescriptors","res","setFlag","flags","mask","newValue","_arrayLikeToArray","_defineProperties","_toPropertyKey","_toPrimitive","_createClass","_createForOfIteratorHelperLoose","isArray","_unsupportedIterableToArray","_extends","_inheritsLoose","_setPrototypeOf","storedAnnotationsSymbol","createDecoratorAnnotation","annotation","property","is20223Decorator","decorate_20223_","storeAnnotation","annotationType_","context","$mobx","Atom","name_","flags_","observers_","lastAccessedBy_","lowestObserverState_","NOT_TRACKING_","onBOL","onBUOL","_proto","onBO","listener","onBUO","reportObserved","reportChanged","startBatch","propagateChanged","endBatch","isBeingObservedMask_","isPendingUnobservationMask_","getFlag","diffValueMask_","isAtom","createAtom","onBecomeObservedHandler","onBecomeUnobservedHandler","atom","interceptHook","arg3","onBecomeUnobserved","comparer","structural","deepEqual","deepEnhancer","isObservable","isAction","isFlow","flow","autoAction","referenceEnhancer","createActionAnnotation","options_","make_","make_$1","extend_","extend_$1","decorate_20223_$1","adm","descriptor","_this$options_","bound","target_","actionDescriptor","createActionDescriptor","proxyTrap","defineProperty_","mthd","_this$options_2","kind","addInitializer","ann","_createAction","_ann$options_$name","_ann$options_","_ann$options_$autoAct","_ann$options_2","createAction","initMthd","_ann$options_3","isMobxAction","self1","safeDescriptors","globalState","_ref","_ref2","_annotation$options_","_annotation$options_$","_annotation$options_2","_annotation$options_$2","_annotation$options_3","_annotation$options_4","_adm$proxy_2","_adm$proxy_","proxy_","isPlainObject_","createFlowAnnotation","make_$2","extend_$2","decorate_20223_$2","flowDescriptor","createFlowDescriptor","_this$options_3","isMobXFlow","createComputedAnnotation","make_$3","extend_$3","decorate_20223_$3","defineComputedProperty_","asObservableObject","values_","ComputedValue","getObservablePropValue_","createObservableAnnotation","make_$4","extend_$4","decorate_20223_$4","_this$options_$enhanc","defineObservableProperty_","enhancer","initializedObjects","WeakSet","initializeObservable","_ann$options_$enhance","ObservableValue","setObservablePropValue_","autoAnnotation","createAutoAnnotation","make_$5","extend_$5","decorate_20223_$5","_this$options_4","flowAnnotation","autoBind","actionAnnotation","observableAnnotation","deep","_this$options_5","_this$options_6","defaultCreateObservableOptions","defaultDecorator","proxy","observableRefAnnotation","observableShallowAnnotation","isObservableObject","isObservableArray","isObservableMap","isObservableSet","observableStructAnnotation","oldValue","observableDecoratorAnnotation","getEnhancerFromOptions","createObservable","arg2","equals","initialValues","useProxies","LegacyObservableArray","owned","initObservable","ObservableArrayAdministration","arrayTraps","spliceWithArray_","ObservableMap","ObservableSet","_target$$mobx","_target$$mobx$proxy_","descriptors","objectProxyTraps","annotations","shallow","struct","COMPUTED","computedAnnotation","computedStructAnnotation","arg1","opts","currentActionId","nextActionId","isFunctionNameConfigurable","tmpNameDescriptor","actionName","executeAction","canRunAsDerivation","prevDerivation_","runAsAction","prevAllowStateChanges_","runInfo","trackingDerivation","allowStateChanges","untrackedStart","allowStateChangesStart","runAsAction_","prevAllowStateReads_","allowStateReadsStart","notifySpy_","startTime_","actionId_","parentActionId_","error_","suppressReactionErrors","allowStateChangesEnd","allowStateReadsEnd","untrackedEnd","prev","_Atom","notifySpy","hasUnreportedChange_","interceptors_","changeListeners_","value_","dehancer","dehanceValue","prepareNewValue_","UNCHANGED","setNewValue_","hasInterceptors","interceptChange","UPDATE","hasListeners","notifyListeners","intercept_","registerInterceptor","observe_","fireImmediately","observableKind","debugObjectName","registerListener","dependenciesState_","observing_","newObserving_","runId_","UP_TO_DATE_","unboundDepsCount_","CaughtException","triggeredBy_","derivation","setter_","isTracing_","NONE","scope_","equals_","requiresReaction_","keepAlive_","compareStructural","requiresReaction","keepAlive","onBecomeStale_","POSSIBLY_STALE_","isComputing","inBatch","shouldCompute","prevTrackingContext","trackingContext","trackAndCompute","STALE_","warnAboutUntrackedRead_","computeValue_","isCaughtException","cause","isRunningSetter","wasSuspended","changed","track","trackDerivedFunction","disableErrorBoundaries","suspend_","clearObserving","firstTime","prevValue","prevU","isComputingMask_","isRunningSetterMask_","isComputedValue","prevAllowStateReads","prevUntracked","obs","changeDependenciesStateTo0","runId","prevTracking","bindDependencies","prevObserving","observing","lowestNewObservingDerivationState","i0","dep","diffValue","_dep","removeObserver","_dep2","untracked","allowStateReads","MobXGlobals","version","mobxGuid","pendingUnobservations","pendingReactions","isRunningReactions","enforceActions","spyListeners","globalReactionErrorHandlers","computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","verifyProxies","canMergeGlobalState","isolateCalled","__mobxInstanceCount","__mobxGlobals","queueForUnobservation","isPendingUnobservation","runReactions","isBeingObserved","Reaction","onInvalidate_","errorHandler_","requiresObservable_","schedule_","isScheduled","runReaction_","isDisposed","isTrackPending","reportExceptionInDerivation_","isRunning","prevReaction","dispose","getDisposer_","abortSignal","_this2","enterBreakPoint","isDisposedMask_","isScheduledMask_","isTrackPendingMask_","isRunningMask_","reactionScheduler","runReactionsHelper","allReactions","iterations","splice","remainingReactions","isReaction","ACTION","AUTOACTION","actionBoundAnnotation","autoActionAnnotation","autoActionBoundAnnotation","createActionFactory","_opts$name","_opts","_opts2","_opts3","createSchedulerFromOptions","reactionRunner","onError","requiresObservable","run","expression","effect","errorHandler","_opts$name2","_opts4","_opts5","effectAction","baseFn","runSync","nextValue","hook","getAtom","cb","listenersKey","hookListeners","ALWAYS","isolateGlobalState","baseScheduler","ea","generatorId","FlowCancellationError","flowBoundAnnotation","rejector","gen","pendingPromise","stepId","onFulfilled","ret","onRejected","cancelPromise","_res","yieldedPromise","transaction","getAdm","has_","get_","_getAdm$set_","set_","deleteProperty","_getAdm$delete_","delete_","_getAdm$definePropert","ownKeys_","preventExtensions","interceptable","interceptors","idx","listenable","listeners","SPLICE","getArrayLength_","arrayExtensions","setArrayLength_","owned_","legacyMode_","atom_","enhancer_","lastKnownLength_","newV","oldV","dehanceValue_","dehanceValues_","added","addedCount","removed","removedCount","newLength","currentLength","newItems","updateArrayLength_","oldLength","reserveArrayBuffer","deleteCount","lengthDelta","spliceItemsIntoValues_","notifyArraySplice_","_this$values_","oldItems","notifyArrayChildUpdate_","notify","warn","clear","spliceWithArray","_len2","items","_key2","unshift","_len3","_key3","sort","copy","addArrayExtension","funcName","funcFactory","simpleFunc","dehancedValues","mapLikeFunc","reduceLikeFunc","_this3","accumulator","currentValue","isObservableArrayAdministration","ObservableMapMarker","DELETE","initialData","data_","hasMap_","keysAtom_","Map","entry","newEntry","hasKey","updateValue_","addValue_","_change","_this3$hasMap_$get","_this4","_this4$hasMap_$get","makeIterableForMap","_keys$next","_keys$next2","_step","_iterator","_step$value","other","_this5","getPlainObjectKeys","symbols","_this6","_step2","_iterator2","_this7","_step3","replacementMap","convertToMap","dataStructure","orderedData","keysReportChangedCalled","_iterator3","_step4","_iterator4","_step4$value","_value","keyExisted","_value2","iter1","iter2","next1","next2","makeIterable","ObservableSetMarker","callbackFn","_change2","makeIterableForSet","_values$next","_values$next2","intersection","otherSet","dehancedSet","union","difference","symmetricDifference","isSubsetOf","isSupersetOf","isDisjointFrom","descriptorCache","REMOVE","ObservableObjectAdministration","defaultAnnotation_","appliedAnnotations_","pendingKeys_","_this$target_$storedA","outcome","recordAnnotationApplied","deleteOutcome","notifyPropertyAddition_","cachedDescriptor","getCachedObservablePropDescriptor","_this$pendingKeys_","_this$pendingKeys_2","keys_","_options$defaultDecor","_options$name","isObservableObjectAdministration","_adm$target_$storedAn","ENTRY_0","createArrayEntryDescriptor","safariPrototypeSetterInheritanceBug","OBSERVABLE_ARRAY_BUFFER_SIZE","StubArray","ctor","_StubArray","arrays","nextIndex","getDebugName","_observable","named","getAdministration","eq","aStack","bStack","unwrap","areArrays","aCtor","bCtor","maybeIteratorPrototype","getSelf","__MOBX_DEVTOOLS_GLOBAL_HOOK__","injectMobx","spy","extras","$957cf12c60d95319$exports","Fragment","jsxDEV","jsxs","jsx","$957cf12c60d95319$var$jsx","isHTMLElementClass","tagNameOf","commonProps","flat","Infinity","$5ec47347fc6130b4$var$OriginalPromise","$5ec47347fc6130b4$var$InstrumentedPromise$1","resolver","arg","_hasDownstreams","createEvent","initEvent","$6cc92a54d783d8e3$exports","__exportStar","$kpaC8","$0268acc93e67b930$var$t","$0268acc93e67b930$export$b4d10f6001c083c2","ShadyCSS","nativeShadow","CSSStyleSheet","$0268acc93e67b930$var$s","$0268acc93e67b930$var$o","$0268acc93e67b930$export$505d1e8739bad805","_$cssResult$","cssText","styleSheet","replaceSync","$0268acc93e67b930$export$8d80f9cac07cdb3","$0268acc93e67b930$export$dbf350e5966cf602","$0268acc93e67b930$export$2ca4a66ec4cecb90","adoptedStyleSheets","litNonce","appendChild","$0268acc93e67b930$export$ee69dfd951e24778","cssRules","$67bf2f689afe545b$var$i","$67bf2f689afe545b$var$e","$67bf2f689afe545b$var$r","$67bf2f689afe545b$var$h","$67bf2f689afe545b$var$o","$67bf2f689afe545b$var$n","$67bf2f689afe545b$var$a","$67bf2f689afe545b$var$c","trustedTypes","$67bf2f689afe545b$var$l","emptyScript","$67bf2f689afe545b$var$p","reactiveElementPolyfillSupport","$67bf2f689afe545b$var$d","$67bf2f689afe545b$export$7312b35fbf521afb","toAttribute","fromAttribute","$67bf2f689afe545b$export$53a6892c50694894","$67bf2f689afe545b$var$y","attribute","converter","reflect","hasChanged","metadata","litPropertyMetadata","$67bf2f689afe545b$export$c7c07a37856565d","_$Ei","observedAttributes","finalize","_$Eh","createProperty","elementProperties","noAccessor","getPropertyDescriptor","requestUpdate","getPropertyOptions","finalized","properties","_$Eu","elementStyles","finalizeStyles","_$Ep","isUpdatePending","hasUpdated","_$Em","_$Ev","_$ES","enableUpdating","_$AL","_$E_","addController","_$EO","renderRoot","isConnected","hostConnected","removeController","createRenderRoot","shadowRootOptions","connectedCallback","disconnectedCallback","hostDisconnected","attributeChangedCallback","_$AK","_$EC","_$ET","_$Ej","scheduleUpdate","performUpdate","wrapped","shouldUpdate","willUpdate","hostUpdate","update","_$EU","_$AE","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","ReactiveElement","reactiveElementVersions","$1182a8bbea75578f$var$t","$1182a8bbea75578f$var$i","$1182a8bbea75578f$var$s","createPolicy","createHTML","$1182a8bbea75578f$var$e","$1182a8bbea75578f$var$h","$1182a8bbea75578f$var$o","$1182a8bbea75578f$var$n","$1182a8bbea75578f$var$r","$1182a8bbea75578f$var$l","createComment","$1182a8bbea75578f$var$c","$1182a8bbea75578f$var$a","$1182a8bbea75578f$var$u","$1182a8bbea75578f$var$d","$1182a8bbea75578f$var$f","$1182a8bbea75578f$var$v","$1182a8bbea75578f$var$_","$1182a8bbea75578f$var$m","RegExp","$1182a8bbea75578f$var$p","$1182a8bbea75578f$var$g","$1182a8bbea75578f$var$$","$1182a8bbea75578f$var$y","_$litType$","strings","$1182a8bbea75578f$export$c0bb0b647f701bb5","$1182a8bbea75578f$export$9c068ae9cc5db4e8","$1182a8bbea75578f$export$45b790e32b2810ee","$1182a8bbea75578f$var$A","$1182a8bbea75578f$var$C","$1182a8bbea75578f$var$P","$1182a8bbea75578f$var$V","lastIndex","$1182a8bbea75578f$var$N","parts","el","firstChild","hasAttributes","getAttributeNames","endsWith","$1182a8bbea75578f$var$H","$1182a8bbea75578f$var$I","$1182a8bbea75578f$var$L","$1182a8bbea75578f$var$k","$1182a8bbea75578f$var$S","_$Co","_$Cl","_$litDirective$","_$AO","_$AT","_$AS","$1182a8bbea75578f$var$M","_$AV","_$AN","_$AD","_$AM","parentNode","_$AU","creationScope","importNode","$1182a8bbea75578f$var$R","$1182a8bbea75578f$var$z","_$AI","_$Cv","_$AH","_$AA","_$AB","startNode","endNode","_$AR","$","insertBefore","_$AC","_$AP","setConnected","fill","toggleAttribute","capture","passive","handleEvent","host","$1182a8bbea75578f$var$j","litHtmlPolyfillSupport","litHtmlVersions","$1182a8bbea75578f$export$b3890eb0ae9dca99","renderBefore","_$litPart$","$d7ae2122416faf05$export$3f2f9f5909897157","renderOptions","_$Do","_$litElement$","litElementHydrateSupport","LitElement","$d7ae2122416faf05$var$i","litElementPolyfillSupport","litElementVersions","$6eca265e3a72f146$export$da64fc29f17f9d0e","customElements","$acf573f6c2910992$var$o","$acf573f6c2910992$export$8d623b1670eb40f4","$acf573f6c2910992$export$d541bacb2bda4494","$81aad1feed252031$export$ca000e230c0caa3e","$9b255c0a7142f8f7$export$51987bb50e1f6752","$fd9f04ee645bb4e0$export$4682af2d9ee91415","slot","assignedElements","$dc08001cbc3c8af5$var$t","$dc08001cbc3c8af5$export$c3825b437cbdea5c","$dc08001cbc3c8af5$export$7f431ad0fff82fd9","$7f965b17d718bf91$export$99b43ad1ed32e735","$7f965b17d718bf91$export$befdefbdce210f91","_$Ct","_$Ci","$044d98491ba33eb0$var$s","$044d98491ba33eb0$var$o","$044d98491ba33eb0$var$r","$044d98491ba33eb0$var$c","$044d98491ba33eb0$var$h","$044d98491ba33eb0$var$n","_$AQ","$044d98491ba33eb0$export$7d025501802325e","reconnected","disconnected","setValue","$f322d22fead4969a$export$7d1e3a5e95ceca43","$f322d22fead4969a$var$h","$f322d22fead4969a$var$o","$f322d22fead4969a$export$eff4d24c3ff7876e","Y","rt","lt","ct","ht","$c87de1375632dba4$var$isObject","$c87de1375632dba4$export$8b58be045bf06082","src","$c87de1375632dba4$export$3fdcb9b4d81368d8","activeElement","blur","getElementById","getElementsByTagName","hash","hostname","pathname","protocol","$c87de1375632dba4$export$f65ca476c09acec0","doc","$c87de1375632dba4$export$8582633f185c62bb","userAgent","history","replaceState","pushState","go","back","CustomEvent","getPropertyValue","Image","screen","matchMedia","cancelAnimationFrame","$c87de1375632dba4$export$38b2d434cce3ea22","win","$d0cded150def05db$export$651544f548703224","$d0cded150def05db$export$40bcf76e2c1becc2","$d0cded150def05db$export$f6e2535fb5126e54","$d0cded150def05db$export$844ec244b1367d54","$d0cded150def05db$export$7e4aa119212bc614","$d0cded150def05db$export$f9ce7b637dfbe238","$d0cded150def05db$export$fce6876652108ab","$d0cded150def05db$export$630801d484da15df","$d0cded150def05db$export$5a096129d439f843","Window","$d0cded150def05db$export$62858bae88b53fd0","$d0cded150def05db$export$45a5e7f76e0caa8d","$d0cded150def05db$export$8ee0fc9ee280b4ee","$d0cded150def05db$export$1e2f57719e155213","$d0cded150def05db$export$c10d0b04eaa80a43","$d0cded150def05db$export$8d51e3db1a844094","$d0cded150def05db$export$86f54f62aa7a7514","string","letter","$d0cded150def05db$export$73bda83cddbc7187","replacer","$d0cded150def05db$export$35d6da1a7e941e79","$d0cded150def05db$export$211b8db791997e25","$d0cded150def05db$export$1b8ac1d3a07c9372","$6175daf4c02230d4$export$af7f3c1d59036499","arr","$f94b048e0ef94ba5$export$37e2077ccaabdaf6","$f94b048e0ef94ba5$export$c8a8987d4410bf2d","$f94b048e0ef94ba5$export$1b8e57c9ea42f1d2","$f94b048e0ef94ba5$export$7ae609f7af59e4f7","removeChild","$f94b048e0ef94ba5$export$ddad7c9cfa637961","tempParent","$b95421a1db56b097$export$3d8c2f653ac9d0b9","$b95421a1db56b097$var$get$","toCreate","li","tr","td","th","tbody","option","childTag","parentTag","$86ec33836cc10aec$export$34f6a5ffaa663541","slotNames","onSlotChange","slotName","hasDefaultSlot","hasNamedSlot","some","ELEMENT_NODE","hasAttribute","$f12b6253cef59edc$export$3db5d71bdb2d5499","waitUntilFirstUpdate","functionName","changedProperties","$9f4de283a23bd2a5$export$2aee1c8d7bab360b","$ba66167bae03ac3c$export$d9a2b46c01bdcf53","$dd2a3999053fa8a1$export$f68dd208b5df064d","$6ff99a31914becfa$export$2e2bcd8739ae039","names","out","tmp","$53a1aafae9c6752a$export$9bb0a9faa319390c","emit","bubbles","cancelable","composed","$93c84b873bab7bc6$export$735ee1799fd02602","$93c84b873bab7bc6$export$6399f3bb52316b2c","$93c84b873bab7bc6$export$9fec4d97f1922e0b","$0caf6a5c58ee85f9$export$8279eff504af5afb","$0caf6a5c58ee85f9$export$78bc5c0ac316e909","$0caf6a5c58ee85f9$export$31fae7b1c9494af1","extra","position","$0caf6a5c58ee85f9$export$3d2f074408bd1b82","valueNumber","$0caf6a5c58ee85f9$export$7914d752ca654669","each","nameIndex","$376a384cc549d4e2$export$61a522b559454891","$376a384cc549d4e2$export$2742a3285d55034","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","$8917adc71c53e49d$export$7a5d5c156e7dc406","$29b950a65aaa366a$export$da3260c7a0861b80","defined","relatedElements","needDomReady","isDefined","getUndefinedLocalNames","whenDefined","undefinedLocalNames","promises","getScopeLocalNameSelector","localNames","getGlobalLocalNameSelector","scopeSelector","globalSelector","undefinedElements","$d56b143b5bf6ad89$var$reportValidityOverloads","$d56b143b5bf6ad89$export$64b1c594674e8d1d","$d56b143b5bf6ad89$export$2ecd466f59952f38","definedController","control","formId","attr","getRootNode","disabled","reportValidity","onFormData","onFormSubmit","onFormReset","reportFormValidity","attachForm","detachForm","getForm","reset","invoker","doAction","submit","$button","css","clipPath","overflow","whiteSpace","button","click","isButton","val","formData","noValidate","preventDefault","stopImmediatePropagation","invalid","$a1095454894349c1$export$7ef977f86985f711","$127a23c52a5adf4f$export$e70f90f657dd64e","superclass","AnchorMixinClass","renderAnchor","part","refDirective","tabIndex","download","__decorate","removeAttr","attributeName","$3bb9ba68ccebecb9$var$isClick","$3bb9ba68ccebecb9$var$document","$3bb9ba68ccebecb9$export$7b86c168e7d309f7","FocusableMixinClass","autofocus","focused","focusVisible","focusableDefinedController","_manipulatingTabindex","_tabIndex","$this","focusElement","tabIndexAttribute","focusDisabled","onPointerDown","focus","preventScroll","manageFocusElementTabindex","manageAutoFocus","_lastFocusDisabled","KeyboardEvent","$c9d15c868ac73f05$export$56cc687933817664","st","nt","$88c4b251730a74bc$export$1d567c320f4763bc","$24b7d1db3ddd7bcf$export$9e72f56a493060bf","isDeterminate","determinate","indeterminate","renderDeterminate","renderInDeterminate","determinateStrokeDashOffset","center","circleRadius","circle","thisStrokeWidth","strokeWidth","isMatched","$compareWith","compare","childNode","$bd16f506cea8b6ba$export$147ec2801e896265","$elements","cls","$0998345f3fc9bb6a$var$weakMap","$0998345f3fc9bb6a$export$2774c37398bee8b2","$0998345f3fc9bb6a$export$3988ae62b71be9a3","keyOriginal","$0998345f3fc9bb6a$export$5c5fa8f869a462","$0998345f3fc9bb6a$export$adaa4cf7ef1b65be","$0998345f3fc9bb6a$var$rbrace","$0998345f3fc9bb6a$var$stringTransform","$0998345f3fc9bb6a$export$5cc3b7b83e34ade7","dataset","resultData","$selector","$c5eae2e260de3fc7$var$handleExtraWidth","funcIndex","includeMargin","multiply","getExtraWidthValue","$c5eae2e260de3fc7$var$get","clientProp","scrollProp","offsetProp","innerProp","$c5eae2e260de3fc7$var$set","elementIndex","computedValue","$element","dimension","suffix","$229897d88c30053c$export$8b58be045bf06082","objectN","margin","isSet","offsetParent","$3320362c87173871$var$floatStyle","currentOffset","parentOffset","$offsetParent","$d5f1bc9a569b30f2$var$get","getClientRects","pageYOffset","pageXOffset","defaultView","$d5f1bc9a569b30f2$var$set","currentTop","currentLeft","currentTopString","currentLeftString","currentPosition","$dbdfa8d1727f2953$export$2344b14b097df817","container","contains","$de9a3271470b39d0$export$4950aa0f605343fb","first","foundElements","$c9243290d90ea08c$var$CustomEvent","$c9243290d90ea08c$export$df19c5abb73be735","$c9243290d90ea08c$var$elementIdMap","$c9243290d90ea08c$var$elementId","$c9243290d90ea08c$var$getElementId","$c9243290d90ea08c$var$handlersMap","$c9243290d90ea08c$var$getHandlers","$c9243290d90ea08c$export$98e6a39c04603d36","$c9243290d90ea08c$var$matcherFor","$c9243290d90ea08c$var$getMatchedHandlers","$c9243290d90ea08c$export$e16d8520af44a096","types","useCapture","callFn","elem","stopPropagation","proxyFn","$c9243290d90ea08c$export$cd7f480d6b8286c3","handlersInElement","removeEvent","off","on","one","origCallback","dataN","$target","newItem","cloneNode","existingItem","extraChilds","childLength","$result","$48ad39a890570dca$export$1d567c320f4763bc","$6e172aead194afb2$export$9e9146f7e027fdaa","noRipple","hover","dragged","surfaceRef","startPress","touchStartX","touchStartY","$surface","surfaceHeight","innerHeight","surfaceWidth","innerWidth","touchPosition","TouchEvent","touches","pageX","pageY","diameter","translateX","translateY","translate","marginTop","marginLeft","wave","prependTo","clientLeft","animationName","endPress","$waves","hideAndRemove","addClass","startHover","endHover","startFocus","endFocus","startDrag","endDrag","$abaf2949eee28760$export$7891358133f12319","Mixin","rippleIndex","getRippleIndex","rippleElement","rippleDisabled","rippleTarget","$rippleTarget","setRippleIndex","rippleTargetArr","pointerType","isRippleDisabled","getRippleTarget","getRippleElement","ripple","hidden","timer","hideRipple","touchMove","$eeff11f728ecfc08$export$fde5e54d6ffcadff","$d2ad4ee595242e3a$export$b0bb876e969289cd","loading","formNoValidate","formController","validity","validationMessage","checkValidity","valid","setCustomValidity","_changedProperties","renderLoading","renderButton","$30616b9c1b48e973$var$n","$30616b9c1b48e973$var$i","$30616b9c1b48e973$export$1e5b4ce2fa884e6a","ft","$9cca465579216710$export$3bebd1f0e3943985","it","directiveName","_t","resultType","$b4da4e9924f27d5e$var$t","$b4da4e9924f27d5e$export$1cb98903879b8bf5","$b27e2e9450fc6a62$export$71341b9b69479007","disconnect","reconnect","deref","$b27e2e9450fc6a62$export$193ea5a420bb5c41","Z","pause","resume","$d8983edf6b6eda44$var$n","$d8983edf6b6eda44$export$a40009bd2c363351","_$Cwt","_$Cbt","_$CK","_$CX","trigger","$1e3e766d9280c80a$export$edf1da70bd7fb56d","$1e3e766d9280c80a$export$1d84e373e41d1900","$1e3e766d9280c80a$export$daf97b5ec893c045","$1e3e766d9280c80a$export$106e2f2d32348bb","$1e3e766d9280c80a$export$a497d4fec1af79d7","method","$1e3e766d9280c80a$export$8fa1eaeb4700701e","url","query","$1e3e766d9280c80a$export$c3a3240a17b6712","$2","$1e3e766d9280c80a$export$ce01fa4b1b0d6c2c","$1e3e766d9280c80a$export$235b7fc70b9fc359","defaults","processData","async","cache","username","password","headers","xhrFields","statusCode","dataType","contentType","timeout","global","callbacks","$e54f7c33f3bbdba8$export$6f7d1d9d04558207","destructure","keyTmp","encodeURIComponent","$08db1f021c5655eb$export$e68fce4c5f453854","textStatus","isCanceled","eventParams","successEventParams","mergedOptions","isMethodQueryString","FormData","resultGlobal","resultCustom","xhrTimeout","doReject","xhr","XMLHttpRequest","open","setRequestHeader","responseData","isSuccess","getResponseHeader","responseText","response","responseType","statusText","send","$42da3c15efb64b42$export$1d567c320f4763bc","$ace75c505bb200c7$export$f04a61298a47a40f","hasSlotController","renderDefault","variant","familyMap","fontFamily","$a0812466456bb63e$export$1d567c320f4763bc","$c27d5c28049f0305$export$e1c22a2ee2645e36","selectable","selected","rippleRef","onSelectedChange","renderIcon","selectedIcon","icon","$4c3a05e706c073e8$export$62dea70d952e1d31","$1433ea18eff4ffe2$export$c84671f46d6a1ca","fullHeight","$36acaba128fca20f$var$id","$36acaba128fca20f$export$8b15d37bc3f197d4","$6deeb9ef1c73e593$export$3e59a5e1472e94f1","unobserve","coArr","findIndex","co","ResizeObserver","$1cf2e211a0e8f6e4$export$4a04ad01c410b415","states","registerMain","$main","unregisterMain","registerItem","observeResize","updateLayout","isNoWidth","resort","unregisterItem","getItems","DOCUMENT_POSITION_PRECEDING","getMain","getItemsAndMain","updateOrder","currState","currIndex","placement","layoutPlacement","prevState","right","lastState","paddingTop","paddingRight","paddingBottom","paddingLeft","aOrder","order","bOrder","isModal","$1cf2e211a0e8f6e4$var$layoutManagerMap","$1cf2e211a0e8f6e4$export$15b332947189bc50","$8ae302ee2d72d2fb$export$b529af58a9865382","isParentLayout","onOrderChange","layoutManager","$e6a36d8685f7a964$export$d03de1d4839081f2","$f010997fea6f63c5$export$908a623c79ef2d32","onPlacementChange","$8dbed528a5d643c7$export$896f4feefc019641","$4fc6adea60fc4461$export$6cc1872dc6625c1a","$3d8d91e959479a69$export$86769c7e42816efc","$f7535d03127047a7$export$54c2e3dc7acea9f5","$fec346e32fb47383$export$322d34f518c8ea02","$7a4cef88601f6d79$export$a7b06bfba60a8a78","active","nonclickable","rounded","alignment","itemRef","preset","endIcon","description","iconElements","endIconElements","renderInner","headline","flatten","$3362be994de5de48$export$3b755839a54e1bb0","keyframes","easing","animation","animate","$b22e21da55e74950$export$b5ef74bd35083b44","computedStyle","containerWidth","getBreakpointValue","breakpoint","getNextBreakpoint","up","down","only","not","between","startBreakpoint","endBreakpoint","$4e8a824bd0f3adc8$var$isTabbable","visibility","$05d0a53b513f989a$var$activeModals","$05d0a53b513f989a$export$2b77a92f1a5ad772","tabDirection","handleFocusIn","handleKeyDown","handleKeyUp","activate","deactivate","modal","isActive","checkFocus","allElements","walk","shiftKey","$be740f6576951c5c$export$2bbf531f74195405","cssVariableName","$be740f6576951c5c$export$75bba95db5c3e753","cssValue","$3c315b2fe0eb8e20$var$isPlainText","clone","contents","$adc62e3a0f282822$export$25b60ac3cac337f6","fresh","$inner","$outer","pointerEvents","appendTo","widthContained","widthScroll","clientWidth","$adc62e3a0f282822$export$4d450e1748530b6a","clientHeight","$adc62e3a0f282822$var$lockMap","$adc62e3a0f282822$var$className","$adc62e3a0f282822$export$262d4a3a96e6db49","lock","$adc62e3a0f282822$export$9af88a20d52a352e","removeClass","$b378ababbe6fa120$export$1d567c320f4763bc","$3dea5fc8fb03d694$export$427b161b9019194d","closeOnEsc","closeOnOverlayClick","contained","mobile","overlayRef","panelRef","lockTarget","onContainedChange","setObserveResize","onMobileChange","getLockTargetAnimate","onOpenChange","panel","overlay","isRight","easingLinear","easingEmphasized","setLayoutTransition","stopOldAnimations","layoutItems","layoutIndex","getAnimations","handleAnimationEvent","originalTrigger","modalHelper","autoFocusTarget","animations","opacity","onOverlayClick","paddingName","panelWidth","$1191034a54592604$var$weakMap","$1191034a54592604$export$8a19088925c5ac7a","ScrollBehaviorMixinClass","scrollBehaviorDefinedController","lastScrollTopThreshold","lastScrollTopNoThreshold","onListeningScroll","scrollPaddingPosition","onScrollTargetChange","setContainerPadding","scrollBehavior","oldListening","getListening","newListening","updateScrollTop","onScrollBehaviorChange","listening","scrollTarget","hasScrollBehavior","behaviors","runScrollThreshold","isScrollingUp","scrollTop","runScrollNoThreshold","getContainer","propValue","onScroll","scrollY","scrollThreshold","$3d1d3ee59e36548a$export$a51e9a3e0c6fd503","$c67bc3726066bba9$export$c9ed78ebba8e9631","hide","shrink","scrolling","onVariantChange","titleElements","titleElement","onShrinkChange","$a8c8e3e6b9b14720$export$75c1bd9705271f92","assignedNodes","outerHTML","$68f1d0c26504643c$export$7053b96d655bd551","$e10de931c81a166e$export$79f45473995404a3","labelLargeRef","defaultSlotRef","hasLabelLargeSlot","$da37ce670175a8d0$var$R","modifier","hasCustomName","$da37ce670175a8d0$var$be","$da37ce670175a8d0$var$Pe","$da37ce670175a8d0$var$v","substr","$da37ce670175a8d0$var$D","delimiter","prefixes","$da37ce670175a8d0$var$S","encodePart","$da37ce670175a8d0$var$X","ignoreCase","$da37ce670175a8d0$var$k","$da37ce670175a8d0$var$F","sensitive","strict","$da37ce670175a8d0$var$x","$da37ce670175a8d0$var$B","$da37ce670175a8d0$var$q","$da37ce670175a8d0$var$Q","substring","$da37ce670175a8d0$var$W","$da37ce670175a8d0$var$ee","$da37ce670175a8d0$var$N","$da37ce670175a8d0$var$_","$da37ce670175a8d0$var$y","$da37ce670175a8d0$var$le","$da37ce670175a8d0$var$fe","$da37ce670175a8d0$var$z","$da37ce670175a8d0$var$j","$da37ce670175a8d0$var$K","$da37ce670175a8d0$var$he","$da37ce670175a8d0$var$ue","$da37ce670175a8d0$var$de","$da37ce670175a8d0$var$pe","$da37ce670175a8d0$var$H","port","$da37ce670175a8d0$var$G","$da37ce670175a8d0$var$ge","$da37ce670175a8d0$var$b","$da37ce670175a8d0$var$C","$da37ce670175a8d0$var$w","baseURL","$da37ce670175a8d0$var$ie","$da37ce670175a8d0$var$se","lastIndexOf","$da37ce670175a8d0$var$ae","$da37ce670175a8d0$var$re","$da37ce670175a8d0$var$te","$da37ce670175a8d0$export$a348b14d2b61192c","$da37ce670175a8d0$var$ke","inputs","input","groups","compareComponent","hasRegExpGroups","URLPattern","$fa22c075827e0c31$var$$parcel$export","$fa22c075827e0c31$var$$d4436c849e74ae70$exports","$fa22c075827e0c31$export$2e9a7bb10257a509","$fa22c075827e0c31$var$$0c03e47eb1097734$exports","$fa22c075827e0c31$export$b6ae1bc530f4c149","$fa22c075827e0c31$export$af4b9a83f4b00434","$fa22c075827e0c31$export$7203b476385689ae","$fa22c075827e0c31$var$$552a56cc5ff3f479$exports","$fa22c075827e0c31$export$c7e91f8aec23ae14","$fa22c075827e0c31$export$b06b4c21253e26e2","$fa22c075827e0c31$export$4077c0dfbe9c3861","store","targetSelector","ended","delegate","$fa22c075827e0c31$var$$0c03e47eb1097734$var$__classPrivateFieldGet","$fa22c075827e0c31$var$$0c03e47eb1097734$var$reactionMap","$fa22c075827e0c31$var$$0c03e47eb1097734$var$wrapClass","Component","_ObserverComponent_instances","_ObserverComponent_boot","ObserverComponent","disposers","old","parseJSON","syncPropAttr","reactions","$fa22c075827e0c31$var$$0c03e47eb1097734$var$wrapFunction","renderer","$fa22c075827e0c31$var$$317b1f21909c74b8$exports","$fa22c075827e0c31$export$d8556a2a8f973135","$fa22c075827e0c31$export$af631764ddc44097","$fa22c075827e0c31$var$$317b1f21909c74b8$var$eventMap","internals","attachInternals","renderChildren","mounted","mountedCallback","updateDOM","renderMode","updatedCallback","transitible","startViewTransition","updateCallbackDone","finished","events","$fa22c075827e0c31$var$$d4436c849e74ae70$var$__runInitializers","initializers","useValue","$fa22c075827e0c31$var$$d4436c849e74ae70$var$__esDecorate","descriptorIn","contextIn","extraInitializers","accept","access","$fa22c075827e0c31$var$$d4436c849e74ae70$var$__classPrivateFieldGet","$fa22c075827e0c31$var$$d4436c849e74ae70$var$__classPrivateFieldSet","playing","importCSS","typeChanged","component","Tag","_metadata","static","private","$fa22c075827e0c31$var$$8acf79bd061a8fc3$exports","$fa22c075827e0c31$export$854a54a999c89982","$fa22c075827e0c31$export$488013bae63b21da","$fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__esDecorate","$fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__runInitializers","$fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__classPrivateFieldGet","$fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__classPrivateFieldSet","$fa22c075827e0c31$var$$8acf79bd061a8fc3$var$__rest","delegatedProps","load","loader","default","$fa22c075827e0c31$export$2a668e8d088a0667","$fa22c075827e0c31$var$$29675797ddd6c4f7$var$__runInitializers","$fa22c075827e0c31$var$$29675797ddd6c4f7$var$__esDecorate","$fa22c075827e0c31$var$$29675797ddd6c4f7$var$__classPrivateFieldGet","$fa22c075827e0c31$var$$29675797ddd6c4f7$var$__classPrivateFieldSet","_FormFieldComponent_name_accessor_storage","_FormFieldComponent_value_accessor_storage","_FormFieldComponent_required_accessor_storage","_FormFieldComponent_disabled_accessor_storage","_FormFieldComponent_autofocus_accessor_storage","_setValue_decorators","_name_decorators","_value_decorators","_required_decorators","_disabled_decorators","_autofocus_decorators","_name_initializers","_name_extraInitializers","_value_initializers","_value_extraInitializers","_required_initializers","_required_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_autofocus_initializers","_autofocus_extraInitializers","setFormValue","formDisabledCallback","required","willValidate","$3a8ef450cf9a0028$var$$parcel$export","$3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$exports","$3a8ef450cf9a0028$export$84202caead5689ba","$3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__runInitializers","$3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__esDecorate","$3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__classPrivateFieldGet","$3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$__classPrivateFieldSet","$3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$location","$3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$history","$3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$basePath","$3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$defaultBaseURL","$3a8ef450cf9a0028$var$$3a2ee75a1759d0d8$var$originalTitle","oldPath","titleOf","buildURLData","formToJSON","restore","handleLink","handleForm","dataOf","parseURLData","pattern","getTitle","getVisibleText","isXDomain","$3a8ef450cf9a0028$export$d6c529ca17cdd16f","$3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__runInitializers","$3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__esDecorate","$3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__classPrivateFieldGet","$3a8ef450cf9a0028$var$$0e8e8fd52ec9970a$var$__classPrivateFieldSet","matched","$3a8ef450cf9a0028$export$baddd0131ee8c05b","$3a8ef450cf9a0028$var$$7b488c9460f448a0$var$__rest","basePath","scopeProps","Route","Link","Form","$9b401f7840dd935f$export$bf347e2913cc7267","$ba6f70f29bc42df5$export$1d567c320f4763bc","$3deaa3b7b9468579$export$353f5b6fc5456de1","fullWidth","renderLabel","renderEndIcon","$62d60cff497d19e4$export$1d567c320f4763bc","$e094832e569ce4a8$export$60332b2344f7fe41","clickable","$cde8722383b271c6$var$$parcel$export","$cde8722383b271c6$export$694e0d28c7ffc90c","$cde8722383b271c6$var$$eef213ff4197108b$var$push","use","middlewares","execute","middleware","mount","condition","stack","$cde8722383b271c6$var$$0fe1f1400993ba8a$exports","$cde8722383b271c6$export$4125cfe7e08e2040","$cde8722383b271c6$export$aa9d629c530f62a7","$cde8722383b271c6$export$b725a69477e4d33f","$cde8722383b271c6$export$eea2c1c5e1a37e50","$cde8722383b271c6$export$3b629cd0ff482602","$cde8722383b271c6$export$4f2a8c8c11a6373a","$cde8722383b271c6$export$bda27a3e49197b9","$cde8722383b271c6$export$ba14d9a5a581e827","$cde8722383b271c6$export$b7b86d31099674dc","$cde8722383b271c6$export$b5fe3f66a567bec0","$cde8722383b271c6$var$$22de11b45b0eeb97$exports","$cde8722383b271c6$export$b6a9369736b19f4d","$cde8722383b271c6$export$2c28ab2e118e73f1","likeArray","$cde8722383b271c6$export$a0beee2e55fb5dd1","HTMLFormElement","stringifyDOM","enctype","$cde8722383b271c6$export$dfdc1655ccc5b9cb","isTypedArray","$cde8722383b271c6$export$f8162fcba31fa547","$cde8722383b271c6$export$cebfdbc318a33abe","$cde8722383b271c6$export$226b21d2db5eaf9f","$cde8722383b271c6$export$e209cbb66c5b18c","$cde8722383b271c6$export$8fb536984ec8b4d7","ProgressEvent","lengthComputable","total","loaded","createAsyncIterator","handleProgress","stream","eventTarget","chunk","file","encoding","reader","FileReader","progress","$cde8722383b271c6$var$$22de11b45b0eeb97$var$DataURI","btoa","p1","fromCharCode","URIError","request","matchAll","Headers","bodyPromise","fromAsync","onreadystatechange","getAllResponseHeaders","ontimeout","MIMEType","overrideMimeType","finally","upload","withCredentials","signals","AbortSignal","Accept","isStream","uploadProgress","EventTarget","downloadProgress","credentials","any","duplex","rBody","arrayBuffer","$cde8722383b271c6$export$45cf759b359d3d24","$cde8722383b271c6$var$$cbd22d3323bef9ca$var$splice","baseRequest","defaultWare","post","put","chunkSize","setEndAsHeader","Range","totalBytes","percent","$d919b95fbe3dd622$export$6ed414b8d8bead88","$67b5e04bae45038a$var$__esDecorate","$67b5e04bae45038a$var$__runInitializers","$67b5e04bae45038a$var$__classPrivateFieldGet","$67b5e04bae45038a$var$__classPrivateFieldSet","$67b5e04bae45038a$export$2e2bcd8739ae039","getList","$f19b1e4026dd9270$var$__runInitializers","$f19b1e4026dd9270$var$__esDecorate","$f19b1e4026dd9270$var$__classPrivateFieldGet","$f19b1e4026dd9270$var$__classPrivateFieldSet","$f19b1e4026dd9270$export$5e2d3684e2aeb1e3","city","rule","evidences","comment_url","renderCase","$f1ce7503a99226dc$var$__esDecorate","$f1ce7503a99226dc$var$__runInitializers","$f1ce7503a99226dc$var$__classPrivateFieldGet","$f1ce7503a99226dc$var$__classPrivateFieldSet","$f1ce7503a99226dc$var$Route","$f1ce7503a99226dc$export$7893f173408d95e4","drawerOpen","onClick","onClosed","PromiseRejectionEvent","alert","$ce967277cb0dfddc$var$serviceWorker","serviceWorkerUpdate","worker","confirm","reload","documentReady","SCHEDULER_PRIORITIES","PostMessageCallbackMananger","this","channel_","sendPort_","messages_","nextMessageHandle_","onMessageReceived_","queueCallback_","handle","cancelCallback_","getPostMessageCallbackManager","instance_","HostCallback","callback_","callbackType_","handle_","canceled_","isMessageChannelCallback_","runCallback_","nextSequence","IntrusiveTaskQueue","head_","tail_","task","tq_sequence_","tq_prev_","tq_next_","remove_","sourceQueue","currentTask","previousTask","taskToMove","insert_","parentTask","nextTask","typeArg","super","priority_","isPriorityChanging_","queues_","TaskQueue","pendingHostCallback_","signals_","postTaskOrContinuation_","resultPromise","onTaskDelayExpired_","pushTask_","scheduleHostCallbackIfNeeded_","schedulerEntryCallback_","onPriorityChange_","oldPriority","runNextTask_","nextTaskPriority_","niceErrors","annotationType","errors","process","env","NODE_ENV","warnAboutProxyRequirement","msg","getNextId","isPlainES6Map","mapProto","objectProto","nullProto","stringifyKey","decorator","isOverride","fieldName","assertNotDecorated","currentAnnotationType","requestedAnnotationType","collectStoredAnnotations","assert20223DecoratorType","onBecomeObserved","identityComparer","structuralComparer","shallowComparer","defaultComparer","identity","shallowEnhancer","refStructEnhancer","OVERRIDE","override","assertActionDescriptor","assertFlowDescriptor","assertComputedDescriptor","assertObservableDescriptor","AUTO","OBSERVABLE","OBSERVABLE_REF","OBSERVABLE_SHALLOW","OBSERVABLE_STRUCT","asCreateObservableOptions","getEnhancerFromAnnotation","getAnnotationFromOptions","observableFactories","createLegacyArray","createObservableArray","extendObservable","asDynamicObservableObject","COMPUTED_STRUCT","_startAction","_endAction","isSpyEnabled","flattenedArgs","spyReportStart","spyReportEnd","CREATE","spyReport","checkIfStateModificationsAreAllowed","isObservableValue","propagateMaybeChanged","propagateChangeConfirmed","isComputingDerivation","hasObservers","checkIfStateReadsAreAllowed","warnAboutDerivationWithoutDependencies","addObserver","persistentKeys","getGlobalState","resetGlobalState","defaultGlobals","getObservers","logTraceInfo","BREAK","lines","printDepTree","getDependencyTree","dependencies","startTime","onReactionError","MAX_REACTION_ITERATIONS","setReactionScheduler","END_EVENT","ACTION_BOUND","AUTOACTION_BOUND","DEFAULT_ACTION_NAME","runInAction","wrapErrorHandler","ON_BECOME_OBSERVED","ON_BECOME_UNOBSERVED","NEVER","OBSERVED","nodeToDependencyTree","unique","getObserverTree","nodeToObserverTree","observers","isFlowCancellationError","ctx","flowResult","interceptReads","propOrHandler","intercept","interceptProperty","interceptInterceptable","_isComputed","isComputed","isComputedProp","_isObservable","isObservableProp","apiDefineProperty","apiOwnKeys","propOrCb","cbOrFire","observeObservableProperty","observeObservable","toJSHelper","__alreadySeen","toJS","getAtomFromArgs","LOG","when","predicate","whenPromise","_when","timeoutHandle","cond","_opts$signal","_opts$signal2","_opts$signal3","makeObservable","_annotations","keysSymbol","makeAutoObservable","overrides","MAX_SPLICE_SIZE","ADD","_delete","deleted","isAnnotation","assertAnnotable","isExtensible","inherit","createArrayBufferItem","emptyStringForBooleanAttribute","polyfillSupport","JSCompiler_renameProperty","_obj","defaultConverter","fromValue","notEqual","defaultPropertyDeclaration","initializer","__prepare","_initializers","__attributeToPropertyMap","superCtor","propKeys","__attributeNameForProperty","getCompatibleStyle","__instanceProperties","__reflectingProperty","__initialize","__updatePromise","_$changedProperties","__saveInstanceProperties","__controllers","instanceProperties","adoptStyles","_requestedUpdate","_old","_$attributeToProperty","__propertyToAttribute","attrValue","_$changeProperty","__enqueueUpdate","__reflectingProperties","__markUpdated","_$didUpdate","supportsAdoptingStyleSheets","constructionToken","cssTagCache","CSSResult","safeToken","_strings","_styleSheet","cacheable","unsafeCSS","acc","textFromCSSResult","nonce","cssResultFromStyleSheet","policy","boundAttributeSuffix","marker","markerMatch","nodeMarker","createMarker","isPrimitive","isIterable","SPACE_CHAR","textEndRegex","commentEndRegex","comment2EndRegex","tagEndRegex","singleQuoteAttrEndRegex","doubleQuoteAttrEndRegex","rawTextElement","tag","mathml","noChange","nothing","templateCache","trustFromTemplateString","tsa","stringFromTSA","getTemplateHtml","attrNames","rawTextEndRegex","regex","attrName","attrNameEndIndex","Template","nodeIndex","attrNameIndex","partCount","wrapper","realName","statics","PropertyPart","BooleanAttributePart","EventPart","AttributePart","_options","resolveDirective","attributeIndex","currentDirective","__directives","__directive","nextDirectiveConstructor","_$initialize","_$resolve","TemplateInstance","_$parts","_$disconnectableChildren","_$template","_$parent","_$isConnected","_clone","partIndex","templatePart","ChildPart","ElementPart","_update","_$setValue","__isConnected","_$committedValue","_$startNode","_$endNode","directiveParent","_$clear","_commitText","_commitTemplateResult","_commitNode","_commitIterable","_insert","_$getTemplate","instance","itemParts","itemPart","_$notifyConnectionChanged","valueIndex","noCommit","_commitValue","newListener","oldListener","shouldRemoveListener","shouldAddListener","_$LH","_boundAttributeSuffix","_marker","_markerMatch","_HTML_RESULT","_getTemplateHtml","_TemplateInstance","_isIterable","_resolveDirective","_ChildPart","_AttributePart","_BooleanAttributePart","_EventPart","_PropertyPart","_ElementPart","partOwnerNode","__childPart","_$LE","isServer","customElement","classOrTarget","standardProperty","protoOrTarget","nameOrContext","legacyProperty","eventOptions","protoOrValue","doQuery","queryAll","queryAsync","queryAssignedElements","slotSelector","slotEl","queryAssignedNodes","createRef","Ref","lastElementForContextAndCallback","directive","AsyncDirective","refChanged","_updateRefValue","_lastElementForRef","_element","_context","lastElementForCallback","notifyChildrenConnectedChanged","removeDisconnectableFromParent","addDisconnectableToParent","installDisconnectAPI","reparentDisconnectables","newParent","notifyChildPartConnectedChanged","isClearingValue","fromPartIndex","PartType","CHILD","_$reparentDisconnectables","Directive","isClearingDirective","isSingleExpression","__part","newValues","__attributeIndex","TemplateResultType","SVG","MATHML","isTemplateResult","isCompiledTemplateResult","isDirectiveResult","getDirectiveClass","insertPart","containerPart","refPart","refNode","oldParent","parentChanged","newConnectionState","setChildPartValue","RESET_VALUE","setCommittedValue","getCommittedValue","removePart","clearPart","ATTRIBUTE","PROPERTY","BOOLEAN_ATTRIBUTE","EVENT","ELEMENT","_partInfo","_part","ifDefined","classMap","partInfo","classInfo","_previousClasses","_staticClasses","important","importantFlag","styleMap","styleInfo","_previousStyleProperties","isImportant","UnsafeSVGDirective","UnsafeHTMLDirective","unsafeSVG","_templateResult","unsafeHTML","isPromise","_infinity","UntilDirective","__lastRenderedIndex","__weakThis","PseudoWeakRef","__pauser","Pauser","previousValues","previousLength","weakThis","pauser","until","forAwaitOf","iterable","trueCase","falseCase"],"version":3,"file":"index.ae813e81.js.map"} \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..ac1d7db --- /dev/null +++ b/index.html @@ -0,0 +1 @@ +<!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link rel="icon" href="http://github.com/WebCell-0.a6336415.png"><title>WebCell-mobile \ No newline at end of file diff --git a/index.webmanifest b/index.webmanifest new file mode 100644 index 0000000..4b50cad --- /dev/null +++ b/index.webmanifest @@ -0,0 +1 @@ +{"name":"WebCell-mobile","short_name":"WC demo","start_url":".","description":"Mobile App scaffold of WebCell v3","scope":"/","display":"standalone","orientation":"any","lang":"en-US","dir":"ltr","theme_color":"rgba(0,0,0,0.5)","background_color":"transparent","icons":[{"src":"WebCell-0.a6336415.png","type":"image/png","sizes":"300x300"}]} \ No newline at end of file diff --git a/package.json b/package.json deleted file mode 100644 index 49f61c8..0000000 --- a/package.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "name": "webcell-mobile", - "version": "0.5.0", - "description": "Mobile App scaffold of WebCell v3, which is a PWA scaffold based on Material Design Web components, with Anti-996 sample data.", - "author": "shiy2008@gmail.com", - "homepage": "https://web-cell.dev/WebCell-mobile/", - "repository": { - "type": "git", - "url": "git+https://github.com/EasyWebApp/WebCell-mobile.git" - }, - "bugs": { - "url": "https://github.com/EasyWebApp/WebCell-mobile/issues" - }, - "dependencies": { - "browser-unhandled-rejection": "^1.0.2", - "cell-router": "^3.0.3", - "dom-renderer": "^2.6.2", - "koajax": "^3.1.1", - "mdui": "^2.1.3", - "mobx": "^6.13.6", - "web-cell": "^3.0.4", - "web-utility": "^4.4.3" - }, - "devDependencies": { - "@cspell/eslint-plugin": "^8.17.5", - "@eslint/js": "^9.22.0", - "@html-eslint/eslint-plugin": "^0.35.2", - "@html-eslint/parser": "^0.35.2", - "@parcel/config-default": "~2.13.3", - "@parcel/packager-raw-url": "~2.13.3", - "@parcel/transformer-typescript-tsc": "~2.13.3", - "@parcel/transformer-webmanifest": "~2.13.3", - "@stylistic/eslint-plugin": "^4.2.0", - "@tailwindcss/postcss": "^4.0.14", - "@types/eslint-config-prettier": "^6.11.3", - "@types/node": "^22.13.10", - "cross-env": "^7.0.3", - "eslint": "^9.22.0", - "eslint-config-prettier": "^10.1.1", - "eslint-plugin-react": "^7.37.4", - "eslint-plugin-simple-import-sort": "^12.1.1", - "globals": "^16.0.0", - "husky": "^9.1.7", - "jiti": "^2.4.2", - "lint-staged": "^15.5.0", - "parcel": "~2.13.3", - "postcss": "^8.5.3", - "prettier": "^3.5.3", - "prettier-plugin-css-order": "^2.1.2", - "prettier-plugin-tailwindcss": "^0.6.11", - "tailwindcss": "^4.0.14", - "typescript": "~5.8.2", - "typescript-eslint": "^8.26.1", - "workbox-cli": "^7.3.0" - }, - "prettier": { - "singleQuote": true, - "trailingComma": "none", - "arrowParens": "avoid", - "tabWidth": 4, - "plugins": [ - "prettier-plugin-css-order", - "prettier-plugin-tailwindcss" - ] - }, - "lint-staged": { - "*.{html,md,css,less,json,yml,js,ts,tsx}": "prettier --write", - "*.{css,js,mjs,ts,tsx}": "eslint --fix" - }, - "scripts": { - "prepare": "husky", - "test": "lint-staged", - "clean": "rm -rf .parcel-cache/ dist/", - "start": "npm run clean && parcel src/index.html", - "pack": "cross-env PARCEL_WORKER_BACKEND=process parcel build src/index.html --public-url .", - "build": "npm run clean && npm run pack && workbox generateSW" - } -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml deleted file mode 100644 index 26698cc..0000000 --- a/pnpm-lock.yaml +++ /dev/null @@ -1,9603 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: false - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - browser-unhandled-rejection: - specifier: ^1.0.2 - version: 1.0.2 - cell-router: - specifier: ^3.0.3 - version: 3.0.3(typescript@5.8.2) - dom-renderer: - specifier: ^2.6.2 - version: 2.6.2(typescript@5.8.2) - koajax: - specifier: ^3.1.1 - version: 3.1.1(typescript@5.8.2) - mdui: - specifier: ^2.1.3 - version: 2.1.3 - mobx: - specifier: ^6.13.6 - version: 6.13.6 - web-cell: - specifier: ^3.0.4 - version: 3.0.4(typescript@5.8.2) - web-utility: - specifier: ^4.4.3 - version: 4.4.3(typescript@5.8.2) - devDependencies: - '@cspell/eslint-plugin': - specifier: ^8.17.5 - version: 8.17.5(eslint@9.22.0(jiti@2.4.2)) - '@eslint/js': - specifier: ^9.22.0 - version: 9.22.0 - '@html-eslint/eslint-plugin': - specifier: ^0.35.2 - version: 0.35.2 - '@html-eslint/parser': - specifier: ^0.35.2 - version: 0.35.2 - '@parcel/config-default': - specifier: ~2.13.3 - version: 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))(@swc/helpers@0.5.15)(postcss@8.5.3)(terser@5.36.0)(typescript@5.8.2) - '@parcel/packager-raw-url': - specifier: ~2.13.3 - version: 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/transformer-typescript-tsc': - specifier: ~2.13.3 - version: 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))(typescript@5.8.2) - '@parcel/transformer-webmanifest': - specifier: ~2.13.3 - version: 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@stylistic/eslint-plugin': - specifier: ^4.2.0 - version: 4.2.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) - '@tailwindcss/postcss': - specifier: ^4.0.14 - version: 4.0.14 - '@types/eslint-config-prettier': - specifier: ^6.11.3 - version: 6.11.3 - '@types/node': - specifier: ^22.13.10 - version: 22.13.10 - cross-env: - specifier: ^7.0.3 - version: 7.0.3 - eslint: - specifier: ^9.22.0 - version: 9.22.0(jiti@2.4.2) - eslint-config-prettier: - specifier: ^10.1.1 - version: 10.1.1(eslint@9.22.0(jiti@2.4.2)) - eslint-plugin-react: - specifier: ^7.37.4 - version: 7.37.4(eslint@9.22.0(jiti@2.4.2)) - eslint-plugin-simple-import-sort: - specifier: ^12.1.1 - version: 12.1.1(eslint@9.22.0(jiti@2.4.2)) - globals: - specifier: ^16.0.0 - version: 16.0.0 - husky: - specifier: ^9.1.7 - version: 9.1.7 - jiti: - specifier: ^2.4.2 - version: 2.4.2 - lint-staged: - specifier: ^15.5.0 - version: 15.5.0 - parcel: - specifier: ~2.13.3 - version: 2.13.3(@swc/helpers@0.5.15)(postcss@8.5.3)(terser@5.36.0)(typescript@5.8.2) - postcss: - specifier: ^8.5.3 - version: 8.5.3 - prettier: - specifier: ^3.5.3 - version: 3.5.3 - prettier-plugin-css-order: - specifier: ^2.1.2 - version: 2.1.2(postcss@8.5.3)(prettier@3.5.3) - prettier-plugin-tailwindcss: - specifier: ^0.6.11 - version: 0.6.11(prettier-plugin-css-order@2.1.2(postcss@8.5.3)(prettier@3.5.3))(prettier@3.5.3) - tailwindcss: - specifier: ^4.0.14 - version: 4.0.14 - typescript: - specifier: ~5.8.2 - version: 5.8.2 - typescript-eslint: - specifier: ^8.26.1 - version: 8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) - workbox-cli: - specifier: ^7.3.0 - version: 7.3.0 - -packages: - - '@alloc/quick-lru@5.2.0': - resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} - engines: {node: '>=10'} - - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - - '@apideck/better-ajv-errors@0.3.6': - resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} - engines: {node: '>=10'} - peerDependencies: - ajv: '>=8' - - '@babel/code-frame@7.26.2': - resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.26.2': - resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.26.0': - resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.26.2': - resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-annotate-as-pure@7.25.9': - resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} - engines: {node: '>=6.9.0'} - - '@babel/helper-builder-binary-assignment-operator-visitor@7.25.9': - resolution: {integrity: sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.25.9': - resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-create-class-features-plugin@7.25.9': - resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-create-regexp-features-plugin@7.25.9': - resolution: {integrity: sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-define-polyfill-provider@0.6.3': - resolution: {integrity: sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - '@babel/helper-member-expression-to-functions@7.25.9': - resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.25.9': - resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-transforms@7.26.0': - resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-optimise-call-expression@7.25.9': - resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-plugin-utils@7.25.9': - resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-remap-async-to-generator@7.25.9': - resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-replace-supers@7.25.9': - resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-simple-access@7.25.9': - resolution: {integrity: sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==} - engines: {node: '>=6.9.0'} - - '@babel/helper-skip-transparent-expression-wrappers@7.25.9': - resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.25.9': - resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.25.9': - resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.25.9': - resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-wrap-function@7.25.9': - resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.26.0': - resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.26.2': - resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9': - resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9': - resolution: {integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9': - resolution: {integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9': - resolution: {integrity: sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9': - resolution: {integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-assertions@7.26.0': - resolution: {integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-attributes@7.26.0': - resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6': - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-arrow-functions@7.25.9': - resolution: {integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-generator-functions@7.25.9': - resolution: {integrity: sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-to-generator@7.25.9': - resolution: {integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-block-scoped-functions@7.25.9': - resolution: {integrity: sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-block-scoping@7.25.9': - resolution: {integrity: sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-class-properties@7.25.9': - resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-class-static-block@7.26.0': - resolution: {integrity: sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - - '@babel/plugin-transform-classes@7.25.9': - resolution: {integrity: sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-computed-properties@7.25.9': - resolution: {integrity: sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-destructuring@7.25.9': - resolution: {integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-dotall-regex@7.25.9': - resolution: {integrity: sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-duplicate-keys@7.25.9': - resolution: {integrity: sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9': - resolution: {integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-dynamic-import@7.25.9': - resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-exponentiation-operator@7.25.9': - resolution: {integrity: sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-export-namespace-from@7.25.9': - resolution: {integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-for-of@7.25.9': - resolution: {integrity: sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-function-name@7.25.9': - resolution: {integrity: sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-json-strings@7.25.9': - resolution: {integrity: sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-literals@7.25.9': - resolution: {integrity: sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-logical-assignment-operators@7.25.9': - resolution: {integrity: sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-member-expression-literals@7.25.9': - resolution: {integrity: sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-amd@7.25.9': - resolution: {integrity: sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-commonjs@7.25.9': - resolution: {integrity: sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-systemjs@7.25.9': - resolution: {integrity: sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-umd@7.25.9': - resolution: {integrity: sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-named-capturing-groups-regex@7.25.9': - resolution: {integrity: sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-new-target@7.25.9': - resolution: {integrity: sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-nullish-coalescing-operator@7.25.9': - resolution: {integrity: sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-numeric-separator@7.25.9': - resolution: {integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-object-rest-spread@7.25.9': - resolution: {integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-object-super@7.25.9': - resolution: {integrity: sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-optional-catch-binding@7.25.9': - resolution: {integrity: sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-optional-chaining@7.25.9': - resolution: {integrity: sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-parameters@7.25.9': - resolution: {integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-private-methods@7.25.9': - resolution: {integrity: sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-private-property-in-object@7.25.9': - resolution: {integrity: sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-property-literals@7.25.9': - resolution: {integrity: sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regenerator@7.25.9': - resolution: {integrity: sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regexp-modifiers@7.26.0': - resolution: {integrity: sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-reserved-words@7.25.9': - resolution: {integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-shorthand-properties@7.25.9': - resolution: {integrity: sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-spread@7.25.9': - resolution: {integrity: sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-sticky-regex@7.25.9': - resolution: {integrity: sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-template-literals@7.25.9': - resolution: {integrity: sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typeof-symbol@7.25.9': - resolution: {integrity: sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-escapes@7.25.9': - resolution: {integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-property-regex@7.25.9': - resolution: {integrity: sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-regex@7.25.9': - resolution: {integrity: sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-sets-regex@7.25.9': - resolution: {integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/preset-env@7.26.0': - resolution: {integrity: sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-modules@0.1.6-no-external-plugins': - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - - '@babel/runtime@7.26.0': - resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.25.9': - resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.25.9': - resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.26.0': - resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} - engines: {node: '>=6.9.0'} - - '@cspell/cspell-bundled-dicts@8.17.5': - resolution: {integrity: sha512-b/Ntabar+g4gsRNwOct909cvatO/auHhNvBzJZfyFQzryI1nqHMaSFuDsrrtzbhQkGJ4GiMAKCXZC2EOdHMgmw==} - engines: {node: '>=18'} - - '@cspell/cspell-pipe@8.17.5': - resolution: {integrity: sha512-VOIfFdIo3FYQFcSpIyGkqHupOx0LgfBrWs79IKnTT1II27VUHPF+0oGq0WWf4c2Zpd8tzdHvS3IUhGarWZq69g==} - engines: {node: '>=18'} - - '@cspell/cspell-resolver@8.17.5': - resolution: {integrity: sha512-5MhYInligPbGctWxoklAKxtg+sxvtJCuRKGSQHHA0JlCOLSsducypl780P6zvpjLK59XmdfC+wtFONxSmRbsuA==} - engines: {node: '>=18'} - - '@cspell/cspell-service-bus@8.17.5': - resolution: {integrity: sha512-Ur3IK0R92G/2J6roopG9cU/EhoYAMOx2um7KYlq93cdrly8RBAK2NCcGCL7DbjQB6C9RYEAV60ueMUnQ45RrCQ==} - engines: {node: '>=18'} - - '@cspell/cspell-types@8.17.5': - resolution: {integrity: sha512-91y2+0teunRSRZj940ORDA3kdjyenrUiM+4j6nQQH24sAIAJdRmQl2LG3eUTmeaSReJGkZIpnToQ6DyU5cC88Q==} - engines: {node: '>=18'} - - '@cspell/dict-ada@4.1.0': - resolution: {integrity: sha512-7SvmhmX170gyPd+uHXrfmqJBY5qLcCX8kTGURPVeGxmt8XNXT75uu9rnZO+jwrfuU2EimNoArdVy5GZRGljGNg==} - - '@cspell/dict-al@1.1.0': - resolution: {integrity: sha512-PtNI1KLmYkELYltbzuoztBxfi11jcE9HXBHCpID2lou/J4VMYKJPNqe4ZjVzSI9NYbMnMnyG3gkbhIdx66VSXg==} - - '@cspell/dict-aws@4.0.9': - resolution: {integrity: sha512-bDYdnnJGwSkIZ4gzrauu7qzOs/ZAY/FnU4k11LgdMI8BhwMfsbsy2EI1iS+sD/BI5ZnNT9kU5YR3WADeNOmhRg==} - - '@cspell/dict-bash@4.2.0': - resolution: {integrity: sha512-HOyOS+4AbCArZHs/wMxX/apRkjxg6NDWdt0jF9i9XkvJQUltMwEhyA2TWYjQ0kssBsnof+9amax2lhiZnh3kCg==} - - '@cspell/dict-companies@3.1.14': - resolution: {integrity: sha512-iqo1Ce4L7h0l0GFSicm2wCLtfuymwkvgFGhmu9UHyuIcTbdFkDErH+m6lH3Ed+QuskJlpQ9dM7puMIGqUlVERw==} - - '@cspell/dict-cpp@6.0.5': - resolution: {integrity: sha512-OrWqPuLf5EV+H/2sIYUSDF4UyiyCR4/+Q2n+xRx09CBg7YBx16h61V9892TKWCUr9FiJfAkKY24aWW3WRU9Nqg==} - - '@cspell/dict-cryptocurrencies@5.0.4': - resolution: {integrity: sha512-6iFu7Abu+4Mgqq08YhTKHfH59mpMpGTwdzDB2Y8bbgiwnGFCeoiSkVkgLn1Kel2++hYcZ8vsAW/MJS9oXxuMag==} - - '@cspell/dict-csharp@4.0.6': - resolution: {integrity: sha512-w/+YsqOknjQXmIlWDRmkW+BHBPJZ/XDrfJhZRQnp0wzpPOGml7W0q1iae65P2AFRtTdPKYmvSz7AL5ZRkCnSIw==} - - '@cspell/dict-css@4.0.17': - resolution: {integrity: sha512-2EisRLHk6X/PdicybwlajLGKF5aJf4xnX2uuG5lexuYKt05xV/J/OiBADmi8q9obhxf1nesrMQbqAt+6CsHo/w==} - - '@cspell/dict-dart@2.3.0': - resolution: {integrity: sha512-1aY90lAicek8vYczGPDKr70pQSTQHwMFLbmWKTAI6iavmb1fisJBS1oTmMOKE4ximDf86MvVN6Ucwx3u/8HqLg==} - - '@cspell/dict-data-science@2.0.7': - resolution: {integrity: sha512-XhAkK+nSW6zmrnWzusmZ1BpYLc62AWYHZc2p17u4nE2Z9XG5DleG55PCZxXQTKz90pmwlhFM9AfpkJsYaBWATA==} - - '@cspell/dict-django@4.1.4': - resolution: {integrity: sha512-fX38eUoPvytZ/2GA+g4bbdUtCMGNFSLbdJJPKX2vbewIQGfgSFJKY56vvcHJKAvw7FopjvgyS/98Ta9WN1gckg==} - - '@cspell/dict-docker@1.1.12': - resolution: {integrity: sha512-6d25ZPBnYZaT9D9An/x6g/4mk542R8bR3ipnby3QFCxnfdd6xaWiTcwDPsCgwN2aQZIQ1jX/fil9KmBEqIK/qA==} - - '@cspell/dict-dotnet@5.0.9': - resolution: {integrity: sha512-JGD6RJW5sHtO5lfiJl11a5DpPN6eKSz5M1YBa1I76j4dDOIqgZB6rQexlDlK1DH9B06X4GdDQwdBfnpAB0r2uQ==} - - '@cspell/dict-elixir@4.0.7': - resolution: {integrity: sha512-MAUqlMw73mgtSdxvbAvyRlvc3bYnrDqXQrx5K9SwW8F7fRYf9V4vWYFULh+UWwwkqkhX9w03ZqFYRTdkFku6uA==} - - '@cspell/dict-en-common-misspellings@2.0.9': - resolution: {integrity: sha512-O/jAr1VNtuyCFckbTmpeEf43ZFWVD9cJFvWaA6rO2IVmLirJViHWJUyBZOuQcesSplzEIw80MAYmnK06/MDWXQ==} - - '@cspell/dict-en-gb@1.1.33': - resolution: {integrity: sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==} - - '@cspell/dict-en_us@4.3.34': - resolution: {integrity: sha512-ewJXNV7Nk5vxbGvHvxYLDGoXN0Lq5sfSgX8SAlcYL+2bZ7r25nNOLHou5hdFlNgvviGTx/SFPlVKjdjVJlblgA==} - - '@cspell/dict-filetypes@3.0.11': - resolution: {integrity: sha512-bBtCHZLo7MiSRUqx5KEiPdGOmXIlDGY+L7SJEtRWZENpAKE+96rT7hj+TUUYWBbCzheqHr0OXZJFEKDgsG/uZg==} - - '@cspell/dict-flutter@1.1.0': - resolution: {integrity: sha512-3zDeS7zc2p8tr9YH9tfbOEYfopKY/srNsAa+kE3rfBTtQERAZeOhe5yxrnTPoufctXLyuUtcGMUTpxr3dO0iaA==} - - '@cspell/dict-fonts@4.0.4': - resolution: {integrity: sha512-cHFho4hjojBcHl6qxidl9CvUb492IuSk7xIf2G2wJzcHwGaCFa2o3gRcxmIg1j62guetAeDDFELizDaJlVRIOg==} - - '@cspell/dict-fsharp@1.1.0': - resolution: {integrity: sha512-oguWmHhGzgbgbEIBKtgKPrFSVAFtvGHaQS0oj+vacZqMObwkapcTGu7iwf4V3Bc2T3caf0QE6f6rQfIJFIAVsw==} - - '@cspell/dict-fullstack@3.2.6': - resolution: {integrity: sha512-cSaq9rz5RIU9j+0jcF2vnKPTQjxGXclntmoNp4XB7yFX2621PxJcekGjwf/lN5heJwVxGLL9toR0CBlGKwQBgA==} - - '@cspell/dict-gaming-terms@1.1.0': - resolution: {integrity: sha512-46AnDs9XkgJ2f1Sqol1WgfJ8gOqp60fojpc9Wxch7x+BA63g4JfMV5/M5x0sI0TLlLY8EBSglcr8wQF/7C80AQ==} - - '@cspell/dict-git@3.0.4': - resolution: {integrity: sha512-C44M+m56rYn6QCsLbiKiedyPTMZxlDdEYAsPwwlL5bhMDDzXZ3Ic8OCQIhMbiunhCOJJT+er4URmOmM+sllnjg==} - - '@cspell/dict-golang@6.0.18': - resolution: {integrity: sha512-Mt+7NwfodDwUk7423DdaQa0YaA+4UoV3XSxQwZioqjpFBCuxfvvv4l80MxCTAAbK6duGj0uHbGTwpv8fyKYPKg==} - - '@cspell/dict-google@1.0.8': - resolution: {integrity: sha512-BnMHgcEeaLyloPmBs8phCqprI+4r2Jb8rni011A8hE+7FNk7FmLE3kiwxLFrcZnnb7eqM0agW4zUaNoB0P+z8A==} - - '@cspell/dict-haskell@4.0.5': - resolution: {integrity: sha512-s4BG/4tlj2pPM9Ha7IZYMhUujXDnI0Eq1+38UTTCpatYLbQqDwRFf2KNPLRqkroU+a44yTUAe0rkkKbwy4yRtQ==} - - '@cspell/dict-html-symbol-entities@4.0.3': - resolution: {integrity: sha512-aABXX7dMLNFdSE8aY844X4+hvfK7977sOWgZXo4MTGAmOzR8524fjbJPswIBK7GaD3+SgFZ2yP2o0CFvXDGF+A==} - - '@cspell/dict-html@4.0.11': - resolution: {integrity: sha512-QR3b/PB972SRQ2xICR1Nw/M44IJ6rjypwzA4jn+GH8ydjAX9acFNfc+hLZVyNe0FqsE90Gw3evLCOIF0vy1vQw==} - - '@cspell/dict-java@5.0.11': - resolution: {integrity: sha512-T4t/1JqeH33Raa/QK/eQe26FE17eUCtWu+JsYcTLkQTci2dk1DfcIKo8YVHvZXBnuM43ATns9Xs0s+AlqDeH7w==} - - '@cspell/dict-julia@1.1.0': - resolution: {integrity: sha512-CPUiesiXwy3HRoBR3joUseTZ9giFPCydSKu2rkh6I2nVjXnl5vFHzOMLXpbF4HQ1tH2CNfnDbUndxD+I+7eL9w==} - - '@cspell/dict-k8s@1.0.10': - resolution: {integrity: sha512-313haTrX9prep1yWO7N6Xw4D6tvUJ0Xsx+YhCP+5YrrcIKoEw5Rtlg8R4PPzLqe6zibw6aJ+Eqq+y76Vx5BZkw==} - - '@cspell/dict-kotlin@1.1.0': - resolution: {integrity: sha512-vySaVw6atY7LdwvstQowSbdxjXG6jDhjkWVWSjg1XsUckyzH1JRHXe9VahZz1i7dpoFEUOWQrhIe5B9482UyJQ==} - - '@cspell/dict-latex@4.0.3': - resolution: {integrity: sha512-2KXBt9fSpymYHxHfvhUpjUFyzrmN4c4P8mwIzweLyvqntBT3k0YGZJSriOdjfUjwSygrfEwiuPI1EMrvgrOMJw==} - - '@cspell/dict-lorem-ipsum@4.0.4': - resolution: {integrity: sha512-+4f7vtY4dp2b9N5fn0za/UR0kwFq2zDtA62JCbWHbpjvO9wukkbl4rZg4YudHbBgkl73HRnXFgCiwNhdIA1JPw==} - - '@cspell/dict-lua@4.0.7': - resolution: {integrity: sha512-Wbr7YSQw+cLHhTYTKV6cAljgMgcY+EUAxVIZW3ljKswEe4OLxnVJ7lPqZF5JKjlXdgCjbPSimsHqyAbC5pQN/Q==} - - '@cspell/dict-makefile@1.0.4': - resolution: {integrity: sha512-E4hG/c0ekPqUBvlkrVvzSoAA+SsDA9bLi4xSV3AXHTVru7Y2bVVGMPtpfF+fI3zTkww/jwinprcU1LSohI3ylw==} - - '@cspell/dict-markdown@2.0.9': - resolution: {integrity: sha512-j2e6Eg18BlTb1mMP1DkyRFMM/FLS7qiZjltpURzDckB57zDZbUyskOFdl4VX7jItZZEeY0fe22bSPOycgS1Z5A==} - peerDependencies: - '@cspell/dict-css': ^4.0.17 - '@cspell/dict-html': ^4.0.11 - '@cspell/dict-html-symbol-entities': ^4.0.3 - '@cspell/dict-typescript': ^3.2.0 - - '@cspell/dict-monkeyc@1.0.10': - resolution: {integrity: sha512-7RTGyKsTIIVqzbvOtAu6Z/lwwxjGRtY5RkKPlXKHEoEAgIXwfDxb5EkVwzGQwQr8hF/D3HrdYbRT8MFBfsueZw==} - - '@cspell/dict-node@5.0.6': - resolution: {integrity: sha512-CEbhPCpxGvRNByGolSBTrXXW2rJA4bGqZuTx1KKO85mwR6aadeOmUE7xf/8jiCkXSy+qvr9aJeh+jlfXcsrziQ==} - - '@cspell/dict-npm@5.1.29': - resolution: {integrity: sha512-FPCE9MpO42WGc9u/lx3J6CZSfPVO5kMUaOQkTVqXo3sTDX6+o5ulb+9W/MD33kiA0AvXr1Lk8knhA6koW9t/Yw==} - - '@cspell/dict-php@4.0.14': - resolution: {integrity: sha512-7zur8pyncYZglxNmqsRycOZ6inpDoVd4yFfz1pQRe5xaRWMiK3Km4n0/X/1YMWhh3e3Sl/fQg5Axb2hlN68t1g==} - - '@cspell/dict-powershell@5.0.14': - resolution: {integrity: sha512-ktjjvtkIUIYmj/SoGBYbr3/+CsRGNXGpvVANrY0wlm/IoGlGywhoTUDYN0IsGwI2b8Vktx3DZmQkfb3Wo38jBA==} - - '@cspell/dict-public-licenses@2.0.13': - resolution: {integrity: sha512-1Wdp/XH1ieim7CadXYE7YLnUlW0pULEjVl9WEeziZw3EKCAw8ZI8Ih44m4bEa5VNBLnuP5TfqC4iDautAleQzQ==} - - '@cspell/dict-python@4.2.15': - resolution: {integrity: sha512-VNXhj0Eh+hdHN89MgyaoSAexBQKmYtJaMhucbMI7XmBs4pf8fuFFN3xugk51/A4TZJr8+RImdFFsGMOw+I4bDA==} - - '@cspell/dict-r@2.1.0': - resolution: {integrity: sha512-k2512wgGG0lTpTYH9w5Wwco+lAMf3Vz7mhqV8+OnalIE7muA0RSuD9tWBjiqLcX8zPvEJr4LdgxVju8Gk3OKyA==} - - '@cspell/dict-ruby@5.0.7': - resolution: {integrity: sha512-4/d0hcoPzi5Alk0FmcyqlzFW9lQnZh9j07MJzPcyVO62nYJJAGKaPZL2o4qHeCS/od/ctJC5AHRdoUm0ktsw6Q==} - - '@cspell/dict-rust@4.0.11': - resolution: {integrity: sha512-OGWDEEzm8HlkSmtD8fV3pEcO2XBpzG2XYjgMCJCRwb2gRKvR+XIm6Dlhs04N/K2kU+iH8bvrqNpM8fS/BFl0uw==} - - '@cspell/dict-scala@5.0.7': - resolution: {integrity: sha512-yatpSDW/GwulzO3t7hB5peoWwzo+Y3qTc0pO24Jf6f88jsEeKmDeKkfgPbYuCgbE4jisGR4vs4+jfQZDIYmXPA==} - - '@cspell/dict-shell@1.1.0': - resolution: {integrity: sha512-D/xHXX7T37BJxNRf5JJHsvziFDvh23IF/KvkZXNSh8VqcRdod3BAz9VGHZf6VDqcZXr1VRqIYR3mQ8DSvs3AVQ==} - - '@cspell/dict-software-terms@4.2.5': - resolution: {integrity: sha512-CaRzkWti3AgcXoxuRcMijaNG7YUk/MH1rHjB8VX34v3UdCxXXeqvRyElRKnxhFeVLB/robb2UdShqh/CpskxRg==} - - '@cspell/dict-sql@2.2.0': - resolution: {integrity: sha512-MUop+d1AHSzXpBvQgQkCiok8Ejzb+nrzyG16E8TvKL2MQeDwnIvMe3bv90eukP6E1HWb+V/MA/4pnq0pcJWKqQ==} - - '@cspell/dict-svelte@1.0.6': - resolution: {integrity: sha512-8LAJHSBdwHCoKCSy72PXXzz7ulGROD0rP1CQ0StOqXOOlTUeSFaJJlxNYjlONgd2c62XBQiN2wgLhtPN+1Zv7Q==} - - '@cspell/dict-swift@2.0.5': - resolution: {integrity: sha512-3lGzDCwUmnrfckv3Q4eVSW3sK3cHqqHlPprFJZD4nAqt23ot7fic5ALR7J4joHpvDz36nHX34TgcbZNNZOC/JA==} - - '@cspell/dict-terraform@1.1.1': - resolution: {integrity: sha512-07KFDwCU7EnKl4hOZLsLKlj6Zceq/IsQ3LRWUyIjvGFfZHdoGtFdCp3ZPVgnFaAcd/DKv+WVkrOzUBSYqHopQQ==} - - '@cspell/dict-typescript@3.2.0': - resolution: {integrity: sha512-Pk3zNePLT8qg51l0M4g1ISowYAEGxTuNfZlgkU5SvHa9Cu7x/BWoyYq9Fvc3kAyoisCjRPyvWF4uRYrPitPDFw==} - - '@cspell/dict-vue@3.0.4': - resolution: {integrity: sha512-0dPtI0lwHcAgSiQFx8CzvqjdoXROcH+1LyqgROCpBgppommWpVhbQ0eubnKotFEXgpUCONVkeZJ6Ql8NbTEu+w==} - - '@cspell/dynamic-import@8.17.5': - resolution: {integrity: sha512-tY+cVkRou+0VKvH+K1NXv8/R7mOlW3BDGSs9fcgvhatj0m00Yf8blFC7tE4VVI9Qh2bkC/KDFqM24IqZbuwXUQ==} - engines: {node: '>=18.0'} - - '@cspell/eslint-plugin@8.17.5': - resolution: {integrity: sha512-RzFwtn1VZG10tELJlJ78soicAWYSLHEUqTLPR0Yi3gRMFqAz1HXkklKXuP4Qamul/vIbhHTKePK2bd/0ipVEuQ==} - engines: {node: '>=18'} - peerDependencies: - eslint: ^7 || ^8 || ^9 - - '@cspell/filetypes@8.17.5': - resolution: {integrity: sha512-Fj6py2Rl+FEnMiXhRQUM1A5QmyeCLxi6dY/vQ0qfH6tp6KSaBiaC8wuPUKhr8hKyTd3+8lkUbobDhUf6xtMEXg==} - engines: {node: '>=18'} - - '@cspell/strong-weak-map@8.17.5': - resolution: {integrity: sha512-Z4eo+rZJr1086wZWycBiIG/n7gGvVoqn28I7ZicS8xedRYu/4yp2loHgLn4NpxG3e46+dNWs4La6vinod+UydQ==} - engines: {node: '>=18'} - - '@cspell/url@8.17.5': - resolution: {integrity: sha512-GNQqST7zI85dAFVyao6oiTeg5rNhO9FH1ZAd397qQhvwfxrrniNfuoewu8gPXyP0R4XBiiaCwhBL7w9S/F5guw==} - engines: {node: '>=18.0'} - - '@eslint-community/eslint-utils@4.4.1': - resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - - '@eslint-community/regexpp@4.12.1': - resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - - '@eslint/config-array@0.19.2': - resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/config-helpers@0.1.0': - resolution: {integrity: sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/core@0.12.0': - resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/eslintrc@3.3.0': - resolution: {integrity: sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/js@9.22.0': - resolution: {integrity: sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/object-schema@2.1.6': - resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/plugin-kit@0.2.7': - resolution: {integrity: sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@floating-ui/utils@0.2.8': - resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} - - '@html-eslint/eslint-plugin@0.35.2': - resolution: {integrity: sha512-7CFxSpzu55Og457dEAAcSU+L7PNeYbeHD8HXDmAmHlbBpKjUHVJkLe0pLfuC6eV6ZpV5K2N9qk5SVu2dPFCC/w==} - - '@html-eslint/parser@0.35.2': - resolution: {integrity: sha512-NEr63Ak4Fr+VdI0svNpaPwROoimuO6djCJ2FKtbDPpCSJslCSerbB3+jorhByBO3+XyaJH2uZul44EuXIPeq3Q==} - - '@html-eslint/template-parser@0.35.2': - resolution: {integrity: sha512-SauXPU4JO02Gf6sjHMZM4OFn4f2F6mRi0N6fZSPQaoBJqNL14Z4CXgN4QsvIAJ0zuDu9ssRR7TELFNZteTlS0w==} - - '@html-eslint/template-syntax-parser@0.35.2': - resolution: {integrity: sha512-y+JAzuNVzFvsmgu9tz2wr2lY0brGwPnrUTUIFsIooAZFPjESg/4SfmCTzo8/Y7QquGsdzYvvO15UBgT2Jc/Pdg==} - - '@humanfs/core@0.19.1': - resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} - engines: {node: '>=18.18.0'} - - '@humanfs/node@0.16.6': - resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} - engines: {node: '>=18.18.0'} - - '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - - '@humanwhocodes/retry@0.3.1': - resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} - engines: {node: '>=18.18'} - - '@humanwhocodes/retry@0.4.2': - resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} - engines: {node: '>=18.18'} - - '@jridgewell/gen-mapping@0.3.5': - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} - - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - - '@jridgewell/source-map@0.3.6': - resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} - - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - - '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - - '@lezer/common@1.2.3': - resolution: {integrity: sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==} - - '@lezer/lr@1.4.2': - resolution: {integrity: sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==} - - '@lit-labs/ssr-dom-shim@1.2.1': - resolution: {integrity: sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==} - - '@lit/localize@0.12.2': - resolution: {integrity: sha512-Qv9kvgJKDq/JVSwXOxuWvQnnOBysHA99ti9im9a4fImCmx+fto+XXcUYQbjZHqiueEEc4V20PcRDPO+1g/6seQ==} - - '@lit/reactive-element@2.0.4': - resolution: {integrity: sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==} - - '@lmdb/lmdb-darwin-arm64@2.8.5': - resolution: {integrity: sha512-KPDeVScZgA1oq0CiPBcOa3kHIqU+pTOwRFDIhxvmf8CTNvqdZQYp5cCKW0bUk69VygB2PuTiINFWbY78aR2pQw==} - cpu: [arm64] - os: [darwin] - - '@lmdb/lmdb-darwin-x64@2.8.5': - resolution: {integrity: sha512-w/sLhN4T7MW1nB3R/U8WK5BgQLz904wh+/SmA2jD8NnF7BLLoUgflCNxOeSPOWp8geP6nP/+VjWzZVip7rZ1ug==} - cpu: [x64] - os: [darwin] - - '@lmdb/lmdb-linux-arm64@2.8.5': - resolution: {integrity: sha512-vtbZRHH5UDlL01TT5jB576Zox3+hdyogvpcbvVJlmU5PdL3c5V7cj1EODdh1CHPksRl+cws/58ugEHi8bcj4Ww==} - cpu: [arm64] - os: [linux] - - '@lmdb/lmdb-linux-arm@2.8.5': - resolution: {integrity: sha512-c0TGMbm2M55pwTDIfkDLB6BpIsgxV4PjYck2HiOX+cy/JWiBXz32lYbarPqejKs9Flm7YVAKSILUducU9g2RVg==} - cpu: [arm] - os: [linux] - - '@lmdb/lmdb-linux-x64@2.8.5': - resolution: {integrity: sha512-Xkc8IUx9aEhP0zvgeKy7IQ3ReX2N8N1L0WPcQwnZweWmOuKfwpS3GRIYqLtK5za/w3E60zhFfNdS+3pBZPytqQ==} - cpu: [x64] - os: [linux] - - '@lmdb/lmdb-win32-x64@2.8.5': - resolution: {integrity: sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ==} - cpu: [x64] - os: [win32] - - '@material/material-color-utilities@0.3.0': - resolution: {integrity: sha512-ztmtTd6xwnuh2/xu+Vb01btgV8SQWYCaK56CkRK8gEkWe5TuDyBcYJ0wgkMRn+2VcE9KUmhvkz+N9GHrqw/C0g==} - - '@mdui/jq@3.0.2': - resolution: {integrity: sha512-Er6cvAgW4RrjWrMBJDnajIiPD99EPYmAWyIgQURhUtO2V1NQQ80oLDo9ILllMoj1idsi1G4EQEqOEdinlH85DQ==} - - '@mdui/shared@1.0.7': - resolution: {integrity: sha512-rs12tndL8Y4cy8eiGnkWvKMTHOTbwtHpfpFrPvnUm6ajLnAAaHjX7CJkOMjs5sh7cd+ez2Zm77MEgovKAWeeRQ==} - - '@mischnic/json-sourcemap@0.1.1': - resolution: {integrity: sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w==} - engines: {node: '>=12.0.0'} - - '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3': - resolution: {integrity: sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==} - cpu: [arm64] - os: [darwin] - - '@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.3': - resolution: {integrity: sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==} - cpu: [x64] - os: [darwin] - - '@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.3': - resolution: {integrity: sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==} - cpu: [arm64] - os: [linux] - - '@msgpackr-extract/msgpackr-extract-linux-arm@3.0.3': - resolution: {integrity: sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==} - cpu: [arm] - os: [linux] - - '@msgpackr-extract/msgpackr-extract-linux-x64@3.0.3': - resolution: {integrity: sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==} - cpu: [x64] - os: [linux] - - '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3': - resolution: {integrity: sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==} - cpu: [x64] - os: [win32] - - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - - '@parcel/bundler-default@2.13.3': - resolution: {integrity: sha512-mOuWeth0bZzRv1b9Lrvydis/hAzJyePy0gwa0tix3/zyYBvw0JY+xkXVR4qKyD/blc1Ra2qOlfI2uD3ucnsdXA==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/cache@2.13.3': - resolution: {integrity: sha512-Vz5+K5uCt9mcuQAMDo0JdbPYDmVdB8Nvu/A2vTEK2rqZPxvoOTczKeMBA4JqzKqGURHPRLaJCvuR8nDG+jhK9A==} - engines: {node: '>= 16.0.0'} - peerDependencies: - '@parcel/core': ^2.13.3 - - '@parcel/codeframe@2.13.3': - resolution: {integrity: sha512-L/PQf+PT0xM8k9nc0B+PxxOYO2phQYnbuifu9o4pFRiqVmCtHztP+XMIvRJ2gOEXy3pgAImSPFVJ3xGxMFky4g==} - engines: {node: '>= 16.0.0'} - - '@parcel/compressor-raw@2.13.3': - resolution: {integrity: sha512-C6vjDlgTLjYc358i7LA/dqcL0XDQZ1IHXFw6hBaHHOfxPKW2T4bzUI6RURyToEK9Q1X7+ggDKqgdLxwp4veCFg==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/config-default@2.13.3': - resolution: {integrity: sha512-WUsx83ic8DgLwwnL1Bua4lRgQqYjxiTT+DBxESGk1paNm1juWzyfPXEQDLXwiCTcWMQGiXQFQ8OuSISauVQ8dQ==} - peerDependencies: - '@parcel/core': ^2.13.3 - - '@parcel/core@2.13.3': - resolution: {integrity: sha512-SRZFtqGiaKHlZ2YAvf+NHvBFWS3GnkBvJMfOJM7kxJRK3M1bhbwJa/GgSdzqro5UVf9Bfj6E+pkdrRQIOZ7jMQ==} - engines: {node: '>= 16.0.0'} - - '@parcel/diagnostic@2.13.3': - resolution: {integrity: sha512-C70KXLBaXLJvr7XCEVu8m6TqNdw1gQLxqg5BQ8roR62R4vWWDnOq8PEksxDi4Y8Z/FF4i3Sapv6tRx9iBNxDEg==} - engines: {node: '>= 16.0.0'} - - '@parcel/events@2.13.3': - resolution: {integrity: sha512-ZkSHTTbD/E+53AjUzhAWTnMLnxLEU5yRw0H614CaruGh+GjgOIKyukGeToF5Gf/lvZ159VrJCGE0Z5EpgHVkuQ==} - engines: {node: '>= 16.0.0'} - - '@parcel/feature-flags@2.13.3': - resolution: {integrity: sha512-UZm14QpamDFoUut9YtCZSpG1HxPs07lUwUCpsAYL0PpxASD3oWJQxIJGfDZPa2272DarXDG9adTKrNXvkHZblw==} - engines: {node: '>= 16.0.0'} - - '@parcel/fs@2.13.3': - resolution: {integrity: sha512-+MPWAt0zr+TCDSlj1LvkORTjfB/BSffsE99A9AvScKytDSYYpY2s0t4vtV9unSh0FHMS2aBCZNJ4t7KL+DcPIg==} - engines: {node: '>= 16.0.0'} - peerDependencies: - '@parcel/core': ^2.13.3 - - '@parcel/graph@3.3.3': - resolution: {integrity: sha512-pxs4GauEdvCN8nRd6wG3st6LvpHske3GfqGwUSR0P0X0pBPI1/NicvXz6xzp3rgb9gPWfbKXeI/2IOTfIxxVfg==} - engines: {node: '>= 16.0.0'} - - '@parcel/logger@2.13.3': - resolution: {integrity: sha512-8YF/ZhsQgd7ohQ2vEqcMD1Ag9JlJULROWRPGgGYLGD+twuxAiSdiFBpN3f+j4gQN4PYaLaIS/SwUFx11J243fQ==} - engines: {node: '>= 16.0.0'} - - '@parcel/markdown-ansi@2.13.3': - resolution: {integrity: sha512-B4rUdlNUulJs2xOQuDbN7Hq5a9roq8IZUcJ1vQ8PAv+zMGb7KCfqIIr/BSCDYGhayfAGBVWW8x55Kvrl1zrDYw==} - engines: {node: '>= 16.0.0'} - - '@parcel/namer-default@2.13.3': - resolution: {integrity: sha512-A2a5A5fuyNcjSGOS0hPcdQmOE2kszZnLIXof7UMGNkNkeC62KAG8WcFZH5RNOY3LT5H773hq51zmc2Y2gE5Rnw==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/node-resolver-core@3.4.3': - resolution: {integrity: sha512-IEnMks49egEic1ITBp59VQyHzkSQUXqpU9hOHwqN3KoSTdZ6rEgrXcS3pa6tdXay4NYGlcZ88kFCE8i/xYoVCg==} - engines: {node: '>= 16.0.0'} - - '@parcel/optimizer-css@2.13.3': - resolution: {integrity: sha512-A8o9IVCv919vhv69SkLmyW2WjJR5WZgcMqV6L1uiGF8i8z18myrMhrp2JuSHx29PRT9uNyzNC4Xrd4StYjIhJg==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/optimizer-htmlnano@2.13.3': - resolution: {integrity: sha512-K4Uvg0Sy2pECP7pdvvbud++F0pfcbNkq+IxTrgqBX5HJnLEmRZwgdvZEKF43oMEolclMnURMQRGjRplRaPdbXg==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/optimizer-image@2.13.3': - resolution: {integrity: sha512-wlDUICA29J4UnqkKrWiyt68g1e85qfYhp4zJFcFJL0LX1qqh1QwsLUz3YJ+KlruoqPxJSFEC8ncBEKiVCsqhEQ==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - peerDependencies: - '@parcel/core': ^2.13.3 - - '@parcel/optimizer-svgo@2.13.3': - resolution: {integrity: sha512-piIKxQKzhZK54dJR6yqIcq+urZmpsfgUpLCZT3cnWlX4ux5+S2iN66qqZBs0zVn+a58LcWcoP4Z9ieiJmpiu2w==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/optimizer-swc@2.13.3': - resolution: {integrity: sha512-zNSq6oWqLlW8ksPIDjM0VgrK6ZAJbPQCDvs1V+p0oX3CzEe85lT5VkRpnfrN1+/vvEJNGL8e60efHKpI+rXGTA==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/package-manager@2.13.3': - resolution: {integrity: sha512-FLNI5OrZxymGf/Yln0E/kjnGn5sdkQAxW7pQVdtuM+5VeN75yibJRjsSGv88PvJ+KvpD2ANgiIJo1RufmoPcww==} - engines: {node: '>= 16.0.0'} - peerDependencies: - '@parcel/core': ^2.13.3 - - '@parcel/packager-css@2.13.3': - resolution: {integrity: sha512-ghDqRMtrUwaDERzFm9le0uz2PTeqqsjsW0ihQSZPSAptElRl9o5BR+XtMPv3r7Ui0evo+w35gD55oQCJ28vCig==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/packager-html@2.13.3': - resolution: {integrity: sha512-jDLnKSA/EzVEZ3/aegXO3QJ/Ij732AgBBkIQfeC8tUoxwVz5b3HiPBAjVjcUSfZs7mdBSHO+ELWC3UD+HbsIrQ==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/packager-js@2.13.3': - resolution: {integrity: sha512-0pMHHf2zOn7EOJe88QJw5h/wcV1bFfj6cXVcE55Wa8GX3V+SdCgolnlvNuBcRQ1Tlx0Xkpo+9hMFVIQbNQY6zw==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/packager-raw-url@2.13.3': - resolution: {integrity: sha512-Dc8WeVagLGEUzVP4FqJBljXN59XSkvLoZaHeysvN9P33eznocrhIvc9T/OAQjOmsCj18X8jwxm0dIE7LNJbVCA==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/packager-raw@2.13.3': - resolution: {integrity: sha512-AWu4UB+akBdskzvT3KGVHIdacU9f7cI678DQQ1jKQuc9yZz5D0VFt3ocFBOmvDfEQDF0uH3jjtJR7fnuvX7Biw==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/packager-svg@2.13.3': - resolution: {integrity: sha512-tKGRiFq/4jh5u2xpTstNQ7gu+RuZWzlWqpw5NaFmcKe6VQe5CMcS499xTFoREAGnRvevSeIgC38X1a+VOo+/AA==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/packager-wasm@2.13.3': - resolution: {integrity: sha512-SZB56/b230vFrSehVXaUAWjJmWYc89gzb8OTLkBm7uvtFtov2J1R8Ig9TTJwinyXE3h84MCFP/YpQElSfoLkJw==} - engines: {node: '>=16.0.0', parcel: ^2.13.3} - - '@parcel/plugin@2.13.3': - resolution: {integrity: sha512-cterKHHcwg6q11Gpif/aqvHo056TR+yDVJ3fSdiG2xr5KD1VZ2B3hmofWERNNwjMcnR1h9Xq40B7jCKUhOyNFA==} - engines: {node: '>= 16.0.0'} - - '@parcel/profiler@2.13.3': - resolution: {integrity: sha512-ok6BwWSLvyHe5TuSXjSacYnDStFgP5Y30tA9mbtWSm0INDsYf+m5DqzpYPx8U54OaywWMK8w3MXUClosJX3aPA==} - engines: {node: '>= 16.0.0'} - - '@parcel/reporter-cli@2.13.3': - resolution: {integrity: sha512-EA5tKt/6bXYNMEavSs35qHlFdx6cZmRazlZxPBgxPePQYoouNAPMNLUOEQozaPhz9f5fvNDN7EHOFaAWcdO2LA==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/reporter-dev-server@2.13.3': - resolution: {integrity: sha512-ZNeFp6AOIQFv7mZIv2P5O188dnZHNg0ymeDVcakfZomwhpSva2dFNS3AnvWo4eyWBlUxkmQO8BtaxeWTs7jAuA==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/reporter-tracer@2.13.3': - resolution: {integrity: sha512-aBsVPI8jLZTDkFYrI69GxnsdvZKEYerkPsu935LcX9rfUYssOnmmUP+3oI+8fbg+qNjJuk9BgoQ4hCp9FOphMQ==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/resolver-default@2.13.3': - resolution: {integrity: sha512-urBZuRALWT9pFMeWQ8JirchLmsQEyI9lrJptiwLbJWrwvmlwSUGkcstmPwoNRf/aAQjICB7ser/247Vny0pFxA==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/runtime-browser-hmr@2.13.3': - resolution: {integrity: sha512-EAcPojQFUNUGUrDk66cu3ySPO0NXRVS5CKPd4QrxPCVVbGzde4koKu8krC/TaGsoyUqhie8HMnS70qBP0GFfcQ==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/runtime-js@2.13.3': - resolution: {integrity: sha512-62OucNAnxb2Q0uyTFWW/0Hvv2DJ4b5H6neh/YFu2/wmxaZ37xTpEuEcG2do7KW54xE5DeLP+RliHLwi4NvR3ww==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/runtime-react-refresh@2.13.3': - resolution: {integrity: sha512-PYZ1klpJVwqE3WuifILjtF1dugtesHEuJcXYZI85T6UoRSD5ctS1nAIpZzT14Ga1lRt/jd+eAmhWL1l3m/Vk1Q==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/runtime-service-worker@2.13.3': - resolution: {integrity: sha512-BjMhPuT7Us1+YIo31exPRwomPiL+jrZZS5UUAwlEW2XGHDceEotzRM94LwxeFliCScT4IOokGoxixm19qRuzWg==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/rust@2.13.3': - resolution: {integrity: sha512-dLq85xDAtzr3P5200cvxk+8WXSWauYbxuev9LCPdwfhlaWo/JEj6cu9seVdWlkagjGwkoV1kXC+GGntgUXOLAQ==} - engines: {node: '>= 16.0.0'} - - '@parcel/source-map@2.1.1': - resolution: {integrity: sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==} - engines: {node: ^12.18.3 || >=14} - - '@parcel/transformer-babel@2.13.3': - resolution: {integrity: sha512-ikzK9f5WTFrdQsPitQgjCPH6HmVU8AQPRemIJ2BndYhtodn5PQut5cnSvTrqax8RjYvheEKCQk/Zb/uR7qgS3g==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/transformer-css@2.13.3': - resolution: {integrity: sha512-zbrNURGph6JeVADbGydyZ7lcu/izj41kDxQ9xw4RPRW/3rofQiTU0OTREi+uBWiMENQySXVivEdzHA9cA+aLAA==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/transformer-html@2.13.3': - resolution: {integrity: sha512-Yf74FkL9RCCB4+hxQRVMNQThH9+fZ5w0NLiQPpWUOcgDEEyxTi4FWPQgEBsKl/XK2ehdydbQB9fBgPQLuQxwPg==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/transformer-image@2.13.3': - resolution: {integrity: sha512-wL1CXyeFAqbp2wcEq/JD3a/tbAyVIDMTC6laQxlIwnVV7dsENhK1qRuJZuoBdixESeUpFQSmmQvDIhcfT/cUUg==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - peerDependencies: - '@parcel/core': ^2.13.3 - - '@parcel/transformer-js@2.13.3': - resolution: {integrity: sha512-KqfNGn1IHzDoN2aPqt4nDksgb50Xzcny777C7A7hjlQ3cmkjyJrixYjzzsPaPSGJ+kJpknh3KE8unkQ9mhFvRQ==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - peerDependencies: - '@parcel/core': ^2.13.3 - - '@parcel/transformer-json@2.13.3': - resolution: {integrity: sha512-rrq0ab6J0w9ePtsxi0kAvpCmrUYXXAx1Z5PATZakv89rSYbHBKEdXxyCoKFui/UPVCUEGVs5r0iOFepdHpIyeA==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/transformer-postcss@2.13.3': - resolution: {integrity: sha512-AIiWpU0QSFBrPcYIqAnhqB8RGE6yHFznnxztfg1t2zMSOnK3xoU6xqYKv8H/MduShGGrC3qVOeDfM8MUwzL3cw==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/transformer-posthtml@2.13.3': - resolution: {integrity: sha512-5GSLyccpHASwFAu3uJ83gDIBSvfsGdVmhJvy0Vxe+K1Fklk2ibhvvtUHMhB7mg6SPHC+R9jsNc3ZqY04ZLeGjw==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/transformer-raw@2.13.3': - resolution: {integrity: sha512-BFsAbdQF0l8/Pdb7dSLJeYcd8jgwvAUbHgMink2MNXJuRUvDl19Gns8jVokU+uraFHulJMBj40+K/RTd33in4g==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/transformer-react-refresh-wrap@2.13.3': - resolution: {integrity: sha512-mOof4cRyxsZRdg8kkWaFtaX98mHpxUhcGPU+nF9RQVa9q737ItxrorsPNR9hpZAyE2TtFNflNW7RoYsgvlLw8w==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/transformer-svg@2.13.3': - resolution: {integrity: sha512-9jm7ZF4KHIrGLWlw/SFUz5KKJ20nxHvjFAmzde34R9Wu+F1BOjLZxae7w4ZRwvIc+UVOUcBBQFmhSVwVDZg6Dw==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - - '@parcel/transformer-typescript-tsc@2.13.3': - resolution: {integrity: sha512-jsPTqTwx7LNuyVGej/14+YBFDGCOfAE+Is8YSYtsdiQ6N3EQOMPd48E9wmNVXcTmYqin3BNA2tJFCZd2ne5hfw==} - engines: {node: '>= 16.0.0', parcel: ^2.13.3} - peerDependencies: - typescript: '>=3.0.0' - - '@parcel/transformer-webmanifest@2.13.3': - resolution: {integrity: sha512-nUuufZW4VYQTk1qf8HLLckxC5AYtGSWMAHxKTqoJldXl1OgpYkpSPLU+Uh1uiESN+XpQiZB4qnhCExRjPeCRSA==} - engines: {parcel: ^2.13.3} - - '@parcel/ts-utils@2.13.3': - resolution: {integrity: sha512-ZHPJd7yh5b8iYgyHCZ31nqXHKLGKYnxqhLlEe/zPg8EV3NAVbbiuj2905w2ED5mt5BC+AR1cOEyMuxMRMtUuSQ==} - engines: {node: '>= 16.0.0'} - peerDependencies: - typescript: '>=3.0.0' - - '@parcel/types-internal@2.13.3': - resolution: {integrity: sha512-Lhx0n+9RCp+Ipktf/I+CLm3zE9Iq9NtDd8b2Vr5lVWyoT8AbzBKIHIpTbhLS4kjZ80L3I6o93OYjqAaIjsqoZw==} - - '@parcel/types@2.13.3': - resolution: {integrity: sha512-+RpFHxx8fy8/dpuehHUw/ja9PRExC3wJoIlIIF42E7SLu2SvlTHtKm6EfICZzxCXNEBzjoDbamCRcN0nmTPlhw==} - - '@parcel/utils@2.13.3': - resolution: {integrity: sha512-yxY9xw2wOUlJaScOXYZmMGoZ4Ck4Kqj+p6Koe5kLkkWM1j98Q0Dj2tf/mNvZi4yrdnlm+dclCwNRnuE8Q9D+pw==} - engines: {node: '>= 16.0.0'} - - '@parcel/watcher-android-arm64@2.5.0': - resolution: {integrity: sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [android] - - '@parcel/watcher-darwin-arm64@2.5.0': - resolution: {integrity: sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [darwin] - - '@parcel/watcher-darwin-x64@2.5.0': - resolution: {integrity: sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [darwin] - - '@parcel/watcher-freebsd-x64@2.5.0': - resolution: {integrity: sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [freebsd] - - '@parcel/watcher-linux-arm-glibc@2.5.0': - resolution: {integrity: sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==} - engines: {node: '>= 10.0.0'} - cpu: [arm] - os: [linux] - - '@parcel/watcher-linux-arm-musl@2.5.0': - resolution: {integrity: sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==} - engines: {node: '>= 10.0.0'} - cpu: [arm] - os: [linux] - - '@parcel/watcher-linux-arm64-glibc@2.5.0': - resolution: {integrity: sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - - '@parcel/watcher-linux-arm64-musl@2.5.0': - resolution: {integrity: sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - - '@parcel/watcher-linux-x64-glibc@2.5.0': - resolution: {integrity: sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - - '@parcel/watcher-linux-x64-musl@2.5.0': - resolution: {integrity: sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - - '@parcel/watcher-win32-arm64@2.5.0': - resolution: {integrity: sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [win32] - - '@parcel/watcher-win32-ia32@2.5.0': - resolution: {integrity: sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==} - engines: {node: '>= 10.0.0'} - cpu: [ia32] - os: [win32] - - '@parcel/watcher-win32-x64@2.5.0': - resolution: {integrity: sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [win32] - - '@parcel/watcher@2.5.0': - resolution: {integrity: sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==} - engines: {node: '>= 10.0.0'} - - '@parcel/workers@2.13.3': - resolution: {integrity: sha512-oAHmdniWTRwwwsKbcF4t3VjOtKN+/W17Wj5laiYB+HLkfsjGTfIQPj3sdXmrlBAGpI4omIcvR70PHHXnfdTfwA==} - engines: {node: '>= 16.0.0'} - peerDependencies: - '@parcel/core': ^2.13.3 - - '@pkgr/core@0.1.1': - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - - '@rollup/plugin-babel@5.3.1': - resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} - engines: {node: '>= 10.0.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@types/babel__core': ^7.1.9 - rollup: ^1.20.0||^2.0.0 - peerDependenciesMeta: - '@types/babel__core': - optional: true - - '@rollup/plugin-node-resolve@15.3.0': - resolution: {integrity: sha512-9eO5McEICxMzJpDW9OnMYSv4Sta3hmt7VtBFz5zR9273suNOydOyq/FrGeGy+KsTRFm8w0SLVhzig2ILFT63Ag==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.78.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/plugin-replace@2.4.2': - resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - - '@rollup/plugin-terser@0.4.4': - resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/pluginutils@3.1.0': - resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 - - '@rollup/pluginutils@5.1.3': - resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@sindresorhus/is@0.14.0': - resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} - engines: {node: '>=6'} - - '@stylistic/eslint-plugin@4.2.0': - resolution: {integrity: sha512-8hXezgz7jexGHdo5WN6JBEIPHCSFyyU4vgbxevu4YLVS5vl+sxqAAGyXSzfNDyR6xMNSH5H1x67nsXcYMOHtZA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: '>=9.0.0' - - '@surma/rollup-plugin-off-main-thread@2.2.3': - resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} - - '@swc/core-darwin-arm64@1.9.2': - resolution: {integrity: sha512-nETmsCoY29krTF2PtspEgicb3tqw7Ci5sInTI03EU5zpqYbPjoPH99BVTjj0OsF53jP5MxwnLI5Hm21lUn1d6A==} - engines: {node: '>=10'} - cpu: [arm64] - os: [darwin] - - '@swc/core-darwin-x64@1.9.2': - resolution: {integrity: sha512-9gD+bwBz8ZByjP6nZTXe/hzd0tySIAjpDHgkFiUrc+5zGF+rdTwhcNrzxNHJmy6mw+PW38jqII4uspFHUqqxuQ==} - engines: {node: '>=10'} - cpu: [x64] - os: [darwin] - - '@swc/core-linux-arm-gnueabihf@1.9.2': - resolution: {integrity: sha512-kYq8ief1Qrn+WmsTWAYo4r+Coul4dXN6cLFjiPZ29Cv5pyU+GFvSPAB4bEdMzwy99rCR0u2P10UExaeCjurjvg==} - engines: {node: '>=10'} - cpu: [arm] - os: [linux] - - '@swc/core-linux-arm64-gnu@1.9.2': - resolution: {integrity: sha512-n0W4XiXlmEIVqxt+rD3ZpkogsEWUk1jJ+i5bQNgB+1JuWh0fBE8c/blDgTQXa0GB5lTPVDZQussgdNOCnAZwiA==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] - - '@swc/core-linux-arm64-musl@1.9.2': - resolution: {integrity: sha512-8xzrOmsyCC1zrx2Wzx/h8dVsdewO1oMCwBTLc1gSJ/YllZYTb04pNm6NsVbzUX2tKddJVRgSJXV10j/NECLwpA==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] - - '@swc/core-linux-x64-gnu@1.9.2': - resolution: {integrity: sha512-kZrNz/PjRQKcchWF6W292jk3K44EoVu1ad5w+zbS4jekIAxsM8WwQ1kd+yjUlN9jFcF8XBat5NKIs9WphJCVXg==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] - - '@swc/core-linux-x64-musl@1.9.2': - resolution: {integrity: sha512-TTIpR4rjMkhX1lnFR+PSXpaL83TrQzp9znRdp2TzYrODlUd/R20zOwSo9vFLCyH6ZoD47bccY7QeGZDYT3nlRg==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] - - '@swc/core-win32-arm64-msvc@1.9.2': - resolution: {integrity: sha512-+Eg2d4icItKC0PMjZxH7cSYFLWk0aIp94LNmOw6tPq0e69ax6oh10upeq0D1fjWsKLmOJAWEvnXlayZcijEXDw==} - engines: {node: '>=10'} - cpu: [arm64] - os: [win32] - - '@swc/core-win32-ia32-msvc@1.9.2': - resolution: {integrity: sha512-nLWBi4vZDdM/LkiQmPCakof8Dh1/t5EM7eudue04V1lIcqx9YHVRS3KMwEaCoHLGg0c312Wm4YgrWQd9vwZ5zQ==} - engines: {node: '>=10'} - cpu: [ia32] - os: [win32] - - '@swc/core-win32-x64-msvc@1.9.2': - resolution: {integrity: sha512-ik/k+JjRJBFkXARukdU82tSVx0CbExFQoQ78qTO682esbYXzjdB5eLVkoUbwen299pnfr88Kn4kyIqFPTje8Xw==} - engines: {node: '>=10'} - cpu: [x64] - os: [win32] - - '@swc/core@1.9.2': - resolution: {integrity: sha512-dYyEkO6mRYtZFpnOsnYzv9rY69fHAHoawYOjGOEcxk9WYtaJhowMdP/w6NcOKnz2G7GlZaenjkzkMa6ZeQeMsg==} - engines: {node: '>=10'} - peerDependencies: - '@swc/helpers': '*' - peerDependenciesMeta: - '@swc/helpers': - optional: true - - '@swc/counter@0.1.3': - resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - - '@swc/helpers@0.5.15': - resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} - - '@swc/types@0.1.15': - resolution: {integrity: sha512-XKaZ+dzDIQ9Ot9o89oJQ/aluI17+VvUnIpYJTcZtvv1iYX6MzHh3Ik2CSR7MdPKpPwfZXHBeCingb2b4PoDVdw==} - - '@szmarczak/http-timer@1.1.2': - resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} - engines: {node: '>=6'} - - '@tailwindcss/node@4.0.14': - resolution: {integrity: sha512-Ux9NbFkKWYE4rfUFz6M5JFLs/GEYP6ysxT8uSyPn6aTbh2K3xDE1zz++eVK4Vwx799fzMF8CID9sdHn4j/Ab8w==} - - '@tailwindcss/oxide-android-arm64@4.0.14': - resolution: {integrity: sha512-VBFKC2rFyfJ5J8lRwjy6ub3rgpY186kAcYgiUr8ArR8BAZzMruyeKJ6mlsD22Zp5ZLcPW/FXMasJiJBx0WsdQg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - - '@tailwindcss/oxide-darwin-arm64@4.0.14': - resolution: {integrity: sha512-U3XOwLrefGr2YQZ9DXasDSNWGPZBCh8F62+AExBEDMLDfvLLgI/HDzY8Oq8p/JtqkAY38sWPOaNnRwEGKU5Zmg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - - '@tailwindcss/oxide-darwin-x64@4.0.14': - resolution: {integrity: sha512-V5AjFuc3ndWGnOi1d379UsODb0TzAS2DYIP/lwEbfvafUaD2aNZIcbwJtYu2DQqO2+s/XBvDVA+w4yUyaewRwg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - '@tailwindcss/oxide-freebsd-x64@4.0.14': - resolution: {integrity: sha512-tXvtxbaZfcPfqBwW3f53lTcyH6EDT+1eT7yabwcfcxTs+8yTPqxsDUhrqe9MrnEzpNkd+R/QAjJapfd4tjWdLg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - - '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.14': - resolution: {integrity: sha512-cSeLNWWqIWeSTmBntQvyY2/2gcLX8rkPFfDDTQVF8qbRcRMVPLxBvFVJyfSAYRNch6ZyVH2GI6dtgALOBDpdNA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - - '@tailwindcss/oxide-linux-arm64-gnu@4.0.14': - resolution: {integrity: sha512-bwDWLBalXFMDItcSXzFk6y7QKvj6oFlaY9vM+agTlwFL1n1OhDHYLZkSjaYsh6KCeG0VB0r7H8PUJVOM1LRZyg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@tailwindcss/oxide-linux-arm64-musl@4.0.14': - resolution: {integrity: sha512-gVkJdnR/L6iIcGYXx64HGJRmlme2FGr/aZH0W6u4A3RgPMAb+6ELRLi+UBiH83RXBm9vwCfkIC/q8T51h8vUJQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@tailwindcss/oxide-linux-x64-gnu@4.0.14': - resolution: {integrity: sha512-EE+EQ+c6tTpzsg+LGO1uuusjXxYx0Q00JE5ubcIGfsogSKth8n8i2BcS2wYTQe4jXGs+BQs35l78BIPzgwLddw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@tailwindcss/oxide-linux-x64-musl@4.0.14': - resolution: {integrity: sha512-KCCOzo+L6XPT0oUp2Jwh233ETRQ/F6cwUnMnR0FvMUCbkDAzHbcyOgpfuAtRa5HD0WbTbH4pVD+S0pn1EhNfbw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@tailwindcss/oxide-win32-arm64-msvc@4.0.14': - resolution: {integrity: sha512-AHObFiFL9lNYcm3tZSPqa/cHGpM5wOrNmM2uOMoKppp+0Hom5uuyRh0QkOp7jftsHZdrZUpmoz0Mp6vhh2XtUg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - - '@tailwindcss/oxide-win32-x64-msvc@4.0.14': - resolution: {integrity: sha512-rNXXMDJfCJLw/ZaFTOLOHoGULxyXfh2iXTGiChFiYTSgKBKQHIGEpV0yn5N25WGzJJ+VBnRjHzlmDqRV+d//oQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - - '@tailwindcss/oxide@4.0.14': - resolution: {integrity: sha512-M8VCNyO/NBi5vJ2cRcI9u8w7Si+i76a7o1vveoGtbbjpEYJZYiyc7f2VGps/DqawO56l3tImIbq2OT/533jcrA==} - engines: {node: '>= 10'} - - '@tailwindcss/postcss@4.0.14': - resolution: {integrity: sha512-+uIR6KtKhla1XeIanF27KtrfYy+PX+R679v5LxbkmEZlhQe3g8rk+wKj7Xgt++rWGRuFLGMXY80Ek8JNn+kN/g==} - - '@types/eslint-config-prettier@6.11.3': - resolution: {integrity: sha512-3wXCiM8croUnhg9LdtZUJQwNcQYGWxxdOWDjPe1ykCqJFPVpzAKfs/2dgSoCtAvdPeaponcWPI7mPcGGp9dkKQ==} - - '@types/estree@0.0.39': - resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} - - '@types/estree@1.0.6': - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - - '@types/keyv@3.1.4': - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - - '@types/minimist@1.2.5': - resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} - - '@types/node@22.13.10': - resolution: {integrity: sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==} - - '@types/normalize-package-data@2.4.4': - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - - '@types/resolve@1.20.2': - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} - - '@types/responselike@1.0.3': - resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} - - '@types/trusted-types@2.0.7': - resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - - '@typescript-eslint/eslint-plugin@8.26.1': - resolution: {integrity: sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/parser@8.26.1': - resolution: {integrity: sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/scope-manager@8.26.0': - resolution: {integrity: sha512-E0ntLvsfPqnPwng8b8y4OGuzh/iIOm2z8U3S9zic2TeMLW61u5IH2Q1wu0oSTkfrSzwbDJIB/Lm8O3//8BWMPA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/scope-manager@8.26.1': - resolution: {integrity: sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/type-utils@8.26.1': - resolution: {integrity: sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/types@8.26.0': - resolution: {integrity: sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/types@8.26.1': - resolution: {integrity: sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/typescript-estree@8.26.0': - resolution: {integrity: sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/typescript-estree@8.26.1': - resolution: {integrity: sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/utils@8.26.0': - resolution: {integrity: sha512-2L2tU3FVwhvU14LndnQCA2frYC8JnPDVKyQtWFPf8IYFMt/ykEN1bPolNhNbCVgOmdzTlWdusCTKA/9nKrf8Ig==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/utils@8.26.1': - resolution: {integrity: sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/visitor-keys@8.26.0': - resolution: {integrity: sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/visitor-keys@8.26.1': - resolution: {integrity: sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - - acorn@8.14.0: - resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} - engines: {node: '>=0.4.0'} - hasBin: true - - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - - ajv@8.17.1: - resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - - ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - - ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - - ansi-escapes@7.0.0: - resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} - engines: {node: '>=18'} - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} - engines: {node: '>=12'} - - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - - array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} - - array-buffer-byte-length@1.0.2: - resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} - engines: {node: '>= 0.4'} - - array-includes@3.1.8: - resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} - engines: {node: '>= 0.4'} - - array-timsort@1.0.3: - resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} - - array.prototype.findlast@1.2.5: - resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} - engines: {node: '>= 0.4'} - - array.prototype.flat@1.3.3: - resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} - engines: {node: '>= 0.4'} - - array.prototype.flatmap@1.3.3: - resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} - engines: {node: '>= 0.4'} - - array.prototype.tosorted@1.1.4: - resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} - engines: {node: '>= 0.4'} - - arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} - engines: {node: '>= 0.4'} - - arraybuffer.prototype.slice@1.0.4: - resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} - engines: {node: '>= 0.4'} - - arrify@1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} - - async-function@1.0.0: - resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} - engines: {node: '>= 0.4'} - - async@3.2.6: - resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} - - at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} - - available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} - - babel-plugin-polyfill-corejs2@0.4.12: - resolution: {integrity: sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-corejs3@0.10.6: - resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-regenerator@0.6.3: - resolution: {integrity: sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - base-x@3.0.10: - resolution: {integrity: sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==} - - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - - bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - - boxen@4.2.0: - resolution: {integrity: sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==} - engines: {node: '>=8'} - - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} - - browser-unhandled-rejection@1.0.2: - resolution: {integrity: sha512-WKtQ9zDqXEffcNbvcfhrL/g5N8EVcvUWNskhXAlpx6mBD/kxYFKSY6wVAw59gXIrgxYCLk571hhXyWltaNEZ0A==} - - browserslist@4.24.2: - resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - - buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - - cacheable-request@6.1.0: - resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} - engines: {node: '>=8'} - - call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} - - call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} - engines: {node: '>= 0.4'} - - call-bind@1.0.8: - resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} - engines: {node: '>= 0.4'} - - call-bound@1.0.4: - resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} - engines: {node: '>= 0.4'} - - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - - camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} - - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - - caniuse-lite@1.0.30001680: - resolution: {integrity: sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==} - - cell-router@3.0.3: - resolution: {integrity: sha512-OOJiaXKgnfXlC7I3UDaCtvH5+91RBbuXQxTQij4bPM4EyJk5iVpyz983fdLvK1a2A+7/U7O9Qtpy5T0GIhzOvw==} - - chalk@3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} - engines: {node: '>=8'} - - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - - chalk@5.4.1: - resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - - chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - - chrome-trace-event@1.0.4: - resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} - engines: {node: '>=6.0'} - - ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - - classcat@5.0.5: - resolution: {integrity: sha512-JhZUT7JFcQy/EzW605k/ktHtncoo9vnyW/2GspNYwFlN1C/WmjuV/xtS04e9SOkL2sTdw0VAZ2UGCcQ9lR6p6w==} - - clear-module@4.1.2: - resolution: {integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==} - engines: {node: '>=8'} - - cli-boxes@2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} - - cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - - cli-cursor@5.0.0: - resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} - engines: {node: '>=18'} - - cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} - - cli-truncate@4.0.0: - resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} - engines: {node: '>=18'} - - cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} - - clone-response@1.0.3: - resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} - - clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - - clone@2.1.2: - resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} - engines: {node: '>=0.8'} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - - commander@12.1.0: - resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} - engines: {node: '>=18'} - - commander@13.1.0: - resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} - engines: {node: '>=18'} - - commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - - comment-json@4.2.5: - resolution: {integrity: sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==} - engines: {node: '>= 6'} - - common-tags@1.8.2: - resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} - engines: {node: '>=4.0.0'} - - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - configstore@5.0.1: - resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} - engines: {node: '>=8'} - - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - core-js-compat@3.39.0: - resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} - - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - - cosmiconfig@9.0.0: - resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=4.9.5' - peerDependenciesMeta: - typescript: - optional: true - - cross-env@7.0.3: - resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} - engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} - hasBin: true - - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} - - crypto-random-string@2.0.0: - resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} - engines: {node: '>=8'} - - cspell-config-lib@8.17.5: - resolution: {integrity: sha512-XDc+UJO5RZ9S9e2Ajz332XjT7dv6Og2UqCiSnAlvHt7t/MacLHSPARZFIivheObNkWZ7E1iWI681RxKoH4o40w==} - engines: {node: '>=18'} - - cspell-dictionary@8.17.5: - resolution: {integrity: sha512-O/Uuhv1RuDu+5WYQml0surudweaTvr+2YJSmPSdlihByUSiogCbpGqwrRow7wQv/C5p1W1FlFjotvUfoR0fxHA==} - engines: {node: '>=18'} - - cspell-glob@8.17.5: - resolution: {integrity: sha512-OXquou7UykInlGV5et5lNKYYrW0dwa28aEF995x1ocANND7o0bbHmFlbgyci/Lp4uFQai8sifmfFJbuIg2IC/A==} - engines: {node: '>=18'} - - cspell-grammar@8.17.5: - resolution: {integrity: sha512-st2n+FVw25MvMbsGb3TeJNRr6Oih4g14rjOd/UJN0qn+ceH360SAShUFqSd4kHHu2ADazI/TESFU6FRtMTPNOg==} - engines: {node: '>=18'} - hasBin: true - - cspell-io@8.17.5: - resolution: {integrity: sha512-oevM/8l0s6nc1NCYPqNFumrW50QSHoa6wqUT8cWs09gtZdE2AWG0U6bIE8ZEVz6e6FxS+6IenGKTdUUwP0+3fg==} - engines: {node: '>=18'} - - cspell-lib@8.17.5: - resolution: {integrity: sha512-S3KuOrcST1d2BYmTXA+hnbRdho5n3w5GUvEaCx3QZQBwAPfLpAwJbe2yig1TxBpyEJ5LqP02i/mDg1pUCOP0hQ==} - engines: {node: '>=18'} - - cspell-trie-lib@8.17.5: - resolution: {integrity: sha512-9hjI3nRQxtGEua6CgnLbK3sGHLx9dXR/BHwI/csRL4dN5GGRkE5X3CCoy1RJVL7iGFLIzi43+L10xeFRmWniKw==} - engines: {node: '>=18'} - - css-declaration-sorter@7.2.0: - resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} - engines: {node: ^14 || ^16 || >=18} - peerDependencies: - postcss: ^8.0.9 - - data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} - - data-view-buffer@1.0.2: - resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} - engines: {node: '>= 0.4'} - - data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} - - data-view-byte-length@1.0.2: - resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} - engines: {node: '>= 0.4'} - - data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} - - data-view-byte-offset@1.0.1: - resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} - engines: {node: '>= 0.4'} - - debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - decamelize-keys@1.1.1: - resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} - engines: {node: '>=0.10.0'} - - decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - - declarative-shadow-dom-polyfill@0.4.0: - resolution: {integrity: sha512-a3c/x43EIo+gzc7ZPY1NuOowPOClqaaU+5G1wwOG7h5xQ8UhZPM6NYcSDsvhTn9Pyc275pmvSUPPY+r4pPTOVA==} - peerDependencies: - typescript: '>=5.5.3' - - decompress-response@3.3.0: - resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} - engines: {node: '>=4'} - - deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - - deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - - deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - - defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - - defer-to-connect@1.1.3: - resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} - - define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} - - define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} - - detect-libc@1.0.3: - resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} - engines: {node: '>=0.10'} - hasBin: true - - detect-libc@2.0.3: - resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} - engines: {node: '>=8'} - - doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - - dom-renderer@2.6.2: - resolution: {integrity: sha512-TmLeA5mWGKhC/rCJVTJz4X8UKYUsHIaefShVxJHqGqtycZdhtBij8Ni0wFkovb9ShZAQzcHNxSpgd+VOnPLrsQ==} - peerDependencies: - happy-dom: ^14 - - dom-serializer@1.4.1: - resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} - - dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - - domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - - domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} - - domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - - domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} - - domutils@3.1.0: - resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} - - dot-prop@5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} - - dotenv-expand@11.0.7: - resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==} - engines: {node: '>=12'} - - dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} - engines: {node: '>=12'} - - dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} - - duplexer3@0.1.5: - resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} - - ejs@3.1.10: - resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} - engines: {node: '>=0.10.0'} - hasBin: true - - electron-to-chromium@1.5.59: - resolution: {integrity: sha512-faAXB6+gEbC8FsiRdpOXgOe4snP49YwjiXynEB8Mp7sUx80W5eN+BnnBHJ/F7eIeLzs+QBfDD40bJMm97oEFcw==} - - element-internals-polyfill@1.3.13: - resolution: {integrity: sha512-viZ7wJsvh6eFwGQX512zEaccK/c6RRFSerJsdkfe3DW/ZtruvNeOR33fpPZgfXxvqRdU2lK33KM4S6GqaTgVKQ==} - - emoji-regex@10.4.0: - resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - - enhanced-resolve@5.18.1: - resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} - engines: {node: '>=10.13.0'} - - entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} - - entities@3.0.1: - resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} - engines: {node: '>=0.12'} - - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - - env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} - - env-paths@3.0.0: - resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - environment@1.1.0: - resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} - engines: {node: '>=18'} - - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - - es-abstract@1.23.5: - resolution: {integrity: sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==} - engines: {node: '>= 0.4'} - - es-abstract@1.23.9: - resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} - engines: {node: '>= 0.4'} - - es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} - engines: {node: '>= 0.4'} - - es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} - - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - - es-html-parser@0.1.1: - resolution: {integrity: sha512-SNHdEpKkN4nWZ3sFq9AxPlaUzPKJewGh59JrVS2355vELTOFygyf/lbfDDIONuGvYrhvAHoaUd+sK9UGaGrKUg==} - - es-iterator-helpers@1.2.1: - resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==} - engines: {node: '>= 0.4'} - - es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} - - es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} - engines: {node: '>= 0.4'} - - es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} - - es-set-tostringtag@2.1.0: - resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} - engines: {node: '>= 0.4'} - - es-shim-unscopables@1.1.0: - resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} - engines: {node: '>= 0.4'} - - es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - - es-to-primitive@1.3.0: - resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} - engines: {node: '>= 0.4'} - - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} - - escape-goat@2.1.1: - resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} - engines: {node: '>=8'} - - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - - eslint-config-prettier@10.1.1: - resolution: {integrity: sha512-4EQQr6wXwS+ZJSzaR5ZCrYgLxqvUjdXctaEtBqHcbkW944B1NQyO4qpdHQbXBONfwxXdkAY81HH4+LUfrg+zPw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - - eslint-plugin-react@7.37.4: - resolution: {integrity: sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==} - engines: {node: '>=4'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - - eslint-plugin-simple-import-sort@12.1.1: - resolution: {integrity: sha512-6nuzu4xwQtE3332Uz0to+TxDQYRLTKRESSc2hefVT48Zc8JthmN23Gx9lnYhu0FtkRSL1oxny3kJ2aveVhmOVA==} - peerDependencies: - eslint: '>=5.0.0' - - eslint-scope@8.3.0: - resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint-visitor-keys@4.2.0: - resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - eslint@9.22.0: - resolution: {integrity: sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true - peerDependencies: - jiti: '*' - peerDependenciesMeta: - jiti: - optional: true - - espree@10.3.0: - resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} - engines: {node: '>=0.10'} - - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - - estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - - estree-walker@1.0.1: - resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} - - estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - - eventemitter3@5.0.1: - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - - execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - - external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - fast-equals@5.2.2: - resolution: {integrity: sha512-V7/RktU11J3I36Nwq2JnZEM7tNm17eBJz+u25qdxBZeCKiX6BkVSZQjwWIr+IobgnZy+ag73tTZgZi7tr0LrBw==} - engines: {node: '>=6.0.0'} - - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} - - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - - fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - - fast-uri@3.0.3: - resolution: {integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==} - - fastq@1.19.1: - resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} - - figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - - file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} - - filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} - - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - - find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - - flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} - - flatted@3.3.3: - resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} - - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - - fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} - - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - - function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} - - function.prototype.name@1.1.8: - resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} - engines: {node: '>= 0.4'} - - functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - - gensequence@7.0.0: - resolution: {integrity: sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==} - engines: {node: '>=18'} - - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - get-east-asian-width@1.3.0: - resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} - engines: {node: '>=18'} - - get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} - - get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} - engines: {node: '>= 0.4'} - - get-own-enumerable-property-symbols@3.0.2: - resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - - get-port@4.2.0: - resolution: {integrity: sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==} - engines: {node: '>=6'} - - get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} - - get-stream@4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - - get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - - get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - - get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} - - get-symbol-description@1.1.0: - resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} - engines: {node: '>= 0.4'} - - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported - - global-directory@4.0.1: - resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} - engines: {node: '>=18'} - - global-dirs@2.1.0: - resolution: {integrity: sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==} - engines: {node: '>=8'} - - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - - globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} - - globals@16.0.0: - resolution: {integrity: sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==} - engines: {node: '>=18'} - - globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} - - gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - - gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} - - got@9.6.0: - resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} - engines: {node: '>=8.6'} - - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - - hard-rejection@2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} - - has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - has-own-prop@2.0.0: - resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} - engines: {node: '>=8'} - - has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - - has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} - engines: {node: '>= 0.4'} - - has-proto@1.2.0: - resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} - engines: {node: '>= 0.4'} - - has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - - has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - - has-yarn@2.1.0: - resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} - engines: {node: '>=8'} - - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - - hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - - htmlnano@2.1.1: - resolution: {integrity: sha512-kAERyg/LuNZYmdqgCdYvugyLWNFAm8MWXpQMz1pLpetmCbFwoMxvkSoaAMlFrOC4OKTWI4KlZGT/RsNxg4ghOw==} - peerDependencies: - cssnano: ^7.0.0 - postcss: ^8.3.11 - purgecss: ^6.0.0 - relateurl: ^0.2.7 - srcset: 5.0.1 - svgo: ^3.0.2 - terser: ^5.10.0 - uncss: ^0.17.3 - peerDependenciesMeta: - cssnano: - optional: true - postcss: - optional: true - purgecss: - optional: true - relateurl: - optional: true - srcset: - optional: true - svgo: - optional: true - terser: - optional: true - uncss: - optional: true - - htmlparser2@7.2.0: - resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} - - htmlparser2@9.1.0: - resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} - - http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - - human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - - husky@9.1.7: - resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} - engines: {node: '>=18'} - hasBin: true - - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - - idb@7.1.1: - resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} - - ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} - - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - - import-fresh@3.3.1: - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} - engines: {node: '>=6'} - - import-lazy@2.1.0: - resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} - engines: {node: '>=4'} - - import-meta-resolve@4.1.0: - resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - ini@1.3.7: - resolution: {integrity: sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==} - - ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - - ini@4.1.1: - resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - inquirer@7.3.3: - resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} - engines: {node: '>=8.0.0'} - - internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} - engines: {node: '>= 0.4'} - - internal-slot@1.1.0: - resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} - engines: {node: '>= 0.4'} - - is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} - - is-array-buffer@3.0.5: - resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} - engines: {node: '>= 0.4'} - - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - is-async-function@2.1.1: - resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} - engines: {node: '>= 0.4'} - - is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - - is-bigint@1.1.0: - resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} - engines: {node: '>= 0.4'} - - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - - is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} - - is-boolean-object@1.2.2: - resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} - engines: {node: '>= 0.4'} - - is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - - is-ci@2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} - hasBin: true - - is-core-module@2.15.1: - resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} - engines: {node: '>= 0.4'} - - is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} - - is-data-view@1.0.2: - resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} - engines: {node: '>= 0.4'} - - is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} - - is-date-object@1.1.0: - resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} - engines: {node: '>= 0.4'} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-finalizationregistry@1.1.1: - resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} - engines: {node: '>= 0.4'} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - - is-fullwidth-code-point@5.0.0: - resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} - engines: {node: '>=18'} - - is-generator-function@1.1.0: - resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} - engines: {node: '>= 0.4'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-installed-globally@0.3.2: - resolution: {integrity: sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==} - engines: {node: '>=8'} - - is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - - is-json@2.0.1: - resolution: {integrity: sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==} - - is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} - - is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - - is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - - is-npm@4.0.0: - resolution: {integrity: sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==} - engines: {node: '>=8'} - - is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} - - is-number-object@1.1.1: - resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} - engines: {node: '>= 0.4'} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-obj@1.0.1: - resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} - engines: {node: '>=0.10.0'} - - is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - - is-plain-obj@1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} - - is-promise@4.0.0: - resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} - - is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} - - is-regex@1.2.1: - resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} - engines: {node: '>= 0.4'} - - is-regexp@1.0.0: - resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} - engines: {node: '>=0.10.0'} - - is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} - - is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} - - is-shared-array-buffer@1.0.4: - resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} - engines: {node: '>= 0.4'} - - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - - is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - - is-string@1.1.1: - resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} - engines: {node: '>= 0.4'} - - is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - - is-symbol@1.1.1: - resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} - engines: {node: '>= 0.4'} - - is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} - - is-typed-array@1.1.15: - resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} - engines: {node: '>= 0.4'} - - is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - - is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - - is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} - - is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - - is-weakref@1.1.1: - resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} - engines: {node: '>= 0.4'} - - is-weakset@2.0.4: - resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} - engines: {node: '>= 0.4'} - - is-yarn-global@0.3.0: - resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} - - isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - iterator.prototype@1.1.5: - resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} - engines: {node: '>= 0.4'} - - jake@10.9.2: - resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} - engines: {node: '>=10'} - hasBin: true - - jiti@2.4.2: - resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} - hasBin: true - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - - jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} - hasBin: true - - json-buffer@3.0.0: - resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} - - json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - - json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - - json-schema@0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - - json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - - jsonpointer@5.0.1: - resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} - engines: {node: '>=0.10.0'} - - jsx-ast-utils@3.3.5: - resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} - engines: {node: '>=4.0'} - - keyv@3.1.0: - resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} - - keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - - koajax@3.1.1: - resolution: {integrity: sha512-O8Oko101voro3fcd4UbHRh42+szcJpIkf/oKWjM4ZFTz7E8ZFVGftylla4aqRhzqnYyXUKfweaLLrHSEDTkp6Q==} - peerDependencies: - core-js: '>=3' - jsdom: '>=21' - - latest-version@5.1.0: - resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} - engines: {node: '>=8'} - - leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - - lightningcss-darwin-arm64@1.29.1: - resolution: {integrity: sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [darwin] - - lightningcss-darwin-arm64@1.29.2: - resolution: {integrity: sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [darwin] - - lightningcss-darwin-x64@1.29.1: - resolution: {integrity: sha512-k33G9IzKUpHy/J/3+9MCO4e+PzaFblsgBjSGlpAaFikeBFm8B/CkO3cKU9oI4g+fjS2KlkLM/Bza9K/aw8wsNA==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [darwin] - - lightningcss-darwin-x64@1.29.2: - resolution: {integrity: sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [darwin] - - lightningcss-freebsd-x64@1.29.1: - resolution: {integrity: sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [freebsd] - - lightningcss-freebsd-x64@1.29.2: - resolution: {integrity: sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [freebsd] - - lightningcss-linux-arm-gnueabihf@1.29.1: - resolution: {integrity: sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg==} - engines: {node: '>= 12.0.0'} - cpu: [arm] - os: [linux] - - lightningcss-linux-arm-gnueabihf@1.29.2: - resolution: {integrity: sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==} - engines: {node: '>= 12.0.0'} - cpu: [arm] - os: [linux] - - lightningcss-linux-arm64-gnu@1.29.1: - resolution: {integrity: sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - - lightningcss-linux-arm64-gnu@1.29.2: - resolution: {integrity: sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - - lightningcss-linux-arm64-musl@1.29.1: - resolution: {integrity: sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - - lightningcss-linux-arm64-musl@1.29.2: - resolution: {integrity: sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - - lightningcss-linux-x64-gnu@1.29.1: - resolution: {integrity: sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - - lightningcss-linux-x64-gnu@1.29.2: - resolution: {integrity: sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - - lightningcss-linux-x64-musl@1.29.1: - resolution: {integrity: sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - - lightningcss-linux-x64-musl@1.29.2: - resolution: {integrity: sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - - lightningcss-win32-arm64-msvc@1.29.1: - resolution: {integrity: sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [win32] - - lightningcss-win32-arm64-msvc@1.29.2: - resolution: {integrity: sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [win32] - - lightningcss-win32-x64-msvc@1.29.1: - resolution: {integrity: sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [win32] - - lightningcss-win32-x64-msvc@1.29.2: - resolution: {integrity: sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [win32] - - lightningcss@1.29.1: - resolution: {integrity: sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q==} - engines: {node: '>= 12.0.0'} - - lightningcss@1.29.2: - resolution: {integrity: sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==} - engines: {node: '>= 12.0.0'} - - lilconfig@3.1.3: - resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} - engines: {node: '>=14'} - - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - lint-staged@15.5.0: - resolution: {integrity: sha512-WyCzSbfYGhK7cU+UuDDkzUiytbfbi0ZdPy2orwtM75P3WTtQBzmG40cCxIa8Ii2+XjfxzLH6Be46tUfWS85Xfg==} - engines: {node: '>=18.12.0'} - hasBin: true - - listr2@8.2.5: - resolution: {integrity: sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==} - engines: {node: '>=18.0.0'} - - lit-element@4.1.1: - resolution: {integrity: sha512-HO9Tkkh34QkTeUmEdNYhMT8hzLid7YlMlATSi1q4q17HE5d9mrrEHJ/o8O2D0cMi182zK1F3v7x0PWFjrhXFew==} - - lit-html@3.2.1: - resolution: {integrity: sha512-qI/3lziaPMSKsrwlxH/xMgikhQ0EGOX2ICU73Bi/YHFvz2j/yMCIrw4+puF2IpQ4+upd3EWbvnHM9+PnJn48YA==} - - lit@3.2.1: - resolution: {integrity: sha512-1BBa1E/z0O9ye5fZprPtdqnc0BFzxIxTTOO/tQFmyC/hj1O3jL4TfmLBw0WEwjAokdLwpclkvGgDJwTIh0/22w==} - - lmdb@2.8.5: - resolution: {integrity: sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ==} - hasBin: true - - locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - - lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - - lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - - log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - - log-update@6.1.0: - resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} - engines: {node: '>=18'} - - loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true - - lowercase-keys@1.0.1: - resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} - engines: {node: '>=0.10.0'} - - lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - magic-string@0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} - - make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - - map-obj@1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} - - map-obj@4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} - - math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} - - mdui@2.1.3: - resolution: {integrity: sha512-rBaFJYPloaWcHSem9PCD3AT3nyjO072M9HCOGifGxmhVE0QYABtzdiActf9BvgbTMOrIPdlCyPKF+JVW/b6G4Q==} - - meow@7.1.1: - resolution: {integrity: sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==} - engines: {node: '>=10'} - - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} - - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - - mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - - mimic-function@5.0.1: - resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} - engines: {node: '>=18'} - - mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} - - min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - - minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} - engines: {node: '>=16 || 14 >=14.17'} - - minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} - - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - mobx@6.13.6: - resolution: {integrity: sha512-r19KNV0uBN4b+ER8Z0gA4y+MzDYIQ2SvOmn3fUrqPnWXdQfakd9yfbPBDBF/p5I+bd3N5Rk1fHONIvMay+bJGA==} - - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - msgpackr-extract@3.0.3: - resolution: {integrity: sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==} - hasBin: true - - msgpackr@1.11.2: - resolution: {integrity: sha512-F9UngXRlPyWCDEASDpTf6c9uNhGPTqnTeLVt7bN+bU1eajoR/8V9ys2BRaV5C/e5ihE6sJ9uPIKaYt6bFuO32g==} - - mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - - nanoid@3.3.8: - resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - - node-addon-api@6.1.0: - resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} - - node-addon-api@7.1.1: - resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} - - node-gyp-build-optional-packages@5.1.1: - resolution: {integrity: sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==} - hasBin: true - - node-gyp-build-optional-packages@5.2.2: - resolution: {integrity: sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==} - hasBin: true - - node-releases@2.0.18: - resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} - - normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - normalize-url@4.5.1: - resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} - engines: {node: '>=8'} - - npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - nullthrows@1.1.1: - resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} - - object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - - object-inspect@1.13.3: - resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} - engines: {node: '>= 0.4'} - - object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - - object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} - - object.assign@4.1.7: - resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} - engines: {node: '>= 0.4'} - - object.entries@1.1.8: - resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} - engines: {node: '>= 0.4'} - - object.fromentries@2.0.8: - resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} - engines: {node: '>= 0.4'} - - object.values@1.2.1: - resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} - engines: {node: '>= 0.4'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - - onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - - onetime@7.0.0: - resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} - engines: {node: '>=18'} - - optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} - - ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} - - ordered-binary@1.5.3: - resolution: {integrity: sha512-oGFr3T+pYdTGJ+YFEILMpS3es+GiIbs9h/XQrclBXUtd44ey7XwfsMzM31f64I1SQOawDoDr/D823kNCADI8TA==} - - os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - - own-keys@1.0.1: - resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} - engines: {node: '>= 0.4'} - - p-cancelable@1.1.0: - resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} - engines: {node: '>=6'} - - p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - - p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - - p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - - p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - - package-json@6.5.0: - resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} - engines: {node: '>=8'} - - parcel@2.13.3: - resolution: {integrity: sha512-8GrC8C7J8mwRpAlk7EJ7lwdFTbCN+dcXH2gy5AsEs9pLfzo9wvxOTx6W0fzSlvCOvZOita+8GdfYlGfEt0tRgA==} - engines: {node: '>= 16.0.0'} - hasBin: true - - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - - parent-module@2.0.0: - resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==} - engines: {node: '>=8'} - - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - picomatch@4.0.2: - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} - engines: {node: '>=12'} - - pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} - engines: {node: '>=0.10'} - hasBin: true - - possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - - postcss-less@6.0.0: - resolution: {integrity: sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg==} - engines: {node: '>=12'} - peerDependencies: - postcss: ^8.3.5 - - postcss-scss@4.0.9: - resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.4.29 - - postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - - postcss@8.5.3: - resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} - engines: {node: ^10 || ^12 || >=14} - - posthtml-parser@0.11.0: - resolution: {integrity: sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==} - engines: {node: '>=12'} - - posthtml-parser@0.12.1: - resolution: {integrity: sha512-rYFmsDLfYm+4Ts2Oh4DCDSZPtdC1BLnRXAobypVzX9alj28KGl65dIFtgDY9zB57D0TC4Qxqrawuq/2et1P0GA==} - engines: {node: '>=16'} - - posthtml-render@3.0.0: - resolution: {integrity: sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==} - engines: {node: '>=12'} - - posthtml@0.16.6: - resolution: {integrity: sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==} - engines: {node: '>=12.0.0'} - - prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - - prepend-http@2.0.0: - resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} - engines: {node: '>=4'} - - prettier-plugin-css-order@2.1.2: - resolution: {integrity: sha512-vomxPjHI6pOMYcBuouSJHxxQClJXaUpU9rsV9IAO2wrSTZILRRlrxAAR8t9UF6wtczLkLfNRFUwM+ZbGXOONUA==} - engines: {node: '>=16'} - peerDependencies: - prettier: 3.x - - prettier-plugin-tailwindcss@0.6.11: - resolution: {integrity: sha512-YxaYSIvZPAqhrrEpRtonnrXdghZg1irNg4qrjboCXrpybLWVs55cW2N3juhspVJiO0JBvYJT8SYsJpc8OQSnsA==} - engines: {node: '>=14.21.3'} - peerDependencies: - '@ianvs/prettier-plugin-sort-imports': '*' - '@prettier/plugin-pug': '*' - '@shopify/prettier-plugin-liquid': '*' - '@trivago/prettier-plugin-sort-imports': '*' - '@zackad/prettier-plugin-twig': '*' - prettier: ^3.0 - prettier-plugin-astro: '*' - prettier-plugin-css-order: '*' - prettier-plugin-import-sort: '*' - prettier-plugin-jsdoc: '*' - prettier-plugin-marko: '*' - prettier-plugin-multiline-arrays: '*' - prettier-plugin-organize-attributes: '*' - prettier-plugin-organize-imports: '*' - prettier-plugin-sort-imports: '*' - prettier-plugin-style-order: '*' - prettier-plugin-svelte: '*' - peerDependenciesMeta: - '@ianvs/prettier-plugin-sort-imports': - optional: true - '@prettier/plugin-pug': - optional: true - '@shopify/prettier-plugin-liquid': - optional: true - '@trivago/prettier-plugin-sort-imports': - optional: true - '@zackad/prettier-plugin-twig': - optional: true - prettier-plugin-astro: - optional: true - prettier-plugin-css-order: - optional: true - prettier-plugin-import-sort: - optional: true - prettier-plugin-jsdoc: - optional: true - prettier-plugin-marko: - optional: true - prettier-plugin-multiline-arrays: - optional: true - prettier-plugin-organize-attributes: - optional: true - prettier-plugin-organize-imports: - optional: true - prettier-plugin-sort-imports: - optional: true - prettier-plugin-style-order: - optional: true - prettier-plugin-svelte: - optional: true - - prettier@3.5.3: - resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} - engines: {node: '>=14'} - hasBin: true - - pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} - - prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - - pump@3.0.2: - resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} - - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - pupa@2.1.1: - resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} - engines: {node: '>=8'} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} - - randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - - rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - - react-error-overlay@6.0.9: - resolution: {integrity: sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==} - - react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - - react-refresh@0.14.2: - resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} - engines: {node: '>=0.10.0'} - - read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - - read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - - redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} - - reflect.getprototypeof@1.0.10: - resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} - engines: {node: '>= 0.4'} - - regenerate-unicode-properties@10.2.0: - resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} - engines: {node: '>=4'} - - regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - - regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - - regenerator-transform@0.15.2: - resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} - - regexp.prototype.flags@1.5.3: - resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} - engines: {node: '>= 0.4'} - - regexpu-core@6.1.1: - resolution: {integrity: sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==} - engines: {node: '>=4'} - - registry-auth-token@4.2.2: - resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} - engines: {node: '>=6.0.0'} - - registry-url@5.1.0: - resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} - engines: {node: '>=8'} - - regjsgen@0.8.0: - resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - - regjsparser@0.11.2: - resolution: {integrity: sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==} - hasBin: true - - repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - - require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - - resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - - resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - - resolve@2.0.0-next.5: - resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} - hasBin: true - - responselike@1.0.2: - resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} - - restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - - restore-cursor@5.1.0: - resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} - engines: {node: '>=18'} - - reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - rfdc@1.4.1: - resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - - rollup@2.79.2: - resolution: {integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==} - engines: {node: '>=10.0.0'} - hasBin: true - - run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - - rxjs@6.6.7: - resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} - engines: {npm: '>=2.0.0'} - - safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} - engines: {node: '>=0.4'} - - safe-array-concat@1.1.3: - resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} - engines: {node: '>=0.4'} - - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - safe-push-apply@1.0.0: - resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} - engines: {node: '>= 0.4'} - - safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} - - safe-regex-test@1.1.0: - resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} - engines: {node: '>= 0.4'} - - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - scheduler-polyfill@1.3.0: - resolution: {integrity: sha512-bIjhi/KJqo08wrq+K2rlB6HNPh871KgREPpVti4zv0mSY1dCi3qr0rRCw+SGHc8/gtKceev29sN//lf6KiYa/g==} - - semver-diff@3.1.1: - resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} - engines: {node: '>=8'} - - semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - semver@7.6.3: - resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} - engines: {node: '>=10'} - hasBin: true - - serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - - set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} - - set-proto@1.0.0: - resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} - engines: {node: '>= 0.4'} - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} - engines: {node: '>= 0.4'} - - side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} - - side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} - - side-channel@1.0.6: - resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} - engines: {node: '>= 0.4'} - - side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} - engines: {node: '>= 0.4'} - - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} - - slice-ansi@7.1.0: - resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} - engines: {node: '>=18'} - - smob@1.5.0: - resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} - - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} - - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} - - sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead - - spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - - spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - - spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - - spdx-license-ids@3.0.20: - resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} - - srcset@4.0.0: - resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==} - engines: {node: '>=12'} - - ssr-window@4.0.2: - resolution: {integrity: sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ==} - - string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@7.2.0: - resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} - engines: {node: '>=18'} - - string.prototype.matchall@4.0.11: - resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} - engines: {node: '>= 0.4'} - - string.prototype.matchall@4.0.12: - resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} - engines: {node: '>= 0.4'} - - string.prototype.repeat@1.0.0: - resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} - - string.prototype.trim@1.2.10: - resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} - engines: {node: '>= 0.4'} - - string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} - engines: {node: '>= 0.4'} - - string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} - - string.prototype.trimend@1.0.9: - resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} - engines: {node: '>= 0.4'} - - string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - - stringify-object@3.3.0: - resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} - engines: {node: '>=4'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - - strip-comments@2.0.1: - resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} - engines: {node: '>=10'} - - strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - - strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - - strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - synckit@0.9.2: - resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} - engines: {node: ^14.18.0 || >=16.0.0} - - tailwindcss@4.0.14: - resolution: {integrity: sha512-92YT2dpt671tFiHH/e1ok9D987N9fHD5VWoly1CdPD/Cd1HMglvZwP3nx2yTj2lbXDAHt8QssZkxTLCCTNL+xw==} - - tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - - temp-dir@2.0.0: - resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} - engines: {node: '>=8'} - - tempy@0.6.0: - resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} - engines: {node: '>=10'} - - term-size@2.2.1: - resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} - engines: {node: '>=8'} - - terser@5.36.0: - resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==} - engines: {node: '>=10'} - hasBin: true - - through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - - timsort@0.3.0: - resolution: {integrity: sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==} - - tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - - to-readable-stream@1.0.0: - resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} - engines: {node: '>=6'} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - - trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} - - ts-api-utils@2.0.1: - resolution: {integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==} - engines: {node: '>=18.12'} - peerDependencies: - typescript: '>=4.8.4' - - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - - type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - - type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} - - type-fest@0.16.0: - resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} - engines: {node: '>=10'} - - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - - type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - - type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - - type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - - typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} - - typed-array-buffer@1.0.3: - resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} - engines: {node: '>= 0.4'} - - typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} - - typed-array-byte-length@1.0.3: - resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.4: - resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} - engines: {node: '>= 0.4'} - - typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} - engines: {node: '>= 0.4'} - - typed-array-length@1.0.7: - resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} - engines: {node: '>= 0.4'} - - typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - - typescript-eslint@8.26.1: - resolution: {integrity: sha512-t/oIs9mYyrwZGRpDv3g+3K6nZ5uhKEMt2oNmAPwaY4/ye0+EH4nXIPYNtkYFS6QHm+1DFg34DbglYBz5P9Xysg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - typescript@5.8.2: - resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} - engines: {node: '>=14.17'} - hasBin: true - - unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - - unbox-primitive@1.1.0: - resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} - engines: {node: '>= 0.4'} - - undici-types@6.20.0: - resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} - - unicode-canonical-property-names-ecmascript@2.0.1: - resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} - engines: {node: '>=4'} - - unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - - unicode-match-property-value-ecmascript@2.2.0: - resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} - engines: {node: '>=4'} - - unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} - engines: {node: '>=4'} - - unique-string@2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} - - universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - - upath@1.2.0: - resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} - engines: {node: '>=4'} - - update-browserslist-db@1.1.1: - resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - update-notifier@4.1.3: - resolution: {integrity: sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==} - engines: {node: '>=8'} - - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - - url-parse-lax@3.0.0: - resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} - engines: {node: '>=4'} - - urlpattern-polyfill@10.0.0: - resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - utility-types@3.11.0: - resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} - engines: {node: '>= 4'} - - validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - - vscode-languageserver-textdocument@1.0.12: - resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} - - vscode-uri@3.1.0: - resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - - wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - - weak-lru-cache@1.2.2: - resolution: {integrity: sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==} - - web-cell@3.0.4: - resolution: {integrity: sha512-JGWgakfkiu84FiUQxuw66QfQpPyTXlTejCZ9MLm46c96ppAtYzDgWYbVXt8jIOV6jVwG7aZzqO4v/rnSBTAaKQ==} - peerDependencies: - '@webcomponents/webcomponentsjs': ^2.8 - core-js: ^3 - jsdom: '>=23.1' - - web-streams-polyfill@4.0.0: - resolution: {integrity: sha512-0zJXHRAYEjM2tUfZ2DiSOHAa2aw1tisnnhU3ufD57R8iefL+DcdJyRBRyJpG+NUimDgbTI/lH+gAE1PAvV3Cgw==} - engines: {node: '>= 8'} - - web-streams-polyfill@4.1.0: - resolution: {integrity: sha512-A7Jxrg7+eV+eZR/CIdESDnRGFb6/bcKukGvJBB5snI6cw3is1c2qamkYstC1bY1p08TyMRlN9eTMkxmnKJBPBw==} - engines: {node: '>= 8'} - - web-utility@4.4.3: - resolution: {integrity: sha512-QGnqRBbHOuvuhgMCJFoIHe9O47ZLEAkdjVdOPGq8jhzRlLNlU6UrLs7/Cco6XpLJOByMHP8UKc5rRt/vgmtVoA==} - peerDependencies: - typescript: '>=4.1' - - webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - - whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - - which-boxed-primitive@1.1.1: - resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} - engines: {node: '>= 0.4'} - - which-builtin-type@1.2.1: - resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} - engines: {node: '>= 0.4'} - - which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} - - which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} - engines: {node: '>= 0.4'} - - which-typed-array@1.1.18: - resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} - engines: {node: '>= 0.4'} - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} - - word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - - workbox-background-sync@7.3.0: - resolution: {integrity: sha512-PCSk3eK7Mxeuyatb22pcSx9dlgWNv3+M8PqPaYDokks8Y5/FX4soaOqj3yhAZr5k6Q5JWTOMYgaJBpbw11G9Eg==} - - workbox-broadcast-update@7.3.0: - resolution: {integrity: sha512-T9/F5VEdJVhwmrIAE+E/kq5at2OY6+OXXgOWQevnubal6sO92Gjo24v6dCVwQiclAF5NS3hlmsifRrpQzZCdUA==} - - workbox-build@7.3.0: - resolution: {integrity: sha512-JGL6vZTPlxnlqZRhR/K/msqg3wKP+m0wfEUVosK7gsYzSgeIxvZLi1ViJJzVL7CEeI8r7rGFV973RiEqkP3lWQ==} - engines: {node: '>=16.0.0'} - - workbox-cacheable-response@7.3.0: - resolution: {integrity: sha512-eAFERIg6J2LuyELhLlmeRcJFa5e16Mj8kL2yCDbhWE+HUun9skRQrGIFVUagqWj4DMaaPSMWfAolM7XZZxNmxA==} - - workbox-cli@7.3.0: - resolution: {integrity: sha512-dB2Yz4s3PWcb2daHLUQC3Q0P+WGeoOKR6+LQqZ7ciWOHMhaWj7sWmomELa4IMVlNat53EF8MXOpXx2Ggd1o7+w==} - engines: {node: '>=16.0.0'} - hasBin: true - - workbox-core@7.3.0: - resolution: {integrity: sha512-Z+mYrErfh4t3zi7NVTvOuACB0A/jA3bgxUN3PwtAVHvfEsZxV9Iju580VEETug3zYJRc0Dmii/aixI/Uxj8fmw==} - - workbox-expiration@7.3.0: - resolution: {integrity: sha512-lpnSSLp2BM+K6bgFCWc5bS1LR5pAwDWbcKt1iL87/eTSJRdLdAwGQznZE+1czLgn/X05YChsrEegTNxjM067vQ==} - - workbox-google-analytics@7.3.0: - resolution: {integrity: sha512-ii/tSfFdhjLHZ2BrYgFNTrb/yk04pw2hasgbM70jpZfLk0vdJAXgaiMAWsoE+wfJDNWoZmBYY0hMVI0v5wWDbg==} - - workbox-navigation-preload@7.3.0: - resolution: {integrity: sha512-fTJzogmFaTv4bShZ6aA7Bfj4Cewaq5rp30qcxl2iYM45YD79rKIhvzNHiFj1P+u5ZZldroqhASXwwoyusnr2cg==} - - workbox-precaching@7.3.0: - resolution: {integrity: sha512-ckp/3t0msgXclVAYaNndAGeAoWQUv7Rwc4fdhWL69CCAb2UHo3Cef0KIUctqfQj1p8h6aGyz3w8Cy3Ihq9OmIw==} - - workbox-range-requests@7.3.0: - resolution: {integrity: sha512-EyFmM1KpDzzAouNF3+EWa15yDEenwxoeXu9bgxOEYnFfCxns7eAxA9WSSaVd8kujFFt3eIbShNqa4hLQNFvmVQ==} - - workbox-recipes@7.3.0: - resolution: {integrity: sha512-BJro/MpuW35I/zjZQBcoxsctgeB+kyb2JAP5EB3EYzePg8wDGoQuUdyYQS+CheTb+GhqJeWmVs3QxLI8EBP1sg==} - - workbox-routing@7.3.0: - resolution: {integrity: sha512-ZUlysUVn5ZUzMOmQN3bqu+gK98vNfgX/gSTZ127izJg/pMMy4LryAthnYtjuqcjkN4HEAx1mdgxNiKJMZQM76A==} - - workbox-strategies@7.3.0: - resolution: {integrity: sha512-tmZydug+qzDFATwX7QiEL5Hdf7FrkhjaF9db1CbB39sDmEZJg3l9ayDvPxy8Y18C3Y66Nrr9kkN1f/RlkDgllg==} - - workbox-streams@7.3.0: - resolution: {integrity: sha512-SZnXucyg8x2Y61VGtDjKPO5EgPUG5NDn/v86WYHX+9ZqvAsGOytP0Jxp1bl663YUuMoXSAtsGLL+byHzEuMRpw==} - - workbox-sw@7.3.0: - resolution: {integrity: sha512-aCUyoAZU9IZtH05mn0ACUpyHzPs0lMeJimAYkQkBsOWiqaJLgusfDCR+yllkPkFRxWpZKF8vSvgHYeG7LwhlmA==} - - workbox-window@7.3.0: - resolution: {integrity: sha512-qW8PDy16OV1UBaUNGlTVcepzrlzyzNW/ZJvFQQs2j2TzGsg6IKjcpZC1RSquqQnTOafl5pCj5bGfAHlCjOOjdA==} - - wrap-ansi@9.0.0: - resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} - engines: {node: '>=18'} - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - write-file-atomic@3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - - xdg-basedir@4.0.0: - resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} - engines: {node: '>=8'} - - xdg-basedir@5.1.0: - resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} - engines: {node: '>=12'} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yaml@2.7.0: - resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} - engines: {node: '>= 14'} - hasBin: true - - yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} - - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - -snapshots: - - '@alloc/quick-lru@5.2.0': {} - - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - - '@apideck/better-ajv-errors@0.3.6(ajv@8.17.1)': - dependencies: - ajv: 8.17.1 - json-schema: 0.4.0 - jsonpointer: 5.0.1 - leven: 3.1.0 - - '@babel/code-frame@7.26.2': - dependencies: - '@babel/helper-validator-identifier': 7.25.9 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/compat-data@7.26.2': {} - - '@babel/core@7.26.0': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.2 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helpers': 7.26.0 - '@babel/parser': 7.26.2 - '@babel/template': 7.25.9 - '@babel/traverse': 7.25.9 - '@babel/types': 7.26.0 - convert-source-map: 2.0.0 - debug: 4.4.0 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.26.2': - dependencies: - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 3.0.2 - - '@babel/helper-annotate-as-pure@7.25.9': - dependencies: - '@babel/types': 7.26.0 - - '@babel/helper-builder-binary-assignment-operator-visitor@7.25.9': - dependencies: - '@babel/traverse': 7.25.9 - '@babel/types': 7.26.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-compilation-targets@7.25.9': - dependencies: - '@babel/compat-data': 7.26.2 - '@babel/helper-validator-option': 7.25.9 - browserslist: 4.24.2 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.25.9 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-regexp-features-plugin@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - regexpu-core: 6.1.1 - semver: 6.3.1 - - '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - debug: 4.4.0 - lodash.debounce: 4.0.8 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - - '@babel/helper-member-expression-to-functions@7.25.9': - dependencies: - '@babel/traverse': 7.25.9 - '@babel/types': 7.26.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.25.9': - dependencies: - '@babel/traverse': 7.25.9 - '@babel/types': 7.26.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/helper-optimise-call-expression@7.25.9': - dependencies: - '@babel/types': 7.26.0 - - '@babel/helper-plugin-utils@7.25.9': {} - - '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-wrap-function': 7.25.9 - '@babel/traverse': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/helper-simple-access@7.25.9': - dependencies: - '@babel/traverse': 7.25.9 - '@babel/types': 7.26.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-skip-transparent-expression-wrappers@7.25.9': - dependencies: - '@babel/traverse': 7.25.9 - '@babel/types': 7.26.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-string-parser@7.25.9': {} - - '@babel/helper-validator-identifier@7.25.9': {} - - '@babel/helper-validator-option@7.25.9': {} - - '@babel/helper-wrap-function@7.25.9': - dependencies: - '@babel/template': 7.25.9 - '@babel/traverse': 7.25.9 - '@babel/types': 7.26.0 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.26.0': - dependencies: - '@babel/template': 7.25.9 - '@babel/types': 7.26.0 - - '@babel/parser@7.26.2': - dependencies: - '@babel/types': 7.26.0 - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - - '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) - '@babel/traverse': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-block-scoped-functions@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) - '@babel/traverse': 7.25.9 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/template': 7.25.9 - - '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-exponentiation-operator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-commonjs@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-simple-access': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-nullish-coalescing-operator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) - - '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - regenerator-transform: 0.15.2 - - '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-typeof-symbol@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/preset-env@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/compat-data': 7.26.2 - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-validator-option': 7.25.9 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0) - '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.0) - '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-block-scoped-functions': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-exponentiation-operator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-typeof-symbol': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.0) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.0) - babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) - babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) - core-js-compat: 3.39.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/types': 7.26.0 - esutils: 2.0.3 - - '@babel/runtime@7.26.0': - dependencies: - regenerator-runtime: 0.14.1 - - '@babel/template@7.25.9': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 - - '@babel/traverse@7.25.9': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.2 - '@babel/parser': 7.26.2 - '@babel/template': 7.25.9 - '@babel/types': 7.26.0 - debug: 4.4.0 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.26.0': - dependencies: - '@babel/helper-string-parser': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - - '@cspell/cspell-bundled-dicts@8.17.5': - dependencies: - '@cspell/dict-ada': 4.1.0 - '@cspell/dict-al': 1.1.0 - '@cspell/dict-aws': 4.0.9 - '@cspell/dict-bash': 4.2.0 - '@cspell/dict-companies': 3.1.14 - '@cspell/dict-cpp': 6.0.5 - '@cspell/dict-cryptocurrencies': 5.0.4 - '@cspell/dict-csharp': 4.0.6 - '@cspell/dict-css': 4.0.17 - '@cspell/dict-dart': 2.3.0 - '@cspell/dict-data-science': 2.0.7 - '@cspell/dict-django': 4.1.4 - '@cspell/dict-docker': 1.1.12 - '@cspell/dict-dotnet': 5.0.9 - '@cspell/dict-elixir': 4.0.7 - '@cspell/dict-en-common-misspellings': 2.0.9 - '@cspell/dict-en-gb': 1.1.33 - '@cspell/dict-en_us': 4.3.34 - '@cspell/dict-filetypes': 3.0.11 - '@cspell/dict-flutter': 1.1.0 - '@cspell/dict-fonts': 4.0.4 - '@cspell/dict-fsharp': 1.1.0 - '@cspell/dict-fullstack': 3.2.6 - '@cspell/dict-gaming-terms': 1.1.0 - '@cspell/dict-git': 3.0.4 - '@cspell/dict-golang': 6.0.18 - '@cspell/dict-google': 1.0.8 - '@cspell/dict-haskell': 4.0.5 - '@cspell/dict-html': 4.0.11 - '@cspell/dict-html-symbol-entities': 4.0.3 - '@cspell/dict-java': 5.0.11 - '@cspell/dict-julia': 1.1.0 - '@cspell/dict-k8s': 1.0.10 - '@cspell/dict-kotlin': 1.1.0 - '@cspell/dict-latex': 4.0.3 - '@cspell/dict-lorem-ipsum': 4.0.4 - '@cspell/dict-lua': 4.0.7 - '@cspell/dict-makefile': 1.0.4 - '@cspell/dict-markdown': 2.0.9(@cspell/dict-css@4.0.17)(@cspell/dict-html-symbol-entities@4.0.3)(@cspell/dict-html@4.0.11)(@cspell/dict-typescript@3.2.0) - '@cspell/dict-monkeyc': 1.0.10 - '@cspell/dict-node': 5.0.6 - '@cspell/dict-npm': 5.1.29 - '@cspell/dict-php': 4.0.14 - '@cspell/dict-powershell': 5.0.14 - '@cspell/dict-public-licenses': 2.0.13 - '@cspell/dict-python': 4.2.15 - '@cspell/dict-r': 2.1.0 - '@cspell/dict-ruby': 5.0.7 - '@cspell/dict-rust': 4.0.11 - '@cspell/dict-scala': 5.0.7 - '@cspell/dict-shell': 1.1.0 - '@cspell/dict-software-terms': 4.2.5 - '@cspell/dict-sql': 2.2.0 - '@cspell/dict-svelte': 1.0.6 - '@cspell/dict-swift': 2.0.5 - '@cspell/dict-terraform': 1.1.1 - '@cspell/dict-typescript': 3.2.0 - '@cspell/dict-vue': 3.0.4 - - '@cspell/cspell-pipe@8.17.5': {} - - '@cspell/cspell-resolver@8.17.5': - dependencies: - global-directory: 4.0.1 - - '@cspell/cspell-service-bus@8.17.5': {} - - '@cspell/cspell-types@8.17.5': {} - - '@cspell/dict-ada@4.1.0': {} - - '@cspell/dict-al@1.1.0': {} - - '@cspell/dict-aws@4.0.9': {} - - '@cspell/dict-bash@4.2.0': - dependencies: - '@cspell/dict-shell': 1.1.0 - - '@cspell/dict-companies@3.1.14': {} - - '@cspell/dict-cpp@6.0.5': {} - - '@cspell/dict-cryptocurrencies@5.0.4': {} - - '@cspell/dict-csharp@4.0.6': {} - - '@cspell/dict-css@4.0.17': {} - - '@cspell/dict-dart@2.3.0': {} - - '@cspell/dict-data-science@2.0.7': {} - - '@cspell/dict-django@4.1.4': {} - - '@cspell/dict-docker@1.1.12': {} - - '@cspell/dict-dotnet@5.0.9': {} - - '@cspell/dict-elixir@4.0.7': {} - - '@cspell/dict-en-common-misspellings@2.0.9': {} - - '@cspell/dict-en-gb@1.1.33': {} - - '@cspell/dict-en_us@4.3.34': {} - - '@cspell/dict-filetypes@3.0.11': {} - - '@cspell/dict-flutter@1.1.0': {} - - '@cspell/dict-fonts@4.0.4': {} - - '@cspell/dict-fsharp@1.1.0': {} - - '@cspell/dict-fullstack@3.2.6': {} - - '@cspell/dict-gaming-terms@1.1.0': {} - - '@cspell/dict-git@3.0.4': {} - - '@cspell/dict-golang@6.0.18': {} - - '@cspell/dict-google@1.0.8': {} - - '@cspell/dict-haskell@4.0.5': {} - - '@cspell/dict-html-symbol-entities@4.0.3': {} - - '@cspell/dict-html@4.0.11': {} - - '@cspell/dict-java@5.0.11': {} - - '@cspell/dict-julia@1.1.0': {} - - '@cspell/dict-k8s@1.0.10': {} - - '@cspell/dict-kotlin@1.1.0': {} - - '@cspell/dict-latex@4.0.3': {} - - '@cspell/dict-lorem-ipsum@4.0.4': {} - - '@cspell/dict-lua@4.0.7': {} - - '@cspell/dict-makefile@1.0.4': {} - - '@cspell/dict-markdown@2.0.9(@cspell/dict-css@4.0.17)(@cspell/dict-html-symbol-entities@4.0.3)(@cspell/dict-html@4.0.11)(@cspell/dict-typescript@3.2.0)': - dependencies: - '@cspell/dict-css': 4.0.17 - '@cspell/dict-html': 4.0.11 - '@cspell/dict-html-symbol-entities': 4.0.3 - '@cspell/dict-typescript': 3.2.0 - - '@cspell/dict-monkeyc@1.0.10': {} - - '@cspell/dict-node@5.0.6': {} - - '@cspell/dict-npm@5.1.29': {} - - '@cspell/dict-php@4.0.14': {} - - '@cspell/dict-powershell@5.0.14': {} - - '@cspell/dict-public-licenses@2.0.13': {} - - '@cspell/dict-python@4.2.15': - dependencies: - '@cspell/dict-data-science': 2.0.7 - - '@cspell/dict-r@2.1.0': {} - - '@cspell/dict-ruby@5.0.7': {} - - '@cspell/dict-rust@4.0.11': {} - - '@cspell/dict-scala@5.0.7': {} - - '@cspell/dict-shell@1.1.0': {} - - '@cspell/dict-software-terms@4.2.5': {} - - '@cspell/dict-sql@2.2.0': {} - - '@cspell/dict-svelte@1.0.6': {} - - '@cspell/dict-swift@2.0.5': {} - - '@cspell/dict-terraform@1.1.1': {} - - '@cspell/dict-typescript@3.2.0': {} - - '@cspell/dict-vue@3.0.4': {} - - '@cspell/dynamic-import@8.17.5': - dependencies: - '@cspell/url': 8.17.5 - import-meta-resolve: 4.1.0 - - '@cspell/eslint-plugin@8.17.5(eslint@9.22.0(jiti@2.4.2))': - dependencies: - '@cspell/cspell-types': 8.17.5 - '@cspell/url': 8.17.5 - cspell-lib: 8.17.5 - eslint: 9.22.0(jiti@2.4.2) - synckit: 0.9.2 - - '@cspell/filetypes@8.17.5': {} - - '@cspell/strong-weak-map@8.17.5': {} - - '@cspell/url@8.17.5': {} - - '@eslint-community/eslint-utils@4.4.1(eslint@9.22.0(jiti@2.4.2))': - dependencies: - eslint: 9.22.0(jiti@2.4.2) - eslint-visitor-keys: 3.4.3 - - '@eslint-community/regexpp@4.12.1': {} - - '@eslint/config-array@0.19.2': - dependencies: - '@eslint/object-schema': 2.1.6 - debug: 4.4.0 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - - '@eslint/config-helpers@0.1.0': {} - - '@eslint/core@0.12.0': - dependencies: - '@types/json-schema': 7.0.15 - - '@eslint/eslintrc@3.3.0': - dependencies: - ajv: 6.12.6 - debug: 4.4.0 - espree: 10.3.0 - globals: 14.0.0 - ignore: 5.3.2 - import-fresh: 3.3.1 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - '@eslint/js@9.22.0': {} - - '@eslint/object-schema@2.1.6': {} - - '@eslint/plugin-kit@0.2.7': - dependencies: - '@eslint/core': 0.12.0 - levn: 0.4.1 - - '@floating-ui/utils@0.2.8': {} - - '@html-eslint/eslint-plugin@0.35.2': - dependencies: - '@html-eslint/template-parser': 0.35.2 - '@html-eslint/template-syntax-parser': 0.35.2 - - '@html-eslint/parser@0.35.2': - dependencies: - '@html-eslint/template-syntax-parser': 0.35.2 - es-html-parser: 0.1.1 - - '@html-eslint/template-parser@0.35.2': - dependencies: - es-html-parser: 0.1.1 - - '@html-eslint/template-syntax-parser@0.35.2': {} - - '@humanfs/core@0.19.1': {} - - '@humanfs/node@0.16.6': - dependencies: - '@humanfs/core': 0.19.1 - '@humanwhocodes/retry': 0.3.1 - - '@humanwhocodes/module-importer@1.0.1': {} - - '@humanwhocodes/retry@0.3.1': {} - - '@humanwhocodes/retry@0.4.2': {} - - '@jridgewell/gen-mapping@0.3.5': - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping': 0.3.25 - - '@jridgewell/resolve-uri@3.1.2': {} - - '@jridgewell/set-array@1.2.1': {} - - '@jridgewell/source-map@0.3.6': - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - - '@jridgewell/sourcemap-codec@1.5.0': {} - - '@jridgewell/trace-mapping@0.3.25': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 - - '@lezer/common@1.2.3': {} - - '@lezer/lr@1.4.2': - dependencies: - '@lezer/common': 1.2.3 - - '@lit-labs/ssr-dom-shim@1.2.1': {} - - '@lit/localize@0.12.2': - dependencies: - lit: 3.2.1 - - '@lit/reactive-element@2.0.4': - dependencies: - '@lit-labs/ssr-dom-shim': 1.2.1 - - '@lmdb/lmdb-darwin-arm64@2.8.5': - optional: true - - '@lmdb/lmdb-darwin-x64@2.8.5': - optional: true - - '@lmdb/lmdb-linux-arm64@2.8.5': - optional: true - - '@lmdb/lmdb-linux-arm@2.8.5': - optional: true - - '@lmdb/lmdb-linux-x64@2.8.5': - optional: true - - '@lmdb/lmdb-win32-x64@2.8.5': - optional: true - - '@material/material-color-utilities@0.3.0': {} - - '@mdui/jq@3.0.2': - dependencies: - ssr-window: 4.0.2 - tslib: 2.8.1 - - '@mdui/shared@1.0.7': - dependencies: - '@lit/reactive-element': 2.0.4 - '@mdui/jq': 3.0.2 - lit: 3.2.1 - ssr-window: 4.0.2 - tslib: 2.8.1 - - '@mischnic/json-sourcemap@0.1.1': - dependencies: - '@lezer/common': 1.2.3 - '@lezer/lr': 1.4.2 - json5: 2.2.3 - - '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3': - optional: true - - '@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.3': - optional: true - - '@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.3': - optional: true - - '@msgpackr-extract/msgpackr-extract-linux-arm@3.0.3': - optional: true - - '@msgpackr-extract/msgpackr-extract-linux-x64@3.0.3': - optional: true - - '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3': - optional: true - - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.19.1 - - '@parcel/bundler-default@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/diagnostic': 2.13.3 - '@parcel/graph': 3.3.3 - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/rust': 2.13.3 - '@parcel/utils': 2.13.3 - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/cache@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/core': 2.13.3(@swc/helpers@0.5.15) - '@parcel/fs': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/logger': 2.13.3 - '@parcel/utils': 2.13.3 - lmdb: 2.8.5 - - '@parcel/codeframe@2.13.3': - dependencies: - chalk: 4.1.2 - - '@parcel/compressor-raw@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/config-default@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))(@swc/helpers@0.5.15)(postcss@8.5.3)(terser@5.36.0)(typescript@5.8.2)': - dependencies: - '@parcel/bundler-default': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/compressor-raw': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/core': 2.13.3(@swc/helpers@0.5.15) - '@parcel/namer-default': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/optimizer-css': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/optimizer-htmlnano': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))(postcss@8.5.3)(terser@5.36.0)(typescript@5.8.2) - '@parcel/optimizer-image': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/optimizer-svgo': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/optimizer-swc': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))(@swc/helpers@0.5.15) - '@parcel/packager-css': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/packager-html': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/packager-js': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/packager-raw': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/packager-svg': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/packager-wasm': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/reporter-dev-server': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/resolver-default': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/runtime-browser-hmr': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/runtime-js': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/runtime-react-refresh': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/runtime-service-worker': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/transformer-babel': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/transformer-css': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/transformer-html': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/transformer-image': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/transformer-js': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/transformer-json': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/transformer-postcss': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/transformer-posthtml': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/transformer-raw': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/transformer-react-refresh-wrap': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/transformer-svg': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - transitivePeerDependencies: - - '@swc/helpers' - - cssnano - - postcss - - purgecss - - relateurl - - srcset - - svgo - - terser - - typescript - - uncss - - '@parcel/core@2.13.3(@swc/helpers@0.5.15)': - dependencies: - '@mischnic/json-sourcemap': 0.1.1 - '@parcel/cache': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/diagnostic': 2.13.3 - '@parcel/events': 2.13.3 - '@parcel/feature-flags': 2.13.3 - '@parcel/fs': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/graph': 3.3.3 - '@parcel/logger': 2.13.3 - '@parcel/package-manager': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))(@swc/helpers@0.5.15) - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/profiler': 2.13.3 - '@parcel/rust': 2.13.3 - '@parcel/source-map': 2.1.1 - '@parcel/types': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - '@parcel/workers': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - base-x: 3.0.10 - browserslist: 4.24.2 - clone: 2.1.2 - dotenv: 16.4.5 - dotenv-expand: 11.0.7 - json5: 2.2.3 - msgpackr: 1.11.2 - nullthrows: 1.1.1 - semver: 7.6.3 - transitivePeerDependencies: - - '@swc/helpers' - - '@parcel/diagnostic@2.13.3': - dependencies: - '@mischnic/json-sourcemap': 0.1.1 - nullthrows: 1.1.1 - - '@parcel/events@2.13.3': {} - - '@parcel/feature-flags@2.13.3': {} - - '@parcel/fs@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/core': 2.13.3(@swc/helpers@0.5.15) - '@parcel/feature-flags': 2.13.3 - '@parcel/rust': 2.13.3 - '@parcel/types-internal': 2.13.3 - '@parcel/utils': 2.13.3 - '@parcel/watcher': 2.5.0 - '@parcel/workers': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - - '@parcel/graph@3.3.3': - dependencies: - '@parcel/feature-flags': 2.13.3 - nullthrows: 1.1.1 - - '@parcel/logger@2.13.3': - dependencies: - '@parcel/diagnostic': 2.13.3 - '@parcel/events': 2.13.3 - - '@parcel/markdown-ansi@2.13.3': - dependencies: - chalk: 4.1.2 - - '@parcel/namer-default@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/diagnostic': 2.13.3 - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/node-resolver-core@3.4.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@mischnic/json-sourcemap': 0.1.1 - '@parcel/diagnostic': 2.13.3 - '@parcel/fs': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/rust': 2.13.3 - '@parcel/utils': 2.13.3 - nullthrows: 1.1.1 - semver: 7.6.3 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/optimizer-css@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/diagnostic': 2.13.3 - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/source-map': 2.1.1 - '@parcel/utils': 2.13.3 - browserslist: 4.24.2 - lightningcss: 1.29.1 - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/optimizer-htmlnano@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))(postcss@8.5.3)(terser@5.36.0)(typescript@5.8.2)': - dependencies: - '@parcel/diagnostic': 2.13.3 - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - htmlnano: 2.1.1(postcss@8.5.3)(terser@5.36.0)(typescript@5.8.2) - nullthrows: 1.1.1 - posthtml: 0.16.6 - transitivePeerDependencies: - - '@parcel/core' - - cssnano - - postcss - - purgecss - - relateurl - - srcset - - svgo - - terser - - typescript - - uncss - - '@parcel/optimizer-image@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/core': 2.13.3(@swc/helpers@0.5.15) - '@parcel/diagnostic': 2.13.3 - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/rust': 2.13.3 - '@parcel/utils': 2.13.3 - '@parcel/workers': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - - '@parcel/optimizer-svgo@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/diagnostic': 2.13.3 - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/optimizer-swc@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))(@swc/helpers@0.5.15)': - dependencies: - '@parcel/diagnostic': 2.13.3 - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/source-map': 2.1.1 - '@parcel/utils': 2.13.3 - '@swc/core': 1.9.2(@swc/helpers@0.5.15) - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@parcel/core' - - '@swc/helpers' - - '@parcel/package-manager@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))(@swc/helpers@0.5.15)': - dependencies: - '@parcel/core': 2.13.3(@swc/helpers@0.5.15) - '@parcel/diagnostic': 2.13.3 - '@parcel/fs': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/logger': 2.13.3 - '@parcel/node-resolver-core': 3.4.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/types': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - '@parcel/workers': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@swc/core': 1.9.2(@swc/helpers@0.5.15) - semver: 7.6.3 - transitivePeerDependencies: - - '@swc/helpers' - - '@parcel/packager-css@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/diagnostic': 2.13.3 - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/source-map': 2.1.1 - '@parcel/utils': 2.13.3 - lightningcss: 1.29.1 - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/packager-html@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/types': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - nullthrows: 1.1.1 - posthtml: 0.16.6 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/packager-js@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/diagnostic': 2.13.3 - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/rust': 2.13.3 - '@parcel/source-map': 2.1.1 - '@parcel/types': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - globals: 13.24.0 - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/packager-raw-url@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/packager-raw@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/packager-svg@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/types': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - posthtml: 0.16.6 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/packager-wasm@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/plugin@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/types': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/profiler@2.13.3': - dependencies: - '@parcel/diagnostic': 2.13.3 - '@parcel/events': 2.13.3 - '@parcel/types-internal': 2.13.3 - chrome-trace-event: 1.0.4 - - '@parcel/reporter-cli@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/types': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - chalk: 4.1.2 - term-size: 2.2.1 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/reporter-dev-server@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/reporter-tracer@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - chrome-trace-event: 1.0.4 - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/resolver-default@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/node-resolver-core': 3.4.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/runtime-browser-hmr@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/runtime-js@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/diagnostic': 2.13.3 - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/runtime-react-refresh@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - react-error-overlay: 6.0.9 - react-refresh: 0.14.2 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/runtime-service-worker@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/rust@2.13.3': {} - - '@parcel/source-map@2.1.1': - dependencies: - detect-libc: 1.0.3 - - '@parcel/transformer-babel@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/diagnostic': 2.13.3 - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/source-map': 2.1.1 - '@parcel/utils': 2.13.3 - browserslist: 4.24.2 - json5: 2.2.3 - nullthrows: 1.1.1 - semver: 7.6.3 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/transformer-css@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/diagnostic': 2.13.3 - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/source-map': 2.1.1 - '@parcel/utils': 2.13.3 - browserslist: 4.24.2 - lightningcss: 1.29.1 - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/transformer-html@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/diagnostic': 2.13.3 - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/rust': 2.13.3 - nullthrows: 1.1.1 - posthtml: 0.16.6 - posthtml-parser: 0.12.1 - posthtml-render: 3.0.0 - semver: 7.6.3 - srcset: 4.0.0 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/transformer-image@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/core': 2.13.3(@swc/helpers@0.5.15) - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - '@parcel/workers': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - nullthrows: 1.1.1 - - '@parcel/transformer-js@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/core': 2.13.3(@swc/helpers@0.5.15) - '@parcel/diagnostic': 2.13.3 - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/rust': 2.13.3 - '@parcel/source-map': 2.1.1 - '@parcel/utils': 2.13.3 - '@parcel/workers': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@swc/helpers': 0.5.15 - browserslist: 4.24.2 - nullthrows: 1.1.1 - regenerator-runtime: 0.14.1 - semver: 7.6.3 - - '@parcel/transformer-json@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - json5: 2.2.3 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/transformer-postcss@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/diagnostic': 2.13.3 - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/rust': 2.13.3 - '@parcel/utils': 2.13.3 - clone: 2.1.2 - nullthrows: 1.1.1 - postcss-value-parser: 4.2.0 - semver: 7.6.3 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/transformer-posthtml@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - nullthrows: 1.1.1 - posthtml: 0.16.6 - posthtml-parser: 0.12.1 - posthtml-render: 3.0.0 - semver: 7.6.3 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/transformer-raw@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/transformer-react-refresh-wrap@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - react-refresh: 0.14.2 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/transformer-svg@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/diagnostic': 2.13.3 - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/rust': 2.13.3 - nullthrows: 1.1.1 - posthtml: 0.16.6 - posthtml-parser: 0.12.1 - posthtml-render: 3.0.0 - semver: 7.6.3 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/transformer-typescript-tsc@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))(typescript@5.8.2)': - dependencies: - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/source-map': 2.1.1 - '@parcel/ts-utils': 2.13.3(typescript@5.8.2) - typescript: 5.8.2 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/transformer-webmanifest@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@mischnic/json-sourcemap': 0.1.1 - '@parcel/diagnostic': 2.13.3 - '@parcel/plugin': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/ts-utils@2.13.3(typescript@5.8.2)': - dependencies: - nullthrows: 1.1.1 - typescript: 5.8.2 - - '@parcel/types-internal@2.13.3': - dependencies: - '@parcel/diagnostic': 2.13.3 - '@parcel/feature-flags': 2.13.3 - '@parcel/source-map': 2.1.1 - utility-types: 3.11.0 - - '@parcel/types@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/types-internal': 2.13.3 - '@parcel/workers': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - transitivePeerDependencies: - - '@parcel/core' - - '@parcel/utils@2.13.3': - dependencies: - '@parcel/codeframe': 2.13.3 - '@parcel/diagnostic': 2.13.3 - '@parcel/logger': 2.13.3 - '@parcel/markdown-ansi': 2.13.3 - '@parcel/rust': 2.13.3 - '@parcel/source-map': 2.1.1 - chalk: 4.1.2 - nullthrows: 1.1.1 - - '@parcel/watcher-android-arm64@2.5.0': - optional: true - - '@parcel/watcher-darwin-arm64@2.5.0': - optional: true - - '@parcel/watcher-darwin-x64@2.5.0': - optional: true - - '@parcel/watcher-freebsd-x64@2.5.0': - optional: true - - '@parcel/watcher-linux-arm-glibc@2.5.0': - optional: true - - '@parcel/watcher-linux-arm-musl@2.5.0': - optional: true - - '@parcel/watcher-linux-arm64-glibc@2.5.0': - optional: true - - '@parcel/watcher-linux-arm64-musl@2.5.0': - optional: true - - '@parcel/watcher-linux-x64-glibc@2.5.0': - optional: true - - '@parcel/watcher-linux-x64-musl@2.5.0': - optional: true - - '@parcel/watcher-win32-arm64@2.5.0': - optional: true - - '@parcel/watcher-win32-ia32@2.5.0': - optional: true - - '@parcel/watcher-win32-x64@2.5.0': - optional: true - - '@parcel/watcher@2.5.0': - dependencies: - detect-libc: 1.0.3 - is-glob: 4.0.3 - micromatch: 4.0.8 - node-addon-api: 7.1.1 - optionalDependencies: - '@parcel/watcher-android-arm64': 2.5.0 - '@parcel/watcher-darwin-arm64': 2.5.0 - '@parcel/watcher-darwin-x64': 2.5.0 - '@parcel/watcher-freebsd-x64': 2.5.0 - '@parcel/watcher-linux-arm-glibc': 2.5.0 - '@parcel/watcher-linux-arm-musl': 2.5.0 - '@parcel/watcher-linux-arm64-glibc': 2.5.0 - '@parcel/watcher-linux-arm64-musl': 2.5.0 - '@parcel/watcher-linux-x64-glibc': 2.5.0 - '@parcel/watcher-linux-x64-musl': 2.5.0 - '@parcel/watcher-win32-arm64': 2.5.0 - '@parcel/watcher-win32-ia32': 2.5.0 - '@parcel/watcher-win32-x64': 2.5.0 - - '@parcel/workers@2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))': - dependencies: - '@parcel/core': 2.13.3(@swc/helpers@0.5.15) - '@parcel/diagnostic': 2.13.3 - '@parcel/logger': 2.13.3 - '@parcel/profiler': 2.13.3 - '@parcel/types-internal': 2.13.3 - '@parcel/utils': 2.13.3 - nullthrows: 1.1.1 - - '@pkgr/core@0.1.1': {} - - '@rollup/plugin-babel@5.3.1(@babel/core@7.26.0)(rollup@2.79.2)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@rollup/pluginutils': 3.1.0(rollup@2.79.2) - rollup: 2.79.2 - transitivePeerDependencies: - - supports-color - - '@rollup/plugin-node-resolve@15.3.0(rollup@2.79.2)': - dependencies: - '@rollup/pluginutils': 5.1.3(rollup@2.79.2) - '@types/resolve': 1.20.2 - deepmerge: 4.3.1 - is-module: 1.0.0 - resolve: 1.22.8 - optionalDependencies: - rollup: 2.79.2 - - '@rollup/plugin-replace@2.4.2(rollup@2.79.2)': - dependencies: - '@rollup/pluginutils': 3.1.0(rollup@2.79.2) - magic-string: 0.25.9 - rollup: 2.79.2 - - '@rollup/plugin-terser@0.4.4(rollup@2.79.2)': - dependencies: - serialize-javascript: 6.0.2 - smob: 1.5.0 - terser: 5.36.0 - optionalDependencies: - rollup: 2.79.2 - - '@rollup/pluginutils@3.1.0(rollup@2.79.2)': - dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 - picomatch: 2.3.1 - rollup: 2.79.2 - - '@rollup/pluginutils@5.1.3(rollup@2.79.2)': - dependencies: - '@types/estree': 1.0.6 - estree-walker: 2.0.2 - picomatch: 4.0.2 - optionalDependencies: - rollup: 2.79.2 - - '@sindresorhus/is@0.14.0': {} - - '@stylistic/eslint-plugin@4.2.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)': - dependencies: - '@typescript-eslint/utils': 8.26.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) - eslint: 9.22.0(jiti@2.4.2) - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 - estraverse: 5.3.0 - picomatch: 4.0.2 - transitivePeerDependencies: - - supports-color - - typescript - - '@surma/rollup-plugin-off-main-thread@2.2.3': - dependencies: - ejs: 3.1.10 - json5: 2.2.3 - magic-string: 0.25.9 - string.prototype.matchall: 4.0.11 - - '@swc/core-darwin-arm64@1.9.2': - optional: true - - '@swc/core-darwin-x64@1.9.2': - optional: true - - '@swc/core-linux-arm-gnueabihf@1.9.2': - optional: true - - '@swc/core-linux-arm64-gnu@1.9.2': - optional: true - - '@swc/core-linux-arm64-musl@1.9.2': - optional: true - - '@swc/core-linux-x64-gnu@1.9.2': - optional: true - - '@swc/core-linux-x64-musl@1.9.2': - optional: true - - '@swc/core-win32-arm64-msvc@1.9.2': - optional: true - - '@swc/core-win32-ia32-msvc@1.9.2': - optional: true - - '@swc/core-win32-x64-msvc@1.9.2': - optional: true - - '@swc/core@1.9.2(@swc/helpers@0.5.15)': - dependencies: - '@swc/counter': 0.1.3 - '@swc/types': 0.1.15 - optionalDependencies: - '@swc/core-darwin-arm64': 1.9.2 - '@swc/core-darwin-x64': 1.9.2 - '@swc/core-linux-arm-gnueabihf': 1.9.2 - '@swc/core-linux-arm64-gnu': 1.9.2 - '@swc/core-linux-arm64-musl': 1.9.2 - '@swc/core-linux-x64-gnu': 1.9.2 - '@swc/core-linux-x64-musl': 1.9.2 - '@swc/core-win32-arm64-msvc': 1.9.2 - '@swc/core-win32-ia32-msvc': 1.9.2 - '@swc/core-win32-x64-msvc': 1.9.2 - '@swc/helpers': 0.5.15 - - '@swc/counter@0.1.3': {} - - '@swc/helpers@0.5.15': - dependencies: - tslib: 2.8.1 - - '@swc/types@0.1.15': - dependencies: - '@swc/counter': 0.1.3 - - '@szmarczak/http-timer@1.1.2': - dependencies: - defer-to-connect: 1.1.3 - - '@tailwindcss/node@4.0.14': - dependencies: - enhanced-resolve: 5.18.1 - jiti: 2.4.2 - tailwindcss: 4.0.14 - - '@tailwindcss/oxide-android-arm64@4.0.14': - optional: true - - '@tailwindcss/oxide-darwin-arm64@4.0.14': - optional: true - - '@tailwindcss/oxide-darwin-x64@4.0.14': - optional: true - - '@tailwindcss/oxide-freebsd-x64@4.0.14': - optional: true - - '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.14': - optional: true - - '@tailwindcss/oxide-linux-arm64-gnu@4.0.14': - optional: true - - '@tailwindcss/oxide-linux-arm64-musl@4.0.14': - optional: true - - '@tailwindcss/oxide-linux-x64-gnu@4.0.14': - optional: true - - '@tailwindcss/oxide-linux-x64-musl@4.0.14': - optional: true - - '@tailwindcss/oxide-win32-arm64-msvc@4.0.14': - optional: true - - '@tailwindcss/oxide-win32-x64-msvc@4.0.14': - optional: true - - '@tailwindcss/oxide@4.0.14': - optionalDependencies: - '@tailwindcss/oxide-android-arm64': 4.0.14 - '@tailwindcss/oxide-darwin-arm64': 4.0.14 - '@tailwindcss/oxide-darwin-x64': 4.0.14 - '@tailwindcss/oxide-freebsd-x64': 4.0.14 - '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.14 - '@tailwindcss/oxide-linux-arm64-gnu': 4.0.14 - '@tailwindcss/oxide-linux-arm64-musl': 4.0.14 - '@tailwindcss/oxide-linux-x64-gnu': 4.0.14 - '@tailwindcss/oxide-linux-x64-musl': 4.0.14 - '@tailwindcss/oxide-win32-arm64-msvc': 4.0.14 - '@tailwindcss/oxide-win32-x64-msvc': 4.0.14 - - '@tailwindcss/postcss@4.0.14': - dependencies: - '@alloc/quick-lru': 5.2.0 - '@tailwindcss/node': 4.0.14 - '@tailwindcss/oxide': 4.0.14 - lightningcss: 1.29.2 - postcss: 8.5.3 - tailwindcss: 4.0.14 - - '@types/eslint-config-prettier@6.11.3': {} - - '@types/estree@0.0.39': {} - - '@types/estree@1.0.6': {} - - '@types/json-schema@7.0.15': {} - - '@types/keyv@3.1.4': - dependencies: - '@types/node': 22.13.10 - - '@types/minimist@1.2.5': {} - - '@types/node@22.13.10': - dependencies: - undici-types: 6.20.0 - - '@types/normalize-package-data@2.4.4': {} - - '@types/resolve@1.20.2': {} - - '@types/responselike@1.0.3': - dependencies: - '@types/node': 22.13.10 - - '@types/trusted-types@2.0.7': {} - - '@typescript-eslint/eslint-plugin@8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)': - dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) - '@typescript-eslint/scope-manager': 8.26.1 - '@typescript-eslint/type-utils': 8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) - '@typescript-eslint/utils': 8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) - '@typescript-eslint/visitor-keys': 8.26.1 - eslint: 9.22.0(jiti@2.4.2) - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare: 1.4.0 - ts-api-utils: 2.0.1(typescript@5.8.2) - typescript: 5.8.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)': - dependencies: - '@typescript-eslint/scope-manager': 8.26.1 - '@typescript-eslint/types': 8.26.1 - '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.2) - '@typescript-eslint/visitor-keys': 8.26.1 - debug: 4.4.0 - eslint: 9.22.0(jiti@2.4.2) - typescript: 5.8.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/scope-manager@8.26.0': - dependencies: - '@typescript-eslint/types': 8.26.0 - '@typescript-eslint/visitor-keys': 8.26.0 - - '@typescript-eslint/scope-manager@8.26.1': - dependencies: - '@typescript-eslint/types': 8.26.1 - '@typescript-eslint/visitor-keys': 8.26.1 - - '@typescript-eslint/type-utils@8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)': - dependencies: - '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.2) - '@typescript-eslint/utils': 8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) - debug: 4.4.0 - eslint: 9.22.0(jiti@2.4.2) - ts-api-utils: 2.0.1(typescript@5.8.2) - typescript: 5.8.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/types@8.26.0': {} - - '@typescript-eslint/types@8.26.1': {} - - '@typescript-eslint/typescript-estree@8.26.0(typescript@5.8.2)': - dependencies: - '@typescript-eslint/types': 8.26.0 - '@typescript-eslint/visitor-keys': 8.26.0 - debug: 4.4.0 - fast-glob: 3.3.3 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.3 - ts-api-utils: 2.0.1(typescript@5.8.2) - typescript: 5.8.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/typescript-estree@8.26.1(typescript@5.8.2)': - dependencies: - '@typescript-eslint/types': 8.26.1 - '@typescript-eslint/visitor-keys': 8.26.1 - debug: 4.4.0 - fast-glob: 3.3.3 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.3 - ts-api-utils: 2.0.1(typescript@5.8.2) - typescript: 5.8.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@8.26.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)': - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0(jiti@2.4.2)) - '@typescript-eslint/scope-manager': 8.26.0 - '@typescript-eslint/types': 8.26.0 - '@typescript-eslint/typescript-estree': 8.26.0(typescript@5.8.2) - eslint: 9.22.0(jiti@2.4.2) - typescript: 5.8.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)': - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0(jiti@2.4.2)) - '@typescript-eslint/scope-manager': 8.26.1 - '@typescript-eslint/types': 8.26.1 - '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.2) - eslint: 9.22.0(jiti@2.4.2) - typescript: 5.8.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/visitor-keys@8.26.0': - dependencies: - '@typescript-eslint/types': 8.26.0 - eslint-visitor-keys: 4.2.0 - - '@typescript-eslint/visitor-keys@8.26.1': - dependencies: - '@typescript-eslint/types': 8.26.1 - eslint-visitor-keys: 4.2.0 - - acorn-jsx@5.3.2(acorn@8.14.0): - dependencies: - acorn: 8.14.0 - - acorn@8.14.0: {} - - ajv@6.12.6: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - - ajv@8.17.1: - dependencies: - fast-deep-equal: 3.1.3 - fast-uri: 3.0.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - - ansi-align@3.0.1: - dependencies: - string-width: 4.2.3 - - ansi-escapes@4.3.2: - dependencies: - type-fest: 0.21.3 - - ansi-escapes@7.0.0: - dependencies: - environment: 1.1.0 - - ansi-regex@5.0.1: {} - - ansi-regex@6.1.0: {} - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - ansi-styles@6.2.1: {} - - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - - argparse@2.0.1: {} - - array-buffer-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.4 - - array-buffer-byte-length@1.0.2: - dependencies: - call-bound: 1.0.4 - is-array-buffer: 3.0.5 - - array-includes@3.1.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-object-atoms: 1.0.0 - get-intrinsic: 1.2.4 - is-string: 1.0.7 - - array-timsort@1.0.3: {} - - array.prototype.findlast@1.2.5: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-shim-unscopables: 1.1.0 - - array.prototype.flat@1.3.3: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-shim-unscopables: 1.1.0 - - array.prototype.flatmap@1.3.3: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-shim-unscopables: 1.1.0 - - array.prototype.tosorted@1.1.4: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-errors: 1.3.0 - es-shim-unscopables: 1.1.0 - - arraybuffer.prototype.slice@1.0.3: - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 - - arraybuffer.prototype.slice@1.0.4: - dependencies: - array-buffer-byte-length: 1.0.2 - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.23.9 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - is-array-buffer: 3.0.5 - - arrify@1.0.1: {} - - async-function@1.0.0: {} - - async@3.2.6: {} - - at-least-node@1.0.0: {} - - available-typed-arrays@1.0.7: - dependencies: - possible-typed-array-names: 1.0.0 - - babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0): - dependencies: - '@babel/compat-data': 7.26.2 - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.0): - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) - core-js-compat: 3.39.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.0): - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color - - balanced-match@1.0.2: {} - - base-x@3.0.10: - dependencies: - safe-buffer: 5.2.1 - - base64-js@1.5.1: {} - - binary-extensions@2.3.0: {} - - bl@4.1.0: - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - - boxen@4.2.0: - dependencies: - ansi-align: 3.0.1 - camelcase: 5.3.1 - chalk: 3.0.0 - cli-boxes: 2.2.1 - string-width: 4.2.3 - term-size: 2.2.1 - type-fest: 0.8.1 - widest-line: 3.1.0 - - brace-expansion@1.1.11: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - brace-expansion@2.0.1: - dependencies: - balanced-match: 1.0.2 - - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - - browser-unhandled-rejection@1.0.2: {} - - browserslist@4.24.2: - dependencies: - caniuse-lite: 1.0.30001680 - electron-to-chromium: 1.5.59 - node-releases: 2.0.18 - update-browserslist-db: 1.1.1(browserslist@4.24.2) - - buffer-from@1.1.2: {} - - buffer@5.7.1: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - cacheable-request@6.1.0: - dependencies: - clone-response: 1.0.3 - get-stream: 5.2.0 - http-cache-semantics: 4.1.1 - keyv: 3.1.0 - lowercase-keys: 2.0.0 - normalize-url: 4.5.1 - responselike: 1.0.2 - - call-bind-apply-helpers@1.0.2: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - - call-bind@1.0.7: - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - set-function-length: 1.2.2 - - call-bind@1.0.8: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.0 - get-intrinsic: 1.3.0 - set-function-length: 1.2.2 - - call-bound@1.0.4: - dependencies: - call-bind-apply-helpers: 1.0.2 - get-intrinsic: 1.3.0 - - callsites@3.1.0: {} - - camelcase-keys@6.2.2: - dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 - quick-lru: 4.0.1 - - camelcase@5.3.1: {} - - caniuse-lite@1.0.30001680: {} - - cell-router@3.0.3(typescript@5.8.2): - dependencies: - '@swc/helpers': 0.5.15 - dom-renderer: 2.6.2(typescript@5.8.2) - mobx: 6.13.6 - regenerator-runtime: 0.14.1 - urlpattern-polyfill: 10.0.0 - web-cell: 3.0.4(typescript@5.8.2) - web-utility: 4.4.3(typescript@5.8.2) - transitivePeerDependencies: - - '@webcomponents/webcomponentsjs' - - core-js - - happy-dom - - jsdom - - typescript - - chalk@3.0.0: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - chalk@5.4.1: {} - - chardet@0.7.0: {} - - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - - chrome-trace-event@1.0.4: {} - - ci-info@2.0.0: {} - - classcat@5.0.5: {} - - clear-module@4.1.2: - dependencies: - parent-module: 2.0.0 - resolve-from: 5.0.0 - - cli-boxes@2.2.1: {} - - cli-cursor@3.1.0: - dependencies: - restore-cursor: 3.1.0 - - cli-cursor@5.0.0: - dependencies: - restore-cursor: 5.1.0 - - cli-spinners@2.9.2: {} - - cli-truncate@4.0.0: - dependencies: - slice-ansi: 5.0.0 - string-width: 7.2.0 - - cli-width@3.0.0: {} - - clone-response@1.0.3: - dependencies: - mimic-response: 1.0.1 - - clone@1.0.4: {} - - clone@2.1.2: {} - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.4: {} - - colorette@2.0.20: {} - - commander@12.1.0: {} - - commander@13.1.0: {} - - commander@2.20.3: {} - - comment-json@4.2.5: - dependencies: - array-timsort: 1.0.3 - core-util-is: 1.0.3 - esprima: 4.0.1 - has-own-prop: 2.0.0 - repeat-string: 1.6.1 - - common-tags@1.8.2: {} - - concat-map@0.0.1: {} - - configstore@5.0.1: - dependencies: - dot-prop: 5.3.0 - graceful-fs: 4.2.11 - make-dir: 3.1.0 - unique-string: 2.0.0 - write-file-atomic: 3.0.3 - xdg-basedir: 4.0.0 - - convert-source-map@2.0.0: {} - - core-js-compat@3.39.0: - dependencies: - browserslist: 4.24.2 - - core-util-is@1.0.3: {} - - cosmiconfig@9.0.0(typescript@5.8.2): - dependencies: - env-paths: 2.2.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - optionalDependencies: - typescript: 5.8.2 - - cross-env@7.0.3: - dependencies: - cross-spawn: 7.0.6 - - cross-spawn@7.0.6: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - crypto-random-string@2.0.0: {} - - cspell-config-lib@8.17.5: - dependencies: - '@cspell/cspell-types': 8.17.5 - comment-json: 4.2.5 - yaml: 2.7.0 - - cspell-dictionary@8.17.5: - dependencies: - '@cspell/cspell-pipe': 8.17.5 - '@cspell/cspell-types': 8.17.5 - cspell-trie-lib: 8.17.5 - fast-equals: 5.2.2 - - cspell-glob@8.17.5: - dependencies: - '@cspell/url': 8.17.5 - micromatch: 4.0.8 - - cspell-grammar@8.17.5: - dependencies: - '@cspell/cspell-pipe': 8.17.5 - '@cspell/cspell-types': 8.17.5 - - cspell-io@8.17.5: - dependencies: - '@cspell/cspell-service-bus': 8.17.5 - '@cspell/url': 8.17.5 - - cspell-lib@8.17.5: - dependencies: - '@cspell/cspell-bundled-dicts': 8.17.5 - '@cspell/cspell-pipe': 8.17.5 - '@cspell/cspell-resolver': 8.17.5 - '@cspell/cspell-types': 8.17.5 - '@cspell/dynamic-import': 8.17.5 - '@cspell/filetypes': 8.17.5 - '@cspell/strong-weak-map': 8.17.5 - '@cspell/url': 8.17.5 - clear-module: 4.1.2 - comment-json: 4.2.5 - cspell-config-lib: 8.17.5 - cspell-dictionary: 8.17.5 - cspell-glob: 8.17.5 - cspell-grammar: 8.17.5 - cspell-io: 8.17.5 - cspell-trie-lib: 8.17.5 - env-paths: 3.0.0 - fast-equals: 5.2.2 - gensequence: 7.0.0 - import-fresh: 3.3.1 - resolve-from: 5.0.0 - vscode-languageserver-textdocument: 1.0.12 - vscode-uri: 3.1.0 - xdg-basedir: 5.1.0 - - cspell-trie-lib@8.17.5: - dependencies: - '@cspell/cspell-pipe': 8.17.5 - '@cspell/cspell-types': 8.17.5 - gensequence: 7.0.0 - - css-declaration-sorter@7.2.0(postcss@8.5.3): - dependencies: - postcss: 8.5.3 - - data-view-buffer@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - - data-view-buffer@1.0.2: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - data-view-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - - data-view-byte-length@1.0.2: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - data-view-byte-offset@1.0.0: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - - data-view-byte-offset@1.0.1: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - debug@4.4.0: - dependencies: - ms: 2.1.3 - - decamelize-keys@1.1.1: - dependencies: - decamelize: 1.2.0 - map-obj: 1.0.1 - - decamelize@1.2.0: {} - - declarative-shadow-dom-polyfill@0.4.0(typescript@5.8.2): - dependencies: - typescript: 5.8.2 - - decompress-response@3.3.0: - dependencies: - mimic-response: 1.0.1 - - deep-extend@0.6.0: {} - - deep-is@0.1.4: {} - - deepmerge@4.3.1: {} - - defaults@1.0.4: - dependencies: - clone: 1.0.4 - - defer-to-connect@1.1.3: {} - - define-data-property@1.1.4: - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - gopd: 1.0.1 - - define-properties@1.2.1: - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - - detect-libc@1.0.3: {} - - detect-libc@2.0.3: {} - - doctrine@2.1.0: - dependencies: - esutils: 2.0.3 - - dom-renderer@2.6.2(typescript@5.8.2): - dependencies: - declarative-shadow-dom-polyfill: 0.4.0(typescript@5.8.2) - scheduler-polyfill: 1.3.0 - tslib: 2.8.1 - web-streams-polyfill: 4.1.0 - web-utility: 4.4.3(typescript@5.8.2) - transitivePeerDependencies: - - typescript - - dom-serializer@1.4.1: - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - entities: 2.2.0 - - dom-serializer@2.0.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 - - domelementtype@2.3.0: {} - - domhandler@4.3.1: - dependencies: - domelementtype: 2.3.0 - - domhandler@5.0.3: - dependencies: - domelementtype: 2.3.0 - - domutils@2.8.0: - dependencies: - dom-serializer: 1.4.1 - domelementtype: 2.3.0 - domhandler: 4.3.1 - - domutils@3.1.0: - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - - dot-prop@5.3.0: - dependencies: - is-obj: 2.0.0 - - dotenv-expand@11.0.7: - dependencies: - dotenv: 16.4.5 - - dotenv@16.4.5: {} - - dunder-proto@1.0.1: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-errors: 1.3.0 - gopd: 1.2.0 - - duplexer3@0.1.5: {} - - ejs@3.1.10: - dependencies: - jake: 10.9.2 - - electron-to-chromium@1.5.59: {} - - element-internals-polyfill@1.3.13: {} - - emoji-regex@10.4.0: {} - - emoji-regex@8.0.0: {} - - end-of-stream@1.4.4: - dependencies: - once: 1.4.0 - - enhanced-resolve@5.18.1: - dependencies: - graceful-fs: 4.2.11 - tapable: 2.2.1 - - entities@2.2.0: {} - - entities@3.0.1: {} - - entities@4.5.0: {} - - env-paths@2.2.1: {} - - env-paths@3.0.0: {} - - environment@1.1.0: {} - - error-ex@1.3.2: - dependencies: - is-arrayish: 0.2.1 - - es-abstract@1.23.5: - dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 - data-view-byte-offset: 1.0.0 - es-define-property: 1.0.0 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 - get-symbol-description: 1.0.2 - globalthis: 1.0.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 - is-callable: 1.2.7 - is-data-view: 1.0.1 - is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.3 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.3 - safe-array-concat: 1.1.2 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.6 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 - - es-abstract@1.23.9: - dependencies: - array-buffer-byte-length: 1.0.2 - arraybuffer.prototype.slice: 1.0.4 - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - call-bound: 1.0.4 - data-view-buffer: 1.0.2 - data-view-byte-length: 1.0.2 - data-view-byte-offset: 1.0.1 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-set-tostringtag: 2.1.0 - es-to-primitive: 1.3.0 - function.prototype.name: 1.1.8 - get-intrinsic: 1.3.0 - get-proto: 1.0.1 - get-symbol-description: 1.1.0 - globalthis: 1.0.4 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - has-proto: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - internal-slot: 1.1.0 - is-array-buffer: 3.0.5 - is-callable: 1.2.7 - is-data-view: 1.0.2 - is-regex: 1.2.1 - is-shared-array-buffer: 1.0.4 - is-string: 1.1.1 - is-typed-array: 1.1.15 - is-weakref: 1.1.1 - math-intrinsics: 1.1.0 - object-inspect: 1.13.3 - object-keys: 1.1.1 - object.assign: 4.1.7 - own-keys: 1.0.1 - regexp.prototype.flags: 1.5.3 - safe-array-concat: 1.1.3 - safe-push-apply: 1.0.0 - safe-regex-test: 1.1.0 - set-proto: 1.0.0 - string.prototype.trim: 1.2.10 - string.prototype.trimend: 1.0.9 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.3 - typed-array-byte-length: 1.0.3 - typed-array-byte-offset: 1.0.4 - typed-array-length: 1.0.7 - unbox-primitive: 1.1.0 - which-typed-array: 1.1.18 - - es-define-property@1.0.0: - dependencies: - get-intrinsic: 1.2.4 - - es-define-property@1.0.1: {} - - es-errors@1.3.0: {} - - es-html-parser@0.1.1: {} - - es-iterator-helpers@1.2.1: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-abstract: 1.23.9 - es-errors: 1.3.0 - es-set-tostringtag: 2.0.3 - function-bind: 1.1.2 - get-intrinsic: 1.3.0 - globalthis: 1.0.4 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - has-proto: 1.2.0 - has-symbols: 1.1.0 - internal-slot: 1.1.0 - iterator.prototype: 1.1.5 - safe-array-concat: 1.1.3 - - es-object-atoms@1.0.0: - dependencies: - es-errors: 1.3.0 - - es-object-atoms@1.1.1: - dependencies: - es-errors: 1.3.0 - - es-set-tostringtag@2.0.3: - dependencies: - get-intrinsic: 1.2.4 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - es-set-tostringtag@2.1.0: - dependencies: - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - es-shim-unscopables@1.1.0: - dependencies: - hasown: 2.0.2 - - es-to-primitive@1.2.1: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - - es-to-primitive@1.3.0: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - - escalade@3.2.0: {} - - escape-goat@2.1.1: {} - - escape-string-regexp@1.0.5: {} - - escape-string-regexp@4.0.0: {} - - eslint-config-prettier@10.1.1(eslint@9.22.0(jiti@2.4.2)): - dependencies: - eslint: 9.22.0(jiti@2.4.2) - - eslint-plugin-react@7.37.4(eslint@9.22.0(jiti@2.4.2)): - dependencies: - array-includes: 3.1.8 - array.prototype.findlast: 1.2.5 - array.prototype.flatmap: 1.3.3 - array.prototype.tosorted: 1.1.4 - doctrine: 2.1.0 - es-iterator-helpers: 1.2.1 - eslint: 9.22.0(jiti@2.4.2) - estraverse: 5.3.0 - hasown: 2.0.2 - jsx-ast-utils: 3.3.5 - minimatch: 3.1.2 - object.entries: 1.1.8 - object.fromentries: 2.0.8 - object.values: 1.2.1 - prop-types: 15.8.1 - resolve: 2.0.0-next.5 - semver: 6.3.1 - string.prototype.matchall: 4.0.12 - string.prototype.repeat: 1.0.0 - - eslint-plugin-simple-import-sort@12.1.1(eslint@9.22.0(jiti@2.4.2)): - dependencies: - eslint: 9.22.0(jiti@2.4.2) - - eslint-scope@8.3.0: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - - eslint-visitor-keys@3.4.3: {} - - eslint-visitor-keys@4.2.0: {} - - eslint@9.22.0(jiti@2.4.2): - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0(jiti@2.4.2)) - '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.19.2 - '@eslint/config-helpers': 0.1.0 - '@eslint/core': 0.12.0 - '@eslint/eslintrc': 3.3.0 - '@eslint/js': 9.22.0 - '@eslint/plugin-kit': 0.2.7 - '@humanfs/node': 0.16.6 - '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.2 - '@types/estree': 1.0.6 - '@types/json-schema': 7.0.15 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.6 - debug: 4.4.0 - escape-string-regexp: 4.0.0 - eslint-scope: 8.3.0 - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 - esquery: 1.6.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 8.0.0 - find-up: 5.0.0 - glob-parent: 6.0.2 - ignore: 5.3.2 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - json-stable-stringify-without-jsonify: 1.0.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.4 - optionalDependencies: - jiti: 2.4.2 - transitivePeerDependencies: - - supports-color - - espree@10.3.0: - dependencies: - acorn: 8.14.0 - acorn-jsx: 5.3.2(acorn@8.14.0) - eslint-visitor-keys: 4.2.0 - - esprima@4.0.1: {} - - esquery@1.6.0: - dependencies: - estraverse: 5.3.0 - - esrecurse@4.3.0: - dependencies: - estraverse: 5.3.0 - - estraverse@5.3.0: {} - - estree-walker@1.0.1: {} - - estree-walker@2.0.2: {} - - esutils@2.0.3: {} - - eventemitter3@5.0.1: {} - - execa@8.0.1: - dependencies: - cross-spawn: 7.0.6 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - - external-editor@3.1.0: - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - - fast-deep-equal@3.1.3: {} - - fast-equals@5.2.2: {} - - fast-glob@3.3.3: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 - - fast-json-stable-stringify@2.1.0: {} - - fast-levenshtein@2.0.6: {} - - fast-uri@3.0.3: {} - - fastq@1.19.1: - dependencies: - reusify: 1.1.0 - - figures@3.2.0: - dependencies: - escape-string-regexp: 1.0.5 - - file-entry-cache@8.0.0: - dependencies: - flat-cache: 4.0.1 - - filelist@1.0.4: - dependencies: - minimatch: 5.1.6 - - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 - - find-up@4.1.0: - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - - find-up@5.0.0: - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - - flat-cache@4.0.1: - dependencies: - flatted: 3.3.3 - keyv: 4.5.4 - - flatted@3.3.3: {} - - for-each@0.3.3: - dependencies: - is-callable: 1.2.7 - - fs-extra@9.1.0: - dependencies: - at-least-node: 1.0.0 - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - - fs.realpath@1.0.0: {} - - fsevents@2.3.3: - optional: true - - function-bind@1.1.2: {} - - function.prototype.name@1.1.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.5 - functions-have-names: 1.2.3 - - function.prototype.name@1.1.8: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - functions-have-names: 1.2.3 - hasown: 2.0.2 - is-callable: 1.2.7 - - functions-have-names@1.2.3: {} - - gensequence@7.0.0: {} - - gensync@1.0.0-beta.2: {} - - get-east-asian-width@1.3.0: {} - - get-intrinsic@1.2.4: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - - get-intrinsic@1.3.0: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - function-bind: 1.1.2 - get-proto: 1.0.1 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - math-intrinsics: 1.1.0 - - get-own-enumerable-property-symbols@3.0.2: {} - - get-port@4.2.0: {} - - get-proto@1.0.1: - dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 - - get-stream@4.1.0: - dependencies: - pump: 3.0.2 - - get-stream@5.2.0: - dependencies: - pump: 3.0.2 - - get-stream@8.0.1: {} - - get-symbol-description@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - - get-symbol-description@1.1.0: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - - glob-parent@6.0.2: - dependencies: - is-glob: 4.0.3 - - glob@7.2.3: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - - global-directory@4.0.1: - dependencies: - ini: 4.1.1 - - global-dirs@2.1.0: - dependencies: - ini: 1.3.7 - - globals@11.12.0: {} - - globals@13.24.0: - dependencies: - type-fest: 0.20.2 - - globals@14.0.0: {} - - globals@16.0.0: {} - - globalthis@1.0.4: - dependencies: - define-properties: 1.2.1 - gopd: 1.0.1 - - gopd@1.0.1: - dependencies: - get-intrinsic: 1.2.4 - - gopd@1.2.0: {} - - got@9.6.0: - dependencies: - '@sindresorhus/is': 0.14.0 - '@szmarczak/http-timer': 1.1.2 - '@types/keyv': 3.1.4 - '@types/responselike': 1.0.3 - cacheable-request: 6.1.0 - decompress-response: 3.3.0 - duplexer3: 0.1.5 - get-stream: 4.1.0 - lowercase-keys: 1.0.1 - mimic-response: 1.0.1 - p-cancelable: 1.1.0 - to-readable-stream: 1.0.0 - url-parse-lax: 3.0.0 - - graceful-fs@4.2.11: {} - - graphemer@1.4.0: {} - - hard-rejection@2.1.0: {} - - has-bigints@1.0.2: {} - - has-flag@4.0.0: {} - - has-own-prop@2.0.0: {} - - has-property-descriptors@1.0.2: - dependencies: - es-define-property: 1.0.0 - - has-proto@1.0.3: {} - - has-proto@1.2.0: - dependencies: - dunder-proto: 1.0.1 - - has-symbols@1.0.3: {} - - has-symbols@1.1.0: {} - - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.0.3 - - has-yarn@2.1.0: {} - - hasown@2.0.2: - dependencies: - function-bind: 1.1.2 - - hosted-git-info@2.8.9: {} - - htmlnano@2.1.1(postcss@8.5.3)(terser@5.36.0)(typescript@5.8.2): - dependencies: - cosmiconfig: 9.0.0(typescript@5.8.2) - posthtml: 0.16.6 - timsort: 0.3.0 - optionalDependencies: - postcss: 8.5.3 - terser: 5.36.0 - transitivePeerDependencies: - - typescript - - htmlparser2@7.2.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - domutils: 2.8.0 - entities: 3.0.1 - - htmlparser2@9.1.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.1.0 - entities: 4.5.0 - - http-cache-semantics@4.1.1: {} - - human-signals@5.0.0: {} - - husky@9.1.7: {} - - iconv-lite@0.4.24: - dependencies: - safer-buffer: 2.1.2 - - idb@7.1.1: {} - - ieee754@1.2.1: {} - - ignore@5.3.2: {} - - import-fresh@3.3.0: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - - import-fresh@3.3.1: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - - import-lazy@2.1.0: {} - - import-meta-resolve@4.1.0: {} - - imurmurhash@0.1.4: {} - - indent-string@4.0.0: {} - - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - inherits@2.0.4: {} - - ini@1.3.7: {} - - ini@1.3.8: {} - - ini@4.1.1: {} - - inquirer@7.3.3: - dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-width: 3.0.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 0.0.8 - run-async: 2.4.1 - rxjs: 6.6.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 - - internal-slot@1.0.7: - dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.0.6 - - internal-slot@1.1.0: - dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.1.0 - - is-array-buffer@3.0.4: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - - is-array-buffer@3.0.5: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - - is-arrayish@0.2.1: {} - - is-async-function@2.1.1: - dependencies: - async-function: 1.0.0 - call-bound: 1.0.4 - get-proto: 1.0.1 - has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 - - is-bigint@1.0.4: - dependencies: - has-bigints: 1.0.2 - - is-bigint@1.1.0: - dependencies: - has-bigints: 1.0.2 - - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - - is-boolean-object@1.1.2: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - - is-boolean-object@1.2.2: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - - is-callable@1.2.7: {} - - is-ci@2.0.0: - dependencies: - ci-info: 2.0.0 - - is-core-module@2.15.1: - dependencies: - hasown: 2.0.2 - - is-data-view@1.0.1: - dependencies: - is-typed-array: 1.1.13 - - is-data-view@1.0.2: - dependencies: - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - is-typed-array: 1.1.15 - - is-date-object@1.0.5: - dependencies: - has-tostringtag: 1.0.2 - - is-date-object@1.1.0: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - - is-extglob@2.1.1: {} - - is-finalizationregistry@1.1.1: - dependencies: - call-bound: 1.0.4 - - is-fullwidth-code-point@3.0.0: {} - - is-fullwidth-code-point@4.0.0: {} - - is-fullwidth-code-point@5.0.0: - dependencies: - get-east-asian-width: 1.3.0 - - is-generator-function@1.1.0: - dependencies: - call-bound: 1.0.4 - get-proto: 1.0.1 - has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 - - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 - - is-installed-globally@0.3.2: - dependencies: - global-dirs: 2.1.0 - is-path-inside: 3.0.3 - - is-interactive@1.0.0: {} - - is-json@2.0.1: {} - - is-map@2.0.3: {} - - is-module@1.0.0: {} - - is-negative-zero@2.0.3: {} - - is-npm@4.0.0: {} - - is-number-object@1.0.7: - dependencies: - has-tostringtag: 1.0.2 - - is-number-object@1.1.1: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - - is-number@7.0.0: {} - - is-obj@1.0.1: {} - - is-obj@2.0.0: {} - - is-path-inside@3.0.3: {} - - is-plain-obj@1.1.0: {} - - is-promise@4.0.0: {} - - is-regex@1.1.4: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - - is-regex@1.2.1: - dependencies: - call-bound: 1.0.4 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - is-regexp@1.0.0: {} - - is-set@2.0.3: {} - - is-shared-array-buffer@1.0.3: - dependencies: - call-bind: 1.0.7 - - is-shared-array-buffer@1.0.4: - dependencies: - call-bound: 1.0.4 - - is-stream@2.0.1: {} - - is-stream@3.0.0: {} - - is-string@1.0.7: - dependencies: - has-tostringtag: 1.0.2 - - is-string@1.1.1: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - - is-symbol@1.0.4: - dependencies: - has-symbols: 1.0.3 - - is-symbol@1.1.1: - dependencies: - call-bound: 1.0.4 - has-symbols: 1.1.0 - safe-regex-test: 1.1.0 - - is-typed-array@1.1.13: - dependencies: - which-typed-array: 1.1.15 - - is-typed-array@1.1.15: - dependencies: - which-typed-array: 1.1.18 - - is-typedarray@1.0.0: {} - - is-unicode-supported@0.1.0: {} - - is-weakmap@2.0.2: {} - - is-weakref@1.0.2: - dependencies: - call-bind: 1.0.7 - - is-weakref@1.1.1: - dependencies: - call-bound: 1.0.4 - - is-weakset@2.0.4: - dependencies: - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - - is-yarn-global@0.3.0: {} - - isarray@2.0.5: {} - - isexe@2.0.0: {} - - iterator.prototype@1.1.5: - dependencies: - define-data-property: 1.1.4 - es-object-atoms: 1.0.0 - get-intrinsic: 1.3.0 - get-proto: 1.0.1 - has-symbols: 1.1.0 - set-function-name: 2.0.2 - - jake@10.9.2: - dependencies: - async: 3.2.6 - chalk: 4.1.2 - filelist: 1.0.4 - minimatch: 3.1.2 - - jiti@2.4.2: {} - - js-tokens@4.0.0: {} - - js-yaml@4.1.0: - dependencies: - argparse: 2.0.1 - - jsesc@3.0.2: {} - - json-buffer@3.0.0: {} - - json-buffer@3.0.1: {} - - json-parse-even-better-errors@2.3.1: {} - - json-schema-traverse@0.4.1: {} - - json-schema-traverse@1.0.0: {} - - json-schema@0.4.0: {} - - json-stable-stringify-without-jsonify@1.0.1: {} - - json5@2.2.3: {} - - jsonfile@6.1.0: - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - - jsonpointer@5.0.1: {} - - jsx-ast-utils@3.3.5: - dependencies: - array-includes: 3.1.8 - array.prototype.flat: 1.3.3 - object.assign: 4.1.5 - object.values: 1.2.1 - - keyv@3.1.0: - dependencies: - json-buffer: 3.0.0 - - keyv@4.5.4: - dependencies: - json-buffer: 3.0.1 - - kind-of@6.0.3: {} - - koajax@3.1.1(typescript@5.8.2): - dependencies: - '@swc/helpers': 0.5.15 - regenerator-runtime: 0.14.1 - web-streams-polyfill: 4.0.0 - web-utility: 4.4.3(typescript@5.8.2) - transitivePeerDependencies: - - typescript - - latest-version@5.1.0: - dependencies: - package-json: 6.5.0 - - leven@3.1.0: {} - - levn@0.4.1: - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - - lightningcss-darwin-arm64@1.29.1: - optional: true - - lightningcss-darwin-arm64@1.29.2: - optional: true - - lightningcss-darwin-x64@1.29.1: - optional: true - - lightningcss-darwin-x64@1.29.2: - optional: true - - lightningcss-freebsd-x64@1.29.1: - optional: true - - lightningcss-freebsd-x64@1.29.2: - optional: true - - lightningcss-linux-arm-gnueabihf@1.29.1: - optional: true - - lightningcss-linux-arm-gnueabihf@1.29.2: - optional: true - - lightningcss-linux-arm64-gnu@1.29.1: - optional: true - - lightningcss-linux-arm64-gnu@1.29.2: - optional: true - - lightningcss-linux-arm64-musl@1.29.1: - optional: true - - lightningcss-linux-arm64-musl@1.29.2: - optional: true - - lightningcss-linux-x64-gnu@1.29.1: - optional: true - - lightningcss-linux-x64-gnu@1.29.2: - optional: true - - lightningcss-linux-x64-musl@1.29.1: - optional: true - - lightningcss-linux-x64-musl@1.29.2: - optional: true - - lightningcss-win32-arm64-msvc@1.29.1: - optional: true - - lightningcss-win32-arm64-msvc@1.29.2: - optional: true - - lightningcss-win32-x64-msvc@1.29.1: - optional: true - - lightningcss-win32-x64-msvc@1.29.2: - optional: true - - lightningcss@1.29.1: - dependencies: - detect-libc: 1.0.3 - optionalDependencies: - lightningcss-darwin-arm64: 1.29.1 - lightningcss-darwin-x64: 1.29.1 - lightningcss-freebsd-x64: 1.29.1 - lightningcss-linux-arm-gnueabihf: 1.29.1 - lightningcss-linux-arm64-gnu: 1.29.1 - lightningcss-linux-arm64-musl: 1.29.1 - lightningcss-linux-x64-gnu: 1.29.1 - lightningcss-linux-x64-musl: 1.29.1 - lightningcss-win32-arm64-msvc: 1.29.1 - lightningcss-win32-x64-msvc: 1.29.1 - - lightningcss@1.29.2: - dependencies: - detect-libc: 2.0.3 - optionalDependencies: - lightningcss-darwin-arm64: 1.29.2 - lightningcss-darwin-x64: 1.29.2 - lightningcss-freebsd-x64: 1.29.2 - lightningcss-linux-arm-gnueabihf: 1.29.2 - lightningcss-linux-arm64-gnu: 1.29.2 - lightningcss-linux-arm64-musl: 1.29.2 - lightningcss-linux-x64-gnu: 1.29.2 - lightningcss-linux-x64-musl: 1.29.2 - lightningcss-win32-arm64-msvc: 1.29.2 - lightningcss-win32-x64-msvc: 1.29.2 - - lilconfig@3.1.3: {} - - lines-and-columns@1.2.4: {} - - lint-staged@15.5.0: - dependencies: - chalk: 5.4.1 - commander: 13.1.0 - debug: 4.4.0 - execa: 8.0.1 - lilconfig: 3.1.3 - listr2: 8.2.5 - micromatch: 4.0.8 - pidtree: 0.6.0 - string-argv: 0.3.2 - yaml: 2.7.0 - transitivePeerDependencies: - - supports-color - - listr2@8.2.5: - dependencies: - cli-truncate: 4.0.0 - colorette: 2.0.20 - eventemitter3: 5.0.1 - log-update: 6.1.0 - rfdc: 1.4.1 - wrap-ansi: 9.0.0 - - lit-element@4.1.1: - dependencies: - '@lit-labs/ssr-dom-shim': 1.2.1 - '@lit/reactive-element': 2.0.4 - lit-html: 3.2.1 - - lit-html@3.2.1: - dependencies: - '@types/trusted-types': 2.0.7 - - lit@3.2.1: - dependencies: - '@lit/reactive-element': 2.0.4 - lit-element: 4.1.1 - lit-html: 3.2.1 - - lmdb@2.8.5: - dependencies: - msgpackr: 1.11.2 - node-addon-api: 6.1.0 - node-gyp-build-optional-packages: 5.1.1 - ordered-binary: 1.5.3 - weak-lru-cache: 1.2.2 - optionalDependencies: - '@lmdb/lmdb-darwin-arm64': 2.8.5 - '@lmdb/lmdb-darwin-x64': 2.8.5 - '@lmdb/lmdb-linux-arm': 2.8.5 - '@lmdb/lmdb-linux-arm64': 2.8.5 - '@lmdb/lmdb-linux-x64': 2.8.5 - '@lmdb/lmdb-win32-x64': 2.8.5 - - locate-path@5.0.0: - dependencies: - p-locate: 4.1.0 - - locate-path@6.0.0: - dependencies: - p-locate: 5.0.0 - - lodash.debounce@4.0.8: {} - - lodash.merge@4.6.2: {} - - lodash.sortby@4.7.0: {} - - lodash@4.17.21: {} - - log-symbols@4.1.0: - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - - log-update@6.1.0: - dependencies: - ansi-escapes: 7.0.0 - cli-cursor: 5.0.0 - slice-ansi: 7.1.0 - strip-ansi: 7.1.0 - wrap-ansi: 9.0.0 - - loose-envify@1.4.0: - dependencies: - js-tokens: 4.0.0 - - lowercase-keys@1.0.1: {} - - lowercase-keys@2.0.0: {} - - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 - - magic-string@0.25.9: - dependencies: - sourcemap-codec: 1.4.8 - - make-dir@3.1.0: - dependencies: - semver: 6.3.1 - - map-obj@1.0.1: {} - - map-obj@4.3.0: {} - - math-intrinsics@1.1.0: {} - - mdui@2.1.3: - dependencies: - '@floating-ui/utils': 0.2.8 - '@lit/localize': 0.12.2 - '@lit/reactive-element': 2.0.4 - '@material/material-color-utilities': 0.3.0 - '@mdui/jq': 3.0.2 - '@mdui/shared': 1.0.7 - classcat: 5.0.5 - is-promise: 4.0.0 - lit: 3.2.1 - ssr-window: 4.0.2 - tslib: 2.8.1 - - meow@7.1.1: - dependencies: - '@types/minimist': 1.2.5 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 2.5.0 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.13.1 - yargs-parser: 18.1.3 - - merge-stream@2.0.0: {} - - merge2@1.4.1: {} - - micromatch@4.0.8: - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - - mimic-fn@2.1.0: {} - - mimic-fn@4.0.0: {} - - mimic-function@5.0.1: {} - - mimic-response@1.0.1: {} - - min-indent@1.0.1: {} - - minimatch@3.1.2: - dependencies: - brace-expansion: 1.1.11 - - minimatch@5.1.6: - dependencies: - brace-expansion: 2.0.1 - - minimatch@9.0.5: - dependencies: - brace-expansion: 2.0.1 - - minimist-options@4.1.0: - dependencies: - arrify: 1.0.1 - is-plain-obj: 1.1.0 - kind-of: 6.0.3 - - minimist@1.2.8: {} - - mobx@6.13.6: {} - - ms@2.1.3: {} - - msgpackr-extract@3.0.3: - dependencies: - node-gyp-build-optional-packages: 5.2.2 - optionalDependencies: - '@msgpackr-extract/msgpackr-extract-darwin-arm64': 3.0.3 - '@msgpackr-extract/msgpackr-extract-darwin-x64': 3.0.3 - '@msgpackr-extract/msgpackr-extract-linux-arm': 3.0.3 - '@msgpackr-extract/msgpackr-extract-linux-arm64': 3.0.3 - '@msgpackr-extract/msgpackr-extract-linux-x64': 3.0.3 - '@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.3 - optional: true - - msgpackr@1.11.2: - optionalDependencies: - msgpackr-extract: 3.0.3 - - mute-stream@0.0.8: {} - - nanoid@3.3.8: {} - - natural-compare@1.4.0: {} - - node-addon-api@6.1.0: {} - - node-addon-api@7.1.1: {} - - node-gyp-build-optional-packages@5.1.1: - dependencies: - detect-libc: 2.0.3 - - node-gyp-build-optional-packages@5.2.2: - dependencies: - detect-libc: 2.0.3 - optional: true - - node-releases@2.0.18: {} - - normalize-package-data@2.5.0: - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.8 - semver: 5.7.2 - validate-npm-package-license: 3.0.4 - - normalize-path@3.0.0: {} - - normalize-url@4.5.1: {} - - npm-run-path@5.3.0: - dependencies: - path-key: 4.0.0 - - nullthrows@1.1.1: {} - - object-assign@4.1.1: {} - - object-inspect@1.13.3: {} - - object-keys@1.1.1: {} - - object.assign@4.1.5: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - has-symbols: 1.0.3 - object-keys: 1.1.1 - - object.assign@4.1.7: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - has-symbols: 1.1.0 - object-keys: 1.1.1 - - object.entries@1.1.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - object.fromentries@2.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-object-atoms: 1.0.0 - - object.values@1.2.1: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - once@1.4.0: - dependencies: - wrappy: 1.0.2 - - onetime@5.1.2: - dependencies: - mimic-fn: 2.1.0 - - onetime@6.0.0: - dependencies: - mimic-fn: 4.0.0 - - onetime@7.0.0: - dependencies: - mimic-function: 5.0.1 - - optionator@0.9.4: - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - word-wrap: 1.2.5 - - ora@5.4.1: - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.9.2 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - - ordered-binary@1.5.3: {} - - os-tmpdir@1.0.2: {} - - own-keys@1.0.1: - dependencies: - get-intrinsic: 1.3.0 - object-keys: 1.1.1 - safe-push-apply: 1.0.0 - - p-cancelable@1.1.0: {} - - p-limit@2.3.0: - dependencies: - p-try: 2.2.0 - - p-limit@3.1.0: - dependencies: - yocto-queue: 0.1.0 - - p-locate@4.1.0: - dependencies: - p-limit: 2.3.0 - - p-locate@5.0.0: - dependencies: - p-limit: 3.1.0 - - p-try@2.2.0: {} - - package-json@6.5.0: - dependencies: - got: 9.6.0 - registry-auth-token: 4.2.2 - registry-url: 5.1.0 - semver: 6.3.1 - - parcel@2.13.3(@swc/helpers@0.5.15)(postcss@8.5.3)(terser@5.36.0)(typescript@5.8.2): - dependencies: - '@parcel/config-default': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))(@swc/helpers@0.5.15)(postcss@8.5.3)(terser@5.36.0)(typescript@5.8.2) - '@parcel/core': 2.13.3(@swc/helpers@0.5.15) - '@parcel/diagnostic': 2.13.3 - '@parcel/events': 2.13.3 - '@parcel/feature-flags': 2.13.3 - '@parcel/fs': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/logger': 2.13.3 - '@parcel/package-manager': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))(@swc/helpers@0.5.15) - '@parcel/reporter-cli': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/reporter-dev-server': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/reporter-tracer': 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15)) - '@parcel/utils': 2.13.3 - chalk: 4.1.2 - commander: 12.1.0 - get-port: 4.2.0 - transitivePeerDependencies: - - '@swc/helpers' - - cssnano - - postcss - - purgecss - - relateurl - - srcset - - svgo - - terser - - typescript - - uncss - - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 - - parent-module@2.0.0: - dependencies: - callsites: 3.1.0 - - parse-json@5.2.0: - dependencies: - '@babel/code-frame': 7.26.2 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - - path-exists@4.0.0: {} - - path-is-absolute@1.0.1: {} - - path-key@3.1.1: {} - - path-key@4.0.0: {} - - path-parse@1.0.7: {} - - picocolors@1.1.1: {} - - picomatch@2.3.1: {} - - picomatch@4.0.2: {} - - pidtree@0.6.0: {} - - possible-typed-array-names@1.0.0: {} - - postcss-less@6.0.0(postcss@8.5.3): - dependencies: - postcss: 8.5.3 - - postcss-scss@4.0.9(postcss@8.5.3): - dependencies: - postcss: 8.5.3 - - postcss-value-parser@4.2.0: {} - - postcss@8.5.3: - dependencies: - nanoid: 3.3.8 - picocolors: 1.1.1 - source-map-js: 1.2.1 - - posthtml-parser@0.11.0: - dependencies: - htmlparser2: 7.2.0 - - posthtml-parser@0.12.1: - dependencies: - htmlparser2: 9.1.0 - - posthtml-render@3.0.0: - dependencies: - is-json: 2.0.1 - - posthtml@0.16.6: - dependencies: - posthtml-parser: 0.11.0 - posthtml-render: 3.0.0 - - prelude-ls@1.2.1: {} - - prepend-http@2.0.0: {} - - prettier-plugin-css-order@2.1.2(postcss@8.5.3)(prettier@3.5.3): - dependencies: - css-declaration-sorter: 7.2.0(postcss@8.5.3) - postcss-less: 6.0.0(postcss@8.5.3) - postcss-scss: 4.0.9(postcss@8.5.3) - prettier: 3.5.3 - transitivePeerDependencies: - - postcss - - prettier-plugin-tailwindcss@0.6.11(prettier-plugin-css-order@2.1.2(postcss@8.5.3)(prettier@3.5.3))(prettier@3.5.3): - dependencies: - prettier: 3.5.3 - optionalDependencies: - prettier-plugin-css-order: 2.1.2(postcss@8.5.3)(prettier@3.5.3) - - prettier@3.5.3: {} - - pretty-bytes@5.6.0: {} - - prop-types@15.8.1: - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - react-is: 16.13.1 - - pump@3.0.2: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - - punycode@2.3.1: {} - - pupa@2.1.1: - dependencies: - escape-goat: 2.1.1 - - queue-microtask@1.2.3: {} - - quick-lru@4.0.1: {} - - randombytes@2.1.0: - dependencies: - safe-buffer: 5.2.1 - - rc@1.2.8: - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - - react-error-overlay@6.0.9: {} - - react-is@16.13.1: {} - - react-refresh@0.14.2: {} - - read-pkg-up@7.0.1: - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - - read-pkg@5.2.0: - dependencies: - '@types/normalize-package-data': 2.4.4 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 - - readable-stream@3.6.2: - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 - - redent@3.0.0: - dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 - - reflect.getprototypeof@1.0.10: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.23.9 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - get-intrinsic: 1.3.0 - get-proto: 1.0.1 - which-builtin-type: 1.2.1 - - regenerate-unicode-properties@10.2.0: - dependencies: - regenerate: 1.4.2 - - regenerate@1.4.2: {} - - regenerator-runtime@0.14.1: {} - - regenerator-transform@0.15.2: - dependencies: - '@babel/runtime': 7.26.0 - - regexp.prototype.flags@1.5.3: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-errors: 1.3.0 - set-function-name: 2.0.2 - - regexpu-core@6.1.1: - dependencies: - regenerate: 1.4.2 - regenerate-unicode-properties: 10.2.0 - regjsgen: 0.8.0 - regjsparser: 0.11.2 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.2.0 - - registry-auth-token@4.2.2: - dependencies: - rc: 1.2.8 - - registry-url@5.1.0: - dependencies: - rc: 1.2.8 - - regjsgen@0.8.0: {} - - regjsparser@0.11.2: - dependencies: - jsesc: 3.0.2 - - repeat-string@1.6.1: {} - - require-from-string@2.0.2: {} - - resolve-from@4.0.0: {} - - resolve-from@5.0.0: {} - - resolve@1.22.8: - dependencies: - is-core-module: 2.15.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - - resolve@2.0.0-next.5: - dependencies: - is-core-module: 2.15.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - - responselike@1.0.2: - dependencies: - lowercase-keys: 1.0.1 - - restore-cursor@3.1.0: - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - - restore-cursor@5.1.0: - dependencies: - onetime: 7.0.0 - signal-exit: 4.1.0 - - reusify@1.1.0: {} - - rfdc@1.4.1: {} - - rollup@2.79.2: - optionalDependencies: - fsevents: 2.3.3 - - run-async@2.4.1: {} - - run-parallel@1.2.0: - dependencies: - queue-microtask: 1.2.3 - - rxjs@6.6.7: - dependencies: - tslib: 1.14.1 - - safe-array-concat@1.1.2: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - isarray: 2.0.5 - - safe-array-concat@1.1.3: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - has-symbols: 1.1.0 - isarray: 2.0.5 - - safe-buffer@5.2.1: {} - - safe-push-apply@1.0.0: - dependencies: - es-errors: 1.3.0 - isarray: 2.0.5 - - safe-regex-test@1.0.3: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-regex: 1.1.4 - - safe-regex-test@1.1.0: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-regex: 1.2.1 - - safer-buffer@2.1.2: {} - - scheduler-polyfill@1.3.0: {} - - semver-diff@3.1.1: - dependencies: - semver: 6.3.1 - - semver@5.7.2: {} - - semver@6.3.1: {} - - semver@7.6.3: {} - - serialize-javascript@6.0.2: - dependencies: - randombytes: 2.1.0 - - set-function-length@1.2.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - - set-function-name@2.0.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 - - set-proto@1.0.0: - dependencies: - dunder-proto: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - - shebang-command@2.0.0: - dependencies: - shebang-regex: 3.0.0 - - shebang-regex@3.0.0: {} - - side-channel-list@1.0.0: - dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.3 - - side-channel-map@1.0.1: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - object-inspect: 1.13.3 - - side-channel-weakmap@1.0.2: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - object-inspect: 1.13.3 - side-channel-map: 1.0.1 - - side-channel@1.0.6: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - object-inspect: 1.13.3 - - side-channel@1.1.0: - dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.3 - side-channel-list: 1.0.0 - side-channel-map: 1.0.1 - side-channel-weakmap: 1.0.2 - - signal-exit@3.0.7: {} - - signal-exit@4.1.0: {} - - slice-ansi@5.0.0: - dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 4.0.0 - - slice-ansi@7.1.0: - dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 5.0.0 - - smob@1.5.0: {} - - source-map-js@1.2.1: {} - - source-map-support@0.5.21: - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - - source-map@0.6.1: {} - - source-map@0.8.0-beta.0: - dependencies: - whatwg-url: 7.1.0 - - sourcemap-codec@1.4.8: {} - - spdx-correct@3.2.0: - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.20 - - spdx-exceptions@2.5.0: {} - - spdx-expression-parse@3.0.1: - dependencies: - spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.20 - - spdx-license-ids@3.0.20: {} - - srcset@4.0.0: {} - - ssr-window@4.0.2: {} - - string-argv@0.3.2: {} - - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - string-width@7.2.0: - dependencies: - emoji-regex: 10.4.0 - get-east-asian-width: 1.3.0 - strip-ansi: 7.1.0 - - string.prototype.matchall@4.0.11: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - get-intrinsic: 1.2.4 - gopd: 1.0.1 - has-symbols: 1.0.3 - internal-slot: 1.0.7 - regexp.prototype.flags: 1.5.3 - set-function-name: 2.0.2 - side-channel: 1.0.6 - - string.prototype.matchall@4.0.12: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-abstract: 1.23.9 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - get-intrinsic: 1.3.0 - gopd: 1.2.0 - has-symbols: 1.1.0 - internal-slot: 1.1.0 - regexp.prototype.flags: 1.5.3 - set-function-name: 2.0.2 - side-channel: 1.1.0 - - string.prototype.repeat@1.0.0: - dependencies: - define-properties: 1.2.1 - es-abstract: 1.23.5 - - string.prototype.trim@1.2.10: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-data-property: 1.1.4 - define-properties: 1.2.1 - es-abstract: 1.23.9 - es-object-atoms: 1.0.0 - has-property-descriptors: 1.0.2 - - string.prototype.trim@1.2.9: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-object-atoms: 1.0.0 - - string.prototype.trimend@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - string.prototype.trimend@1.0.9: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - string.prototype.trimstart@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 - - stringify-object@3.3.0: - dependencies: - get-own-enumerable-property-symbols: 3.0.2 - is-obj: 1.0.1 - is-regexp: 1.0.0 - - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 - - strip-ansi@7.1.0: - dependencies: - ansi-regex: 6.1.0 - - strip-comments@2.0.1: {} - - strip-final-newline@3.0.0: {} - - strip-indent@3.0.0: - dependencies: - min-indent: 1.0.1 - - strip-json-comments@2.0.1: {} - - strip-json-comments@3.1.1: {} - - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - - supports-preserve-symlinks-flag@1.0.0: {} - - synckit@0.9.2: - dependencies: - '@pkgr/core': 0.1.1 - tslib: 2.8.1 - - tailwindcss@4.0.14: {} - - tapable@2.2.1: {} - - temp-dir@2.0.0: {} - - tempy@0.6.0: - dependencies: - is-stream: 2.0.1 - temp-dir: 2.0.0 - type-fest: 0.16.0 - unique-string: 2.0.0 - - term-size@2.2.1: {} - - terser@5.36.0: - dependencies: - '@jridgewell/source-map': 0.3.6 - acorn: 8.14.0 - commander: 2.20.3 - source-map-support: 0.5.21 - - through@2.3.8: {} - - timsort@0.3.0: {} - - tmp@0.0.33: - dependencies: - os-tmpdir: 1.0.2 - - to-readable-stream@1.0.0: {} - - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 - - tr46@1.0.1: - dependencies: - punycode: 2.3.1 - - trim-newlines@3.0.1: {} - - ts-api-utils@2.0.1(typescript@5.8.2): - dependencies: - typescript: 5.8.2 - - tslib@1.14.1: {} - - tslib@2.8.1: {} - - type-check@0.4.0: - dependencies: - prelude-ls: 1.2.1 - - type-fest@0.13.1: {} - - type-fest@0.16.0: {} - - type-fest@0.20.2: {} - - type-fest@0.21.3: {} - - type-fest@0.6.0: {} - - type-fest@0.8.1: {} - - typed-array-buffer@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-typed-array: 1.1.13 - - typed-array-buffer@1.0.3: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-typed-array: 1.1.15 - - typed-array-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - - typed-array-byte-length@1.0.3: - dependencies: - call-bind: 1.0.8 - for-each: 0.3.3 - gopd: 1.2.0 - has-proto: 1.2.0 - is-typed-array: 1.1.15 - - typed-array-byte-offset@1.0.2: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - - typed-array-byte-offset@1.0.4: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - for-each: 0.3.3 - gopd: 1.2.0 - has-proto: 1.2.0 - is-typed-array: 1.1.15 - reflect.getprototypeof: 1.0.10 - - typed-array-length@1.0.6: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - possible-typed-array-names: 1.0.0 - - typed-array-length@1.0.7: - dependencies: - call-bind: 1.0.8 - for-each: 0.3.3 - gopd: 1.2.0 - is-typed-array: 1.1.15 - possible-typed-array-names: 1.0.0 - reflect.getprototypeof: 1.0.10 - - typedarray-to-buffer@3.1.5: - dependencies: - is-typedarray: 1.0.0 - - typescript-eslint@8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2): - dependencies: - '@typescript-eslint/eslint-plugin': 8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) - '@typescript-eslint/parser': 8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) - '@typescript-eslint/utils': 8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) - eslint: 9.22.0(jiti@2.4.2) - typescript: 5.8.2 - transitivePeerDependencies: - - supports-color - - typescript@5.8.2: {} - - unbox-primitive@1.0.2: - dependencies: - call-bind: 1.0.7 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 - - unbox-primitive@1.1.0: - dependencies: - call-bound: 1.0.4 - has-bigints: 1.0.2 - has-symbols: 1.1.0 - which-boxed-primitive: 1.1.1 - - undici-types@6.20.0: {} - - unicode-canonical-property-names-ecmascript@2.0.1: {} - - unicode-match-property-ecmascript@2.0.0: - dependencies: - unicode-canonical-property-names-ecmascript: 2.0.1 - unicode-property-aliases-ecmascript: 2.1.0 - - unicode-match-property-value-ecmascript@2.2.0: {} - - unicode-property-aliases-ecmascript@2.1.0: {} - - unique-string@2.0.0: - dependencies: - crypto-random-string: 2.0.0 - - universalify@2.0.1: {} - - upath@1.2.0: {} - - update-browserslist-db@1.1.1(browserslist@4.24.2): - dependencies: - browserslist: 4.24.2 - escalade: 3.2.0 - picocolors: 1.1.1 - - update-notifier@4.1.3: - dependencies: - boxen: 4.2.0 - chalk: 3.0.0 - configstore: 5.0.1 - has-yarn: 2.1.0 - import-lazy: 2.1.0 - is-ci: 2.0.0 - is-installed-globally: 0.3.2 - is-npm: 4.0.0 - is-yarn-global: 0.3.0 - latest-version: 5.1.0 - pupa: 2.1.1 - semver-diff: 3.1.1 - xdg-basedir: 4.0.0 - - uri-js@4.4.1: - dependencies: - punycode: 2.3.1 - - url-parse-lax@3.0.0: - dependencies: - prepend-http: 2.0.0 - - urlpattern-polyfill@10.0.0: {} - - util-deprecate@1.0.2: {} - - utility-types@3.11.0: {} - - validate-npm-package-license@3.0.4: - dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 - - vscode-languageserver-textdocument@1.0.12: {} - - vscode-uri@3.1.0: {} - - wcwidth@1.0.1: - dependencies: - defaults: 1.0.4 - - weak-lru-cache@1.2.2: {} - - web-cell@3.0.4(typescript@5.8.2): - dependencies: - '@swc/helpers': 0.5.15 - dom-renderer: 2.6.2(typescript@5.8.2) - mobx: 6.13.6 - regenerator-runtime: 0.14.1 - web-utility: 4.4.3(typescript@5.8.2) - transitivePeerDependencies: - - happy-dom - - typescript - - web-streams-polyfill@4.0.0: {} - - web-streams-polyfill@4.1.0: {} - - web-utility@4.4.3(typescript@5.8.2): - dependencies: - '@swc/helpers': 0.5.15 - element-internals-polyfill: 1.3.13 - regenerator-runtime: 0.14.1 - typescript: 5.8.2 - - webidl-conversions@4.0.2: {} - - whatwg-url@7.1.0: - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - - which-boxed-primitive@1.0.2: - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 - - which-boxed-primitive@1.1.1: - dependencies: - is-bigint: 1.1.0 - is-boolean-object: 1.2.2 - is-number-object: 1.1.1 - is-string: 1.1.1 - is-symbol: 1.1.1 - - which-builtin-type@1.2.1: - dependencies: - call-bound: 1.0.4 - function.prototype.name: 1.1.8 - has-tostringtag: 1.0.2 - is-async-function: 2.1.1 - is-date-object: 1.1.0 - is-finalizationregistry: 1.1.1 - is-generator-function: 1.1.0 - is-regex: 1.2.1 - is-weakref: 1.1.1 - isarray: 2.0.5 - which-boxed-primitive: 1.1.1 - which-collection: 1.0.2 - which-typed-array: 1.1.18 - - which-collection@1.0.2: - dependencies: - is-map: 2.0.3 - is-set: 2.0.3 - is-weakmap: 2.0.2 - is-weakset: 2.0.4 - - which-typed-array@1.1.15: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.2 - - which-typed-array@1.1.18: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - call-bound: 1.0.4 - for-each: 0.3.3 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - - which@2.0.2: - dependencies: - isexe: 2.0.0 - - widest-line@3.1.0: - dependencies: - string-width: 4.2.3 - - word-wrap@1.2.5: {} - - workbox-background-sync@7.3.0: - dependencies: - idb: 7.1.1 - workbox-core: 7.3.0 - - workbox-broadcast-update@7.3.0: - dependencies: - workbox-core: 7.3.0 - - workbox-build@7.3.0: - dependencies: - '@apideck/better-ajv-errors': 0.3.6(ajv@8.17.1) - '@babel/core': 7.26.0 - '@babel/preset-env': 7.26.0(@babel/core@7.26.0) - '@babel/runtime': 7.26.0 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.26.0)(rollup@2.79.2) - '@rollup/plugin-node-resolve': 15.3.0(rollup@2.79.2) - '@rollup/plugin-replace': 2.4.2(rollup@2.79.2) - '@rollup/plugin-terser': 0.4.4(rollup@2.79.2) - '@surma/rollup-plugin-off-main-thread': 2.2.3 - ajv: 8.17.1 - common-tags: 1.8.2 - fast-json-stable-stringify: 2.1.0 - fs-extra: 9.1.0 - glob: 7.2.3 - lodash: 4.17.21 - pretty-bytes: 5.6.0 - rollup: 2.79.2 - source-map: 0.8.0-beta.0 - stringify-object: 3.3.0 - strip-comments: 2.0.1 - tempy: 0.6.0 - upath: 1.2.0 - workbox-background-sync: 7.3.0 - workbox-broadcast-update: 7.3.0 - workbox-cacheable-response: 7.3.0 - workbox-core: 7.3.0 - workbox-expiration: 7.3.0 - workbox-google-analytics: 7.3.0 - workbox-navigation-preload: 7.3.0 - workbox-precaching: 7.3.0 - workbox-range-requests: 7.3.0 - workbox-recipes: 7.3.0 - workbox-routing: 7.3.0 - workbox-strategies: 7.3.0 - workbox-streams: 7.3.0 - workbox-sw: 7.3.0 - workbox-window: 7.3.0 - transitivePeerDependencies: - - '@types/babel__core' - - supports-color - - workbox-cacheable-response@7.3.0: - dependencies: - workbox-core: 7.3.0 - - workbox-cli@7.3.0: - dependencies: - chalk: 4.1.2 - chokidar: 3.6.0 - common-tags: 1.8.2 - fs-extra: 9.1.0 - glob: 7.2.3 - inquirer: 7.3.3 - meow: 7.1.1 - ora: 5.4.1 - pretty-bytes: 5.6.0 - stringify-object: 3.3.0 - upath: 1.2.0 - update-notifier: 4.1.3 - workbox-build: 7.3.0 - transitivePeerDependencies: - - '@types/babel__core' - - supports-color - - workbox-core@7.3.0: {} - - workbox-expiration@7.3.0: - dependencies: - idb: 7.1.1 - workbox-core: 7.3.0 - - workbox-google-analytics@7.3.0: - dependencies: - workbox-background-sync: 7.3.0 - workbox-core: 7.3.0 - workbox-routing: 7.3.0 - workbox-strategies: 7.3.0 - - workbox-navigation-preload@7.3.0: - dependencies: - workbox-core: 7.3.0 - - workbox-precaching@7.3.0: - dependencies: - workbox-core: 7.3.0 - workbox-routing: 7.3.0 - workbox-strategies: 7.3.0 - - workbox-range-requests@7.3.0: - dependencies: - workbox-core: 7.3.0 - - workbox-recipes@7.3.0: - dependencies: - workbox-cacheable-response: 7.3.0 - workbox-core: 7.3.0 - workbox-expiration: 7.3.0 - workbox-precaching: 7.3.0 - workbox-routing: 7.3.0 - workbox-strategies: 7.3.0 - - workbox-routing@7.3.0: - dependencies: - workbox-core: 7.3.0 - - workbox-strategies@7.3.0: - dependencies: - workbox-core: 7.3.0 - - workbox-streams@7.3.0: - dependencies: - workbox-core: 7.3.0 - workbox-routing: 7.3.0 - - workbox-sw@7.3.0: {} - - workbox-window@7.3.0: - dependencies: - '@types/trusted-types': 2.0.7 - workbox-core: 7.3.0 - - wrap-ansi@9.0.0: - dependencies: - ansi-styles: 6.2.1 - string-width: 7.2.0 - strip-ansi: 7.1.0 - - wrappy@1.0.2: {} - - write-file-atomic@3.0.3: - dependencies: - imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.7 - typedarray-to-buffer: 3.1.5 - - xdg-basedir@4.0.0: {} - - xdg-basedir@5.1.0: {} - - yallist@3.1.1: {} - - yaml@2.7.0: {} - - yargs-parser@18.1.3: - dependencies: - camelcase: 5.3.1 - decamelize: 1.2.0 - - yocto-queue@0.1.0: {} diff --git a/src/global.d.ts b/src/global.d.ts deleted file mode 100644 index 823651e..0000000 --- a/src/global.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -declare module '*.module.css' { - const map: Record; - export = map; -} -declare module '*.module.less' { - const map: Record; - export = map; -} -declare module '*.gif' { - const path: string; - export default path; -} -declare module '*.png' { - const path: string; - export default path; -} -declare module '*.jpg' { - const path: string; - export default path; -} -declare module '*.jpeg' { - const path: string; - export default path; -} -declare module '*.svg' { - const path: string; - export default path; -} -declare module '*.webp' { - const path: string; - export default path; -} - -declare module 'browser-unhandled-rejection' { - export function auto(): any; -} diff --git a/src/index.css b/src/index.css deleted file mode 100644 index d4b5078..0000000 --- a/src/index.css +++ /dev/null @@ -1 +0,0 @@ -@import 'http://github.com/tailwindcss'; diff --git a/src/index.html b/src/index.html deleted file mode 100644 index f9f4e2a..0000000 --- a/src/index.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - WebCell-mobile - - - - - - - - - - - - - - - - - - - - diff --git a/src/index.tsx b/src/index.tsx deleted file mode 100644 index 1e58619..0000000 --- a/src/index.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import { auto } from 'browser-unhandled-rejection'; -import { DOMRenderer } from 'dom-renderer'; -import { configure } from 'mobx'; -import { documentReady, serviceWorkerUpdate } from 'web-utility'; - -import { PageBox } from './page'; -import { renderMode } from './utility'; - -auto(); - -configure({ enforceActions: 'never' }); - -self.addEventListener('unhandledrejection', ({ reason }) => { - const { message } = reason as Error; - - if (message) self.alert(message); -}); - -const { serviceWorker } = window.navigator; - -if (process.env.NODE_ENV !== 'development') - serviceWorker - ?.register('sw.js') - .then(serviceWorkerUpdate) - .then(worker => { - if ( - window.confirm( - 'New version of this Web App detected, update now?' - ) - ) - worker.postMessage({ type: 'SKIP_WAITING' }); - }); - -serviceWorker?.addEventListener('controllerchange', () => - window.location.reload() -); - -documentReady.then(() => - new DOMRenderer().render(, document.body, renderMode) -); diff --git a/src/index.webmanifest b/src/index.webmanifest deleted file mode 100644 index a762576..0000000 --- a/src/index.webmanifest +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "WebCell-mobile", - "short_name": "WC demo", - "start_url": ".", - "description": "Mobile App scaffold of WebCell v3", - "scope": "/", - "display": "standalone", - "orientation": "any", - "lang": "en-US", - "dir": "ltr", - "theme_color": "rgba(0,0,0,0.5)", - "background_color": "transparent", - "icons": [ - { - "src": "image/WebCell-0.png", - "type": "image/png", - "sizes": "300x300" - } - ] -} diff --git a/src/model/Company.ts b/src/model/Company.ts deleted file mode 100644 index d48be85..0000000 --- a/src/model/Company.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { observable } from 'mobx'; - -import { service } from './service'; - -export type WorkType = '996' | '955'; - -export interface Evidence { - title: string; - href?: string; -} - -export interface Company - extends Record<'name' | 'city' | 'rule' | 'date' | 'comment_url', string> { - url?: string; - evidences: Evidence[]; -} - -export class CompanyModel { - @observable - accessor list: Company[] = []; - - async getList(type: WorkType) { - const { body } = await service.get(`${type}.json`); - - return (this.list = body!.sort(({ date: A }, { date: B }) => - B.localeCompare(A) - )); - } -} - -export default new CompanyModel(); diff --git a/src/model/service.ts b/src/model/service.ts deleted file mode 100644 index e1d11c6..0000000 --- a/src/model/service.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { HTTPClient } from 'koajax'; - -export const service = new HTTPClient({ - baseURI: 'https://fcc-cd.dev/996-data/', - responseType: 'json' -}); diff --git a/src/page/CompanyList.tsx b/src/page/CompanyList.tsx deleted file mode 100644 index 525c1d4..0000000 --- a/src/page/CompanyList.tsx +++ /dev/null @@ -1,91 +0,0 @@ -import 'mdui/components/button'; -import 'mdui/components/card'; - -import { observable } from 'mobx'; -import { attribute, component, observer, reaction, WebCell } from 'web-cell'; - -import companyStore, { Company, WorkType } from '../model/Company'; -import { renderMode } from '../utility'; - -export interface CompanyListProps { - type: WorkType; -} - -export interface CompanyList extends WebCell {} - -@component({ tagName: 'company-list', renderMode }) -@observer -export class CompanyList - extends HTMLElement - implements WebCell -{ - @attribute - @observable - accessor type: WorkType = '996'; - - @reaction(({ type }) => type) - mountedCallback() { - companyStore.getList(this.type); - } - - renderCase = ({ - name, - url, - city, - rule, - evidences, - date, - comment_url - }: Company) => ( - -

- {url ? ( - - {name} - - ) : ( - name - )} -

-
-

{city}

-

{rule}

- -
    - {evidences.map(({ href, title }) => ( -
  1. - - {title} - -
  2. - ))} -
-
-
- - - Comment - -
-
- ); - - render() { - const { list } = companyStore; - - return ( -
    - {list.map(item => ( -
  • {this.renderCase(item)}
  • - ))} -
- ); - } -} diff --git a/src/page/index.tsx b/src/page/index.tsx deleted file mode 100644 index e7faffa..0000000 --- a/src/page/index.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import 'mdui/components/button-icon'; -import 'mdui/components/layout'; -import 'mdui/components/layout-item'; -import 'mdui/components/layout-main'; -import 'mdui/components/list'; -import 'mdui/components/list-item'; -import 'mdui/components/navigation-drawer'; -import 'mdui/components/top-app-bar'; -import 'mdui/components/top-app-bar-title'; - -import { createRouter } from 'cell-router'; -import { observable } from 'mobx'; -import { attribute, component, observer } from 'web-cell'; - -import { renderMode } from '../utility'; -import { CompanyList } from './CompanyList'; - -const { Route } = createRouter(); - -@component({ tagName: 'page-box', renderMode }) -@observer -export class PageBox extends HTMLElement { - @attribute - @observable - accessor drawerOpen = false; - - render() { - const { drawerOpen } = this; - - return ( - - - (this.drawerOpen = !this.drawerOpen)} - /> - Anti 996 -
- - - - (this.drawerOpen = false)} - > - (this.drawerOpen = false)}> - 996 - 955 - - - - - - - - ); - } -} diff --git a/src/utility.ts b/src/utility.ts deleted file mode 100644 index 2219ab1..0000000 --- a/src/utility.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { parseURLData } from 'web-utility'; - -export const { renderMode = 'sync' } = parseURLData() as { - renderMode?: 'sync'; -}; diff --git a/sw.js b/sw.js new file mode 100644 index 0000000..2c68ac8 --- /dev/null +++ b/sw.js @@ -0,0 +1,2 @@ +if(!self.define){let e,s={};const i=(i,o)=>(i=new URL(i+".js",o).href,s[i]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()})).then((()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e})));self.define=(o,r)=>{const t=e||("document"in self?document.currentScript.src:"")||location.href;if(s[t])return;let n={};const c=e=>i(e,t),f={module:{uri:t},exports:n,require:c};s[t]=Promise.all(o.map((e=>f[e]||c(e)))).then((e=>(r(...e),n)))}}define(["./workbox-84c915bb"],(function(e){"use strict";importScripts("https://unpkg.com/workbox-sw@7.3.0/build/workbox-sw.js"),self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.clientsClaim(),e.precacheAndRoute([{url:"index.5c60cf67.css",revision:"f74e7fcee6935a8076f38f38ec2bf914"},{url:"index.ae813e81.js",revision:"b5a39470a0b886688970b850fffbfb06"},{url:"index.html",revision:"608d722838b60dec953758a72ce50cb8"},{url:"WebCell-0.a6336415.png",revision:"30396e4f6ea61dc30e12a382180f225b"}],{}),e.cleanupOutdatedCaches()})); +//# sourceMappingURL=sw.js.map diff --git a/sw.js.map b/sw.js.map new file mode 100644 index 0000000..a047e21 --- /dev/null +++ b/sw.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sw.js","sources":["../../../../../tmp/cebdec485d7d3ad23cc73aa089cb7454/sw.js"],"sourcesContent":["import {clientsClaim as workbox_core_clientsClaim} from '/home/runner/work/WebCell-mobile/WebCell-mobile/node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/clientsClaim.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/home/runner/work/WebCell-mobile/WebCell-mobile/node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/precacheAndRoute.mjs';\nimport {cleanupOutdatedCaches as workbox_precaching_cleanupOutdatedCaches} from '/home/runner/work/WebCell-mobile/WebCell-mobile/node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/cleanupOutdatedCaches.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\nimportScripts(\n \"https://unpkg.com/workbox-sw@7.3.0/build/workbox-sw.js/"\n);\n\n\n\n\n\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\nworkbox_core_clientsClaim();\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"index.5c60cf67.css\",\n \"revision\": \"f74e7fcee6935a8076f38f38ec2bf914\"\n },\n {\n \"url\": \"index.ae813e81.js\",\n \"revision\": \"b5a39470a0b886688970b850fffbfb06\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"608d722838b60dec953758a72ce50cb8\"\n },\n {\n \"url\": \"WebCell-0.a6336415.png\",\n \"revision\": \"30396e4f6ea61dc30e12a382180f225b\"\n }\n], {});\nworkbox_precaching_cleanupOutdatedCaches();\n\n\n\n\n\n\n\n"],"names":["importScripts","self","addEventListener","event","data","type","skipWaiting","workbox_core_clientsClaim","workbox_precaching_precacheAndRoute","url","revision","workbox_precaching_cleanupOutdatedCaches"],"mappings":"0nBAeAA,cACE,0DASFC,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,aACP,IAGFC,EAAAA,eAQAC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,qCAEb,CAAE,GACLC,EAAAA"} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index aac9796..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "compilerOptions": { - "target": "ES6", - "module": "ES2020", - "allowJs": true, - "checkJs": true, - "skipLibCheck": true, - "strict": true, - "moduleResolution": "Node", - "allowSyntheticDefaultImports": true, - "useDefineForClassFields": true, - "jsx": "react-jsx", - "jsxImportSource": "dom-renderer", - "lib": ["ES2023", "DOM"], - "outDir": "dist" - }, - "include": ["src/**/*", "eslint.config.ts", "workbox-config.js"] -} diff --git a/workbox-84c915bb.js b/workbox-84c915bb.js new file mode 100644 index 0000000..622c7c3 --- /dev/null +++ b/workbox-84c915bb.js @@ -0,0 +1,2 @@ +define(["exports"],(function(t){"use strict";try{self["workbox:core:7.2.0"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}try{self["workbox:routing:7.2.0"]&&_()}catch(t){}const n=t=>t&&"object"==typeof t?t:{handle:t};class i{constructor(t,e,s="GET"){this.handler=n(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=n(t)}}class r extends i{constructor(t,e,s){super((({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)}),e,s)}}class o{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",(t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map((e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})})));t.waitUntil(s),t.ports&&t.ports[0]&&s.then((()=>t.ports[0].postMessage(!0)))}}))}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:i,route:r}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let o=r&&r.handler;const a=t.method;if(!o&&this.i.has(a)&&(o=this.i.get(a)),!o)return;let c;try{c=o.handle({url:s,request:t,event:e,params:i})}catch(t){c=Promise.reject(t)}const h=r&&r.catchHandler;return c instanceof Promise&&(this.o||h)&&(c=c.catch((async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:i})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n}))),c}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const i=this.t.get(s.method)||[];for(const r of i){let i;const o=r.match({url:t,sameOrigin:e,request:s,event:n});if(o)return i=o,(Array.isArray(i)&&0===i.length||o.constructor===Object&&0===Object.keys(o).length||"boolean"==typeof o)&&(i=void 0),{route:r,params:i}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,n(t))}setCatchHandler(t){this.o=n(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let a;const c={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},h=t=>[c.prefix,t,c.suffix].filter((t=>t&&t.length>0)).join("-"),u=t=>t||h(c.precache),l=t=>t||h(c.runtime);function f(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:7.2.0"]&&_()}catch(t){}function w(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const i=new URL(n,location.href),r=new URL(n,location.href);return i.searchParams.set("__WB_REVISION__",e),{cacheKey:i.href,url:r.href}}class d{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class p{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this.h.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this.h=t}}let y;async function g(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const i=t.clone(),r={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=e?e(r):r,a=function(){if(void 0===y){const t=new Response("");if("body"in t)try{new Response(t.body),y=!0}catch(t){y=!1}y=!1}return y}()?i.body:await i.blob();return new Response(a,o)}function R(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class m{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}}const v=new Set;try{self["workbox:strategies:7.2.0"]&&_()}catch(t){}function q(t){return"string"==typeof t?new Request(t):t}class U{constructor(t,e){this.u={},Object.assign(this,e),this.event=e.event,this.l=t,this.p=new m,this.R=[],this.m=[...t.plugins],this.v=new Map;for(const t of this.m)this.v.set(t,{});this.event.waitUntil(this.p.promise)}async fetch(t){const{event:e}=this;let n=q(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const i=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const r=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.l.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:r,response:t});return t}catch(t){throw i&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:i.clone(),request:r.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=q(t);let s;const{cacheName:n,matchOptions:i}=this.l,r=await this.getCacheKey(e,"read"),o=Object.assign(Object.assign({},i),{cacheName:n});s=await caches.match(r,o);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:i,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(t,e){const n=q(t);var i;await(i=0,new Promise((t=>setTimeout(t,i))));const r=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(o=r.url,new URL(String(o),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var o;const a=await this.q(e);if(!a)return!1;const{cacheName:c,matchOptions:h}=this.l,u=await self.caches.open(c),l=this.hasCallback("cacheDidUpdate"),f=l?await async function(t,e,s,n){const i=R(e.url,s);if(e.url===i)return t.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),o=await t.keys(e,r);for(const e of o)if(i===R(e.url,s))return t.match(e,n)}(u,r.clone(),["__WB_REVISION__"],h):null;try{await u.put(r,l?a.clone():a)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of v)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:c,oldResponse:f,newResponse:a.clone(),request:r,event:this.event});return!0}async getCacheKey(t,e){const s=`${t.url} | ${e}`;if(!this.u[s]){let n=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))n=q(await t({mode:e,request:n,event:this.event,params:this.params}));this.u[s]=n}return this.u[s]}hasCallback(t){for(const e of this.l.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.l.plugins)if("function"==typeof e[t]){const s=this.v.get(e),n=n=>{const i=Object.assign(Object.assign({},n),{state:s});return e[t](i)};yield n}}waitUntil(t){return this.R.push(t),t}async doneWaiting(){let t;for(;t=this.R.shift();)await t}destroy(){this.p.resolve(null)}async q(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class L{constructor(t={}){this.cacheName=l(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,i=new U(this,{event:e,request:s,params:n}),r=this.U(i,s,e);return[r,this.L(r,i,s,e)]}async U(t,e,n){let i;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(i=await this._(e,t),!i||"error"===i.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const r of t.iterateCallbacks("handlerDidError"))if(i=await r({error:s,event:n,request:e}),i)break;if(!i)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))i=await s({event:n,request:e,response:i});return i}async L(t,e,s,n){let i,r;try{i=await t}catch(r){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:i}),await e.doneWaiting()}catch(t){t instanceof Error&&(r=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:i,error:r}),e.destroy(),r)throw r}}class b extends L{constructor(t={}){t.cacheName=u(t.cacheName),super(t),this.C=!1!==t.fallbackToNetwork,this.plugins.push(b.copyRedirectedCacheableResponsesPlugin)}async _(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.O(t,e):await this.N(t,e))}async N(t,e){let n;const i=e.params||{};if(!this.C)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=i.integrity,r=t.integrity,o=!r||r===s;n=await e.fetch(new Request(t,{integrity:"no-cors"!==t.mode?r||s:void 0})),s&&o&&"no-cors"!==t.mode&&(this.k(),await e.cachePut(t,n.clone()))}return n}async O(t,e){this.k();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}k(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==b.copyRedirectedCacheableResponsesPlugin&&(n===b.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(b.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}b.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},b.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await g(t):t};class C{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.K=new Map,this.P=new Map,this.T=new Map,this.l=new b({cacheName:u(t),plugins:[...e,new p({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.l}precache(t){this.addToCacheList(t),this.W||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.W=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:i}=w(n),r="string"!=typeof n&&n.revision?"reload":"default";if(this.K.has(i)&&this.K.get(i)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.K.get(i),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.T.has(t)&&this.T.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:i});this.T.set(t,n.integrity)}if(this.K.set(i,t),this.P.set(i,r),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return f(t,(async()=>{const e=new d;this.strategy.plugins.push(e);for(const[e,s]of this.K){const n=this.T.get(s),i=this.P.get(e),r=new Request(e,{integrity:n,cache:i,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}}))}activate(t){return f(t,(async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.K.values()),n=[];for(const i of e)s.has(i.url)||(await t.delete(i),n.push(i.url));return{deletedURLs:n}}))}getURLsToCacheKeys(){return this.K}getCachedURLs(){return[...this.K.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.K.get(e.href)}getIntegrityForCacheKey(t){return this.T.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}let E;const O=()=>(E||(E=new C),E);class x extends i{constructor(t,e){super((({request:s})=>{const n=t.getURLsToCacheKeys();for(const i of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:i}={}){const r=new URL(t,location.href);r.hash="",yield r.href;const o=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some((t=>t.test(s)))&&t.searchParams.delete(s);return t}(r,e);if(yield o.href,s&&o.pathname.endsWith("/")){const t=new URL(o.href);t.pathname+=s,yield t.href}if(n){const t=new URL(o.href);t.pathname+=".html",yield t.href}if(i){const t=i({url:r});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(i);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}}),t.strategy)}}function N(t){const e=O();!function(t,e,n){let c;if("string"==typeof t){const s=new URL(t,location.href);c=new i((({url:t})=>t.href===s.href),e,n)}else if(t instanceof RegExp)c=new r(t,e,n);else if("function"==typeof t)c=new i(t,e,n);else{if(!(t instanceof i))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});c=t}(a||(a=new o,a.addFetchListener(),a.addCacheListener()),a).registerRoute(c)}(new x(e,t))}t.cleanupOutdatedCaches=function(){self.addEventListener("activate",(t=>{const e=u();t.waitUntil((async(t,e="-precache-")=>{const s=(await self.caches.keys()).filter((s=>s.includes(e)&&s.includes(self.registration.scope)&&s!==t));return await Promise.all(s.map((t=>self.caches.delete(t)))),s})(e).then((t=>{})))}))},t.clientsClaim=function(){self.addEventListener("activate",(()=>self.clients.claim()))},t.precacheAndRoute=function(t,e){!function(t){O().precache(t)}(t),N(e)}})); +//# sourceMappingURL=workbox-84c915bb.js.map diff --git a/workbox-84c915bb.js.map b/workbox-84c915bb.js.map new file mode 100644 index 0000000..0c2d3a4 --- /dev/null +++ b/workbox-84c915bb.js.map @@ -0,0 +1 @@ +{"version":3,"file":"workbox-84c915bb.js","sources":["node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_version.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/logger.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/models/messages/messageGenerator.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/WorkboxError.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/_version.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/utils/constants.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/utils/normalizeHandler.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/Route.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/RegExpRoute.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/Router.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/utils/getOrCreateDefaultRouter.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/cacheNames.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/waitUntil.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/_version.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/createCacheKey.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/PrecacheInstallReportPlugin.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/PrecacheCacheKeyPlugin.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/canConstructResponseFromBodyStream.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/copyResponse.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/cacheMatchIgnoreParams.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/Deferred.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/models/quotaErrorCallbacks.js","node_modules/.pnpm/workbox-strategies@7.3.0/node_modules/workbox-strategies/_version.js","node_modules/.pnpm/workbox-strategies@7.3.0/node_modules/workbox-strategies/StrategyHandler.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/timeout.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/getFriendlyURL.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/executeQuotaErrorCallbacks.js","node_modules/.pnpm/workbox-strategies@7.3.0/node_modules/workbox-strategies/Strategy.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/PrecacheStrategy.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/PrecacheController.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/getOrCreatePrecacheController.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/PrecacheRoute.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/generateURLVariations.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/removeIgnoredSearchParams.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/addRoute.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/registerRoute.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/cleanupOutdatedCaches.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/deleteOutdatedCaches.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/clientsClaim.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/precacheAndRoute.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/precache.js"],"sourcesContent":["\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:core:7.2.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst logger = (process.env.NODE_ENV === 'production'\n ? null\n : (() => {\n // Don't overwrite this value if it's already set.\n // See https://github.com/GoogleChrome/workbox/pull/2284#issuecomment-560470923\n if (!('__WB_DISABLE_DEV_LOGS' in globalThis)) {\n self.__WB_DISABLE_DEV_LOGS = false;\n }\n let inGroup = false;\n const methodToColorMap = {\n debug: `#7f8c8d`,\n log: `#2ecc71`,\n warn: `#f39c12`,\n error: `#c0392b`,\n groupCollapsed: `#3498db`,\n groupEnd: null, // No colored prefix on groupEnd\n };\n const print = function (method, args) {\n if (self.__WB_DISABLE_DEV_LOGS) {\n return;\n }\n if (method === 'groupCollapsed') {\n // Safari doesn't print all console.groupCollapsed() arguments:\n // https://bugs.webkit.org/show_bug.cgi?id=182754\n if (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n console[method](...args);\n return;\n }\n }\n const styles = [\n `background: ${methodToColorMap[method]}`,\n `border-radius: 0.5em`,\n `color: white`,\n `font-weight: bold`,\n `padding: 2px 0.5em`,\n ];\n // When in a group, the workbox prefix is not displayed.\n const logPrefix = inGroup ? [] : ['%cworkbox', styles.join(';')];\n console[method](...logPrefix, ...args);\n if (method === 'groupCollapsed') {\n inGroup = true;\n }\n if (method === 'groupEnd') {\n inGroup = false;\n }\n };\n // eslint-disable-next-line @typescript-eslint/ban-types\n const api = {};\n const loggerMethods = Object.keys(methodToColorMap);\n for (const key of loggerMethods) {\n const method = key;\n api[method] = (...args) => {\n print(method, args);\n };\n }\n return api;\n })());\nexport { logger };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { messages } from './messages.js';\nimport '../../_version.js';\nconst fallback = (code, ...args) => {\n let msg = code;\n if (args.length > 0) {\n msg += ` :: ${JSON.stringify(args)}`;\n }\n return msg;\n};\nconst generatorFunction = (code, details = {}) => {\n const message = messages[code];\n if (!message) {\n throw new Error(`Unable to find message for code '${code}'.`);\n }\n return message(details);\n};\nexport const messageGenerator = process.env.NODE_ENV === 'production' ? fallback : generatorFunction;\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { messageGenerator } from '../models/messages/messageGenerator.js';\nimport '../_version.js';\n/**\n * Workbox errors should be thrown with this class.\n * This allows use to ensure the type easily in tests,\n * helps developers identify errors from workbox\n * easily and allows use to optimise error\n * messages correctly.\n *\n * @private\n */\nclass WorkboxError extends Error {\n /**\n *\n * @param {string} errorCode The error code that\n * identifies this particular error.\n * @param {Object=} details Any relevant arguments\n * that will help developers identify issues should\n * be added as a key on the context object.\n */\n constructor(errorCode, details) {\n const message = messageGenerator(errorCode, details);\n super(message);\n this.name = errorCode;\n this.details = details;\n }\n}\nexport { WorkboxError };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:routing:7.2.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * The default HTTP method, 'GET', used when there's no specific method\n * configured for a route.\n *\n * @type {string}\n *\n * @private\n */\nexport const defaultMethod = 'GET';\n/**\n * The list of valid HTTP methods associated with requests that could be routed.\n *\n * @type {Array}\n *\n * @private\n */\nexport const validMethods = [\n 'DELETE',\n 'GET',\n 'HEAD',\n 'PATCH',\n 'POST',\n 'PUT',\n];\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport '../_version.js';\n/**\n * @param {function()|Object} handler Either a function, or an object with a\n * 'handle' method.\n * @return {Object} An object with a handle method.\n *\n * @private\n */\nexport const normalizeHandler = (handler) => {\n if (handler && typeof handler === 'object') {\n if (process.env.NODE_ENV !== 'production') {\n assert.hasMethod(handler, 'handle', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'handler',\n });\n }\n return handler;\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(handler, 'function', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'handler',\n });\n }\n return { handle: handler };\n }\n};\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { defaultMethod, validMethods } from './utils/constants.js';\nimport { normalizeHandler } from './utils/normalizeHandler.js';\nimport './_version.js';\n/**\n * A `Route` consists of a pair of callback functions, \"match\" and \"handler\".\n * The \"match\" callback determine if a route should be used to \"handle\" a\n * request by returning a non-falsy value if it can. The \"handler\" callback\n * is called when there is a match and should return a Promise that resolves\n * to a `Response`.\n *\n * @memberof workbox-routing\n */\nclass Route {\n /**\n * Constructor for Route class.\n *\n * @param {workbox-routing~matchCallback} match\n * A callback function that determines whether the route matches a given\n * `fetch` event by returning a non-falsy value.\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resolving to a Response.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n */\n constructor(match, handler, method = defaultMethod) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(match, 'function', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'match',\n });\n if (method) {\n assert.isOneOf(method, validMethods, { paramName: 'method' });\n }\n }\n // These values are referenced directly by Router so cannot be\n // altered by minificaton.\n this.handler = normalizeHandler(handler);\n this.match = match;\n this.method = method;\n }\n /**\n *\n * @param {workbox-routing-handlerCallback} handler A callback\n * function that returns a Promise resolving to a Response\n */\n setCatchHandler(handler) {\n this.catchHandler = normalizeHandler(handler);\n }\n}\nexport { Route };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { Route } from './Route.js';\nimport './_version.js';\n/**\n * RegExpRoute makes it easy to create a regular expression based\n * {@link workbox-routing.Route}.\n *\n * For same-origin requests the RegExp only needs to match part of the URL. For\n * requests against third-party servers, you must define a RegExp that matches\n * the start of the URL.\n *\n * @memberof workbox-routing\n * @extends workbox-routing.Route\n */\nclass RegExpRoute extends Route {\n /**\n * If the regular expression contains\n * [capture groups]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#grouping-back-references},\n * the captured values will be passed to the\n * {@link workbox-routing~handlerCallback} `params`\n * argument.\n *\n * @param {RegExp} regExp The regular expression to match against URLs.\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n */\n constructor(regExp, handler, method) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(regExp, RegExp, {\n moduleName: 'workbox-routing',\n className: 'RegExpRoute',\n funcName: 'constructor',\n paramName: 'pattern',\n });\n }\n const match = ({ url }) => {\n const result = regExp.exec(url.href);\n // Return immediately if there's no match.\n if (!result) {\n return;\n }\n // Require that the match start at the first character in the URL string\n // if it's a cross-origin request.\n // See https://github.com/GoogleChrome/workbox/issues/281 for the context\n // behind this behavior.\n if (url.origin !== location.origin && result.index !== 0) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`The regular expression '${regExp.toString()}' only partially matched ` +\n `against the cross-origin URL '${url.toString()}'. RegExpRoute's will only ` +\n `handle cross-origin requests if they match the entire URL.`);\n }\n return;\n }\n // If the route matches, but there aren't any capture groups defined, then\n // this will return [], which is truthy and therefore sufficient to\n // indicate a match.\n // If there are capture groups, then it will return their values.\n return result.slice(1);\n };\n super(match, handler, method);\n }\n}\nexport { RegExpRoute };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { defaultMethod } from './utils/constants.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { normalizeHandler } from './utils/normalizeHandler.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport './_version.js';\n/**\n * The Router can be used to process a `FetchEvent` using one or more\n * {@link workbox-routing.Route}, responding with a `Response` if\n * a matching route exists.\n *\n * If no route matches a given a request, the Router will use a \"default\"\n * handler if one is defined.\n *\n * Should the matching Route throw an error, the Router will use a \"catch\"\n * handler if one is defined to gracefully deal with issues and respond with a\n * Request.\n *\n * If a request matches multiple routes, the **earliest** registered route will\n * be used to respond to the request.\n *\n * @memberof workbox-routing\n */\nclass Router {\n /**\n * Initializes a new Router.\n */\n constructor() {\n this._routes = new Map();\n this._defaultHandlerMap = new Map();\n }\n /**\n * @return {Map>} routes A `Map` of HTTP\n * method name ('GET', etc.) to an array of all the corresponding `Route`\n * instances that are registered.\n */\n get routes() {\n return this._routes;\n }\n /**\n * Adds a fetch event listener to respond to events when a route matches\n * the event's request.\n */\n addFetchListener() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('fetch', ((event) => {\n const { request } = event;\n const responsePromise = this.handleRequest({ request, event });\n if (responsePromise) {\n event.respondWith(responsePromise);\n }\n }));\n }\n /**\n * Adds a message event listener for URLs to cache from the window.\n * This is useful to cache resources loaded on the page prior to when the\n * service worker started controlling it.\n *\n * The format of the message data sent from the window should be as follows.\n * Where the `urlsToCache` array may consist of URL strings or an array of\n * URL string + `requestInit` object (the same as you'd pass to `fetch()`).\n *\n * ```\n * {\n * type: 'CACHE_URLS',\n * payload: {\n * urlsToCache: [\n * './script1.js',\n * './script2.js',\n * ['./script3.js', {mode: 'no-cors'}],\n * ],\n * },\n * }\n * ```\n */\n addCacheListener() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('message', ((event) => {\n // event.data is type 'any'\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (event.data && event.data.type === 'CACHE_URLS') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const { payload } = event.data;\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Caching URLs from the window`, payload.urlsToCache);\n }\n const requestPromises = Promise.all(payload.urlsToCache.map((entry) => {\n if (typeof entry === 'string') {\n entry = [entry];\n }\n const request = new Request(...entry);\n return this.handleRequest({ request, event });\n // TODO(philipwalton): TypeScript errors without this typecast for\n // some reason (probably a bug). The real type here should work but\n // doesn't: `Array | undefined>`.\n })); // TypeScript\n event.waitUntil(requestPromises);\n // If a MessageChannel was used, reply to the message on success.\n if (event.ports && event.ports[0]) {\n void requestPromises.then(() => event.ports[0].postMessage(true));\n }\n }\n }));\n }\n /**\n * Apply the routing rules to a FetchEvent object to get a Response from an\n * appropriate Route's handler.\n *\n * @param {Object} options\n * @param {Request} options.request The request to handle.\n * @param {ExtendableEvent} options.event The event that triggered the\n * request.\n * @return {Promise|undefined} A promise is returned if a\n * registered route can handle the request. If there is no matching\n * route and there's no `defaultHandler`, `undefined` is returned.\n */\n handleRequest({ request, event, }) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(request, Request, {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'handleRequest',\n paramName: 'options.request',\n });\n }\n const url = new URL(request.url, location.href);\n if (!url.protocol.startsWith('http')) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Workbox Router only supports URLs that start with 'http'.`);\n }\n return;\n }\n const sameOrigin = url.origin === location.origin;\n const { params, route } = this.findMatchingRoute({\n event,\n request,\n sameOrigin,\n url,\n });\n let handler = route && route.handler;\n const debugMessages = [];\n if (process.env.NODE_ENV !== 'production') {\n if (handler) {\n debugMessages.push([`Found a route to handle this request:`, route]);\n if (params) {\n debugMessages.push([\n `Passing the following params to the route's handler:`,\n params,\n ]);\n }\n }\n }\n // If we don't have a handler because there was no matching route, then\n // fall back to defaultHandler if that's defined.\n const method = request.method;\n if (!handler && this._defaultHandlerMap.has(method)) {\n if (process.env.NODE_ENV !== 'production') {\n debugMessages.push(`Failed to find a matching route. Falling ` +\n `back to the default handler for ${method}.`);\n }\n handler = this._defaultHandlerMap.get(method);\n }\n if (!handler) {\n if (process.env.NODE_ENV !== 'production') {\n // No handler so Workbox will do nothing. If logs is set of debug\n // i.e. verbose, we should print out this information.\n logger.debug(`No route found for: ${getFriendlyURL(url)}`);\n }\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // We have a handler, meaning Workbox is going to handle the route.\n // print the routing details to the console.\n logger.groupCollapsed(`Router is responding to: ${getFriendlyURL(url)}`);\n debugMessages.forEach((msg) => {\n if (Array.isArray(msg)) {\n logger.log(...msg);\n }\n else {\n logger.log(msg);\n }\n });\n logger.groupEnd();\n }\n // Wrap in try and catch in case the handle method throws a synchronous\n // error. It should still callback to the catch handler.\n let responsePromise;\n try {\n responsePromise = handler.handle({ url, request, event, params });\n }\n catch (err) {\n responsePromise = Promise.reject(err);\n }\n // Get route's catch handler, if it exists\n const catchHandler = route && route.catchHandler;\n if (responsePromise instanceof Promise &&\n (this._catchHandler || catchHandler)) {\n responsePromise = responsePromise.catch(async (err) => {\n // If there's a route catch handler, process that first\n if (catchHandler) {\n if (process.env.NODE_ENV !== 'production') {\n // Still include URL here as it will be async from the console group\n // and may not make sense without the URL\n logger.groupCollapsed(`Error thrown when responding to: ` +\n ` ${getFriendlyURL(url)}. Falling back to route's Catch Handler.`);\n logger.error(`Error thrown by:`, route);\n logger.error(err);\n logger.groupEnd();\n }\n try {\n return await catchHandler.handle({ url, request, event, params });\n }\n catch (catchErr) {\n if (catchErr instanceof Error) {\n err = catchErr;\n }\n }\n }\n if (this._catchHandler) {\n if (process.env.NODE_ENV !== 'production') {\n // Still include URL here as it will be async from the console group\n // and may not make sense without the URL\n logger.groupCollapsed(`Error thrown when responding to: ` +\n ` ${getFriendlyURL(url)}. Falling back to global Catch Handler.`);\n logger.error(`Error thrown by:`, route);\n logger.error(err);\n logger.groupEnd();\n }\n return this._catchHandler.handle({ url, request, event });\n }\n throw err;\n });\n }\n return responsePromise;\n }\n /**\n * Checks a request and URL (and optionally an event) against the list of\n * registered routes, and if there's a match, returns the corresponding\n * route along with any params generated by the match.\n *\n * @param {Object} options\n * @param {URL} options.url\n * @param {boolean} options.sameOrigin The result of comparing `url.origin`\n * against the current origin.\n * @param {Request} options.request The request to match.\n * @param {Event} options.event The corresponding event.\n * @return {Object} An object with `route` and `params` properties.\n * They are populated if a matching route was found or `undefined`\n * otherwise.\n */\n findMatchingRoute({ url, sameOrigin, request, event, }) {\n const routes = this._routes.get(request.method) || [];\n for (const route of routes) {\n let params;\n // route.match returns type any, not possible to change right now.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const matchResult = route.match({ url, sameOrigin, request, event });\n if (matchResult) {\n if (process.env.NODE_ENV !== 'production') {\n // Warn developers that using an async matchCallback is almost always\n // not the right thing to do.\n if (matchResult instanceof Promise) {\n logger.warn(`While routing ${getFriendlyURL(url)}, an async ` +\n `matchCallback function was used. Please convert the ` +\n `following route to use a synchronous matchCallback function:`, route);\n }\n }\n // See https://github.com/GoogleChrome/workbox/issues/2079\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n params = matchResult;\n if (Array.isArray(params) && params.length === 0) {\n // Instead of passing an empty array in as params, use undefined.\n params = undefined;\n }\n else if (matchResult.constructor === Object && // eslint-disable-line\n Object.keys(matchResult).length === 0) {\n // Instead of passing an empty object in as params, use undefined.\n params = undefined;\n }\n else if (typeof matchResult === 'boolean') {\n // For the boolean value true (rather than just something truth-y),\n // don't set params.\n // See https://github.com/GoogleChrome/workbox/pull/2134#issuecomment-513924353\n params = undefined;\n }\n // Return early if have a match.\n return { route, params };\n }\n }\n // If no match was found above, return and empty object.\n return {};\n }\n /**\n * Define a default `handler` that's called when no routes explicitly\n * match the incoming request.\n *\n * Each HTTP method ('GET', 'POST', etc.) gets its own default handler.\n *\n * Without a default handler, unmatched requests will go against the\n * network as if there were no service worker present.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {string} [method='GET'] The HTTP method to associate with this\n * default handler. Each method has its own default.\n */\n setDefaultHandler(handler, method = defaultMethod) {\n this._defaultHandlerMap.set(method, normalizeHandler(handler));\n }\n /**\n * If a Route throws an error while handling a request, this `handler`\n * will be called and given a chance to provide a response.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n */\n setCatchHandler(handler) {\n this._catchHandler = normalizeHandler(handler);\n }\n /**\n * Registers a route with the router.\n *\n * @param {workbox-routing.Route} route The route to register.\n */\n registerRoute(route) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(route, 'object', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.hasMethod(route, 'match', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.isType(route.handler, 'object', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.hasMethod(route.handler, 'handle', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route.handler',\n });\n assert.isType(route.method, 'string', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route.method',\n });\n }\n if (!this._routes.has(route.method)) {\n this._routes.set(route.method, []);\n }\n // Give precedence to all of the earlier routes by adding this additional\n // route to the end of the array.\n this._routes.get(route.method).push(route);\n }\n /**\n * Unregisters a route with the router.\n *\n * @param {workbox-routing.Route} route The route to unregister.\n */\n unregisterRoute(route) {\n if (!this._routes.has(route.method)) {\n throw new WorkboxError('unregister-route-but-not-found-with-method', {\n method: route.method,\n });\n }\n const routeIndex = this._routes.get(route.method).indexOf(route);\n if (routeIndex > -1) {\n this._routes.get(route.method).splice(routeIndex, 1);\n }\n else {\n throw new WorkboxError('unregister-route-route-not-registered');\n }\n }\n}\nexport { Router };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { Router } from '../Router.js';\nimport '../_version.js';\nlet defaultRouter;\n/**\n * Creates a new, singleton Router instance if one does not exist. If one\n * does already exist, that instance is returned.\n *\n * @private\n * @return {Router}\n */\nexport const getOrCreateDefaultRouter = () => {\n if (!defaultRouter) {\n defaultRouter = new Router();\n // The helpers that use the default Router assume these listeners exist.\n defaultRouter.addFetchListener();\n defaultRouter.addCacheListener();\n }\n return defaultRouter;\n};\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst _cacheNameDetails = {\n googleAnalytics: 'googleAnalytics',\n precache: 'precache-v2',\n prefix: 'workbox',\n runtime: 'runtime',\n suffix: typeof registration !== 'undefined' ? registration.scope : '',\n};\nconst _createCacheName = (cacheName) => {\n return [_cacheNameDetails.prefix, cacheName, _cacheNameDetails.suffix]\n .filter((value) => value && value.length > 0)\n .join('-');\n};\nconst eachCacheNameDetail = (fn) => {\n for (const key of Object.keys(_cacheNameDetails)) {\n fn(key);\n }\n};\nexport const cacheNames = {\n updateDetails: (details) => {\n eachCacheNameDetail((key) => {\n if (typeof details[key] === 'string') {\n _cacheNameDetails[key] = details[key];\n }\n });\n },\n getGoogleAnalyticsName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.googleAnalytics);\n },\n getPrecacheName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.precache);\n },\n getPrefix: () => {\n return _cacheNameDetails.prefix;\n },\n getRuntimeName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.runtime);\n },\n getSuffix: () => {\n return _cacheNameDetails.suffix;\n },\n};\n","/*\n Copyright 2020 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A utility method that makes it easier to use `event.waitUntil` with\n * async functions and return the result.\n *\n * @param {ExtendableEvent} event\n * @param {Function} asyncFn\n * @return {Function}\n * @private\n */\nfunction waitUntil(event, asyncFn) {\n const returnPromise = asyncFn();\n event.waitUntil(returnPromise);\n return returnPromise;\n}\nexport { waitUntil };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:precaching:7.2.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport '../_version.js';\n// Name of the search parameter used to store revision info.\nconst REVISION_SEARCH_PARAM = '__WB_REVISION__';\n/**\n * Converts a manifest entry into a versioned URL suitable for precaching.\n *\n * @param {Object|string} entry\n * @return {string} A URL with versioning info.\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function createCacheKey(entry) {\n if (!entry) {\n throw new WorkboxError('add-to-cache-list-unexpected-type', { entry });\n }\n // If a precache manifest entry is a string, it's assumed to be a versioned\n // URL, like '/app.abcd1234.js'. Return as-is.\n if (typeof entry === 'string') {\n const urlObject = new URL(entry, location.href);\n return {\n cacheKey: urlObject.href,\n url: urlObject.href,\n };\n }\n const { revision, url } = entry;\n if (!url) {\n throw new WorkboxError('add-to-cache-list-unexpected-type', { entry });\n }\n // If there's just a URL and no revision, then it's also assumed to be a\n // versioned URL.\n if (!revision) {\n const urlObject = new URL(url, location.href);\n return {\n cacheKey: urlObject.href,\n url: urlObject.href,\n };\n }\n // Otherwise, construct a properly versioned URL using the custom Workbox\n // search parameter along with the revision info.\n const cacheKeyURL = new URL(url, location.href);\n const originalURL = new URL(url, location.href);\n cacheKeyURL.searchParams.set(REVISION_SEARCH_PARAM, revision);\n return {\n cacheKey: cacheKeyURL.href,\n url: originalURL.href,\n };\n}\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A plugin, designed to be used with PrecacheController, to determine the\n * of assets that were updated (or not updated) during the install event.\n *\n * @private\n */\nclass PrecacheInstallReportPlugin {\n constructor() {\n this.updatedURLs = [];\n this.notUpdatedURLs = [];\n this.handlerWillStart = async ({ request, state, }) => {\n // TODO: `state` should never be undefined...\n if (state) {\n state.originalRequest = request;\n }\n };\n this.cachedResponseWillBeUsed = async ({ event, state, cachedResponse, }) => {\n if (event.type === 'install') {\n if (state &&\n state.originalRequest &&\n state.originalRequest instanceof Request) {\n // TODO: `state` should never be undefined...\n const url = state.originalRequest.url;\n if (cachedResponse) {\n this.notUpdatedURLs.push(url);\n }\n else {\n this.updatedURLs.push(url);\n }\n }\n }\n return cachedResponse;\n };\n }\n}\nexport { PrecacheInstallReportPlugin };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A plugin, designed to be used with PrecacheController, to translate URLs into\n * the corresponding cache key, based on the current revision info.\n *\n * @private\n */\nclass PrecacheCacheKeyPlugin {\n constructor({ precacheController }) {\n this.cacheKeyWillBeUsed = async ({ request, params, }) => {\n // Params is type any, can't change right now.\n /* eslint-disable */\n const cacheKey = (params === null || params === void 0 ? void 0 : params.cacheKey) ||\n this._precacheController.getCacheKeyForURL(request.url);\n /* eslint-enable */\n return cacheKey\n ? new Request(cacheKey, { headers: request.headers })\n : request;\n };\n this._precacheController = precacheController;\n }\n}\nexport { PrecacheCacheKeyPlugin };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nlet supportStatus;\n/**\n * A utility function that determines whether the current browser supports\n * constructing a new `Response` from a `response.body` stream.\n *\n * @return {boolean} `true`, if the current browser can successfully\n * construct a `Response` from a `response.body` stream, `false` otherwise.\n *\n * @private\n */\nfunction canConstructResponseFromBodyStream() {\n if (supportStatus === undefined) {\n const testResponse = new Response('');\n if ('body' in testResponse) {\n try {\n new Response(testResponse.body);\n supportStatus = true;\n }\n catch (error) {\n supportStatus = false;\n }\n }\n supportStatus = false;\n }\n return supportStatus;\n}\nexport { canConstructResponseFromBodyStream };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { canConstructResponseFromBodyStream } from './_private/canConstructResponseFromBodyStream.js';\nimport { WorkboxError } from './_private/WorkboxError.js';\nimport './_version.js';\n/**\n * Allows developers to copy a response and modify its `headers`, `status`,\n * or `statusText` values (the values settable via a\n * [`ResponseInit`]{@link https://developer.mozilla.org/en-US/docs/Web/API/Response/Response#Syntax}\n * object in the constructor).\n * To modify these values, pass a function as the second argument. That\n * function will be invoked with a single object with the response properties\n * `{headers, status, statusText}`. The return value of this function will\n * be used as the `ResponseInit` for the new `Response`. To change the values\n * either modify the passed parameter(s) and return it, or return a totally\n * new object.\n *\n * This method is intentionally limited to same-origin responses, regardless of\n * whether CORS was used or not.\n *\n * @param {Response} response\n * @param {Function} modifier\n * @memberof workbox-core\n */\nasync function copyResponse(response, modifier) {\n let origin = null;\n // If response.url isn't set, assume it's cross-origin and keep origin null.\n if (response.url) {\n const responseURL = new URL(response.url);\n origin = responseURL.origin;\n }\n if (origin !== self.location.origin) {\n throw new WorkboxError('cross-origin-copy-response', { origin });\n }\n const clonedResponse = response.clone();\n // Create a fresh `ResponseInit` object by cloning the headers.\n const responseInit = {\n headers: new Headers(clonedResponse.headers),\n status: clonedResponse.status,\n statusText: clonedResponse.statusText,\n };\n // Apply any user modifications.\n const modifiedResponseInit = modifier ? modifier(responseInit) : responseInit;\n // Create the new response from the body stream and `ResponseInit`\n // modifications. Note: not all browsers support the Response.body stream,\n // so fall back to reading the entire body into memory as a blob.\n const body = canConstructResponseFromBodyStream()\n ? clonedResponse.body\n : await clonedResponse.blob();\n return new Response(body, modifiedResponseInit);\n}\nexport { copyResponse };\n","/*\n Copyright 2020 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nfunction stripParams(fullURL, ignoreParams) {\n const strippedURL = new URL(fullURL);\n for (const param of ignoreParams) {\n strippedURL.searchParams.delete(param);\n }\n return strippedURL.href;\n}\n/**\n * Matches an item in the cache, ignoring specific URL params. This is similar\n * to the `ignoreSearch` option, but it allows you to ignore just specific\n * params (while continuing to match on the others).\n *\n * @private\n * @param {Cache} cache\n * @param {Request} request\n * @param {Object} matchOptions\n * @param {Array} ignoreParams\n * @return {Promise}\n */\nasync function cacheMatchIgnoreParams(cache, request, ignoreParams, matchOptions) {\n const strippedRequestURL = stripParams(request.url, ignoreParams);\n // If the request doesn't include any ignored params, match as normal.\n if (request.url === strippedRequestURL) {\n return cache.match(request, matchOptions);\n }\n // Otherwise, match by comparing keys\n const keysOptions = Object.assign(Object.assign({}, matchOptions), { ignoreSearch: true });\n const cacheKeys = await cache.keys(request, keysOptions);\n for (const cacheKey of cacheKeys) {\n const strippedCacheKeyURL = stripParams(cacheKey.url, ignoreParams);\n if (strippedRequestURL === strippedCacheKeyURL) {\n return cache.match(cacheKey, matchOptions);\n }\n }\n return;\n}\nexport { cacheMatchIgnoreParams };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * The Deferred class composes Promises in a way that allows for them to be\n * resolved or rejected from outside the constructor. In most cases promises\n * should be used directly, but Deferreds can be necessary when the logic to\n * resolve a promise must be separate.\n *\n * @private\n */\nclass Deferred {\n /**\n * Creates a promise and exposes its resolve and reject functions as methods.\n */\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\nexport { Deferred };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n// Callbacks to be executed whenever there's a quota error.\n// Can't change Function type right now.\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst quotaErrorCallbacks = new Set();\nexport { quotaErrorCallbacks };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:strategies:7.2.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { cacheMatchIgnoreParams } from 'workbox-core/_private/cacheMatchIgnoreParams.js';\nimport { Deferred } from 'workbox-core/_private/Deferred.js';\nimport { executeQuotaErrorCallbacks } from 'workbox-core/_private/executeQuotaErrorCallbacks.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { timeout } from 'workbox-core/_private/timeout.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport './_version.js';\nfunction toRequest(input) {\n return typeof input === 'string' ? new Request(input) : input;\n}\n/**\n * A class created every time a Strategy instance instance calls\n * {@link workbox-strategies.Strategy~handle} or\n * {@link workbox-strategies.Strategy~handleAll} that wraps all fetch and\n * cache actions around plugin callbacks and keeps track of when the strategy\n * is \"done\" (i.e. all added `event.waitUntil()` promises have resolved).\n *\n * @memberof workbox-strategies\n */\nclass StrategyHandler {\n /**\n * Creates a new instance associated with the passed strategy and event\n * that's handling the request.\n *\n * The constructor also initializes the state that will be passed to each of\n * the plugins handling this request.\n *\n * @param {workbox-strategies.Strategy} strategy\n * @param {Object} options\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params] The return value from the\n * {@link workbox-routing~matchCallback} (if applicable).\n */\n constructor(strategy, options) {\n this._cacheKeys = {};\n /**\n * The request the strategy is performing (passed to the strategy's\n * `handle()` or `handleAll()` method).\n * @name request\n * @instance\n * @type {Request}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * The event associated with this request.\n * @name event\n * @instance\n * @type {ExtendableEvent}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * A `URL` instance of `request.url` (if passed to the strategy's\n * `handle()` or `handleAll()` method).\n * Note: the `url` param will be present if the strategy was invoked\n * from a workbox `Route` object.\n * @name url\n * @instance\n * @type {URL|undefined}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * A `param` value (if passed to the strategy's\n * `handle()` or `handleAll()` method).\n * Note: the `param` param will be present if the strategy was invoked\n * from a workbox `Route` object and the\n * {@link workbox-routing~matchCallback} returned\n * a truthy value (it will be that value).\n * @name params\n * @instance\n * @type {*|undefined}\n * @memberof workbox-strategies.StrategyHandler\n */\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(options.event, ExtendableEvent, {\n moduleName: 'workbox-strategies',\n className: 'StrategyHandler',\n funcName: 'constructor',\n paramName: 'options.event',\n });\n }\n Object.assign(this, options);\n this.event = options.event;\n this._strategy = strategy;\n this._handlerDeferred = new Deferred();\n this._extendLifetimePromises = [];\n // Copy the plugins list (since it's mutable on the strategy),\n // so any mutations don't affect this handler instance.\n this._plugins = [...strategy.plugins];\n this._pluginStateMap = new Map();\n for (const plugin of this._plugins) {\n this._pluginStateMap.set(plugin, {});\n }\n this.event.waitUntil(this._handlerDeferred.promise);\n }\n /**\n * Fetches a given request (and invokes any applicable plugin callback\n * methods) using the `fetchOptions` (for non-navigation requests) and\n * `plugins` defined on the `Strategy` object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - `requestWillFetch()`\n * - `fetchDidSucceed()`\n * - `fetchDidFail()`\n *\n * @param {Request|string} input The URL or request to fetch.\n * @return {Promise}\n */\n async fetch(input) {\n const { event } = this;\n let request = toRequest(input);\n if (request.mode === 'navigate' &&\n event instanceof FetchEvent &&\n event.preloadResponse) {\n const possiblePreloadResponse = (await event.preloadResponse);\n if (possiblePreloadResponse) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`Using a preloaded navigation response for ` +\n `'${getFriendlyURL(request.url)}'`);\n }\n return possiblePreloadResponse;\n }\n }\n // If there is a fetchDidFail plugin, we need to save a clone of the\n // original request before it's either modified by a requestWillFetch\n // plugin or before the original request's body is consumed via fetch().\n const originalRequest = this.hasCallback('fetchDidFail')\n ? request.clone()\n : null;\n try {\n for (const cb of this.iterateCallbacks('requestWillFetch')) {\n request = await cb({ request: request.clone(), event });\n }\n }\n catch (err) {\n if (err instanceof Error) {\n throw new WorkboxError('plugin-error-request-will-fetch', {\n thrownErrorMessage: err.message,\n });\n }\n }\n // The request can be altered by plugins with `requestWillFetch` making\n // the original request (most likely from a `fetch` event) different\n // from the Request we make. Pass both to `fetchDidFail` to aid debugging.\n const pluginFilteredRequest = request.clone();\n try {\n let fetchResponse;\n // See https://github.com/GoogleChrome/workbox/issues/1796\n fetchResponse = await fetch(request, request.mode === 'navigate' ? undefined : this._strategy.fetchOptions);\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Network request for ` +\n `'${getFriendlyURL(request.url)}' returned a response with ` +\n `status '${fetchResponse.status}'.`);\n }\n for (const callback of this.iterateCallbacks('fetchDidSucceed')) {\n fetchResponse = await callback({\n event,\n request: pluginFilteredRequest,\n response: fetchResponse,\n });\n }\n return fetchResponse;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`Network request for ` +\n `'${getFriendlyURL(request.url)}' threw an error.`, error);\n }\n // `originalRequest` will only exist if a `fetchDidFail` callback\n // is being used (see above).\n if (originalRequest) {\n await this.runCallbacks('fetchDidFail', {\n error: error,\n event,\n originalRequest: originalRequest.clone(),\n request: pluginFilteredRequest.clone(),\n });\n }\n throw error;\n }\n }\n /**\n * Calls `this.fetch()` and (in the background) runs `this.cachePut()` on\n * the response generated by `this.fetch()`.\n *\n * The call to `this.cachePut()` automatically invokes `this.waitUntil()`,\n * so you do not have to manually call `waitUntil()` on the event.\n *\n * @param {Request|string} input The request or URL to fetch and cache.\n * @return {Promise}\n */\n async fetchAndCachePut(input) {\n const response = await this.fetch(input);\n const responseClone = response.clone();\n void this.waitUntil(this.cachePut(input, responseClone));\n return response;\n }\n /**\n * Matches a request from the cache (and invokes any applicable plugin\n * callback methods) using the `cacheName`, `matchOptions`, and `plugins`\n * defined on the strategy object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - cacheKeyWillBeUsed()\n * - cachedResponseWillBeUsed()\n *\n * @param {Request|string} key The Request or URL to use as the cache key.\n * @return {Promise} A matching response, if found.\n */\n async cacheMatch(key) {\n const request = toRequest(key);\n let cachedResponse;\n const { cacheName, matchOptions } = this._strategy;\n const effectiveRequest = await this.getCacheKey(request, 'read');\n const multiMatchOptions = Object.assign(Object.assign({}, matchOptions), { cacheName });\n cachedResponse = await caches.match(effectiveRequest, multiMatchOptions);\n if (process.env.NODE_ENV !== 'production') {\n if (cachedResponse) {\n logger.debug(`Found a cached response in '${cacheName}'.`);\n }\n else {\n logger.debug(`No cached response found in '${cacheName}'.`);\n }\n }\n for (const callback of this.iterateCallbacks('cachedResponseWillBeUsed')) {\n cachedResponse =\n (await callback({\n cacheName,\n matchOptions,\n cachedResponse,\n request: effectiveRequest,\n event: this.event,\n })) || undefined;\n }\n return cachedResponse;\n }\n /**\n * Puts a request/response pair in the cache (and invokes any applicable\n * plugin callback methods) using the `cacheName` and `plugins` defined on\n * the strategy object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - cacheKeyWillBeUsed()\n * - cacheWillUpdate()\n * - cacheDidUpdate()\n *\n * @param {Request|string} key The request or URL to use as the cache key.\n * @param {Response} response The response to cache.\n * @return {Promise} `false` if a cacheWillUpdate caused the response\n * not be cached, and `true` otherwise.\n */\n async cachePut(key, response) {\n const request = toRequest(key);\n // Run in the next task to avoid blocking other cache reads.\n // https://github.com/w3c/ServiceWorker/issues/1397\n await timeout(0);\n const effectiveRequest = await this.getCacheKey(request, 'write');\n if (process.env.NODE_ENV !== 'production') {\n if (effectiveRequest.method && effectiveRequest.method !== 'GET') {\n throw new WorkboxError('attempt-to-cache-non-get-request', {\n url: getFriendlyURL(effectiveRequest.url),\n method: effectiveRequest.method,\n });\n }\n // See https://github.com/GoogleChrome/workbox/issues/2818\n const vary = response.headers.get('Vary');\n if (vary) {\n logger.debug(`The response for ${getFriendlyURL(effectiveRequest.url)} ` +\n `has a 'Vary: ${vary}' header. ` +\n `Consider setting the {ignoreVary: true} option on your strategy ` +\n `to ensure cache matching and deletion works as expected.`);\n }\n }\n if (!response) {\n if (process.env.NODE_ENV !== 'production') {\n logger.error(`Cannot cache non-existent response for ` +\n `'${getFriendlyURL(effectiveRequest.url)}'.`);\n }\n throw new WorkboxError('cache-put-with-no-response', {\n url: getFriendlyURL(effectiveRequest.url),\n });\n }\n const responseToCache = await this._ensureResponseSafeToCache(response);\n if (!responseToCache) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Response '${getFriendlyURL(effectiveRequest.url)}' ` +\n `will not be cached.`, responseToCache);\n }\n return false;\n }\n const { cacheName, matchOptions } = this._strategy;\n const cache = await self.caches.open(cacheName);\n const hasCacheUpdateCallback = this.hasCallback('cacheDidUpdate');\n const oldResponse = hasCacheUpdateCallback\n ? await cacheMatchIgnoreParams(\n // TODO(philipwalton): the `__WB_REVISION__` param is a precaching\n // feature. Consider into ways to only add this behavior if using\n // precaching.\n cache, effectiveRequest.clone(), ['__WB_REVISION__'], matchOptions)\n : null;\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Updating the '${cacheName}' cache with a new Response ` +\n `for ${getFriendlyURL(effectiveRequest.url)}.`);\n }\n try {\n await cache.put(effectiveRequest, hasCacheUpdateCallback ? responseToCache.clone() : responseToCache);\n }\n catch (error) {\n if (error instanceof Error) {\n // See https://developer.mozilla.org/en-US/docs/Web/API/DOMException#exception-QuotaExceededError\n if (error.name === 'QuotaExceededError') {\n await executeQuotaErrorCallbacks();\n }\n throw error;\n }\n }\n for (const callback of this.iterateCallbacks('cacheDidUpdate')) {\n await callback({\n cacheName,\n oldResponse,\n newResponse: responseToCache.clone(),\n request: effectiveRequest,\n event: this.event,\n });\n }\n return true;\n }\n /**\n * Checks the list of plugins for the `cacheKeyWillBeUsed` callback, and\n * executes any of those callbacks found in sequence. The final `Request`\n * object returned by the last plugin is treated as the cache key for cache\n * reads and/or writes. If no `cacheKeyWillBeUsed` plugin callbacks have\n * been registered, the passed request is returned unmodified\n *\n * @param {Request} request\n * @param {string} mode\n * @return {Promise}\n */\n async getCacheKey(request, mode) {\n const key = `${request.url} | ${mode}`;\n if (!this._cacheKeys[key]) {\n let effectiveRequest = request;\n for (const callback of this.iterateCallbacks('cacheKeyWillBeUsed')) {\n effectiveRequest = toRequest(await callback({\n mode,\n request: effectiveRequest,\n event: this.event,\n // params has a type any can't change right now.\n params: this.params, // eslint-disable-line\n }));\n }\n this._cacheKeys[key] = effectiveRequest;\n }\n return this._cacheKeys[key];\n }\n /**\n * Returns true if the strategy has at least one plugin with the given\n * callback.\n *\n * @param {string} name The name of the callback to check for.\n * @return {boolean}\n */\n hasCallback(name) {\n for (const plugin of this._strategy.plugins) {\n if (name in plugin) {\n return true;\n }\n }\n return false;\n }\n /**\n * Runs all plugin callbacks matching the given name, in order, passing the\n * given param object (merged ith the current plugin state) as the only\n * argument.\n *\n * Note: since this method runs all plugins, it's not suitable for cases\n * where the return value of a callback needs to be applied prior to calling\n * the next callback. See\n * {@link workbox-strategies.StrategyHandler#iterateCallbacks}\n * below for how to handle that case.\n *\n * @param {string} name The name of the callback to run within each plugin.\n * @param {Object} param The object to pass as the first (and only) param\n * when executing each callback. This object will be merged with the\n * current plugin state prior to callback execution.\n */\n async runCallbacks(name, param) {\n for (const callback of this.iterateCallbacks(name)) {\n // TODO(philipwalton): not sure why `any` is needed. It seems like\n // this should work with `as WorkboxPluginCallbackParam[C]`.\n await callback(param);\n }\n }\n /**\n * Accepts a callback and returns an iterable of matching plugin callbacks,\n * where each callback is wrapped with the current handler state (i.e. when\n * you call each callback, whatever object parameter you pass it will\n * be merged with the plugin's current state).\n *\n * @param {string} name The name fo the callback to run\n * @return {Array}\n */\n *iterateCallbacks(name) {\n for (const plugin of this._strategy.plugins) {\n if (typeof plugin[name] === 'function') {\n const state = this._pluginStateMap.get(plugin);\n const statefulCallback = (param) => {\n const statefulParam = Object.assign(Object.assign({}, param), { state });\n // TODO(philipwalton): not sure why `any` is needed. It seems like\n // this should work with `as WorkboxPluginCallbackParam[C]`.\n return plugin[name](statefulParam);\n };\n yield statefulCallback;\n }\n }\n }\n /**\n * Adds a promise to the\n * [extend lifetime promises]{@link https://w3c.github.io/ServiceWorker/#extendableevent-extend-lifetime-promises}\n * of the event event associated with the request being handled (usually a\n * `FetchEvent`).\n *\n * Note: you can await\n * {@link workbox-strategies.StrategyHandler~doneWaiting}\n * to know when all added promises have settled.\n *\n * @param {Promise} promise A promise to add to the extend lifetime promises\n * of the event that triggered the request.\n */\n waitUntil(promise) {\n this._extendLifetimePromises.push(promise);\n return promise;\n }\n /**\n * Returns a promise that resolves once all promises passed to\n * {@link workbox-strategies.StrategyHandler~waitUntil}\n * have settled.\n *\n * Note: any work done after `doneWaiting()` settles should be manually\n * passed to an event's `waitUntil()` method (not this handler's\n * `waitUntil()` method), otherwise the service worker thread my be killed\n * prior to your work completing.\n */\n async doneWaiting() {\n let promise;\n while ((promise = this._extendLifetimePromises.shift())) {\n await promise;\n }\n }\n /**\n * Stops running the strategy and immediately resolves any pending\n * `waitUntil()` promises.\n */\n destroy() {\n this._handlerDeferred.resolve(null);\n }\n /**\n * This method will call cacheWillUpdate on the available plugins (or use\n * status === 200) to determine if the Response is safe and valid to cache.\n *\n * @param {Request} options.request\n * @param {Response} options.response\n * @return {Promise}\n *\n * @private\n */\n async _ensureResponseSafeToCache(response) {\n let responseToCache = response;\n let pluginsUsed = false;\n for (const callback of this.iterateCallbacks('cacheWillUpdate')) {\n responseToCache =\n (await callback({\n request: this.request,\n response: responseToCache,\n event: this.event,\n })) || undefined;\n pluginsUsed = true;\n if (!responseToCache) {\n break;\n }\n }\n if (!pluginsUsed) {\n if (responseToCache && responseToCache.status !== 200) {\n responseToCache = undefined;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (responseToCache) {\n if (responseToCache.status !== 200) {\n if (responseToCache.status === 0) {\n logger.warn(`The response for '${this.request.url}' ` +\n `is an opaque response. The caching strategy that you're ` +\n `using will not cache opaque responses by default.`);\n }\n else {\n logger.debug(`The response for '${this.request.url}' ` +\n `returned a status code of '${response.status}' and won't ` +\n `be cached as a result.`);\n }\n }\n }\n }\n }\n return responseToCache;\n }\n}\nexport { StrategyHandler };\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * Returns a promise that resolves and the passed number of milliseconds.\n * This utility is an async/await-friendly version of `setTimeout`.\n *\n * @param {number} ms\n * @return {Promise}\n * @private\n */\nexport function timeout(ms) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst getFriendlyURL = (url) => {\n const urlObj = new URL(String(url), location.href);\n // See https://github.com/GoogleChrome/workbox/issues/2323\n // We want to include everything, except for the origin if it's same-origin.\n return urlObj.href.replace(new RegExp(`^${location.origin}`), '');\n};\nexport { getFriendlyURL };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from '../_private/logger.js';\nimport { quotaErrorCallbacks } from '../models/quotaErrorCallbacks.js';\nimport '../_version.js';\n/**\n * Runs all of the callback functions, one at a time sequentially, in the order\n * in which they were registered.\n *\n * @memberof workbox-core\n * @private\n */\nasync function executeQuotaErrorCallbacks() {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`About to run ${quotaErrorCallbacks.size} ` +\n `callbacks to clean up caches.`);\n }\n for (const callback of quotaErrorCallbacks) {\n await callback();\n if (process.env.NODE_ENV !== 'production') {\n logger.log(callback, 'is complete.');\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.log('Finished running callbacks.');\n }\n}\nexport { executeQuotaErrorCallbacks };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { StrategyHandler } from './StrategyHandler.js';\nimport './_version.js';\n/**\n * An abstract base class that all other strategy classes must extend from:\n *\n * @memberof workbox-strategies\n */\nclass Strategy {\n /**\n * Creates a new instance of the strategy and sets all documented option\n * properties as public instance properties.\n *\n * Note: if a custom strategy class extends the base Strategy class and does\n * not need more than these properties, it does not need to define its own\n * constructor.\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * [`init`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters)\n * of [non-navigation](https://github.com/GoogleChrome/workbox/issues/1796)\n * `fetch()` requests made by this strategy.\n * @param {Object} [options.matchOptions] The\n * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n */\n constructor(options = {}) {\n /**\n * Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n *\n * @type {string}\n */\n this.cacheName = cacheNames.getRuntimeName(options.cacheName);\n /**\n * The list\n * [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * used by this strategy.\n *\n * @type {Array}\n */\n this.plugins = options.plugins || [];\n /**\n * Values passed along to the\n * [`init`]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters}\n * of all fetch() requests made by this strategy.\n *\n * @type {Object}\n */\n this.fetchOptions = options.fetchOptions;\n /**\n * The\n * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n *\n * @type {Object}\n */\n this.matchOptions = options.matchOptions;\n }\n /**\n * Perform a request strategy and returns a `Promise` that will resolve with\n * a `Response`, invoking all relevant plugin callbacks.\n *\n * When a strategy instance is registered with a Workbox\n * {@link workbox-routing.Route}, this method is automatically\n * called when the route matches.\n *\n * Alternatively, this method can be used in a standalone `FetchEvent`\n * listener by passing it to `event.respondWith()`.\n *\n * @param {FetchEvent|Object} options A `FetchEvent` or an object with the\n * properties listed below.\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params]\n */\n handle(options) {\n const [responseDone] = this.handleAll(options);\n return responseDone;\n }\n /**\n * Similar to {@link workbox-strategies.Strategy~handle}, but\n * instead of just returning a `Promise` that resolves to a `Response` it\n * it will return an tuple of `[response, done]` promises, where the former\n * (`response`) is equivalent to what `handle()` returns, and the latter is a\n * Promise that will resolve once any promises that were added to\n * `event.waitUntil()` as part of performing the strategy have completed.\n *\n * You can await the `done` promise to ensure any extra work performed by\n * the strategy (usually caching responses) completes successfully.\n *\n * @param {FetchEvent|Object} options A `FetchEvent` or an object with the\n * properties listed below.\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params]\n * @return {Array} A tuple of [response, done]\n * promises that can be used to determine when the response resolves as\n * well as when the handler has completed all its work.\n */\n handleAll(options) {\n // Allow for flexible options to be passed.\n if (options instanceof FetchEvent) {\n options = {\n event: options,\n request: options.request,\n };\n }\n const event = options.event;\n const request = typeof options.request === 'string'\n ? new Request(options.request)\n : options.request;\n const params = 'params' in options ? options.params : undefined;\n const handler = new StrategyHandler(this, { event, request, params });\n const responseDone = this._getResponse(handler, request, event);\n const handlerDone = this._awaitComplete(responseDone, handler, request, event);\n // Return an array of promises, suitable for use with Promise.all().\n return [responseDone, handlerDone];\n }\n async _getResponse(handler, request, event) {\n await handler.runCallbacks('handlerWillStart', { event, request });\n let response = undefined;\n try {\n response = await this._handle(request, handler);\n // The \"official\" Strategy subclasses all throw this error automatically,\n // but in case a third-party Strategy doesn't, ensure that we have a\n // consistent failure when there's no response or an error response.\n if (!response || response.type === 'error') {\n throw new WorkboxError('no-response', { url: request.url });\n }\n }\n catch (error) {\n if (error instanceof Error) {\n for (const callback of handler.iterateCallbacks('handlerDidError')) {\n response = await callback({ error, event, request });\n if (response) {\n break;\n }\n }\n }\n if (!response) {\n throw error;\n }\n else if (process.env.NODE_ENV !== 'production') {\n logger.log(`While responding to '${getFriendlyURL(request.url)}', ` +\n `an ${error instanceof Error ? error.toString() : ''} error occurred. Using a fallback response provided by ` +\n `a handlerDidError plugin.`);\n }\n }\n for (const callback of handler.iterateCallbacks('handlerWillRespond')) {\n response = await callback({ event, request, response });\n }\n return response;\n }\n async _awaitComplete(responseDone, handler, request, event) {\n let response;\n let error;\n try {\n response = await responseDone;\n }\n catch (error) {\n // Ignore errors, as response errors should be caught via the `response`\n // promise above. The `done` promise will only throw for errors in\n // promises passed to `handler.waitUntil()`.\n }\n try {\n await handler.runCallbacks('handlerDidRespond', {\n event,\n request,\n response,\n });\n await handler.doneWaiting();\n }\n catch (waitUntilError) {\n if (waitUntilError instanceof Error) {\n error = waitUntilError;\n }\n }\n await handler.runCallbacks('handlerDidComplete', {\n event,\n request,\n response,\n error: error,\n });\n handler.destroy();\n if (error) {\n throw error;\n }\n }\n}\nexport { Strategy };\n/**\n * Classes extending the `Strategy` based class should implement this method,\n * and leverage the {@link workbox-strategies.StrategyHandler}\n * arg to perform all fetching and cache logic, which will ensure all relevant\n * cache, cache options, fetch options and plugins are used (per the current\n * strategy instance).\n *\n * @name _handle\n * @instance\n * @abstract\n * @function\n * @param {Request} request\n * @param {workbox-strategies.StrategyHandler} handler\n * @return {Promise}\n *\n * @memberof workbox-strategies.Strategy\n */\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { copyResponse } from 'workbox-core/copyResponse.js';\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { Strategy } from 'workbox-strategies/Strategy.js';\nimport './_version.js';\n/**\n * A {@link workbox-strategies.Strategy} implementation\n * specifically designed to work with\n * {@link workbox-precaching.PrecacheController}\n * to both cache and fetch precached assets.\n *\n * Note: an instance of this class is created automatically when creating a\n * `PrecacheController`; it's generally not necessary to create this yourself.\n *\n * @extends workbox-strategies.Strategy\n * @memberof workbox-precaching\n */\nclass PrecacheStrategy extends Strategy {\n /**\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] {@link https://developers.google.com/web/tools/workbox/guides/using-plugins|Plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters|init}\n * of all fetch() requests made by this strategy.\n * @param {Object} [options.matchOptions] The\n * {@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions|CacheQueryOptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n * @param {boolean} [options.fallbackToNetwork=true] Whether to attempt to\n * get the response from the network if there's a precache miss.\n */\n constructor(options = {}) {\n options.cacheName = cacheNames.getPrecacheName(options.cacheName);\n super(options);\n this._fallbackToNetwork =\n options.fallbackToNetwork === false ? false : true;\n // Redirected responses cannot be used to satisfy a navigation request, so\n // any redirected response must be \"copied\" rather than cloned, so the new\n // response doesn't contain the `redirected` flag. See:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=669363&desc=2#c1\n this.plugins.push(PrecacheStrategy.copyRedirectedCacheableResponsesPlugin);\n }\n /**\n * @private\n * @param {Request|string} request A request to run this strategy for.\n * @param {workbox-strategies.StrategyHandler} handler The event that\n * triggered the request.\n * @return {Promise}\n */\n async _handle(request, handler) {\n const response = await handler.cacheMatch(request);\n if (response) {\n return response;\n }\n // If this is an `install` event for an entry that isn't already cached,\n // then populate the cache.\n if (handler.event && handler.event.type === 'install') {\n return await this._handleInstall(request, handler);\n }\n // Getting here means something went wrong. An entry that should have been\n // precached wasn't found in the cache.\n return await this._handleFetch(request, handler);\n }\n async _handleFetch(request, handler) {\n let response;\n const params = (handler.params || {});\n // Fall back to the network if we're configured to do so.\n if (this._fallbackToNetwork) {\n if (process.env.NODE_ENV !== 'production') {\n logger.warn(`The precached response for ` +\n `${getFriendlyURL(request.url)} in ${this.cacheName} was not ` +\n `found. Falling back to the network.`);\n }\n const integrityInManifest = params.integrity;\n const integrityInRequest = request.integrity;\n const noIntegrityConflict = !integrityInRequest || integrityInRequest === integrityInManifest;\n // Do not add integrity if the original request is no-cors\n // See https://github.com/GoogleChrome/workbox/issues/3096\n response = await handler.fetch(new Request(request, {\n integrity: request.mode !== 'no-cors'\n ? integrityInRequest || integrityInManifest\n : undefined,\n }));\n // It's only \"safe\" to repair the cache if we're using SRI to guarantee\n // that the response matches the precache manifest's expectations,\n // and there's either a) no integrity property in the incoming request\n // or b) there is an integrity, and it matches the precache manifest.\n // See https://github.com/GoogleChrome/workbox/issues/2858\n // Also if the original request users no-cors we don't use integrity.\n // See https://github.com/GoogleChrome/workbox/issues/3096\n if (integrityInManifest &&\n noIntegrityConflict &&\n request.mode !== 'no-cors') {\n this._useDefaultCacheabilityPluginIfNeeded();\n const wasCached = await handler.cachePut(request, response.clone());\n if (process.env.NODE_ENV !== 'production') {\n if (wasCached) {\n logger.log(`A response for ${getFriendlyURL(request.url)} ` +\n `was used to \"repair\" the precache.`);\n }\n }\n }\n }\n else {\n // This shouldn't normally happen, but there are edge cases:\n // https://github.com/GoogleChrome/workbox/issues/1441\n throw new WorkboxError('missing-precache-entry', {\n cacheName: this.cacheName,\n url: request.url,\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n const cacheKey = params.cacheKey || (await handler.getCacheKey(request, 'read'));\n // Workbox is going to handle the route.\n // print the routing details to the console.\n logger.groupCollapsed(`Precaching is responding to: ` + getFriendlyURL(request.url));\n logger.log(`Serving the precached url: ${getFriendlyURL(cacheKey instanceof Request ? cacheKey.url : cacheKey)}`);\n logger.groupCollapsed(`View request details here.`);\n logger.log(request);\n logger.groupEnd();\n logger.groupCollapsed(`View response details here.`);\n logger.log(response);\n logger.groupEnd();\n logger.groupEnd();\n }\n return response;\n }\n async _handleInstall(request, handler) {\n this._useDefaultCacheabilityPluginIfNeeded();\n const response = await handler.fetch(request);\n // Make sure we defer cachePut() until after we know the response\n // should be cached; see https://github.com/GoogleChrome/workbox/issues/2737\n const wasCached = await handler.cachePut(request, response.clone());\n if (!wasCached) {\n // Throwing here will lead to the `install` handler failing, which\n // we want to do if *any* of the responses aren't safe to cache.\n throw new WorkboxError('bad-precaching-response', {\n url: request.url,\n status: response.status,\n });\n }\n return response;\n }\n /**\n * This method is complex, as there a number of things to account for:\n *\n * The `plugins` array can be set at construction, and/or it might be added to\n * to at any time before the strategy is used.\n *\n * At the time the strategy is used (i.e. during an `install` event), there\n * needs to be at least one plugin that implements `cacheWillUpdate` in the\n * array, other than `copyRedirectedCacheableResponsesPlugin`.\n *\n * - If this method is called and there are no suitable `cacheWillUpdate`\n * plugins, we need to add `defaultPrecacheCacheabilityPlugin`.\n *\n * - If this method is called and there is exactly one `cacheWillUpdate`, then\n * we don't have to do anything (this might be a previously added\n * `defaultPrecacheCacheabilityPlugin`, or it might be a custom plugin).\n *\n * - If this method is called and there is more than one `cacheWillUpdate`,\n * then we need to check if one is `defaultPrecacheCacheabilityPlugin`. If so,\n * we need to remove it. (This situation is unlikely, but it could happen if\n * the strategy is used multiple times, the first without a `cacheWillUpdate`,\n * and then later on after manually adding a custom `cacheWillUpdate`.)\n *\n * See https://github.com/GoogleChrome/workbox/issues/2737 for more context.\n *\n * @private\n */\n _useDefaultCacheabilityPluginIfNeeded() {\n let defaultPluginIndex = null;\n let cacheWillUpdatePluginCount = 0;\n for (const [index, plugin] of this.plugins.entries()) {\n // Ignore the copy redirected plugin when determining what to do.\n if (plugin === PrecacheStrategy.copyRedirectedCacheableResponsesPlugin) {\n continue;\n }\n // Save the default plugin's index, in case it needs to be removed.\n if (plugin === PrecacheStrategy.defaultPrecacheCacheabilityPlugin) {\n defaultPluginIndex = index;\n }\n if (plugin.cacheWillUpdate) {\n cacheWillUpdatePluginCount++;\n }\n }\n if (cacheWillUpdatePluginCount === 0) {\n this.plugins.push(PrecacheStrategy.defaultPrecacheCacheabilityPlugin);\n }\n else if (cacheWillUpdatePluginCount > 1 && defaultPluginIndex !== null) {\n // Only remove the default plugin; multiple custom plugins are allowed.\n this.plugins.splice(defaultPluginIndex, 1);\n }\n // Nothing needs to be done if cacheWillUpdatePluginCount is 1\n }\n}\nPrecacheStrategy.defaultPrecacheCacheabilityPlugin = {\n async cacheWillUpdate({ response }) {\n if (!response || response.status >= 400) {\n return null;\n }\n return response;\n },\n};\nPrecacheStrategy.copyRedirectedCacheableResponsesPlugin = {\n async cacheWillUpdate({ response }) {\n return response.redirected ? await copyResponse(response) : response;\n },\n};\nexport { PrecacheStrategy };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { waitUntil } from 'workbox-core/_private/waitUntil.js';\nimport { createCacheKey } from './utils/createCacheKey.js';\nimport { PrecacheInstallReportPlugin } from './utils/PrecacheInstallReportPlugin.js';\nimport { PrecacheCacheKeyPlugin } from './utils/PrecacheCacheKeyPlugin.js';\nimport { printCleanupDetails } from './utils/printCleanupDetails.js';\nimport { printInstallDetails } from './utils/printInstallDetails.js';\nimport { PrecacheStrategy } from './PrecacheStrategy.js';\nimport './_version.js';\n/**\n * Performs efficient precaching of assets.\n *\n * @memberof workbox-precaching\n */\nclass PrecacheController {\n /**\n * Create a new PrecacheController.\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] The cache to use for precaching.\n * @param {string} [options.plugins] Plugins to use when precaching as well\n * as responding to fetch events for precached assets.\n * @param {boolean} [options.fallbackToNetwork=true] Whether to attempt to\n * get the response from the network if there's a precache miss.\n */\n constructor({ cacheName, plugins = [], fallbackToNetwork = true, } = {}) {\n this._urlsToCacheKeys = new Map();\n this._urlsToCacheModes = new Map();\n this._cacheKeysToIntegrities = new Map();\n this._strategy = new PrecacheStrategy({\n cacheName: cacheNames.getPrecacheName(cacheName),\n plugins: [\n ...plugins,\n new PrecacheCacheKeyPlugin({ precacheController: this }),\n ],\n fallbackToNetwork,\n });\n // Bind the install and activate methods to the instance.\n this.install = this.install.bind(this);\n this.activate = this.activate.bind(this);\n }\n /**\n * @type {workbox-precaching.PrecacheStrategy} The strategy created by this controller and\n * used to cache assets and respond to fetch events.\n */\n get strategy() {\n return this._strategy;\n }\n /**\n * Adds items to the precache list, removing any duplicates and\n * stores the files in the\n * {@link workbox-core.cacheNames|\"precache cache\"} when the service\n * worker installs.\n *\n * This method can be called multiple times.\n *\n * @param {Array} [entries=[]] Array of entries to precache.\n */\n precache(entries) {\n this.addToCacheList(entries);\n if (!this._installAndActiveListenersAdded) {\n self.addEventListener('install', this.install);\n self.addEventListener('activate', this.activate);\n this._installAndActiveListenersAdded = true;\n }\n }\n /**\n * This method will add items to the precache list, removing duplicates\n * and ensuring the information is valid.\n *\n * @param {Array} entries\n * Array of entries to precache.\n */\n addToCacheList(entries) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isArray(entries, {\n moduleName: 'workbox-precaching',\n className: 'PrecacheController',\n funcName: 'addToCacheList',\n paramName: 'entries',\n });\n }\n const urlsToWarnAbout = [];\n for (const entry of entries) {\n // See https://github.com/GoogleChrome/workbox/issues/2259\n if (typeof entry === 'string') {\n urlsToWarnAbout.push(entry);\n }\n else if (entry && entry.revision === undefined) {\n urlsToWarnAbout.push(entry.url);\n }\n const { cacheKey, url } = createCacheKey(entry);\n const cacheMode = typeof entry !== 'string' && entry.revision ? 'reload' : 'default';\n if (this._urlsToCacheKeys.has(url) &&\n this._urlsToCacheKeys.get(url) !== cacheKey) {\n throw new WorkboxError('add-to-cache-list-conflicting-entries', {\n firstEntry: this._urlsToCacheKeys.get(url),\n secondEntry: cacheKey,\n });\n }\n if (typeof entry !== 'string' && entry.integrity) {\n if (this._cacheKeysToIntegrities.has(cacheKey) &&\n this._cacheKeysToIntegrities.get(cacheKey) !== entry.integrity) {\n throw new WorkboxError('add-to-cache-list-conflicting-integrities', {\n url,\n });\n }\n this._cacheKeysToIntegrities.set(cacheKey, entry.integrity);\n }\n this._urlsToCacheKeys.set(url, cacheKey);\n this._urlsToCacheModes.set(url, cacheMode);\n if (urlsToWarnAbout.length > 0) {\n const warningMessage = `Workbox is precaching URLs without revision ` +\n `info: ${urlsToWarnAbout.join(', ')}\\nThis is generally NOT safe. ` +\n `Learn more at https://bit.ly/wb-precache`;\n if (process.env.NODE_ENV === 'production') {\n // Use console directly to display this warning without bloating\n // bundle sizes by pulling in all of the logger codebase in prod.\n console.warn(warningMessage);\n }\n else {\n logger.warn(warningMessage);\n }\n }\n }\n }\n /**\n * Precaches new and updated assets. Call this method from the service worker\n * install event.\n *\n * Note: this method calls `event.waitUntil()` for you, so you do not need\n * to call it yourself in your event handlers.\n *\n * @param {ExtendableEvent} event\n * @return {Promise}\n */\n install(event) {\n // waitUntil returns Promise\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return waitUntil(event, async () => {\n const installReportPlugin = new PrecacheInstallReportPlugin();\n this.strategy.plugins.push(installReportPlugin);\n // Cache entries one at a time.\n // See https://github.com/GoogleChrome/workbox/issues/2528\n for (const [url, cacheKey] of this._urlsToCacheKeys) {\n const integrity = this._cacheKeysToIntegrities.get(cacheKey);\n const cacheMode = this._urlsToCacheModes.get(url);\n const request = new Request(url, {\n integrity,\n cache: cacheMode,\n credentials: 'same-origin',\n });\n await Promise.all(this.strategy.handleAll({\n params: { cacheKey },\n request,\n event,\n }));\n }\n const { updatedURLs, notUpdatedURLs } = installReportPlugin;\n if (process.env.NODE_ENV !== 'production') {\n printInstallDetails(updatedURLs, notUpdatedURLs);\n }\n return { updatedURLs, notUpdatedURLs };\n });\n }\n /**\n * Deletes assets that are no longer present in the current precache manifest.\n * Call this method from the service worker activate event.\n *\n * Note: this method calls `event.waitUntil()` for you, so you do not need\n * to call it yourself in your event handlers.\n *\n * @param {ExtendableEvent} event\n * @return {Promise}\n */\n activate(event) {\n // waitUntil returns Promise\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return waitUntil(event, async () => {\n const cache = await self.caches.open(this.strategy.cacheName);\n const currentlyCachedRequests = await cache.keys();\n const expectedCacheKeys = new Set(this._urlsToCacheKeys.values());\n const deletedURLs = [];\n for (const request of currentlyCachedRequests) {\n if (!expectedCacheKeys.has(request.url)) {\n await cache.delete(request);\n deletedURLs.push(request.url);\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n printCleanupDetails(deletedURLs);\n }\n return { deletedURLs };\n });\n }\n /**\n * Returns a mapping of a precached URL to the corresponding cache key, taking\n * into account the revision information for the URL.\n *\n * @return {Map} A URL to cache key mapping.\n */\n getURLsToCacheKeys() {\n return this._urlsToCacheKeys;\n }\n /**\n * Returns a list of all the URLs that have been precached by the current\n * service worker.\n *\n * @return {Array} The precached URLs.\n */\n getCachedURLs() {\n return [...this._urlsToCacheKeys.keys()];\n }\n /**\n * Returns the cache key used for storing a given URL. If that URL is\n * unversioned, like `/index.html', then the cache key will be the original\n * URL with a search parameter appended to it.\n *\n * @param {string} url A URL whose cache key you want to look up.\n * @return {string} The versioned URL that corresponds to a cache key\n * for the original URL, or undefined if that URL isn't precached.\n */\n getCacheKeyForURL(url) {\n const urlObject = new URL(url, location.href);\n return this._urlsToCacheKeys.get(urlObject.href);\n }\n /**\n * @param {string} url A cache key whose SRI you want to look up.\n * @return {string} The subresource integrity associated with the cache key,\n * or undefined if it's not set.\n */\n getIntegrityForCacheKey(cacheKey) {\n return this._cacheKeysToIntegrities.get(cacheKey);\n }\n /**\n * This acts as a drop-in replacement for\n * [`cache.match()`](https://developer.mozilla.org/en-US/docs/Web/API/Cache/match)\n * with the following differences:\n *\n * - It knows what the name of the precache is, and only checks in that cache.\n * - It allows you to pass in an \"original\" URL without versioning parameters,\n * and it will automatically look up the correct cache key for the currently\n * active revision of that URL.\n *\n * E.g., `matchPrecache('index.html')` will find the correct precached\n * response for the currently active service worker, even if the actual cache\n * key is `'/index.html?__WB_REVISION__=1234abcd'`.\n *\n * @param {string|Request} request The key (without revisioning parameters)\n * to look up in the precache.\n * @return {Promise}\n */\n async matchPrecache(request) {\n const url = request instanceof Request ? request.url : request;\n const cacheKey = this.getCacheKeyForURL(url);\n if (cacheKey) {\n const cache = await self.caches.open(this.strategy.cacheName);\n return cache.match(cacheKey);\n }\n return undefined;\n }\n /**\n * Returns a function that looks up `url` in the precache (taking into\n * account revision information), and returns the corresponding `Response`.\n *\n * @param {string} url The precached URL which will be used to lookup the\n * `Response`.\n * @return {workbox-routing~handlerCallback}\n */\n createHandlerBoundToURL(url) {\n const cacheKey = this.getCacheKeyForURL(url);\n if (!cacheKey) {\n throw new WorkboxError('non-precached-url', { url });\n }\n return (options) => {\n options.request = new Request(url);\n options.params = Object.assign({ cacheKey }, options.params);\n return this.strategy.handle(options);\n };\n }\n}\nexport { PrecacheController };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { PrecacheController } from '../PrecacheController.js';\nimport '../_version.js';\nlet precacheController;\n/**\n * @return {PrecacheController}\n * @private\n */\nexport const getOrCreatePrecacheController = () => {\n if (!precacheController) {\n precacheController = new PrecacheController();\n }\n return precacheController;\n};\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { Route } from 'workbox-routing/Route.js';\nimport { generateURLVariations } from './utils/generateURLVariations.js';\nimport './_version.js';\n/**\n * A subclass of {@link workbox-routing.Route} that takes a\n * {@link workbox-precaching.PrecacheController}\n * instance and uses it to match incoming requests and handle fetching\n * responses from the precache.\n *\n * @memberof workbox-precaching\n * @extends workbox-routing.Route\n */\nclass PrecacheRoute extends Route {\n /**\n * @param {PrecacheController} precacheController A `PrecacheController`\n * instance used to both match requests and respond to fetch events.\n * @param {Object} [options] Options to control how requests are matched\n * against the list of precached URLs.\n * @param {string} [options.directoryIndex=index.html] The `directoryIndex` will\n * check cache entries for a URLs ending with '/' to see if there is a hit when\n * appending the `directoryIndex` value.\n * @param {Array} [options.ignoreURLParametersMatching=[/^utm_/, /^fbclid$/]] An\n * array of regex's to remove search params when looking for a cache match.\n * @param {boolean} [options.cleanURLs=true] The `cleanURLs` option will\n * check the cache for the URL with a `.html` added to the end of the end.\n * @param {workbox-precaching~urlManipulation} [options.urlManipulation]\n * This is a function that should take a URL and return an array of\n * alternative URLs that should be checked for precache matches.\n */\n constructor(precacheController, options) {\n const match = ({ request, }) => {\n const urlsToCacheKeys = precacheController.getURLsToCacheKeys();\n for (const possibleURL of generateURLVariations(request.url, options)) {\n const cacheKey = urlsToCacheKeys.get(possibleURL);\n if (cacheKey) {\n const integrity = precacheController.getIntegrityForCacheKey(cacheKey);\n return { cacheKey, integrity };\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Precaching did not find a match for ` + getFriendlyURL(request.url));\n }\n return;\n };\n super(match, precacheController.strategy);\n }\n}\nexport { PrecacheRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { removeIgnoredSearchParams } from './removeIgnoredSearchParams.js';\nimport '../_version.js';\n/**\n * Generator function that yields possible variations on the original URL to\n * check, one at a time.\n *\n * @param {string} url\n * @param {Object} options\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function* generateURLVariations(url, { ignoreURLParametersMatching = [/^utm_/, /^fbclid$/], directoryIndex = 'index.html', cleanURLs = true, urlManipulation, } = {}) {\n const urlObject = new URL(url, location.href);\n urlObject.hash = '';\n yield urlObject.href;\n const urlWithoutIgnoredParams = removeIgnoredSearchParams(urlObject, ignoreURLParametersMatching);\n yield urlWithoutIgnoredParams.href;\n if (directoryIndex && urlWithoutIgnoredParams.pathname.endsWith('/')) {\n const directoryURL = new URL(urlWithoutIgnoredParams.href);\n directoryURL.pathname += directoryIndex;\n yield directoryURL.href;\n }\n if (cleanURLs) {\n const cleanURL = new URL(urlWithoutIgnoredParams.href);\n cleanURL.pathname += '.html';\n yield cleanURL.href;\n }\n if (urlManipulation) {\n const additionalURLs = urlManipulation({ url: urlObject });\n for (const urlToAttempt of additionalURLs) {\n yield urlToAttempt.href;\n }\n }\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * Removes any URL search parameters that should be ignored.\n *\n * @param {URL} urlObject The original URL.\n * @param {Array} ignoreURLParametersMatching RegExps to test against\n * each search parameter name. Matches mean that the search parameter should be\n * ignored.\n * @return {URL} The URL with any ignored search parameters removed.\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function removeIgnoredSearchParams(urlObject, ignoreURLParametersMatching = []) {\n // Convert the iterable into an array at the start of the loop to make sure\n // deletion doesn't mess up iteration.\n for (const paramName of [...urlObject.searchParams.keys()]) {\n if (ignoreURLParametersMatching.some((regExp) => regExp.test(paramName))) {\n urlObject.searchParams.delete(paramName);\n }\n }\n return urlObject;\n}\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { registerRoute } from 'workbox-routing/registerRoute.js';\nimport { getOrCreatePrecacheController } from './utils/getOrCreatePrecacheController.js';\nimport { PrecacheRoute } from './PrecacheRoute.js';\nimport './_version.js';\n/**\n * Add a `fetch` listener to the service worker that will\n * respond to\n * [network requests]{@link https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers#Custom_responses_to_requests}\n * with precached assets.\n *\n * Requests for assets that aren't precached, the `FetchEvent` will not be\n * responded to, allowing the event to fall through to other `fetch` event\n * listeners.\n *\n * @param {Object} [options] See the {@link workbox-precaching.PrecacheRoute}\n * options.\n *\n * @memberof workbox-precaching\n */\nfunction addRoute(options) {\n const precacheController = getOrCreatePrecacheController();\n const precacheRoute = new PrecacheRoute(precacheController, options);\n registerRoute(precacheRoute);\n}\nexport { addRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { Route } from './Route.js';\nimport { RegExpRoute } from './RegExpRoute.js';\nimport { getOrCreateDefaultRouter } from './utils/getOrCreateDefaultRouter.js';\nimport './_version.js';\n/**\n * Easily register a RegExp, string, or function with a caching\n * strategy to a singleton Router instance.\n *\n * This method will generate a Route for you if needed and\n * call {@link workbox-routing.Router#registerRoute}.\n *\n * @param {RegExp|string|workbox-routing.Route~matchCallback|workbox-routing.Route} capture\n * If the capture param is a `Route`, all other arguments will be ignored.\n * @param {workbox-routing~handlerCallback} [handler] A callback\n * function that returns a Promise resulting in a Response. This parameter\n * is required if `capture` is not a `Route` object.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n * @return {workbox-routing.Route} The generated `Route`.\n *\n * @memberof workbox-routing\n */\nfunction registerRoute(capture, handler, method) {\n let route;\n if (typeof capture === 'string') {\n const captureUrl = new URL(capture, location.href);\n if (process.env.NODE_ENV !== 'production') {\n if (!(capture.startsWith('/') || capture.startsWith('http'))) {\n throw new WorkboxError('invalid-string', {\n moduleName: 'workbox-routing',\n funcName: 'registerRoute',\n paramName: 'capture',\n });\n }\n // We want to check if Express-style wildcards are in the pathname only.\n // TODO: Remove this log message in v4.\n const valueToCheck = capture.startsWith('http')\n ? captureUrl.pathname\n : capture;\n // See https://github.com/pillarjs/path-to-regexp#parameters\n const wildcards = '[*:?+]';\n if (new RegExp(`${wildcards}`).exec(valueToCheck)) {\n logger.debug(`The '$capture' parameter contains an Express-style wildcard ` +\n `character (${wildcards}). Strings are now always interpreted as ` +\n `exact matches; use a RegExp for partial or wildcard matches.`);\n }\n }\n const matchCallback = ({ url }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (url.pathname === captureUrl.pathname &&\n url.origin !== captureUrl.origin) {\n logger.debug(`${capture} only partially matches the cross-origin URL ` +\n `${url.toString()}. This route will only handle cross-origin requests ` +\n `if they match the entire URL.`);\n }\n }\n return url.href === captureUrl.href;\n };\n // If `capture` is a string then `handler` and `method` must be present.\n route = new Route(matchCallback, handler, method);\n }\n else if (capture instanceof RegExp) {\n // If `capture` is a `RegExp` then `handler` and `method` must be present.\n route = new RegExpRoute(capture, handler, method);\n }\n else if (typeof capture === 'function') {\n // If `capture` is a function then `handler` and `method` must be present.\n route = new Route(capture, handler, method);\n }\n else if (capture instanceof Route) {\n route = capture;\n }\n else {\n throw new WorkboxError('unsupported-route-type', {\n moduleName: 'workbox-routing',\n funcName: 'registerRoute',\n paramName: 'capture',\n });\n }\n const defaultRouter = getOrCreateDefaultRouter();\n defaultRouter.registerRoute(route);\n return route;\n}\nexport { registerRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { deleteOutdatedCaches } from './utils/deleteOutdatedCaches.js';\nimport './_version.js';\n/**\n * Adds an `activate` event listener which will clean up incompatible\n * precaches that were created by older versions of Workbox.\n *\n * @memberof workbox-precaching\n */\nfunction cleanupOutdatedCaches() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('activate', ((event) => {\n const cacheName = cacheNames.getPrecacheName();\n event.waitUntil(deleteOutdatedCaches(cacheName).then((cachesDeleted) => {\n if (process.env.NODE_ENV !== 'production') {\n if (cachesDeleted.length > 0) {\n logger.log(`The following out-of-date precaches were cleaned up ` +\n `automatically:`, cachesDeleted);\n }\n }\n }));\n }));\n}\nexport { cleanupOutdatedCaches };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst SUBSTRING_TO_FIND = '-precache-';\n/**\n * Cleans up incompatible precaches that were created by older versions of\n * Workbox, by a service worker registered under the current scope.\n *\n * This is meant to be called as part of the `activate` event.\n *\n * This should be safe to use as long as you don't include `substringToFind`\n * (defaulting to `-precache-`) in your non-precache cache names.\n *\n * @param {string} currentPrecacheName The cache name currently in use for\n * precaching. This cache won't be deleted.\n * @param {string} [substringToFind='-precache-'] Cache names which include this\n * substring will be deleted (excluding `currentPrecacheName`).\n * @return {Array} A list of all the cache names that were deleted.\n *\n * @private\n * @memberof workbox-precaching\n */\nconst deleteOutdatedCaches = async (currentPrecacheName, substringToFind = SUBSTRING_TO_FIND) => {\n const cacheNames = await self.caches.keys();\n const cacheNamesToDelete = cacheNames.filter((cacheName) => {\n return (cacheName.includes(substringToFind) &&\n cacheName.includes(self.registration.scope) &&\n cacheName !== currentPrecacheName);\n });\n await Promise.all(cacheNamesToDelete.map((cacheName) => self.caches.delete(cacheName)));\n return cacheNamesToDelete;\n};\nexport { deleteOutdatedCaches };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport './_version.js';\n/**\n * Claim any currently available clients once the service worker\n * becomes active. This is normally used in conjunction with `skipWaiting()`.\n *\n * @memberof workbox-core\n */\nfunction clientsClaim() {\n self.addEventListener('activate', () => self.clients.claim());\n}\nexport { clientsClaim };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { addRoute } from './addRoute.js';\nimport { precache } from './precache.js';\nimport './_version.js';\n/**\n * This method will add entries to the precache list and add a route to\n * respond to fetch events.\n *\n * This is a convenience method that will call\n * {@link workbox-precaching.precache} and\n * {@link workbox-precaching.addRoute} in a single call.\n *\n * @param {Array} entries Array of entries to precache.\n * @param {Object} [options] See the\n * {@link workbox-precaching.PrecacheRoute} options.\n *\n * @memberof workbox-precaching\n */\nfunction precacheAndRoute(entries, options) {\n precache(entries);\n addRoute(options);\n}\nexport { precacheAndRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { getOrCreatePrecacheController } from './utils/getOrCreatePrecacheController.js';\nimport './_version.js';\n/**\n * Adds items to the precache list, removing any duplicates and\n * stores the files in the\n * {@link workbox-core.cacheNames|\"precache cache\"} when the service\n * worker installs.\n *\n * This method can be called multiple times.\n *\n * Please note: This method **will not** serve any of the cached files for you.\n * It only precaches files. To respond to a network request you call\n * {@link workbox-precaching.addRoute}.\n *\n * If you have a single array of files to precache, you can just call\n * {@link workbox-precaching.precacheAndRoute}.\n *\n * @param {Array} [entries=[]] Array of entries to precache.\n *\n * @memberof workbox-precaching\n */\nfunction precache(entries) {\n const precacheController = getOrCreatePrecacheController();\n precacheController.precache(entries);\n}\nexport { precache };\n"],"names":["self","_","e","messageGenerator","fallback","code","args","msg","length","JSON","stringify","WorkboxError","Error","constructor","errorCode","details","super","this","name","normalizeHandler","handler","handle","Route","match","method","setCatchHandler","catchHandler","RegExpRoute","regExp","url","result","exec","href","origin","location","index","slice","Router","_routes","Map","_defaultHandlerMap","routes","addFetchListener","addEventListener","event","request","responsePromise","handleRequest","respondWith","addCacheListener","data","type","payload","requestPromises","Promise","all","urlsToCache","map","entry","Request","waitUntil","ports","then","postMessage","URL","protocol","startsWith","sameOrigin","params","route","findMatchingRoute","has","get","err","reject","_catchHandler","catch","async","catchErr","matchResult","Array","isArray","Object","keys","undefined","setDefaultHandler","set","registerRoute","push","unregisterRoute","routeIndex","indexOf","splice","defaultRouter","_cacheNameDetails","googleAnalytics","precache","prefix","runtime","suffix","registration","scope","_createCacheName","cacheName","filter","value","join","cacheNames","userCacheName","asyncFn","returnPromise","createCacheKey","urlObject","cacheKey","revision","cacheKeyURL","originalURL","searchParams","PrecacheInstallReportPlugin","updatedURLs","notUpdatedURLs","handlerWillStart","state","originalRequest","cachedResponseWillBeUsed","cachedResponse","PrecacheCacheKeyPlugin","precacheController","cacheKeyWillBeUsed","_precacheController","getCacheKeyForURL","headers","supportStatus","copyResponse","response","modifier","clonedResponse","clone","responseInit","Headers","status","statusText","modifiedResponseInit","body","testResponse","Response","error","canConstructResponseFromBodyStream","blob","stripParams","fullURL","ignoreParams","strippedURL","param","delete","Deferred","promise","resolve","quotaErrorCallbacks","Set","toRequest","input","StrategyHandler","strategy","options","_cacheKeys","assign","_strategy","_handlerDeferred","_extendLifetimePromises","_plugins","plugins","_pluginStateMap","plugin","fetch","mode","FetchEvent","preloadResponse","possiblePreloadResponse","hasCallback","cb","iterateCallbacks","thrownErrorMessage","message","pluginFilteredRequest","fetchResponse","fetchOptions","callback","runCallbacks","fetchAndCachePut","responseClone","cachePut","cacheMatch","key","matchOptions","effectiveRequest","getCacheKey","multiMatchOptions","caches","ms","setTimeout","String","replace","RegExp","responseToCache","_ensureResponseSafeToCache","cache","open","hasCacheUpdateCallback","oldResponse","strippedRequestURL","keysOptions","ignoreSearch","cacheKeys","cacheMatchIgnoreParams","put","executeQuotaErrorCallbacks","newResponse","statefulCallback","statefulParam","doneWaiting","shift","destroy","pluginsUsed","Strategy","responseDone","handleAll","_getResponse","_awaitComplete","_handle","waitUntilError","PrecacheStrategy","_fallbackToNetwork","fallbackToNetwork","copyRedirectedCacheableResponsesPlugin","_handleInstall","_handleFetch","integrityInManifest","integrity","integrityInRequest","noIntegrityConflict","_useDefaultCacheabilityPluginIfNeeded","defaultPluginIndex","cacheWillUpdatePluginCount","entries","defaultPrecacheCacheabilityPlugin","cacheWillUpdate","redirected","PrecacheController","_urlsToCacheKeys","_urlsToCacheModes","_cacheKeysToIntegrities","install","bind","activate","addToCacheList","_installAndActiveListenersAdded","urlsToWarnAbout","cacheMode","firstEntry","secondEntry","warningMessage","console","warn","installReportPlugin","credentials","currentlyCachedRequests","expectedCacheKeys","values","deletedURLs","getURLsToCacheKeys","getCachedURLs","getIntegrityForCacheKey","matchPrecache","createHandlerBoundToURL","getOrCreatePrecacheController","PrecacheRoute","urlsToCacheKeys","possibleURL","ignoreURLParametersMatching","directoryIndex","cleanURLs","urlManipulation","hash","urlWithoutIgnoredParams","paramName","some","test","removeIgnoredSearchParams","pathname","endsWith","directoryURL","cleanURL","additionalURLs","urlToAttempt","generateURLVariations","addRoute","capture","captureUrl","matchCallback","moduleName","funcName","currentPrecacheName","substringToFind","cacheNamesToDelete","includes","deleteOutdatedCaches","cachesDeleted","clients","claim"],"mappings":"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"} \ No newline at end of file diff --git a/workbox-config.js b/workbox-config.js deleted file mode 100644 index fa0b00d..0000000 --- a/workbox-config.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - globDirectory: 'dist/', - globPatterns: ['**/*.{html,css,js,json,ico,gif,jpg,jpeg,png,webp}'], - swDest: 'dist/sw.js', - importScripts: ['https://unpkg.com/workbox-sw@7.3.0/build/workbox-sw.js'], - clientsClaim: true, - cleanupOutdatedCaches: true -};