diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index c8f7ebb..0000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -ko_fi: softprops \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..d8d81bc --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,97 @@ +name: Bug report +description: Report a bug or regression in action-gh-release +title: "[Bug]: " +labels: + - bug +body: + - type: markdown + attributes: + value: | + Before filing: + - confirm the problem still reproduces on the latest release or `master` + - search existing issues for the same behavior + - if the original repository is private, include a minimal public repro, a sanitized workflow snippet, or exact redacted steps a maintainer can follow + - type: checkboxes + id: checks + attributes: + label: Pre-flight checks + options: + - label: I searched existing issues and did not find a duplicate + required: true + - label: I reproduced this with the latest released version or current `master` + required: true + - label: I included a reproducible example or a sanitized/redacted reproduction path if the original repository is private + required: true + - type: input + id: action_version + attributes: + label: action-gh-release version + description: Tag, SHA, or ref used in your workflow + placeholder: v2.5.2 + validations: + required: true + - type: dropdown + id: runner + attributes: + label: Runner operating system + options: + - ubuntu-latest + - windows-latest + - macos-latest + - other + validations: + required: true + - type: input + id: target_repository + attributes: + label: Release target repository + description: Fill this in if you set the `repository:` input + placeholder: owner/repo + - type: input + id: repro_reference + attributes: + label: Reproduction repo, gist, or artifact + description: Link a minimal repro repository, gist, run URL, or other shareable artifact if you have one + placeholder: https://github.com/owner/repro-repo + - type: textarea + id: workflow + attributes: + label: Workflow snippet + description: Include the relevant `uses:` step and inputs. If the original repo is private, paste a sanitized version here. + render: yaml + - type: textarea + id: expected + attributes: + label: Expected behavior + validations: + required: true + - type: textarea + id: actual + attributes: + label: Actual behavior + validations: + required: true + - type: textarea + id: reproduce + attributes: + label: Steps to reproduce + description: Include tags, matrix/concurrency details, and any repo rules involved. If the original repo is private, describe the smallest setup a maintainer can recreate locally or in a throwaway repo. + placeholder: | + 1. Trigger workflow with ... + 2. Action creates ... + 3. Action fails with ... + validations: + required: true + - type: textarea + id: logs + attributes: + label: Relevant logs + description: Paste the relevant error output or run URL + render: shell + validations: + required: true + - type: textarea + id: additional + attributes: + label: Additional context + description: Any extra environment, token, ruleset, or asset details diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..432273d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,50 @@ +name: Feature request +description: Propose an enhancement or new capability for action-gh-release +title: "[Feature]: " +labels: + - enhancement +body: + - type: markdown + attributes: + value: | + Use this template for new capabilities, behavior changes, or ergonomics improvements. + If you are reporting something broken, use the bug report template instead. + - type: checkboxes + id: checks + attributes: + label: Pre-flight checks + options: + - label: I searched existing issues and did not find a duplicate request + required: true + - label: This is not a bug report for existing behavior + required: true + - type: textarea + id: problem + attributes: + label: Problem to solve + description: What workflow pain point or gap are you trying to address? + validations: + required: true + - type: textarea + id: proposal + attributes: + label: Proposed solution + description: Describe the behavior, input, or output you want + validations: + required: true + - type: textarea + id: workflow + attributes: + label: Example workflow snippet + description: Show how you would expect to use this + render: yaml + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: Workarounds or other approaches you evaluated + - type: textarea + id: impact + attributes: + label: Why this belongs in action-gh-release + description: Explain the user impact or why this should live in the action rather than in workflow glue diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 6861674..e409830 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,14 +1,33 @@ version: 2 updates: -- package-ecosystem: npm - directory: "/" - schedule: - interval: weekly - ignore: - - dependency-name: node-fetch - versions: - - ">=3.0.0" -- package-ecosystem: github-actions - directory: "/" - schedule: - interval: weekly + - package-ecosystem: npm + directory: "/" + schedule: + interval: weekly + groups: + npm: + patterns: + - "*" + ignore: + - dependency-name: node-fetch + versions: + - ">=3.0.0" + - dependency-name: "@types/node" + versions: + - ">=25.0.0" + cooldown: + default-days: 7 + commit-message: + prefix: "chore(deps)" + - package-ecosystem: github-actions + directory: "/" + schedule: + interval: weekly + groups: + github-actions: + patterns: + - "*" + cooldown: + default-days: 7 + commit-message: + prefix: "chore(deps)" diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 0000000..7a9dcdb --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,22 @@ +changelog: + exclude: + labels: + - ignore-for-release + - github-actions + authors: + - octocat + - renovate[bot] + categories: + - title: Breaking Changes 🛠 + labels: + - breaking-change + - title: Exciting New Features 🎉 + labels: + - enhancement + - feature + - title: Bug fixes 🐛 + labels: + - bug + - title: Other Changes 🔄 + labels: + - "*" diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 656167a..4a75e71 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,26 +1,74 @@ -name: Main +name: main -on: [pull_request, push] +on: + push: + pull_request: + +permissions: + contents: read + issues: write + pull-requests: write jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - # https://github.com/actions/checkout - - name: Checkout - uses: actions/checkout@v4 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v5 + + - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 + with: + node-version-file: ".tool-versions" + cache: "npm" + - name: Install run: npm ci - name: Build run: npm run build + - name: Check dist freshness + id: dist_freshness + continue-on-error: true + run: | + git diff --exit-code --stat -- dist/index.js \ + || (echo "##[error] found changed dist/index.js after build. please run 'npm run build' and commit the updated bundle" \ + && exit 1) + - name: Comment on stale dist bundle + if: github.event_name == 'pull_request' && steps.dist_freshness.outcome == 'failure' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_REPO: ${{ github.repository }} + PR_NUMBER: ${{ github.event.pull_request.number }} + run: | + marker='' + diff_stat="$(git diff --stat -- dist/index.js)" + body=$(cat <"))) | .id' \ + | tail -n 1 + )" + + if [ -n "$existing_id" ]; then + gh api --method PATCH "repos/$GH_REPO/issues/comments/$existing_id" -f body="$body" >/dev/null + else + gh api --method POST "repos/$GH_REPO/issues/$PR_NUMBER/comments" -f body="$body" >/dev/null + fi + - name: Fail on stale dist bundle + if: steps.dist_freshness.outcome == 'failure' + run: | + echo "##[error] found changed dist/index.js after build. please run 'npm run build' and commit the updated bundle" + exit 1 - name: Test run: npm run test - name: Format run: npm run fmtcheck - # - name: "check for uncommitted changes" - # # Ensure no changes, but ignore node_modules dir since dev/fresh ci deps installed. - # run: | - # git diff --exit-code --stat -- . ':!node_modules' \ - # || (echo "##[error] found changed files after build. please 'npm run build && npm run fmt'" \ - # "and check in all changes" \ - # && exit 1) diff --git a/.gitignore b/.gitignore index 8856f55..6982a78 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ __tests__/runner/* # actions requires a node_modules dir https://github.com/actions/toolkit/blob/master/docs/javascript-action.md#publish-a-releasesv1-action # but its recommended not to check these in https://github.com/actions/toolkit/blob/master/docs/action-versioning.md#recommendations node_modules +coverage diff --git a/.nvmrc b/.nvmrc deleted file mode 100644 index 48b14e6..0000000 --- a/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -20.14.0 diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..ceb484e --- /dev/null +++ b/.prettierignore @@ -0,0 +1,16 @@ +# Build outputs +dist/ +lib/ +coverage/ + +# Dependencies +node_modules/ + +# Misc +.github/ +*.log +.DS_Store +__tests__/release.txt + +# Package files +package-lock.json diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..d27b0d2 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,11 @@ +/** + * @type {import('prettier').Config} + */ +module.exports = { + trailingComma: 'all', + tabWidth: 2, + semi: true, + singleQuote: true, + printWidth: 100, + bracketSpacing: true, +}; diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..78dcfe6 --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +nodejs 24.14.1 diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..58bbfd0 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,80 @@ +# action-gh-release + +This repository is maintained as a small, user-facing GitHub Action with a relatively wide compatibility surface. +Optimize for stability, reproducibility, and clear user value over broad rewrites. + +## Core Rules + +- Prefer narrow behavior fixes over structural churn. +- Reproduce current behavior on `master` before changing code. +- Treat GitHub platform behavior as distinct from action behavior. + If GitHub controls the outcome, prefer docs or clearer errors over brittle workarounds. +- Do not revive stale PRs mechanically. + Reuse the idea if it still has value, but reimplement on top of current `master`. +- Avoid standalone refactors with no clear user-facing benefit. + +## Current Architecture + +- `src/main.ts` is the orchestration layer: parse config, validate inputs, create/update release, upload assets, finalize, set outputs. +- `src/github.ts` owns release semantics: lookup, create/update/finalize, asset upload, race handling, and GitHub API interaction. +- `src/util.ts` owns parsing and path normalization. +- Keep behavior-specific logic in `src/github.ts` or `src/util.ts`; avoid growing `src/main.ts` with ad-hoc feature branches. + +## Bug-Fix Workflow + +- Reproduce the issue against current `master` first. +- When available, use the companion consumer harness repo `action-gh-release-test`. +- Capture exact workflow run URLs and release URLs before claiming a fix. +- If the issue is really a docs/usage or platform-limit case, document it and close it as such instead of forcing a code change. +- If a historical issue no longer reproduces on current `master`, prefer a short closeout note that asks the reporter to open a fresh issue if they still see it. + +## Feature Triage + +- Ship features only when there is clear user value or repeated demand. +- Small convenience features are fine, but they should stay small. +- Weak-demand features should not expand parsing complexity, cross-platform ambiguity, or maintenance surface. +- For old feature PRs: + - check whether current `master` already covers the behavior + - prefer a tiny docs clarification if the behavior exists but is poorly explained + - close stale feature PRs when the idea is obsolete, low-value, or badly shaped for the current codebase + +## Contract Sync + +When behavior changes, keep the external contract in sync: + +- update `README.md` +- update `action.yml` +- update tests under `__tests__/` +- regenerate `dist/index.js` with `npm run build` + +Docs-only changes do not need `dist/index.js` regeneration. + +## Verification + +For code changes, run: + +- `npm run fmtcheck` +- `npm run typecheck` +- `npm run build` +- `npm test` + +For behavior changes, also run the relevant external regression workflow(s) in `action-gh-release-test` against the exact ref under test. + +## Release and Triage Conventions + +- Keep PR labels accurate. Release notes depend on them. + - bug fixes: `bug` + - docs-only changes: `documentation` + - additive features: `feature` or `enhancement` + - dependency updates: `dependencies` +- Follow [RELEASE.md](RELEASE.md) for version bumps, changelog updates, tagging, and release publication. +- Prefer manual issue/PR closeouts with a short rationale over implicit assumptions. +- Do not auto-close old PRs or issues through unrelated docs PRs. + +## Implementation Preferences + +- Preserve the current upload/finalize flow unless there is strong evidence it needs to change. +- Prefer upload-time semantics over filesystem mutation. +- Be careful with parsing changes around `files`, path handling, and Windows compatibility. +- Be careful with race-condition fixes; verify both local tests and consumer-repo concurrency harnesses. +- Do not assume a refactor is safe just because tests are green. This action’s behavior is heavily shaped by GitHub API edge cases. diff --git a/CHANGELOG.md b/CHANGELOG.md index 43e0720..f59d78c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,304 @@ +## 3.0.0 + +`3.0.0` is a major release that moves the action runtime from Node 20 to Node 24. +Use `v3` on GitHub-hosted runners and self-hosted fleets that already support the +Node 24 Actions runtime. If you still need the last Node 20-compatible line, stay on +`v2.6.2`. + +## What's Changed + +### Other Changes 🔄 + +* Move the action runtime and bundle target to Node 24 +* Update `@types/node` to the Node 24 line and allow future Dependabot updates +* Keep the floating major tag on `v3`; `v2` remains pinned to the latest `2.x` release + +## 2.6.2 + +## What's Changed + +### Other Changes 🔄 + +* chore(deps): bump picomatch from 4.0.3 to 4.0.4 by @dependabot[bot] in https://github.com/softprops/action-gh-release/pull/775 +* chore(deps): bump brace-expansion from 5.0.4 to 5.0.5 by @dependabot[bot] in https://github.com/softprops/action-gh-release/pull/777 +* chore(deps): bump vite from 8.0.0 to 8.0.5 by @dependabot[bot] in https://github.com/softprops/action-gh-release/pull/781 + +## 2.6.1 + +`2.6.1` is a patch release focused on restoring linked discussion thread creation when +`discussion_category_name` is set. It fixes `#764`, where the draft-first publish flow +stopped carrying the discussion category through the final publish step. + +If you still hit an issue after upgrading, please open a report with the bug template and include a minimal repro or sanitized workflow snippet where possible. + +## What's Changed + +### Bug fixes 🐛 + +* fix: preserve discussion category on publish by @chenrui333 in https://github.com/softprops/action-gh-release/pull/765 + +## 2.6.0 + +`2.6.0` is a minor release centered on `previous_tag` support for `generate_release_notes`, +which lets workflows pin GitHub's comparison base explicitly instead of relying on the default range. +It also includes the recent concurrent asset upload recovery fix, a `working_directory` docs sync, +a checked-bundle freshness guard for maintainers, and clearer immutable-prerelease guidance where +GitHub platform behavior imposes constraints on how prerelease asset uploads can be published. + +If you still hit an issue after upgrading, please open a report with the bug template and include a minimal repro or sanitized workflow snippet where possible. + +## What's Changed + +### Exciting New Features 🎉 + +* feat: support previous_tag for generate_release_notes by @pocesar in https://github.com/softprops/action-gh-release/pull/372 + +### Bug fixes 🐛 + +* fix: recover concurrent asset metadata 404s by @chenrui333 in https://github.com/softprops/action-gh-release/pull/760 + +### Other Changes 🔄 + +* docs: clarify reused draft release behavior by @chenrui333 in https://github.com/softprops/action-gh-release/pull/759 +* docs: clarify working_directory input by @chenrui333 in https://github.com/softprops/action-gh-release/pull/761 +* ci: verify dist bundle freshness by @chenrui333 in https://github.com/softprops/action-gh-release/pull/762 +* fix: clarify immutable prerelease uploads by @chenrui333 in https://github.com/softprops/action-gh-release/pull/763 + +## 2.5.3 + +`2.5.3` is a patch release focused on the remaining path-handling and release-selection bugs uncovered after `2.5.2`. +It fixes `#639`, `#571`, `#280`, `#614`, `#311`, `#403`, and `#368`. +It also adds documentation clarifications for `#541`, `#645`, `#542`, `#393`, and `#411`, +where the current behavior is either usage-sensitive or constrained by GitHub platform limits rather than an action-side runtime bug. + +If you still hit an issue after upgrading, please open a report with the bug template and include a minimal repro or sanitized workflow snippet where possible. + +## What's Changed + +### Bug fixes 🐛 + +* fix: prefer token input over GITHUB_TOKEN by @chenrui333 in https://github.com/softprops/action-gh-release/pull/751 +* fix: clean up duplicate drafts after canonicalization by @chenrui333 in https://github.com/softprops/action-gh-release/pull/753 +* fix: support Windows-style file globs by @chenrui333 in https://github.com/softprops/action-gh-release/pull/754 +* fix: normalize refs-tag inputs by @chenrui333 in https://github.com/softprops/action-gh-release/pull/755 +* fix: expand tilde file paths by @chenrui333 in https://github.com/softprops/action-gh-release/pull/756 + +### Other Changes 🔄 + +* docs: clarify token precedence by @chenrui333 in https://github.com/softprops/action-gh-release/pull/752 +* docs: clarify GitHub release limits by @chenrui333 in https://github.com/softprops/action-gh-release/pull/758 +* documentation clarifications for empty-token handling, `preserve_order`, and special-character asset filename behavior + +## 2.5.2 + +`2.5.2` is a patch release focused on the remaining release-creation and prerelease regressions in the `2.5.x` bug-fix cycle. +It fixes `#705`, fixes `#708`, fixes `#740`, fixes `#741`, and fixes `#722`. +Regression testing covers the shared-tag race, prerelease event behavior, dotfile asset labels, +same-filename concurrent uploads, and blocked-tag cleanup behavior. + +If you still hit an issue after upgrading, please open a report with the bug template and include a minimal repro or sanitized workflow snippet where possible. + +## What's Changed + +### Bug fixes 🐛 + +* fix: canonicalize releases after concurrent create by @chenrui333 in https://github.com/softprops/action-gh-release/pull/746 +* fix: preserve prereleased events for prereleases by @chenrui333 in https://github.com/softprops/action-gh-release/pull/748 +* fix: restore dotfile asset labels by @chenrui333 in https://github.com/softprops/action-gh-release/pull/749 +* fix: handle upload already_exists races across workflows by @api2062 in https://github.com/softprops/action-gh-release/pull/745 +* fix: clean up orphan drafts when tag creation is blocked by @chenrui333 in https://github.com/softprops/action-gh-release/pull/750 + +## 2.5.1 + +`2.5.1` is a patch release focused on regressions introduced in `2.5.0` and on release lookup reliability. +It fixes `#713`, addresses `#703`, and fixes `#724`. Regression testing shows that +current `master` no longer reproduces the finalize-race behavior reported in `#704` and `#709`. + +## What's Changed + +### Bug fixes 🐛 + +* fix: fetch correct asset URL after finalization; test; some refactoring by @pzhlkj6612 in https://github.com/softprops/action-gh-release/pull/738 +* fix: release marked as 'latest' despite make_latest: false by @Boshen in https://github.com/softprops/action-gh-release/pull/715 +* fix: use getReleaseByTag API instead of iterating all releases by @kim-em in https://github.com/softprops/action-gh-release/pull/725 + +### Other Changes 🔄 + +* dependency updates, including the ESM/runtime compatibility refresh in https://github.com/softprops/action-gh-release/pull/731 + +## 2.5.0 + +## What's Changed + +### Exciting New Features 🎉 + +* feat: mark release as draft until all artifacts are uploaded by @dumbmoron in https://github.com/softprops/action-gh-release/pull/692 + +### Other Changes 🔄 + +* dependency updates + +## 2.4.2 + +## What's Changed + +### Exciting New Features 🎉 + +* feat: Ensure generated release notes cannot be over 125000 characters by @BeryJu in https://github.com/softprops/action-gh-release/pull/684 + +### Other Changes 🔄 + +* dependency updates + +## 2.4.1 + +## What's Changed + +### Other Changes 🔄 + +* fix(util): support brace expansion globs containing commas in parseInputFiles by @Copilot in https://github.com/softprops/action-gh-release/pull/672 +* fix: gracefully fallback to body when body_path cannot be read by @Copilot in https://github.com/softprops/action-gh-release/pull/671 + +## 2.4.0 + +## What's Changed + +### Exciting New Features 🎉 + +* feat(action): respect working_directory for files globs by @stephenway in https://github.com/softprops/action-gh-release/pull/667 + +## 2.3.4 + +## What's Changed + +### Bug fixes 🐛 + +* fix(action): handle 422 already_exists race condition by @stephenway in https://github.com/softprops/action-gh-release/pull/665 + +### Other Changes 🔄 + +- dependency updates + +## 2.3.3 + +## What's Changed + +### Exciting New Features 🎉 + +* feat: add input option `overwrite_files` by @asfernandes in https://github.com/softprops/action-gh-release/pull/343 + +### Other Changes 🔄 + +- dependency updates + +## 2.3.2 + +* fix: revert fs `readableWebStream` change + +## 2.3.1 + +### Bug fixes 🐛 + +* fix: fix file closing issue by @WailGree in https://github.com/softprops/action-gh-release/pull/629 + +## 2.3.0 + +* Migrate from jest to vitest +* Replace `mime` with `mime-types` +* Bump to use node 24 +* Dependency updates + +## 2.2.2 + +## What's Changed + +### Bug fixes 🐛 + +* fix: updating release draft status from true to false by @galargh in https://github.com/softprops/action-gh-release/pull/316 + +### Other Changes 🔄 + +* chore: simplify ref_type test by @steinybot in https://github.com/softprops/action-gh-release/pull/598 +* fix(docs): clarify the default for tag_name by @muzimuzhi in https://github.com/softprops/action-gh-release/pull/599 +* test(release): add unit tests when searching for a release by @rwaskiewicz in https://github.com/softprops/action-gh-release/pull/603 +* dependency updates + +## 2.2.1 + +## What's Changed + +### Bug fixes 🐛 + +* fix: big file uploads by @xen0n in https://github.com/softprops/action-gh-release/pull/562 + +### Other Changes 🔄 +* chore(deps): bump @types/node from 22.10.1 to 22.10.2 by @dependabot in https://github.com/softprops/action-gh-release/pull/559 +* chore(deps): bump @types/node from 22.10.2 to 22.10.5 by @dependabot in https://github.com/softprops/action-gh-release/pull/569 +* chore: update error and warning messages for not matching files in files field by @ytimocin in https://github.com/softprops/action-gh-release/pull/568 + +## 2.2.0 + +## What's Changed + +### Exciting New Features 🎉 + +* feat: read the release assets asynchronously by @xen0n in https://github.com/softprops/action-gh-release/pull/552 + +### Bug fixes 🐛 + +* fix(docs): clarify the default for tag_name by @alexeagle in https://github.com/softprops/action-gh-release/pull/544 + +### Other Changes 🔄 + +* chore(deps): bump typescript from 5.6.3 to 5.7.2 by @dependabot in https://github.com/softprops/action-gh-release/pull/548 +* chore(deps): bump @types/node from 22.9.0 to 22.9.4 by @dependabot in https://github.com/softprops/action-gh-release/pull/547 +* chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 by @dependabot in https://github.com/softprops/action-gh-release/pull/545 +* chore(deps): bump @vercel/ncc from 0.38.2 to 0.38.3 by @dependabot in https://github.com/softprops/action-gh-release/pull/543 +* chore(deps): bump prettier from 3.3.3 to 3.4.1 by @dependabot in https://github.com/softprops/action-gh-release/pull/550 +* chore(deps): bump @types/node from 22.9.4 to 22.10.1 by @dependabot in https://github.com/softprops/action-gh-release/pull/551 +* chore(deps): bump prettier from 3.4.1 to 3.4.2 by @dependabot in https://github.com/softprops/action-gh-release/pull/554 + +## 2.1.0 + +## What's Changed + +### Exciting New Features 🎉 +* feat: add support for release assets with multiple spaces within the name by @dukhine in https://github.com/softprops/action-gh-release/pull/518 +* feat: preserve upload order by @richarddd in https://github.com/softprops/action-gh-release/pull/500 + +### Other Changes 🔄 +* chore(deps): bump @types/node from 22.8.2 to 22.8.7 by @dependabot in https://github.com/softprops/action-gh-release/pull/539 + +## 2.0.9 + +- maintenance release with updated dependencies + +## 2.0.8 + +### Other Changes 🔄 +* chore(deps): bump prettier from 2.8.0 to 3.3.3 by @dependabot in https://github.com/softprops/action-gh-release/pull/480 +* chore(deps): bump @types/node from 20.14.9 to 20.14.11 by @dependabot in https://github.com/softprops/action-gh-release/pull/483 +* chore(deps): bump @octokit/plugin-throttling from 9.3.0 to 9.3.1 by @dependabot in https://github.com/softprops/action-gh-release/pull/484 +* chore(deps): bump glob from 10.4.2 to 11.0.0 by @dependabot in https://github.com/softprops/action-gh-release/pull/477 +* refactor: write jest config in ts by @chenrui333 in https://github.com/softprops/action-gh-release/pull/485 +* chore(deps): bump @actions/github from 5.1.1 to 6.0.0 by @dependabot in https://github.com/softprops/action-gh-release/pull/470 + +## 2.0.7 + +### Bug fixes 🐛 + +* Fix missing update release body by @FirelightFlagboy in https://github.com/softprops/action-gh-release/pull/365 + +### Other Changes 🔄 + +* Bump @octokit/plugin-retry from 4.0.3 to 7.1.1 by @dependabot in https://github.com/softprops/action-gh-release/pull/443 +* Bump typescript from 4.9.5 to 5.5.2 by @dependabot in https://github.com/softprops/action-gh-release/pull/467 +* Bump @types/node from 20.14.6 to 20.14.8 by @dependabot in https://github.com/softprops/action-gh-release/pull/469 +* Bump @types/node from 20.14.8 to 20.14.9 by @dependabot in https://github.com/softprops/action-gh-release/pull/473 +* Bump typescript from 5.5.2 to 5.5.3 by @dependabot in https://github.com/softprops/action-gh-release/pull/472 +* Bump ts-jest from 29.1.5 to 29.2.2 by @dependabot in https://github.com/softprops/action-gh-release/pull/479 +* docs: document that existing releases are updated by @jvanbruegge in https://github.com/softprops/action-gh-release/pull/474 + ## 2.0.6 - maintenance release with updated dependencies @@ -28,7 +329,7 @@ ## 2.0.0 -- `2.0.0`!? this release corrects a disjunction between git tag versions used in the marketplace and versions list this file. Previous versions should have really been 1.\*. Going forward this should be better aligned. +- `2.0.0`!? this release corrects a disjunction between git tag versions used in the marketplace and the versions listed in this file. Previous versions should have really been 1.\*. Going forward this should be better aligned. - Upgrade action.yml declaration to node20 to address deprecations ## 0.1.15 @@ -39,7 +340,7 @@ ## 0.1.14 -- provides an new workflow input option `generate_release_notes` which when set to true will automatically generate release notes for you based on GitHub activity [#179](https://github.com/softprops/action-gh-release/pull/179). Please see the [GitHub docs for this feature](https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes) for more information +- provides a new workflow input option `generate_release_notes` which when set to true will automatically generate release notes for you based on GitHub activity [#179](https://github.com/softprops/action-gh-release/pull/179). Please see the [GitHub docs for this feature](https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes) for more information ## 0.1.13 @@ -47,7 +348,7 @@ ## 0.1.12 -- fix bug leading to empty strings subsituted for inputs users don't provide breaking api calls [#144](https://github.com/softprops/action-gh-release/pull/144) +- fix bug leading to empty strings substituted for inputs users don't provide breaking api calls [#144](https://github.com/softprops/action-gh-release/pull/144) ## 0.1.11 @@ -64,7 +365,7 @@ ## 0.1.8 - address recent warnings in assert upload api as well as introduce asset upload overrides, allowing for multiple runs for the same release with the same named asserts [#134](https://github.com/softprops/action-gh-release/pull/134) -- fix backwards compatibility with `GITHUB_TOKEN` resolution. `GITHUB_TOKEN` is no resolved first from an env varibale and then from and input [#133](https://github.com/softprops/action-gh-release/pull/133) +- fix backwards compatibility with `GITHUB_TOKEN` resolution. `GITHUB_TOKEN` is now resolved first from an env variable and then from an input [#133](https://github.com/softprops/action-gh-release/pull/133) - trim white space in provided `tag_name` [#130](https://github.com/softprops/action-gh-release/pull/130) ## 0.1.7 @@ -77,14 +378,14 @@ This is a release catch up have a hiatus. Future releases will happen more frequently -- Add 'fail_on_unmatched_files' input, useful for catching cases were your `files` input does not actually match what you expect [#55](https://github.com/softprops/action-gh-release/pull/55) +- Add 'fail_on_unmatched_files' input, useful for catching cases where your `files` input does not actually match what you expect [#55](https://github.com/softprops/action-gh-release/pull/55) - Add `repository` input, useful for creating a release in an external repository [#61](https://github.com/softprops/action-gh-release/pull/61) -- Add release `id` to outputs, useful for refering to release in workflow steps following the step that uses this action [#60](https://github.com/softprops/action-gh-release/pull/60) +- Add release `id` to outputs, useful for referring to release in workflow steps following the step that uses this action [#60](https://github.com/softprops/action-gh-release/pull/60) - Add `upload_url` as action output, useful for managing uploads separately [#75](https://github.com/softprops/action-gh-release/pull/75) - Support custom `target_commitish` value, useful to customize the default [#76](https://github.com/softprops/action-gh-release/pull/76) -- fix `body_path` input first then fall back on `body` input. this was the originally documented precedence but was implemened the the opposite order! [#85](https://github.com/softprops/action-gh-release/pull/85) +- fix `body_path` input first then fall back on `body` input. This was the originally documented precedence but was implemented in the opposite order! [#85](https://github.com/softprops/action-gh-release/pull/85) - Retain original release info if the keys are not set, useful for filling in blanks for a release you've already started separately [#109](https://github.com/softprops/action-gh-release/pull/109) -- Limit number of times github api request to create a release is retried, useful for avoiding eating up your rate limit and action minutes do to either an invalid token or other circumstance causing the api call to fail [#111](https://github.com/softprops/action-gh-release/pull/111) +- Limit number of times github api request to create a release is retried, useful for avoiding eating up your rate limit and action minutes due to either an invalid token or other circumstance causing the api call to fail [#111](https://github.com/softprops/action-gh-release/pull/111) ## 0.1.5 @@ -94,7 +395,7 @@ This is a release catch up have a hiatus. Future releases will happen more frequ - Added support for updating releases body [#36](https://github.com/softprops/action-gh-release/pull/36) - Steps can now access the url of releases with the `url` output of this Action [#28](https://github.com/softprops/action-gh-release/pull/28) -- Added basic GitHub API retry support to manage API turbulance [#26](https://github.com/softprops/action-gh-release/pull/26) +- Added basic GitHub API retry support to manage API turbulence [#26](https://github.com/softprops/action-gh-release/pull/26) ## 0.1.3 @@ -109,7 +410,7 @@ This is now fixed. - Add support for newline-delimited asset list [#18](https://github.com/softprops/action-gh-release/pull/18) -GitHub actions inputs don't inherently support lists of things and one might like to append a list of files to include in a release. Previously this was possible using a comma-delimited list of asset path patterns to upload. You can now provide these as a newline delimieted list for better readability +GitHub actions inputs don't inherently support lists of things and one might like to append a list of files to include in a release. Previously this was possible using a comma-delimited list of asset path patterns to upload. You can now provide these as a newline delimited list for better readability ```yaml - name: Release diff --git a/README.md b/README.md index 715d138..ccd93e2 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,16 @@
+- [🤸 Usage](#-usage) + - [🚥 Limit releases to pushes to tags](#-limit-releases-to-pushes-to-tags) + - [⬆️ Uploading release assets](#️-uploading-release-assets) + - [📝 External release notes](#-external-release-notes) + - [💅 Customizing](#-customizing) + - [inputs](#inputs) + - [outputs](#outputs) + - [environment variables](#environment-variables) + - [Permissions](#permissions) + ## 🤸 Usage ### 🚥 Limit releases to pushes to tags @@ -29,6 +39,9 @@ Typically usage of this action involves adding a step to a build that is gated pushes to git tags. You may find `step.if` field helpful in accomplishing this as it maximizes the reuse value of your workflow for non-tag pushes. +`v3` requires a GitHub Actions runtime that supports Node 24. If you still need the +last Node 20-compatible line, stay on `v2.6.2`. + Below is a simple example of `step.if` tag gating ```yaml @@ -41,10 +54,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Release - uses: softprops/action-gh-release@v2 - if: startsWith(github.ref, 'refs/tags/') + uses: softprops/action-gh-release@v3 + if: github.ref_type == 'tag' ``` You can also use push config tag filter @@ -62,9 +75,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Release - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@v3 ``` ### ⬆️ Uploading release assets @@ -75,6 +88,7 @@ GitHub release and all are optional. A common case for GitHub releases is to upload your binary after its been validated and packaged. Use the `with.files` input to declare a newline-delimited list of glob expressions matching the files you wish to upload to GitHub releases. If you'd like you can just list the files by name directly. +If a tag already has a GitHub release, the existing release will be updated with the release assets. Below is an example of uploading a single asset named `Release.txt` @@ -88,14 +102,14 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Build run: echo ${{ github.sha }} > Release.txt - name: Test run: cat Release.txt - name: Release - uses: softprops/action-gh-release@v2 - if: startsWith(github.ref, 'refs/tags/') + uses: softprops/action-gh-release@v3 + if: github.ref_type == 'tag' with: files: Release.txt ``` @@ -112,14 +126,14 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Build run: echo ${{ github.sha }} > Release.txt - name: Test run: cat Release.txt - name: Release - uses: softprops/action-gh-release@v2 - if: startsWith(github.ref, 'refs/tags/') + uses: softprops/action-gh-release@v3 + if: github.ref_type == 'tag' with: files: | Release.txt @@ -128,7 +142,21 @@ jobs: > **⚠️ Note:** Notice the `|` in the yaml syntax above ☝️. That lets you effectively declare a multi-line yaml string. You can learn more about multi-line yaml syntax [here](https://yaml-multiline.info) -> **⚠️ Note for Windows:** Paths must use `/` as a separator, not `\`, as `\` is used to escape characters with special meaning in the pattern; for example, instead of specifying `D:\Foo.txt`, you must specify `D:/Foo.txt`. If you're using PowerShell, you can do this with `$Path = $Path -replace '\\','/'` +> **⚠️ Note for Windows:** Both `\` and `/` path separators are accepted in `files` globs. If you need to match a literal glob metacharacter such as `[` or `]`, keep escaping the metacharacter itself in the pattern. + +If your release assets are generated under a subdirectory, set `working_directory` +and keep the `files` patterns relative to that directory. + +```yaml +- name: Release + uses: softprops/action-gh-release@v3 + if: github.ref_type == 'tag' + with: + working_directory: dist + files: | + Release.txt + checksums/*.txt +``` ### 📝 External release notes @@ -146,20 +174,36 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Generate Changelog run: echo "# Good things have arrived" > ${{ github.workspace }}-CHANGELOG.txt - name: Release - uses: softprops/action-gh-release@v2 - if: startsWith(github.ref, 'refs/tags/') + uses: softprops/action-gh-release@v3 + if: github.ref_type == 'tag' with: body_path: ${{ github.workspace }}-CHANGELOG.txt repository: my_gh_org/my_gh_repo # note you'll typically need to create a personal access token - # with permissions to create releases in the other repo + # with permissions to create releases in the other repo. + # A non-empty explicit token overrides GITHUB_TOKEN. + # Omit the input to use github.token; passing "" treats the token as unset. token: ${{ secrets.CUSTOM_GITHUB_TOKEN }} ``` +When you use GitHub's built-in `generate_release_notes` support, you can optionally +pin the comparison base explicitly with `previous_tag`. This is useful when the default +comparison range does not match the release series you want to publish. + +```yaml +- name: Release + uses: softprops/action-gh-release@v3 + with: + tag_name: stage-2026-03-15 + target_commitish: ${{ github.sha }} + previous_tag: prod-2026-03-01 + generate_release_notes: true +``` + ### 💅 Customizing #### inputs @@ -170,26 +214,48 @@ The following are optional as `step.with` keys | -------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `body` | String | Text communicating notable changes in this release | | `body_path` | String | Path to load text communicating notable changes in this release | -| `draft` | Boolean | Indicator of whether or not this release is a draft | +| `draft` | Boolean | Keep the release as a draft. Defaults to false. When reusing an existing draft release, set this to true to keep it draft; omit it to publish after upload. | | `prerelease` | Boolean | Indicator of whether or not is a prerelease | -| `files` | String | Newline-delimited globs of paths to assets to upload for release | +| `preserve_order` | Boolean | Upload assets sequentially in the provided order. This controls the action's upload behavior, but it does not control the final asset ordering that GitHub may display on the release page or return from the Releases API. | +| `files` | String | Newline-delimited globs of paths to assets to upload for release. Escape glob metacharacters when you need to match a literal filename that contains them, such as `[` or `]`. `~/...` expands to the runner home directory. On Windows, both `\` and `/` separators are accepted. GitHub may normalize raw asset filenames that contain special characters; the action restores the asset label when possible, but the final download name remains GitHub-controlled. | +| `working_directory` | String | Base directory to resolve `files` globs against. Use this when release assets live under a subdirectory. If omitted, the action resolves `files` from `${{ github.workspace }}`. | +| `overwrite_files` | Boolean | Indicator of whether files should be overwritten when they already exist. Defaults to true | | `name` | String | Name of the release. defaults to tag name | -| `tag_name` | String | Name of a tag. defaults to `github.ref` | +| `tag_name` | String | Name of a tag. defaults to `github.ref_name`. `refs/tags/` values are normalized to ``. | | `fail_on_unmatched_files` | Boolean | Indicator of whether to fail if any of the `files` globs match nothing | | `repository` | String | Name of a target repository in `/` format. Defaults to GITHUB_REPOSITORY env variable | -| `target_commitish` | String | Commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Defaults to repository default branch. | -| `token` | String | Secret GitHub Personal Access Token. Defaults to `${{ github.token }}` | +| `target_commitish` | String | Commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Defaults to repository default branch. When creating a new tag for an older commit, `github.token` may not have permission to create the ref; use a PAT or another token with sufficient contents permissions if you hit `403 Resource not accessible by integration`. | +| `token` | String | Authorized GitHub token or PAT. Defaults to `${{ github.token }}` when omitted. A non-empty explicit token overrides `GITHUB_TOKEN`. Passing `""` treats the token as explicitly unset, so omit the input entirely or use an expression such as `${{ inputs.token || github.token }}` when wrapping this action in a composite action. | | `discussion_category_name` | String | If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. For more information, see ["Managing categories for discussions in your repository."](https://docs.github.com/en/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository) | | `generate_release_notes` | Boolean | Whether to automatically generate the name and body for this release. If name is specified, the specified name will be used; otherwise, a name will be automatically generated. If body is specified, the body will be pre-pended to the automatically generated notes. See the [GitHub docs for this feature](https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes) for more information | +| `previous_tag` | String | Optional. When `generate_release_notes` is enabled, use this tag as GitHub's `previous_tag_name` comparison base. If omitted, GitHub chooses the comparison base automatically. | | `append_body` | Boolean | Append to existing body instead of overwriting it | | `make_latest` | String | Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Can be `true`, `false`, or `legacy`. Uses GitHub api defaults if not provided | 💡 When providing a `body` and `body_path` at the same time, `body_path` will be attempted first, then falling back on `body` if the path can not be read from. -💡 When the release info keys (such as `name`, `body`, `draft`, `prerelease`, etc.) -are not explicitly set and there is already an existing release for the tag, the -release will retain its original info. +💡 When the release info keys (such as `name`, `body`, `prerelease`, etc.) are not +explicitly set and there is already an existing release for the tag, the release +will retain its original info. + +💡 Draft status is handled separately during finalization. If the action reuses an +existing draft release, set `draft: true` to keep it draft; if `draft` is omitted, +the action will publish that draft after uploading assets. + +💡 GitHub immutable releases lock assets after publication. Standard releases in this +action already upload assets before publishing, but prereleases stay published by +default so `release.prereleased` workflows keep firing. On an immutable-release +repository, use `draft: true` for prereleases that upload assets, then publish that +draft later and subscribe downstream workflows to `release.published`. + +💡 `files` is glob-based, so literal filenames that contain glob metacharacters such as +`[` or `]` must be escaped in the pattern. + +💡 GitHub may normalize or rewrite uploaded asset filenames that contain special or +non-ASCII characters. This action uploads the requested file, but it cannot force the +final asset name that GitHub stores or returns from the Releases API. In particular, +4-byte Unicode characters such as emoji cannot currently be restored via asset labels. #### outputs @@ -200,7 +266,7 @@ The following outputs can be accessed via `${{ steps..outputs }}` from | `url` | String | Github.com URL for the release | | `id` | String | Release ID | | `upload_url` | String | URL for uploading assets to the release | -| `assets` | String | JSON array containing information about each uploaded asset, in the format given [here](https://docs.github.com/en/rest/releases/assets#get-a-release-asset) (minus the `uploader` field) | +| `assets` | String | JSON array containing information about each updated (newly uploaded or overwritten) asset, in the format given [here](https://docs.github.com/en/rest/releases/assets#get-a-release-asset) (minus the `uploader` field) | As an example, you can use `${{ fromJSON(steps..outputs.assets)[0].browser_download_url }}` to get the download URL of the first asset. diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 0000000..f96b447 --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,43 @@ +# Release Workflow + +Use this checklist when cutting a new `action-gh-release` release. + +## Inputs + +- Decide the semantic version bump first: `major`, `minor`, or `patch`. +- Review recent merged PRs and labels before drafting the changelog entry. +- Make sure `master` is current and the worktree is clean before starting. + +## Checklist + +1. Update [package.json](package.json) to the new version. +2. Add the new entry at the top of [CHANGELOG.md](CHANGELOG.md). + - Summarize the release in 1 short paragraph. + - If the summary mentions issues, use plain `#123` references or full issue links; do not wrap issue numbers like `#123` in backticks. + - Prefer user-facing fixes and features over internal churn. + - Keep the merged PR list aligned with `.github/release.yml` categories. +3. Run `npm i` to refresh [package-lock.json](package-lock.json). +4. Run the full local verification set: + - `npm run fmtcheck` + - `npm run typecheck` + - `npm run build` + - `npm test` +5. Commit the release prep. + - Use a plain release commit message like `release 3.0.0`. +6. Create the annotated tag for the release commit. + - Example: `git tag -a v3.0.0 -m "v3.0.0"` +7. Push the commit and tag. + - Example: `git push origin master && git push origin v3.0.0` +8. Move the floating major tag to the new release tag. + - For the current major line, run `npm run updatetag` to move `v3`. + - Keep `v2` pinned to the latest `2.x` release for consumers that still need the Node 20 runtime. + - Verify the floating tag points at the same commit as the new full tag. +9. Create the GitHub release from the new tag. + - Prefer the release body from [CHANGELOG.md](CHANGELOG.md), then let GitHub append generated notes only if they add value. + - Verify the release shows the expected tag, title, notes, and attached artifacts. + +## Notes + +- Behavior changes should already have matching updates in [README.md](README.md), [action.yml](action.yml), tests, and `dist/index.js` before release prep begins. +- Docs-only releases still need an intentional changelog entry and version bump decision. +- If a release is mainly bug fixes, keep the title and summary patch-oriented; do not bury the actual fixes under dependency noise. diff --git a/__tests__/github.test.ts b/__tests__/github.test.ts index 52c831d..877772d 100644 --- a/__tests__/github.test.ts +++ b/__tests__/github.test.ts @@ -1,25 +1,1494 @@ -//import * as assert from "assert"; -//const assert = require('assert'); -import * as assert from "assert"; -import { mimeOrDefault, asset } from "../src/github"; +import { + asset, + findTagFromReleases, + finalizeRelease, + GitHubReleaser, + mimeOrDefault, + release, + Release, + Releaser, + upload, +} from '../src/github'; -describe("github", () => { - describe("mimeOrDefault", () => { - it("returns a specific mime for common path", async () => { - assert.equal(mimeOrDefault("foo.tar.gz"), "application/gzip"); +import { mkdtempSync, rmSync, writeFileSync } from 'fs'; +import { tmpdir } from 'os'; +import { join } from 'path'; +import { assert, describe, expect, it, vi } from 'vitest'; + +describe('github', () => { + const config = { + github_token: 'test-token', + github_ref: 'refs/tags/v1.0.0', + github_repository: 'owner/repo', + input_tag_name: undefined, + input_name: undefined, + input_body: undefined, + input_body_path: undefined, + input_files: [], + input_draft: undefined, + input_prerelease: undefined, + input_preserve_order: undefined, + input_overwrite_files: undefined, + input_fail_on_unmatched_files: false, + input_target_commitish: undefined, + input_discussion_category_name: undefined, + input_generate_release_notes: false, + input_previous_tag: undefined, + input_append_body: false, + input_make_latest: undefined, + }; + + describe('mimeOrDefault', () => { + it('returns a specific mime for common path', async () => { + assert.equal(mimeOrDefault('foo.tar.gz'), 'application/gzip'); }); - it("returns default mime for uncommon path", async () => { - assert.equal(mimeOrDefault("foo.uncommon"), "application/octet-stream"); + it('returns default mime for uncommon path', async () => { + assert.equal(mimeOrDefault('foo.uncommon'), 'application/octet-stream'); }); }); - describe("asset", () => { - it("derives asset info from a path", async () => { - const { name, mime, size, data } = asset("tests/data/foo/bar.txt"); - assert.equal(name, "bar.txt"); - assert.equal(mime, "text/plain"); + describe('asset', () => { + it('derives asset info from a path', async () => { + const { name, mime, size } = asset('tests/data/foo/bar.txt'); + assert.equal(name, 'bar.txt'); + assert.equal(mime, 'text/plain'); assert.equal(size, 10); - assert.equal(data.toString(), "release me"); + }); + }); + + describe('findTagFromReleases', () => { + const owner = 'owner'; + const repo = 'repo'; + + const mockRelease: Release = { + id: 1, + upload_url: `https://api.github.com/repos/${owner}/${repo}/releases/1/assets`, + html_url: `https://github.com/${owner}/${repo}/releases/tag/v1.0.0`, + tag_name: 'v1.0.0', + name: 'Test Release', + body: 'Test body', + target_commitish: 'main', + draft: false, + prerelease: false, + assets: [], + } as const; + + const mockReleaser: Releaser = { + getReleaseByTag: () => Promise.reject({ status: 404 }), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + yield { data: [mockRelease] }; + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + } as const; + + it('finds a release by tag using direct API lookup', async () => { + const targetTag = 'v1.0.0'; + const targetRelease = { + ...mockRelease, + tag_name: targetTag, + }; + + const releaser = { + ...mockReleaser, + getReleaseByTag: () => Promise.resolve({ data: targetRelease }), + }; + + const result = await findTagFromReleases(releaser, owner, repo, targetTag); + + assert.deepStrictEqual(result, targetRelease); + }); + + it('returns undefined when release is not found (404)', async () => { + const releaser = { + ...mockReleaser, + getReleaseByTag: () => Promise.reject({ status: 404 }), + }; + + const result = await findTagFromReleases(releaser, owner, repo, 'nonexistent'); + + assert.strictEqual(result, undefined); + }); + + it('re-throws non-404 errors', async () => { + const releaser = { + ...mockReleaser, + getReleaseByTag: () => Promise.reject({ status: 500, message: 'Server error' }), + }; + + try { + await findTagFromReleases(releaser, owner, repo, 'v1.0.0'); + assert.fail('Expected an error to be thrown'); + } catch (error) { + assert.strictEqual(error.status, 500); + } + }); + + it('finds a release with empty tag name', async () => { + const emptyTag = ''; + const targetRelease = { + ...mockRelease, + tag_name: emptyTag, + }; + + const releaser = { + ...mockReleaser, + getReleaseByTag: () => Promise.resolve({ data: targetRelease }), + }; + + const result = await findTagFromReleases(releaser, owner, repo, emptyTag); + + assert.deepStrictEqual(result, targetRelease); + }); + }); + + describe('GitHubReleaser', () => { + it('passes previous_tag_name to generateReleaseNotes and strips it from createRelease', async () => { + const generateReleaseNotes = vi.fn(async () => ({ + data: { + name: 'Generated release', + body: "## What's Changed\n* Added support for previous_tag", + }, + })); + const createRelease = vi.fn(async (params) => ({ + data: { + id: 1, + upload_url: 'test', + html_url: 'test', + tag_name: params.tag_name, + name: params.name, + body: params.body, + target_commitish: params.target_commitish || 'main', + draft: params.draft ?? false, + prerelease: params.prerelease ?? false, + assets: [], + }, + })); + + const releaser = new GitHubReleaser({ + rest: { + repos: { + generateReleaseNotes, + createRelease, + updateRelease: vi.fn(), + getReleaseByTag: vi.fn(), + listReleaseAssets: vi.fn(), + deleteReleaseAsset: vi.fn(), + deleteRelease: vi.fn(), + updateReleaseAsset: vi.fn(), + listReleases: { + endpoint: { + merge: vi.fn(), + }, + }, + }, + }, + paginate: { + iterator: vi.fn(), + }, + request: vi.fn(), + } as any); + + await releaser.createRelease({ + owner: 'owner', + repo: 'repo', + tag_name: 'v1.0.0', + name: 'v1.0.0', + body: 'Intro', + draft: false, + prerelease: false, + target_commitish: 'abc123', + discussion_category_name: undefined, + generate_release_notes: true, + make_latest: undefined, + previous_tag_name: 'v0.9.0', + }); + + expect(generateReleaseNotes).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + tag_name: 'v1.0.0', + target_commitish: 'abc123', + previous_tag_name: 'v0.9.0', + }); + expect(createRelease).toHaveBeenCalledWith( + expect.objectContaining({ + tag_name: 'v1.0.0', + body: "Intro\n\n## What's Changed\n* Added support for previous_tag", + generate_release_notes: false, + }), + ); + expect(createRelease.mock.calls[0][0]).not.toHaveProperty('previous_tag_name'); + }); + + it('passes discussion_category_name when finalizing a release', async () => { + const updateRelease = vi.fn(async () => ({ + data: { + id: 1, + upload_url: 'test', + html_url: 'test', + tag_name: 'v1.0.0', + name: 'v1.0.0', + body: 'test', + target_commitish: 'main', + draft: false, + prerelease: false, + assets: [], + }, + })); + + const releaser = new GitHubReleaser({ + rest: { + repos: { + generateReleaseNotes: vi.fn(), + createRelease: vi.fn(), + updateRelease, + getReleaseByTag: vi.fn(), + listReleaseAssets: vi.fn(), + deleteReleaseAsset: vi.fn(), + deleteRelease: vi.fn(), + updateReleaseAsset: vi.fn(), + listReleases: { + endpoint: { + merge: vi.fn(), + }, + }, + }, + }, + paginate: { + iterator: vi.fn(), + }, + request: vi.fn(), + } as any); + + await releaser.finalizeRelease({ + owner: 'owner', + repo: 'repo', + release_id: 1, + make_latest: 'legacy', + discussion_category_name: 'Announcements', + }); + + expect(updateRelease).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: 1, + draft: false, + make_latest: 'legacy', + discussion_category_name: 'Announcements', + }); + }); + }); + + describe('finalizeRelease input_draft behavior', () => { + const draftRelease: Release = { + id: 1, + upload_url: 'test', + html_url: 'test', + tag_name: 'v1.0.0', + name: 'test', + body: 'test', + target_commitish: 'main', + draft: true, + prerelease: false, + assets: [], + }; + + const finalizedRelease: Release = { + ...draftRelease, + draft: false, + }; + const publishedPrerelease: Release = { + ...draftRelease, + draft: false, + prerelease: true, + }; + + it.each([ + { + name: 'returns early when input_draft is true', + input_draft: true, + release: draftRelease, + expectedCalls: 0, + expectedResult: draftRelease, + }, + { + name: 'finalizes release when input_draft is false', + input_draft: false, + release: draftRelease, + expectedCalls: 1, + expectedResult: finalizedRelease, + }, + { + name: 'returns early when release is already published', + input_draft: false, + release: publishedPrerelease, + expectedCalls: 0, + expectedResult: publishedPrerelease, + }, + ])('$name', async ({ input_draft, release, expectedCalls, expectedResult }) => { + const finalizeReleaseSpy = vi.fn(async () => ({ data: finalizedRelease })); + + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: finalizeReleaseSpy, + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }; + + const result = await finalizeRelease( + { + ...config, + input_draft, + }, + releaser, + release, + ); + + expect(finalizeReleaseSpy).toHaveBeenCalledTimes(expectedCalls); + assert.strictEqual(result, expectedResult); + + if (expectedCalls === 1) { + expect(finalizeReleaseSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: release.id, + make_latest: undefined, + discussion_category_name: undefined, + }); + } + }); + + it('passes discussion_category_name through when finalizing a draft release', async () => { + const finalizeReleaseSpy = vi.fn(async () => ({ data: finalizedRelease })); + + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: finalizeReleaseSpy, + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }; + + await finalizeRelease( + { + ...config, + input_draft: false, + input_discussion_category_name: 'Announcements', + }, + releaser, + draftRelease, + ); + + expect(finalizeReleaseSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: draftRelease.id, + make_latest: undefined, + discussion_category_name: 'Announcements', + }); + }); + + it('deletes a newly created draft when tag creation is blocked by repository rules', async () => { + const finalizeReleaseSpy = vi.fn(async () => { + throw { + status: 422, + response: { + data: { + errors: [ + { + field: 'pre_receive', + message: + 'pre_receive Repository rule violations found\n\nCannot create ref due to creations being restricted.\n\n', + }, + ], + }, + }, + }; + }); + const deleteReleaseSpy = vi.fn(async () => undefined); + + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: finalizeReleaseSpy, + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: deleteReleaseSpy, + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }; + + await expect( + finalizeRelease( + { + ...config, + input_draft: false, + }, + releaser, + draftRelease, + true, + ), + ).rejects.toThrow( + 'Tag creation for v1.0.0 is blocked by repository rules. Deleted draft release 1 to avoid leaving an orphaned draft release.', + ); + + expect(finalizeReleaseSpy).toHaveBeenCalledTimes(1); + expect(deleteReleaseSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: draftRelease.id, + }); + }); + + it('does not delete an existing draft release when tag creation is blocked by repository rules', async () => { + const finalizeReleaseSpy = vi.fn(async () => { + throw { + status: 422, + response: { + data: { + errors: [ + { + field: 'pre_receive', + message: + 'pre_receive Repository rule violations found\n\nCannot create ref due to creations being restricted.\n\n', + }, + ], + }, + }, + }; + }); + const deleteReleaseSpy = vi.fn(async () => undefined); + + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: finalizeReleaseSpy, + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: deleteReleaseSpy, + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }; + + await expect( + finalizeRelease( + { + ...config, + input_draft: false, + }, + releaser, + draftRelease, + false, + 1, + ), + ).rejects.toThrow('Too many retries.'); + + expect(finalizeReleaseSpy).toHaveBeenCalledTimes(1); + expect(deleteReleaseSpy).not.toHaveBeenCalled(); + }); + }); + + describe('error handling', () => { + it('passes previous_tag_name through when creating a release with generated notes', async () => { + const createReleaseSpy = vi.fn(async () => ({ + data: { + id: 1, + upload_url: 'test', + html_url: 'test', + tag_name: 'v1.0.0', + name: 'test', + body: 'generated notes', + target_commitish: 'main', + draft: true, + prerelease: false, + assets: [], + }, + })); + + await release( + { + ...config, + input_generate_release_notes: true, + input_previous_tag: 'v0.9.0', + }, + { + getReleaseByTag: () => Promise.reject({ status: 404 }), + createRelease: createReleaseSpy, + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + yield { data: [] }; + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }, + 1, + ); + + expect(createReleaseSpy).toHaveBeenCalledWith( + expect.objectContaining({ + tag_name: 'v1.0.0', + generate_release_notes: true, + previous_tag_name: 'v0.9.0', + }), + ); + }); + + it('passes previous_tag_name through when updating a release with generated notes', async () => { + const existingRelease: Release = { + id: 1, + upload_url: 'test', + html_url: 'test', + tag_name: 'v1.0.0', + name: 'test', + body: 'existing body', + target_commitish: 'main', + draft: false, + prerelease: false, + assets: [], + }; + const updateReleaseSpy = vi.fn(async () => ({ data: existingRelease })); + + await release( + { + ...config, + input_generate_release_notes: true, + input_previous_tag: 'v0.9.0', + }, + { + getReleaseByTag: () => Promise.resolve({ data: existingRelease }), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: updateReleaseSpy, + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + yield { data: [existingRelease] }; + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }, + 1, + ); + + expect(updateReleaseSpy).toHaveBeenCalledWith( + expect.objectContaining({ + release_id: existingRelease.id, + generate_release_notes: true, + previous_tag_name: 'v0.9.0', + }), + ); + }); + + it('creates published prereleases without the forced draft-first path', async () => { + const prereleaseConfig = { + ...config, + input_prerelease: true, + input_draft: false, + }; + const createdRelease: Release = { + id: 1, + upload_url: 'test', + html_url: 'test', + tag_name: 'v1.0.0', + name: 'test', + body: 'test', + target_commitish: 'main', + draft: false, + prerelease: true, + assets: [], + }; + + const createReleaseSpy = vi.fn(async () => ({ data: createdRelease })); + const mockReleaser: Releaser = { + getReleaseByTag: () => Promise.reject({ status: 404 }), + createRelease: createReleaseSpy, + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + yield { data: [createdRelease] }; + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + } as const; + + const result = await release(prereleaseConfig, mockReleaser, 1); + + assert.equal(result.release.id, createdRelease.id); + assert.equal(result.created, true); + expect(createReleaseSpy).toHaveBeenCalledWith( + expect.objectContaining({ + draft: false, + prerelease: true, + }), + ); + }); + + it('retries upload after deleting conflicting asset on 422 already_exists race', async () => { + const uploadReleaseAsset = vi + .fn() + .mockRejectedValueOnce({ + status: 422, + response: { data: { errors: [{ code: 'already_exists' }] } }, + }) + .mockResolvedValueOnce({ + status: 201, + data: { id: 123, name: 'release.txt' }, + }); + + const listReleaseAssets = vi.fn().mockResolvedValue([{ id: 99, name: 'release.txt' }]); + const deleteReleaseAsset = vi.fn().mockResolvedValue(undefined); + + const mockReleaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets, + deleteReleaseAsset, + uploadReleaseAsset, + }; + + const result = await upload( + config, + mockReleaser, + 'https://uploads.github.com/repos/owner/repo/releases/1/assets', + '__tests__/release.txt', + [], + ); + + expect(result).toStrictEqual({ id: 123, name: 'release.txt' }); + expect(listReleaseAssets).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: 1, + }); + expect(deleteReleaseAsset).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + asset_id: 99, + }); + expect(uploadReleaseAsset).toHaveBeenCalledTimes(2); + }); + + it('surfaces an actionable immutable-release error for prerelease uploads', async () => { + const tempDir = mkdtempSync(join(tmpdir(), 'gh-release-immutable-')); + const assetPath = join(tempDir, 'draft-false.txt'); + writeFileSync(assetPath, 'hello'); + + const uploadReleaseAsset = vi.fn().mockRejectedValue({ + status: 422, + response: { + data: { + message: 'Cannot upload assets to an immutable release.', + }, + }, + }); + + const mockReleaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: () => Promise.resolve([]), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset, + }; + + await expect( + upload( + { + ...config, + input_prerelease: true, + }, + mockReleaser, + 'https://uploads.github.com/repos/owner/repo/releases/1/assets', + assetPath, + [], + ), + ).rejects.toThrow( + 'Cannot upload asset draft-false.txt to an immutable release. GitHub only allows asset uploads before a release is published, but draft prereleases publish with the release.published event instead of release.prereleased.', + ); + + rmSync(tempDir, { recursive: true, force: true }); + }); + + it('retries upload after deleting a conflicting renamed asset matched by label', async () => { + const tempDir = mkdtempSync(join(tmpdir(), 'gh-release-race-dotfile-')); + const dotfilePath = join(tempDir, '.config'); + writeFileSync(dotfilePath, 'config'); + + const uploadReleaseAsset = vi + .fn() + .mockRejectedValueOnce({ + status: 422, + response: { data: { errors: [{ code: 'already_exists' }] } }, + }) + .mockResolvedValueOnce({ + status: 201, + data: { id: 123, name: 'default.config', label: '.config' }, + }); + + const listReleaseAssets = vi + .fn() + .mockResolvedValue([{ id: 99, name: 'default.config', label: '.config' }]); + const deleteReleaseAsset = vi.fn().mockResolvedValue(undefined); + const updateReleaseAsset = vi.fn().mockResolvedValue({ + data: { id: 123, name: 'default.config', label: '.config' }, + }); + + const mockReleaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets, + deleteReleaseAsset, + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset, + uploadReleaseAsset, + }; + + try { + const result = await upload( + config, + mockReleaser, + 'https://uploads.github.com/repos/owner/repo/releases/1/assets', + dotfilePath, + [], + ); + + expect(result).toStrictEqual({ id: 123, name: 'default.config', label: '.config' }); + expect(listReleaseAssets).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: 1, + }); + expect(deleteReleaseAsset).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + asset_id: 99, + }); + expect(updateReleaseAsset).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + asset_id: 123, + name: 'default.config', + label: '.config', + }); + expect(uploadReleaseAsset).toHaveBeenCalledTimes(2); + } finally { + rmSync(tempDir, { recursive: true, force: true }); + } + }); + + it('handles 422 already_exists error gracefully', async () => { + const existingRelease = { + id: 1, + upload_url: 'test', + html_url: 'test', + tag_name: 'v1.0.0', + name: 'test', + body: 'test', + target_commitish: 'main', + draft: false, + prerelease: false, + assets: [], + }; + + let createAttempts = 0; + const mockReleaser: Releaser = { + getReleaseByTag: ({ tag }) => { + // First call returns 404 (release doesn't exist yet), subsequent calls find it + if (createAttempts === 0) { + return Promise.reject({ status: 404 }); + } + return Promise.resolve({ data: existingRelease }); + }, + createRelease: () => { + createAttempts++; + return Promise.reject({ + status: 422, + response: { data: { errors: [{ code: 'already_exists' }] } }, + }); + }, + updateRelease: () => + Promise.resolve({ + data: { + id: 1, + upload_url: 'test', + html_url: 'test', + tag_name: 'v1.0.0', + name: 'test', + body: 'test', + target_commitish: 'main', + draft: true, + prerelease: false, + assets: [], + }, + }), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + yield { data: [existingRelease] }; + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + } as const; + + const result = await release(config, mockReleaser, 2); + assert.ok(result); + assert.equal(result.release.id, 1); + assert.equal(result.created, false); + }); + + it('normalizes refs/tags-prefixed input_tag_name values before reusing an existing release', async () => { + const existingRelease: Release = { + id: 1, + upload_url: 'test', + html_url: 'test', + tag_name: 'v1.0.0', + name: 'test', + body: 'test', + target_commitish: 'main', + draft: false, + prerelease: false, + assets: [], + }; + + const updateReleaseSpy = vi.fn(async () => ({ data: existingRelease })); + const getReleaseByTagSpy = vi.fn(async () => ({ data: existingRelease })); + const result = await release( + { + ...config, + input_tag_name: 'refs/tags/v1.0.0', + }, + { + getReleaseByTag: getReleaseByTagSpy, + createRelease: () => Promise.reject('Not implemented'), + updateRelease: updateReleaseSpy, + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + yield { data: [existingRelease] }; + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }, + 1, + ); + + expect(getReleaseByTagSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + tag: 'v1.0.0', + }); + expect(updateReleaseSpy).toHaveBeenCalledWith( + expect.objectContaining({ + tag_name: 'v1.0.0', + }), + ); + assert.equal(result.release.id, existingRelease.id); + assert.equal(result.created, false); + }); + + it('reuses a canonical release after concurrent create success and removes empty duplicates', async () => { + const canonicalRelease: Release = { + id: 1, + upload_url: 'canonical-upload', + html_url: 'canonical-html', + tag_name: 'v1.0.0', + name: 'canonical', + body: 'test', + target_commitish: 'main', + draft: true, + prerelease: false, + assets: [], + }; + const duplicateRelease: Release = { + id: 2, + upload_url: 'duplicate-upload', + html_url: 'duplicate-html', + tag_name: 'v1.0.0', + name: 'duplicate', + body: 'test', + target_commitish: 'main', + draft: true, + prerelease: false, + assets: [], + }; + + let lookupCount = 0; + const deleteReleaseSpy = vi.fn(async () => undefined); + const mockReleaser: Releaser = { + getReleaseByTag: () => { + lookupCount += 1; + if (lookupCount === 1) { + return Promise.reject({ status: 404 }); + } + return Promise.resolve({ data: canonicalRelease }); + }, + createRelease: () => Promise.resolve({ data: duplicateRelease }), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + yield { data: [duplicateRelease, canonicalRelease] }; + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: deleteReleaseSpy, + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }; + + const result = await release(config, mockReleaser, 2); + + assert.equal(result.release.id, canonicalRelease.id); + assert.equal(result.created, false); + expect(deleteReleaseSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: duplicateRelease.id, + }); + }); + + it('falls back to recent releases when tag lookup still lags after create', async () => { + const canonicalRelease: Release = { + id: 1, + upload_url: 'canonical-upload', + html_url: 'canonical-html', + tag_name: 'v1.0.0', + name: 'canonical', + body: 'test', + target_commitish: 'main', + draft: true, + prerelease: false, + assets: [], + }; + const duplicateRelease: Release = { + id: 2, + upload_url: 'duplicate-upload', + html_url: 'duplicate-html', + tag_name: 'v1.0.0', + name: 'duplicate', + body: 'test', + target_commitish: 'main', + draft: true, + prerelease: false, + assets: [], + }; + + const deleteReleaseSpy = vi.fn(async () => undefined); + const mockReleaser: Releaser = { + getReleaseByTag: () => Promise.reject({ status: 404 }), + createRelease: () => Promise.resolve({ data: duplicateRelease }), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + yield { data: [duplicateRelease, canonicalRelease] }; + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: deleteReleaseSpy, + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }; + + const result = await release(config, mockReleaser, 1); + + assert.equal(result.release.id, canonicalRelease.id); + assert.equal(result.created, false); + expect(deleteReleaseSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: duplicateRelease.id, + }); + }); + + it('deletes the just-created duplicate draft even if recent release listing misses it', async () => { + const canonicalRelease: Release = { + id: 1, + upload_url: 'canonical-upload', + html_url: 'canonical-html', + tag_name: 'v1.0.0', + name: 'canonical', + body: 'test', + target_commitish: 'main', + draft: true, + prerelease: false, + assets: [], + }; + const duplicateRelease: Release = { + id: 2, + upload_url: 'duplicate-upload', + html_url: 'duplicate-html', + tag_name: 'v1.0.0', + name: 'duplicate', + body: 'test', + target_commitish: 'main', + draft: true, + prerelease: false, + assets: [], + }; + + let lookupCount = 0; + const deleteReleaseSpy = vi.fn(async () => undefined); + const mockReleaser: Releaser = { + getReleaseByTag: () => { + lookupCount += 1; + if (lookupCount === 1) { + return Promise.reject({ status: 404 }); + } + return Promise.resolve({ data: canonicalRelease }); + }, + createRelease: () => Promise.resolve({ data: duplicateRelease }), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + yield { data: [canonicalRelease] }; + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: deleteReleaseSpy, + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }; + + const result = await release(config, mockReleaser, 2); + + assert.equal(result.release.id, canonicalRelease.id); + assert.equal(result.created, false); + expect(deleteReleaseSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: duplicateRelease.id, + }); + }); + }); + + describe('upload', () => { + it('restores a dotfile label when GitHub normalizes the uploaded asset name', async () => { + const tempDir = mkdtempSync(join(tmpdir(), 'gh-release-dotfile-')); + const dotfilePath = join(tempDir, '.config'); + writeFileSync(dotfilePath, 'config'); + + const updateReleaseAssetSpy = vi.fn(async () => ({ + data: { + id: 1, + name: 'default.config', + label: '.config', + }, + })); + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: updateReleaseAssetSpy, + uploadReleaseAsset: () => + Promise.resolve({ + status: 201, + data: { + id: 1, + name: 'default.config', + label: '', + }, + }), + }; + + try { + const result = await upload( + config, + releaser, + 'https://uploads.example.test/assets', + dotfilePath, + [], + ); + + expect(updateReleaseAssetSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + asset_id: 1, + name: 'default.config', + label: '.config', + }); + expect(result).toEqual({ + id: 1, + name: 'default.config', + label: '.config', + }); + } finally { + rmSync(tempDir, { recursive: true, force: true }); + } + }); + + it('refreshes release assets when the uploaded renamed asset is not immediately patchable', async () => { + const tempDir = mkdtempSync(join(tmpdir(), 'gh-release-dotfile-')); + const dotfilePath = join(tempDir, '.config'); + writeFileSync(dotfilePath, 'config'); + + const updateReleaseAssetSpy = vi + .fn() + .mockRejectedValueOnce({ status: 404 }) + .mockResolvedValueOnce({ + data: { + id: 2, + name: 'default.config', + label: '.config', + }, + }); + const listReleaseAssetsSpy = vi.fn().mockResolvedValue([ + { + id: 2, + name: 'default.config', + label: '', + }, + ]); + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: listReleaseAssetsSpy, + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: updateReleaseAssetSpy, + uploadReleaseAsset: () => + Promise.resolve({ + status: 201, + data: { + id: 1, + name: 'default.config', + label: '', + }, + }), + }; + + try { + const result = await upload( + config, + releaser, + 'https://uploads.github.com/repos/owner/repo/releases/1/assets', + dotfilePath, + [], + ); + + expect(updateReleaseAssetSpy).toHaveBeenNthCalledWith(1, { + owner: 'owner', + repo: 'repo', + asset_id: 1, + name: 'default.config', + label: '.config', + }); + expect(listReleaseAssetsSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: 1, + }); + expect(updateReleaseAssetSpy).toHaveBeenNthCalledWith(2, { + owner: 'owner', + repo: 'repo', + asset_id: 2, + name: 'default.config', + label: '.config', + }); + expect(result).toEqual({ + id: 2, + name: 'default.config', + label: '.config', + }); + } finally { + rmSync(tempDir, { recursive: true, force: true }); + } + }); + + it('treats update-a-release-asset 404 as success when a matching asset is present after refresh', async () => { + const tempDir = mkdtempSync(join(tmpdir(), 'gh-release-dotfile-')); + const dotfilePath = join(tempDir, '.config'); + writeFileSync(dotfilePath, 'config'); + + const listReleaseAssetsSpy = vi.fn().mockResolvedValue([ + { + id: 2, + name: 'default.config', + label: '.config', + }, + ]); + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: listReleaseAssetsSpy, + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => + Promise.reject({ + status: 404, + message: + 'Not Found - https://docs.github.com/rest/releases/assets#update-a-release-asset', + }), + }; + + try { + const result = await upload( + config, + releaser, + 'https://uploads.github.com/repos/owner/repo/releases/1/assets', + dotfilePath, + [], + ); + + expect(listReleaseAssetsSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: 1, + }); + expect(result).toEqual({ + id: 2, + name: 'default.config', + label: '.config', + }); + } finally { + rmSync(tempDir, { recursive: true, force: true }); + } + }); + + it('treats upload-endpoint 404s as release asset metadata failures when the docs link matches', async () => { + const tempDir = mkdtempSync(join(tmpdir(), 'gh-release-dotfile-')); + const dotfilePath = join(tempDir, '.config'); + writeFileSync(dotfilePath, 'config'); + + const listReleaseAssetsSpy = vi.fn().mockResolvedValue([ + { + id: 2, + name: 'default.config', + label: '.config', + }, + ]); + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: listReleaseAssetsSpy, + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => + Promise.reject({ + status: 404, + message: + 'Not Found - https://docs.github.com/rest/releases/assets#update-a-release-asset', + request: { + url: 'https://uploads.github.com/repos/owner/repo/releases/1/assets?name=.config', + }, + }), + }; + + try { + const result = await upload( + config, + releaser, + 'https://uploads.github.com/repos/owner/repo/releases/1/assets', + dotfilePath, + [], + ); + + expect(listReleaseAssetsSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: 1, + }); + expect(result).toEqual({ + id: 2, + name: 'default.config', + label: '.config', + }); + } finally { + rmSync(tempDir, { recursive: true, force: true }); + } + }); + + it('polls for a matching asset after update-a-release-asset 404 before failing', async () => { + const tempDir = mkdtempSync(join(tmpdir(), 'gh-release-dotfile-')); + const dotfilePath = join(tempDir, '.config'); + writeFileSync(dotfilePath, 'config'); + + const listReleaseAssetsSpy = vi + .fn() + .mockResolvedValueOnce([]) + .mockResolvedValueOnce([ + { + id: 2, + name: 'default.config', + label: '.config', + }, + ]); + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: listReleaseAssetsSpy, + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => + Promise.reject({ + status: 404, + message: + 'Not Found - https://docs.github.com/rest/releases/assets#update-a-release-asset', + }), + }; + + try { + const resultPromise = upload( + config, + releaser, + 'https://uploads.github.com/repos/owner/repo/releases/1/assets', + dotfilePath, + [], + ); + + await new Promise((resolve) => setTimeout(resolve, 1100)); + + const result = await resultPromise; + + expect(listReleaseAssetsSpy).toHaveBeenCalledTimes(2); + expect(result).toEqual({ + id: 2, + name: 'default.config', + label: '.config', + }); + } finally { + rmSync(tempDir, { recursive: true, force: true }); + } + }); + + it('matches an existing asset by label when overwriting a dotfile', async () => { + const tempDir = mkdtempSync(join(tmpdir(), 'gh-release-dotfile-')); + const dotfilePath = join(tempDir, '.config'); + writeFileSync(dotfilePath, 'config'); + + const deleteReleaseAssetSpy = vi.fn(async () => undefined); + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: deleteReleaseAssetSpy, + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => + Promise.resolve({ + data: { + id: 2, + name: 'default.config', + label: '.config', + }, + }), + uploadReleaseAsset: () => + Promise.resolve({ + status: 201, + data: { + id: 2, + name: 'default.config', + label: '', + }, + }), + }; + + try { + await upload(config, releaser, 'https://uploads.example.test/assets', dotfilePath, [ + { + id: 1, + name: 'default.config', + label: '.config', + }, + ]); + + expect(deleteReleaseAssetSpy).toHaveBeenCalledWith({ + asset_id: 1, + owner: 'owner', + repo: 'repo', + }); + } finally { + rmSync(tempDir, { recursive: true, force: true }); + } }); }); }); diff --git a/__tests__/util.test.ts b/__tests__/util.test.ts index 734512e..b142c6e 100644 --- a/__tests__/util.test.ts +++ b/__tests__/util.test.ts @@ -1,106 +1,203 @@ import { - releaseBody, + alignAssetName, + expandHomePattern, isTag, - paths, + normalizeFilePattern, + normalizeGlobPattern, + normalizeTagName, parseConfig, parseInputFiles, + paths, + releaseBody, unmatchedPatterns, uploadUrl, -} from "../src/util"; -import * as assert from "assert"; +} from '../src/util'; -describe("util", () => { - describe("uploadUrl", () => { - it("strips template", () => { +import { assert, describe, expect, it } from 'vitest'; + +describe('util', () => { + describe('uploadUrl', () => { + it('strips template', () => { assert.equal( uploadUrl( - "https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}" + 'https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}', ), - "https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets" + 'https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets', ); }); }); - describe("parseInputFiles", () => { - it("parses empty strings", () => { - assert.deepStrictEqual(parseInputFiles(""), []); + describe('parseInputFiles', () => { + it('parses empty strings', () => { + assert.deepStrictEqual(parseInputFiles(''), []); }); - it("parses comma-delimited strings", () => { - assert.deepStrictEqual(parseInputFiles("foo,bar"), ["foo", "bar"]); + it('parses comma-delimited strings', () => { + assert.deepStrictEqual(parseInputFiles('foo,bar'), ['foo', 'bar']); }); - it("parses newline and comma-delimited (and then some)", () => { - assert.deepStrictEqual( - parseInputFiles("foo,bar\nbaz,boom,\n\ndoom,loom "), - ["foo", "bar", "baz", "boom", "doom", "loom"] - ); + it('parses newline and comma-delimited (and then some)', () => { + assert.deepStrictEqual(parseInputFiles('foo,bar\nbaz,boom,\n\ndoom,loom '), [ + 'foo', + 'bar', + 'baz', + 'boom', + 'doom', + 'loom', + ]); + }); + it('handles globs with brace groups containing commas', () => { + assert.deepStrictEqual(parseInputFiles('./**/*.{exe,deb,tar.gz}\nfoo,bar'), [ + './**/*.{exe,deb,tar.gz}', + 'foo', + 'bar', + ]); + }); + it('handles single-line brace pattern correctly', () => { + assert.deepStrictEqual(parseInputFiles('./**/*.{exe,deb,tar.gz}'), [ + './**/*.{exe,deb,tar.gz}', + ]); }); }); - describe("releaseBody", () => { - it("uses input body", () => { + describe('releaseBody', () => { + it('uses input body', () => { assert.equal( - "foo", + 'foo', releaseBody({ - github_ref: "", - github_repository: "", - github_token: "", - input_body: "foo", + github_ref: '', + github_repository: '', + github_token: '', + input_body: 'foo', input_body_path: undefined, input_draft: false, input_prerelease: false, + input_preserve_order: undefined, input_files: [], + input_overwrite_files: undefined, input_name: undefined, input_tag_name: undefined, input_target_commitish: undefined, input_discussion_category_name: undefined, input_generate_release_notes: false, input_make_latest: undefined, - }) + }), ); }); - it("uses input body path", () => { + it('uses input body path', () => { assert.equal( - "bar", + 'bar', releaseBody({ - github_ref: "", - github_repository: "", - github_token: "", + github_ref: '', + github_repository: '', + github_token: '', input_body: undefined, - input_body_path: "__tests__/release.txt", + input_body_path: '__tests__/release.txt', input_draft: false, input_prerelease: false, + input_preserve_order: undefined, input_files: [], + input_overwrite_files: undefined, input_name: undefined, input_tag_name: undefined, input_target_commitish: undefined, input_discussion_category_name: undefined, input_generate_release_notes: false, input_make_latest: undefined, - }) + }), ); }); - it("defaults to body path when both body and body path are provided", () => { + it('defaults to body path when both body and body path are provided', () => { assert.equal( - "bar", + 'bar', releaseBody({ - github_ref: "", - github_repository: "", - github_token: "", - input_body: "foo", - input_body_path: "__tests__/release.txt", + github_ref: '', + github_repository: '', + github_token: '', + input_body: 'foo', + input_body_path: '__tests__/release.txt', input_draft: false, input_prerelease: false, + input_preserve_order: undefined, input_files: [], + input_overwrite_files: undefined, input_name: undefined, input_tag_name: undefined, input_target_commitish: undefined, input_discussion_category_name: undefined, input_generate_release_notes: false, input_make_latest: undefined, - }) + }), + ); + }); + it('falls back to body when body_path is missing', () => { + assert.equal( + releaseBody({ + github_ref: '', + github_repository: '', + github_token: '', + input_body: 'fallback-body', + input_body_path: '__tests__/does-not-exist.txt', + input_draft: false, + input_prerelease: false, + input_files: [], + input_overwrite_files: undefined, + input_preserve_order: undefined, + input_name: undefined, + input_tag_name: undefined, + input_target_commitish: undefined, + input_discussion_category_name: undefined, + input_generate_release_notes: false, + input_make_latest: undefined, + }), + 'fallback-body', + ); + }); + it('returns undefined when body_path is missing and body is not provided', () => { + assert.equal( + releaseBody({ + github_ref: '', + github_repository: '', + github_token: '', + input_body: undefined, + input_body_path: '__tests__/does-not-exist.txt', + input_draft: false, + input_prerelease: false, + input_files: [], + input_overwrite_files: undefined, + input_preserve_order: undefined, + input_name: undefined, + input_tag_name: undefined, + input_target_commitish: undefined, + input_discussion_category_name: undefined, + input_generate_release_notes: false, + input_make_latest: undefined, + }), + undefined, ); }); }); - describe("parseConfig", () => { - it("parses basic config", () => { + describe('parseConfig', () => { + const baseParsedConfig = { + github_ref: '', + github_repository: '', + github_token: '', + input_working_directory: undefined, + input_append_body: false, + input_body: undefined, + input_body_path: undefined, + input_draft: undefined, + input_prerelease: undefined, + input_preserve_order: undefined, + input_files: [], + input_overwrite_files: undefined, + input_name: undefined, + input_tag_name: undefined, + input_fail_on_unmatched_files: false, + input_target_commitish: undefined, + input_discussion_category_name: undefined, + input_generate_release_notes: false, + input_previous_tag: undefined, + input_make_latest: undefined, + }; + + it('parses basic config', () => { assert.deepStrictEqual( parseConfig({ // note: inputs declared in actions.yml, even when declared not required, @@ -109,263 +206,285 @@ describe("util", () => { // as an empty string !== undefined in terms of what we pass to the api // so we cover that in a test case here to ensure undefined values are actually // resolved as undefined and not empty strings - INPUT_TARGET_COMMITISH: "", - INPUT_DISCUSSION_CATEGORY_NAME: "", + INPUT_TARGET_COMMITISH: '', + INPUT_DISCUSSION_CATEGORY_NAME: '', }), - { - github_ref: "", - github_repository: "", - github_token: "", - input_append_body: false, - input_body: undefined, - input_body_path: undefined, - input_draft: undefined, - input_prerelease: undefined, - input_files: [], - input_name: undefined, - input_tag_name: undefined, - input_fail_on_unmatched_files: false, - input_target_commitish: undefined, - input_discussion_category_name: undefined, - input_generate_release_notes: false, - input_make_latest: undefined, - } + baseParsedConfig, ); }); - it("parses basic config with commitish", () => { + it('parses basic config with commitish', () => { assert.deepStrictEqual( parseConfig({ - INPUT_TARGET_COMMITISH: "affa18ef97bc9db20076945705aba8c516139abd", + INPUT_TARGET_COMMITISH: 'affa18ef97bc9db20076945705aba8c516139abd', }), { - github_ref: "", - github_repository: "", - github_token: "", - input_append_body: false, - input_body: undefined, - input_body_path: undefined, - input_draft: undefined, - input_prerelease: undefined, - input_files: [], - input_name: undefined, - input_tag_name: undefined, - input_fail_on_unmatched_files: false, - input_target_commitish: "affa18ef97bc9db20076945705aba8c516139abd", - input_discussion_category_name: undefined, - input_generate_release_notes: false, - input_make_latest: undefined, - } + ...baseParsedConfig, + input_target_commitish: 'affa18ef97bc9db20076945705aba8c516139abd', + }, ); }); - it("supports discussion category names", () => { + it('supports discussion category names', () => { assert.deepStrictEqual( parseConfig({ - INPUT_DISCUSSION_CATEGORY_NAME: "releases", + INPUT_DISCUSSION_CATEGORY_NAME: 'releases', }), { - github_ref: "", - github_repository: "", - github_token: "", - input_append_body: false, - input_body: undefined, - input_body_path: undefined, - input_draft: undefined, - input_prerelease: undefined, - input_files: [], - input_name: undefined, - input_tag_name: undefined, - input_fail_on_unmatched_files: false, - input_target_commitish: undefined, - input_discussion_category_name: "releases", - input_generate_release_notes: false, - input_make_latest: undefined, - } + ...baseParsedConfig, + input_discussion_category_name: 'releases', + }, ); }); - it("supports generating release notes", () => { + it('supports generating release notes', () => { assert.deepStrictEqual( parseConfig({ - INPUT_GENERATE_RELEASE_NOTES: "true", + INPUT_GENERATE_RELEASE_NOTES: 'true', }), { - github_ref: "", - github_repository: "", - github_token: "", - input_append_body: false, - input_body: undefined, - input_body_path: undefined, - input_draft: undefined, - input_prerelease: undefined, - input_files: [], - input_name: undefined, - input_tag_name: undefined, - input_fail_on_unmatched_files: false, - input_target_commitish: undefined, - input_discussion_category_name: undefined, + ...baseParsedConfig, input_generate_release_notes: true, - input_make_latest: undefined, - } + }, ); }); - it("prefers GITHUB_TOKEN over token input for backwards compatibility", () => { + it('supports an explicit previous tag for release notes generation', () => { assert.deepStrictEqual( parseConfig({ - INPUT_DRAFT: "false", - INPUT_PRERELEASE: "true", - GITHUB_TOKEN: "env-token", - INPUT_TOKEN: "input-token", + INPUT_PREVIOUS_TAG: ' v1.2.3 ', }), { - github_ref: "", - github_repository: "", - github_token: "env-token", - input_append_body: false, - input_body: undefined, - input_body_path: undefined, + ...baseParsedConfig, + input_previous_tag: 'v1.2.3', + }, + ); + }); + + it('prefers token input over GITHUB_TOKEN', () => { + assert.deepStrictEqual( + parseConfig({ + INPUT_DRAFT: 'false', + INPUT_PRERELEASE: 'true', + INPUT_PRESERVE_ORDER: 'true', + GITHUB_TOKEN: 'env-token', + INPUT_TOKEN: 'input-token', + }), + { + ...baseParsedConfig, + github_token: 'input-token', input_draft: false, input_prerelease: true, - input_files: [], - input_name: undefined, - input_tag_name: undefined, - input_fail_on_unmatched_files: false, - input_target_commitish: undefined, - input_discussion_category_name: undefined, - input_generate_release_notes: false, - input_make_latest: undefined, - } + input_preserve_order: true, + }, ); }); - it("uses input token as the source of GITHUB_TOKEN by default", () => { + it('falls back to GITHUB_TOKEN when token input is empty', () => { assert.deepStrictEqual( parseConfig({ - INPUT_DRAFT: "false", - INPUT_PRERELEASE: "true", - INPUT_TOKEN: "input-token", + GITHUB_TOKEN: 'env-token', + INPUT_TOKEN: ' ', }), { - github_ref: "", - github_repository: "", - github_token: "input-token", - input_append_body: false, - input_body: undefined, - input_body_path: undefined, + ...baseParsedConfig, + github_token: 'env-token', + }, + ); + }); + it('uses input token as the source of GITHUB_TOKEN by default', () => { + assert.deepStrictEqual( + parseConfig({ + INPUT_DRAFT: 'false', + INPUT_PRERELEASE: 'true', + INPUT_TOKEN: 'input-token', + }), + { + ...baseParsedConfig, + github_token: 'input-token', input_draft: false, input_prerelease: true, - input_files: [], - input_name: undefined, - input_tag_name: undefined, - input_fail_on_unmatched_files: false, - input_target_commitish: undefined, - input_discussion_category_name: undefined, - input_generate_release_notes: false, - input_make_latest: undefined, - } + }, ); }); - it("parses basic config with draft and prerelease", () => { + it('parses basic config with draft and prerelease', () => { assert.deepStrictEqual( parseConfig({ - INPUT_DRAFT: "false", - INPUT_PRERELEASE: "true", + INPUT_DRAFT: 'false', + INPUT_PRERELEASE: 'true', }), { - github_ref: "", - github_repository: "", - github_token: "", - input_append_body: false, - input_body: undefined, - input_body_path: undefined, + ...baseParsedConfig, input_draft: false, input_prerelease: true, - input_files: [], - input_name: undefined, - input_tag_name: undefined, - input_fail_on_unmatched_files: false, - input_target_commitish: undefined, - input_discussion_category_name: undefined, - input_generate_release_notes: false, - input_make_latest: undefined, - } + }, ); }); - it("parses basic config where make_latest is passed", () => { + it('parses basic config where make_latest is passed', () => { assert.deepStrictEqual( parseConfig({ - INPUT_MAKE_LATEST: "false", + INPUT_MAKE_LATEST: 'false', }), { - github_ref: "", - github_repository: "", - github_token: "", - input_append_body: false, - input_body: undefined, - input_body_path: undefined, - input_draft: undefined, - input_prerelease: undefined, - input_files: [], - input_name: undefined, - input_tag_name: undefined, - input_fail_on_unmatched_files: false, - input_target_commitish: undefined, - input_discussion_category_name: undefined, - input_generate_release_notes: false, - input_make_latest: "false", - } + ...baseParsedConfig, + input_make_latest: 'false', + }, ); }); - it("parses basic config with append_body", () => { + it('parses basic config with append_body', () => { assert.deepStrictEqual( parseConfig({ - INPUT_APPEND_BODY: "true", + INPUT_APPEND_BODY: 'true', }), { - github_ref: "", - github_repository: "", - github_token: "", + ...baseParsedConfig, input_append_body: true, - input_body: undefined, - input_body_path: undefined, - input_draft: undefined, - input_prerelease: undefined, - input_files: [], - input_name: undefined, - input_tag_name: undefined, - input_fail_on_unmatched_files: false, - input_target_commitish: undefined, - input_discussion_category_name: undefined, - input_generate_release_notes: false, - input_make_latest: undefined, - } + }, ); }); - }); - describe("isTag", () => { - it("returns true for tags", async () => { - assert.equal(isTag("refs/tags/foo"), true); + + it('normalizes refs/tags-prefixed input_tag_name values', () => { + expect(parseConfig({ INPUT_TAG_NAME: 'refs/tags/v1.2.3' }).input_tag_name).toBe('v1.2.3'); }); - it("returns false for other kinds of refs", async () => { - assert.equal(isTag("refs/heads/master"), false); + }); + describe('isTag', () => { + it('returns true for tags', async () => { + assert.equal(isTag('refs/tags/foo'), true); + }); + it('returns false for other kinds of refs', async () => { + assert.equal(isTag('refs/heads/master'), false); }); }); - describe("paths", () => { - it("resolves files given a set of paths", async () => { - assert.deepStrictEqual( - paths(["tests/data/**/*", "tests/data/does/not/exist/*"]), - ["tests/data/foo/bar.txt"] - ); + describe('normalizeTagName', () => { + it('strips refs/tags/ from explicit tag names', () => { + assert.equal(normalizeTagName('refs/tags/v1.2.3'), 'v1.2.3'); + }); + + it('leaves plain tag names unchanged', () => { + assert.equal(normalizeTagName('v1.2.3'), 'v1.2.3'); }); }); - describe("unmatchedPatterns", () => { + describe('paths', () => { + it('resolves files given a set of paths', async () => { + assert.deepStrictEqual(paths(['tests/data/**/*', 'tests/data/does/not/exist/*']), [ + 'tests/data/foo/bar.txt', + ]); + }); + + it('resolves files relative to working_directory', async () => { + assert.deepStrictEqual(paths(['data/**/*'], 'tests'), ['tests/data/foo/bar.txt']); + }); + }); + + describe('unmatchedPatterns', () => { it("returns the patterns that don't match any files", async () => { assert.deepStrictEqual( - unmatchedPatterns(["tests/data/**/*", "tests/data/does/not/exist/*"]), - ["tests/data/does/not/exist/*"] + unmatchedPatterns(['tests/data/**/*', 'tests/data/does/not/exist/*']), + ['tests/data/does/not/exist/*'], ); }); + + it('resolves unmatched relative to working_directory', async () => { + assert.deepStrictEqual(unmatchedPatterns(['data/does/not/exist/*'], 'tests'), [ + 'data/does/not/exist/*', + ]); + }); + }); + + describe('normalizeGlobPattern', () => { + it('preserves posix-style patterns on non-windows platforms', () => { + assert.equal(normalizeGlobPattern('./dist/**/*.tgz', 'linux'), './dist/**/*.tgz'); + }); + + it('normalizes relative windows-style glob patterns', () => { + assert.equal( + normalizeGlobPattern('.\\release-assets\\rssguard-*win7.exe', 'win32'), + './release-assets/rssguard-*win7.exe', + ); + }); + + it('normalizes absolute windows-style glob patterns', () => { + assert.equal( + normalizeGlobPattern('D:\\a\\repo\\build\\packages\\*', 'win32'), + 'D:/a/repo/build/packages/*', + ); + }); + }); + + describe('expandHomePattern', () => { + it('expands a bare tilde to the provided home directory', () => { + assert.equal(expandHomePattern('~', '/home/runner'), '/home/runner'); + }); + + it('expands posix-style tilde paths', () => { + assert.equal(expandHomePattern('~/release.txt', '/home/runner'), '/home/runner/release.txt'); + }); + + it('leaves non-tilde paths unchanged', () => { + assert.equal(expandHomePattern('./release.txt', '/home/runner'), './release.txt'); + }); + }); + + describe('normalizeFilePattern', () => { + it('expands tilde paths before globbing', () => { + assert.equal( + normalizeFilePattern('~/release-assets/*.tgz', 'linux', '/home/runner'), + '/home/runner/release-assets/*.tgz', + ); + }); + + it('expands tilde paths and normalizes windows separators', () => { + assert.equal( + normalizeFilePattern('~\\release-assets\\*.zip', 'win32', 'C:\\Users\\runner'), + 'C:/Users/runner/release-assets/*.zip', + ); + }); + }); + + describe('replaceSpacesWithDots', () => { + it('replaces all spaces with dots', () => { + expect(alignAssetName('John Doe.bla')).toBe('John.Doe.bla'); + }); + + it('handles names with multiple spaces', () => { + expect(alignAssetName('John William Doe.bla')).toBe('John.William.Doe.bla'); + }); + + it('returns the same string if there are no spaces', () => { + expect(alignAssetName('JohnDoe')).toBe('JohnDoe'); + }); + }); +}); + +describe('parseInputFiles edge cases', () => { + it('handles multiple brace groups on same line', () => { + assert.deepStrictEqual(parseInputFiles('./**/*.{exe,deb},./dist/**/*.{zip,tar.gz}'), [ + './**/*.{exe,deb}', + './dist/**/*.{zip,tar.gz}', + ]); + }); + + it('handles nested braces', () => { + assert.deepStrictEqual(parseInputFiles('path/{a,{b,c}}/file.txt'), ['path/{a,{b,c}}/file.txt']); + }); + + it('handles empty comma-separated values', () => { + assert.deepStrictEqual(parseInputFiles('foo,,bar'), ['foo', 'bar']); + }); + + it('handles commas with spaces around braces', () => { + assert.deepStrictEqual(parseInputFiles(' ./**/*.{exe,deb} , file.txt '), [ + './**/*.{exe,deb}', + 'file.txt', + ]); + }); + + it('handles mixed newlines and commas with braces', () => { + assert.deepStrictEqual(parseInputFiles('file1.txt\n./**/*.{exe,deb},file2.txt\nfile3.txt'), [ + 'file1.txt', + './**/*.{exe,deb}', + 'file2.txt', + 'file3.txt', + ]); }); }); diff --git a/action.yml b/action.yml index b463644..ee219b7 100644 --- a/action.yml +++ b/action.yml @@ -13,17 +13,27 @@ inputs: description: "Gives the release a custom name. Defaults to tag name" required: false tag_name: - description: "Gives a tag name. Defaults to github.GITHUB_REF" + description: "Gives a tag name. Defaults to github.ref_name. refs/tags/ values are normalized to ." required: false draft: - description: "Creates a draft release. Defaults to false" + description: "Keeps the release as a draft. Defaults to false. When reusing an existing draft release, set this to true to keep it draft; omit it to publish after upload. On immutable-release repositories, use this for prereleases that upload assets and publish the draft later." required: false prerelease: description: "Identify the release as a prerelease. Defaults to false" required: false - files: - description: "Newline-delimited list of path globs for asset files to upload" + preserve_order: + description: "Upload artifacts sequentially in the provided order. This does not control the final display order GitHub uses for release assets." required: false + files: + description: "Newline-delimited list of path globs for asset files to upload. Escape glob metacharacters when matching literal filenames that contain them. `~/...` expands to the runner home directory. On Windows, both \\ and / path separators are accepted. GitHub may normalize raw asset filenames that contain special characters; the action restores the asset label when possible, but the final download name remains GitHub-controlled." + required: false + working_directory: + description: "Base directory to resolve 'files' globs against. Defaults to the workspace root used by the action step." + required: false + overwrite_files: + description: "Overwrite existing files with the same name. Defaults to true" + required: false + default: 'true' fail_on_unmatched_files: description: "Fails if any of the `files` globs match nothing. Defaults to false" required: false @@ -31,11 +41,11 @@ inputs: description: "Repository to make releases against, in / format" required: false token: - description: "Authorized secret GitHub Personal Access Token. Defaults to github.token" + description: "Authorized GitHub token or PAT. Defaults to github.token when omitted. A non-empty explicit token overrides GITHUB_TOKEN. Passing an empty string treats the token as unset." required: false default: ${{ github.token }} target_commitish: - description: "Commitish value that determines where the Git tag is created from. Can be any branch or commit SHA." + description: "Commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. When creating a new tag for an older commit, `github.token` may not have permission to create the ref; use a PAT or another token with sufficient contents permissions if you hit 403 `Resource not accessible by integration`." required: false discussion_category_name: description: "If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. If there is already a discussion linked to the release, this parameter is ignored." @@ -43,6 +53,10 @@ inputs: generate_release_notes: description: "Whether to automatically generate the name and body for this release. If name is specified, the specified name will be used; otherwise, a name will be automatically generated. If body is specified, the body will be pre-pended to the automatically generated notes." required: false + previous_tag: + description: "Optional. When generate_release_notes is enabled, use this tag as GitHub's previous_tag_name comparison base. If omitted, GitHub chooses the comparison base automatically." + required: false + default: "" append_body: description: "Append to existing body instead of overwriting it. Default is false." required: false @@ -50,7 +64,7 @@ inputs: description: "Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Can be `true`, `false`, or `legacy`. Uses GitHub api default if not provided" required: false env: - "GITHUB_TOKEN": "As provided by Github Actions" + GITHUB_TOKEN: "As provided by Github Actions" outputs: url: description: "URL to the Release HTML Page" @@ -61,7 +75,7 @@ outputs: assets: description: "JSON array containing information about each uploaded asset, in the format given [here](https://docs.github.com/en/rest/reference/repos#upload-a-release-asset--code-samples) (minus the `uploader` field)" runs: - using: "node20" + using: "node24" main: "dist/index.js" branding: color: "green" diff --git a/dist/index.js b/dist/index.js index e1349af..6688369 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,9 +1,86 @@ -(()=>{var __webpack_modules__={7351:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[A]}})}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.hasOwnProperty.call(e,A))s(t,e,A);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issue=t.issueCommand=void 0;const a=r(A(2037));const o=A(5278);function issueCommand(e,t,A){const s=new Command(e,t,A);process.stdout.write(s.toString()+a.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const n="::";class Command{constructor(e,t,A){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=A}toString(){let e=n+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const A in this.properties){if(this.properties.hasOwnProperty(A)){const s=this.properties[A];if(s){if(t){t=false}else{e+=","}e+=`${A}=${escapeProperty(s)}`}}}}e+=`${n}${escapeData(this.message)}`;return e}}function escapeData(e){return o.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return o.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[A]}})}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.hasOwnProperty.call(e,A))s(t,e,A);i(t,e);return t};var a=this&&this.__awaiter||function(e,t,A,s){function adopt(e){return e instanceof A?e:new A((function(t){t(e)}))}return new(A||(A=Promise))((function(A,i){function fulfilled(e){try{step(s.next(e))}catch(e){i(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){i(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const o=A(7351);const n=A(717);const p=A(5278);const d=r(A(2037));const l=r(A(1017));const c=A(8041);var u;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(u=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const A=p.toCommandValue(t);process.env[e]=A;const s=process.env["GITHUB_ENV"]||"";if(s){return n.issueFileCommand("ENV",n.prepareKeyValueMessage(e,t))}o.issueCommand("set-env",{name:e},A)}t.exportVariable=exportVariable;function setSecret(e){o.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){n.issueFileCommand("PATH",e)}else{o.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${l.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const A=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!A){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return A}return A.trim()}t.getInput=getInput;function getMultilineInput(e,t){const A=getInput(e,t).split("\n").filter((e=>e!==""));if(t&&t.trimWhitespace===false){return A}return A.map((e=>e.trim()))}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const A=["true","True","TRUE"];const s=["false","False","FALSE"];const i=getInput(e,t);if(A.includes(i))return true;if(s.includes(i))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){const A=process.env["GITHUB_OUTPUT"]||"";if(A){return n.issueFileCommand("OUTPUT",n.prepareKeyValueMessage(e,t))}process.stdout.write(d.EOL);o.issueCommand("set-output",{name:e},p.toCommandValue(t))}t.setOutput=setOutput;function setCommandEcho(e){o.issue("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=u.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;function debug(e){o.issueCommand("debug",{},e)}t.debug=debug;function error(e,t={}){o.issueCommand("error",p.toCommandProperties(t),e instanceof Error?e.toString():e)}t.error=error;function warning(e,t={}){o.issueCommand("warning",p.toCommandProperties(t),e instanceof Error?e.toString():e)}t.warning=warning;function notice(e,t={}){o.issueCommand("notice",p.toCommandProperties(t),e instanceof Error?e.toString():e)}t.notice=notice;function info(e){process.stdout.write(e+d.EOL)}t.info=info;function startGroup(e){o.issue("group",e)}t.startGroup=startGroup;function endGroup(){o.issue("endgroup")}t.endGroup=endGroup;function group(e,t){return a(this,void 0,void 0,(function*(){startGroup(e);let A;try{A=yield t()}finally{endGroup()}return A}))}t.group=group;function saveState(e,t){const A=process.env["GITHUB_STATE"]||"";if(A){return n.issueFileCommand("STATE",n.prepareKeyValueMessage(e,t))}o.issueCommand("save-state",{name:e},p.toCommandValue(t))}t.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}t.getState=getState;function getIDToken(e){return a(this,void 0,void 0,(function*(){return yield c.OidcClient.getIDToken(e)}))}t.getIDToken=getIDToken;var h=A(1327);Object.defineProperty(t,"summary",{enumerable:true,get:function(){return h.summary}});var g=A(1327);Object.defineProperty(t,"markdownSummary",{enumerable:true,get:function(){return g.markdownSummary}});var E=A(2981);Object.defineProperty(t,"toPosixPath",{enumerable:true,get:function(){return E.toPosixPath}});Object.defineProperty(t,"toWin32Path",{enumerable:true,get:function(){return E.toWin32Path}});Object.defineProperty(t,"toPlatformPath",{enumerable:true,get:function(){return E.toPlatformPath}})},717:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[A]}})}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.hasOwnProperty.call(e,A))s(t,e,A);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.prepareKeyValueMessage=t.issueFileCommand=void 0;const a=r(A(7147));const o=r(A(2037));const n=A(5840);const p=A(5278);function issueFileCommand(e,t){const A=process.env[`GITHUB_${e}`];if(!A){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!a.existsSync(A)){throw new Error(`Missing file at path: ${A}`)}a.appendFileSync(A,`${p.toCommandValue(t)}${o.EOL}`,{encoding:"utf8"})}t.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,t){const A=`ghadelimiter_${n.v4()}`;const s=p.toCommandValue(t);if(e.includes(A)){throw new Error(`Unexpected input: name should not contain the delimiter "${A}"`)}if(s.includes(A)){throw new Error(`Unexpected input: value should not contain the delimiter "${A}"`)}return`${e}<<${A}${o.EOL}${s}${o.EOL}${A}`}t.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,t,A){"use strict";var s=this&&this.__awaiter||function(e,t,A,s){function adopt(e){return e instanceof A?e:new A((function(t){t(e)}))}return new(A||(A=Promise))((function(A,i){function fulfilled(e){try{step(s.next(e))}catch(e){i(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){i(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.OidcClient=void 0;const i=A(6255);const r=A(5526);const a=A(2186);class OidcClient{static createHttpClient(e=true,t=10){const A={allowRetries:e,maxRetries:t};return new i.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],A)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var t;return s(this,void 0,void 0,(function*(){const A=OidcClient.createHttpClient();const s=yield A.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.message}`)}));const i=(t=s.result)===null||t===void 0?void 0:t.value;if(!i){throw new Error("Response json body do not have ID Token field")}return i}))}static getIDToken(e){return s(this,void 0,void 0,(function*(){try{let t=OidcClient.getIDTokenUrl();if(e){const A=encodeURIComponent(e);t=`${t}&audience=${A}`}a.debug(`ID token url is ${t}`);const A=yield OidcClient.getCall(t);a.setSecret(A);return A}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}t.OidcClient=OidcClient},2981:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[A]}})}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.hasOwnProperty.call(e,A))s(t,e,A);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.toPlatformPath=t.toWin32Path=t.toPosixPath=void 0;const a=r(A(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}t.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}t.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,a.sep)}t.toPlatformPath=toPlatformPath},1327:function(e,t,A){"use strict";var s=this&&this.__awaiter||function(e,t,A,s){function adopt(e){return e instanceof A?e:new A((function(t){t(e)}))}return new(A||(A=Promise))((function(A,i){function fulfilled(e){try{step(s.next(e))}catch(e){i(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){i(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.summary=t.markdownSummary=t.SUMMARY_DOCS_URL=t.SUMMARY_ENV_VAR=void 0;const i=A(2037);const r=A(7147);const{access:a,appendFile:o,writeFile:n}=r.promises;t.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";t.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return s(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[t.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${t.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield a(e,r.constants.R_OK|r.constants.W_OK)}catch(t){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,t,A={}){const s=Object.entries(A).map((([e,t])=>` ${e}="${t}"`)).join("");if(!t){return`<${e}${s}>`}return`<${e}${s}>${t}`}write(e){return s(this,void 0,void 0,(function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const A=yield this.filePath();const s=t?n:o;yield s(A,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return s(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,t=false){this._buffer+=e;return t?this.addEOL():this}addEOL(){return this.addRaw(i.EOL)}addCodeBlock(e,t){const A=Object.assign({},t&&{lang:t});const s=this.wrap("pre",this.wrap("code",e),A);return this.addRaw(s).addEOL()}addList(e,t=false){const A=t?"ol":"ul";const s=e.map((e=>this.wrap("li",e))).join("");const i=this.wrap(A,s);return this.addRaw(i).addEOL()}addTable(e){const t=e.map((e=>{const t=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:t,data:A,colspan:s,rowspan:i}=e;const r=t?"th":"td";const a=Object.assign(Object.assign({},s&&{colspan:s}),i&&{rowspan:i});return this.wrap(r,A,a)})).join("");return this.wrap("tr",t)})).join("");const A=this.wrap("table",t);return this.addRaw(A).addEOL()}addDetails(e,t){const A=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(A).addEOL()}addImage(e,t,A){const{width:s,height:i}=A||{};const r=Object.assign(Object.assign({},s&&{width:s}),i&&{height:i});const a=this.wrap("img",null,Object.assign({src:e,alt:t},r));return this.addRaw(a).addEOL()}addHeading(e,t){const A=`h${t}`;const s=["h1","h2","h3","h4","h5","h6"].includes(A)?A:"h1";const i=this.wrap(s,e);return this.addRaw(i).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){const A=Object.assign({},t&&{cite:t});const s=this.wrap("blockquote",e,A);return this.addRaw(s).addEOL()}addLink(e,t){const A=this.wrap("a",e,{href:t});return this.addRaw(A).addEOL()}}const p=new Summary;t.markdownSummary=p;t.summary=p},5278:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.toCommandProperties=t.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}t.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}t.toCommandProperties=toCommandProperties},4087:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Context=void 0;const s=A(7147);const i=A(2037);class Context{constructor(){var e,t,A;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(s.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(s.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${i.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(t=process.env.GITHUB_SERVER_URL)!==null&&t!==void 0?t:`https://github.com`;this.graphqlUrl=(A=process.env.GITHUB_GRAPHQL_URL)!==null&&A!==void 0?A:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,t]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:t}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}t.Context=Context},5438:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[A]}})}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.hasOwnProperty.call(e,A))s(t,e,A);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.getOctokit=t.context=void 0;const a=r(A(4087));const o=A(3030);t.context=new a.Context;function getOctokit(e,t,...A){const s=o.GitHub.plugin(...A);return new s(o.getOctokitOptions(e,t))}t.getOctokit=getOctokit},7914:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[A]}})}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.hasOwnProperty.call(e,A))s(t,e,A);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.getApiBaseUrl=t.getProxyAgent=t.getAuthString=void 0;const a=r(A(6255));function getAuthString(e,t){if(!e&&!t.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&t.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof t.auth==="string"?t.auth:`token ${e}`}t.getAuthString=getAuthString;function getProxyAgent(e){const t=new a.HttpClient;return t.getAgent(e)}t.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}t.getApiBaseUrl=getApiBaseUrl},3030:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[A]}})}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.hasOwnProperty.call(e,A))s(t,e,A);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.getOctokitOptions=t.GitHub=t.defaults=t.context=void 0;const a=r(A(4087));const o=r(A(7914));const n=A(8525);const p=A(3044);const d=A(4193);t.context=new a.Context;const l=o.getApiBaseUrl();t.defaults={baseUrl:l,request:{agent:o.getProxyAgent(l)}};t.GitHub=n.Octokit.plugin(p.restEndpointMethods,d.paginateRest).defaults(t.defaults);function getOctokitOptions(e,t){const A=Object.assign({},t||{});const s=o.getAuthString(e,A);if(s){A.auth=s}return A}t.getOctokitOptions=getOctokitOptions},673:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});const A=/^v1\./;const s=/^ghs_/;const i=/^ghu_/;async function auth(e){const t=e.split(/\./).length===3;const r=A.test(e)||s.test(e);const a=i.test(e);const o=t?"app":r?"installation":a?"user-to-server":"oauth";return{type:"token",token:e,tokenType:o}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,t,A,s){const i=t.endpoint.merge(A,s);i.headers.authorization=withAuthorizationPrefix(e);return t(i)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};t.createTokenAuth=r},8525:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var s=A(5030);var i=A(3682);var r=A(9353);var a=A(6422);var o=A(673);function _objectWithoutPropertiesLoose(e,t){if(e==null)return{};var A={};var s=Object.keys(e);var i,r;for(r=0;r=0)continue;A[i]=e[i]}return A}function _objectWithoutProperties(e,t){if(e==null)return{};var A=_objectWithoutPropertiesLoose(e,t);var s,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,s))continue;A[s]=e[s]}}return A}const n="3.6.0";const p=["authStrategy"];class Octokit{constructor(e={}){const t=new i.Collection;const A={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:t.bind(null,"request")}),mediaType:{previews:[],format:""}};A.headers["user-agent"]=[e.userAgent,`octokit-core.js/${n} ${s.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){A.baseUrl=e.baseUrl}if(e.previews){A.mediaType.previews=e.previews}if(e.timeZone){A.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(A);this.graphql=a.withCustomRequest(this.request).defaults(A);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=t;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const A=o.createTokenAuth(e.auth);t.wrap("request",A.hook);this.auth=A}}else{const{authStrategy:A}=e,s=_objectWithoutProperties(e,p);const i=A(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:s},e.auth));t.wrap("request",i.hook);this.auth=i}const d=this.constructor;d.plugins.forEach((t=>{Object.assign(this,t(this,e))}))}static defaults(e){const t=class extends(this){constructor(...t){const A=t[0]||{};if(typeof e==="function"){super(e(A));return}super(Object.assign({},e,A,A.userAgent&&e.userAgent?{userAgent:`${A.userAgent} ${e.userAgent}`}:null))}};return t}static plugin(...e){var t;const A=this.plugins;const s=(t=class extends(this){},t.plugins=A.concat(e.filter((e=>!A.includes(e)))),t);return s}}Octokit.VERSION=n;Octokit.plugins=[];t.Octokit=Octokit},8713:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var s=A(3287);var i=A(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((t,A)=>{t[A.toLowerCase()]=e[A];return t}),{})}function mergeDeep(e,t){const A=Object.assign({},e);Object.keys(t).forEach((i=>{if(s.isPlainObject(t[i])){if(!(i in e))Object.assign(A,{[i]:t[i]});else A[i]=mergeDeep(e[i],t[i])}else{Object.assign(A,{[i]:t[i]})}}));return A}function removeUndefinedProperties(e){for(const t in e){if(e[t]===undefined){delete e[t]}}return e}function merge(e,t,A){if(typeof t==="string"){let[e,s]=t.split(" ");A=Object.assign(s?{method:e,url:s}:{url:e},A)}else{A=Object.assign({},t)}A.headers=lowercaseKeys(A.headers);removeUndefinedProperties(A);removeUndefinedProperties(A.headers);const s=mergeDeep(e||{},A);if(e&&e.mediaType.previews.length){s.mediaType.previews=e.mediaType.previews.filter((e=>!s.mediaType.previews.includes(e))).concat(s.mediaType.previews)}s.mediaType.previews=s.mediaType.previews.map((e=>e.replace(/-preview/,"")));return s}function addQueryParameters(e,t){const A=/\?/.test(e)?"&":"?";const s=Object.keys(t);if(s.length===0){return e}return e+A+s.map((e=>{if(e==="q"){return"q="+t.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(t[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const t=e.match(r);if(!t){return[]}return t.map(removeNonChars).reduce(((e,t)=>e.concat(t)),[])}function omit(e,t){return Object.keys(e).filter((e=>!t.includes(e))).reduce(((t,A)=>{t[A]=e[A];return t}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,t,A){t=e==="+"||e==="#"?encodeReserved(t):encodeUnreserved(t);if(A){return encodeUnreserved(A)+"="+t}else{return t}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,t,A,s){var i=e[A],r=[];if(isDefined(i)&&i!==""){if(typeof i==="string"||typeof i==="number"||typeof i==="boolean"){i=i.toString();if(s&&s!=="*"){i=i.substring(0,parseInt(s,10))}r.push(encodeValue(t,i,isKeyOperator(t)?A:""))}else{if(s==="*"){if(Array.isArray(i)){i.filter(isDefined).forEach((function(e){r.push(encodeValue(t,e,isKeyOperator(t)?A:""))}))}else{Object.keys(i).forEach((function(e){if(isDefined(i[e])){r.push(encodeValue(t,i[e],e))}}))}}else{const e=[];if(Array.isArray(i)){i.filter(isDefined).forEach((function(A){e.push(encodeValue(t,A))}))}else{Object.keys(i).forEach((function(A){if(isDefined(i[A])){e.push(encodeUnreserved(A));e.push(encodeValue(t,i[A].toString()))}}))}if(isKeyOperator(t)){r.push(encodeUnreserved(A)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(t===";"){if(isDefined(i)){r.push(encodeUnreserved(A))}}else if(i===""&&(t==="&"||t==="?")){r.push(encodeUnreserved(A)+"=")}else if(i===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,t){var A=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,s,i){if(s){let e="";const i=[];if(A.indexOf(s.charAt(0))!==-1){e=s.charAt(0);s=s.substr(1)}s.split(/,/g).forEach((function(A){var s=/([^:\*]*)(?::(\d+)|(\*))?/.exec(A);i.push(getValues(t,e,s[1],s[2]||s[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(i.length!==0?e:"")+i.join(r)}else{return i.join(",")}}else{return encodeReserved(i)}}))}function parse(e){let t=e.method.toUpperCase();let A=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let s=Object.assign({},e.headers);let i;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const a=extractUrlVariableNames(A);A=parseUrl(A).expand(r);if(!/^http/.test(A)){A=e.baseUrl+A}const o=Object.keys(e).filter((e=>a.includes(e))).concat("baseUrl");const n=omit(r,o);const p=/application\/octet-stream/i.test(s.accept);if(!p){if(e.mediaType.format){s.accept=s.accept.split(/,/).map((t=>t.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const t=s.accept.match(/[\w-]+(?=-preview)/g)||[];s.accept=t.concat(e.mediaType.previews).map((t=>{const A=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${t}-preview${A}`})).join(",")}}if(["GET","HEAD"].includes(t)){A=addQueryParameters(A,n)}else{if("data"in n){i=n.data}else{if(Object.keys(n).length){i=n}else{s["content-length"]=0}}}if(!s["content-type"]&&typeof i!=="undefined"){s["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(t)&&typeof i==="undefined"){i=""}return Object.assign({method:t,url:A,headers:s},typeof i!=="undefined"?{body:i}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,t,A){return parse(merge(e,t,A))}function withDefaults(e,t){const A=merge(e,t);const s=endpointWithDefaults.bind(null,A);return Object.assign(s,{DEFAULTS:A,defaults:withDefaults.bind(null,A),merge:merge.bind(null,A),parse:parse})}const a="6.0.12";const o=`octokit-endpoint.js/${a} ${i.getUserAgent()}`;const n={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":o},mediaType:{format:"",previews:[]}};const p=withDefaults(null,n);t.endpoint=p},6422:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var s=A(9353);var i=A(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,t,A){super(_buildMessageForResponseErrors(A));this.request=e;this.headers=t;this.response=A;this.name="GraphqlResponseError";this.errors=A.errors;this.data=A.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const a=["method","baseUrl","url","headers","request","query","mediaType"];const o=["query","method","url"];const n=/\/api\/v3\/?$/;function graphql(e,t,A){if(A){if(typeof t==="string"&&"query"in A){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in A){if(!o.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const s=typeof t==="string"?Object.assign({query:t},A):t;const i=Object.keys(s).reduce(((e,t)=>{if(a.includes(t)){e[t]=s[t];return e}if(!e.variables){e.variables={}}e.variables[t]=s[t];return e}),{});const r=s.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(n.test(r)){i.url=r.replace(n,"/api/graphql")}return e(i).then((e=>{if(e.data.errors){const t={};for(const A of Object.keys(e.headers)){t[A]=e.headers[A]}throw new GraphqlResponseError(i,t,e.data)}return e.data.data}))}function withDefaults(e,t){const A=e.defaults(t);const newApi=(e,t)=>graphql(A,e,t);return Object.assign(newApi,{defaults:withDefaults.bind(null,A),endpoint:s.request.endpoint})}const p=withDefaults(s.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${i.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}t.GraphqlResponseError=GraphqlResponseError;t.graphql=p;t.withCustomRequest=withCustomRequest},7471:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var s=A(8932);var i=_interopDefault(A(1223));const r=i((e=>console.warn(e)));const a=i((e=>console.warn(e)));class RequestError extends Error{constructor(e,t,A){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=t;let i;if("headers"in A&&typeof A.headers!=="undefined"){i=A.headers}if("response"in A){this.response=A.response;i=A.response.headers}const o=Object.assign({},A.request);if(A.request.headers.authorization){o.headers=Object.assign({},A.request.headers,{authorization:A.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}o.url=o.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=o;Object.defineProperty(this,"code",{get(){r(new s.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return t}});Object.defineProperty(this,"headers",{get(){a(new s.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return i||{}}})}}t.RequestError=RequestError},9353:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var s=A(8713);var i=A(5030);var r=A(3287);var a=_interopDefault(A(467));var o=A(7471);const n="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const t=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let A={};let s;let i;const n=e.request&&e.request.fetch||a;return n(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{i=r.url;s=r.status;for(const e of r.headers){A[e[0]]=e[1]}if("deprecation"in A){const s=A.link&&A.link.match(/<([^>]+)>; rel="deprecation"/);const i=s&&s.pop();t.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${A.sunset}${i?`. See ${i}`:""}`)}if(s===204||s===205){return}if(e.method==="HEAD"){if(s<400){return}throw new o.RequestError(r.statusText,s,{response:{url:i,status:s,headers:A,data:undefined},request:e})}if(s===304){throw new o.RequestError("Not modified",s,{response:{url:i,status:s,headers:A,data:await getResponseData(r)},request:e})}if(s>=400){const t=await getResponseData(r);const a=new o.RequestError(toErrorMessage(t),s,{response:{url:i,status:s,headers:A,data:t},request:e});throw a}return getResponseData(r)})).then((e=>({status:s,url:i,headers:A,data:e}))).catch((t=>{if(t instanceof o.RequestError)throw t;throw new o.RequestError(t.message,500,{request:e})}))}async function getResponseData(e){const t=e.headers.get("content-type");if(/application\/json/.test(t)){return e.json()}if(!t||/^text\/|charset=utf-8$/.test(t)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,t){const A=e.defaults(t);const newApi=function(e,t){const s=A.merge(e,t);if(!s.request||!s.request.hook){return fetchWrapper(A.parse(s))}const request=(e,t)=>fetchWrapper(A.parse(A.merge(e,t)));Object.assign(request,{endpoint:A,defaults:withDefaults.bind(null,A)});return s.request.hook(request,s)};return Object.assign(newApi,{endpoint:A,defaults:withDefaults.bind(null,A)})}const p=withDefaults(s.endpoint,{headers:{"user-agent":`octokit-request.js/${n} ${i.getUserAgent()}`}});t.request=p},5526:function(e,t){"use strict";var A=this&&this.__awaiter||function(e,t,A,s){function adopt(e){return e instanceof A?e:new A((function(t){t(e)}))}return new(A||(A=Promise))((function(A,i){function fulfilled(e){try{step(s.next(e))}catch(e){i(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){i(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.PersonalAccessTokenCredentialHandler=t.BearerCredentialHandler=t.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,t){this.username=e;this.password=t}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return A(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return A(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return A(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;var i=Object.getOwnPropertyDescriptor(t,A);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[A]}}}Object.defineProperty(e,s,i)}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.prototype.hasOwnProperty.call(e,A))s(t,e,A);i(t,e);return t};var a=this&&this.__awaiter||function(e,t,A,s){function adopt(e){return e instanceof A?e:new A((function(t){t(e)}))}return new(A||(A=Promise))((function(A,i){function fulfilled(e){try{step(s.next(e))}catch(e){i(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){i(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.HttpClient=t.isHttps=t.HttpClientResponse=t.HttpClientError=t.getProxyUrl=t.MediaTypes=t.Headers=t.HttpCodes=void 0;const o=r(A(3685));const n=r(A(5687));const p=r(A(9835));const d=r(A(4294));const l=A(1773);var c;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(c||(t.HttpCodes=c={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u||(t.Headers=u={}));var h;(function(e){e["ApplicationJson"]="application/json"})(h||(t.MediaTypes=h={}));function getProxyUrl(e){const t=p.getProxyUrl(new URL(e));return t?t.href:""}t.getProxyUrl=getProxyUrl;const g=[c.MovedPermanently,c.ResourceMoved,c.SeeOther,c.TemporaryRedirect,c.PermanentRedirect];const E=[c.BadGateway,c.ServiceUnavailable,c.GatewayTimeout];const C=["OPTIONS","GET","DELETE","HEAD"];const Q=10;const B=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}t.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return a(this,void 0,void 0,(function*(){return new Promise((e=>a(this,void 0,void 0,(function*(){let t=Buffer.alloc(0);this.message.on("data",(e=>{t=Buffer.concat([t,e])}));this.message.on("end",(()=>{e(t.toString())}))}))))}))}readBodyBuffer(){return a(this,void 0,void 0,(function*(){return new Promise((e=>a(this,void 0,void 0,(function*(){const t=[];this.message.on("data",(e=>{t.push(e)}));this.message.on("end",(()=>{e(Buffer.concat(t))}))}))))}))}}t.HttpClientResponse=HttpClientResponse;function isHttps(e){const t=new URL(e);return t.protocol==="https:"}t.isHttps=isHttps;class HttpClient{constructor(e,t,A){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=t||[];this.requestOptions=A;if(A){if(A.ignoreSslError!=null){this._ignoreSslError=A.ignoreSslError}this._socketTimeout=A.socketTimeout;if(A.allowRedirects!=null){this._allowRedirects=A.allowRedirects}if(A.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=A.allowRedirectDowngrade}if(A.maxRedirects!=null){this._maxRedirects=Math.max(A.maxRedirects,0)}if(A.keepAlive!=null){this._keepAlive=A.keepAlive}if(A.allowRetries!=null){this._allowRetries=A.allowRetries}if(A.maxRetries!=null){this._maxRetries=A.maxRetries}}}options(e,t){return a(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,t||{})}))}get(e,t){return a(this,void 0,void 0,(function*(){return this.request("GET",e,null,t||{})}))}del(e,t){return a(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,t||{})}))}post(e,t,A){return a(this,void 0,void 0,(function*(){return this.request("POST",e,t,A||{})}))}patch(e,t,A){return a(this,void 0,void 0,(function*(){return this.request("PATCH",e,t,A||{})}))}put(e,t,A){return a(this,void 0,void 0,(function*(){return this.request("PUT",e,t,A||{})}))}head(e,t){return a(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,t||{})}))}sendStream(e,t,A,s){return a(this,void 0,void 0,(function*(){return this.request(e,t,A,s)}))}getJson(e,t={}){return a(this,void 0,void 0,(function*(){t[u.Accept]=this._getExistingOrDefaultHeader(t,u.Accept,h.ApplicationJson);const A=yield this.get(e,t);return this._processResponse(A,this.requestOptions)}))}postJson(e,t,A={}){return a(this,void 0,void 0,(function*(){const s=JSON.stringify(t,null,2);A[u.Accept]=this._getExistingOrDefaultHeader(A,u.Accept,h.ApplicationJson);A[u.ContentType]=this._getExistingOrDefaultHeader(A,u.ContentType,h.ApplicationJson);const i=yield this.post(e,s,A);return this._processResponse(i,this.requestOptions)}))}putJson(e,t,A={}){return a(this,void 0,void 0,(function*(){const s=JSON.stringify(t,null,2);A[u.Accept]=this._getExistingOrDefaultHeader(A,u.Accept,h.ApplicationJson);A[u.ContentType]=this._getExistingOrDefaultHeader(A,u.ContentType,h.ApplicationJson);const i=yield this.put(e,s,A);return this._processResponse(i,this.requestOptions)}))}patchJson(e,t,A={}){return a(this,void 0,void 0,(function*(){const s=JSON.stringify(t,null,2);A[u.Accept]=this._getExistingOrDefaultHeader(A,u.Accept,h.ApplicationJson);A[u.ContentType]=this._getExistingOrDefaultHeader(A,u.ContentType,h.ApplicationJson);const i=yield this.patch(e,s,A);return this._processResponse(i,this.requestOptions)}))}request(e,t,A,s){return a(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const i=new URL(t);let r=this._prepareRequest(e,i,s);const a=this._allowRetries&&C.includes(e)?this._maxRetries+1:1;let o=0;let n;do{n=yield this.requestRaw(r,A);if(n&&n.message&&n.message.statusCode===c.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(n)){e=t;break}}if(e){return e.handleAuthentication(this,r,A)}else{return n}}let t=this._maxRedirects;while(n.message.statusCode&&g.includes(n.message.statusCode)&&this._allowRedirects&&t>0){const a=n.message.headers["location"];if(!a){break}const o=new URL(a);if(i.protocol==="https:"&&i.protocol!==o.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield n.readBody();if(o.hostname!==i.hostname){for(const e in s){if(e.toLowerCase()==="authorization"){delete s[e]}}}r=this._prepareRequest(e,o,s);n=yield this.requestRaw(r,A);t--}if(!n.message.statusCode||!E.includes(n.message.statusCode)){return n}o+=1;if(o{function callbackForResult(e,t){if(e){s(e)}else if(!t){s(new Error("Unknown error"))}else{A(t)}}this.requestRawWithCallback(e,t,callbackForResult)}))}))}requestRawWithCallback(e,t,A){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let s=false;function handleResult(e,t){if(!s){s=true;A(e,t)}}const i=e.httpModule.request(e.options,(e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)}));let r;i.on("socket",(e=>{r=e}));i.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));i.on("error",(function(e){handleResult(e)}));if(t&&typeof t==="string"){i.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",(function(){i.end()}));t.pipe(i)}else{i.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}getAgentDispatcher(e){const t=new URL(e);const A=p.getProxyUrl(t);const s=A&&A.hostname;if(!s){return}return this._getProxyAgentDispatcher(t,A)}_prepareRequest(e,t,A){const s={};s.parsedUrl=t;const i=s.parsedUrl.protocol==="https:";s.httpModule=i?n:o;const r=i?443:80;s.options={};s.options.host=s.parsedUrl.hostname;s.options.port=s.parsedUrl.port?parseInt(s.parsedUrl.port):r;s.options.path=(s.parsedUrl.pathname||"")+(s.parsedUrl.search||"");s.options.method=e;s.options.headers=this._mergeHeaders(A);if(this.userAgent!=null){s.options.headers["user-agent"]=this.userAgent}s.options.agent=this._getAgent(s.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(s.options)}}return s}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,A){let s;if(this.requestOptions&&this.requestOptions.headers){s=lowercaseKeys(this.requestOptions.headers)[t]}return e[t]||s||A}_getAgent(e){let t;const A=p.getProxyUrl(e);const s=A&&A.hostname;if(this._keepAlive&&s){t=this._proxyAgent}if(!s){t=this._agent}if(t){return t}const i=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||o.globalAgent.maxSockets}if(A&&A.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(A.username||A.password)&&{proxyAuth:`${A.username}:${A.password}`}),{host:A.hostname,port:A.port})};let s;const a=A.protocol==="https:";if(i){s=a?d.httpsOverHttps:d.httpsOverHttp}else{s=a?d.httpOverHttps:d.httpOverHttp}t=s(e);this._proxyAgent=t}if(!t){const e={keepAlive:this._keepAlive,maxSockets:r};t=i?new n.Agent(e):new o.Agent(e);this._agent=t}if(i&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_getProxyAgentDispatcher(e,t){let A;if(this._keepAlive){A=this._proxyAgentDispatcher}if(A){return A}const s=e.protocol==="https:";A=new l.ProxyAgent(Object.assign({uri:t.href,pipelining:!this._keepAlive?0:1},(t.username||t.password)&&{token:`${t.username}:${t.password}`}));this._proxyAgentDispatcher=A;if(s&&this._ignoreSslError){A.options=Object.assign(A.options.requestTls||{},{rejectUnauthorized:false})}return A}_performExponentialBackoff(e){return a(this,void 0,void 0,(function*(){e=Math.min(Q,e);const t=B*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),t)))}))}_processResponse(e,t){return a(this,void 0,void 0,(function*(){return new Promise(((A,s)=>a(this,void 0,void 0,(function*(){const i=e.message.statusCode||0;const r={statusCode:i,result:null,headers:{}};if(i===c.NotFound){A(r)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let a;let o;try{o=yield e.readBody();if(o&&o.length>0){if(t&&t.deserializeDates){a=JSON.parse(o,dateTimeDeserializer)}else{a=JSON.parse(o)}r.result=a}r.headers=e.message.headers}catch(e){}if(i>299){let e;if(a&&a.message){e=a.message}else if(o&&o.length>0){e=o}else{e=`Failed request: (${i})`}const t=new HttpClientError(e,i);t.result=r.result;s(t)}else{A(r)}}))))}))}}t.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((t,A)=>(t[A.toLowerCase()]=e[A],t)),{})},9835:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.checkBypass=t.getProxyUrl=void 0;function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const A=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(A){try{return new URL(A)}catch(e){if(!A.startsWith("http://")&&!A.startsWith("https://"))return new URL(`http://${A}`)}}else{return undefined}}t.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const A=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!A){return false}let s;if(e.port){s=Number(e.port)}else if(e.protocol==="http:"){s=80}else if(e.protocol==="https:"){s=443}const i=[e.hostname.toUpperCase()];if(typeof s==="number"){i.push(`${i[0]}:${s}`)}for(const e of A.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||i.some((t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`)))){return true}}return false}t.checkBypass=checkBypass;function isLoopbackAddress(e){const t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}},4193:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});const A="2.21.3";function ownKeys(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,s)}return A}function _objectSpread2(e){for(var t=1;t({async next(){if(!o)return{done:true};try{const e=await i({method:r,url:o,headers:a});const t=normalizePaginatedListResponse(e);o=((t.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:t}}catch(e){if(e.status!==409)throw e;o="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,t,A,s){if(typeof A==="function"){s=A;A=undefined}return gather(e,[],iterator(e,t,A)[Symbol.asyncIterator](),s)}function gather(e,t,A,s){return A.next().then((i=>{if(i.done){return t}let r=false;function done(){r=true}t=t.concat(s?s(i.value,done):i.value.data);if(r){return t}return gather(e,t,A,s)}))}const s=Object.assign(paginate,{iterator:iterator});const i=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return i.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=A;t.composePaginateRest=s;t.isPaginatingEndpoint=isPaginatingEndpoint;t.paginateRest=paginateRest;t.paginatingEndpoints=i},3044:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});function ownKeys(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);if(t){s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))}A.push.apply(A,s)}return A}function _objectSpread2(e){for(var t=1;t{"use strict";e.exports=balanced;function balanced(e,t,A){if(e instanceof RegExp)e=maybeMatch(e,A);if(t instanceof RegExp)t=maybeMatch(t,A);var s=range(e,t,A);return s&&{start:s[0],end:s[1],pre:A.slice(0,s[0]),body:A.slice(s[0]+e.length,s[1]),post:A.slice(s[1]+t.length)}}function maybeMatch(e,t){var A=t.match(e);return A?A[0]:null}balanced.range=range;function range(e,t,A){var s,i,r,a,o;var n=A.indexOf(e);var p=A.indexOf(t,n+1);var d=n;if(n>=0&&p>0){if(e===t){return[n,p]}s=[];r=A.length;while(d>=0&&!o){if(d==n){s.push(d);n=A.indexOf(e,d+1)}else if(s.length==1){o=[s.pop(),p]}else{i=s.pop();if(i=0?n:p}if(s.length){o=[r,a]}}return o}},3682:(e,t,A)=>{var s=A(4670);var i=A(5549);var r=A(6819);var a=Function.bind;var o=a.bind(a);function bindApi(e,t,A){var s=o(r,null).apply(null,A?[t,A]:[t]);e.api={remove:s};e.remove=s;["before","error","after","wrap"].forEach((function(s){var r=A?[t,s,A]:[t,s];e[s]=e.api[s]=o(i,null).apply(null,r)}))}function HookSingular(){var e="h";var t={registry:{}};var A=s.bind(null,t,e);bindApi(A,t,e);return A}function HookCollection(){var e={registry:{}};var t=s.bind(null,e);bindApi(t,e);return t}var n=false;function Hook(){if(!n){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');n=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,t,A,s){var i=s;if(!e.registry[A]){e.registry[A]=[]}if(t==="before"){s=function(e,t){return Promise.resolve().then(i.bind(null,t)).then(e.bind(null,t))}}if(t==="after"){s=function(e,t){var A;return Promise.resolve().then(e.bind(null,t)).then((function(e){A=e;return i(A,t)})).then((function(){return A}))}}if(t==="error"){s=function(e,t){return Promise.resolve().then(e.bind(null,t)).catch((function(e){return i(e,t)}))}}e.registry[A].push({hook:s,orig:i})}},4670:e=>{e.exports=register;function register(e,t,A,s){if(typeof A!=="function"){throw new Error("method for before hook must be a function")}if(!s){s={}}if(Array.isArray(t)){return t.reverse().reduce((function(t,A){return register.bind(null,e,A,t,s)}),A)()}return Promise.resolve().then((function(){if(!e.registry[t]){return A(s)}return e.registry[t].reduce((function(e,t){return t.hook.bind(null,e,s)}),A)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,t,A){if(!e.registry[t]){return}var s=e.registry[t].map((function(e){return e.orig})).indexOf(A);if(s===-1){return}e.registry[t].splice(s,1)}},3717:(e,t,A)=>{var s=A(9417);e.exports=expandTop;var i="\0SLASH"+Math.random()+"\0";var r="\0OPEN"+Math.random()+"\0";var a="\0CLOSE"+Math.random()+"\0";var o="\0COMMA"+Math.random()+"\0";var n="\0PERIOD"+Math.random()+"\0";function numeric(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function escapeBraces(e){return e.split("\\\\").join(i).split("\\{").join(r).split("\\}").join(a).split("\\,").join(o).split("\\.").join(n)}function unescapeBraces(e){return e.split(i).join("\\").split(r).join("{").split(a).join("}").split(o).join(",").split(n).join(".")}function parseCommaParts(e){if(!e)return[""];var t=[];var A=s("{","}",e);if(!A)return e.split(",");var i=A.pre;var r=A.body;var a=A.post;var o=i.split(",");o[o.length-1]+="{"+r+"}";var n=parseCommaParts(a);if(a.length){o[o.length-1]+=n.shift();o.push.apply(o,n)}t.push.apply(t,o);return t}function expandTop(e){if(!e)return[];if(e.substr(0,2)==="{}"){e="\\{\\}"+e.substr(2)}return expand(escapeBraces(e),true).map(unescapeBraces)}function embrace(e){return"{"+e+"}"}function isPadded(e){return/^-?0\d/.test(e)}function lte(e,t){return e<=t}function gte(e,t){return e>=t}function expand(e,t){var A=[];var i=s("{","}",e);if(!i)return[e];var r=i.pre;var o=i.post.length?expand(i.post,false):[""];if(/\$$/.test(i.pre)){for(var n=0;n=0;if(!c&&!u){if(i.post.match(/,.*\}/)){e=i.pre+"{"+i.body+a+i.post;return expand(e)}return[e]}var h;if(c){h=i.body.split(/\.\./)}else{h=parseCommaParts(i.body);if(h.length===1){h=expand(h[0],false).map(embrace);if(h.length===1){return o.map((function(e){return i.pre+h[0]+e}))}}}var g;if(c){var E=numeric(h[0]);var C=numeric(h[1]);var Q=Math.max(h[0].length,h[1].length);var B=h.length==3?Math.abs(numeric(h[2])):1;var I=lte;var w=C0){var R=new Array(D+1).join("0");if(v<0)b="-"+R+b.slice(1);else b=R+b}}}g.push(b)}}else{g=[];for(var k=0;k{"use strict";Object.defineProperty(t,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}t.Deprecation=Deprecation},3287:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true}); -/*! - * is-plain-object - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var t,A;if(isObject(e)===false)return false;t=e.constructor;if(t===undefined)return true;A=t.prototype;if(isObject(A)===false)return false;if(A.hasOwnProperty("isPrototypeOf")===false){return false}return true}t.isPlainObject=isPlainObject},6038:e=>{"use strict";function Mime(){this._types=Object.create(null);this._extensions=Object.create(null);for(let e=0;e{"use strict";let s=A(6038);e.exports=new s(A(3114),A(8809))},8809:e=>{e.exports={"application/prs.cww":["cww"],"application/vnd.1000minds.decision-model+xml":["1km"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.keynote":["key"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.balsamiq.bmml+xml":["bmml"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.citationstyles.style+xml":["csl"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dbf":["dbf"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mapbox-vector-tile":["mvt"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["*stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.ac+xml":["*ac"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openblox.game+xml":["obgx"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openstreetmap.data+xml":["osm"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.rar":["rar"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":["fo"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dmddf+xml":["ddf"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["*dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["*bdoc"],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["*deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":["*iso"],"application/x-iwork-keynote-sffkey":["*key"],"application/x-iwork-numbers-sffnumbers":["*numbers"],"application/x-iwork-pages-sffpages":["*pages"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-keepass2":["kdbx"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["*exe"],"application/x-msdownload":["*exe","*dll","com","bat","*msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["*wmf","*wmz","*emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["*prc","*pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["*rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["*obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["*xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["*m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["*ra"],"audio/x-wav":["*wav"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"image/prs.btif":["btif"],"image/prs.pti":["pti"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.airzip.accelerator.azv":["azv"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["*sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.microsoft.icon":["ico"],"image/vnd.ms-dds":["dds"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.pco.b16":["b16"],"image/vnd.tencent.tap":["tap"],"image/vnd.valve.source.texture":["vtf"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/vnd.zbrush.pcx":["pcx"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["*ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["*bmp"],"image/x-pcx":["*pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/vnd.wfa.wsc":["wsc"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.opengex":["ogex"],"model/vnd.parasolid.transmit.binary":["x_b"],"model/vnd.parasolid.transmit.text":["x_t"],"model/vnd.sap.vds":["vds"],"model/vnd.usdz+zip":["usdz"],"model/vnd.valve.source.compiled-map":["bsp"],"model/vnd.vtu":["vtu"],"text/prs.lines.tag":["dsc"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["*org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]}},3114:e=>{e.exports={"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["es","ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js","mjs"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avif":["avif"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]}},467:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var s=_interopDefault(A(2781));var i=_interopDefault(A(3685));var r=_interopDefault(A(7310));var a=_interopDefault(A(8665));var o=_interopDefault(A(5687));var n=_interopDefault(A(9796));const p=s.Readable;const d=Symbol("buffer");const l=Symbol("type");class Blob{constructor(){this[l]="";const e=arguments[0];const t=arguments[1];const A=[];let s=0;if(e){const t=e;const i=Number(t.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},i=A.size;let r=i===undefined?0:i;var a=A.timeout;let o=a===undefined?0:a;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof s);else{e=Buffer.from(String(e))}this[u]={body:e,disturbed:false,error:null};this.size=r;this.timeout=o;if(e instanceof s){e.on("error",(function(e){const A=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${t.url}: ${e.message}`,"system",e);t[u].error=A}))}}Body.prototype={get body(){return this[u].body},get bodyUsed(){return this[u].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(t){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[d]:t})}))},json(){var e=this;return consumeBody.call(this).then((function(t){try{return JSON.parse(t.toString())}catch(t){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${t.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(t){return convertBody(t,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const t of Object.getOwnPropertyNames(Body.prototype)){if(!(t in e)){const A=Object.getOwnPropertyDescriptor(Body.prototype,t);Object.defineProperty(e,t,A)}}};function consumeBody(){var e=this;if(this[u].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[u].disturbed=true;if(this[u].error){return Body.Promise.reject(this[u].error)}let t=this.body;if(t===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(t)){t=t.stream()}if(Buffer.isBuffer(t)){return Body.Promise.resolve(t)}if(!(t instanceof s)){return Body.Promise.resolve(Buffer.alloc(0))}let A=[];let i=0;let r=false;return new Body.Promise((function(s,a){let o;if(e.timeout){o=setTimeout((function(){r=true;a(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}t.on("error",(function(t){if(t.name==="AbortError"){r=true;a(t)}else{a(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${t.message}`,"system",t))}}));t.on("data",(function(t){if(r||t===null){return}if(e.size&&i+t.length>e.size){r=true;a(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}i+=t.length;A.push(t)}));t.on("end",(function(){if(r){return}clearTimeout(o);try{s(Buffer.concat(A,i))}catch(t){a(new FetchError(`Could not create Buffer from response body for ${e.url}: ${t.message}`,"system",t))}}))}))}function convertBody(e,t){if(typeof c!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const A=t.get("content-type");let s="utf-8";let i,r;if(A){i=/charset=([^;]*)/i.exec(A)}r=e.slice(0,1024).toString();if(!i&&r){i=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[C]=Object.create(null);if(e instanceof Headers){const t=e.raw();const A=Object.keys(t);for(const e of A){for(const A of t[e]){this.append(e,A)}}return}if(e==null);else if(typeof e==="object"){const t=e[Symbol.iterator];if(t!=null){if(typeof t!=="function"){throw new TypeError("Header pairs must be iterable")}const A=[];for(const t of e){if(typeof t!=="object"||typeof t[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}A.push(Array.from(t))}for(const e of A){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const t of Object.keys(e)){const A=e[t];this.append(t,A)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const t=find(this[C],e);if(t===undefined){return null}return this[C][t].join(", ")}forEach(e){let t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let A=getHeaders(this);let s=0;while(s1&&arguments[1]!==undefined?arguments[1]:"key+value";const A=Object.keys(e[C]).sort();return A.map(t==="key"?function(e){return e.toLowerCase()}:t==="value"?function(t){return e[C][t].join(", ")}:function(t){return[t.toLowerCase(),e[C][t].join(", ")]})}const Q=Symbol("internal");function createHeadersIterator(e,t){const A=Object.create(B);A[Q]={target:e,kind:t,index:0};return A}const B=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==B){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[Q];const t=e.target,A=e.kind,s=e.index;const i=getHeaders(t,A);const r=i.length;if(s>=r){return{value:undefined,done:true}}this[Q].index=s+1;return{value:i[s],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(B,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const t=Object.assign({__proto__:null},e[C]);const A=find(e[C],"Host");if(A!==undefined){t[A]=t[A][0]}return t}function createHeadersLenient(e){const t=new Headers;for(const A of Object.keys(e)){if(g.test(A)){continue}if(Array.isArray(e[A])){for(const s of e[A]){if(E.test(s)){continue}if(t[C][A]===undefined){t[C][A]=[s]}else{t[C][A].push(s)}}}else if(!E.test(e[A])){t[C][A]=[e[A]]}}return t}const I=Symbol("Response internals");const w=i.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,t);const A=t.status||200;const s=new Headers(t.headers);if(e!=null&&!s.has("Content-Type")){const t=extractContentType(e);if(t){s.append("Content-Type",t)}}this[I]={url:t.url,status:A,statusText:t.statusText||w[A],headers:s,counter:t.counter}}get url(){return this[I].url||""}get status(){return this[I].status}get ok(){return this[I].status>=200&&this[I].status<300}get redirected(){return this[I].counter>0}get statusText(){return this[I].statusText}get headers(){return this[I].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const v=r.URL||a.URL;const b=r.parse;const D=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new v(e).toString()}return b(e)}const R="destroy"in s.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const t=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(t&&t.constructor.name==="AbortSignal")}class Request{constructor(e){let t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let A;if(!isRequest(e)){if(e&&e.href){A=parseURL(e.href)}else{A=parseURL(`${e}`)}e={}}else{A=parseURL(e.url)}let s=t.method||e.method||"GET";s=s.toUpperCase();if((t.body!=null||isRequest(e)&&e.body!==null)&&(s==="GET"||s==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let i=t.body!=null?t.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,i,{timeout:t.timeout||e.timeout||0,size:t.size||e.size||0});const r=new Headers(t.headers||e.headers||{});if(i!=null&&!r.has("Content-Type")){const e=extractContentType(i);if(e){r.append("Content-Type",e)}}let a=isRequest(e)?e.signal:null;if("signal"in t)a=t.signal;if(a!=null&&!isAbortSignal(a)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:s,redirect:t.redirect||e.redirect||"follow",headers:r,parsedURL:A,signal:a};this.follow=t.follow!==undefined?t.follow:e.follow!==undefined?e.follow:20;this.compress=t.compress!==undefined?t.compress:e.compress!==undefined?e.compress:true;this.counter=t.counter||e.counter||0;this.agent=t.agent||e.agent}get method(){return this[y].method}get url(){return D(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const t=e[y].parsedURL;const A=new Headers(e[y].headers);if(!A.has("Accept")){A.set("Accept","*/*")}if(!t.protocol||!t.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(t.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof s.Readable&&!R){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let i=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){i="0"}if(e.body!=null){const t=getTotalBytes(e);if(typeof t==="number"){i=String(t)}}if(i){A.set("Content-Length",i)}if(!A.has("User-Agent")){A.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!A.has("Accept-Encoding")){A.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(t)}return Object.assign({},t,{method:e.method,headers:exportNodeCompatibleHeaders(A),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const k=r.URL||a.URL;const S=s.PassThrough;const F=function isDomainOrSubdomain(e,t){const A=new k(t).hostname;const s=new k(e).hostname;return A===s||A[A.length-s.length-1]==="."&&A.endsWith(s)};const N=function isSameProtocol(e,t){const A=new k(t).protocol;const s=new k(e).protocol;return A===s};function fetch(e,t){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(A,r){const a=new Request(e,t);const p=getNodeRequestOptions(a);const d=(p.protocol==="https:"?o:i).request;const l=a.signal;let c=null;const u=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(a.body&&a.body instanceof s.Readable){destroyStream(a.body,e)}if(!c||!c.body)return;c.body.emit("error",e)};if(l&&l.aborted){u();return}const h=function abortAndFinalize(){u();finalize()};const g=d(p);let E;if(l){l.addEventListener("abort",h)}function finalize(){g.abort();if(l)l.removeEventListener("abort",h);clearTimeout(E)}if(a.timeout){g.once("socket",(function(e){E=setTimeout((function(){r(new FetchError(`network timeout at: ${a.url}`,"request-timeout"));finalize()}),a.timeout)}))}g.on("error",(function(e){r(new FetchError(`request to ${a.url} failed, reason: ${e.message}`,"system",e));if(c&&c.body){destroyStream(c.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(g,(function(e){if(l&&l.aborted){return}if(c&&c.body){destroyStream(c.body,e)}}));if(parseInt(process.version.substring(1))<14){g.on("socket",(function(e){e.addListener("close",(function(t){const A=e.listenerCount("data")>0;if(c&&A&&!t&&!(l&&l.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";c.body.emit("error",e)}}))}))}g.on("response",(function(e){clearTimeout(E);const t=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const s=t.get("Location");let i=null;try{i=s===null?null:new k(s,a.url).toString()}catch(e){if(a.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${s}`,"invalid-redirect"));finalize();return}}switch(a.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${a.url}`,"no-redirect"));finalize();return;case"manual":if(i!==null){try{t.set("Location",i)}catch(e){r(e)}}break;case"follow":if(i===null){break}if(a.counter>=a.follow){r(new FetchError(`maximum redirect reached at: ${a.url}`,"max-redirect"));finalize();return}const s={headers:new Headers(a.headers),follow:a.follow,counter:a.counter+1,agent:a.agent,compress:a.compress,method:a.method,body:a.body,signal:a.signal,timeout:a.timeout,size:a.size};if(!F(a.url,i)||!N(a.url,i)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){s.headers.delete(e)}}if(e.statusCode!==303&&a.body&&getTotalBytes(a)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&a.method==="POST"){s.method="GET";s.body=undefined;s.headers.delete("content-length")}A(fetch(new Request(i,s)));finalize();return}}e.once("end",(function(){if(l)l.removeEventListener("abort",h)}));let s=e.pipe(new S);const i={url:a.url,status:e.statusCode,statusText:e.statusMessage,headers:t,size:a.size,timeout:a.timeout,counter:a.counter};const o=t.get("Content-Encoding");if(!a.compress||a.method==="HEAD"||o===null||e.statusCode===204||e.statusCode===304){c=new Response(s,i);A(c);return}const p={flush:n.Z_SYNC_FLUSH,finishFlush:n.Z_SYNC_FLUSH};if(o=="gzip"||o=="x-gzip"){s=s.pipe(n.createGunzip(p));c=new Response(s,i);A(c);return}if(o=="deflate"||o=="x-deflate"){const t=e.pipe(new S);t.once("data",(function(e){if((e[0]&15)===8){s=s.pipe(n.createInflate())}else{s=s.pipe(n.createInflateRaw())}c=new Response(s,i);A(c)}));t.on("end",(function(){if(!c){c=new Response(s,i);A(c)}}));return}if(o=="br"&&typeof n.createBrotliDecompress==="function"){s=s.pipe(n.createBrotliDecompress());c=new Response(s,i);A(c);return}c=new Response(s,i);A(c)}));writeToStream(g,a)}))}function fixResponseChunkedTransferBadEnding(e,t){let A;e.on("socket",(function(e){A=e}));e.on("response",(function(e){const s=e.headers;if(s["transfer-encoding"]==="chunked"&&!s["content-length"]){e.once("close",(function(e){const s=A&&A.listenerCount("data")>0;if(s&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";t(e)}}))}}))}function destroyStream(e,t){if(e.destroy){e.destroy(t)}else{e.emit("error",t);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=t=fetch;Object.defineProperty(t,"__esModule",{value:true});t["default"]=t;t.Headers=Headers;t.Request=Request;t.Response=Response;t.FetchError=FetchError;t.AbortError=AbortError},1223:(e,t,A)=>{var s=A(2940);e.exports=s(once);e.exports.strict=s(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var t=e.name||"Function wrapped with `once`";f.onceError=t+" shouldn't be called more than once";f.called=false;return f}},4256:(e,t,A)=>{"use strict";var s=A(5477);var i=A(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var t=0;var A=i.length-1;while(t<=A){var s=Math.floor((t+A)/2);var r=i[s];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){A=s-1}else{t=s+1}}return null}var a=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(a,"_").length}function mapChars(e,t,A){var s=false;var i="";var a=countSymbols(e);for(var o=0;o253||o.length===0){r.error=true}for(var n=0;n63||a.length===0){r.error=true;break}}}if(r.error)return null;return a.join(".")};e.exports.toUnicode=function(e,t){var A=processing(e,t,r.NONTRANSITIONAL);return{domain:A.string,error:A.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,t,A)=>{e.exports=A(4219)},4219:(e,t,A)=>{"use strict";var s=A(1808);var i=A(4404);var r=A(3685);var a=A(5687);var o=A(2361);var n=A(9491);var p=A(3837);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=r.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=r.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=a.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=a.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||r.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,A,s,i){var r=toOptions(A,s,i);for(var a=0,o=t.requests.length;a=this.maxSockets){i.requests.push(r);return}i.createSocket(r,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){i.emit("free",t,r)}function onCloseOrRemove(e){i.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var A=this;var s={};A.sockets.push(s);var i=mergeOptions({},A.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){i.localAddress=e.localAddress}if(i.proxyAuth){i.headers=i.headers||{};i.headers["Proxy-Authorization"]="Basic "+new Buffer(i.proxyAuth).toString("base64")}d("making CONNECT request");var r=A.request(i);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,A){process.nextTick((function(){onConnect(e,t,A)}))}function onConnect(i,a,o){r.removeAllListeners();a.removeAllListeners();if(i.statusCode!==200){d("tunneling socket could not be established, statusCode=%d",i.statusCode);a.destroy();var n=new Error("tunneling socket could not be established, "+"statusCode="+i.statusCode);n.code="ECONNRESET";e.request.emit("error",n);A.removeSocket(s);return}if(o.length>0){d("got illegal response body from proxy");a.destroy();var n=new Error("got illegal response body from proxy");n.code="ECONNRESET";e.request.emit("error",n);A.removeSocket(s);return}d("tunneling connection has established");A.sockets[A.sockets.indexOf(s)]=a;return t(a)}function onError(t){r.removeAllListeners();d("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var i=new Error("tunneling socket could not be established, "+"cause="+t.message);i.code="ECONNRESET";e.request.emit("error",i);A.removeSocket(s)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var A=this.requests.shift();if(A){this.createSocket(A,(function(e){A.request.onSocket(e)}))}};function createSecureSocket(e,t){var A=this;TunnelingAgent.prototype.createSocket.call(A,e,(function(s){var r=e.request.getHeader("host");var a=mergeOptions({},A.options,{socket:s,servername:r?r.replace(/:.*$/,""):e.host});var o=i.connect(0,a);A.sockets[A.sockets.indexOf(s)]=o;t(o)}))}function toOptions(e,t,A){if(typeof e==="string"){return{host:e,port:t,localAddress:A}}return e}function mergeOptions(e){for(var t=1,A=arguments.length;t{"use strict";const s=A(3598);const i=A(412);const r=A(8045);const a=A(4634);const o=A(7931);const n=A(7890);const p=A(3983);const{InvalidArgumentError:d}=r;const l=A(4059);const c=A(2067);const u=A(8687);const h=A(6771);const g=A(6193);const E=A(888);const C=A(7858);const Q=A(2286);const{getGlobalDispatcher:B,setGlobalDispatcher:I}=A(1892);const w=A(6930);const y=A(2860);const v=A(8861);let b;try{A(6113);b=true}catch{b=false}Object.assign(i.prototype,l);e.exports.Dispatcher=i;e.exports.Client=s;e.exports.Pool=a;e.exports.BalancedPool=o;e.exports.Agent=n;e.exports.ProxyAgent=C;e.exports.RetryHandler=Q;e.exports.DecoratorHandler=w;e.exports.RedirectHandler=y;e.exports.createRedirectInterceptor=v;e.exports.buildConnector=c;e.exports.errors=r;function makeDispatcher(e){return(t,A,s)=>{if(typeof A==="function"){s=A;A=null}if(!t||typeof t!=="string"&&typeof t!=="object"&&!(t instanceof URL)){throw new d("invalid url")}if(A!=null&&typeof A!=="object"){throw new d("invalid opts")}if(A&&A.path!=null){if(typeof A.path!=="string"){throw new d("invalid opts.path")}let e=A.path;if(!A.path.startsWith("/")){e=`/${e}`}t=new URL(p.parseOrigin(t).origin+e)}else{if(!A){A=typeof t==="object"?t:{}}t=p.parseURL(t)}const{agent:i,dispatcher:r=B()}=A;if(i){throw new d("unsupported opts.agent. Did you mean opts.client?")}return e.call(r,{...A,origin:t.origin,path:t.search?`${t.pathname}${t.search}`:t.pathname,method:A.method||(A.body?"PUT":"GET")},s)}}e.exports.setGlobalDispatcher=I;e.exports.getGlobalDispatcher=B;if(p.nodeMajor>16||p.nodeMajor===16&&p.nodeMinor>=8){let t=null;e.exports.fetch=async function fetch(e){if(!t){t=A(4881).fetch}try{return await t(...arguments)}catch(e){if(typeof e==="object"){Error.captureStackTrace(e,this)}throw e}};e.exports.Headers=A(554).Headers;e.exports.Response=A(7823).Response;e.exports.Request=A(8359).Request;e.exports.FormData=A(2015).FormData;e.exports.File=A(8511).File;e.exports.FileReader=A(1446).FileReader;const{setGlobalOrigin:s,getGlobalOrigin:i}=A(1246);e.exports.setGlobalOrigin=s;e.exports.getGlobalOrigin=i;const{CacheStorage:r}=A(7907);const{kConstruct:a}=A(9174);e.exports.caches=new r(a)}if(p.nodeMajor>=16){const{deleteCookie:t,getCookies:s,getSetCookies:i,setCookie:r}=A(1724);e.exports.deleteCookie=t;e.exports.getCookies=s;e.exports.getSetCookies=i;e.exports.setCookie=r;const{parseMIMEType:a,serializeAMimeType:o}=A(685);e.exports.parseMIMEType=a;e.exports.serializeAMimeType=o}if(p.nodeMajor>=18&&b){const{WebSocket:t}=A(4284);e.exports.WebSocket=t}e.exports.request=makeDispatcher(l.request);e.exports.stream=makeDispatcher(l.stream);e.exports.pipeline=makeDispatcher(l.pipeline);e.exports.connect=makeDispatcher(l.connect);e.exports.upgrade=makeDispatcher(l.upgrade);e.exports.MockClient=u;e.exports.MockPool=g;e.exports.MockAgent=h;e.exports.mockErrors=E},7890:(e,t,A)=>{"use strict";const{InvalidArgumentError:s}=A(8045);const{kClients:i,kRunning:r,kClose:a,kDestroy:o,kDispatch:n,kInterceptors:p}=A(2785);const d=A(4839);const l=A(4634);const c=A(3598);const u=A(3983);const h=A(8861);const{WeakRef:g,FinalizationRegistry:E}=A(6436)();const C=Symbol("onConnect");const Q=Symbol("onDisconnect");const B=Symbol("onConnectionError");const I=Symbol("maxRedirections");const w=Symbol("onDrain");const y=Symbol("factory");const v=Symbol("finalizer");const b=Symbol("options");function defaultFactory(e,t){return t&&t.connections===1?new c(e,t):new l(e,t)}class Agent extends d{constructor({factory:e=defaultFactory,maxRedirections:t=0,connect:A,...r}={}){super();if(typeof e!=="function"){throw new s("factory must be a function.")}if(A!=null&&typeof A!=="function"&&typeof A!=="object"){throw new s("connect must be a function or an object")}if(!Number.isInteger(t)||t<0){throw new s("maxRedirections must be a positive number")}if(A&&typeof A!=="function"){A={...A}}this[p]=r.interceptors&&r.interceptors.Agent&&Array.isArray(r.interceptors.Agent)?r.interceptors.Agent:[h({maxRedirections:t})];this[b]={...u.deepClone(r),connect:A};this[b].interceptors=r.interceptors?{...r.interceptors}:undefined;this[I]=t;this[y]=e;this[i]=new Map;this[v]=new E((e=>{const t=this[i].get(e);if(t!==undefined&&t.deref()===undefined){this[i].delete(e)}}));const a=this;this[w]=(e,t)=>{a.emit("drain",e,[a,...t])};this[C]=(e,t)=>{a.emit("connect",e,[a,...t])};this[Q]=(e,t,A)=>{a.emit("disconnect",e,[a,...t],A)};this[B]=(e,t,A)=>{a.emit("connectionError",e,[a,...t],A)}}get[r](){let e=0;for(const t of this[i].values()){const A=t.deref();if(A){e+=A[r]}}return e}[n](e,t){let A;if(e.origin&&(typeof e.origin==="string"||e.origin instanceof URL)){A=String(e.origin)}else{throw new s("opts.origin must be a non-empty string or URL.")}const r=this[i].get(A);let a=r?r.deref():null;if(!a){a=this[y](e.origin,this[b]).on("drain",this[w]).on("connect",this[C]).on("disconnect",this[Q]).on("connectionError",this[B]);this[i].set(A,new g(a));this[v].register(a,A)}return a.dispatch(e,t)}async[a](){const e=[];for(const t of this[i].values()){const A=t.deref();if(A){e.push(A.close())}}await Promise.all(e)}async[o](e){const t=[];for(const A of this[i].values()){const s=A.deref();if(s){t.push(s.destroy(e))}}await Promise.all(t)}}e.exports=Agent},7032:(e,t,A)=>{const{addAbortListener:s}=A(3983);const{RequestAbortedError:i}=A(8045);const r=Symbol("kListener");const a=Symbol("kSignal");function abort(e){if(e.abort){e.abort()}else{e.onError(new i)}}function addSignal(e,t){e[a]=null;e[r]=null;if(!t){return}if(t.aborted){abort(e);return}e[a]=t;e[r]=()=>{abort(e)};s(e[a],e[r])}function removeSignal(e){if(!e[a]){return}if("removeEventListener"in e[a]){e[a].removeEventListener("abort",e[r])}else{e[a].removeListener("abort",e[r])}e[a]=null;e[r]=null}e.exports={addSignal:addSignal,removeSignal:removeSignal}},9744:(e,t,A)=>{"use strict";const{AsyncResource:s}=A(852);const{InvalidArgumentError:i,RequestAbortedError:r,SocketError:a}=A(8045);const o=A(3983);const{addSignal:n,removeSignal:p}=A(7032);class ConnectHandler extends s{constructor(e,t){if(!e||typeof e!=="object"){throw new i("invalid opts")}if(typeof t!=="function"){throw new i("invalid callback")}const{signal:A,opaque:s,responseHeaders:r}=e;if(A&&typeof A.on!=="function"&&typeof A.addEventListener!=="function"){throw new i("signal must be an EventEmitter or EventTarget")}super("UNDICI_CONNECT");this.opaque=s||null;this.responseHeaders=r||null;this.callback=t;this.abort=null;n(this,A)}onConnect(e,t){if(!this.callback){throw new r}this.abort=e;this.context=t}onHeaders(){throw new a("bad connect",null)}onUpgrade(e,t,A){const{callback:s,opaque:i,context:r}=this;p(this);this.callback=null;let a=t;if(a!=null){a=this.responseHeaders==="raw"?o.parseRawHeaders(t):o.parseHeaders(t)}this.runInAsyncScope(s,null,null,{statusCode:e,headers:a,socket:A,opaque:i,context:r})}onError(e){const{callback:t,opaque:A}=this;p(this);if(t){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(t,null,e,{opaque:A})}))}}}function connect(e,t){if(t===undefined){return new Promise(((t,A)=>{connect.call(this,e,((e,s)=>e?A(e):t(s)))}))}try{const A=new ConnectHandler(e,t);this.dispatch({...e,method:"CONNECT"},A)}catch(A){if(typeof t!=="function"){throw A}const s=e&&e.opaque;queueMicrotask((()=>t(A,{opaque:s})))}}e.exports=connect},8752:(e,t,A)=>{"use strict";const{Readable:s,Duplex:i,PassThrough:r}=A(2781);const{InvalidArgumentError:a,InvalidReturnValueError:o,RequestAbortedError:n}=A(8045);const p=A(3983);const{AsyncResource:d}=A(852);const{addSignal:l,removeSignal:c}=A(7032);const u=A(9491);const h=Symbol("resume");class PipelineRequest extends s{constructor(){super({autoDestroy:true});this[h]=null}_read(){const{[h]:e}=this;if(e){this[h]=null;e()}}_destroy(e,t){this._read();t(e)}}class PipelineResponse extends s{constructor(e){super({autoDestroy:true});this[h]=e}_read(){this[h]()}_destroy(e,t){if(!e&&!this._readableState.endEmitted){e=new n}t(e)}}class PipelineHandler extends d{constructor(e,t){if(!e||typeof e!=="object"){throw new a("invalid opts")}if(typeof t!=="function"){throw new a("invalid handler")}const{signal:A,method:s,opaque:r,onInfo:o,responseHeaders:d}=e;if(A&&typeof A.on!=="function"&&typeof A.addEventListener!=="function"){throw new a("signal must be an EventEmitter or EventTarget")}if(s==="CONNECT"){throw new a("invalid method")}if(o&&typeof o!=="function"){throw new a("invalid onInfo callback")}super("UNDICI_PIPELINE");this.opaque=r||null;this.responseHeaders=d||null;this.handler=t;this.abort=null;this.context=null;this.onInfo=o||null;this.req=(new PipelineRequest).on("error",p.nop);this.ret=new i({readableObjectMode:e.objectMode,autoDestroy:true,read:()=>{const{body:e}=this;if(e&&e.resume){e.resume()}},write:(e,t,A)=>{const{req:s}=this;if(s.push(e,t)||s._readableState.destroyed){A()}else{s[h]=A}},destroy:(e,t)=>{const{body:A,req:s,res:i,ret:r,abort:a}=this;if(!e&&!r._readableState.endEmitted){e=new n}if(a&&e){a()}p.destroy(A,e);p.destroy(s,e);p.destroy(i,e);c(this);t(e)}}).on("prefinish",(()=>{const{req:e}=this;e.push(null)}));this.res=null;l(this,A)}onConnect(e,t){const{ret:A,res:s}=this;u(!s,"pipeline cannot be retried");if(A.destroyed){throw new n}this.abort=e;this.context=t}onHeaders(e,t,A){const{opaque:s,handler:i,context:r}=this;if(e<200){if(this.onInfo){const A=this.responseHeaders==="raw"?p.parseRawHeaders(t):p.parseHeaders(t);this.onInfo({statusCode:e,headers:A})}return}this.res=new PipelineResponse(A);let a;try{this.handler=null;const A=this.responseHeaders==="raw"?p.parseRawHeaders(t):p.parseHeaders(t);a=this.runInAsyncScope(i,null,{statusCode:e,headers:A,opaque:s,body:this.res,context:r})}catch(e){this.res.on("error",p.nop);throw e}if(!a||typeof a.on!=="function"){throw new o("expected Readable")}a.on("data",(e=>{const{ret:t,body:A}=this;if(!t.push(e)&&A.pause){A.pause()}})).on("error",(e=>{const{ret:t}=this;p.destroy(t,e)})).on("end",(()=>{const{ret:e}=this;e.push(null)})).on("close",(()=>{const{ret:e}=this;if(!e._readableState.ended){p.destroy(e,new n)}}));this.body=a}onData(e){const{res:t}=this;return t.push(e)}onComplete(e){const{res:t}=this;t.push(null)}onError(e){const{ret:t}=this;this.handler=null;p.destroy(t,e)}}function pipeline(e,t){try{const A=new PipelineHandler(e,t);this.dispatch({...e,body:A.req},A);return A.ret}catch(e){return(new r).destroy(e)}}e.exports=pipeline},5448:(e,t,A)=>{"use strict";const s=A(3858);const{InvalidArgumentError:i,RequestAbortedError:r}=A(8045);const a=A(3983);const{getResolveErrorBodyCallback:o}=A(7474);const{AsyncResource:n}=A(852);const{addSignal:p,removeSignal:d}=A(7032);class RequestHandler extends n{constructor(e,t){if(!e||typeof e!=="object"){throw new i("invalid opts")}const{signal:A,method:s,opaque:r,body:o,onInfo:n,responseHeaders:d,throwOnError:l,highWaterMark:c}=e;try{if(typeof t!=="function"){throw new i("invalid callback")}if(c&&(typeof c!=="number"||c<0)){throw new i("invalid highWaterMark")}if(A&&typeof A.on!=="function"&&typeof A.addEventListener!=="function"){throw new i("signal must be an EventEmitter or EventTarget")}if(s==="CONNECT"){throw new i("invalid method")}if(n&&typeof n!=="function"){throw new i("invalid onInfo callback")}super("UNDICI_REQUEST")}catch(e){if(a.isStream(o)){a.destroy(o.on("error",a.nop),e)}throw e}this.responseHeaders=d||null;this.opaque=r||null;this.callback=t;this.res=null;this.abort=null;this.body=o;this.trailers={};this.context=null;this.onInfo=n||null;this.throwOnError=l;this.highWaterMark=c;if(a.isStream(o)){o.on("error",(e=>{this.onError(e)}))}p(this,A)}onConnect(e,t){if(!this.callback){throw new r}this.abort=e;this.context=t}onHeaders(e,t,A,i){const{callback:r,opaque:n,abort:p,context:d,responseHeaders:l,highWaterMark:c}=this;const u=l==="raw"?a.parseRawHeaders(t):a.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:u})}return}const h=l==="raw"?a.parseHeaders(t):u;const g=h["content-type"];const E=new s({resume:A,abort:p,contentType:g,highWaterMark:c});this.callback=null;this.res=E;if(r!==null){if(this.throwOnError&&e>=400){this.runInAsyncScope(o,null,{callback:r,body:E,contentType:g,statusCode:e,statusMessage:i,headers:u})}else{this.runInAsyncScope(r,null,null,{statusCode:e,headers:u,trailers:this.trailers,opaque:n,body:E,context:d})}}}onData(e){const{res:t}=this;return t.push(e)}onComplete(e){const{res:t}=this;d(this);a.parseHeaders(e,this.trailers);t.push(null)}onError(e){const{res:t,callback:A,body:s,opaque:i}=this;d(this);if(A){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(A,null,e,{opaque:i})}))}if(t){this.res=null;queueMicrotask((()=>{a.destroy(t,e)}))}if(s){this.body=null;a.destroy(s,e)}}}function request(e,t){if(t===undefined){return new Promise(((t,A)=>{request.call(this,e,((e,s)=>e?A(e):t(s)))}))}try{this.dispatch(e,new RequestHandler(e,t))}catch(A){if(typeof t!=="function"){throw A}const s=e&&e.opaque;queueMicrotask((()=>t(A,{opaque:s})))}}e.exports=request;e.exports.RequestHandler=RequestHandler},5395:(e,t,A)=>{"use strict";const{finished:s,PassThrough:i}=A(2781);const{InvalidArgumentError:r,InvalidReturnValueError:a,RequestAbortedError:o}=A(8045);const n=A(3983);const{getResolveErrorBodyCallback:p}=A(7474);const{AsyncResource:d}=A(852);const{addSignal:l,removeSignal:c}=A(7032);class StreamHandler extends d{constructor(e,t,A){if(!e||typeof e!=="object"){throw new r("invalid opts")}const{signal:s,method:i,opaque:a,body:o,onInfo:p,responseHeaders:d,throwOnError:c}=e;try{if(typeof A!=="function"){throw new r("invalid callback")}if(typeof t!=="function"){throw new r("invalid factory")}if(s&&typeof s.on!=="function"&&typeof s.addEventListener!=="function"){throw new r("signal must be an EventEmitter or EventTarget")}if(i==="CONNECT"){throw new r("invalid method")}if(p&&typeof p!=="function"){throw new r("invalid onInfo callback")}super("UNDICI_STREAM")}catch(e){if(n.isStream(o)){n.destroy(o.on("error",n.nop),e)}throw e}this.responseHeaders=d||null;this.opaque=a||null;this.factory=t;this.callback=A;this.res=null;this.abort=null;this.context=null;this.trailers=null;this.body=o;this.onInfo=p||null;this.throwOnError=c||false;if(n.isStream(o)){o.on("error",(e=>{this.onError(e)}))}l(this,s)}onConnect(e,t){if(!this.callback){throw new o}this.abort=e;this.context=t}onHeaders(e,t,A,r){const{factory:o,opaque:d,context:l,callback:c,responseHeaders:u}=this;const h=u==="raw"?n.parseRawHeaders(t):n.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:h})}return}this.factory=null;let g;if(this.throwOnError&&e>=400){const A=u==="raw"?n.parseHeaders(t):h;const s=A["content-type"];g=new i;this.callback=null;this.runInAsyncScope(p,null,{callback:c,body:g,contentType:s,statusCode:e,statusMessage:r,headers:h})}else{if(o===null){return}g=this.runInAsyncScope(o,null,{statusCode:e,headers:h,opaque:d,context:l});if(!g||typeof g.write!=="function"||typeof g.end!=="function"||typeof g.on!=="function"){throw new a("expected Writable")}s(g,{readable:false},(e=>{const{callback:t,res:A,opaque:s,trailers:i,abort:r}=this;this.res=null;if(e||!A.readable){n.destroy(A,e)}this.callback=null;this.runInAsyncScope(t,null,e||null,{opaque:s,trailers:i});if(e){r()}}))}g.on("drain",A);this.res=g;const E=g.writableNeedDrain!==undefined?g.writableNeedDrain:g._writableState&&g._writableState.needDrain;return E!==true}onData(e){const{res:t}=this;return t?t.write(e):true}onComplete(e){const{res:t}=this;c(this);if(!t){return}this.trailers=n.parseHeaders(e);t.end()}onError(e){const{res:t,callback:A,opaque:s,body:i}=this;c(this);this.factory=null;if(t){this.res=null;n.destroy(t,e)}else if(A){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(A,null,e,{opaque:s})}))}if(i){this.body=null;n.destroy(i,e)}}}function stream(e,t,A){if(A===undefined){return new Promise(((A,s)=>{stream.call(this,e,t,((e,t)=>e?s(e):A(t)))}))}try{this.dispatch(e,new StreamHandler(e,t,A))}catch(t){if(typeof A!=="function"){throw t}const s=e&&e.opaque;queueMicrotask((()=>A(t,{opaque:s})))}}e.exports=stream},6923:(e,t,A)=>{"use strict";const{InvalidArgumentError:s,RequestAbortedError:i,SocketError:r}=A(8045);const{AsyncResource:a}=A(852);const o=A(3983);const{addSignal:n,removeSignal:p}=A(7032);const d=A(9491);class UpgradeHandler extends a{constructor(e,t){if(!e||typeof e!=="object"){throw new s("invalid opts")}if(typeof t!=="function"){throw new s("invalid callback")}const{signal:A,opaque:i,responseHeaders:r}=e;if(A&&typeof A.on!=="function"&&typeof A.addEventListener!=="function"){throw new s("signal must be an EventEmitter or EventTarget")}super("UNDICI_UPGRADE");this.responseHeaders=r||null;this.opaque=i||null;this.callback=t;this.abort=null;this.context=null;n(this,A)}onConnect(e,t){if(!this.callback){throw new i}this.abort=e;this.context=null}onHeaders(){throw new r("bad upgrade",null)}onUpgrade(e,t,A){const{callback:s,opaque:i,context:r}=this;d.strictEqual(e,101);p(this);this.callback=null;const a=this.responseHeaders==="raw"?o.parseRawHeaders(t):o.parseHeaders(t);this.runInAsyncScope(s,null,null,{headers:a,socket:A,opaque:i,context:r})}onError(e){const{callback:t,opaque:A}=this;p(this);if(t){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(t,null,e,{opaque:A})}))}}}function upgrade(e,t){if(t===undefined){return new Promise(((t,A)=>{upgrade.call(this,e,((e,s)=>e?A(e):t(s)))}))}try{const A=new UpgradeHandler(e,t);this.dispatch({...e,method:e.method||"GET",upgrade:e.protocol||"Websocket"},A)}catch(A){if(typeof t!=="function"){throw A}const s=e&&e.opaque;queueMicrotask((()=>t(A,{opaque:s})))}}e.exports=upgrade},4059:(e,t,A)=>{"use strict";e.exports.request=A(5448);e.exports.stream=A(5395);e.exports.pipeline=A(8752);e.exports.upgrade=A(6923);e.exports.connect=A(9744)},3858:(e,t,A)=>{"use strict";const s=A(9491);const{Readable:i}=A(2781);const{RequestAbortedError:r,NotSupportedError:a,InvalidArgumentError:o}=A(8045);const n=A(3983);const{ReadableStreamFrom:p,toUSVString:d}=A(3983);let l;const c=Symbol("kConsume");const u=Symbol("kReading");const h=Symbol("kBody");const g=Symbol("abort");const E=Symbol("kContentType");const noop=()=>{};e.exports=class BodyReadable extends i{constructor({resume:e,abort:t,contentType:A="",highWaterMark:s=64*1024}){super({autoDestroy:true,read:e,highWaterMark:s});this._readableState.dataEmitted=false;this[g]=t;this[c]=null;this[h]=null;this[E]=A;this[u]=false}destroy(e){if(this.destroyed){return this}if(!e&&!this._readableState.endEmitted){e=new r}if(e){this[g]()}return super.destroy(e)}emit(e,...t){if(e==="data"){this._readableState.dataEmitted=true}else if(e==="error"){this._readableState.errorEmitted=true}return super.emit(e,...t)}on(e,...t){if(e==="data"||e==="readable"){this[u]=true}return super.on(e,...t)}addListener(e,...t){return this.on(e,...t)}off(e,...t){const A=super.off(e,...t);if(e==="data"||e==="readable"){this[u]=this.listenerCount("data")>0||this.listenerCount("readable")>0}return A}removeListener(e,...t){return this.off(e,...t)}push(e){if(this[c]&&e!==null&&this.readableLength===0){consumePush(this[c],e);return this[u]?super.push(e):true}return super.push(e)}async text(){return consume(this,"text")}async json(){return consume(this,"json")}async blob(){return consume(this,"blob")}async arrayBuffer(){return consume(this,"arrayBuffer")}async formData(){throw new a}get bodyUsed(){return n.isDisturbed(this)}get body(){if(!this[h]){this[h]=p(this);if(this[c]){this[h].getReader();s(this[h].locked)}}return this[h]}dump(e){let t=e&&Number.isFinite(e.limit)?e.limit:262144;const A=e&&e.signal;if(A){try{if(typeof A!=="object"||!("aborted"in A)){throw new o("signal must be an AbortSignal")}n.throwIfAborted(A)}catch(e){return Promise.reject(e)}}if(this.closed){return Promise.resolve(null)}return new Promise(((e,s)=>{const i=A?n.addAbortListener(A,(()=>{this.destroy()})):noop;this.on("close",(function(){i();if(A&&A.aborted){s(A.reason||Object.assign(new Error("The operation was aborted"),{name:"AbortError"}))}else{e(null)}})).on("error",noop).on("data",(function(e){t-=e.length;if(t<=0){this.destroy()}})).resume()}))}};function isLocked(e){return e[h]&&e[h].locked===true||e[c]}function isUnusable(e){return n.isDisturbed(e)||isLocked(e)}async function consume(e,t){if(isUnusable(e)){throw new TypeError("unusable")}s(!e[c]);return new Promise(((A,s)=>{e[c]={type:t,stream:e,resolve:A,reject:s,length:0,body:[]};e.on("error",(function(e){consumeFinish(this[c],e)})).on("close",(function(){if(this[c].body!==null){consumeFinish(this[c],new r)}}));process.nextTick(consumeStart,e[c])}))}function consumeStart(e){if(e.body===null){return}const{_readableState:t}=e.stream;for(const A of t.buffer){consumePush(e,A)}if(t.endEmitted){consumeEnd(this[c])}else{e.stream.on("end",(function(){consumeEnd(this[c])}))}e.stream.resume();while(e.stream.read()!=null){}}function consumeEnd(e){const{type:t,body:s,resolve:i,stream:r,length:a}=e;try{if(t==="text"){i(d(Buffer.concat(s)))}else if(t==="json"){i(JSON.parse(Buffer.concat(s)))}else if(t==="arrayBuffer"){const e=new Uint8Array(a);let t=0;for(const A of s){e.set(A,t);t+=A.byteLength}i(e.buffer)}else if(t==="blob"){if(!l){l=A(4300).Blob}i(new l(s,{type:r[E]}))}consumeFinish(e)}catch(e){r.destroy(e)}}function consumePush(e,t){e.length+=t.length;e.body.push(t)}function consumeFinish(e,t){if(e.body===null){return}if(t){e.reject(t)}else{e.resolve()}e.type=null;e.stream=null;e.resolve=null;e.reject=null;e.length=0;e.body=null}},7474:(e,t,A)=>{const s=A(9491);const{ResponseStatusCodeError:i}=A(8045);const{toUSVString:r}=A(3983);async function getResolveErrorBodyCallback({callback:e,body:t,contentType:A,statusCode:a,statusMessage:o,headers:n}){s(t);let p=[];let d=0;for await(const e of t){p.push(e);d+=e.length;if(d>128*1024){p=null;break}}if(a===204||!A||!p){process.nextTick(e,new i(`Response status code ${a}${o?`: ${o}`:""}`,a,n));return}try{if(A.startsWith("application/json")){const t=JSON.parse(r(Buffer.concat(p)));process.nextTick(e,new i(`Response status code ${a}${o?`: ${o}`:""}`,a,n,t));return}if(A.startsWith("text/")){const t=r(Buffer.concat(p));process.nextTick(e,new i(`Response status code ${a}${o?`: ${o}`:""}`,a,n,t));return}}catch(e){}process.nextTick(e,new i(`Response status code ${a}${o?`: ${o}`:""}`,a,n))}e.exports={getResolveErrorBodyCallback:getResolveErrorBodyCallback}},7931:(e,t,A)=>{"use strict";const{BalancedPoolMissingUpstreamError:s,InvalidArgumentError:i}=A(8045);const{PoolBase:r,kClients:a,kNeedDrain:o,kAddClient:n,kRemoveClient:p,kGetDispatcher:d}=A(3198);const l=A(4634);const{kUrl:c,kInterceptors:u}=A(2785);const{parseOrigin:h}=A(3983);const g=Symbol("factory");const E=Symbol("options");const C=Symbol("kGreatestCommonDivisor");const Q=Symbol("kCurrentWeight");const B=Symbol("kIndex");const I=Symbol("kWeight");const w=Symbol("kMaxWeightPerServer");const y=Symbol("kErrorPenalty");function getGreatestCommonDivisor(e,t){if(t===0)return e;return getGreatestCommonDivisor(t,e%t)}function defaultFactory(e,t){return new l(e,t)}class BalancedPool extends r{constructor(e=[],{factory:t=defaultFactory,...A}={}){super();this[E]=A;this[B]=-1;this[Q]=0;this[w]=this[E].maxWeightPerServer||100;this[y]=this[E].errorPenalty||15;if(!Array.isArray(e)){e=[e]}if(typeof t!=="function"){throw new i("factory must be a function.")}this[u]=A.interceptors&&A.interceptors.BalancedPool&&Array.isArray(A.interceptors.BalancedPool)?A.interceptors.BalancedPool:[];this[g]=t;for(const t of e){this.addUpstream(t)}this._updateBalancedPoolStats()}addUpstream(e){const t=h(e).origin;if(this[a].find((e=>e[c].origin===t&&e.closed!==true&&e.destroyed!==true))){return this}const A=this[g](t,Object.assign({},this[E]));this[n](A);A.on("connect",(()=>{A[I]=Math.min(this[w],A[I]+this[y])}));A.on("connectionError",(()=>{A[I]=Math.max(1,A[I]-this[y]);this._updateBalancedPoolStats()}));A.on("disconnect",((...e)=>{const t=e[2];if(t&&t.code==="UND_ERR_SOCKET"){A[I]=Math.max(1,A[I]-this[y]);this._updateBalancedPoolStats()}}));for(const e of this[a]){e[I]=this[w]}this._updateBalancedPoolStats();return this}_updateBalancedPoolStats(){this[C]=this[a].map((e=>e[I])).reduce(getGreatestCommonDivisor,0)}removeUpstream(e){const t=h(e).origin;const A=this[a].find((e=>e[c].origin===t&&e.closed!==true&&e.destroyed!==true));if(A){this[p](A)}return this}get upstreams(){return this[a].filter((e=>e.closed!==true&&e.destroyed!==true)).map((e=>e[c].origin))}[d](){if(this[a].length===0){throw new s}const e=this[a].find((e=>!e[o]&&e.closed!==true&&e.destroyed!==true));if(!e){return}const t=this[a].map((e=>e[o])).reduce(((e,t)=>e&&t),true);if(t){return}let A=0;let i=this[a].findIndex((e=>!e[o]));while(A++this[a][i][I]&&!e[o]){i=this[B]}if(this[B]===0){this[Q]=this[Q]-this[C];if(this[Q]<=0){this[Q]=this[w]}}if(e[I]>=this[Q]&&!e[o]){return e}}this[Q]=this[a][i][I];this[B]=i;return this[a][i]}}e.exports=BalancedPool},6101:(e,t,A)=>{"use strict";const{kConstruct:s}=A(9174);const{urlEquals:i,fieldValues:r}=A(2396);const{kEnumerableProperty:a,isDisturbed:o}=A(3983);const{kHeadersList:n}=A(2785);const{webidl:p}=A(1744);const{Response:d,cloneResponse:l}=A(7823);const{Request:c}=A(8359);const{kState:u,kHeaders:h,kGuard:g,kRealm:E}=A(5861);const{fetching:C}=A(4881);const{urlIsHttpHttpsScheme:Q,createDeferredPromise:B,readAllBytes:I}=A(2538);const w=A(9491);const{getGlobalDispatcher:y}=A(1892);class Cache{#e;constructor(){if(arguments[0]!==s){p.illegalConstructor()}this.#e=arguments[1]}async match(e,t={}){p.brandCheck(this,Cache);p.argumentLengthCheck(arguments,1,{header:"Cache.match"});e=p.converters.RequestInfo(e);t=p.converters.CacheQueryOptions(t);const A=await this.matchAll(e,t);if(A.length===0){return}return A[0]}async matchAll(e=undefined,t={}){p.brandCheck(this,Cache);if(e!==undefined)e=p.converters.RequestInfo(e);t=p.converters.CacheQueryOptions(t);let A=null;if(e!==undefined){if(e instanceof c){A=e[u];if(A.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){A=new c(e)[u]}}const s=[];if(e===undefined){for(const e of this.#e){s.push(e[1])}}else{const e=this.#t(A,t);for(const t of e){s.push(t[1])}}const i=[];for(const e of s){const t=new d(e.body?.source??null);const A=t[u].body;t[u]=e;t[u].body=A;t[h][n]=e.headersList;t[h][g]="immutable";i.push(t)}return Object.freeze(i)}async add(e){p.brandCheck(this,Cache);p.argumentLengthCheck(arguments,1,{header:"Cache.add"});e=p.converters.RequestInfo(e);const t=[e];const A=this.addAll(t);return await A}async addAll(e){p.brandCheck(this,Cache);p.argumentLengthCheck(arguments,1,{header:"Cache.addAll"});e=p.converters["sequence"](e);const t=[];const A=[];for(const t of e){if(typeof t==="string"){continue}const e=t[u];if(!Q(e.url)||e.method!=="GET"){throw p.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme when method is not GET."})}}const s=[];for(const i of e){const e=new c(i)[u];if(!Q(e.url)){throw p.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme."})}e.initiator="fetch";e.destination="subresource";A.push(e);const a=B();s.push(C({request:e,dispatcher:y(),processResponse(e){if(e.type==="error"||e.status===206||e.status<200||e.status>299){a.reject(p.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}))}else if(e.headersList.contains("vary")){const t=r(e.headersList.get("vary"));for(const e of t){if(e==="*"){a.reject(p.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(const e of s){e.abort()}return}}}},processResponseEndOfBody(e){if(e.aborted){a.reject(new DOMException("aborted","AbortError"));return}a.resolve(e)}}));t.push(a.promise)}const i=Promise.all(t);const a=await i;const o=[];let n=0;for(const e of a){const t={type:"put",request:A[n],response:e};o.push(t);n++}const d=B();let l=null;try{this.#A(o)}catch(e){l=e}queueMicrotask((()=>{if(l===null){d.resolve(undefined)}else{d.reject(l)}}));return d.promise}async put(e,t){p.brandCheck(this,Cache);p.argumentLengthCheck(arguments,2,{header:"Cache.put"});e=p.converters.RequestInfo(e);t=p.converters.Response(t);let A=null;if(e instanceof c){A=e[u]}else{A=new c(e)[u]}if(!Q(A.url)||A.method!=="GET"){throw p.errors.exception({header:"Cache.put",message:"Expected an http/s scheme when method is not GET"})}const s=t[u];if(s.status===206){throw p.errors.exception({header:"Cache.put",message:"Got 206 status"})}if(s.headersList.contains("vary")){const e=r(s.headersList.get("vary"));for(const t of e){if(t==="*"){throw p.errors.exception({header:"Cache.put",message:"Got * vary field value"})}}}if(s.body&&(o(s.body.stream)||s.body.stream.locked)){throw p.errors.exception({header:"Cache.put",message:"Response body is locked or disturbed"})}const i=l(s);const a=B();if(s.body!=null){const e=s.body.stream;const t=e.getReader();I(t).then(a.resolve,a.reject)}else{a.resolve(undefined)}const n=[];const d={type:"put",request:A,response:i};n.push(d);const h=await a.promise;if(i.body!=null){i.body.source=h}const g=B();let E=null;try{this.#A(n)}catch(e){E=e}queueMicrotask((()=>{if(E===null){g.resolve()}else{g.reject(E)}}));return g.promise}async delete(e,t={}){p.brandCheck(this,Cache);p.argumentLengthCheck(arguments,1,{header:"Cache.delete"});e=p.converters.RequestInfo(e);t=p.converters.CacheQueryOptions(t);let A=null;if(e instanceof c){A=e[u];if(A.method!=="GET"&&!t.ignoreMethod){return false}}else{w(typeof e==="string");A=new c(e)[u]}const s=[];const i={type:"delete",request:A,options:t};s.push(i);const r=B();let a=null;let o;try{o=this.#A(s)}catch(e){a=e}queueMicrotask((()=>{if(a===null){r.resolve(!!o?.length)}else{r.reject(a)}}));return r.promise}async keys(e=undefined,t={}){p.brandCheck(this,Cache);if(e!==undefined)e=p.converters.RequestInfo(e);t=p.converters.CacheQueryOptions(t);let A=null;if(e!==undefined){if(e instanceof c){A=e[u];if(A.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){A=new c(e)[u]}}const s=B();const i=[];if(e===undefined){for(const e of this.#e){i.push(e[0])}}else{const e=this.#t(A,t);for(const t of e){i.push(t[0])}}queueMicrotask((()=>{const e=[];for(const t of i){const A=new c("https://a");A[u]=t;A[h][n]=t.headersList;A[h][g]="immutable";A[E]=t.client;e.push(A)}s.resolve(Object.freeze(e))}));return s.promise}#A(e){const t=this.#e;const A=[...t];const s=[];const i=[];try{for(const A of e){if(A.type!=="delete"&&A.type!=="put"){throw p.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'})}if(A.type==="delete"&&A.response!=null){throw p.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"})}if(this.#t(A.request,A.options,s).length){throw new DOMException("???","InvalidStateError")}let e;if(A.type==="delete"){e=this.#t(A.request,A.options);if(e.length===0){return[]}for(const A of e){const e=t.indexOf(A);w(e!==-1);t.splice(e,1)}}else if(A.type==="put"){if(A.response==null){throw p.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"})}const i=A.request;if(!Q(i.url)){throw p.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"})}if(i.method!=="GET"){throw p.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"})}if(A.options!=null){throw p.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"})}e=this.#t(A.request);for(const A of e){const e=t.indexOf(A);w(e!==-1);t.splice(e,1)}t.push([A.request,A.response]);s.push([A.request,A.response])}i.push([A.request,A.response])}return i}catch(e){this.#e.length=0;this.#e=A;throw e}}#t(e,t,A){const s=[];const i=A??this.#e;for(const A of i){const[i,r]=A;if(this.#s(e,i,r,t)){s.push(A)}}return s}#s(e,t,A=null,s){const a=new URL(e.url);const o=new URL(t.url);if(s?.ignoreSearch){o.search="";a.search=""}if(!i(a,o,true)){return false}if(A==null||s?.ignoreVary||!A.headersList.contains("vary")){return true}const n=r(A.headersList.get("vary"));for(const A of n){if(A==="*"){return false}const s=t.headersList.get(A);const i=e.headersList.get(A);if(s!==i){return false}}return true}}Object.defineProperties(Cache.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:true},match:a,matchAll:a,add:a,addAll:a,put:a,delete:a,keys:a});const v=[{key:"ignoreSearch",converter:p.converters.boolean,defaultValue:false},{key:"ignoreMethod",converter:p.converters.boolean,defaultValue:false},{key:"ignoreVary",converter:p.converters.boolean,defaultValue:false}];p.converters.CacheQueryOptions=p.dictionaryConverter(v);p.converters.MultiCacheQueryOptions=p.dictionaryConverter([...v,{key:"cacheName",converter:p.converters.DOMString}]);p.converters.Response=p.interfaceConverter(d);p.converters["sequence"]=p.sequenceConverter(p.converters.RequestInfo);e.exports={Cache:Cache}},7907:(e,t,A)=>{"use strict";const{kConstruct:s}=A(9174);const{Cache:i}=A(6101);const{webidl:r}=A(1744);const{kEnumerableProperty:a}=A(3983);class CacheStorage{#i=new Map;constructor(){if(arguments[0]!==s){r.illegalConstructor()}}async match(e,t={}){r.brandCheck(this,CacheStorage);r.argumentLengthCheck(arguments,1,{header:"CacheStorage.match"});e=r.converters.RequestInfo(e);t=r.converters.MultiCacheQueryOptions(t);if(t.cacheName!=null){if(this.#i.has(t.cacheName)){const A=this.#i.get(t.cacheName);const r=new i(s,A);return await r.match(e,t)}}else{for(const A of this.#i.values()){const r=new i(s,A);const a=await r.match(e,t);if(a!==undefined){return a}}}}async has(e){r.brandCheck(this,CacheStorage);r.argumentLengthCheck(arguments,1,{header:"CacheStorage.has"});e=r.converters.DOMString(e);return this.#i.has(e)}async open(e){r.brandCheck(this,CacheStorage);r.argumentLengthCheck(arguments,1,{header:"CacheStorage.open"});e=r.converters.DOMString(e);if(this.#i.has(e)){const t=this.#i.get(e);return new i(s,t)}const t=[];this.#i.set(e,t);return new i(s,t)}async delete(e){r.brandCheck(this,CacheStorage);r.argumentLengthCheck(arguments,1,{header:"CacheStorage.delete"});e=r.converters.DOMString(e);return this.#i.delete(e)}async keys(){r.brandCheck(this,CacheStorage);const e=this.#i.keys();return[...e]}}Object.defineProperties(CacheStorage.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:true},match:a,has:a,open:a,delete:a,keys:a});e.exports={CacheStorage:CacheStorage}},9174:(e,t,A)=>{"use strict";e.exports={kConstruct:A(2785).kConstruct}},2396:(e,t,A)=>{"use strict";const s=A(9491);const{URLSerializer:i}=A(685);const{isValidHeaderName:r}=A(2538);function urlEquals(e,t,A=false){const s=i(e,A);const r=i(t,A);return s===r}function fieldValues(e){s(e!==null);const t=[];for(let A of e.split(",")){A=A.trim();if(!A.length){continue}else if(!r(A)){continue}t.push(A)}return t}e.exports={urlEquals:urlEquals,fieldValues:fieldValues}},3598:(e,t,A)=>{"use strict";const s=A(9491);const i=A(1808);const r=A(3685);const{pipeline:a}=A(2781);const o=A(3983);const n=A(9459);const p=A(2905);const d=A(4839);const{RequestContentLengthMismatchError:l,ResponseContentLengthMismatchError:c,InvalidArgumentError:u,RequestAbortedError:h,HeadersTimeoutError:g,HeadersOverflowError:E,SocketError:C,InformationalError:Q,BodyTimeoutError:B,HTTPParserError:I,ResponseExceededMaxSizeError:w,ClientDestroyedError:y}=A(8045);const v=A(2067);const{kUrl:b,kReset:D,kServerName:R,kClient:k,kBusy:S,kParser:F,kConnect:N,kBlocking:T,kResuming:U,kRunning:L,kPending:_,kSize:M,kWriting:x,kQueue:G,kConnected:V,kConnecting:P,kNeedDrain:O,kNoRef:H,kKeepAliveDefaultTimeout:Y,kHostHeader:J,kPendingIdx:q,kRunningIdx:W,kError:j,kPipelining:z,kSocket:Z,kKeepAliveTimeoutValue:X,kMaxHeadersSize:K,kKeepAliveMaxTimeout:$,kKeepAliveTimeoutThreshold:ee,kHeadersTimeout:te,kBodyTimeout:Ae,kStrictContentLength:se,kConnector:ie,kMaxRedirections:re,kMaxRequests:ae,kCounter:oe,kClose:ne,kDestroy:pe,kDispatch:de,kInterceptors:le,kLocalAddress:ce,kMaxResponseSize:ue,kHTTPConnVersion:he,kHost:ge,kHTTP2Session:me,kHTTP2SessionState:Ee,kHTTP2BuildRequest:fe,kHTTP2CopyHeaders:Ce,kHTTP1BuildRequest:Qe}=A(2785);let Be;try{Be=A(5158)}catch{Be={constants:{}}}const{constants:{HTTP2_HEADER_AUTHORITY:Ie,HTTP2_HEADER_METHOD:we,HTTP2_HEADER_PATH:ye,HTTP2_HEADER_SCHEME:ve,HTTP2_HEADER_CONTENT_LENGTH:be,HTTP2_HEADER_EXPECT:De,HTTP2_HEADER_STATUS:Re}}=Be;let ke=false;const Se=Buffer[Symbol.species];const Fe=Symbol("kClosedResolve");const Ne={};try{const e=A(7643);Ne.sendHeaders=e.channel("undici:client:sendHeaders");Ne.beforeConnect=e.channel("undici:client:beforeConnect");Ne.connectError=e.channel("undici:client:connectError");Ne.connected=e.channel("undici:client:connected")}catch{Ne.sendHeaders={hasSubscribers:false};Ne.beforeConnect={hasSubscribers:false};Ne.connectError={hasSubscribers:false};Ne.connected={hasSubscribers:false}}class Client extends d{constructor(e,{interceptors:t,maxHeaderSize:A,headersTimeout:s,socketTimeout:a,requestTimeout:n,connectTimeout:p,bodyTimeout:d,idleTimeout:l,keepAlive:c,keepAliveTimeout:h,maxKeepAliveTimeout:g,keepAliveMaxTimeout:E,keepAliveTimeoutThreshold:C,socketPath:Q,pipelining:B,tls:I,strictContentLength:w,maxCachedSessions:y,maxRedirections:D,connect:k,maxRequestsPerClient:S,localAddress:F,maxResponseSize:N,autoSelectFamily:T,autoSelectFamilyAttemptTimeout:L,allowH2:_,maxConcurrentStreams:M}={}){super();if(c!==undefined){throw new u("unsupported keepAlive, use pipelining=0 instead")}if(a!==undefined){throw new u("unsupported socketTimeout, use headersTimeout & bodyTimeout instead")}if(n!==undefined){throw new u("unsupported requestTimeout, use headersTimeout & bodyTimeout instead")}if(l!==undefined){throw new u("unsupported idleTimeout, use keepAliveTimeout instead")}if(g!==undefined){throw new u("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead")}if(A!=null&&!Number.isFinite(A)){throw new u("invalid maxHeaderSize")}if(Q!=null&&typeof Q!=="string"){throw new u("invalid socketPath")}if(p!=null&&(!Number.isFinite(p)||p<0)){throw new u("invalid connectTimeout")}if(h!=null&&(!Number.isFinite(h)||h<=0)){throw new u("invalid keepAliveTimeout")}if(E!=null&&(!Number.isFinite(E)||E<=0)){throw new u("invalid keepAliveMaxTimeout")}if(C!=null&&!Number.isFinite(C)){throw new u("invalid keepAliveTimeoutThreshold")}if(s!=null&&(!Number.isInteger(s)||s<0)){throw new u("headersTimeout must be a positive integer or zero")}if(d!=null&&(!Number.isInteger(d)||d<0)){throw new u("bodyTimeout must be a positive integer or zero")}if(k!=null&&typeof k!=="function"&&typeof k!=="object"){throw new u("connect must be a function or an object")}if(D!=null&&(!Number.isInteger(D)||D<0)){throw new u("maxRedirections must be a positive number")}if(S!=null&&(!Number.isInteger(S)||S<0)){throw new u("maxRequestsPerClient must be a positive number")}if(F!=null&&(typeof F!=="string"||i.isIP(F)===0)){throw new u("localAddress must be valid string IP address")}if(N!=null&&(!Number.isInteger(N)||N<-1)){throw new u("maxResponseSize must be a positive number")}if(L!=null&&(!Number.isInteger(L)||L<-1)){throw new u("autoSelectFamilyAttemptTimeout must be a positive number")}if(_!=null&&typeof _!=="boolean"){throw new u("allowH2 must be a valid boolean value")}if(M!=null&&(typeof M!=="number"||M<1)){throw new u("maxConcurrentStreams must be a possitive integer, greater than 0")}if(typeof k!=="function"){k=v({...I,maxCachedSessions:y,allowH2:_,socketPath:Q,timeout:p,...o.nodeHasAutoSelectFamily&&T?{autoSelectFamily:T,autoSelectFamilyAttemptTimeout:L}:undefined,...k})}this[le]=t&&t.Client&&Array.isArray(t.Client)?t.Client:[Ue({maxRedirections:D})];this[b]=o.parseOrigin(e);this[ie]=k;this[Z]=null;this[z]=B!=null?B:1;this[K]=A||r.maxHeaderSize;this[Y]=h==null?4e3:h;this[$]=E==null?6e5:E;this[ee]=C==null?1e3:C;this[X]=this[Y];this[R]=null;this[ce]=F!=null?F:null;this[U]=0;this[O]=0;this[J]=`host: ${this[b].hostname}${this[b].port?`:${this[b].port}`:""}\r\n`;this[Ae]=d!=null?d:3e5;this[te]=s!=null?s:3e5;this[se]=w==null?true:w;this[re]=D;this[ae]=S;this[Fe]=null;this[ue]=N>-1?N:-1;this[he]="h1";this[me]=null;this[Ee]=!_?null:{openStreams:0,maxConcurrentStreams:M!=null?M:100};this[ge]=`${this[b].hostname}${this[b].port?`:${this[b].port}`:""}`;this[G]=[];this[W]=0;this[q]=0}get pipelining(){return this[z]}set pipelining(e){this[z]=e;resume(this,true)}get[_](){return this[G].length-this[q]}get[L](){return this[q]-this[W]}get[M](){return this[G].length-this[W]}get[V](){return!!this[Z]&&!this[P]&&!this[Z].destroyed}get[S](){const e=this[Z];return e&&(e[D]||e[x]||e[T])||this[M]>=(this[z]||1)||this[_]>0}[N](e){connect(this);this.once("connect",e)}[de](e,t){const A=e.origin||this[b].origin;const s=this[he]==="h2"?p[fe](A,e,t):p[Qe](A,e,t);this[G].push(s);if(this[U]){}else if(o.bodyLength(s.body)==null&&o.isIterable(s.body)){this[U]=1;process.nextTick(resume,this)}else{resume(this,true)}if(this[U]&&this[O]!==2&&this[S]){this[O]=2}return this[O]<2}async[ne](){return new Promise((e=>{if(!this[M]){e(null)}else{this[Fe]=e}}))}async[pe](e){return new Promise((t=>{const A=this[G].splice(this[q]);for(let t=0;t{if(this[Fe]){this[Fe]();this[Fe]=null}t()};if(this[me]!=null){o.destroy(this[me],e);this[me]=null;this[Ee]=null}if(!this[Z]){queueMicrotask(callback)}else{o.destroy(this[Z].on("close",callback),e)}resume(this)}))}}function onHttp2SessionError(e){s(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID");this[Z][j]=e;onError(this[k],e)}function onHttp2FrameError(e,t,A){const s=new Q(`HTTP/2: "frameError" received - type ${e}, code ${t}`);if(A===0){this[Z][j]=s;onError(this[k],s)}}function onHttp2SessionEnd(){o.destroy(this,new C("other side closed"));o.destroy(this[Z],new C("other side closed"))}function onHTTP2GoAway(e){const t=this[k];const A=new Q(`HTTP/2: "GOAWAY" frame received with code ${e}`);t[Z]=null;t[me]=null;if(t.destroyed){s(this[_]===0);const e=t[G].splice(t[W]);for(let t=0;t0){const e=t[G][t[W]];t[G][t[W]++]=null;errorRequest(t,e,A)}t[q]=t[W];s(t[L]===0);t.emit("disconnect",t[b],[t],A);resume(t)}const Te=A(953);const Ue=A(8861);const Le=Buffer.alloc(0);async function lazyllhttp(){const e=process.env.JEST_WORKER_ID?A(1145):undefined;let t;try{t=await WebAssembly.compile(Buffer.from(A(5627),"base64"))}catch(s){t=await WebAssembly.compile(Buffer.from(e||A(1145),"base64"))}return await WebAssembly.instantiate(t,{env:{wasm_on_url:(e,t,A)=>0,wasm_on_status:(e,t,A)=>{s.strictEqual(xe.ptr,e);const i=t-Pe+Ge.byteOffset;return xe.onStatus(new Se(Ge.buffer,i,A))||0},wasm_on_message_begin:e=>{s.strictEqual(xe.ptr,e);return xe.onMessageBegin()||0},wasm_on_header_field:(e,t,A)=>{s.strictEqual(xe.ptr,e);const i=t-Pe+Ge.byteOffset;return xe.onHeaderField(new Se(Ge.buffer,i,A))||0},wasm_on_header_value:(e,t,A)=>{s.strictEqual(xe.ptr,e);const i=t-Pe+Ge.byteOffset;return xe.onHeaderValue(new Se(Ge.buffer,i,A))||0},wasm_on_headers_complete:(e,t,A,i)=>{s.strictEqual(xe.ptr,e);return xe.onHeadersComplete(t,Boolean(A),Boolean(i))||0},wasm_on_body:(e,t,A)=>{s.strictEqual(xe.ptr,e);const i=t-Pe+Ge.byteOffset;return xe.onBody(new Se(Ge.buffer,i,A))||0},wasm_on_message_complete:e=>{s.strictEqual(xe.ptr,e);return xe.onMessageComplete()||0}}})}let _e=null;let Me=lazyllhttp();Me.catch();let xe=null;let Ge=null;let Ve=0;let Pe=null;const Oe=1;const He=2;const Ye=3;class Parser{constructor(e,t,{exports:A}){s(Number.isFinite(e[K])&&e[K]>0);this.llhttp=A;this.ptr=this.llhttp.llhttp_alloc(Te.TYPE.RESPONSE);this.client=e;this.socket=t;this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.statusCode=null;this.statusText="";this.upgrade=false;this.headers=[];this.headersSize=0;this.headersMaxSize=e[K];this.shouldKeepAlive=false;this.paused=false;this.resume=this.resume.bind(this);this.bytesRead=0;this.keepAlive="";this.contentLength="";this.connection="";this.maxResponseSize=e[ue]}setTimeout(e,t){this.timeoutType=t;if(e!==this.timeoutValue){n.clearTimeout(this.timeout);if(e){this.timeout=n.setTimeout(onParserTimeout,e,this);if(this.timeout.unref){this.timeout.unref()}}else{this.timeout=null}this.timeoutValue=e}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}}resume(){if(this.socket.destroyed||!this.paused){return}s(this.ptr!=null);s(xe==null);this.llhttp.llhttp_resume(this.ptr);s(this.timeoutType===He);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}this.paused=false;this.execute(this.socket.read()||Le);this.readMore()}readMore(){while(!this.paused&&this.ptr){const e=this.socket.read();if(e===null){break}this.execute(e)}}execute(e){s(this.ptr!=null);s(xe==null);s(!this.paused);const{socket:t,llhttp:A}=this;if(e.length>Ve){if(Pe){A.free(Pe)}Ve=Math.ceil(e.length/4096)*4096;Pe=A.malloc(Ve)}new Uint8Array(A.memory.buffer,Pe,Ve).set(e);try{let s;try{Ge=e;xe=this;s=A.llhttp_execute(this.ptr,Pe,e.length)}catch(e){throw e}finally{xe=null;Ge=null}const i=A.llhttp_get_error_pos(this.ptr)-Pe;if(s===Te.ERROR.PAUSED_UPGRADE){this.onUpgrade(e.slice(i))}else if(s===Te.ERROR.PAUSED){this.paused=true;t.unshift(e.slice(i))}else if(s!==Te.ERROR.OK){const t=A.llhttp_get_error_reason(this.ptr);let r="";if(t){const e=new Uint8Array(A.memory.buffer,t).indexOf(0);r="Response does not match the HTTP/1.1 protocol ("+Buffer.from(A.memory.buffer,t,e).toString()+")"}throw new I(r,Te.ERROR[s],e.slice(i))}}catch(e){o.destroy(t,e)}}destroy(){s(this.ptr!=null);s(xe==null);this.llhttp.llhttp_free(this.ptr);this.ptr=null;n.clearTimeout(this.timeout);this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.paused=false}onStatus(e){this.statusText=e.toString()}onMessageBegin(){const{socket:e,client:t}=this;if(e.destroyed){return-1}const A=t[G][t[W]];if(!A){return-1}}onHeaderField(e){const t=this.headers.length;if((t&1)===0){this.headers.push(e)}else{this.headers[t-1]=Buffer.concat([this.headers[t-1],e])}this.trackHeader(e.length)}onHeaderValue(e){let t=this.headers.length;if((t&1)===1){this.headers.push(e);t+=1}else{this.headers[t-1]=Buffer.concat([this.headers[t-1],e])}const A=this.headers[t-2];if(A.length===10&&A.toString().toLowerCase()==="keep-alive"){this.keepAlive+=e.toString()}else if(A.length===10&&A.toString().toLowerCase()==="connection"){this.connection+=e.toString()}else if(A.length===14&&A.toString().toLowerCase()==="content-length"){this.contentLength+=e.toString()}this.trackHeader(e.length)}trackHeader(e){this.headersSize+=e;if(this.headersSize>=this.headersMaxSize){o.destroy(this.socket,new E)}}onUpgrade(e){const{upgrade:t,client:A,socket:i,headers:r,statusCode:a}=this;s(t);const n=A[G][A[W]];s(n);s(!i.destroyed);s(i===A[Z]);s(!this.paused);s(n.upgrade||n.method==="CONNECT");this.statusCode=null;this.statusText="";this.shouldKeepAlive=null;s(this.headers.length%2===0);this.headers=[];this.headersSize=0;i.unshift(e);i[F].destroy();i[F]=null;i[k]=null;i[j]=null;i.removeListener("error",onSocketError).removeListener("readable",onSocketReadable).removeListener("end",onSocketEnd).removeListener("close",onSocketClose);A[Z]=null;A[G][A[W]++]=null;A.emit("disconnect",A[b],[A],new Q("upgrade"));try{n.onUpgrade(a,r,i)}catch(e){o.destroy(i,e)}resume(A)}onHeadersComplete(e,t,A){const{client:i,socket:r,headers:a,statusText:n}=this;if(r.destroyed){return-1}const p=i[G][i[W]];if(!p){return-1}s(!this.upgrade);s(this.statusCode<200);if(e===100){o.destroy(r,new C("bad response",o.getSocketInfo(r)));return-1}if(t&&!p.upgrade){o.destroy(r,new C("bad upgrade",o.getSocketInfo(r)));return-1}s.strictEqual(this.timeoutType,Oe);this.statusCode=e;this.shouldKeepAlive=A||p.method==="HEAD"&&!r[D]&&this.connection.toLowerCase()==="keep-alive";if(this.statusCode>=200){const e=p.bodyTimeout!=null?p.bodyTimeout:i[Ae];this.setTimeout(e,He)}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}if(p.method==="CONNECT"){s(i[L]===1);this.upgrade=true;return 2}if(t){s(i[L]===1);this.upgrade=true;return 2}s(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(this.shouldKeepAlive&&i[z]){const e=this.keepAlive?o.parseKeepAliveTimeout(this.keepAlive):null;if(e!=null){const t=Math.min(e-i[ee],i[$]);if(t<=0){r[D]=true}else{i[X]=t}}else{i[X]=i[Y]}}else{r[D]=true}const d=p.onHeaders(e,a,this.resume,n)===false;if(p.aborted){return-1}if(p.method==="HEAD"){return 1}if(e<200){return 1}if(r[T]){r[T]=false;resume(i)}return d?Te.ERROR.PAUSED:0}onBody(e){const{client:t,socket:A,statusCode:i,maxResponseSize:r}=this;if(A.destroyed){return-1}const a=t[G][t[W]];s(a);s.strictEqual(this.timeoutType,He);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}s(i>=200);if(r>-1&&this.bytesRead+e.length>r){o.destroy(A,new w);return-1}this.bytesRead+=e.length;if(a.onData(e)===false){return Te.ERROR.PAUSED}}onMessageComplete(){const{client:e,socket:t,statusCode:A,upgrade:i,headers:r,contentLength:a,bytesRead:n,shouldKeepAlive:p}=this;if(t.destroyed&&(!A||p)){return-1}if(i){return}const d=e[G][e[W]];s(d);s(A>=100);this.statusCode=null;this.statusText="";this.bytesRead=0;this.contentLength="";this.keepAlive="";this.connection="";s(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(A<200){return}if(d.method!=="HEAD"&&a&&n!==parseInt(a,10)){o.destroy(t,new c);return-1}d.onComplete(r);e[G][e[W]++]=null;if(t[x]){s.strictEqual(e[L],0);o.destroy(t,new Q("reset"));return Te.ERROR.PAUSED}else if(!p){o.destroy(t,new Q("reset"));return Te.ERROR.PAUSED}else if(t[D]&&e[L]===0){o.destroy(t,new Q("reset"));return Te.ERROR.PAUSED}else if(e[z]===1){setImmediate(resume,e)}else{resume(e)}}}function onParserTimeout(e){const{socket:t,timeoutType:A,client:i}=e;if(A===Oe){if(!t[x]||t.writableNeedDrain||i[L]>1){s(!e.paused,"cannot be paused while waiting for headers");o.destroy(t,new g)}}else if(A===He){if(!e.paused){o.destroy(t,new B)}}else if(A===Ye){s(i[L]===0&&i[X]);o.destroy(t,new Q("socket idle timeout"))}}function onSocketReadable(){const{[F]:e}=this;if(e){e.readMore()}}function onSocketError(e){const{[k]:t,[F]:A}=this;s(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID");if(t[he]!=="h2"){if(e.code==="ECONNRESET"&&A.statusCode&&!A.shouldKeepAlive){A.onMessageComplete();return}}this[j]=e;onError(this[k],e)}function onError(e,t){if(e[L]===0&&t.code!=="UND_ERR_INFO"&&t.code!=="UND_ERR_SOCKET"){s(e[q]===e[W]);const A=e[G].splice(e[W]);for(let s=0;s0&&A.code!=="UND_ERR_INFO"){const t=e[G][e[W]];e[G][e[W]++]=null;errorRequest(e,t,A)}e[q]=e[W];s(e[L]===0);e.emit("disconnect",e[b],[e],A);resume(e)}async function connect(e){s(!e[P]);s(!e[Z]);let{host:t,hostname:A,protocol:r,port:a}=e[b];if(A[0]==="["){const e=A.indexOf("]");s(e!==-1);const t=A.substring(1,e);s(i.isIP(t));A=t}e[P]=true;if(Ne.beforeConnect.hasSubscribers){Ne.beforeConnect.publish({connectParams:{host:t,hostname:A,protocol:r,port:a,servername:e[R],localAddress:e[ce]},connector:e[ie]})}try{const i=await new Promise(((s,i)=>{e[ie]({host:t,hostname:A,protocol:r,port:a,servername:e[R],localAddress:e[ce]},((e,t)=>{if(e){i(e)}else{s(t)}}))}));if(e.destroyed){o.destroy(i.on("error",(()=>{})),new y);return}e[P]=false;s(i);const n=i.alpnProtocol==="h2";if(n){if(!ke){ke=true;process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"})}const t=Be.connect(e[b],{createConnection:()=>i,peerMaxConcurrentStreams:e[Ee].maxConcurrentStreams});e[he]="h2";t[k]=e;t[Z]=i;t.on("error",onHttp2SessionError);t.on("frameError",onHttp2FrameError);t.on("end",onHttp2SessionEnd);t.on("goaway",onHTTP2GoAway);t.on("close",onSocketClose);t.unref();e[me]=t;i[me]=t}else{if(!_e){_e=await Me;Me=null}i[H]=false;i[x]=false;i[D]=false;i[T]=false;i[F]=new Parser(e,i,_e)}i[oe]=0;i[ae]=e[ae];i[k]=e;i[j]=null;i.on("error",onSocketError).on("readable",onSocketReadable).on("end",onSocketEnd).on("close",onSocketClose);e[Z]=i;if(Ne.connected.hasSubscribers){Ne.connected.publish({connectParams:{host:t,hostname:A,protocol:r,port:a,servername:e[R],localAddress:e[ce]},connector:e[ie],socket:i})}e.emit("connect",e[b],[e])}catch(i){if(e.destroyed){return}e[P]=false;if(Ne.connectError.hasSubscribers){Ne.connectError.publish({connectParams:{host:t,hostname:A,protocol:r,port:a,servername:e[R],localAddress:e[ce]},connector:e[ie],error:i})}if(i.code==="ERR_TLS_CERT_ALTNAME_INVALID"){s(e[L]===0);while(e[_]>0&&e[G][e[q]].servername===e[R]){const t=e[G][e[q]++];errorRequest(e,t,i)}}else{onError(e,i)}e.emit("connectionError",e[b],[e],i)}resume(e)}function emitDrain(e){e[O]=0;e.emit("drain",e[b],[e])}function resume(e,t){if(e[U]===2){return}e[U]=2;_resume(e,t);e[U]=0;if(e[W]>256){e[G].splice(0,e[W]);e[q]-=e[W];e[W]=0}}function _resume(e,t){while(true){if(e.destroyed){s(e[_]===0);return}if(e[Fe]&&!e[M]){e[Fe]();e[Fe]=null;return}const A=e[Z];if(A&&!A.destroyed&&A.alpnProtocol!=="h2"){if(e[M]===0){if(!A[H]&&A.unref){A.unref();A[H]=true}}else if(A[H]&&A.ref){A.ref();A[H]=false}if(e[M]===0){if(A[F].timeoutType!==Ye){A[F].setTimeout(e[X],Ye)}}else if(e[L]>0&&A[F].statusCode<200){if(A[F].timeoutType!==Oe){const t=e[G][e[W]];const s=t.headersTimeout!=null?t.headersTimeout:e[te];A[F].setTimeout(s,Oe)}}}if(e[S]){e[O]=2}else if(e[O]===2){if(t){e[O]=1;process.nextTick(emitDrain,e)}else{emitDrain(e)}continue}if(e[_]===0){return}if(e[L]>=(e[z]||1)){return}const i=e[G][e[q]];if(e[b].protocol==="https:"&&e[R]!==i.servername){if(e[L]>0){return}e[R]=i.servername;if(A&&A.servername!==i.servername){o.destroy(A,new Q("servername changed"));return}}if(e[P]){return}if(!A&&!e[me]){connect(e);return}if(A.destroyed||A[x]||A[D]||A[T]){return}if(e[L]>0&&!i.idempotent){return}if(e[L]>0&&(i.upgrade||i.method==="CONNECT")){return}if(e[L]>0&&o.bodyLength(i.body)!==0&&(o.isStream(i.body)||o.isAsyncIterable(i.body))){return}if(!i.aborted&&write(e,i)){e[q]++}else{e[G].splice(e[q],1)}}}function shouldSendContentLength(e){return e!=="GET"&&e!=="HEAD"&&e!=="OPTIONS"&&e!=="TRACE"&&e!=="CONNECT"}function write(e,t){if(e[he]==="h2"){writeH2(e,e[me],t);return}const{body:A,method:i,path:r,host:a,upgrade:n,headers:p,blocking:d,reset:c}=t;const u=i==="PUT"||i==="POST"||i==="PATCH";if(A&&typeof A.read==="function"){A.read(0)}const g=o.bodyLength(A);let E=g;if(E===null){E=t.contentLength}if(E===0&&!u){E=null}if(shouldSendContentLength(i)&&E>0&&t.contentLength!==null&&t.contentLength!==E){if(e[se]){errorRequest(e,t,new l);return false}process.emitWarning(new l)}const C=e[Z];try{t.onConnect((A=>{if(t.aborted||t.completed){return}errorRequest(e,t,A||new h);o.destroy(C,new Q("aborted"))}))}catch(A){errorRequest(e,t,A)}if(t.aborted){return false}if(i==="HEAD"){C[D]=true}if(n||i==="CONNECT"){C[D]=true}if(c!=null){C[D]=c}if(e[ae]&&C[oe]++>=e[ae]){C[D]=true}if(d){C[T]=true}let B=`${i} ${r} HTTP/1.1\r\n`;if(typeof a==="string"){B+=`host: ${a}\r\n`}else{B+=e[J]}if(n){B+=`connection: upgrade\r\nupgrade: ${n}\r\n`}else if(e[z]&&!C[D]){B+="connection: keep-alive\r\n"}else{B+="connection: close\r\n"}if(p){B+=p}if(Ne.sendHeaders.hasSubscribers){Ne.sendHeaders.publish({request:t,headers:B,socket:C})}if(!A||g===0){if(E===0){C.write(`${B}content-length: 0\r\n\r\n`,"latin1")}else{s(E===null,"no body must not have content length");C.write(`${B}\r\n`,"latin1")}t.onRequestSent()}else if(o.isBuffer(A)){s(E===A.byteLength,"buffer body must have content length");C.cork();C.write(`${B}content-length: ${E}\r\n\r\n`,"latin1");C.write(A);C.uncork();t.onBodySent(A);t.onRequestSent();if(!u){C[D]=true}}else if(o.isBlobLike(A)){if(typeof A.stream==="function"){writeIterable({body:A.stream(),client:e,request:t,socket:C,contentLength:E,header:B,expectsPayload:u})}else{writeBlob({body:A,client:e,request:t,socket:C,contentLength:E,header:B,expectsPayload:u})}}else if(o.isStream(A)){writeStream({body:A,client:e,request:t,socket:C,contentLength:E,header:B,expectsPayload:u})}else if(o.isIterable(A)){writeIterable({body:A,client:e,request:t,socket:C,contentLength:E,header:B,expectsPayload:u})}else{s(false)}return true}function writeH2(e,t,A){const{body:i,method:r,path:a,host:n,upgrade:d,expectContinue:c,signal:u,headers:g}=A;let E;if(typeof g==="string")E=p[Ce](g.trim());else E=g;if(d){errorRequest(e,A,new Error("Upgrade not supported for H2"));return false}try{A.onConnect((t=>{if(A.aborted||A.completed){return}errorRequest(e,A,t||new h)}))}catch(t){errorRequest(e,A,t)}if(A.aborted){return false}let C;const B=e[Ee];E[Ie]=n||e[ge];E[we]=r;if(r==="CONNECT"){t.ref();C=t.request(E,{endStream:false,signal:u});if(C.id&&!C.pending){A.onUpgrade(null,null,C);++B.openStreams}else{C.once("ready",(()=>{A.onUpgrade(null,null,C);++B.openStreams}))}C.once("close",(()=>{B.openStreams-=1;if(B.openStreams===0)t.unref()}));return true}E[ye]=a;E[ve]="https";const I=r==="PUT"||r==="POST"||r==="PATCH";if(i&&typeof i.read==="function"){i.read(0)}let w=o.bodyLength(i);if(w==null){w=A.contentLength}if(w===0||!I){w=null}if(shouldSendContentLength(r)&&w>0&&A.contentLength!=null&&A.contentLength!==w){if(e[se]){errorRequest(e,A,new l);return false}process.emitWarning(new l)}if(w!=null){s(i,"no body must not have content length");E[be]=`${w}`}t.ref();const y=r==="GET"||r==="HEAD";if(c){E[De]="100-continue";C=t.request(E,{endStream:y,signal:u});C.once("continue",writeBodyH2)}else{C=t.request(E,{endStream:y,signal:u});writeBodyH2()}++B.openStreams;C.once("response",(e=>{const{[Re]:t,...s}=e;if(A.onHeaders(Number(t),s,C.resume.bind(C),"")===false){C.pause()}}));C.once("end",(()=>{A.onComplete([])}));C.on("data",(e=>{if(A.onData(e)===false){C.pause()}}));C.once("close",(()=>{B.openStreams-=1;if(B.openStreams===0){t.unref()}}));C.once("error",(function(t){if(e[me]&&!e[me].destroyed&&!this.closed&&!this.destroyed){B.streams-=1;o.destroy(C,t)}}));C.once("frameError",((t,s)=>{const i=new Q(`HTTP/2: "frameError" received - type ${t}, code ${s}`);errorRequest(e,A,i);if(e[me]&&!e[me].destroyed&&!this.closed&&!this.destroyed){B.streams-=1;o.destroy(C,i)}}));return true;function writeBodyH2(){if(!i){A.onRequestSent()}else if(o.isBuffer(i)){s(w===i.byteLength,"buffer body must have content length");C.cork();C.write(i);C.uncork();C.end();A.onBodySent(i);A.onRequestSent()}else if(o.isBlobLike(i)){if(typeof i.stream==="function"){writeIterable({client:e,request:A,contentLength:w,h2stream:C,expectsPayload:I,body:i.stream(),socket:e[Z],header:""})}else{writeBlob({body:i,client:e,request:A,contentLength:w,expectsPayload:I,h2stream:C,header:"",socket:e[Z]})}}else if(o.isStream(i)){writeStream({body:i,client:e,request:A,contentLength:w,expectsPayload:I,socket:e[Z],h2stream:C,header:""})}else if(o.isIterable(i)){writeIterable({body:i,client:e,request:A,contentLength:w,expectsPayload:I,header:"",h2stream:C,socket:e[Z]})}else{s(false)}}}function writeStream({h2stream:e,body:t,client:A,request:i,socket:r,contentLength:n,header:p,expectsPayload:d}){s(n!==0||A[L]===0,"stream body cannot be pipelined");if(A[he]==="h2"){const u=a(t,e,(A=>{if(A){o.destroy(t,A);o.destroy(e,A)}else{i.onRequestSent()}}));u.on("data",onPipeData);u.once("end",(()=>{u.removeListener("data",onPipeData);o.destroy(u)}));function onPipeData(e){i.onBodySent(e)}return}let l=false;const c=new AsyncWriter({socket:r,request:i,contentLength:n,client:A,expectsPayload:d,header:p});const onData=function(e){if(l){return}try{if(!c.write(e)&&this.pause){this.pause()}}catch(e){o.destroy(this,e)}};const onDrain=function(){if(l){return}if(t.resume){t.resume()}};const onAbort=function(){if(l){return}const e=new h;queueMicrotask((()=>onFinished(e)))};const onFinished=function(e){if(l){return}l=true;s(r.destroyed||r[x]&&A[L]<=1);r.off("drain",onDrain).off("error",onFinished);t.removeListener("data",onData).removeListener("end",onFinished).removeListener("error",onFinished).removeListener("close",onAbort);if(!e){try{c.end()}catch(t){e=t}}c.destroy(e);if(e&&(e.code!=="UND_ERR_INFO"||e.message!=="reset")){o.destroy(t,e)}else{o.destroy(t)}};t.on("data",onData).on("end",onFinished).on("error",onFinished).on("close",onAbort);if(t.resume){t.resume()}r.on("drain",onDrain).on("error",onFinished)}async function writeBlob({h2stream:e,body:t,client:A,request:i,socket:r,contentLength:a,header:n,expectsPayload:p}){s(a===t.size,"blob body must have content length");const d=A[he]==="h2";try{if(a!=null&&a!==t.size){throw new l}const s=Buffer.from(await t.arrayBuffer());if(d){e.cork();e.write(s);e.uncork()}else{r.cork();r.write(`${n}content-length: ${a}\r\n\r\n`,"latin1");r.write(s);r.uncork()}i.onBodySent(s);i.onRequestSent();if(!p){r[D]=true}resume(A)}catch(t){o.destroy(d?e:r,t)}}async function writeIterable({h2stream:e,body:t,client:A,request:i,socket:r,contentLength:a,header:o,expectsPayload:n}){s(a!==0||A[L]===0,"iterator body cannot be pipelined");let p=null;function onDrain(){if(p){const e=p;p=null;e()}}const waitForDrain=()=>new Promise(((e,t)=>{s(p===null);if(r[j]){t(r[j])}else{p=e}}));if(A[he]==="h2"){e.on("close",onDrain).on("drain",onDrain);try{for await(const A of t){if(r[j]){throw r[j]}const t=e.write(A);i.onBodySent(A);if(!t){await waitForDrain()}}}catch(t){e.destroy(t)}finally{i.onRequestSent();e.end();e.off("close",onDrain).off("drain",onDrain)}return}r.on("close",onDrain).on("drain",onDrain);const d=new AsyncWriter({socket:r,request:i,contentLength:a,client:A,expectsPayload:n,header:o});try{for await(const e of t){if(r[j]){throw r[j]}if(!d.write(e)){await waitForDrain()}}d.end()}catch(e){d.destroy(e)}finally{r.off("close",onDrain).off("drain",onDrain)}}class AsyncWriter{constructor({socket:e,request:t,contentLength:A,client:s,expectsPayload:i,header:r}){this.socket=e;this.request=t;this.contentLength=A;this.client=s;this.bytesWritten=0;this.expectsPayload=i;this.header=r;e[x]=true}write(e){const{socket:t,request:A,contentLength:s,client:i,bytesWritten:r,expectsPayload:a,header:o}=this;if(t[j]){throw t[j]}if(t.destroyed){return false}const n=Buffer.byteLength(e);if(!n){return true}if(s!==null&&r+n>s){if(i[se]){throw new l}process.emitWarning(new l)}t.cork();if(r===0){if(!a){t[D]=true}if(s===null){t.write(`${o}transfer-encoding: chunked\r\n`,"latin1")}else{t.write(`${o}content-length: ${s}\r\n\r\n`,"latin1")}}if(s===null){t.write(`\r\n${n.toString(16)}\r\n`,"latin1")}this.bytesWritten+=n;const p=t.write(e);t.uncork();A.onBodySent(e);if(!p){if(t[F].timeout&&t[F].timeoutType===Oe){if(t[F].timeout.refresh){t[F].timeout.refresh()}}}return p}end(){const{socket:e,contentLength:t,client:A,bytesWritten:s,expectsPayload:i,header:r,request:a}=this;a.onRequestSent();e[x]=false;if(e[j]){throw e[j]}if(e.destroyed){return}if(s===0){if(i){e.write(`${r}content-length: 0\r\n\r\n`,"latin1")}else{e.write(`${r}\r\n`,"latin1")}}else if(t===null){e.write("\r\n0\r\n\r\n","latin1")}if(t!==null&&s!==t){if(A[se]){throw new l}else{process.emitWarning(new l)}}if(e[F].timeout&&e[F].timeoutType===Oe){if(e[F].timeout.refresh){e[F].timeout.refresh()}}resume(A)}destroy(e){const{socket:t,client:A}=this;t[x]=false;if(e){s(A[L]<=1,"pipeline should only contain this request");o.destroy(t,e)}}}function errorRequest(e,t,A){try{t.onError(A);s(t.aborted)}catch(A){e.emit("error",A)}}e.exports=Client},6436:(e,t,A)=>{"use strict";const{kConnected:s,kSize:i}=A(2785);class CompatWeakRef{constructor(e){this.value=e}deref(){return this.value[s]===0&&this.value[i]===0?undefined:this.value}}class CompatFinalizer{constructor(e){this.finalizer=e}register(e,t){if(e.on){e.on("disconnect",(()=>{if(e[s]===0&&e[i]===0){this.finalizer(t)}}))}}}e.exports=function(){if(process.env.NODE_V8_COVERAGE){return{WeakRef:CompatWeakRef,FinalizationRegistry:CompatFinalizer}}return{WeakRef:global.WeakRef||CompatWeakRef,FinalizationRegistry:global.FinalizationRegistry||CompatFinalizer}}},663:e=>{"use strict";const t=1024;const A=4096;e.exports={maxAttributeValueSize:t,maxNameValuePairSize:A}},1724:(e,t,A)=>{"use strict";const{parseSetCookie:s}=A(4408);const{stringify:i,getHeadersList:r}=A(3121);const{webidl:a}=A(1744);const{Headers:o}=A(554);function getCookies(e){a.argumentLengthCheck(arguments,1,{header:"getCookies"});a.brandCheck(e,o,{strict:false});const t=e.get("cookie");const A={};if(!t){return A}for(const e of t.split(";")){const[t,...s]=e.split("=");A[t.trim()]=s.join("=")}return A}function deleteCookie(e,t,A){a.argumentLengthCheck(arguments,2,{header:"deleteCookie"});a.brandCheck(e,o,{strict:false});t=a.converters.DOMString(t);A=a.converters.DeleteCookieAttributes(A);setCookie(e,{name:t,value:"",expires:new Date(0),...A})}function getSetCookies(e){a.argumentLengthCheck(arguments,1,{header:"getSetCookies"});a.brandCheck(e,o,{strict:false});const t=r(e).cookies;if(!t){return[]}return t.map((e=>s(Array.isArray(e)?e[1]:e)))}function setCookie(e,t){a.argumentLengthCheck(arguments,2,{header:"setCookie"});a.brandCheck(e,o,{strict:false});t=a.converters.Cookie(t);const A=i(t);if(A){e.append("Set-Cookie",i(t))}}a.converters.DeleteCookieAttributes=a.dictionaryConverter([{converter:a.nullableConverter(a.converters.DOMString),key:"path",defaultValue:null},{converter:a.nullableConverter(a.converters.DOMString),key:"domain",defaultValue:null}]);a.converters.Cookie=a.dictionaryConverter([{converter:a.converters.DOMString,key:"name"},{converter:a.converters.DOMString,key:"value"},{converter:a.nullableConverter((e=>{if(typeof e==="number"){return a.converters["unsigned long long"](e)}return new Date(e)})),key:"expires",defaultValue:null},{converter:a.nullableConverter(a.converters["long long"]),key:"maxAge",defaultValue:null},{converter:a.nullableConverter(a.converters.DOMString),key:"domain",defaultValue:null},{converter:a.nullableConverter(a.converters.DOMString),key:"path",defaultValue:null},{converter:a.nullableConverter(a.converters.boolean),key:"secure",defaultValue:null},{converter:a.nullableConverter(a.converters.boolean),key:"httpOnly",defaultValue:null},{converter:a.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:a.sequenceConverter(a.converters.DOMString),key:"unparsed",defaultValue:[]}]);e.exports={getCookies:getCookies,deleteCookie:deleteCookie,getSetCookies:getSetCookies,setCookie:setCookie}},4408:(e,t,A)=>{"use strict";const{maxNameValuePairSize:s,maxAttributeValueSize:i}=A(663);const{isCTLExcludingHtab:r}=A(3121);const{collectASequenceOfCodePointsFast:a}=A(685);const o=A(9491);function parseSetCookie(e){if(r(e)){return null}let t="";let A="";let i="";let o="";if(e.includes(";")){const s={position:0};t=a(";",e,s);A=e.slice(s.position)}else{t=e}if(!t.includes("=")){o=t}else{const e={position:0};i=a("=",t,e);o=t.slice(e.position+1)}i=i.trim();o=o.trim();if(i.length+o.length>s){return null}return{name:i,value:o,...parseUnparsedAttributes(A)}}function parseUnparsedAttributes(e,t={}){if(e.length===0){return t}o(e[0]===";");e=e.slice(1);let A="";if(e.includes(";")){A=a(";",e,{position:0});e=e.slice(A.length)}else{A=e;e=""}let s="";let r="";if(A.includes("=")){const e={position:0};s=a("=",A,e);r=A.slice(e.position+1)}else{s=A}s=s.trim();r=r.trim();if(r.length>i){return parseUnparsedAttributes(e,t)}const n=s.toLowerCase();if(n==="expires"){const e=new Date(r);t.expires=e}else if(n==="max-age"){const A=r.charCodeAt(0);if((A<48||A>57)&&r[0]!=="-"){return parseUnparsedAttributes(e,t)}if(!/^\d+$/.test(r)){return parseUnparsedAttributes(e,t)}const s=Number(r);t.maxAge=s}else if(n==="domain"){let e=r;if(e[0]==="."){e=e.slice(1)}e=e.toLowerCase();t.domain=e}else if(n==="path"){let e="";if(r.length===0||r[0]!=="/"){e="/"}else{e=r}t.path=e}else if(n==="secure"){t.secure=true}else if(n==="httponly"){t.httpOnly=true}else if(n==="samesite"){let e="Default";const A=r.toLowerCase();if(A.includes("none")){e="None"}if(A.includes("strict")){e="Strict"}if(A.includes("lax")){e="Lax"}t.sameSite=e}else{t.unparsed??=[];t.unparsed.push(`${s}=${r}`)}return parseUnparsedAttributes(e,t)}e.exports={parseSetCookie:parseSetCookie,parseUnparsedAttributes:parseUnparsedAttributes}},3121:(e,t,A)=>{"use strict";const s=A(9491);const{kHeadersList:i}=A(2785);function isCTLExcludingHtab(e){if(e.length===0){return false}for(const t of e){const e=t.charCodeAt(0);if(e>=0||e<=8||(e>=10||e<=31)||e===127){return false}}}function validateCookieName(e){for(const t of e){const e=t.charCodeAt(0);if(e<=32||e>127||t==="("||t===")"||t===">"||t==="<"||t==="@"||t===","||t===";"||t===":"||t==="\\"||t==='"'||t==="/"||t==="["||t==="]"||t==="?"||t==="="||t==="{"||t==="}"){throw new Error("Invalid cookie name")}}}function validateCookieValue(e){for(const t of e){const e=t.charCodeAt(0);if(e<33||e===34||e===44||e===59||e===92||e>126){throw new Error("Invalid header value")}}}function validateCookiePath(e){for(const t of e){const e=t.charCodeAt(0);if(e<33||t===";"){throw new Error("Invalid cookie path")}}}function validateCookieDomain(e){if(e.startsWith("-")||e.endsWith(".")||e.endsWith("-")){throw new Error("Invalid cookie domain")}}function toIMFDate(e){if(typeof e==="number"){e=new Date(e)}const t=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];const s=t[e.getUTCDay()];const i=e.getUTCDate().toString().padStart(2,"0");const r=A[e.getUTCMonth()];const a=e.getUTCFullYear();const o=e.getUTCHours().toString().padStart(2,"0");const n=e.getUTCMinutes().toString().padStart(2,"0");const p=e.getUTCSeconds().toString().padStart(2,"0");return`${s}, ${i} ${r} ${a} ${o}:${n}:${p} GMT`}function validateCookieMaxAge(e){if(e<0){throw new Error("Invalid cookie max-age")}}function stringify(e){if(e.name.length===0){return null}validateCookieName(e.name);validateCookieValue(e.value);const t=[`${e.name}=${e.value}`];if(e.name.startsWith("__Secure-")){e.secure=true}if(e.name.startsWith("__Host-")){e.secure=true;e.domain=null;e.path="/"}if(e.secure){t.push("Secure")}if(e.httpOnly){t.push("HttpOnly")}if(typeof e.maxAge==="number"){validateCookieMaxAge(e.maxAge);t.push(`Max-Age=${e.maxAge}`)}if(e.domain){validateCookieDomain(e.domain);t.push(`Domain=${e.domain}`)}if(e.path){validateCookiePath(e.path);t.push(`Path=${e.path}`)}if(e.expires&&e.expires.toString()!=="Invalid Date"){t.push(`Expires=${toIMFDate(e.expires)}`)}if(e.sameSite){t.push(`SameSite=${e.sameSite}`)}for(const A of e.unparsed){if(!A.includes("=")){throw new Error("Invalid unparsed")}const[e,...s]=A.split("=");t.push(`${e.trim()}=${s.join("=")}`)}return t.join("; ")}let r;function getHeadersList(e){if(e[i]){return e[i]}if(!r){r=Object.getOwnPropertySymbols(e).find((e=>e.description==="headers list"));s(r,"Headers cannot be parsed")}const t=e[r];s(t);return t}e.exports={isCTLExcludingHtab:isCTLExcludingHtab,stringify:stringify,getHeadersList:getHeadersList}},2067:(e,t,A)=>{"use strict";const s=A(1808);const i=A(9491);const r=A(3983);const{InvalidArgumentError:a,ConnectTimeoutError:o}=A(8045);let n;let p;if(global.FinalizationRegistry&&!process.env.NODE_V8_COVERAGE){p=class WeakSessionCache{constructor(e){this._maxCachedSessions=e;this._sessionCache=new Map;this._sessionRegistry=new global.FinalizationRegistry((e=>{if(this._sessionCache.size=this._maxCachedSessions){const{value:e}=this._sessionCache.keys().next();this._sessionCache.delete(e)}this._sessionCache.set(e,t)}}}function buildConnector({allowH2:e,maxCachedSessions:t,socketPath:o,timeout:d,...l}){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new a("maxCachedSessions must be a positive integer or zero")}const c={path:o,...l};const u=new p(t==null?100:t);d=d==null?1e4:d;e=e!=null?e:false;return function connect({hostname:t,host:a,protocol:o,port:p,servername:l,localAddress:h,httpSocket:g},E){let C;if(o==="https:"){if(!n){n=A(4404)}l=l||c.servername||r.getServerName(a)||null;const s=l||t;const o=u.get(s)||null;i(s);C=n.connect({highWaterMark:16384,...c,servername:l,session:o,localAddress:h,ALPNProtocols:e?["http/1.1","h2"]:["http/1.1"],socket:g,port:p||443,host:t});C.on("session",(function(e){u.set(s,e)}))}else{i(!g,"httpSocket can only be sent on TLS update");C=s.connect({highWaterMark:64*1024,...c,localAddress:h,port:p||80,host:t})}if(c.keepAlive==null||c.keepAlive){const e=c.keepAliveInitialDelay===undefined?6e4:c.keepAliveInitialDelay;C.setKeepAlive(true,e)}const Q=setupTimeout((()=>onConnectTimeout(C)),d);C.setNoDelay(true).once(o==="https:"?"secureConnect":"connect",(function(){Q();if(E){const e=E;E=null;e(null,this)}})).on("error",(function(e){Q();if(E){const t=E;E=null;t(e)}}));return C}}function setupTimeout(e,t){if(!t){return()=>{}}let A=null;let s=null;const i=setTimeout((()=>{A=setImmediate((()=>{if(process.platform==="win32"){s=setImmediate((()=>e()))}else{e()}}))}),t);return()=>{clearTimeout(i);clearImmediate(A);clearImmediate(s)}}function onConnectTimeout(e){r.destroy(e,new o)}e.exports=buildConnector},4462:e=>{"use strict";const t={};const A=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"];for(let e=0;e{"use strict";class UndiciError extends Error{constructor(e){super(e);this.name="UndiciError";this.code="UND_ERR"}}class ConnectTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ConnectTimeoutError);this.name="ConnectTimeoutError";this.message=e||"Connect Timeout Error";this.code="UND_ERR_CONNECT_TIMEOUT"}}class HeadersTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,HeadersTimeoutError);this.name="HeadersTimeoutError";this.message=e||"Headers Timeout Error";this.code="UND_ERR_HEADERS_TIMEOUT"}}class HeadersOverflowError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,HeadersOverflowError);this.name="HeadersOverflowError";this.message=e||"Headers Overflow Error";this.code="UND_ERR_HEADERS_OVERFLOW"}}class BodyTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,BodyTimeoutError);this.name="BodyTimeoutError";this.message=e||"Body Timeout Error";this.code="UND_ERR_BODY_TIMEOUT"}}class ResponseStatusCodeError extends UndiciError{constructor(e,t,A,s){super(e);Error.captureStackTrace(this,ResponseStatusCodeError);this.name="ResponseStatusCodeError";this.message=e||"Response Status Code Error";this.code="UND_ERR_RESPONSE_STATUS_CODE";this.body=s;this.status=t;this.statusCode=t;this.headers=A}}class InvalidArgumentError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InvalidArgumentError);this.name="InvalidArgumentError";this.message=e||"Invalid Argument Error";this.code="UND_ERR_INVALID_ARG"}}class InvalidReturnValueError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InvalidReturnValueError);this.name="InvalidReturnValueError";this.message=e||"Invalid Return Value Error";this.code="UND_ERR_INVALID_RETURN_VALUE"}}class RequestAbortedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,RequestAbortedError);this.name="AbortError";this.message=e||"Request aborted";this.code="UND_ERR_ABORTED"}}class InformationalError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InformationalError);this.name="InformationalError";this.message=e||"Request information";this.code="UND_ERR_INFO"}}class RequestContentLengthMismatchError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,RequestContentLengthMismatchError);this.name="RequestContentLengthMismatchError";this.message=e||"Request body length does not match content-length header";this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}}class ResponseContentLengthMismatchError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ResponseContentLengthMismatchError);this.name="ResponseContentLengthMismatchError";this.message=e||"Response body length does not match content-length header";this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}}class ClientDestroyedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ClientDestroyedError);this.name="ClientDestroyedError";this.message=e||"The client is destroyed";this.code="UND_ERR_DESTROYED"}}class ClientClosedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ClientClosedError);this.name="ClientClosedError";this.message=e||"The client is closed";this.code="UND_ERR_CLOSED"}}class SocketError extends UndiciError{constructor(e,t){super(e);Error.captureStackTrace(this,SocketError);this.name="SocketError";this.message=e||"Socket error";this.code="UND_ERR_SOCKET";this.socket=t}}class NotSupportedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,NotSupportedError);this.name="NotSupportedError";this.message=e||"Not supported error";this.code="UND_ERR_NOT_SUPPORTED"}}class BalancedPoolMissingUpstreamError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,NotSupportedError);this.name="MissingUpstreamError";this.message=e||"No upstream has been added to the BalancedPool";this.code="UND_ERR_BPL_MISSING_UPSTREAM"}}class HTTPParserError extends Error{constructor(e,t,A){super(e);Error.captureStackTrace(this,HTTPParserError);this.name="HTTPParserError";this.code=t?`HPE_${t}`:undefined;this.data=A?A.toString():undefined}}class ResponseExceededMaxSizeError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ResponseExceededMaxSizeError);this.name="ResponseExceededMaxSizeError";this.message=e||"Response content exceeded max size";this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}}class RequestRetryError extends UndiciError{constructor(e,t,{headers:A,data:s}){super(e);Error.captureStackTrace(this,RequestRetryError);this.name="RequestRetryError";this.message=e||"Request retry error";this.code="UND_ERR_REQ_RETRY";this.statusCode=t;this.data=s;this.headers=A}}e.exports={HTTPParserError:HTTPParserError,UndiciError:UndiciError,HeadersTimeoutError:HeadersTimeoutError,HeadersOverflowError:HeadersOverflowError,BodyTimeoutError:BodyTimeoutError,RequestContentLengthMismatchError:RequestContentLengthMismatchError,ConnectTimeoutError:ConnectTimeoutError,ResponseStatusCodeError:ResponseStatusCodeError,InvalidArgumentError:InvalidArgumentError,InvalidReturnValueError:InvalidReturnValueError,RequestAbortedError:RequestAbortedError,ClientDestroyedError:ClientDestroyedError,ClientClosedError:ClientClosedError,InformationalError:InformationalError,SocketError:SocketError,NotSupportedError:NotSupportedError,ResponseContentLengthMismatchError:ResponseContentLengthMismatchError,BalancedPoolMissingUpstreamError:BalancedPoolMissingUpstreamError,ResponseExceededMaxSizeError:ResponseExceededMaxSizeError,RequestRetryError:RequestRetryError}},2905:(e,t,A)=>{"use strict";const{InvalidArgumentError:s,NotSupportedError:i}=A(8045);const r=A(9491);const{kHTTP2BuildRequest:a,kHTTP2CopyHeaders:o,kHTTP1BuildRequest:n}=A(2785);const p=A(3983);const d=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;const l=/[^\t\x20-\x7e\x80-\xff]/;const c=/[^\u0021-\u00ff]/;const u=Symbol("handler");const h={};let g;try{const e=A(7643);h.create=e.channel("undici:request:create");h.bodySent=e.channel("undici:request:bodySent");h.headers=e.channel("undici:request:headers");h.trailers=e.channel("undici:request:trailers");h.error=e.channel("undici:request:error")}catch{h.create={hasSubscribers:false};h.bodySent={hasSubscribers:false};h.headers={hasSubscribers:false};h.trailers={hasSubscribers:false};h.error={hasSubscribers:false}}class Request{constructor(e,{path:t,method:i,body:r,headers:a,query:o,idempotent:n,blocking:l,upgrade:E,headersTimeout:C,bodyTimeout:Q,reset:B,throwOnError:I,expectContinue:w},y){if(typeof t!=="string"){throw new s("path must be a string")}else if(t[0]!=="/"&&!(t.startsWith("http://")||t.startsWith("https://"))&&i!=="CONNECT"){throw new s("path must be an absolute URL or start with a slash")}else if(c.exec(t)!==null){throw new s("invalid request path")}if(typeof i!=="string"){throw new s("method must be a string")}else if(d.exec(i)===null){throw new s("invalid request method")}if(E&&typeof E!=="string"){throw new s("upgrade must be a string")}if(C!=null&&(!Number.isFinite(C)||C<0)){throw new s("invalid headersTimeout")}if(Q!=null&&(!Number.isFinite(Q)||Q<0)){throw new s("invalid bodyTimeout")}if(B!=null&&typeof B!=="boolean"){throw new s("invalid reset")}if(w!=null&&typeof w!=="boolean"){throw new s("invalid expectContinue")}this.headersTimeout=C;this.bodyTimeout=Q;this.throwOnError=I===true;this.method=i;this.abort=null;if(r==null){this.body=null}else if(p.isStream(r)){this.body=r;const e=this.body._readableState;if(!e||!e.autoDestroy){this.endHandler=function autoDestroy(){p.destroy(this)};this.body.on("end",this.endHandler)}this.errorHandler=e=>{if(this.abort){this.abort(e)}else{this.error=e}};this.body.on("error",this.errorHandler)}else if(p.isBuffer(r)){this.body=r.byteLength?r:null}else if(ArrayBuffer.isView(r)){this.body=r.buffer.byteLength?Buffer.from(r.buffer,r.byteOffset,r.byteLength):null}else if(r instanceof ArrayBuffer){this.body=r.byteLength?Buffer.from(r):null}else if(typeof r==="string"){this.body=r.length?Buffer.from(r):null}else if(p.isFormDataLike(r)||p.isIterable(r)||p.isBlobLike(r)){this.body=r}else{throw new s("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable")}this.completed=false;this.aborted=false;this.upgrade=E||null;this.path=o?p.buildURL(t,o):t;this.origin=e;this.idempotent=n==null?i==="HEAD"||i==="GET":n;this.blocking=l==null?false:l;this.reset=B==null?null:B;this.host=null;this.contentLength=null;this.contentType=null;this.headers="";this.expectContinue=w!=null?w:false;if(Array.isArray(a)){if(a.length%2!==0){throw new s("headers array must be even")}for(let e=0;e{e.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kHeadersList:Symbol("headers list"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kHTTP2BuildRequest:Symbol("http2 build request"),kHTTP1BuildRequest:Symbol("http1 build request"),kHTTP2CopyHeaders:Symbol("http2 copy headers"),kHTTPConnVersion:Symbol("http connection version"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable")}},3983:(e,t,A)=>{"use strict";const s=A(9491);const{kDestroyed:i,kBodyUsed:r}=A(2785);const{IncomingMessage:a}=A(3685);const o=A(2781);const n=A(1808);const{InvalidArgumentError:p}=A(8045);const{Blob:d}=A(4300);const l=A(3837);const{stringify:c}=A(3477);const{headerNameLowerCasedRecord:u}=A(4462);const[h,g]=process.versions.node.split(".").map((e=>Number(e)));function nop(){}function isStream(e){return e&&typeof e==="object"&&typeof e.pipe==="function"&&typeof e.on==="function"}function isBlobLike(e){return d&&e instanceof d||e&&typeof e==="object"&&(typeof e.stream==="function"||typeof e.arrayBuffer==="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function buildURL(e,t){if(e.includes("?")||e.includes("#")){throw new Error('Query params cannot be passed when url already contains "?" or "#".')}const A=c(t);if(A){e+="?"+A}return e}function parseURL(e){if(typeof e==="string"){e=new URL(e);if(!/^https?:/.test(e.origin||e.protocol)){throw new p("Invalid URL protocol: the URL must start with `http:` or `https:`.")}return e}if(!e||typeof e!=="object"){throw new p("Invalid URL: The URL argument must be a non-null object.")}if(!/^https?:/.test(e.origin||e.protocol)){throw new p("Invalid URL protocol: the URL must start with `http:` or `https:`.")}if(!(e instanceof URL)){if(e.port!=null&&e.port!==""&&!Number.isFinite(parseInt(e.port))){throw new p("Invalid URL: port must be a valid integer or a string representation of an integer.")}if(e.path!=null&&typeof e.path!=="string"){throw new p("Invalid URL path: the path must be a string or null/undefined.")}if(e.pathname!=null&&typeof e.pathname!=="string"){throw new p("Invalid URL pathname: the pathname must be a string or null/undefined.")}if(e.hostname!=null&&typeof e.hostname!=="string"){throw new p("Invalid URL hostname: the hostname must be a string or null/undefined.")}if(e.origin!=null&&typeof e.origin!=="string"){throw new p("Invalid URL origin: the origin must be a string or null/undefined.")}const t=e.port!=null?e.port:e.protocol==="https:"?443:80;let A=e.origin!=null?e.origin:`${e.protocol}//${e.hostname}:${t}`;let s=e.path!=null?e.path:`${e.pathname||""}${e.search||""}`;if(A.endsWith("/")){A=A.substring(0,A.length-1)}if(s&&!s.startsWith("/")){s=`/${s}`}e=new URL(A+s)}return e}function parseOrigin(e){e=parseURL(e);if(e.pathname!=="/"||e.search||e.hash){throw new p("invalid url")}return e}function getHostname(e){if(e[0]==="["){const t=e.indexOf("]");s(t!==-1);return e.substring(1,t)}const t=e.indexOf(":");if(t===-1)return e;return e.substring(0,t)}function getServerName(e){if(!e){return null}s.strictEqual(typeof e,"string");const t=getHostname(e);if(n.isIP(t)){return""}return t}function deepClone(e){return JSON.parse(JSON.stringify(e))}function isAsyncIterable(e){return!!(e!=null&&typeof e[Symbol.asyncIterator]==="function")}function isIterable(e){return!!(e!=null&&(typeof e[Symbol.iterator]==="function"||typeof e[Symbol.asyncIterator]==="function"))}function bodyLength(e){if(e==null){return 0}else if(isStream(e)){const t=e._readableState;return t&&t.objectMode===false&&t.ended===true&&Number.isFinite(t.length)?t.length:null}else if(isBlobLike(e)){return e.size!=null?e.size:null}else if(isBuffer(e)){return e.byteLength}return null}function isDestroyed(e){return!e||!!(e.destroyed||e[i])}function isReadableAborted(e){const t=e&&e._readableState;return isDestroyed(e)&&t&&!t.endEmitted}function destroy(e,t){if(e==null||!isStream(e)||isDestroyed(e)){return}if(typeof e.destroy==="function"){if(Object.getPrototypeOf(e).constructor===a){e.socket=null}e.destroy(t)}else if(t){process.nextTick(((e,t)=>{e.emit("error",t)}),e,t)}if(e.destroyed!==true){e[i]=true}}const E=/timeout=(\d+)/;function parseKeepAliveTimeout(e){const t=e.toString().match(E);return t?parseInt(t[1],10)*1e3:null}function headerNameToString(e){return u[e]||e.toLowerCase()}function parseHeaders(e,t={}){if(!Array.isArray(e))return e;for(let A=0;Ae.toString("utf8")))}else{t[s]=e[A+1].toString("utf8")}}else{if(!Array.isArray(i)){i=[i];t[s]=i}i.push(e[A+1].toString("utf8"))}}if("content-length"in t&&"content-disposition"in t){t["content-disposition"]=Buffer.from(t["content-disposition"]).toString("latin1")}return t}function parseRawHeaders(e){const t=[];let A=false;let s=-1;for(let i=0;i{e.close()}))}else{const t=Buffer.isBuffer(s)?s:Buffer.from(s);e.enqueue(new Uint8Array(t))}return e.desiredSize>0},async cancel(e){await t.return()}},0)}function isFormDataLike(e){return e&&typeof e==="object"&&typeof e.append==="function"&&typeof e.delete==="function"&&typeof e.get==="function"&&typeof e.getAll==="function"&&typeof e.has==="function"&&typeof e.set==="function"&&e[Symbol.toStringTag]==="FormData"}function throwIfAborted(e){if(!e){return}if(typeof e.throwIfAborted==="function"){e.throwIfAborted()}else{if(e.aborted){const e=new Error("The operation was aborted");e.name="AbortError";throw e}}}function addAbortListener(e,t){if("addEventListener"in e){e.addEventListener("abort",t,{once:true});return()=>e.removeEventListener("abort",t)}e.addListener("abort",t);return()=>e.removeListener("abort",t)}const Q=!!String.prototype.toWellFormed;function toUSVString(e){if(Q){return`${e}`.toWellFormed()}else if(l.toUSVString){return l.toUSVString(e)}return`${e}`}function parseRangeHeader(e){if(e==null||e==="")return{start:0,end:null,size:null};const t=e?e.match(/^bytes (\d+)-(\d+)\/(\d+)?$/):null;return t?{start:parseInt(t[1]),end:t[2]?parseInt(t[2]):null,size:t[3]?parseInt(t[3]):null}:null}const B=Object.create(null);B.enumerable=true;e.exports={kEnumerableProperty:B,nop:nop,isDisturbed:isDisturbed,isErrored:isErrored,isReadable:isReadable,toUSVString:toUSVString,isReadableAborted:isReadableAborted,isBlobLike:isBlobLike,parseOrigin:parseOrigin,parseURL:parseURL,getServerName:getServerName,isStream:isStream,isIterable:isIterable,isAsyncIterable:isAsyncIterable,isDestroyed:isDestroyed,headerNameToString:headerNameToString,parseRawHeaders:parseRawHeaders,parseHeaders:parseHeaders,parseKeepAliveTimeout:parseKeepAliveTimeout,destroy:destroy,bodyLength:bodyLength,deepClone:deepClone,ReadableStreamFrom:ReadableStreamFrom,isBuffer:isBuffer,validateHandler:validateHandler,getSocketInfo:getSocketInfo,isFormDataLike:isFormDataLike,buildURL:buildURL,throwIfAborted:throwIfAborted,addAbortListener:addAbortListener,parseRangeHeader:parseRangeHeader,nodeMajor:h,nodeMinor:g,nodeHasAutoSelectFamily:h>18||h===18&&g>=13,safeHTTPMethods:["GET","HEAD","OPTIONS","TRACE"]}},4839:(e,t,A)=>{"use strict";const s=A(412);const{ClientDestroyedError:i,ClientClosedError:r,InvalidArgumentError:a}=A(8045);const{kDestroy:o,kClose:n,kDispatch:p,kInterceptors:d}=A(2785);const l=Symbol("destroyed");const c=Symbol("closed");const u=Symbol("onDestroyed");const h=Symbol("onClosed");const g=Symbol("Intercepted Dispatch");class DispatcherBase extends s{constructor(){super();this[l]=false;this[u]=null;this[c]=false;this[h]=[]}get destroyed(){return this[l]}get closed(){return this[c]}get interceptors(){return this[d]}set interceptors(e){if(e){for(let t=e.length-1;t>=0;t--){const e=this[d][t];if(typeof e!=="function"){throw new a("interceptor must be an function")}}}this[d]=e}close(e){if(e===undefined){return new Promise(((e,t)=>{this.close(((A,s)=>A?t(A):e(s)))}))}if(typeof e!=="function"){throw new a("invalid callback")}if(this[l]){queueMicrotask((()=>e(new i,null)));return}if(this[c]){if(this[h]){this[h].push(e)}else{queueMicrotask((()=>e(null,null)))}return}this[c]=true;this[h].push(e);const onClosed=()=>{const e=this[h];this[h]=null;for(let t=0;tthis.destroy())).then((()=>{queueMicrotask(onClosed)}))}destroy(e,t){if(typeof e==="function"){t=e;e=null}if(t===undefined){return new Promise(((t,A)=>{this.destroy(e,((e,s)=>e?A(e):t(s)))}))}if(typeof t!=="function"){throw new a("invalid callback")}if(this[l]){if(this[u]){this[u].push(t)}else{queueMicrotask((()=>t(null,null)))}return}if(!e){e=new i}this[l]=true;this[u]=this[u]||[];this[u].push(t);const onDestroyed=()=>{const e=this[u];this[u]=null;for(let t=0;t{queueMicrotask(onDestroyed)}))}[g](e,t){if(!this[d]||this[d].length===0){this[g]=this[p];return this[p](e,t)}let A=this[p].bind(this);for(let e=this[d].length-1;e>=0;e--){A=this[d][e](A)}this[g]=A;return A(e,t)}dispatch(e,t){if(!t||typeof t!=="object"){throw new a("handler must be an object")}try{if(!e||typeof e!=="object"){throw new a("opts must be an object.")}if(this[l]||this[u]){throw new i}if(this[c]){throw new r}return this[g](e,t)}catch(e){if(typeof t.onError!=="function"){throw new a("invalid onError method")}t.onError(e);return false}}}e.exports=DispatcherBase},412:(e,t,A)=>{"use strict";const s=A(2361);class Dispatcher extends s{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}}e.exports=Dispatcher},1472:(e,t,A)=>{"use strict";const s=A(727);const i=A(3983);const{ReadableStreamFrom:r,isBlobLike:a,isReadableStreamLike:o,readableStreamClose:n,createDeferredPromise:p,fullyReadBody:d}=A(2538);const{FormData:l}=A(2015);const{kState:c}=A(5861);const{webidl:u}=A(1744);const{DOMException:h,structuredClone:g}=A(1037);const{Blob:E,File:C}=A(4300);const{kBodyUsed:Q}=A(2785);const B=A(9491);const{isErrored:I}=A(3983);const{isUint8Array:w,isArrayBuffer:y}=A(9830);const{File:v}=A(8511);const{parseMIMEType:b,serializeAMimeType:D}=A(685);let R=globalThis.ReadableStream;const k=C??v;const S=new TextEncoder;const F=new TextDecoder;function extractBody(e,t=false){if(!R){R=A(5356).ReadableStream}let s=null;if(e instanceof R){s=e}else if(a(e)){s=e.stream()}else{s=new R({async pull(e){e.enqueue(typeof d==="string"?S.encode(d):d);queueMicrotask((()=>n(e)))},start(){},type:undefined})}B(o(s));let p=null;let d=null;let l=null;let c=null;if(typeof e==="string"){d=e;c="text/plain;charset=UTF-8"}else if(e instanceof URLSearchParams){d=e.toString();c="application/x-www-form-urlencoded;charset=UTF-8"}else if(y(e)){d=new Uint8Array(e.slice())}else if(ArrayBuffer.isView(e)){d=new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength))}else if(i.isFormDataLike(e)){const t=`----formdata-undici-0${`${Math.floor(Math.random()*1e11)}`.padStart(11,"0")}`;const A=`--${t}\r\nContent-Disposition: form-data` -/*! formdata-polyfill. MIT License. Jimmy Wärting */;const escape=e=>e.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=e=>e.replace(/\r?\n|\r/g,"\r\n");const s=[];const i=new Uint8Array([13,10]);l=0;let r=false;for(const[t,a]of e){if(typeof a==="string"){const e=S.encode(A+`; name="${escape(normalizeLinefeeds(t))}"`+`\r\n\r\n${normalizeLinefeeds(a)}\r\n`);s.push(e);l+=e.byteLength}else{const e=S.encode(`${A}; name="${escape(normalizeLinefeeds(t))}"`+(a.name?`; filename="${escape(a.name)}"`:"")+"\r\n"+`Content-Type: ${a.type||"application/octet-stream"}\r\n\r\n`);s.push(e,a,i);if(typeof a.size==="number"){l+=e.byteLength+a.size+i.byteLength}else{r=true}}}const a=S.encode(`--${t}--`);s.push(a);l+=a.byteLength;if(r){l=null}d=e;p=async function*(){for(const e of s){if(e.stream){yield*e.stream()}else{yield e}}};c="multipart/form-data; boundary="+t}else if(a(e)){d=e;l=e.size;if(e.type){c=e.type}}else if(typeof e[Symbol.asyncIterator]==="function"){if(t){throw new TypeError("keepalive")}if(i.isDisturbed(e)||e.locked){throw new TypeError("Response body object should not be disturbed or locked")}s=e instanceof R?e:r(e)}if(typeof d==="string"||i.isBuffer(d)){l=Buffer.byteLength(d)}if(p!=null){let t;s=new R({async start(){t=p(e)[Symbol.asyncIterator]()},async pull(e){const{value:A,done:i}=await t.next();if(i){queueMicrotask((()=>{e.close()}))}else{if(!I(s)){e.enqueue(new Uint8Array(A))}}return e.desiredSize>0},async cancel(e){await t.return()},type:undefined})}const u={stream:s,source:d,length:l};return[u,c]}function safelyExtractBody(e,t=false){if(!R){R=A(5356).ReadableStream}if(e instanceof R){B(!i.isDisturbed(e),"The body has already been consumed.");B(!e.locked,"The stream is locked.")}return extractBody(e,t)}function cloneBody(e){const[t,A]=e.stream.tee();const s=g(A,{transfer:[A]});const[,i]=s.tee();e.stream=t;return{stream:i,length:e.length,source:e.source}}async function*consumeBody(e){if(e){if(w(e)){yield e}else{const t=e.stream;if(i.isDisturbed(t)){throw new TypeError("The body has already been consumed.")}if(t.locked){throw new TypeError("The stream is locked.")}t[Q]=true;yield*t}}}function throwIfAborted(e){if(e.aborted){throw new h("The operation was aborted.","AbortError")}}function bodyMixinMethods(e){const t={blob(){return specConsumeBody(this,(e=>{let t=bodyMimeType(this);if(t==="failure"){t=""}else if(t){t=D(t)}return new E([e],{type:t})}),e)},arrayBuffer(){return specConsumeBody(this,(e=>new Uint8Array(e).buffer),e)},text(){return specConsumeBody(this,utf8DecodeBytes,e)},json(){return specConsumeBody(this,parseJSONFromBytes,e)},async formData(){u.brandCheck(this,e);throwIfAborted(this[c]);const t=this.headers.get("Content-Type");if(/multipart\/form-data/.test(t)){const e={};for(const[t,A]of this.headers)e[t.toLowerCase()]=A;const t=new l;let A;try{A=new s({headers:e,preservePath:true})}catch(e){throw new h(`${e}`,"AbortError")}A.on("field",((e,A)=>{t.append(e,A)}));A.on("file",((e,A,s,i,r)=>{const a=[];if(i==="base64"||i.toLowerCase()==="base64"){let i="";A.on("data",(e=>{i+=e.toString().replace(/[\r\n]/gm,"");const t=i.length-i.length%4;a.push(Buffer.from(i.slice(0,t),"base64"));i=i.slice(t)}));A.on("end",(()=>{a.push(Buffer.from(i,"base64"));t.append(e,new k(a,s,{type:r}))}))}else{A.on("data",(e=>{a.push(e)}));A.on("end",(()=>{t.append(e,new k(a,s,{type:r}))}))}}));const i=new Promise(((e,t)=>{A.on("finish",e);A.on("error",(e=>t(new TypeError(e))))}));if(this.body!==null)for await(const e of consumeBody(this[c].body))A.write(e);A.end();await i;return t}else if(/application\/x-www-form-urlencoded/.test(t)){let e;try{let t="";const A=new TextDecoder("utf-8",{ignoreBOM:true});for await(const e of consumeBody(this[c].body)){if(!w(e)){throw new TypeError("Expected Uint8Array chunk")}t+=A.decode(e,{stream:true})}t+=A.decode();e=new URLSearchParams(t)}catch(e){throw Object.assign(new TypeError,{cause:e})}const t=new l;for(const[A,s]of e){t.append(A,s)}return t}else{await Promise.resolve();throwIfAborted(this[c]);throw u.errors.exception({header:`${e.name}.formData`,message:"Could not parse content as FormData."})}}};return t}function mixinBody(e){Object.assign(e.prototype,bodyMixinMethods(e))}async function specConsumeBody(e,t,A){u.brandCheck(e,A);throwIfAborted(e[c]);if(bodyUnusable(e[c].body)){throw new TypeError("Body is unusable")}const s=p();const errorSteps=e=>s.reject(e);const successSteps=e=>{try{s.resolve(t(e))}catch(e){errorSteps(e)}};if(e[c].body==null){successSteps(new Uint8Array);return s.promise}await d(e[c].body,successSteps,errorSteps);return s.promise}function bodyUnusable(e){return e!=null&&(e.stream.locked||i.isDisturbed(e.stream))}function utf8DecodeBytes(e){if(e.length===0){return""}if(e[0]===239&&e[1]===187&&e[2]===191){e=e.subarray(3)}const t=F.decode(e);return t}function parseJSONFromBytes(e){return JSON.parse(utf8DecodeBytes(e))}function bodyMimeType(e){const{headersList:t}=e[c];const A=t.get("content-type");if(A===null){return"failure"}return b(A)}e.exports={extractBody:extractBody,safelyExtractBody:safelyExtractBody,cloneBody:cloneBody,mixinBody:mixinBody}},1037:(e,t,A)=>{"use strict";const{MessageChannel:s,receiveMessageOnPort:i}=A(1267);const r=["GET","HEAD","POST"];const a=new Set(r);const o=[101,204,205,304];const n=[301,302,303,307,308];const p=new Set(n);const d=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","5060","5061","6000","6566","6665","6666","6667","6668","6669","6697","10080"];const l=new Set(d);const c=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"];const u=new Set(c);const h=["follow","manual","error"];const g=["GET","HEAD","OPTIONS","TRACE"];const E=new Set(g);const C=["navigate","same-origin","no-cors","cors"];const Q=["omit","same-origin","include"];const B=["default","no-store","reload","no-cache","force-cache","only-if-cached"];const I=["content-encoding","content-language","content-location","content-type","content-length"];const w=["half"];const y=["CONNECT","TRACE","TRACK"];const v=new Set(y);const b=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""];const D=new Set(b);const R=globalThis.DOMException??(()=>{try{atob("~")}catch(e){return Object.getPrototypeOf(e).constructor}})();let k;const S=globalThis.structuredClone??function structuredClone(e,t=undefined){if(arguments.length===0){throw new TypeError("missing argument")}if(!k){k=new s}k.port1.unref();k.port2.unref();k.port1.postMessage(e,t?.transfer);return i(k.port2).message};e.exports={DOMException:R,structuredClone:S,subresource:b,forbiddenMethods:y,requestBodyHeader:I,referrerPolicy:c,requestRedirect:h,requestMode:C,requestCredentials:Q,requestCache:B,redirectStatus:n,corsSafeListedMethods:r,nullBodyStatus:o,safeMethods:g,badPorts:d,requestDuplex:w,subresourceSet:D,badPortsSet:l,redirectStatusSet:p,corsSafeListedMethodsSet:a,safeMethodsSet:E,forbiddenMethodsSet:v,referrerPolicySet:u}},685:(e,t,A)=>{const s=A(9491);const{atob:i}=A(4300);const{isomorphicDecode:r}=A(2538);const a=new TextEncoder;const o=/^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;const n=/(\u000A|\u000D|\u0009|\u0020)/;const p=/[\u0009|\u0020-\u007E|\u0080-\u00FF]/;function dataURLProcessor(e){s(e.protocol==="data:");let t=URLSerializer(e,true);t=t.slice(5);const A={position:0};let i=collectASequenceOfCodePointsFast(",",t,A);const a=i.length;i=removeASCIIWhitespace(i,true,true);if(A.position>=t.length){return"failure"}A.position++;const o=t.slice(a+1);let n=stringPercentDecode(o);if(/;(\u0020){0,}base64$/i.test(i)){const e=r(n);n=forgivingBase64(e);if(n==="failure"){return"failure"}i=i.slice(0,-6);i=i.replace(/(\u0020)+$/,"");i=i.slice(0,-1)}if(i.startsWith(";")){i="text/plain"+i}let p=parseMIMEType(i);if(p==="failure"){p=parseMIMEType("text/plain;charset=US-ASCII")}return{mimeType:p,body:n}}function URLSerializer(e,t=false){if(!t){return e.href}const A=e.href;const s=e.hash.length;return s===0?A:A.substring(0,A.length-s)}function collectASequenceOfCodePoints(e,t,A){let s="";while(A.positione.length){return"failure"}t.position++;let s=collectASequenceOfCodePointsFast(";",e,t);s=removeHTTPWhitespace(s,false,true);if(s.length===0||!o.test(s)){return"failure"}const i=A.toLowerCase();const r=s.toLowerCase();const a={type:i,subtype:r,parameters:new Map,essence:`${i}/${r}`};while(t.positionn.test(e)),e,t);let A=collectASequenceOfCodePoints((e=>e!==";"&&e!=="="),e,t);A=A.toLowerCase();if(t.positione.length){break}let s=null;if(e[t.position]==='"'){s=collectAnHTTPQuotedString(e,t,true);collectASequenceOfCodePointsFast(";",e,t)}else{s=collectASequenceOfCodePointsFast(";",e,t);s=removeHTTPWhitespace(s,false,true);if(s.length===0){continue}}if(A.length!==0&&o.test(A)&&(s.length===0||p.test(s))&&!a.parameters.has(A)){a.parameters.set(A,s)}}return a}function forgivingBase64(e){e=e.replace(/[\u0009\u000A\u000C\u000D\u0020]/g,"");if(e.length%4===0){e=e.replace(/=?=$/,"")}if(e.length%4===1){return"failure"}if(/[^+/0-9A-Za-z]/.test(e)){return"failure"}const t=i(e);const A=new Uint8Array(t.length);for(let e=0;ee!=='"'&&e!=="\\"),e,t);if(t.position>=e.length){break}const A=e[t.position];t.position++;if(A==="\\"){if(t.position>=e.length){r+="\\";break}r+=e[t.position];t.position++}else{s(A==='"');break}}if(A){return r}return e.slice(i,t.position)}function serializeAMimeType(e){s(e!=="failure");const{parameters:t,essence:A}=e;let i=A;for(let[e,A]of t.entries()){i+=";";i+=e;i+="=";if(!o.test(A)){A=A.replace(/(\\|")/g,"\\$1");A='"'+A;A+='"'}i+=A}return i}function isHTTPWhiteSpace(e){return e==="\r"||e==="\n"||e==="\t"||e===" "}function removeHTTPWhitespace(e,t=true,A=true){let s=0;let i=e.length-1;if(t){for(;s0&&isHTTPWhiteSpace(e[i]);i--);}return e.slice(s,i+1)}function isASCIIWhitespace(e){return e==="\r"||e==="\n"||e==="\t"||e==="\f"||e===" "}function removeASCIIWhitespace(e,t=true,A=true){let s=0;let i=e.length-1;if(t){for(;s0&&isASCIIWhitespace(e[i]);i--);}return e.slice(s,i+1)}e.exports={dataURLProcessor:dataURLProcessor,URLSerializer:URLSerializer,collectASequenceOfCodePoints:collectASequenceOfCodePoints,collectASequenceOfCodePointsFast:collectASequenceOfCodePointsFast,stringPercentDecode:stringPercentDecode,parseMIMEType:parseMIMEType,collectAnHTTPQuotedString:collectAnHTTPQuotedString,serializeAMimeType:serializeAMimeType}},8511:(e,t,A)=>{"use strict";const{Blob:s,File:i}=A(4300);const{types:r}=A(3837);const{kState:a}=A(5861);const{isBlobLike:o}=A(2538);const{webidl:n}=A(1744);const{parseMIMEType:p,serializeAMimeType:d}=A(685);const{kEnumerableProperty:l}=A(3983);const c=new TextEncoder;class File extends s{constructor(e,t,A={}){n.argumentLengthCheck(arguments,2,{header:"File constructor"});e=n.converters["sequence"](e);t=n.converters.USVString(t);A=n.converters.FilePropertyBag(A);const s=t;let i=A.type;let r;e:{if(i){i=p(i);if(i==="failure"){i="";break e}i=d(i).toLowerCase()}r=A.lastModified}super(processBlobParts(e,A),{type:i});this[a]={name:s,lastModified:r,type:i}}get name(){n.brandCheck(this,File);return this[a].name}get lastModified(){n.brandCheck(this,File);return this[a].lastModified}get type(){n.brandCheck(this,File);return this[a].type}}class FileLike{constructor(e,t,A={}){const s=t;const i=A.type;const r=A.lastModified??Date.now();this[a]={blobLike:e,name:s,type:i,lastModified:r}}stream(...e){n.brandCheck(this,FileLike);return this[a].blobLike.stream(...e)}arrayBuffer(...e){n.brandCheck(this,FileLike);return this[a].blobLike.arrayBuffer(...e)}slice(...e){n.brandCheck(this,FileLike);return this[a].blobLike.slice(...e)}text(...e){n.brandCheck(this,FileLike);return this[a].blobLike.text(...e)}get size(){n.brandCheck(this,FileLike);return this[a].blobLike.size}get type(){n.brandCheck(this,FileLike);return this[a].blobLike.type}get name(){n.brandCheck(this,FileLike);return this[a].name}get lastModified(){n.brandCheck(this,FileLike);return this[a].lastModified}get[Symbol.toStringTag](){return"File"}}Object.defineProperties(File.prototype,{[Symbol.toStringTag]:{value:"File",configurable:true},name:l,lastModified:l});n.converters.Blob=n.interfaceConverter(s);n.converters.BlobPart=function(e,t){if(n.util.Type(e)==="Object"){if(o(e)){return n.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||r.isAnyArrayBuffer(e)){return n.converters.BufferSource(e,t)}}return n.converters.USVString(e,t)};n.converters["sequence"]=n.sequenceConverter(n.converters.BlobPart);n.converters.FilePropertyBag=n.dictionaryConverter([{key:"lastModified",converter:n.converters["long long"],get defaultValue(){return Date.now()}},{key:"type",converter:n.converters.DOMString,defaultValue:""},{key:"endings",converter:e=>{e=n.converters.DOMString(e);e=e.toLowerCase();if(e!=="native"){e="transparent"}return e},defaultValue:"transparent"}]);function processBlobParts(e,t){const A=[];for(const s of e){if(typeof s==="string"){let e=s;if(t.endings==="native"){e=convertLineEndingsNative(e)}A.push(c.encode(e))}else if(r.isAnyArrayBuffer(s)||r.isTypedArray(s)){if(!s.buffer){A.push(new Uint8Array(s))}else{A.push(new Uint8Array(s.buffer,s.byteOffset,s.byteLength))}}else if(o(s)){A.push(s)}}return A}function convertLineEndingsNative(e){let t="\n";if(process.platform==="win32"){t="\r\n"}return e.replace(/\r?\n/g,t)}function isFileLike(e){return i&&e instanceof i||e instanceof File||e&&(typeof e.stream==="function"||typeof e.arrayBuffer==="function")&&e[Symbol.toStringTag]==="File"}e.exports={File:File,FileLike:FileLike,isFileLike:isFileLike}},2015:(e,t,A)=>{"use strict";const{isBlobLike:s,toUSVString:i,makeIterator:r}=A(2538);const{kState:a}=A(5861);const{File:o,FileLike:n,isFileLike:p}=A(8511);const{webidl:d}=A(1744);const{Blob:l,File:c}=A(4300);const u=c??o;class FormData{constructor(e){if(e!==undefined){throw d.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}this[a]=[]}append(e,t,A=undefined){d.brandCheck(this,FormData);d.argumentLengthCheck(arguments,2,{header:"FormData.append"});if(arguments.length===3&&!s(t)){throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'")}e=d.converters.USVString(e);t=s(t)?d.converters.Blob(t,{strict:false}):d.converters.USVString(t);A=arguments.length===3?d.converters.USVString(A):undefined;const i=makeEntry(e,t,A);this[a].push(i)}delete(e){d.brandCheck(this,FormData);d.argumentLengthCheck(arguments,1,{header:"FormData.delete"});e=d.converters.USVString(e);this[a]=this[a].filter((t=>t.name!==e))}get(e){d.brandCheck(this,FormData);d.argumentLengthCheck(arguments,1,{header:"FormData.get"});e=d.converters.USVString(e);const t=this[a].findIndex((t=>t.name===e));if(t===-1){return null}return this[a][t].value}getAll(e){d.brandCheck(this,FormData);d.argumentLengthCheck(arguments,1,{header:"FormData.getAll"});e=d.converters.USVString(e);return this[a].filter((t=>t.name===e)).map((e=>e.value))}has(e){d.brandCheck(this,FormData);d.argumentLengthCheck(arguments,1,{header:"FormData.has"});e=d.converters.USVString(e);return this[a].findIndex((t=>t.name===e))!==-1}set(e,t,A=undefined){d.brandCheck(this,FormData);d.argumentLengthCheck(arguments,2,{header:"FormData.set"});if(arguments.length===3&&!s(t)){throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'")}e=d.converters.USVString(e);t=s(t)?d.converters.Blob(t,{strict:false}):d.converters.USVString(t);A=arguments.length===3?i(A):undefined;const r=makeEntry(e,t,A);const o=this[a].findIndex((t=>t.name===e));if(o!==-1){this[a]=[...this[a].slice(0,o),r,...this[a].slice(o+1).filter((t=>t.name!==e))]}else{this[a].push(r)}}entries(){d.brandCheck(this,FormData);return r((()=>this[a].map((e=>[e.name,e.value]))),"FormData","key+value")}keys(){d.brandCheck(this,FormData);return r((()=>this[a].map((e=>[e.name,e.value]))),"FormData","key")}values(){d.brandCheck(this,FormData);return r((()=>this[a].map((e=>[e.name,e.value]))),"FormData","value")}forEach(e,t=globalThis){d.brandCheck(this,FormData);d.argumentLengthCheck(arguments,1,{header:"FormData.forEach"});if(typeof e!=="function"){throw new TypeError("Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.")}for(const[A,s]of this){e.apply(t,[s,A,this])}}}FormData.prototype[Symbol.iterator]=FormData.prototype.entries;Object.defineProperties(FormData.prototype,{[Symbol.toStringTag]:{value:"FormData",configurable:true}});function makeEntry(e,t,A){e=Buffer.from(e).toString("utf8");if(typeof t==="string"){t=Buffer.from(t).toString("utf8")}else{if(!p(t)){t=t instanceof l?new u([t],"blob",{type:t.type}):new n(t,"blob",{type:t.type})}if(A!==undefined){const e={type:t.type,lastModified:t.lastModified};t=c&&t instanceof c||t instanceof o?new u([t],A,e):new n(t,A,e)}}return{name:e,value:t}}e.exports={FormData:FormData}},1246:e=>{"use strict";const t=Symbol.for("undici.globalOrigin.1");function getGlobalOrigin(){return globalThis[t]}function setGlobalOrigin(e){if(e===undefined){Object.defineProperty(globalThis,t,{value:undefined,writable:true,enumerable:false,configurable:false});return}const A=new URL(e);if(A.protocol!=="http:"&&A.protocol!=="https:"){throw new TypeError(`Only http & https urls are allowed, received ${A.protocol}`)}Object.defineProperty(globalThis,t,{value:A,writable:true,enumerable:false,configurable:false})}e.exports={getGlobalOrigin:getGlobalOrigin,setGlobalOrigin:setGlobalOrigin}},554:(e,t,A)=>{"use strict";const{kHeadersList:s,kConstruct:i}=A(2785);const{kGuard:r}=A(5861);const{kEnumerableProperty:a}=A(3983);const{makeIterator:o,isValidHeaderName:n,isValidHeaderValue:p}=A(2538);const{webidl:d}=A(1744);const l=A(9491);const c=Symbol("headers map");const u=Symbol("headers map sorted");function isHTTPWhiteSpaceCharCode(e){return e===10||e===13||e===9||e===32}function headerValueNormalize(e){let t=0;let A=e.length;while(A>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(A-1)))--A;while(A>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(t)))++t;return t===0&&A===e.length?e:e.substring(t,A)}function fill(e,t){if(Array.isArray(t)){for(let A=0;A>","record"]})}}function appendHeader(e,t,A){A=headerValueNormalize(A);if(!n(t)){throw d.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header name"})}else if(!p(A)){throw d.errors.invalidArgument({prefix:"Headers.append",value:A,type:"header value"})}if(e[r]==="immutable"){throw new TypeError("immutable")}else if(e[r]==="request-no-cors"){}return e[s].append(t,A)}class HeadersList{cookies=null;constructor(e){if(e instanceof HeadersList){this[c]=new Map(e[c]);this[u]=e[u];this.cookies=e.cookies===null?null:[...e.cookies]}else{this[c]=new Map(e);this[u]=null}}contains(e){e=e.toLowerCase();return this[c].has(e)}clear(){this[c].clear();this[u]=null;this.cookies=null}append(e,t){this[u]=null;const A=e.toLowerCase();const s=this[c].get(A);if(s){const e=A==="cookie"?"; ":", ";this[c].set(A,{name:s.name,value:`${s.value}${e}${t}`})}else{this[c].set(A,{name:e,value:t})}if(A==="set-cookie"){this.cookies??=[];this.cookies.push(t)}}set(e,t){this[u]=null;const A=e.toLowerCase();if(A==="set-cookie"){this.cookies=[t]}this[c].set(A,{name:e,value:t})}delete(e){this[u]=null;e=e.toLowerCase();if(e==="set-cookie"){this.cookies=null}this[c].delete(e)}get(e){const t=this[c].get(e.toLowerCase());return t===undefined?null:t.value}*[Symbol.iterator](){for(const[e,{value:t}]of this[c]){yield[e,t]}}get entries(){const e={};if(this[c].size){for(const{name:t,value:A}of this[c].values()){e[t]=A}}return e}}class Headers{constructor(e=undefined){if(e===i){return}this[s]=new HeadersList;this[r]="none";if(e!==undefined){e=d.converters.HeadersInit(e);fill(this,e)}}append(e,t){d.brandCheck(this,Headers);d.argumentLengthCheck(arguments,2,{header:"Headers.append"});e=d.converters.ByteString(e);t=d.converters.ByteString(t);return appendHeader(this,e,t)}delete(e){d.brandCheck(this,Headers);d.argumentLengthCheck(arguments,1,{header:"Headers.delete"});e=d.converters.ByteString(e);if(!n(e)){throw d.errors.invalidArgument({prefix:"Headers.delete",value:e,type:"header name"})}if(this[r]==="immutable"){throw new TypeError("immutable")}else if(this[r]==="request-no-cors"){}if(!this[s].contains(e)){return}this[s].delete(e)}get(e){d.brandCheck(this,Headers);d.argumentLengthCheck(arguments,1,{header:"Headers.get"});e=d.converters.ByteString(e);if(!n(e)){throw d.errors.invalidArgument({prefix:"Headers.get",value:e,type:"header name"})}return this[s].get(e)}has(e){d.brandCheck(this,Headers);d.argumentLengthCheck(arguments,1,{header:"Headers.has"});e=d.converters.ByteString(e);if(!n(e)){throw d.errors.invalidArgument({prefix:"Headers.has",value:e,type:"header name"})}return this[s].contains(e)}set(e,t){d.brandCheck(this,Headers);d.argumentLengthCheck(arguments,2,{header:"Headers.set"});e=d.converters.ByteString(e);t=d.converters.ByteString(t);t=headerValueNormalize(t);if(!n(e)){throw d.errors.invalidArgument({prefix:"Headers.set",value:e,type:"header name"})}else if(!p(t)){throw d.errors.invalidArgument({prefix:"Headers.set",value:t,type:"header value"})}if(this[r]==="immutable"){throw new TypeError("immutable")}else if(this[r]==="request-no-cors"){}this[s].set(e,t)}getSetCookie(){d.brandCheck(this,Headers);const e=this[s].cookies;if(e){return[...e]}return[]}get[u](){if(this[s][u]){return this[s][u]}const e=[];const t=[...this[s]].sort(((e,t)=>e[0]e),"Headers","key")}return o((()=>[...this[u].values()]),"Headers","key")}values(){d.brandCheck(this,Headers);if(this[r]==="immutable"){const e=this[u];return o((()=>e),"Headers","value")}return o((()=>[...this[u].values()]),"Headers","value")}entries(){d.brandCheck(this,Headers);if(this[r]==="immutable"){const e=this[u];return o((()=>e),"Headers","key+value")}return o((()=>[...this[u].values()]),"Headers","key+value")}forEach(e,t=globalThis){d.brandCheck(this,Headers);d.argumentLengthCheck(arguments,1,{header:"Headers.forEach"});if(typeof e!=="function"){throw new TypeError("Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.")}for(const[A,s]of this){e.apply(t,[s,A,this])}}[Symbol.for("nodejs.util.inspect.custom")](){d.brandCheck(this,Headers);return this[s]}}Headers.prototype[Symbol.iterator]=Headers.prototype.entries;Object.defineProperties(Headers.prototype,{append:a,delete:a,get:a,has:a,set:a,getSetCookie:a,keys:a,values:a,entries:a,forEach:a,[Symbol.iterator]:{enumerable:false},[Symbol.toStringTag]:{value:"Headers",configurable:true}});d.converters.HeadersInit=function(e){if(d.util.Type(e)==="Object"){if(e[Symbol.iterator]){return d.converters["sequence>"](e)}return d.converters["record"](e)}throw d.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence>","record"]})};e.exports={fill:fill,Headers:Headers,HeadersList:HeadersList}},4881:(e,t,A)=>{"use strict";const{Response:s,makeNetworkError:i,makeAppropriateNetworkError:r,filterResponse:a,makeResponse:o}=A(7823);const{Headers:n}=A(554);const{Request:p,makeRequest:d}=A(8359);const l=A(9796);const{bytesMatch:c,makePolicyContainer:u,clonePolicyContainer:h,requestBadPort:g,TAOCheck:E,appendRequestOriginHeader:C,responseLocationURL:Q,requestCurrentURL:B,setRequestReferrerPolicyOnRedirect:I,tryUpgradeRequestToAPotentiallyTrustworthyURL:w,createOpaqueTimingInfo:y,appendFetchMetadata:v,corsCheck:b,crossOriginResourcePolicyCheck:D,determineRequestsReferrer:R,coarsenedSharedCurrentTime:k,createDeferredPromise:S,isBlobLike:F,sameOrigin:N,isCancelled:T,isAborted:U,isErrorLike:L,fullyReadBody:_,readableStreamClose:M,isomorphicEncode:x,urlIsLocal:G,urlIsHttpHttpsScheme:V,urlHasHttpsScheme:P}=A(2538);const{kState:O,kHeaders:H,kGuard:Y,kRealm:J}=A(5861);const q=A(9491);const{safelyExtractBody:W}=A(1472);const{redirectStatusSet:j,nullBodyStatus:z,safeMethodsSet:Z,requestBodyHeader:X,subresourceSet:K,DOMException:$}=A(1037);const{kHeadersList:ee}=A(2785);const te=A(2361);const{Readable:Ae,pipeline:se}=A(2781);const{addAbortListener:ie,isErrored:re,isReadable:ae,nodeMajor:oe,nodeMinor:ne}=A(3983);const{dataURLProcessor:pe,serializeAMimeType:de}=A(685);const{TransformStream:le}=A(5356);const{getGlobalDispatcher:ce}=A(1892);const{webidl:ue}=A(1744);const{STATUS_CODES:he}=A(3685);const ge=["GET","HEAD"];let me;let Ee=globalThis.ReadableStream;class Fetch extends te{constructor(e){super();this.dispatcher=e;this.connection=null;this.dump=false;this.state="ongoing";this.setMaxListeners(21)}terminate(e){if(this.state!=="ongoing"){return}this.state="terminated";this.connection?.destroy(e);this.emit("terminated",e)}abort(e){if(this.state!=="ongoing"){return}this.state="aborted";if(!e){e=new $("The operation was aborted.","AbortError")}this.serializedAbortReason=e;this.connection?.destroy(e);this.emit("terminated",e)}}function fetch(e,t={}){ue.argumentLengthCheck(arguments,1,{header:"globalThis.fetch"});const A=S();let i;try{i=new p(e,t)}catch(e){A.reject(e);return A.promise}const r=i[O];if(i.signal.aborted){abortFetch(A,r,null,i.signal.reason);return A.promise}const a=r.client.globalObject;if(a?.constructor?.name==="ServiceWorkerGlobalScope"){r.serviceWorkers="none"}let o=null;const n=null;let d=false;let l=null;ie(i.signal,(()=>{d=true;q(l!=null);l.abort(i.signal.reason);abortFetch(A,r,o,i.signal.reason)}));const handleFetchDone=e=>finalizeAndReportTiming(e,"fetch");const processResponse=e=>{if(d){return Promise.resolve()}if(e.aborted){abortFetch(A,r,o,l.serializedAbortReason);return Promise.resolve()}if(e.type==="error"){A.reject(Object.assign(new TypeError("fetch failed"),{cause:e.error}));return Promise.resolve()}o=new s;o[O]=e;o[J]=n;o[H][ee]=e.headersList;o[H][Y]="immutable";o[H][J]=n;A.resolve(o)};l=fetching({request:r,processResponseEndOfBody:handleFetchDone,processResponse:processResponse,dispatcher:t.dispatcher??ce()});return A.promise}function finalizeAndReportTiming(e,t="other"){if(e.type==="error"&&e.aborted){return}if(!e.urlList?.length){return}const A=e.urlList[0];let s=e.timingInfo;let i=e.cacheState;if(!V(A)){return}if(s===null){return}if(!e.timingAllowPassed){s=y({startTime:s.startTime});i=""}s.endTime=k();e.timingInfo=s;markResourceTiming(s,A,t,globalThis,i)}function markResourceTiming(e,t,A,s,i){if(oe>18||oe===18&&ne>=2){performance.markResourceTiming(e,t.href,A,s,i)}}function abortFetch(e,t,A,s){if(!s){s=new $("The operation was aborted.","AbortError")}e.reject(s);if(t.body!=null&&ae(t.body?.stream)){t.body.stream.cancel(s).catch((e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e}))}if(A==null){return}const i=A[O];if(i.body!=null&&ae(i.body?.stream)){i.body.stream.cancel(s).catch((e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e}))}}function fetching({request:e,processRequestBodyChunkLength:t,processRequestEndOfBody:A,processResponse:s,processResponseEndOfBody:i,processResponseConsumeBody:r,useParallelQueue:a=false,dispatcher:o}){let n=null;let p=false;if(e.client!=null){n=e.client.globalObject;p=e.client.crossOriginIsolatedCapability}const d=k(p);const l=y({startTime:d});const c={controller:new Fetch(o),request:e,timingInfo:l,processRequestBodyChunkLength:t,processRequestEndOfBody:A,processResponse:s,processResponseConsumeBody:r,processResponseEndOfBody:i,taskDestination:n,crossOriginIsolatedCapability:p};q(!e.body||e.body.stream);if(e.window==="client"){e.window=e.client?.globalObject?.constructor?.name==="Window"?e.client:"no-window"}if(e.origin==="client"){e.origin=e.client?.origin}if(e.policyContainer==="client"){if(e.client!=null){e.policyContainer=h(e.client.policyContainer)}else{e.policyContainer=u()}}if(!e.headersList.contains("accept")){const t="*/*";e.headersList.append("accept",t)}if(!e.headersList.contains("accept-language")){e.headersList.append("accept-language","*")}if(e.priority===null){}if(K.has(e.destination)){}mainFetch(c).catch((e=>{c.controller.terminate(e)}));return c.controller}async function mainFetch(e,t=false){const A=e.request;let s=null;if(A.localURLsOnly&&!G(B(A))){s=i("local URLs only")}w(A);if(g(A)==="blocked"){s=i("bad port")}if(A.referrerPolicy===""){A.referrerPolicy=A.policyContainer.referrerPolicy}if(A.referrer!=="no-referrer"){A.referrer=R(A)}if(s===null){s=await(async()=>{const t=B(A);if(N(t,A.url)&&A.responseTainting==="basic"||t.protocol==="data:"||(A.mode==="navigate"||A.mode==="websocket")){A.responseTainting="basic";return await schemeFetch(e)}if(A.mode==="same-origin"){return i('request mode cannot be "same-origin"')}if(A.mode==="no-cors"){if(A.redirect!=="follow"){return i('redirect mode cannot be "follow" for "no-cors" request')}A.responseTainting="opaque";return await schemeFetch(e)}if(!V(B(A))){return i("URL scheme must be a HTTP(S) scheme")}A.responseTainting="cors";return await httpFetch(e)})()}if(t){return s}if(s.status!==0&&!s.internalResponse){if(A.responseTainting==="cors"){}if(A.responseTainting==="basic"){s=a(s,"basic")}else if(A.responseTainting==="cors"){s=a(s,"cors")}else if(A.responseTainting==="opaque"){s=a(s,"opaque")}else{q(false)}}let r=s.status===0?s:s.internalResponse;if(r.urlList.length===0){r.urlList.push(...A.urlList)}if(!A.timingAllowFailed){s.timingAllowPassed=true}if(s.type==="opaque"&&r.status===206&&r.rangeRequested&&!A.headers.contains("range")){s=r=i()}if(s.status!==0&&(A.method==="HEAD"||A.method==="CONNECT"||z.includes(r.status))){r.body=null;e.controller.dump=true}if(A.integrity){const processBodyError=t=>fetchFinale(e,i(t));if(A.responseTainting==="opaque"||s.body==null){processBodyError(s.error);return}const processBody=t=>{if(!c(t,A.integrity)){processBodyError("integrity mismatch");return}s.body=W(t)[0];fetchFinale(e,s)};await _(s.body,processBody,processBodyError)}else{fetchFinale(e,s)}}function schemeFetch(e){if(T(e)&&e.request.redirectCount===0){return Promise.resolve(r(e))}const{request:t}=e;const{protocol:s}=B(t);switch(s){case"about:":{return Promise.resolve(i("about scheme is not supported"))}case"blob:":{if(!me){me=A(4300).resolveObjectURL}const e=B(t);if(e.search.length!==0){return Promise.resolve(i("NetworkError when attempting to fetch resource."))}const s=me(e.toString());if(t.method!=="GET"||!F(s)){return Promise.resolve(i("invalid method"))}const r=W(s);const a=r[0];const n=x(`${a.length}`);const p=r[1]??"";const d=o({statusText:"OK",headersList:[["content-length",{name:"Content-Length",value:n}],["content-type",{name:"Content-Type",value:p}]]});d.body=a;return Promise.resolve(d)}case"data:":{const e=B(t);const A=pe(e);if(A==="failure"){return Promise.resolve(i("failed to fetch the data URL"))}const s=de(A.mimeType);return Promise.resolve(o({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:s}]],body:W(A.body)[0]}))}case"file:":{return Promise.resolve(i("not implemented... yet..."))}case"http:":case"https:":{return httpFetch(e).catch((e=>i(e)))}default:{return Promise.resolve(i("unknown scheme"))}}}function finalizeResponse(e,t){e.request.done=true;if(e.processResponseDone!=null){queueMicrotask((()=>e.processResponseDone(t)))}}function fetchFinale(e,t){if(t.type==="error"){t.urlList=[e.request.urlList[0]];t.timingInfo=y({startTime:e.timingInfo.startTime})}const processResponseEndOfBody=()=>{e.request.done=true;if(e.processResponseEndOfBody!=null){queueMicrotask((()=>e.processResponseEndOfBody(t)))}};if(e.processResponse!=null){queueMicrotask((()=>e.processResponse(t)))}if(t.body==null){processResponseEndOfBody()}else{const identityTransformAlgorithm=(e,t)=>{t.enqueue(e)};const e=new le({start(){},transform:identityTransformAlgorithm,flush:processResponseEndOfBody},{size(){return 1}},{size(){return 1}});t.body={stream:t.body.stream.pipeThrough(e)}}if(e.processResponseConsumeBody!=null){const processBody=A=>e.processResponseConsumeBody(t,A);const processBodyError=A=>e.processResponseConsumeBody(t,A);if(t.body==null){queueMicrotask((()=>processBody(null)))}else{return _(t.body,processBody,processBodyError)}return Promise.resolve()}}async function httpFetch(e){const t=e.request;let A=null;let s=null;const r=e.timingInfo;if(t.serviceWorkers==="all"){}if(A===null){if(t.redirect==="follow"){t.serviceWorkers="none"}s=A=await httpNetworkOrCacheFetch(e);if(t.responseTainting==="cors"&&b(t,A)==="failure"){return i("cors failure")}if(E(t,A)==="failure"){t.timingAllowFailed=true}}if((t.responseTainting==="opaque"||A.type==="opaque")&&D(t.origin,t.client,t.destination,s)==="blocked"){return i("blocked")}if(j.has(s.status)){if(t.redirect!=="manual"){e.controller.connection.destroy()}if(t.redirect==="error"){A=i("unexpected redirect")}else if(t.redirect==="manual"){A=s}else if(t.redirect==="follow"){A=await httpRedirectFetch(e,A)}else{q(false)}}A.timingInfo=r;return A}function httpRedirectFetch(e,t){const A=e.request;const s=t.internalResponse?t.internalResponse:t;let r;try{r=Q(s,B(A).hash);if(r==null){return t}}catch(e){return Promise.resolve(i(e))}if(!V(r)){return Promise.resolve(i("URL scheme must be a HTTP(S) scheme"))}if(A.redirectCount===20){return Promise.resolve(i("redirect count exceeded"))}A.redirectCount+=1;if(A.mode==="cors"&&(r.username||r.password)&&!N(A,r)){return Promise.resolve(i('cross origin not allowed for request mode "cors"'))}if(A.responseTainting==="cors"&&(r.username||r.password)){return Promise.resolve(i('URL cannot contain credentials for request mode "cors"'))}if(s.status!==303&&A.body!=null&&A.body.source==null){return Promise.resolve(i())}if([301,302].includes(s.status)&&A.method==="POST"||s.status===303&&!ge.includes(A.method)){A.method="GET";A.body=null;for(const e of X){A.headersList.delete(e)}}if(!N(B(A),r)){A.headersList.delete("authorization");A.headersList.delete("proxy-authorization",true);A.headersList.delete("cookie");A.headersList.delete("host")}if(A.body!=null){q(A.body.source!=null);A.body=W(A.body.source)[0]}const a=e.timingInfo;a.redirectEndTime=a.postRedirectStartTime=k(e.crossOriginIsolatedCapability);if(a.redirectStartTime===0){a.redirectStartTime=a.startTime}A.urlList.push(r);I(A,s);return mainFetch(e,true)}async function httpNetworkOrCacheFetch(e,t=false,A=false){const s=e.request;let a=null;let o=null;let n=null;const p=null;const l=false;if(s.window==="no-window"&&s.redirect==="error"){a=e;o=s}else{o=d(s);a={...e};a.request=o}const c=s.credentials==="include"||s.credentials==="same-origin"&&s.responseTainting==="basic";const u=o.body?o.body.length:null;let h=null;if(o.body==null&&["POST","PUT"].includes(o.method)){h="0"}if(u!=null){h=x(`${u}`)}if(h!=null){o.headersList.append("content-length",h)}if(u!=null&&o.keepalive){}if(o.referrer instanceof URL){o.headersList.append("referer",x(o.referrer.href))}C(o);v(o);if(!o.headersList.contains("user-agent")){o.headersList.append("user-agent",typeof esbuildDetection==="undefined"?"undici":"node")}if(o.cache==="default"&&(o.headersList.contains("if-modified-since")||o.headersList.contains("if-none-match")||o.headersList.contains("if-unmodified-since")||o.headersList.contains("if-match")||o.headersList.contains("if-range"))){o.cache="no-store"}if(o.cache==="no-cache"&&!o.preventNoCacheCacheControlHeaderModification&&!o.headersList.contains("cache-control")){o.headersList.append("cache-control","max-age=0")}if(o.cache==="no-store"||o.cache==="reload"){if(!o.headersList.contains("pragma")){o.headersList.append("pragma","no-cache")}if(!o.headersList.contains("cache-control")){o.headersList.append("cache-control","no-cache")}}if(o.headersList.contains("range")){o.headersList.append("accept-encoding","identity")}if(!o.headersList.contains("accept-encoding")){if(P(B(o))){o.headersList.append("accept-encoding","br, gzip, deflate")}else{o.headersList.append("accept-encoding","gzip, deflate")}}o.headersList.delete("host");if(c){}if(p==null){o.cache="no-store"}if(o.mode!=="no-store"&&o.mode!=="reload"){}if(n==null){if(o.mode==="only-if-cached"){return i("only if cached")}const e=await httpNetworkFetch(a,c,A);if(!Z.has(o.method)&&e.status>=200&&e.status<=399){}if(l&&e.status===304){}if(n==null){n=e}}n.urlList=[...o.urlList];if(o.headersList.contains("range")){n.rangeRequested=true}n.requestIncludesCredentials=c;if(n.status===407){if(s.window==="no-window"){return i()}if(T(e)){return r(e)}return i("proxy authentication required")}if(n.status===421&&!A&&(s.body==null||s.body.source!=null)){if(T(e)){return r(e)}e.controller.connection.destroy();n=await httpNetworkOrCacheFetch(e,t,true)}if(t){}return n}async function httpNetworkFetch(e,t=false,s=false){q(!e.controller.connection||e.controller.connection.destroyed);e.controller.connection={abort:null,destroyed:false,destroy(e){if(!this.destroyed){this.destroyed=true;this.abort?.(e??new $("The operation was aborted.","AbortError"))}}};const a=e.request;let p=null;const d=e.timingInfo;const c=null;if(c==null){a.cache="no-store"}const u=s?"yes":"no";if(a.mode==="websocket"){}else{}let h=null;if(a.body==null&&e.processRequestEndOfBody){queueMicrotask((()=>e.processRequestEndOfBody()))}else if(a.body!=null){const processBodyChunk=async function*(t){if(T(e)){return}yield t;e.processRequestBodyChunkLength?.(t.byteLength)};const processEndOfBody=()=>{if(T(e)){return}if(e.processRequestEndOfBody){e.processRequestEndOfBody()}};const processBodyError=t=>{if(T(e)){return}if(t.name==="AbortError"){e.controller.abort()}else{e.controller.terminate(t)}};h=async function*(){try{for await(const e of a.body.stream){yield*processBodyChunk(e)}processEndOfBody()}catch(e){processBodyError(e)}}()}try{const{body:t,status:A,statusText:s,headersList:i,socket:r}=await dispatch({body:h});if(r){p=o({status:A,statusText:s,headersList:i,socket:r})}else{const r=t[Symbol.asyncIterator]();e.controller.next=()=>r.next();p=o({status:A,statusText:s,headersList:i})}}catch(t){if(t.name==="AbortError"){e.controller.connection.destroy();return r(e,t)}return i(t)}const pullAlgorithm=()=>{e.controller.resume()};const cancelAlgorithm=t=>{e.controller.abort(t)};if(!Ee){Ee=A(5356).ReadableStream}const g=new Ee({async start(t){e.controller.controller=t},async pull(e){await pullAlgorithm(e)},async cancel(e){await cancelAlgorithm(e)}},{highWaterMark:0,size(){return 1}});p.body={stream:g};e.controller.on("terminated",onAborted);e.controller.resume=async()=>{while(true){let t;let A;try{const{done:A,value:s}=await e.controller.next();if(U(e)){break}t=A?undefined:s}catch(s){if(e.controller.ended&&!d.encodedBodySize){t=undefined}else{t=s;A=true}}if(t===undefined){M(e.controller.controller);finalizeResponse(e,p);return}d.decodedBodySize+=t?.byteLength??0;if(A){e.controller.terminate(t);return}e.controller.controller.enqueue(new Uint8Array(t));if(re(g)){e.controller.terminate();return}if(!e.controller.controller.desiredSize){return}}};function onAborted(t){if(U(e)){p.aborted=true;if(ae(g)){e.controller.controller.error(e.controller.serializedAbortReason)}}else{if(ae(g)){e.controller.controller.error(new TypeError("terminated",{cause:L(t)?t:undefined}))}}e.controller.connection.destroy()}return p;async function dispatch({body:t}){const A=B(a);const s=e.controller.dispatcher;return new Promise(((i,r)=>s.dispatch({path:A.pathname+A.search,origin:A.origin,method:a.method,body:e.controller.dispatcher.isMockActive?a.body&&(a.body.source||a.body.stream):t,headers:a.headersList.entries,maxRedirections:0,upgrade:a.mode==="websocket"?"websocket":undefined},{body:null,abort:null,onConnect(t){const{connection:A}=e.controller;if(A.destroyed){t(new $("The operation was aborted.","AbortError"))}else{e.controller.on("terminated",t);this.abort=A.abort=t}},onHeaders(e,t,A,s){if(e<200){return}let r=[];let o="";const p=new n;if(Array.isArray(t)){for(let e=0;ee.trim()))}else if(A.toLowerCase()==="location"){o=s}p[ee].append(A,s)}}else{const e=Object.keys(t);for(const A of e){const e=t[A];if(A.toLowerCase()==="content-encoding"){r=e.toLowerCase().split(",").map((e=>e.trim())).reverse()}else if(A.toLowerCase()==="location"){o=e}p[ee].append(A,e)}}this.body=new Ae({read:A});const d=[];const c=a.redirect==="follow"&&o&&j.has(e);if(a.method!=="HEAD"&&a.method!=="CONNECT"&&!z.includes(e)&&!c){for(const e of r){if(e==="x-gzip"||e==="gzip"){d.push(l.createGunzip({flush:l.constants.Z_SYNC_FLUSH,finishFlush:l.constants.Z_SYNC_FLUSH}))}else if(e==="deflate"){d.push(l.createInflate())}else if(e==="br"){d.push(l.createBrotliDecompress())}else{d.length=0;break}}}i({status:e,statusText:s,headersList:p[ee],body:d.length?se(this.body,...d,(()=>{})):this.body.on("error",(()=>{}))});return true},onData(t){if(e.controller.dump){return}const A=t;d.encodedBodySize+=A.byteLength;return this.body.push(A)},onComplete(){if(this.abort){e.controller.off("terminated",this.abort)}e.controller.ended=true;this.body.push(null)},onError(t){if(this.abort){e.controller.off("terminated",this.abort)}this.body?.destroy(t);e.controller.terminate(t);r(t)},onUpgrade(e,t,A){if(e!==101){return}const s=new n;for(let e=0;e{"use strict";const{extractBody:s,mixinBody:i,cloneBody:r}=A(1472);const{Headers:a,fill:o,HeadersList:n}=A(554);const{FinalizationRegistry:p}=A(6436)();const d=A(3983);const{isValidHTTPToken:l,sameOrigin:c,normalizeMethod:u,makePolicyContainer:h,normalizeMethodRecord:g}=A(2538);const{forbiddenMethodsSet:E,corsSafeListedMethodsSet:C,referrerPolicy:Q,requestRedirect:B,requestMode:I,requestCredentials:w,requestCache:y,requestDuplex:v}=A(1037);const{kEnumerableProperty:b}=d;const{kHeaders:D,kSignal:R,kState:k,kGuard:S,kRealm:F}=A(5861);const{webidl:N}=A(1744);const{getGlobalOrigin:T}=A(1246);const{URLSerializer:U}=A(685);const{kHeadersList:L,kConstruct:_}=A(2785);const M=A(9491);const{getMaxListeners:x,setMaxListeners:G,getEventListeners:V,defaultMaxListeners:P}=A(2361);let O=globalThis.TransformStream;const H=Symbol("abortController");const Y=new p((({signal:e,abort:t})=>{e.removeEventListener("abort",t)}));class Request{constructor(e,t={}){if(e===_){return}N.argumentLengthCheck(arguments,1,{header:"Request constructor"});e=N.converters.RequestInfo(e);t=N.converters.RequestInit(t);this[F]={settingsObject:{baseUrl:T(),get origin(){return this.baseUrl?.origin},policyContainer:h()}};let i=null;let r=null;const p=this[F].settingsObject.baseUrl;let Q=null;if(typeof e==="string"){let t;try{t=new URL(e,p)}catch(t){throw new TypeError("Failed to parse URL from "+e,{cause:t})}if(t.username||t.password){throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+e)}i=makeRequest({urlList:[t]});r="cors"}else{M(e instanceof Request);i=e[k];Q=e[R]}const B=this[F].settingsObject.origin;let I="client";if(i.window?.constructor?.name==="EnvironmentSettingsObject"&&c(i.window,B)){I=i.window}if(t.window!=null){throw new TypeError(`'window' option '${I}' must be null`)}if("window"in t){I="no-window"}i=makeRequest({method:i.method,headersList:i.headersList,unsafeRequest:i.unsafeRequest,client:this[F].settingsObject,window:I,priority:i.priority,origin:i.origin,referrer:i.referrer,referrerPolicy:i.referrerPolicy,mode:i.mode,credentials:i.credentials,cache:i.cache,redirect:i.redirect,integrity:i.integrity,keepalive:i.keepalive,reloadNavigation:i.reloadNavigation,historyNavigation:i.historyNavigation,urlList:[...i.urlList]});const w=Object.keys(t).length!==0;if(w){if(i.mode==="navigate"){i.mode="same-origin"}i.reloadNavigation=false;i.historyNavigation=false;i.origin="client";i.referrer="client";i.referrerPolicy="";i.url=i.urlList[i.urlList.length-1];i.urlList=[i.url]}if(t.referrer!==undefined){const e=t.referrer;if(e===""){i.referrer="no-referrer"}else{let t;try{t=new URL(e,p)}catch(t){throw new TypeError(`Referrer "${e}" is not a valid URL.`,{cause:t})}if(t.protocol==="about:"&&t.hostname==="client"||B&&!c(t,this[F].settingsObject.baseUrl)){i.referrer="client"}else{i.referrer=t}}}if(t.referrerPolicy!==undefined){i.referrerPolicy=t.referrerPolicy}let y;if(t.mode!==undefined){y=t.mode}else{y=r}if(y==="navigate"){throw N.errors.exception({header:"Request constructor",message:"invalid request mode navigate."})}if(y!=null){i.mode=y}if(t.credentials!==undefined){i.credentials=t.credentials}if(t.cache!==undefined){i.cache=t.cache}if(i.cache==="only-if-cached"&&i.mode!=="same-origin"){throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode")}if(t.redirect!==undefined){i.redirect=t.redirect}if(t.integrity!=null){i.integrity=String(t.integrity)}if(t.keepalive!==undefined){i.keepalive=Boolean(t.keepalive)}if(t.method!==undefined){let e=t.method;if(!l(e)){throw new TypeError(`'${e}' is not a valid HTTP method.`)}if(E.has(e.toUpperCase())){throw new TypeError(`'${e}' HTTP method is unsupported.`)}e=g[e]??u(e);i.method=e}if(t.signal!==undefined){Q=t.signal}this[k]=i;const v=new AbortController;this[R]=v.signal;this[R][F]=this[F];if(Q!=null){if(!Q||typeof Q.aborted!=="boolean"||typeof Q.addEventListener!=="function"){throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.")}if(Q.aborted){v.abort(Q.reason)}else{this[H]=v;const e=new WeakRef(v);const abort=function(){const t=e.deref();if(t!==undefined){t.abort(this.reason)}};try{if(typeof x==="function"&&x(Q)===P){G(100,Q)}else if(V(Q,"abort").length>=P){G(100,Q)}}catch{}d.addAbortListener(Q,abort);Y.register(v,{signal:Q,abort:abort})}}this[D]=new a(_);this[D][L]=i.headersList;this[D][S]="request";this[D][F]=this[F];if(y==="no-cors"){if(!C.has(i.method)){throw new TypeError(`'${i.method} is unsupported in no-cors mode.`)}this[D][S]="request-no-cors"}if(w){const e=this[D][L];const A=t.headers!==undefined?t.headers:new n(e);e.clear();if(A instanceof n){for(const[t,s]of A){e.append(t,s)}e.cookies=A.cookies}else{o(this[D],A)}}const b=e instanceof Request?e[k].body:null;if((t.body!=null||b!=null)&&(i.method==="GET"||i.method==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body.")}let U=null;if(t.body!=null){const[e,A]=s(t.body,i.keepalive);U=e;if(A&&!this[D][L].contains("content-type")){this[D].append("content-type",A)}}const J=U??b;if(J!=null&&J.source==null){if(U!=null&&t.duplex==null){throw new TypeError("RequestInit: duplex option is required when sending a body.")}if(i.mode!=="same-origin"&&i.mode!=="cors"){throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"')}i.useCORSPreflightFlag=true}let q=J;if(U==null&&b!=null){if(d.isDisturbed(b.stream)||b.stream.locked){throw new TypeError("Cannot construct a Request with a Request object that has already been used.")}if(!O){O=A(5356).TransformStream}const e=new O;b.stream.pipeThrough(e);q={source:b.source,length:b.length,stream:e.readable}}this[k].body=q}get method(){N.brandCheck(this,Request);return this[k].method}get url(){N.brandCheck(this,Request);return U(this[k].url)}get headers(){N.brandCheck(this,Request);return this[D]}get destination(){N.brandCheck(this,Request);return this[k].destination}get referrer(){N.brandCheck(this,Request);if(this[k].referrer==="no-referrer"){return""}if(this[k].referrer==="client"){return"about:client"}return this[k].referrer.toString()}get referrerPolicy(){N.brandCheck(this,Request);return this[k].referrerPolicy}get mode(){N.brandCheck(this,Request);return this[k].mode}get credentials(){return this[k].credentials}get cache(){N.brandCheck(this,Request);return this[k].cache}get redirect(){N.brandCheck(this,Request);return this[k].redirect}get integrity(){N.brandCheck(this,Request);return this[k].integrity}get keepalive(){N.brandCheck(this,Request);return this[k].keepalive}get isReloadNavigation(){N.brandCheck(this,Request);return this[k].reloadNavigation}get isHistoryNavigation(){N.brandCheck(this,Request);return this[k].historyNavigation}get signal(){N.brandCheck(this,Request);return this[R]}get body(){N.brandCheck(this,Request);return this[k].body?this[k].body.stream:null}get bodyUsed(){N.brandCheck(this,Request);return!!this[k].body&&d.isDisturbed(this[k].body.stream)}get duplex(){N.brandCheck(this,Request);return"half"}clone(){N.brandCheck(this,Request);if(this.bodyUsed||this.body?.locked){throw new TypeError("unusable")}const e=cloneRequest(this[k]);const t=new Request(_);t[k]=e;t[F]=this[F];t[D]=new a(_);t[D][L]=e.headersList;t[D][S]=this[D][S];t[D][F]=this[D][F];const A=new AbortController;if(this.signal.aborted){A.abort(this.signal.reason)}else{d.addAbortListener(this.signal,(()=>{A.abort(this.signal.reason)}))}t[R]=A.signal;return t}}i(Request);function makeRequest(e){const t={method:"GET",localURLsOnly:false,unsafeRequest:false,body:null,client:null,reservedClient:null,replacesClientId:"",window:"client",keepalive:false,serviceWorkers:"all",initiator:"",destination:"",priority:null,origin:"client",policyContainer:"client",referrer:"client",referrerPolicy:"",mode:"no-cors",useCORSPreflightFlag:false,credentials:"same-origin",useCredentials:false,cache:"default",redirect:"follow",integrity:"",cryptoGraphicsNonceMetadata:"",parserMetadata:"",reloadNavigation:false,historyNavigation:false,userActivation:false,taintedOrigin:false,redirectCount:0,responseTainting:"basic",preventNoCacheCacheControlHeaderModification:false,done:false,timingAllowFailed:false,...e,headersList:e.headersList?new n(e.headersList):new n};t.url=t.urlList[0];return t}function cloneRequest(e){const t=makeRequest({...e,body:null});if(e.body!=null){t.body=r(e.body)}return t}Object.defineProperties(Request.prototype,{method:b,url:b,headers:b,redirect:b,clone:b,signal:b,duplex:b,destination:b,body:b,bodyUsed:b,isHistoryNavigation:b,isReloadNavigation:b,keepalive:b,integrity:b,cache:b,credentials:b,attribute:b,referrerPolicy:b,referrer:b,mode:b,[Symbol.toStringTag]:{value:"Request",configurable:true}});N.converters.Request=N.interfaceConverter(Request);N.converters.RequestInfo=function(e){if(typeof e==="string"){return N.converters.USVString(e)}if(e instanceof Request){return N.converters.Request(e)}return N.converters.USVString(e)};N.converters.AbortSignal=N.interfaceConverter(AbortSignal);N.converters.RequestInit=N.dictionaryConverter([{key:"method",converter:N.converters.ByteString},{key:"headers",converter:N.converters.HeadersInit},{key:"body",converter:N.nullableConverter(N.converters.BodyInit)},{key:"referrer",converter:N.converters.USVString},{key:"referrerPolicy",converter:N.converters.DOMString,allowedValues:Q},{key:"mode",converter:N.converters.DOMString,allowedValues:I},{key:"credentials",converter:N.converters.DOMString,allowedValues:w},{key:"cache",converter:N.converters.DOMString,allowedValues:y},{key:"redirect",converter:N.converters.DOMString,allowedValues:B},{key:"integrity",converter:N.converters.DOMString},{key:"keepalive",converter:N.converters.boolean},{key:"signal",converter:N.nullableConverter((e=>N.converters.AbortSignal(e,{strict:false})))},{key:"window",converter:N.converters.any},{key:"duplex",converter:N.converters.DOMString,allowedValues:v}]);e.exports={Request:Request,makeRequest:makeRequest}},7823:(e,t,A)=>{"use strict";const{Headers:s,HeadersList:i,fill:r}=A(554);const{extractBody:a,cloneBody:o,mixinBody:n}=A(1472);const p=A(3983);const{kEnumerableProperty:d}=p;const{isValidReasonPhrase:l,isCancelled:c,isAborted:u,isBlobLike:h,serializeJavascriptValueToJSONString:g,isErrorLike:E,isomorphicEncode:C}=A(2538);const{redirectStatusSet:Q,nullBodyStatus:B,DOMException:I}=A(1037);const{kState:w,kHeaders:y,kGuard:v,kRealm:b}=A(5861);const{webidl:D}=A(1744);const{FormData:R}=A(2015);const{getGlobalOrigin:k}=A(1246);const{URLSerializer:S}=A(685);const{kHeadersList:F,kConstruct:N}=A(2785);const T=A(9491);const{types:U}=A(3837);const L=globalThis.ReadableStream||A(5356).ReadableStream;const _=new TextEncoder("utf-8");class Response{static error(){const e={settingsObject:{}};const t=new Response;t[w]=makeNetworkError();t[b]=e;t[y][F]=t[w].headersList;t[y][v]="immutable";t[y][b]=e;return t}static json(e,t={}){D.argumentLengthCheck(arguments,1,{header:"Response.json"});if(t!==null){t=D.converters.ResponseInit(t)}const A=_.encode(g(e));const s=a(A);const i={settingsObject:{}};const r=new Response;r[b]=i;r[y][v]="response";r[y][b]=i;initializeResponse(r,t,{body:s[0],type:"application/json"});return r}static redirect(e,t=302){const A={settingsObject:{}};D.argumentLengthCheck(arguments,1,{header:"Response.redirect"});e=D.converters.USVString(e);t=D.converters["unsigned short"](t);let s;try{s=new URL(e,k())}catch(t){throw Object.assign(new TypeError("Failed to parse URL from "+e),{cause:t})}if(!Q.has(t)){throw new RangeError("Invalid status code "+t)}const i=new Response;i[b]=A;i[y][v]="immutable";i[y][b]=A;i[w].status=t;const r=C(S(s));i[w].headersList.append("location",r);return i}constructor(e=null,t={}){if(e!==null){e=D.converters.BodyInit(e)}t=D.converters.ResponseInit(t);this[b]={settingsObject:{}};this[w]=makeResponse({});this[y]=new s(N);this[y][v]="response";this[y][F]=this[w].headersList;this[y][b]=this[b];let A=null;if(e!=null){const[t,s]=a(e);A={body:t,type:s}}initializeResponse(this,t,A)}get type(){D.brandCheck(this,Response);return this[w].type}get url(){D.brandCheck(this,Response);const e=this[w].urlList;const t=e[e.length-1]??null;if(t===null){return""}return S(t,true)}get redirected(){D.brandCheck(this,Response);return this[w].urlList.length>1}get status(){D.brandCheck(this,Response);return this[w].status}get ok(){D.brandCheck(this,Response);return this[w].status>=200&&this[w].status<=299}get statusText(){D.brandCheck(this,Response);return this[w].statusText}get headers(){D.brandCheck(this,Response);return this[y]}get body(){D.brandCheck(this,Response);return this[w].body?this[w].body.stream:null}get bodyUsed(){D.brandCheck(this,Response);return!!this[w].body&&p.isDisturbed(this[w].body.stream)}clone(){D.brandCheck(this,Response);if(this.bodyUsed||this.body&&this.body.locked){throw D.errors.exception({header:"Response.clone",message:"Body has already been consumed."})}const e=cloneResponse(this[w]);const t=new Response;t[w]=e;t[b]=this[b];t[y][F]=e.headersList;t[y][v]=this[y][v];t[y][b]=this[y][b];return t}}n(Response);Object.defineProperties(Response.prototype,{type:d,url:d,status:d,ok:d,redirected:d,statusText:d,headers:d,clone:d,body:d,bodyUsed:d,[Symbol.toStringTag]:{value:"Response",configurable:true}});Object.defineProperties(Response,{json:d,redirect:d,error:d});function cloneResponse(e){if(e.internalResponse){return filterResponse(cloneResponse(e.internalResponse),e.type)}const t=makeResponse({...e,body:null});if(e.body!=null){t.body=o(e.body)}return t}function makeResponse(e){return{aborted:false,rangeRequested:false,timingAllowPassed:false,requestIncludesCredentials:false,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...e,headersList:e.headersList?new i(e.headersList):new i,urlList:e.urlList?[...e.urlList]:[]}}function makeNetworkError(e){const t=E(e);return makeResponse({type:"error",status:0,error:t?e:new Error(e?String(e):e),aborted:e&&e.name==="AbortError"})}function makeFilteredResponse(e,t){t={internalResponse:e,...t};return new Proxy(e,{get(e,A){return A in t?t[A]:e[A]},set(e,A,s){T(!(A in t));e[A]=s;return true}})}function filterResponse(e,t){if(t==="basic"){return makeFilteredResponse(e,{type:"basic",headersList:e.headersList})}else if(t==="cors"){return makeFilteredResponse(e,{type:"cors",headersList:e.headersList})}else if(t==="opaque"){return makeFilteredResponse(e,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null})}else if(t==="opaqueredirect"){return makeFilteredResponse(e,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null})}else{T(false)}}function makeAppropriateNetworkError(e,t=null){T(c(e));return u(e)?makeNetworkError(Object.assign(new I("The operation was aborted.","AbortError"),{cause:t})):makeNetworkError(Object.assign(new I("Request was cancelled."),{cause:t}))}function initializeResponse(e,t,A){if(t.status!==null&&(t.status<200||t.status>599)){throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.')}if("statusText"in t&&t.statusText!=null){if(!l(String(t.statusText))){throw new TypeError("Invalid statusText")}}if("status"in t&&t.status!=null){e[w].status=t.status}if("statusText"in t&&t.statusText!=null){e[w].statusText=t.statusText}if("headers"in t&&t.headers!=null){r(e[y],t.headers)}if(A){if(B.includes(e.status)){throw D.errors.exception({header:"Response constructor",message:"Invalid response status code "+e.status})}e[w].body=A.body;if(A.type!=null&&!e[w].headersList.contains("Content-Type")){e[w].headersList.append("content-type",A.type)}}}D.converters.ReadableStream=D.interfaceConverter(L);D.converters.FormData=D.interfaceConverter(R);D.converters.URLSearchParams=D.interfaceConverter(URLSearchParams);D.converters.XMLHttpRequestBodyInit=function(e){if(typeof e==="string"){return D.converters.USVString(e)}if(h(e)){return D.converters.Blob(e,{strict:false})}if(U.isArrayBuffer(e)||U.isTypedArray(e)||U.isDataView(e)){return D.converters.BufferSource(e)}if(p.isFormDataLike(e)){return D.converters.FormData(e,{strict:false})}if(e instanceof URLSearchParams){return D.converters.URLSearchParams(e)}return D.converters.DOMString(e)};D.converters.BodyInit=function(e){if(e instanceof L){return D.converters.ReadableStream(e)}if(e?.[Symbol.asyncIterator]){return e}return D.converters.XMLHttpRequestBodyInit(e)};D.converters.ResponseInit=D.dictionaryConverter([{key:"status",converter:D.converters["unsigned short"],defaultValue:200},{key:"statusText",converter:D.converters.ByteString,defaultValue:""},{key:"headers",converter:D.converters.HeadersInit}]);e.exports={makeNetworkError:makeNetworkError,makeResponse:makeResponse,makeAppropriateNetworkError:makeAppropriateNetworkError,filterResponse:filterResponse,Response:Response,cloneResponse:cloneResponse}},5861:e=>{"use strict";e.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kGuard:Symbol("guard"),kRealm:Symbol("realm")}},2538:(e,t,A)=>{"use strict";const{redirectStatusSet:s,referrerPolicySet:i,badPortsSet:r}=A(1037);const{getGlobalOrigin:a}=A(1246);const{performance:o}=A(4074);const{isBlobLike:n,toUSVString:p,ReadableStreamFrom:d}=A(3983);const l=A(9491);const{isUint8Array:c}=A(9830);let u=[];let h;try{h=A(6113);const e=["sha256","sha384","sha512"];u=h.getHashes().filter((t=>e.includes(t)))}catch{}function responseURL(e){const t=e.urlList;const A=t.length;return A===0?null:t[A-1].toString()}function responseLocationURL(e,t){if(!s.has(e.status)){return null}let A=e.headersList.get("location");if(A!==null&&isValidHeaderValue(A)){A=new URL(A,responseURL(e))}if(A&&!A.hash){A.hash=t}return A}function requestCurrentURL(e){return e.urlList[e.urlList.length-1]}function requestBadPort(e){const t=requestCurrentURL(e);if(urlIsHttpHttpsScheme(t)&&r.has(t.port)){return"blocked"}return"allowed"}function isErrorLike(e){return e instanceof Error||(e?.constructor?.name==="Error"||e?.constructor?.name==="DOMException")}function isValidReasonPhrase(e){for(let t=0;t=32&&A<=126||A>=128&&A<=255)){return false}}return true}function isTokenCharCode(e){switch(e){case 34:case 40:case 41:case 44:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 123:case 125:return false;default:return e>=33&&e<=126}}function isValidHTTPToken(e){if(e.length===0){return false}for(let t=0;t0){for(let e=s.length;e!==0;e--){const t=s[e-1].trim();if(i.has(t)){r=t;break}}}if(r!==""){e.referrerPolicy=r}}function crossOriginResourcePolicyCheck(){return"allowed"}function corsCheck(){return"success"}function TAOCheck(){return"success"}function appendFetchMetadata(e){let t=null;t=e.mode;e.headersList.set("sec-fetch-mode",t)}function appendRequestOriginHeader(e){let t=e.origin;if(e.responseTainting==="cors"||e.mode==="websocket"){if(t){e.headersList.append("origin",t)}}else if(e.method!=="GET"&&e.method!=="HEAD"){switch(e.referrerPolicy){case"no-referrer":t=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":if(e.origin&&urlHasHttpsScheme(e.origin)&&!urlHasHttpsScheme(requestCurrentURL(e))){t=null}break;case"same-origin":if(!sameOrigin(e,requestCurrentURL(e))){t=null}break;default:}if(t){e.headersList.append("origin",t)}}}function coarsenedSharedCurrentTime(e){return o.now()}function createOpaqueTimingInfo(e){return{startTime:e.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:e.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function makePolicyContainer(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function clonePolicyContainer(e){return{referrerPolicy:e.referrerPolicy}}function determineRequestsReferrer(e){const t=e.referrerPolicy;l(t);let A=null;if(e.referrer==="client"){const e=a();if(!e||e.origin==="null"){return"no-referrer"}A=new URL(e)}else if(e.referrer instanceof URL){A=e.referrer}let s=stripURLForReferrer(A);const i=stripURLForReferrer(A,true);if(s.toString().length>4096){s=i}const r=sameOrigin(e,s);const o=isURLPotentiallyTrustworthy(s)&&!isURLPotentiallyTrustworthy(e.url);switch(t){case"origin":return i!=null?i:stripURLForReferrer(A,true);case"unsafe-url":return s;case"same-origin":return r?i:"no-referrer";case"origin-when-cross-origin":return r?s:i;case"strict-origin-when-cross-origin":{const t=requestCurrentURL(e);if(sameOrigin(s,t)){return s}if(isURLPotentiallyTrustworthy(s)&&!isURLPotentiallyTrustworthy(t)){return"no-referrer"}return i}case"strict-origin":case"no-referrer-when-downgrade":default:return o?"no-referrer":i}}function stripURLForReferrer(e,t){l(e instanceof URL);if(e.protocol==="file:"||e.protocol==="about:"||e.protocol==="blank:"){return"no-referrer"}e.username="";e.password="";e.hash="";if(t){e.pathname="";e.search=""}return e}function isURLPotentiallyTrustworthy(e){if(!(e instanceof URL)){return false}if(e.href==="about:blank"||e.href==="about:srcdoc"){return true}if(e.protocol==="data:")return true;if(e.protocol==="file:")return true;return isOriginPotentiallyTrustworthy(e.origin);function isOriginPotentiallyTrustworthy(e){if(e==null||e==="null")return false;const t=new URL(e);if(t.protocol==="https:"||t.protocol==="wss:"){return true}if(/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(t.hostname)||(t.hostname==="localhost"||t.hostname.includes("localhost."))||t.hostname.endsWith(".localhost")){return true}return false}}function bytesMatch(e,t){if(h===undefined){return true}const A=parseMetadata(t);if(A==="no metadata"){return true}if(A.length===0){return true}const s=getStrongestMetadata(A);const i=filterMetadataListByAlgorithm(A,s);for(const t of i){const A=t.algo;const s=t.hash;let i=h.createHash(A).update(e).digest("base64");if(i[i.length-1]==="="){if(i[i.length-2]==="="){i=i.slice(0,-2)}else{i=i.slice(0,-1)}}if(compareBase64Mixed(i,s)){return true}}return false}const g=/(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function parseMetadata(e){const t=[];let A=true;for(const s of e.split(" ")){A=false;const e=g.exec(s);if(e===null||e.groups===undefined||e.groups.algo===undefined){continue}const i=e.groups.algo.toLowerCase();if(u.includes(i)){t.push(e.groups)}}if(A===true){return"no metadata"}return t}function getStrongestMetadata(e){let t=e[0].algo;if(t[3]==="5"){return t}for(let A=1;A{e=A;t=s}));return{promise:A,resolve:e,reject:t}}function isAborted(e){return e.controller.state==="aborted"}function isCancelled(e){return e.controller.state==="aborted"||e.controller.state==="terminated"}const E={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"};Object.setPrototypeOf(E,null);function normalizeMethod(e){return E[e.toLowerCase()]??e}function serializeJavascriptValueToJSONString(e){const t=JSON.stringify(e);if(t===undefined){throw new TypeError("Value is not JSON serializable")}l(typeof t==="string");return t}const C=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function makeIterator(e,t,A){const s={index:0,kind:A,target:e};const i={next(){if(Object.getPrototypeOf(this)!==i){throw new TypeError(`'next' called on an object that does not implement interface ${t} Iterator.`)}const{index:e,kind:A,target:r}=s;const a=r();const o=a.length;if(e>=o){return{value:undefined,done:true}}const n=a[e];s.index=e+1;return iteratorResult(n,A)},[Symbol.toStringTag]:`${t} Iterator`};Object.setPrototypeOf(i,C);return Object.setPrototypeOf({},i)}function iteratorResult(e,t){let A;switch(t){case"key":{A=e[0];break}case"value":{A=e[1];break}case"key+value":{A=e;break}}return{value:A,done:false}}async function fullyReadBody(e,t,A){const s=t;const i=A;let r;try{r=e.stream.getReader()}catch(e){i(e);return}try{const e=await readAllBytes(r);s(e)}catch(e){i(e)}}let Q=globalThis.ReadableStream;function isReadableStreamLike(e){if(!Q){Q=A(5356).ReadableStream}return e instanceof Q||e[Symbol.toStringTag]==="ReadableStream"&&typeof e.tee==="function"}const B=65535;function isomorphicDecode(e){if(e.lengthe+String.fromCharCode(t)),"")}function readableStreamClose(e){try{e.close()}catch(e){if(!e.message.includes("Controller is already closed")){throw e}}}function isomorphicEncode(e){for(let t=0;tObject.prototype.hasOwnProperty.call(e,t));e.exports={isAborted:isAborted,isCancelled:isCancelled,createDeferredPromise:createDeferredPromise,ReadableStreamFrom:d,toUSVString:p,tryUpgradeRequestToAPotentiallyTrustworthyURL:tryUpgradeRequestToAPotentiallyTrustworthyURL,coarsenedSharedCurrentTime:coarsenedSharedCurrentTime,determineRequestsReferrer:determineRequestsReferrer,makePolicyContainer:makePolicyContainer,clonePolicyContainer:clonePolicyContainer,appendFetchMetadata:appendFetchMetadata,appendRequestOriginHeader:appendRequestOriginHeader,TAOCheck:TAOCheck,corsCheck:corsCheck,crossOriginResourcePolicyCheck:crossOriginResourcePolicyCheck,createOpaqueTimingInfo:createOpaqueTimingInfo,setRequestReferrerPolicyOnRedirect:setRequestReferrerPolicyOnRedirect,isValidHTTPToken:isValidHTTPToken,requestBadPort:requestBadPort,requestCurrentURL:requestCurrentURL,responseURL:responseURL,responseLocationURL:responseLocationURL,isBlobLike:n,isURLPotentiallyTrustworthy:isURLPotentiallyTrustworthy,isValidReasonPhrase:isValidReasonPhrase,sameOrigin:sameOrigin,normalizeMethod:normalizeMethod,serializeJavascriptValueToJSONString:serializeJavascriptValueToJSONString,makeIterator:makeIterator,isValidHeaderName:isValidHeaderName,isValidHeaderValue:isValidHeaderValue,hasOwn:I,isErrorLike:isErrorLike,fullyReadBody:fullyReadBody,bytesMatch:bytesMatch,isReadableStreamLike:isReadableStreamLike,readableStreamClose:readableStreamClose,isomorphicEncode:isomorphicEncode,isomorphicDecode:isomorphicDecode,urlIsLocal:urlIsLocal,urlHasHttpsScheme:urlHasHttpsScheme,urlIsHttpHttpsScheme:urlIsHttpHttpsScheme,readAllBytes:readAllBytes,normalizeMethodRecord:E,parseMetadata:parseMetadata}},1744:(e,t,A)=>{"use strict";const{types:s}=A(3837);const{hasOwn:i,toUSVString:r}=A(2538);const a={};a.converters={};a.util={};a.errors={};a.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)};a.errors.conversionFailed=function(e){const t=e.types.length===1?"":" one of";const A=`${e.argument} could not be converted to`+`${t}: ${e.types.join(", ")}.`;return a.errors.exception({header:e.prefix,message:A})};a.errors.invalidArgument=function(e){return a.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})};a.brandCheck=function(e,t,A=undefined){if(A?.strict!==false&&!(e instanceof t)){throw new TypeError("Illegal invocation")}else{return e?.[Symbol.toStringTag]===t.prototype[Symbol.toStringTag]}};a.argumentLengthCheck=function({length:e},t,A){if(ei){throw a.errors.exception({header:"Integer conversion",message:`Value must be between ${r}-${i}, got ${o}.`})}return o}if(!Number.isNaN(o)&&s.clamp===true){o=Math.min(Math.max(o,r),i);if(Math.floor(o)%2===0){o=Math.floor(o)}else{o=Math.ceil(o)}return o}if(Number.isNaN(o)||o===0&&Object.is(0,o)||o===Number.POSITIVE_INFINITY||o===Number.NEGATIVE_INFINITY){return 0}o=a.util.IntegerPart(o);o=o%Math.pow(2,t);if(A==="signed"&&o>=Math.pow(2,t)-1){return o-Math.pow(2,t)}return o};a.util.IntegerPart=function(e){const t=Math.floor(Math.abs(e));if(e<0){return-1*t}return t};a.sequenceConverter=function(e){return t=>{if(a.util.Type(t)!=="Object"){throw a.errors.exception({header:"Sequence",message:`Value of type ${a.util.Type(t)} is not an Object.`})}const A=t?.[Symbol.iterator]?.();const s=[];if(A===undefined||typeof A.next!=="function"){throw a.errors.exception({header:"Sequence",message:"Object is not an iterator."})}while(true){const{done:t,value:i}=A.next();if(t){break}s.push(e(i))}return s}};a.recordConverter=function(e,t){return A=>{if(a.util.Type(A)!=="Object"){throw a.errors.exception({header:"Record",message:`Value of type ${a.util.Type(A)} is not an Object.`})}const i={};if(!s.isProxy(A)){const s=Object.keys(A);for(const r of s){const s=e(r);const a=t(A[r]);i[s]=a}return i}const r=Reflect.ownKeys(A);for(const s of r){const r=Reflect.getOwnPropertyDescriptor(A,s);if(r?.enumerable){const r=e(s);const a=t(A[s]);i[r]=a}}return i}};a.interfaceConverter=function(e){return(t,A={})=>{if(A.strict!==false&&!(t instanceof e)){throw a.errors.exception({header:e.name,message:`Expected ${t} to be an instance of ${e.name}.`})}return t}};a.dictionaryConverter=function(e){return t=>{const A=a.util.Type(t);const s={};if(A==="Null"||A==="Undefined"){return s}else if(A!=="Object"){throw a.errors.exception({header:"Dictionary",message:`Expected ${t} to be one of: Null, Undefined, Object.`})}for(const A of e){const{key:e,defaultValue:r,required:o,converter:n}=A;if(o===true){if(!i(t,e)){throw a.errors.exception({header:"Dictionary",message:`Missing required key "${e}".`})}}let p=t[e];const d=i(A,"defaultValue");if(d&&p!==null){p=p??r}if(o||d||p!==undefined){p=n(p);if(A.allowedValues&&!A.allowedValues.includes(p)){throw a.errors.exception({header:"Dictionary",message:`${p} is not an accepted type. Expected one of ${A.allowedValues.join(", ")}.`})}s[e]=p}}return s}};a.nullableConverter=function(e){return t=>{if(t===null){return t}return e(t)}};a.converters.DOMString=function(e,t={}){if(e===null&&t.legacyNullToEmptyString){return""}if(typeof e==="symbol"){throw new TypeError("Could not convert argument of type symbol to string.")}return String(e)};a.converters.ByteString=function(e){const t=a.converters.DOMString(e);for(let e=0;e255){throw new TypeError("Cannot convert argument to a ByteString because the character at "+`index ${e} has a value of ${t.charCodeAt(e)} which is greater than 255.`)}}return t};a.converters.USVString=r;a.converters.boolean=function(e){const t=Boolean(e);return t};a.converters.any=function(e){return e};a.converters["long long"]=function(e){const t=a.util.ConvertToInt(e,64,"signed");return t};a.converters["unsigned long long"]=function(e){const t=a.util.ConvertToInt(e,64,"unsigned");return t};a.converters["unsigned long"]=function(e){const t=a.util.ConvertToInt(e,32,"unsigned");return t};a.converters["unsigned short"]=function(e,t){const A=a.util.ConvertToInt(e,16,"unsigned",t);return A};a.converters.ArrayBuffer=function(e,t={}){if(a.util.Type(e)!=="Object"||!s.isAnyArrayBuffer(e)){throw a.errors.conversionFailed({prefix:`${e}`,argument:`${e}`,types:["ArrayBuffer"]})}if(t.allowShared===false&&s.isSharedArrayBuffer(e)){throw a.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};a.converters.TypedArray=function(e,t,A={}){if(a.util.Type(e)!=="Object"||!s.isTypedArray(e)||e.constructor.name!==t.name){throw a.errors.conversionFailed({prefix:`${t.name}`,argument:`${e}`,types:[t.name]})}if(A.allowShared===false&&s.isSharedArrayBuffer(e.buffer)){throw a.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};a.converters.DataView=function(e,t={}){if(a.util.Type(e)!=="Object"||!s.isDataView(e)){throw a.errors.exception({header:"DataView",message:"Object is not a DataView."})}if(t.allowShared===false&&s.isSharedArrayBuffer(e.buffer)){throw a.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};a.converters.BufferSource=function(e,t={}){if(s.isAnyArrayBuffer(e)){return a.converters.ArrayBuffer(e,t)}if(s.isTypedArray(e)){return a.converters.TypedArray(e,e.constructor)}if(s.isDataView(e)){return a.converters.DataView(e,t)}throw new TypeError(`Could not convert ${e} to a BufferSource.`)};a.converters["sequence"]=a.sequenceConverter(a.converters.ByteString);a.converters["sequence>"]=a.sequenceConverter(a.converters["sequence"]);a.converters["record"]=a.recordConverter(a.converters.ByteString,a.converters.ByteString);e.exports={webidl:a}},4854:e=>{"use strict";function getEncoding(e){if(!e){return"failure"}switch(e.trim().toLowerCase()){case"unicode-1-1-utf-8":case"unicode11utf8":case"unicode20utf8":case"utf-8":case"utf8":case"x-unicode20utf8":return"UTF-8";case"866":case"cp866":case"csibm866":case"ibm866":return"IBM866";case"csisolatin2":case"iso-8859-2":case"iso-ir-101":case"iso8859-2":case"iso88592":case"iso_8859-2":case"iso_8859-2:1987":case"l2":case"latin2":return"ISO-8859-2";case"csisolatin3":case"iso-8859-3":case"iso-ir-109":case"iso8859-3":case"iso88593":case"iso_8859-3":case"iso_8859-3:1988":case"l3":case"latin3":return"ISO-8859-3";case"csisolatin4":case"iso-8859-4":case"iso-ir-110":case"iso8859-4":case"iso88594":case"iso_8859-4":case"iso_8859-4:1988":case"l4":case"latin4":return"ISO-8859-4";case"csisolatincyrillic":case"cyrillic":case"iso-8859-5":case"iso-ir-144":case"iso8859-5":case"iso88595":case"iso_8859-5":case"iso_8859-5:1988":return"ISO-8859-5";case"arabic":case"asmo-708":case"csiso88596e":case"csiso88596i":case"csisolatinarabic":case"ecma-114":case"iso-8859-6":case"iso-8859-6-e":case"iso-8859-6-i":case"iso-ir-127":case"iso8859-6":case"iso88596":case"iso_8859-6":case"iso_8859-6:1987":return"ISO-8859-6";case"csisolatingreek":case"ecma-118":case"elot_928":case"greek":case"greek8":case"iso-8859-7":case"iso-ir-126":case"iso8859-7":case"iso88597":case"iso_8859-7":case"iso_8859-7:1987":case"sun_eu_greek":return"ISO-8859-7";case"csiso88598e":case"csisolatinhebrew":case"hebrew":case"iso-8859-8":case"iso-8859-8-e":case"iso-ir-138":case"iso8859-8":case"iso88598":case"iso_8859-8":case"iso_8859-8:1988":case"visual":return"ISO-8859-8";case"csiso88598i":case"iso-8859-8-i":case"logical":return"ISO-8859-8-I";case"csisolatin6":case"iso-8859-10":case"iso-ir-157":case"iso8859-10":case"iso885910":case"l6":case"latin6":return"ISO-8859-10";case"iso-8859-13":case"iso8859-13":case"iso885913":return"ISO-8859-13";case"iso-8859-14":case"iso8859-14":case"iso885914":return"ISO-8859-14";case"csisolatin9":case"iso-8859-15":case"iso8859-15":case"iso885915":case"iso_8859-15":case"l9":return"ISO-8859-15";case"iso-8859-16":return"ISO-8859-16";case"cskoi8r":case"koi":case"koi8":case"koi8-r":case"koi8_r":return"KOI8-R";case"koi8-ru":case"koi8-u":return"KOI8-U";case"csmacintosh":case"mac":case"macintosh":case"x-mac-roman":return"macintosh";case"iso-8859-11":case"iso8859-11":case"iso885911":case"tis-620":case"windows-874":return"windows-874";case"cp1250":case"windows-1250":case"x-cp1250":return"windows-1250";case"cp1251":case"windows-1251":case"x-cp1251":return"windows-1251";case"ansi_x3.4-1968":case"ascii":case"cp1252":case"cp819":case"csisolatin1":case"ibm819":case"iso-8859-1":case"iso-ir-100":case"iso8859-1":case"iso88591":case"iso_8859-1":case"iso_8859-1:1987":case"l1":case"latin1":case"us-ascii":case"windows-1252":case"x-cp1252":return"windows-1252";case"cp1253":case"windows-1253":case"x-cp1253":return"windows-1253";case"cp1254":case"csisolatin5":case"iso-8859-9":case"iso-ir-148":case"iso8859-9":case"iso88599":case"iso_8859-9":case"iso_8859-9:1989":case"l5":case"latin5":case"windows-1254":case"x-cp1254":return"windows-1254";case"cp1255":case"windows-1255":case"x-cp1255":return"windows-1255";case"cp1256":case"windows-1256":case"x-cp1256":return"windows-1256";case"cp1257":case"windows-1257":case"x-cp1257":return"windows-1257";case"cp1258":case"windows-1258":case"x-cp1258":return"windows-1258";case"x-mac-cyrillic":case"x-mac-ukrainian":return"x-mac-cyrillic";case"chinese":case"csgb2312":case"csiso58gb231280":case"gb2312":case"gb_2312":case"gb_2312-80":case"gbk":case"iso-ir-58":case"x-gbk":return"GBK";case"gb18030":return"gb18030";case"big5":case"big5-hkscs":case"cn-big5":case"csbig5":case"x-x-big5":return"Big5";case"cseucpkdfmtjapanese":case"euc-jp":case"x-euc-jp":return"EUC-JP";case"csiso2022jp":case"iso-2022-jp":return"ISO-2022-JP";case"csshiftjis":case"ms932":case"ms_kanji":case"shift-jis":case"shift_jis":case"sjis":case"windows-31j":case"x-sjis":return"Shift_JIS";case"cseuckr":case"csksc56011987":case"euc-kr":case"iso-ir-149":case"korean":case"ks_c_5601-1987":case"ks_c_5601-1989":case"ksc5601":case"ksc_5601":case"windows-949":return"EUC-KR";case"csiso2022kr":case"hz-gb-2312":case"iso-2022-cn":case"iso-2022-cn-ext":case"iso-2022-kr":case"replacement":return"replacement";case"unicodefffe":case"utf-16be":return"UTF-16BE";case"csunicode":case"iso-10646-ucs-2":case"ucs-2":case"unicode":case"unicodefeff":case"utf-16":case"utf-16le":return"UTF-16LE";case"x-user-defined":return"x-user-defined";default:return"failure"}}e.exports={getEncoding:getEncoding}},1446:(e,t,A)=>{"use strict";const{staticPropertyDescriptors:s,readOperation:i,fireAProgressEvent:r}=A(7530);const{kState:a,kError:o,kResult:n,kEvents:p,kAborted:d}=A(9054);const{webidl:l}=A(1744);const{kEnumerableProperty:c}=A(3983);class FileReader extends EventTarget{constructor(){super();this[a]="empty";this[n]=null;this[o]=null;this[p]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(e){l.brandCheck(this,FileReader);l.argumentLengthCheck(arguments,1,{header:"FileReader.readAsArrayBuffer"});e=l.converters.Blob(e,{strict:false});i(this,e,"ArrayBuffer")}readAsBinaryString(e){l.brandCheck(this,FileReader);l.argumentLengthCheck(arguments,1,{header:"FileReader.readAsBinaryString"});e=l.converters.Blob(e,{strict:false});i(this,e,"BinaryString")}readAsText(e,t=undefined){l.brandCheck(this,FileReader);l.argumentLengthCheck(arguments,1,{header:"FileReader.readAsText"});e=l.converters.Blob(e,{strict:false});if(t!==undefined){t=l.converters.DOMString(t)}i(this,e,"Text",t)}readAsDataURL(e){l.brandCheck(this,FileReader);l.argumentLengthCheck(arguments,1,{header:"FileReader.readAsDataURL"});e=l.converters.Blob(e,{strict:false});i(this,e,"DataURL")}abort(){if(this[a]==="empty"||this[a]==="done"){this[n]=null;return}if(this[a]==="loading"){this[a]="done";this[n]=null}this[d]=true;r("abort",this);if(this[a]!=="loading"){r("loadend",this)}}get readyState(){l.brandCheck(this,FileReader);switch(this[a]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){l.brandCheck(this,FileReader);return this[n]}get error(){l.brandCheck(this,FileReader);return this[o]}get onloadend(){l.brandCheck(this,FileReader);return this[p].loadend}set onloadend(e){l.brandCheck(this,FileReader);if(this[p].loadend){this.removeEventListener("loadend",this[p].loadend)}if(typeof e==="function"){this[p].loadend=e;this.addEventListener("loadend",e)}else{this[p].loadend=null}}get onerror(){l.brandCheck(this,FileReader);return this[p].error}set onerror(e){l.brandCheck(this,FileReader);if(this[p].error){this.removeEventListener("error",this[p].error)}if(typeof e==="function"){this[p].error=e;this.addEventListener("error",e)}else{this[p].error=null}}get onloadstart(){l.brandCheck(this,FileReader);return this[p].loadstart}set onloadstart(e){l.brandCheck(this,FileReader);if(this[p].loadstart){this.removeEventListener("loadstart",this[p].loadstart)}if(typeof e==="function"){this[p].loadstart=e;this.addEventListener("loadstart",e)}else{this[p].loadstart=null}}get onprogress(){l.brandCheck(this,FileReader);return this[p].progress}set onprogress(e){l.brandCheck(this,FileReader);if(this[p].progress){this.removeEventListener("progress",this[p].progress)}if(typeof e==="function"){this[p].progress=e;this.addEventListener("progress",e)}else{this[p].progress=null}}get onload(){l.brandCheck(this,FileReader);return this[p].load}set onload(e){l.brandCheck(this,FileReader);if(this[p].load){this.removeEventListener("load",this[p].load)}if(typeof e==="function"){this[p].load=e;this.addEventListener("load",e)}else{this[p].load=null}}get onabort(){l.brandCheck(this,FileReader);return this[p].abort}set onabort(e){l.brandCheck(this,FileReader);if(this[p].abort){this.removeEventListener("abort",this[p].abort)}if(typeof e==="function"){this[p].abort=e;this.addEventListener("abort",e)}else{this[p].abort=null}}}FileReader.EMPTY=FileReader.prototype.EMPTY=0;FileReader.LOADING=FileReader.prototype.LOADING=1;FileReader.DONE=FileReader.prototype.DONE=2;Object.defineProperties(FileReader.prototype,{EMPTY:s,LOADING:s,DONE:s,readAsArrayBuffer:c,readAsBinaryString:c,readAsText:c,readAsDataURL:c,abort:c,readyState:c,result:c,error:c,onloadstart:c,onprogress:c,onload:c,onabort:c,onerror:c,onloadend:c,[Symbol.toStringTag]:{value:"FileReader",writable:false,enumerable:false,configurable:true}});Object.defineProperties(FileReader,{EMPTY:s,LOADING:s,DONE:s});e.exports={FileReader:FileReader}},5504:(e,t,A)=>{"use strict";const{webidl:s}=A(1744);const i=Symbol("ProgressEvent state");class ProgressEvent extends Event{constructor(e,t={}){e=s.converters.DOMString(e);t=s.converters.ProgressEventInit(t??{});super(e,t);this[i]={lengthComputable:t.lengthComputable,loaded:t.loaded,total:t.total}}get lengthComputable(){s.brandCheck(this,ProgressEvent);return this[i].lengthComputable}get loaded(){s.brandCheck(this,ProgressEvent);return this[i].loaded}get total(){s.brandCheck(this,ProgressEvent);return this[i].total}}s.converters.ProgressEventInit=s.dictionaryConverter([{key:"lengthComputable",converter:s.converters.boolean,defaultValue:false},{key:"loaded",converter:s.converters["unsigned long long"],defaultValue:0},{key:"total",converter:s.converters["unsigned long long"],defaultValue:0},{key:"bubbles",converter:s.converters.boolean,defaultValue:false},{key:"cancelable",converter:s.converters.boolean,defaultValue:false},{key:"composed",converter:s.converters.boolean,defaultValue:false}]);e.exports={ProgressEvent:ProgressEvent}},9054:e=>{"use strict";e.exports={kState:Symbol("FileReader state"),kResult:Symbol("FileReader result"),kError:Symbol("FileReader error"),kLastProgressEventFired:Symbol("FileReader last progress event fired timestamp"),kEvents:Symbol("FileReader events"),kAborted:Symbol("FileReader aborted")}},7530:(e,t,A)=>{"use strict";const{kState:s,kError:i,kResult:r,kAborted:a,kLastProgressEventFired:o}=A(9054);const{ProgressEvent:n}=A(5504);const{getEncoding:p}=A(4854);const{DOMException:d}=A(1037);const{serializeAMimeType:l,parseMIMEType:c}=A(685);const{types:u}=A(3837);const{StringDecoder:h}=A(1576);const{btoa:g}=A(4300);const E={enumerable:true,writable:false,configurable:false};function readOperation(e,t,A,n){if(e[s]==="loading"){throw new d("Invalid state","InvalidStateError")}e[s]="loading";e[r]=null;e[i]=null;const p=t.stream();const l=p.getReader();const c=[];let h=l.read();let g=true;(async()=>{while(!e[a]){try{const{done:p,value:d}=await h;if(g&&!e[a]){queueMicrotask((()=>{fireAProgressEvent("loadstart",e)}))}g=false;if(!p&&u.isUint8Array(d)){c.push(d);if((e[o]===undefined||Date.now()-e[o]>=50)&&!e[a]){e[o]=Date.now();queueMicrotask((()=>{fireAProgressEvent("progress",e)}))}h=l.read()}else if(p){queueMicrotask((()=>{e[s]="done";try{const s=packageData(c,A,t.type,n);if(e[a]){return}e[r]=s;fireAProgressEvent("load",e)}catch(t){e[i]=t;fireAProgressEvent("error",e)}if(e[s]!=="loading"){fireAProgressEvent("loadend",e)}}));break}}catch(t){if(e[a]){return}queueMicrotask((()=>{e[s]="done";e[i]=t;fireAProgressEvent("error",e);if(e[s]!=="loading"){fireAProgressEvent("loadend",e)}}));break}}})()}function fireAProgressEvent(e,t){const A=new n(e,{bubbles:false,cancelable:false});t.dispatchEvent(A)}function packageData(e,t,A,s){switch(t){case"DataURL":{let t="data:";const s=c(A||"application/octet-stream");if(s!=="failure"){t+=l(s)}t+=";base64,";const i=new h("latin1");for(const A of e){t+=g(i.write(A))}t+=g(i.end());return t}case"Text":{let t="failure";if(s){t=p(s)}if(t==="failure"&&A){const e=c(A);if(e!=="failure"){t=p(e.parameters.get("charset"))}}if(t==="failure"){t="UTF-8"}return decode(e,t)}case"ArrayBuffer":{const t=combineByteSequences(e);return t.buffer}case"BinaryString":{let t="";const A=new h("latin1");for(const s of e){t+=A.write(s)}t+=A.end();return t}}}function decode(e,t){const A=combineByteSequences(e);const s=BOMSniffing(A);let i=0;if(s!==null){t=s;i=s==="UTF-8"?3:2}const r=A.slice(i);return new TextDecoder(t).decode(r)}function BOMSniffing(e){const[t,A,s]=e;if(t===239&&A===187&&s===191){return"UTF-8"}else if(t===254&&A===255){return"UTF-16BE"}else if(t===255&&A===254){return"UTF-16LE"}return null}function combineByteSequences(e){const t=e.reduce(((e,t)=>e+t.byteLength),0);let A=0;return e.reduce(((e,t)=>{e.set(t,A);A+=t.byteLength;return e}),new Uint8Array(t))}e.exports={staticPropertyDescriptors:E,readOperation:readOperation,fireAProgressEvent:fireAProgressEvent}},1892:(e,t,A)=>{"use strict";const s=Symbol.for("undici.globalDispatcher.1");const{InvalidArgumentError:i}=A(8045);const r=A(7890);if(getGlobalDispatcher()===undefined){setGlobalDispatcher(new r)}function setGlobalDispatcher(e){if(!e||typeof e.dispatch!=="function"){throw new i("Argument agent must implement Agent")}Object.defineProperty(globalThis,s,{value:e,writable:true,enumerable:false,configurable:false})}function getGlobalDispatcher(){return globalThis[s]}e.exports={setGlobalDispatcher:setGlobalDispatcher,getGlobalDispatcher:getGlobalDispatcher}},6930:e=>{"use strict";e.exports=class DecoratorHandler{constructor(e){this.handler=e}onConnect(...e){return this.handler.onConnect(...e)}onError(...e){return this.handler.onError(...e)}onUpgrade(...e){return this.handler.onUpgrade(...e)}onHeaders(...e){return this.handler.onHeaders(...e)}onData(...e){return this.handler.onData(...e)}onComplete(...e){return this.handler.onComplete(...e)}onBodySent(...e){return this.handler.onBodySent(...e)}}},2860:(e,t,A)=>{"use strict";const s=A(3983);const{kBodyUsed:i}=A(2785);const r=A(9491);const{InvalidArgumentError:a}=A(8045);const o=A(2361);const n=[300,301,302,303,307,308];const p=Symbol("body");class BodyAsyncIterable{constructor(e){this[p]=e;this[i]=false}async*[Symbol.asyncIterator](){r(!this[i],"disturbed");this[i]=true;yield*this[p]}}class RedirectHandler{constructor(e,t,A,n){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new a("maxRedirections must be a positive number")}s.validateHandler(n,A.method,A.upgrade);this.dispatch=e;this.location=null;this.abort=null;this.opts={...A,maxRedirections:0};this.maxRedirections=t;this.handler=n;this.history=[];if(s.isStream(this.opts.body)){if(s.bodyLength(this.opts.body)===0){this.opts.body.on("data",(function(){r(false)}))}if(typeof this.opts.body.readableDidRead!=="boolean"){this.opts.body[i]=false;o.prototype.on.call(this.opts.body,"data",(function(){this[i]=true}))}}else if(this.opts.body&&typeof this.opts.body.pipeTo==="function"){this.opts.body=new BodyAsyncIterable(this.opts.body)}else if(this.opts.body&&typeof this.opts.body!=="string"&&!ArrayBuffer.isView(this.opts.body)&&s.isIterable(this.opts.body)){this.opts.body=new BodyAsyncIterable(this.opts.body)}}onConnect(e){this.abort=e;this.handler.onConnect(e,{history:this.history})}onUpgrade(e,t,A){this.handler.onUpgrade(e,t,A)}onError(e){this.handler.onError(e)}onHeaders(e,t,A,i){this.location=this.history.length>=this.maxRedirections||s.isDisturbed(this.opts.body)?null:parseLocation(e,t);if(this.opts.origin){this.history.push(new URL(this.opts.path,this.opts.origin))}if(!this.location){return this.handler.onHeaders(e,t,A,i)}const{origin:r,pathname:a,search:o}=s.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin)));const n=o?`${a}${o}`:a;this.opts.headers=cleanRequestHeaders(this.opts.headers,e===303,this.opts.origin!==r);this.opts.path=n;this.opts.origin=r;this.opts.maxRedirections=0;this.opts.query=null;if(e===303&&this.opts.method!=="HEAD"){this.opts.method="GET";this.opts.body=null}}onData(e){if(this.location){}else{return this.handler.onData(e)}}onComplete(e){if(this.location){this.location=null;this.abort=null;this.dispatch(this.opts,this)}else{this.handler.onComplete(e)}}onBodySent(e){if(this.handler.onBodySent){this.handler.onBodySent(e)}}}function parseLocation(e,t){if(n.indexOf(e)===-1){return null}for(let e=0;e{const s=A(9491);const{kRetryHandlerDefaultRetry:i}=A(2785);const{RequestRetryError:r}=A(8045);const{isDisturbed:a,parseHeaders:o,parseRangeHeader:n}=A(3983);function calculateRetryAfterHeader(e){const t=Date.now();const A=new Date(e).getTime()-t;return A}class RetryHandler{constructor(e,t){const{retryOptions:A,...s}=e;const{retry:r,maxRetries:a,maxTimeout:o,minTimeout:n,timeoutFactor:p,methods:d,errorCodes:l,retryAfter:c,statusCodes:u}=A??{};this.dispatch=t.dispatch;this.handler=t.handler;this.opts=s;this.abort=null;this.aborted=false;this.retryOpts={retry:r??RetryHandler[i],retryAfter:c??true,maxTimeout:o??30*1e3,timeout:n??500,timeoutFactor:p??2,maxRetries:a??5,methods:d??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:u??[500,502,503,504,429],errorCodes:l??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE"]};this.retryCount=0;this.start=0;this.end=null;this.etag=null;this.resume=null;this.handler.onConnect((e=>{this.aborted=true;if(this.abort){this.abort(e)}else{this.reason=e}}))}onRequestSent(){if(this.handler.onRequestSent){this.handler.onRequestSent()}}onUpgrade(e,t,A){if(this.handler.onUpgrade){this.handler.onUpgrade(e,t,A)}}onConnect(e){if(this.aborted){e(this.reason)}else{this.abort=e}}onBodySent(e){if(this.handler.onBodySent)return this.handler.onBodySent(e)}static[i](e,{state:t,opts:A},s){const{statusCode:i,code:r,headers:a}=e;const{method:o,retryOptions:n}=A;const{maxRetries:p,timeout:d,maxTimeout:l,timeoutFactor:c,statusCodes:u,errorCodes:h,methods:g}=n;let{counter:E,currentTimeout:C}=t;C=C!=null&&C>0?C:d;if(r&&r!=="UND_ERR_REQ_RETRY"&&r!=="UND_ERR_SOCKET"&&!h.includes(r)){s(e);return}if(Array.isArray(g)&&!g.includes(o)){s(e);return}if(i!=null&&Array.isArray(u)&&!u.includes(i)){s(e);return}if(E>p){s(e);return}let Q=a!=null&&a["retry-after"];if(Q){Q=Number(Q);Q=isNaN(Q)?calculateRetryAfterHeader(Q):Q*1e3}const B=Q>0?Math.min(Q,l):Math.min(C*c**E,l);t.currentTimeout=B;setTimeout((()=>s(null)),B)}onHeaders(e,t,A,i){const a=o(t);this.retryCount+=1;if(e>=300){this.abort(new r("Request failed",e,{headers:a,count:this.retryCount}));return false}if(this.resume!=null){this.resume=null;if(e!==206){return true}const t=n(a["content-range"]);if(!t){this.abort(new r("Content-Range mismatch",e,{headers:a,count:this.retryCount}));return false}if(this.etag!=null&&this.etag!==a.etag){this.abort(new r("ETag mismatch",e,{headers:a,count:this.retryCount}));return false}const{start:i,size:o,end:p=o}=t;s(this.start===i,"content-range mismatch");s(this.end==null||this.end===p,"content-range mismatch");this.resume=A;return true}if(this.end==null){if(e===206){const r=n(a["content-range"]);if(r==null){return this.handler.onHeaders(e,t,A,i)}const{start:o,size:p,end:d=p}=r;s(o!=null&&Number.isFinite(o)&&this.start!==o,"content-range mismatch");s(Number.isFinite(o));s(d!=null&&Number.isFinite(d)&&this.end!==d,"invalid content-length");this.start=o;this.end=d}if(this.end==null){const e=a["content-length"];this.end=e!=null?Number(e):null}s(Number.isFinite(this.start));s(this.end==null||Number.isFinite(this.end),"invalid content-length");this.resume=A;this.etag=a.etag!=null?a.etag:null;return this.handler.onHeaders(e,t,A,i)}const p=new r("Request failed",e,{headers:a,count:this.retryCount});this.abort(p);return false}onData(e){this.start+=e.length;return this.handler.onData(e)}onComplete(e){this.retryCount=0;return this.handler.onComplete(e)}onError(e){if(this.aborted||a(this.opts.body)){return this.handler.onError(e)}this.retryOpts.retry(e,{state:{counter:this.retryCount++,currentTimeout:this.retryAfter},opts:{retryOptions:this.retryOpts,...this.opts}},onRetry.bind(this));function onRetry(e){if(e!=null||this.aborted||a(this.opts.body)){return this.handler.onError(e)}if(this.start!==0){this.opts={...this.opts,headers:{...this.opts.headers,range:`bytes=${this.start}-${this.end??""}`}}}try{this.dispatch(this.opts,this)}catch(e){this.handler.onError(e)}}}}e.exports=RetryHandler},8861:(e,t,A)=>{"use strict";const s=A(2860);function createRedirectInterceptor({maxRedirections:e}){return t=>function Intercept(A,i){const{maxRedirections:r=e}=A;if(!r){return t(A,i)}const a=new s(t,r,A,i);A={...A,maxRedirections:0};return t(A,a)}}e.exports=createRedirectInterceptor},953:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SPECIAL_HEADERS=t.HEADER_STATE=t.MINOR=t.MAJOR=t.CONNECTION_TOKEN_CHARS=t.HEADER_CHARS=t.TOKEN=t.STRICT_TOKEN=t.HEX=t.URL_CHAR=t.STRICT_URL_CHAR=t.USERINFO_CHARS=t.MARK=t.ALPHANUM=t.NUM=t.HEX_MAP=t.NUM_MAP=t.ALPHA=t.FINISH=t.H_METHOD_MAP=t.METHOD_MAP=t.METHODS_RTSP=t.METHODS_ICE=t.METHODS_HTTP=t.METHODS=t.LENIENT_FLAGS=t.FLAGS=t.TYPE=t.ERROR=void 0;const s=A(1891);var i;(function(e){e[e["OK"]=0]="OK";e[e["INTERNAL"]=1]="INTERNAL";e[e["STRICT"]=2]="STRICT";e[e["LF_EXPECTED"]=3]="LF_EXPECTED";e[e["UNEXPECTED_CONTENT_LENGTH"]=4]="UNEXPECTED_CONTENT_LENGTH";e[e["CLOSED_CONNECTION"]=5]="CLOSED_CONNECTION";e[e["INVALID_METHOD"]=6]="INVALID_METHOD";e[e["INVALID_URL"]=7]="INVALID_URL";e[e["INVALID_CONSTANT"]=8]="INVALID_CONSTANT";e[e["INVALID_VERSION"]=9]="INVALID_VERSION";e[e["INVALID_HEADER_TOKEN"]=10]="INVALID_HEADER_TOKEN";e[e["INVALID_CONTENT_LENGTH"]=11]="INVALID_CONTENT_LENGTH";e[e["INVALID_CHUNK_SIZE"]=12]="INVALID_CHUNK_SIZE";e[e["INVALID_STATUS"]=13]="INVALID_STATUS";e[e["INVALID_EOF_STATE"]=14]="INVALID_EOF_STATE";e[e["INVALID_TRANSFER_ENCODING"]=15]="INVALID_TRANSFER_ENCODING";e[e["CB_MESSAGE_BEGIN"]=16]="CB_MESSAGE_BEGIN";e[e["CB_HEADERS_COMPLETE"]=17]="CB_HEADERS_COMPLETE";e[e["CB_MESSAGE_COMPLETE"]=18]="CB_MESSAGE_COMPLETE";e[e["CB_CHUNK_HEADER"]=19]="CB_CHUNK_HEADER";e[e["CB_CHUNK_COMPLETE"]=20]="CB_CHUNK_COMPLETE";e[e["PAUSED"]=21]="PAUSED";e[e["PAUSED_UPGRADE"]=22]="PAUSED_UPGRADE";e[e["PAUSED_H2_UPGRADE"]=23]="PAUSED_H2_UPGRADE";e[e["USER"]=24]="USER"})(i=t.ERROR||(t.ERROR={}));var r;(function(e){e[e["BOTH"]=0]="BOTH";e[e["REQUEST"]=1]="REQUEST";e[e["RESPONSE"]=2]="RESPONSE"})(r=t.TYPE||(t.TYPE={}));var a;(function(e){e[e["CONNECTION_KEEP_ALIVE"]=1]="CONNECTION_KEEP_ALIVE";e[e["CONNECTION_CLOSE"]=2]="CONNECTION_CLOSE";e[e["CONNECTION_UPGRADE"]=4]="CONNECTION_UPGRADE";e[e["CHUNKED"]=8]="CHUNKED";e[e["UPGRADE"]=16]="UPGRADE";e[e["CONTENT_LENGTH"]=32]="CONTENT_LENGTH";e[e["SKIPBODY"]=64]="SKIPBODY";e[e["TRAILING"]=128]="TRAILING";e[e["TRANSFER_ENCODING"]=512]="TRANSFER_ENCODING"})(a=t.FLAGS||(t.FLAGS={}));var o;(function(e){e[e["HEADERS"]=1]="HEADERS";e[e["CHUNKED_LENGTH"]=2]="CHUNKED_LENGTH";e[e["KEEP_ALIVE"]=4]="KEEP_ALIVE"})(o=t.LENIENT_FLAGS||(t.LENIENT_FLAGS={}));var n;(function(e){e[e["DELETE"]=0]="DELETE";e[e["GET"]=1]="GET";e[e["HEAD"]=2]="HEAD";e[e["POST"]=3]="POST";e[e["PUT"]=4]="PUT";e[e["CONNECT"]=5]="CONNECT";e[e["OPTIONS"]=6]="OPTIONS";e[e["TRACE"]=7]="TRACE";e[e["COPY"]=8]="COPY";e[e["LOCK"]=9]="LOCK";e[e["MKCOL"]=10]="MKCOL";e[e["MOVE"]=11]="MOVE";e[e["PROPFIND"]=12]="PROPFIND";e[e["PROPPATCH"]=13]="PROPPATCH";e[e["SEARCH"]=14]="SEARCH";e[e["UNLOCK"]=15]="UNLOCK";e[e["BIND"]=16]="BIND";e[e["REBIND"]=17]="REBIND";e[e["UNBIND"]=18]="UNBIND";e[e["ACL"]=19]="ACL";e[e["REPORT"]=20]="REPORT";e[e["MKACTIVITY"]=21]="MKACTIVITY";e[e["CHECKOUT"]=22]="CHECKOUT";e[e["MERGE"]=23]="MERGE";e[e["M-SEARCH"]=24]="M-SEARCH";e[e["NOTIFY"]=25]="NOTIFY";e[e["SUBSCRIBE"]=26]="SUBSCRIBE";e[e["UNSUBSCRIBE"]=27]="UNSUBSCRIBE";e[e["PATCH"]=28]="PATCH";e[e["PURGE"]=29]="PURGE";e[e["MKCALENDAR"]=30]="MKCALENDAR";e[e["LINK"]=31]="LINK";e[e["UNLINK"]=32]="UNLINK";e[e["SOURCE"]=33]="SOURCE";e[e["PRI"]=34]="PRI";e[e["DESCRIBE"]=35]="DESCRIBE";e[e["ANNOUNCE"]=36]="ANNOUNCE";e[e["SETUP"]=37]="SETUP";e[e["PLAY"]=38]="PLAY";e[e["PAUSE"]=39]="PAUSE";e[e["TEARDOWN"]=40]="TEARDOWN";e[e["GET_PARAMETER"]=41]="GET_PARAMETER";e[e["SET_PARAMETER"]=42]="SET_PARAMETER";e[e["REDIRECT"]=43]="REDIRECT";e[e["RECORD"]=44]="RECORD";e[e["FLUSH"]=45]="FLUSH"})(n=t.METHODS||(t.METHODS={}));t.METHODS_HTTP=[n.DELETE,n.GET,n.HEAD,n.POST,n.PUT,n.CONNECT,n.OPTIONS,n.TRACE,n.COPY,n.LOCK,n.MKCOL,n.MOVE,n.PROPFIND,n.PROPPATCH,n.SEARCH,n.UNLOCK,n.BIND,n.REBIND,n.UNBIND,n.ACL,n.REPORT,n.MKACTIVITY,n.CHECKOUT,n.MERGE,n["M-SEARCH"],n.NOTIFY,n.SUBSCRIBE,n.UNSUBSCRIBE,n.PATCH,n.PURGE,n.MKCALENDAR,n.LINK,n.UNLINK,n.PRI,n.SOURCE];t.METHODS_ICE=[n.SOURCE];t.METHODS_RTSP=[n.OPTIONS,n.DESCRIBE,n.ANNOUNCE,n.SETUP,n.PLAY,n.PAUSE,n.TEARDOWN,n.GET_PARAMETER,n.SET_PARAMETER,n.REDIRECT,n.RECORD,n.FLUSH,n.GET,n.POST];t.METHOD_MAP=s.enumToMap(n);t.H_METHOD_MAP={};Object.keys(t.METHOD_MAP).forEach((e=>{if(/^H/.test(e)){t.H_METHOD_MAP[e]=t.METHOD_MAP[e]}}));var p;(function(e){e[e["SAFE"]=0]="SAFE";e[e["SAFE_WITH_CB"]=1]="SAFE_WITH_CB";e[e["UNSAFE"]=2]="UNSAFE"})(p=t.FINISH||(t.FINISH={}));t.ALPHA=[];for(let e="A".charCodeAt(0);e<="Z".charCodeAt(0);e++){t.ALPHA.push(String.fromCharCode(e));t.ALPHA.push(String.fromCharCode(e+32))}t.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};t.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};t.NUM=["0","1","2","3","4","5","6","7","8","9"];t.ALPHANUM=t.ALPHA.concat(t.NUM);t.MARK=["-","_",".","!","~","*","'","(",")"];t.USERINFO_CHARS=t.ALPHANUM.concat(t.MARK).concat(["%",";",":","&","=","+","$",","]);t.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(t.ALPHANUM);t.URL_CHAR=t.STRICT_URL_CHAR.concat(["\t","\f"]);for(let e=128;e<=255;e++){t.URL_CHAR.push(e)}t.HEX=t.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);t.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(t.ALPHANUM);t.TOKEN=t.STRICT_TOKEN.concat([" "]);t.HEADER_CHARS=["\t"];for(let e=32;e<=255;e++){if(e!==127){t.HEADER_CHARS.push(e)}}t.CONNECTION_TOKEN_CHARS=t.HEADER_CHARS.filter((e=>e!==44));t.MAJOR=t.NUM_MAP;t.MINOR=t.MAJOR;var d;(function(e){e[e["GENERAL"]=0]="GENERAL";e[e["CONNECTION"]=1]="CONNECTION";e[e["CONTENT_LENGTH"]=2]="CONTENT_LENGTH";e[e["TRANSFER_ENCODING"]=3]="TRANSFER_ENCODING";e[e["UPGRADE"]=4]="UPGRADE";e[e["CONNECTION_KEEP_ALIVE"]=5]="CONNECTION_KEEP_ALIVE";e[e["CONNECTION_CLOSE"]=6]="CONNECTION_CLOSE";e[e["CONNECTION_UPGRADE"]=7]="CONNECTION_UPGRADE";e[e["TRANSFER_ENCODING_CHUNKED"]=8]="TRANSFER_ENCODING_CHUNKED"})(d=t.HEADER_STATE||(t.HEADER_STATE={}));t.SPECIAL_HEADERS={connection:d.CONNECTION,"content-length":d.CONTENT_LENGTH,"proxy-connection":d.CONNECTION,"transfer-encoding":d.TRANSFER_ENCODING,upgrade:d.UPGRADE}},1145:e=>{e.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQDscBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxweHyAhIyUoP0BBREVGR0hJSktMTU9QUVJT3gNXWVtcXWBiZWZnaGlqa2xtb3BxcnN0dXZ3eHl6e3x9foABggGFAYYBhwGJAYsBjAGNAY4BjwGQAZEBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAZkCpAKwAv4C/gILIAEiBCACRw3zAUHdASEQDP8DCyABIhAgAkcN3QFBwwEhEAz+AwsgASIBIAJHDZABQfcAIRAM/QMLIAEiASACRw2GAUHvACEQDPwDCyABIgEgAkcNf0HqACEQDPsDCyABIgEgAkcNe0HoACEQDPoDCyABIgEgAkcNeEHmACEQDPkDCyABIgEgAkcNGkEYIRAM+AMLIAEiASACRw0UQRIhEAz3AwsgASIBIAJHDVlBxQAhEAz2AwsgASIBIAJHDUpBPyEQDPUDCyABIgEgAkcNSEE8IRAM9AMLIAEiASACRw1BQTEhEAzzAwsgAC0ALkEBRg3rAwyHAgsgACABIgEgAhDAgICAAEEBRw3mASAAQgA3AyAM5wELIAAgASIBIAIQtICAgAAiEA3nASABIQEM9QILAkAgASIBIAJHDQBBBiEQDPADCyAAIAFBAWoiASACELuAgIAAIhAN6AEgASEBDDELIABCADcDIEESIRAM1QMLIAEiECACRw0rQR0hEAztAwsCQCABIgEgAkYNACABQQFqIQFBECEQDNQDC0EHIRAM7AMLIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN5QFBCCEQDOsDCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEUIRAM0gMLQQkhEAzqAwsgASEBIAApAyBQDeQBIAEhAQzyAgsCQCABIgEgAkcNAEELIRAM6QMLIAAgAUEBaiIBIAIQtoCAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3mASABIQEMDQsgACABIgEgAhC6gICAACIQDecBIAEhAQzwAgsCQCABIgEgAkcNAEEPIRAM5QMLIAEtAAAiEEE7Rg0IIBBBDUcN6AEgAUEBaiEBDO8CCyAAIAEiASACELqAgIAAIhAN6AEgASEBDPICCwNAAkAgAS0AAEHwtYCAAGotAAAiEEEBRg0AIBBBAkcN6wEgACgCBCEQIABBADYCBCAAIBAgAUEBaiIBELmAgIAAIhAN6gEgASEBDPQCCyABQQFqIgEgAkcNAAtBEiEQDOIDCyAAIAEiASACELqAgIAAIhAN6QEgASEBDAoLIAEiASACRw0GQRshEAzgAwsCQCABIgEgAkcNAEEWIRAM4AMLIABBioCAgAA2AgggACABNgIEIAAgASACELiAgIAAIhAN6gEgASEBQSAhEAzGAwsCQCABIgEgAkYNAANAAkAgAS0AAEHwt4CAAGotAAAiEEECRg0AAkAgEEF/ag4E5QHsAQDrAewBCyABQQFqIQFBCCEQDMgDCyABQQFqIgEgAkcNAAtBFSEQDN8DC0EVIRAM3gMLA0ACQCABLQAAQfC5gIAAai0AACIQQQJGDQAgEEF/ag4E3gHsAeAB6wHsAQsgAUEBaiIBIAJHDQALQRghEAzdAwsCQCABIgEgAkYNACAAQYuAgIAANgIIIAAgATYCBCABIQFBByEQDMQDC0EZIRAM3AMLIAFBAWohAQwCCwJAIAEiFCACRw0AQRohEAzbAwsgFCEBAkAgFC0AAEFzag4U3QLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gIA7gILQQAhECAAQQA2AhwgAEGvi4CAADYCECAAQQI2AgwgACAUQQFqNgIUDNoDCwJAIAEtAAAiEEE7Rg0AIBBBDUcN6AEgAUEBaiEBDOUCCyABQQFqIQELQSIhEAy/AwsCQCABIhAgAkcNAEEcIRAM2AMLQgAhESAQIQEgEC0AAEFQag435wHmAQECAwQFBgcIAAAAAAAAAAkKCwwNDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxAREhMUAAtBHiEQDL0DC0ICIREM5QELQgMhEQzkAQtCBCERDOMBC0IFIREM4gELQgYhEQzhAQtCByERDOABC0IIIREM3wELQgkhEQzeAQtCCiERDN0BC0ILIREM3AELQgwhEQzbAQtCDSERDNoBC0IOIREM2QELQg8hEQzYAQtCCiERDNcBC0ILIREM1gELQgwhEQzVAQtCDSERDNQBC0IOIREM0wELQg8hEQzSAQtCACERAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQLQAAQVBqDjflAeQBAAECAwQFBgfmAeYB5gHmAeYB5gHmAQgJCgsMDeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gEODxAREhPmAQtCAiERDOQBC0IDIREM4wELQgQhEQziAQtCBSERDOEBC0IGIREM4AELQgchEQzfAQtCCCERDN4BC0IJIREM3QELQgohEQzcAQtCCyERDNsBC0IMIREM2gELQg0hEQzZAQtCDiERDNgBC0IPIREM1wELQgohEQzWAQtCCyERDNUBC0IMIREM1AELQg0hEQzTAQtCDiERDNIBC0IPIREM0QELIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN0gFBHyEQDMADCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEkIRAMpwMLQSAhEAy/AwsgACABIhAgAhC+gICAAEF/ag4FtgEAxQIB0QHSAQtBESEQDKQDCyAAQQE6AC8gECEBDLsDCyABIgEgAkcN0gFBJCEQDLsDCyABIg0gAkcNHkHGACEQDLoDCyAAIAEiASACELKAgIAAIhAN1AEgASEBDLUBCyABIhAgAkcNJkHQACEQDLgDCwJAIAEiASACRw0AQSghEAy4AwsgAEEANgIEIABBjICAgAA2AgggACABIAEQsYCAgAAiEA3TASABIQEM2AELAkAgASIQIAJHDQBBKSEQDLcDCyAQLQAAIgFBIEYNFCABQQlHDdMBIBBBAWohAQwVCwJAIAEiASACRg0AIAFBAWohAQwXC0EqIRAMtQMLAkAgASIQIAJHDQBBKyEQDLUDCwJAIBAtAAAiAUEJRg0AIAFBIEcN1QELIAAtACxBCEYN0wEgECEBDJEDCwJAIAEiASACRw0AQSwhEAy0AwsgAS0AAEEKRw3VASABQQFqIQEMyQILIAEiDiACRw3VAUEvIRAMsgMLA0ACQCABLQAAIhBBIEYNAAJAIBBBdmoOBADcAdwBANoBCyABIQEM4AELIAFBAWoiASACRw0AC0ExIRAMsQMLQTIhECABIhQgAkYNsAMgAiAUayAAKAIAIgFqIRUgFCABa0EDaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfC7gIAAai0AAEcNAQJAIAFBA0cNAEEGIQEMlgMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLEDCyAAQQA2AgAgFCEBDNkBC0EzIRAgASIUIAJGDa8DIAIgFGsgACgCACIBaiEVIBQgAWtBCGohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUH0u4CAAGotAABHDQECQCABQQhHDQBBBSEBDJUDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAywAwsgAEEANgIAIBQhAQzYAQtBNCEQIAEiFCACRg2uAyACIBRrIAAoAgAiAWohFSAUIAFrQQVqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw0BAkAgAUEFRw0AQQchAQyUAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMrwMLIABBADYCACAUIQEM1wELAkAgASIBIAJGDQADQAJAIAEtAABBgL6AgABqLQAAIhBBAUYNACAQQQJGDQogASEBDN0BCyABQQFqIgEgAkcNAAtBMCEQDK4DC0EwIRAMrQMLAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AIBBBdmoOBNkB2gHaAdkB2gELIAFBAWoiASACRw0AC0E4IRAMrQMLQTghEAysAwsDQAJAIAEtAAAiEEEgRg0AIBBBCUcNAwsgAUEBaiIBIAJHDQALQTwhEAyrAwsDQAJAIAEtAAAiEEEgRg0AAkACQCAQQXZqDgTaAQEB2gEACyAQQSxGDdsBCyABIQEMBAsgAUEBaiIBIAJHDQALQT8hEAyqAwsgASEBDNsBC0HAACEQIAEiFCACRg2oAyACIBRrIAAoAgAiAWohFiAUIAFrQQZqIRcCQANAIBQtAABBIHIgAUGAwICAAGotAABHDQEgAUEGRg2OAyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAypAwsgAEEANgIAIBQhAQtBNiEQDI4DCwJAIAEiDyACRw0AQcEAIRAMpwMLIABBjICAgAA2AgggACAPNgIEIA8hASAALQAsQX9qDgTNAdUB1wHZAYcDCyABQQFqIQEMzAELAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgciAQIBBBv39qQf8BcUEaSRtB/wFxIhBBCUYNACAQQSBGDQACQAJAAkACQCAQQZ1/ag4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIRAMkQMLIAFBAWohAUEyIRAMkAMLIAFBAWohAUEzIRAMjwMLIAEhAQzQAQsgAUEBaiIBIAJHDQALQTUhEAylAwtBNSEQDKQDCwJAIAEiASACRg0AA0ACQCABLQAAQYC8gIAAai0AAEEBRg0AIAEhAQzTAQsgAUEBaiIBIAJHDQALQT0hEAykAwtBPSEQDKMDCyAAIAEiASACELCAgIAAIhAN1gEgASEBDAELIBBBAWohAQtBPCEQDIcDCwJAIAEiASACRw0AQcIAIRAMoAMLAkADQAJAIAEtAABBd2oOGAAC/gL+AoQD/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4CAP4CCyABQQFqIgEgAkcNAAtBwgAhEAygAwsgAUEBaiEBIAAtAC1BAXFFDb0BIAEhAQtBLCEQDIUDCyABIgEgAkcN0wFBxAAhEAydAwsDQAJAIAEtAABBkMCAgABqLQAAQQFGDQAgASEBDLcCCyABQQFqIgEgAkcNAAtBxQAhEAycAwsgDS0AACIQQSBGDbMBIBBBOkcNgQMgACgCBCEBIABBADYCBCAAIAEgDRCvgICAACIBDdABIA1BAWohAQyzAgtBxwAhECABIg0gAkYNmgMgAiANayAAKAIAIgFqIRYgDSABa0EFaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGQwoCAAGotAABHDYADIAFBBUYN9AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmgMLQcgAIRAgASINIAJGDZkDIAIgDWsgACgCACIBaiEWIA0gAWtBCWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBlsKAgABqLQAARw3/AgJAIAFBCUcNAEECIQEM9QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJkDCwJAIAEiDSACRw0AQckAIRAMmQMLAkACQCANLQAAIgFBIHIgASABQb9/akH/AXFBGkkbQf8BcUGSf2oOBwCAA4ADgAOAA4ADAYADCyANQQFqIQFBPiEQDIADCyANQQFqIQFBPyEQDP8CC0HKACEQIAEiDSACRg2XAyACIA1rIAAoAgAiAWohFiANIAFrQQFqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaDCgIAAai0AAEcN/QIgAUEBRg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyXAwtBywAhECABIg0gAkYNlgMgAiANayAAKAIAIgFqIRYgDSABa0EOaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGiwoCAAGotAABHDfwCIAFBDkYN8AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlgMLQcwAIRAgASINIAJGDZUDIAIgDWsgACgCACIBaiEWIA0gAWtBD2ohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBwMKAgABqLQAARw37AgJAIAFBD0cNAEEDIQEM8QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJUDC0HNACEQIAEiDSACRg2UAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQdDCgIAAai0AAEcN+gICQCABQQVHDQBBBCEBDPACCyABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyUAwsCQCABIg0gAkcNAEHOACEQDJQDCwJAAkACQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZ1/ag4TAP0C/QL9Av0C/QL9Av0C/QL9Av0C/QL9AgH9Av0C/QICA/0CCyANQQFqIQFBwQAhEAz9AgsgDUEBaiEBQcIAIRAM/AILIA1BAWohAUHDACEQDPsCCyANQQFqIQFBxAAhEAz6AgsCQCABIgEgAkYNACAAQY2AgIAANgIIIAAgATYCBCABIQFBxQAhEAz6AgtBzwAhEAySAwsgECEBAkACQCAQLQAAQXZqDgQBqAKoAgCoAgsgEEEBaiEBC0EnIRAM+AILAkAgASIBIAJHDQBB0QAhEAyRAwsCQCABLQAAQSBGDQAgASEBDI0BCyABQQFqIQEgAC0ALUEBcUUNxwEgASEBDIwBCyABIhcgAkcNyAFB0gAhEAyPAwtB0wAhECABIhQgAkYNjgMgAiAUayAAKAIAIgFqIRYgFCABa0EBaiEXA0AgFC0AACABQdbCgIAAai0AAEcNzAEgAUEBRg3HASABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAyOAwsCQCABIgEgAkcNAEHVACEQDI4DCyABLQAAQQpHDcwBIAFBAWohAQzHAQsCQCABIgEgAkcNAEHWACEQDI0DCwJAAkAgAS0AAEF2ag4EAM0BzQEBzQELIAFBAWohAQzHAQsgAUEBaiEBQcoAIRAM8wILIAAgASIBIAIQroCAgAAiEA3LASABIQFBzQAhEAzyAgsgAC0AKUEiRg2FAwymAgsCQCABIgEgAkcNAEHbACEQDIoDC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgAS0AAEFQag4K1AHTAQABAgMEBQYI1QELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMzAELQQkhEEEBIRRBACEXQQAhFgzLAQsCQCABIgEgAkcNAEHdACEQDIkDCyABLQAAQS5HDcwBIAFBAWohAQymAgsgASIBIAJHDcwBQd8AIRAMhwMLAkAgASIBIAJGDQAgAEGOgICAADYCCCAAIAE2AgQgASEBQdAAIRAM7gILQeAAIRAMhgMLQeEAIRAgASIBIAJGDYUDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHiwoCAAGotAABHDc0BIBRBA0YNzAEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhQMLQeIAIRAgASIBIAJGDYQDIAIgAWsgACgCACIUaiEWIAEgFGtBAmohFwNAIAEtAAAgFEHmwoCAAGotAABHDcwBIBRBAkYNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhAMLQeMAIRAgASIBIAJGDYMDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHpwoCAAGotAABHDcsBIBRBA0YNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMgwMLAkAgASIBIAJHDQBB5QAhEAyDAwsgACABQQFqIgEgAhCogICAACIQDc0BIAEhAUHWACEQDOkCCwJAIAEiASACRg0AA0ACQCABLQAAIhBBIEYNAAJAAkACQCAQQbh/ag4LAAHPAc8BzwHPAc8BzwHPAc8BAs8BCyABQQFqIQFB0gAhEAztAgsgAUEBaiEBQdMAIRAM7AILIAFBAWohAUHUACEQDOsCCyABQQFqIgEgAkcNAAtB5AAhEAyCAwtB5AAhEAyBAwsDQAJAIAEtAABB8MKAgABqLQAAIhBBAUYNACAQQX5qDgPPAdAB0QHSAQsgAUEBaiIBIAJHDQALQeYAIRAMgAMLAkAgASIBIAJGDQAgAUEBaiEBDAMLQecAIRAM/wILA0ACQCABLQAAQfDEgIAAai0AACIQQQFGDQACQCAQQX5qDgTSAdMB1AEA1QELIAEhAUHXACEQDOcCCyABQQFqIgEgAkcNAAtB6AAhEAz+AgsCQCABIgEgAkcNAEHpACEQDP4CCwJAIAEtAAAiEEF2ag4augHVAdUBvAHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHKAdUB1QEA0wELIAFBAWohAQtBBiEQDOMCCwNAAkAgAS0AAEHwxoCAAGotAABBAUYNACABIQEMngILIAFBAWoiASACRw0AC0HqACEQDPsCCwJAIAEiASACRg0AIAFBAWohAQwDC0HrACEQDPoCCwJAIAEiASACRw0AQewAIRAM+gILIAFBAWohAQwBCwJAIAEiASACRw0AQe0AIRAM+QILIAFBAWohAQtBBCEQDN4CCwJAIAEiFCACRw0AQe4AIRAM9wILIBQhAQJAAkACQCAULQAAQfDIgIAAai0AAEF/ag4H1AHVAdYBAJwCAQLXAQsgFEEBaiEBDAoLIBRBAWohAQzNAQtBACEQIABBADYCHCAAQZuSgIAANgIQIABBBzYCDCAAIBRBAWo2AhQM9gILAkADQAJAIAEtAABB8MiAgABqLQAAIhBBBEYNAAJAAkAgEEF/ag4H0gHTAdQB2QEABAHZAQsgASEBQdoAIRAM4AILIAFBAWohAUHcACEQDN8CCyABQQFqIgEgAkcNAAtB7wAhEAz2AgsgAUEBaiEBDMsBCwJAIAEiFCACRw0AQfAAIRAM9QILIBQtAABBL0cN1AEgFEEBaiEBDAYLAkAgASIUIAJHDQBB8QAhEAz0AgsCQCAULQAAIgFBL0cNACAUQQFqIQFB3QAhEAzbAgsgAUF2aiIEQRZLDdMBQQEgBHRBiYCAAnFFDdMBDMoCCwJAIAEiASACRg0AIAFBAWohAUHeACEQDNoCC0HyACEQDPICCwJAIAEiFCACRw0AQfQAIRAM8gILIBQhAQJAIBQtAABB8MyAgABqLQAAQX9qDgPJApQCANQBC0HhACEQDNgCCwJAIAEiFCACRg0AA0ACQCAULQAAQfDKgIAAai0AACIBQQNGDQACQCABQX9qDgLLAgDVAQsgFCEBQd8AIRAM2gILIBRBAWoiFCACRw0AC0HzACEQDPECC0HzACEQDPACCwJAIAEiASACRg0AIABBj4CAgAA2AgggACABNgIEIAEhAUHgACEQDNcCC0H1ACEQDO8CCwJAIAEiASACRw0AQfYAIRAM7wILIABBj4CAgAA2AgggACABNgIEIAEhAQtBAyEQDNQCCwNAIAEtAABBIEcNwwIgAUEBaiIBIAJHDQALQfcAIRAM7AILAkAgASIBIAJHDQBB+AAhEAzsAgsgAS0AAEEgRw3OASABQQFqIQEM7wELIAAgASIBIAIQrICAgAAiEA3OASABIQEMjgILAkAgASIEIAJHDQBB+gAhEAzqAgsgBC0AAEHMAEcN0QEgBEEBaiEBQRMhEAzPAQsCQCABIgQgAkcNAEH7ACEQDOkCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRADQCAELQAAIAFB8M6AgABqLQAARw3QASABQQVGDc4BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQfsAIRAM6AILAkAgASIEIAJHDQBB/AAhEAzoAgsCQAJAIAQtAABBvX9qDgwA0QHRAdEB0QHRAdEB0QHRAdEB0QEB0QELIARBAWohAUHmACEQDM8CCyAEQQFqIQFB5wAhEAzOAgsCQCABIgQgAkcNAEH9ACEQDOcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDc8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH9ACEQDOcCCyAAQQA2AgAgEEEBaiEBQRAhEAzMAQsCQCABIgQgAkcNAEH+ACEQDOYCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUH2zoCAAGotAABHDc4BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH+ACEQDOYCCyAAQQA2AgAgEEEBaiEBQRYhEAzLAQsCQCABIgQgAkcNAEH/ACEQDOUCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUH8zoCAAGotAABHDc0BIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH/ACEQDOUCCyAAQQA2AgAgEEEBaiEBQQUhEAzKAQsCQCABIgQgAkcNAEGAASEQDOQCCyAELQAAQdkARw3LASAEQQFqIQFBCCEQDMkBCwJAIAEiBCACRw0AQYEBIRAM4wILAkACQCAELQAAQbJ/ag4DAMwBAcwBCyAEQQFqIQFB6wAhEAzKAgsgBEEBaiEBQewAIRAMyQILAkAgASIEIAJHDQBBggEhEAziAgsCQAJAIAQtAABBuH9qDggAywHLAcsBywHLAcsBAcsBCyAEQQFqIQFB6gAhEAzJAgsgBEEBaiEBQe0AIRAMyAILAkAgASIEIAJHDQBBgwEhEAzhAgsgAiAEayAAKAIAIgFqIRAgBCABa0ECaiEUAkADQCAELQAAIAFBgM+AgABqLQAARw3JASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBA2AgBBgwEhEAzhAgtBACEQIABBADYCACAUQQFqIQEMxgELAkAgASIEIAJHDQBBhAEhEAzgAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBg8+AgABqLQAARw3IASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhAEhEAzgAgsgAEEANgIAIBBBAWohAUEjIRAMxQELAkAgASIEIAJHDQBBhQEhEAzfAgsCQAJAIAQtAABBtH9qDggAyAHIAcgByAHIAcgBAcgBCyAEQQFqIQFB7wAhEAzGAgsgBEEBaiEBQfAAIRAMxQILAkAgASIEIAJHDQBBhgEhEAzeAgsgBC0AAEHFAEcNxQEgBEEBaiEBDIMCCwJAIAEiBCACRw0AQYcBIRAM3QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQYjPgIAAai0AAEcNxQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYcBIRAM3QILIABBADYCACAQQQFqIQFBLSEQDMIBCwJAIAEiBCACRw0AQYgBIRAM3AILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNxAEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYgBIRAM3AILIABBADYCACAQQQFqIQFBKSEQDMEBCwJAIAEiASACRw0AQYkBIRAM2wILQQEhECABLQAAQd8ARw3AASABQQFqIQEMgQILAkAgASIEIAJHDQBBigEhEAzaAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQA0AgBC0AACABQYzPgIAAai0AAEcNwQEgAUEBRg2vAiABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGKASEQDNkCCwJAIAEiBCACRw0AQYsBIRAM2QILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQY7PgIAAai0AAEcNwQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYsBIRAM2QILIABBADYCACAQQQFqIQFBAiEQDL4BCwJAIAEiBCACRw0AQYwBIRAM2AILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNwAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYwBIRAM2AILIABBADYCACAQQQFqIQFBHyEQDL0BCwJAIAEiBCACRw0AQY0BIRAM1wILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNvwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY0BIRAM1wILIABBADYCACAQQQFqIQFBCSEQDLwBCwJAIAEiBCACRw0AQY4BIRAM1gILAkACQCAELQAAQbd/ag4HAL8BvwG/Ab8BvwEBvwELIARBAWohAUH4ACEQDL0CCyAEQQFqIQFB+QAhEAy8AgsCQCABIgQgAkcNAEGPASEQDNUCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGRz4CAAGotAABHDb0BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGPASEQDNUCCyAAQQA2AgAgEEEBaiEBQRghEAy6AQsCQCABIgQgAkcNAEGQASEQDNQCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUGXz4CAAGotAABHDbwBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGQASEQDNQCCyAAQQA2AgAgEEEBaiEBQRchEAy5AQsCQCABIgQgAkcNAEGRASEQDNMCCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUGaz4CAAGotAABHDbsBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGRASEQDNMCCyAAQQA2AgAgEEEBaiEBQRUhEAy4AQsCQCABIgQgAkcNAEGSASEQDNICCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGhz4CAAGotAABHDboBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGSASEQDNICCyAAQQA2AgAgEEEBaiEBQR4hEAy3AQsCQCABIgQgAkcNAEGTASEQDNECCyAELQAAQcwARw24ASAEQQFqIQFBCiEQDLYBCwJAIAQgAkcNAEGUASEQDNACCwJAAkAgBC0AAEG/f2oODwC5AbkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AQG5AQsgBEEBaiEBQf4AIRAMtwILIARBAWohAUH/ACEQDLYCCwJAIAQgAkcNAEGVASEQDM8CCwJAAkAgBC0AAEG/f2oOAwC4AQG4AQsgBEEBaiEBQf0AIRAMtgILIARBAWohBEGAASEQDLUCCwJAIAQgAkcNAEGWASEQDM4CCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUGnz4CAAGotAABHDbYBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGWASEQDM4CCyAAQQA2AgAgEEEBaiEBQQshEAyzAQsCQCAEIAJHDQBBlwEhEAzNAgsCQAJAAkACQCAELQAAQVNqDiMAuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AQG4AbgBuAG4AbgBArgBuAG4AQO4AQsgBEEBaiEBQfsAIRAMtgILIARBAWohAUH8ACEQDLUCCyAEQQFqIQRBgQEhEAy0AgsgBEEBaiEEQYIBIRAMswILAkAgBCACRw0AQZgBIRAMzAILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQanPgIAAai0AAEcNtAEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZgBIRAMzAILIABBADYCACAQQQFqIQFBGSEQDLEBCwJAIAQgAkcNAEGZASEQDMsCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGuz4CAAGotAABHDbMBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGZASEQDMsCCyAAQQA2AgAgEEEBaiEBQQYhEAywAQsCQCAEIAJHDQBBmgEhEAzKAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBtM+AgABqLQAARw2yASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmgEhEAzKAgsgAEEANgIAIBBBAWohAUEcIRAMrwELAkAgBCACRw0AQZsBIRAMyQILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbbPgIAAai0AAEcNsQEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZsBIRAMyQILIABBADYCACAQQQFqIQFBJyEQDK4BCwJAIAQgAkcNAEGcASEQDMgCCwJAAkAgBC0AAEGsf2oOAgABsQELIARBAWohBEGGASEQDK8CCyAEQQFqIQRBhwEhEAyuAgsCQCAEIAJHDQBBnQEhEAzHAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBuM+AgABqLQAARw2vASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBnQEhEAzHAgsgAEEANgIAIBBBAWohAUEmIRAMrAELAkAgBCACRw0AQZ4BIRAMxgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbrPgIAAai0AAEcNrgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ4BIRAMxgILIABBADYCACAQQQFqIQFBAyEQDKsBCwJAIAQgAkcNAEGfASEQDMUCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDa0BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGfASEQDMUCCyAAQQA2AgAgEEEBaiEBQQwhEAyqAQsCQCAEIAJHDQBBoAEhEAzEAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBvM+AgABqLQAARw2sASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBoAEhEAzEAgsgAEEANgIAIBBBAWohAUENIRAMqQELAkAgBCACRw0AQaEBIRAMwwILAkACQCAELQAAQbp/ag4LAKwBrAGsAawBrAGsAawBrAGsAQGsAQsgBEEBaiEEQYsBIRAMqgILIARBAWohBEGMASEQDKkCCwJAIAQgAkcNAEGiASEQDMICCyAELQAAQdAARw2pASAEQQFqIQQM6QELAkAgBCACRw0AQaMBIRAMwQILAkACQCAELQAAQbd/ag4HAaoBqgGqAaoBqgEAqgELIARBAWohBEGOASEQDKgCCyAEQQFqIQFBIiEQDKYBCwJAIAQgAkcNAEGkASEQDMACCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHAz4CAAGotAABHDagBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGkASEQDMACCyAAQQA2AgAgEEEBaiEBQR0hEAylAQsCQCAEIAJHDQBBpQEhEAy/AgsCQAJAIAQtAABBrn9qDgMAqAEBqAELIARBAWohBEGQASEQDKYCCyAEQQFqIQFBBCEQDKQBCwJAIAQgAkcNAEGmASEQDL4CCwJAAkACQAJAAkAgBC0AAEG/f2oOFQCqAaoBqgGqAaoBqgGqAaoBqgGqAQGqAaoBAqoBqgEDqgGqAQSqAQsgBEEBaiEEQYgBIRAMqAILIARBAWohBEGJASEQDKcCCyAEQQFqIQRBigEhEAymAgsgBEEBaiEEQY8BIRAMpQILIARBAWohBEGRASEQDKQCCwJAIAQgAkcNAEGnASEQDL0CCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDaUBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGnASEQDL0CCyAAQQA2AgAgEEEBaiEBQREhEAyiAQsCQCAEIAJHDQBBqAEhEAy8AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBws+AgABqLQAARw2kASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqAEhEAy8AgsgAEEANgIAIBBBAWohAUEsIRAMoQELAkAgBCACRw0AQakBIRAMuwILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQcXPgIAAai0AAEcNowEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQakBIRAMuwILIABBADYCACAQQQFqIQFBKyEQDKABCwJAIAQgAkcNAEGqASEQDLoCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHKz4CAAGotAABHDaIBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGqASEQDLoCCyAAQQA2AgAgEEEBaiEBQRQhEAyfAQsCQCAEIAJHDQBBqwEhEAy5AgsCQAJAAkACQCAELQAAQb5/ag4PAAECpAGkAaQBpAGkAaQBpAGkAaQBpAGkAQOkAQsgBEEBaiEEQZMBIRAMogILIARBAWohBEGUASEQDKECCyAEQQFqIQRBlQEhEAygAgsgBEEBaiEEQZYBIRAMnwILAkAgBCACRw0AQawBIRAMuAILIAQtAABBxQBHDZ8BIARBAWohBAzgAQsCQCAEIAJHDQBBrQEhEAy3AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBzc+AgABqLQAARw2fASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrQEhEAy3AgsgAEEANgIAIBBBAWohAUEOIRAMnAELAkAgBCACRw0AQa4BIRAMtgILIAQtAABB0ABHDZ0BIARBAWohAUElIRAMmwELAkAgBCACRw0AQa8BIRAMtQILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNnQEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQa8BIRAMtQILIABBADYCACAQQQFqIQFBKiEQDJoBCwJAIAQgAkcNAEGwASEQDLQCCwJAAkAgBC0AAEGrf2oOCwCdAZ0BnQGdAZ0BnQGdAZ0BnQEBnQELIARBAWohBEGaASEQDJsCCyAEQQFqIQRBmwEhEAyaAgsCQCAEIAJHDQBBsQEhEAyzAgsCQAJAIAQtAABBv39qDhQAnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBAZwBCyAEQQFqIQRBmQEhEAyaAgsgBEEBaiEEQZwBIRAMmQILAkAgBCACRw0AQbIBIRAMsgILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQdnPgIAAai0AAEcNmgEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbIBIRAMsgILIABBADYCACAQQQFqIQFBISEQDJcBCwJAIAQgAkcNAEGzASEQDLECCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUHdz4CAAGotAABHDZkBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGzASEQDLECCyAAQQA2AgAgEEEBaiEBQRohEAyWAQsCQCAEIAJHDQBBtAEhEAywAgsCQAJAAkAgBC0AAEG7f2oOEQCaAZoBmgGaAZoBmgGaAZoBmgEBmgGaAZoBmgGaAQKaAQsgBEEBaiEEQZ0BIRAMmAILIARBAWohBEGeASEQDJcCCyAEQQFqIQRBnwEhEAyWAgsCQCAEIAJHDQBBtQEhEAyvAgsgAiAEayAAKAIAIgFqIRQgBCABa0EFaiEQAkADQCAELQAAIAFB5M+AgABqLQAARw2XASABQQVGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtQEhEAyvAgsgAEEANgIAIBBBAWohAUEoIRAMlAELAkAgBCACRw0AQbYBIRAMrgILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQerPgIAAai0AAEcNlgEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbYBIRAMrgILIABBADYCACAQQQFqIQFBByEQDJMBCwJAIAQgAkcNAEG3ASEQDK0CCwJAAkAgBC0AAEG7f2oODgCWAZYBlgGWAZYBlgGWAZYBlgGWAZYBlgEBlgELIARBAWohBEGhASEQDJQCCyAEQQFqIQRBogEhEAyTAgsCQCAEIAJHDQBBuAEhEAysAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB7c+AgABqLQAARw2UASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuAEhEAysAgsgAEEANgIAIBBBAWohAUESIRAMkQELAkAgBCACRw0AQbkBIRAMqwILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNkwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbkBIRAMqwILIABBADYCACAQQQFqIQFBICEQDJABCwJAIAQgAkcNAEG6ASEQDKoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHyz4CAAGotAABHDZIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG6ASEQDKoCCyAAQQA2AgAgEEEBaiEBQQ8hEAyPAQsCQCAEIAJHDQBBuwEhEAypAgsCQAJAIAQtAABBt39qDgcAkgGSAZIBkgGSAQGSAQsgBEEBaiEEQaUBIRAMkAILIARBAWohBEGmASEQDI8CCwJAIAQgAkcNAEG8ASEQDKgCCyACIARrIAAoAgAiAWohFCAEIAFrQQdqIRACQANAIAQtAAAgAUH0z4CAAGotAABHDZABIAFBB0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG8ASEQDKgCCyAAQQA2AgAgEEEBaiEBQRshEAyNAQsCQCAEIAJHDQBBvQEhEAynAgsCQAJAAkAgBC0AAEG+f2oOEgCRAZEBkQGRAZEBkQGRAZEBkQEBkQGRAZEBkQGRAZEBApEBCyAEQQFqIQRBpAEhEAyPAgsgBEEBaiEEQacBIRAMjgILIARBAWohBEGoASEQDI0CCwJAIAQgAkcNAEG+ASEQDKYCCyAELQAAQc4ARw2NASAEQQFqIQQMzwELAkAgBCACRw0AQb8BIRAMpQILAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBC0AAEG/f2oOFQABAgOcAQQFBpwBnAGcAQcICQoLnAEMDQ4PnAELIARBAWohAUHoACEQDJoCCyAEQQFqIQFB6QAhEAyZAgsgBEEBaiEBQe4AIRAMmAILIARBAWohAUHyACEQDJcCCyAEQQFqIQFB8wAhEAyWAgsgBEEBaiEBQfYAIRAMlQILIARBAWohAUH3ACEQDJQCCyAEQQFqIQFB+gAhEAyTAgsgBEEBaiEEQYMBIRAMkgILIARBAWohBEGEASEQDJECCyAEQQFqIQRBhQEhEAyQAgsgBEEBaiEEQZIBIRAMjwILIARBAWohBEGYASEQDI4CCyAEQQFqIQRBoAEhEAyNAgsgBEEBaiEEQaMBIRAMjAILIARBAWohBEGqASEQDIsCCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEGrASEQDIsCC0HAASEQDKMCCyAAIAUgAhCqgICAACIBDYsBIAUhAQxcCwJAIAYgAkYNACAGQQFqIQUMjQELQcIBIRAMoQILA0ACQCAQLQAAQXZqDgSMAQAAjwEACyAQQQFqIhAgAkcNAAtBwwEhEAygAgsCQCAHIAJGDQAgAEGRgICAADYCCCAAIAc2AgQgByEBQQEhEAyHAgtBxAEhEAyfAgsCQCAHIAJHDQBBxQEhEAyfAgsCQAJAIActAABBdmoOBAHOAc4BAM4BCyAHQQFqIQYMjQELIAdBAWohBQyJAQsCQCAHIAJHDQBBxgEhEAyeAgsCQAJAIActAABBdmoOFwGPAY8BAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAQCPAQsgB0EBaiEHC0GwASEQDIQCCwJAIAggAkcNAEHIASEQDJ0CCyAILQAAQSBHDY0BIABBADsBMiAIQQFqIQFBswEhEAyDAgsgASEXAkADQCAXIgcgAkYNASAHLQAAQVBqQf8BcSIQQQpPDcwBAkAgAC8BMiIUQZkzSw0AIAAgFEEKbCIUOwEyIBBB//8DcyAUQf7/A3FJDQAgB0EBaiEXIAAgFCAQaiIQOwEyIBBB//8DcUHoB0kNAQsLQQAhECAAQQA2AhwgAEHBiYCAADYCECAAQQ02AgwgACAHQQFqNgIUDJwCC0HHASEQDJsCCyAAIAggAhCugICAACIQRQ3KASAQQRVHDYwBIABByAE2AhwgACAINgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAyaAgsCQCAJIAJHDQBBzAEhEAyaAgtBACEUQQEhF0EBIRZBACEQAkACQAJAAkACQAJAAkACQAJAIAktAABBUGoOCpYBlQEAAQIDBAUGCJcBC0ECIRAMBgtBAyEQDAULQQQhEAwEC0EFIRAMAwtBBiEQDAILQQchEAwBC0EIIRALQQAhF0EAIRZBACEUDI4BC0EJIRBBASEUQQAhF0EAIRYMjQELAkAgCiACRw0AQc4BIRAMmQILIAotAABBLkcNjgEgCkEBaiEJDMoBCyALIAJHDY4BQdABIRAMlwILAkAgCyACRg0AIABBjoCAgAA2AgggACALNgIEQbcBIRAM/gELQdEBIRAMlgILAkAgBCACRw0AQdIBIRAMlgILIAIgBGsgACgCACIQaiEUIAQgEGtBBGohCwNAIAQtAAAgEEH8z4CAAGotAABHDY4BIBBBBEYN6QEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB0gEhEAyVAgsgACAMIAIQrICAgAAiAQ2NASAMIQEMuAELAkAgBCACRw0AQdQBIRAMlAILIAIgBGsgACgCACIQaiEUIAQgEGtBAWohDANAIAQtAAAgEEGB0ICAAGotAABHDY8BIBBBAUYNjgEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB1AEhEAyTAgsCQCAEIAJHDQBB1gEhEAyTAgsgAiAEayAAKAIAIhBqIRQgBCAQa0ECaiELA0AgBC0AACAQQYPQgIAAai0AAEcNjgEgEEECRg2QASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHWASEQDJICCwJAIAQgAkcNAEHXASEQDJICCwJAAkAgBC0AAEG7f2oOEACPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAY8BCyAEQQFqIQRBuwEhEAz5AQsgBEEBaiEEQbwBIRAM+AELAkAgBCACRw0AQdgBIRAMkQILIAQtAABByABHDYwBIARBAWohBAzEAQsCQCAEIAJGDQAgAEGQgICAADYCCCAAIAQ2AgRBvgEhEAz3AQtB2QEhEAyPAgsCQCAEIAJHDQBB2gEhEAyPAgsgBC0AAEHIAEYNwwEgAEEBOgAoDLkBCyAAQQI6AC8gACAEIAIQpoCAgAAiEA2NAUHCASEQDPQBCyAALQAoQX9qDgK3AbkBuAELA0ACQCAELQAAQXZqDgQAjgGOAQCOAQsgBEEBaiIEIAJHDQALQd0BIRAMiwILIABBADoALyAALQAtQQRxRQ2EAgsgAEEAOgAvIABBAToANCABIQEMjAELIBBBFUYN2gEgAEEANgIcIAAgATYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMiAILAkAgACAQIAIQtICAgAAiBA0AIBAhAQyBAgsCQCAEQRVHDQAgAEEDNgIcIAAgEDYCFCAAQbCYgIAANgIQIABBFTYCDEEAIRAMiAILIABBADYCHCAAIBA2AhQgAEGnjoCAADYCECAAQRI2AgxBACEQDIcCCyAQQRVGDdYBIABBADYCHCAAIAE2AhQgAEHajYCAADYCECAAQRQ2AgxBACEQDIYCCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNjQEgAEEHNgIcIAAgEDYCFCAAIBQ2AgxBACEQDIUCCyAAIAAvATBBgAFyOwEwIAEhAQtBKiEQDOoBCyAQQRVGDdEBIABBADYCHCAAIAE2AhQgAEGDjICAADYCECAAQRM2AgxBACEQDIICCyAQQRVGDc8BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDIECCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyNAQsgAEEMNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDIACCyAQQRVGDcwBIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDP8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyMAQsgAEENNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDP4BCyAQQRVGDckBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDP0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyLAQsgAEEONgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPwBCyAAQQA2AhwgACABNgIUIABBwJWAgAA2AhAgAEECNgIMQQAhEAz7AQsgEEEVRg3FASAAQQA2AhwgACABNgIUIABBxoyAgAA2AhAgAEEjNgIMQQAhEAz6AQsgAEEQNgIcIAAgATYCFCAAIBA2AgxBACEQDPkBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQzxAQsgAEERNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPgBCyAQQRVGDcEBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPcBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyIAQsgAEETNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPYBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQztAQsgAEEUNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPUBCyAQQRVGDb0BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDPQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyGAQsgAEEWNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPMBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQt4CAgAAiBA0AIAFBAWohAQzpAQsgAEEXNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPIBCyAAQQA2AhwgACABNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzxAQtCASERCyAQQQFqIQECQCAAKQMgIhJC//////////8PVg0AIAAgEkIEhiARhDcDICABIQEMhAELIABBADYCHCAAIAE2AhQgAEGtiYCAADYCECAAQQw2AgxBACEQDO8BCyAAQQA2AhwgACAQNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzuAQsgACgCBCEXIABBADYCBCAQIBGnaiIWIQEgACAXIBAgFiAUGyIQELWAgIAAIhRFDXMgAEEFNgIcIAAgEDYCFCAAIBQ2AgxBACEQDO0BCyAAQQA2AhwgACAQNgIUIABBqpyAgAA2AhAgAEEPNgIMQQAhEAzsAQsgACAQIAIQtICAgAAiAQ0BIBAhAQtBDiEQDNEBCwJAIAFBFUcNACAAQQI2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAzqAQsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAM6QELIAFBAWohEAJAIAAvATAiAUGAAXFFDQACQCAAIBAgAhC7gICAACIBDQAgECEBDHALIAFBFUcNugEgAEEFNgIcIAAgEDYCFCAAQfmXgIAANgIQIABBFTYCDEEAIRAM6QELAkAgAUGgBHFBoARHDQAgAC0ALUECcQ0AIABBADYCHCAAIBA2AhQgAEGWk4CAADYCECAAQQQ2AgxBACEQDOkBCyAAIBAgAhC9gICAABogECEBAkACQAJAAkACQCAAIBAgAhCzgICAAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIABBAToALgsgACAALwEwQcAAcjsBMCAQIQELQSYhEAzRAQsgAEEjNgIcIAAgEDYCFCAAQaWWgIAANgIQIABBFTYCDEEAIRAM6QELIABBADYCHCAAIBA2AhQgAEHVi4CAADYCECAAQRE2AgxBACEQDOgBCyAALQAtQQFxRQ0BQcMBIRAMzgELAkAgDSACRg0AA0ACQCANLQAAQSBGDQAgDSEBDMQBCyANQQFqIg0gAkcNAAtBJSEQDOcBC0ElIRAM5gELIAAoAgQhBCAAQQA2AgQgACAEIA0Qr4CAgAAiBEUNrQEgAEEmNgIcIAAgBDYCDCAAIA1BAWo2AhRBACEQDOUBCyAQQRVGDasBIABBADYCHCAAIAE2AhQgAEH9jYCAADYCECAAQR02AgxBACEQDOQBCyAAQSc2AhwgACABNgIUIAAgEDYCDEEAIRAM4wELIBAhAUEBIRQCQAJAAkACQAJAAkACQCAALQAsQX5qDgcGBQUDAQIABQsgACAALwEwQQhyOwEwDAMLQQIhFAwBC0EEIRQLIABBAToALCAAIAAvATAgFHI7ATALIBAhAQtBKyEQDMoBCyAAQQA2AhwgACAQNgIUIABBq5KAgAA2AhAgAEELNgIMQQAhEAziAQsgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDEEAIRAM4QELIABBADoALCAQIQEMvQELIBAhAUEBIRQCQAJAAkACQAJAIAAtACxBe2oOBAMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0EpIRAMxQELIABBADYCHCAAIAE2AhQgAEHwlICAADYCECAAQQM2AgxBACEQDN0BCwJAIA4tAABBDUcNACAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA5BAWohAQx1CyAAQSw2AhwgACABNgIMIAAgDkEBajYCFEEAIRAM3QELIAAtAC1BAXFFDQFBxAEhEAzDAQsCQCAOIAJHDQBBLSEQDNwBCwJAAkADQAJAIA4tAABBdmoOBAIAAAMACyAOQQFqIg4gAkcNAAtBLSEQDN0BCyAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA4hAQx0CyAAQSw2AhwgACAONgIUIAAgATYCDEEAIRAM3AELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHMLIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzbAQsgACgCBCEEIABBADYCBCAAIAQgDhCxgICAACIEDaABIA4hAQzOAQsgEEEsRw0BIAFBAWohEEEBIQECQAJAAkACQAJAIAAtACxBe2oOBAMBAgQACyAQIQEMBAtBAiEBDAELQQQhAQsgAEEBOgAsIAAgAC8BMCABcjsBMCAQIQEMAQsgACAALwEwQQhyOwEwIBAhAQtBOSEQDL8BCyAAQQA6ACwgASEBC0E0IRAMvQELIAAgAC8BMEEgcjsBMCABIQEMAgsgACgCBCEEIABBADYCBAJAIAAgBCABELGAgIAAIgQNACABIQEMxwELIABBNzYCHCAAIAE2AhQgACAENgIMQQAhEAzUAQsgAEEIOgAsIAEhAQtBMCEQDLkBCwJAIAAtAChBAUYNACABIQEMBAsgAC0ALUEIcUUNkwEgASEBDAMLIAAtADBBIHENlAFBxQEhEAy3AQsCQCAPIAJGDQACQANAAkAgDy0AAEFQaiIBQf8BcUEKSQ0AIA8hAUE1IRAMugELIAApAyAiEUKZs+bMmbPmzBlWDQEgACARQgp+IhE3AyAgESABrUL/AYMiEkJ/hVYNASAAIBEgEnw3AyAgD0EBaiIPIAJHDQALQTkhEAzRAQsgACgCBCECIABBADYCBCAAIAIgD0EBaiIEELGAgIAAIgINlQEgBCEBDMMBC0E5IRAMzwELAkAgAC8BMCIBQQhxRQ0AIAAtAChBAUcNACAALQAtQQhxRQ2QAQsgACABQff7A3FBgARyOwEwIA8hAQtBNyEQDLQBCyAAIAAvATBBEHI7ATAMqwELIBBBFUYNiwEgAEEANgIcIAAgATYCFCAAQfCOgIAANgIQIABBHDYCDEEAIRAMywELIABBwwA2AhwgACABNgIMIAAgDUEBajYCFEEAIRAMygELAkAgAS0AAEE6Rw0AIAAoAgQhECAAQQA2AgQCQCAAIBAgARCvgICAACIQDQAgAUEBaiEBDGMLIABBwwA2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMygELIABBADYCHCAAIAE2AhQgAEGxkYCAADYCECAAQQo2AgxBACEQDMkBCyAAQQA2AhwgACABNgIUIABBoJmAgAA2AhAgAEEeNgIMQQAhEAzIAQsgAEEANgIACyAAQYASOwEqIAAgF0EBaiIBIAIQqICAgAAiEA0BIAEhAQtBxwAhEAysAQsgEEEVRw2DASAAQdEANgIcIAAgATYCFCAAQeOXgIAANgIQIABBFTYCDEEAIRAMxAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDF4LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMwwELIABBADYCHCAAIBQ2AhQgAEHBqICAADYCECAAQQc2AgwgAEEANgIAQQAhEAzCAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAzBAQtBACEQIABBADYCHCAAIAE2AhQgAEGAkYCAADYCECAAQQk2AgwMwAELIBBBFUYNfSAAQQA2AhwgACABNgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAy/AQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgAUEBaiEBAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBAJAIAAgECABEK2AgIAAIhANACABIQEMXAsgAEHYADYCHCAAIAE2AhQgACAQNgIMQQAhEAy+AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMrQELIABB2QA2AhwgACABNgIUIAAgBDYCDEEAIRAMvQELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKsBCyAAQdoANgIcIAAgATYCFCAAIAQ2AgxBACEQDLwBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQypAQsgAEHcADYCHCAAIAE2AhQgACAENgIMQQAhEAy7AQsCQCABLQAAQVBqIhBB/wFxQQpPDQAgACAQOgAqIAFBAWohAUHPACEQDKIBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQynAQsgAEHeADYCHCAAIAE2AhQgACAENgIMQQAhEAy6AQsgAEEANgIAIBdBAWohAQJAIAAtAClBI08NACABIQEMWQsgAEEANgIcIAAgATYCFCAAQdOJgIAANgIQIABBCDYCDEEAIRAMuQELIABBADYCAAtBACEQIABBADYCHCAAIAE2AhQgAEGQs4CAADYCECAAQQg2AgwMtwELIABBADYCACAXQQFqIQECQCAALQApQSFHDQAgASEBDFYLIABBADYCHCAAIAE2AhQgAEGbioCAADYCECAAQQg2AgxBACEQDLYBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKSIQQV1qQQtPDQAgASEBDFULAkAgEEEGSw0AQQEgEHRBygBxRQ0AIAEhAQxVC0EAIRAgAEEANgIcIAAgATYCFCAAQfeJgIAANgIQIABBCDYCDAy1AQsgEEEVRg1xIABBADYCHCAAIAE2AhQgAEG5jYCAADYCECAAQRo2AgxBACEQDLQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxUCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLMBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="},5627:e=>{e.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="},1891:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.enumToMap=void 0;function enumToMap(e){const t={};Object.keys(e).forEach((A=>{const s=e[A];if(typeof s==="number"){t[A]=s}}));return t}t.enumToMap=enumToMap},6771:(e,t,A)=>{"use strict";const{kClients:s}=A(2785);const i=A(7890);const{kAgent:r,kMockAgentSet:a,kMockAgentGet:o,kDispatches:n,kIsMockActive:p,kNetConnect:d,kGetNetConnect:l,kOptions:c,kFactory:u}=A(4347);const h=A(8687);const g=A(6193);const{matchValue:E,buildMockOptions:C}=A(9323);const{InvalidArgumentError:Q,UndiciError:B}=A(8045);const I=A(412);const w=A(8891);const y=A(6823);class FakeWeakRef{constructor(e){this.value=e}deref(){return this.value}}class MockAgent extends I{constructor(e){super(e);this[d]=true;this[p]=true;if(e&&e.agent&&typeof e.agent.dispatch!=="function"){throw new Q("Argument opts.agent must implement Agent")}const t=e&&e.agent?e.agent:new i(e);this[r]=t;this[s]=t[s];this[c]=C(e)}get(e){let t=this[o](e);if(!t){t=this[u](e);this[a](e,t)}return t}dispatch(e,t){this.get(e.origin);return this[r].dispatch(e,t)}async close(){await this[r].close();this[s].clear()}deactivate(){this[p]=false}activate(){this[p]=true}enableNetConnect(e){if(typeof e==="string"||typeof e==="function"||e instanceof RegExp){if(Array.isArray(this[d])){this[d].push(e)}else{this[d]=[e]}}else if(typeof e==="undefined"){this[d]=true}else{throw new Q("Unsupported matcher. Must be one of String|Function|RegExp.")}}disableNetConnect(){this[d]=false}get isMockActive(){return this[p]}[a](e,t){this[s].set(e,new FakeWeakRef(t))}[u](e){const t=Object.assign({agent:this},this[c]);return this[c]&&this[c].connections===1?new h(e,t):new g(e,t)}[o](e){const t=this[s].get(e);if(t){return t.deref()}if(typeof e!=="string"){const t=this[u]("http://localhost:9999");this[a](e,t);return t}for(const[t,A]of Array.from(this[s])){const s=A.deref();if(s&&typeof t!=="string"&&E(t,e)){const t=this[u](e);this[a](e,t);t[n]=s[n];return t}}}[l](){return this[d]}pendingInterceptors(){const e=this[s];return Array.from(e.entries()).flatMap((([e,t])=>t.deref()[n].map((t=>({...t,origin:e}))))).filter((({pending:e})=>e))}assertNoPendingInterceptors({pendingInterceptorsFormatter:e=new y}={}){const t=this.pendingInterceptors();if(t.length===0){return}const A=new w("interceptor","interceptors").pluralize(t.length);throw new B(`\n${A.count} ${A.noun} ${A.is} pending:\n\n${e.format(t)}\n`.trim())}}e.exports=MockAgent},8687:(e,t,A)=>{"use strict";const{promisify:s}=A(3837);const i=A(3598);const{buildMockDispatch:r}=A(9323);const{kDispatches:a,kMockAgent:o,kClose:n,kOriginalClose:p,kOrigin:d,kOriginalDispatch:l,kConnected:c}=A(4347);const{MockInterceptor:u}=A(410);const h=A(2785);const{InvalidArgumentError:g}=A(8045);class MockClient extends i{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new g("Argument opts.agent must implement Agent")}this[o]=t.agent;this[d]=e;this[a]=[];this[c]=1;this[l]=this.dispatch;this[p]=this.close.bind(this);this.dispatch=r.call(this);this.close=this[n]}get[h.kConnected](){return this[c]}intercept(e){return new u(e,this[a])}async[n](){await s(this[p])();this[c]=0;this[o][h.kClients].delete(this[d])}}e.exports=MockClient},888:(e,t,A)=>{"use strict";const{UndiciError:s}=A(8045);class MockNotMatchedError extends s{constructor(e){super(e);Error.captureStackTrace(this,MockNotMatchedError);this.name="MockNotMatchedError";this.message=e||"The request does not match any registered mock dispatches";this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}}e.exports={MockNotMatchedError:MockNotMatchedError}},410:(e,t,A)=>{"use strict";const{getResponseData:s,buildKey:i,addMockDispatch:r}=A(9323);const{kDispatches:a,kDispatchKey:o,kDefaultHeaders:n,kDefaultTrailers:p,kContentLength:d,kMockDispatch:l}=A(4347);const{InvalidArgumentError:c}=A(8045);const{buildURL:u}=A(3983);class MockScope{constructor(e){this[l]=e}delay(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new c("waitInMs must be a valid integer > 0")}this[l].delay=e;return this}persist(){this[l].persist=true;return this}times(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new c("repeatTimes must be a valid integer > 0")}this[l].times=e;return this}}class MockInterceptor{constructor(e,t){if(typeof e!=="object"){throw new c("opts must be an object")}if(typeof e.path==="undefined"){throw new c("opts.path must be defined")}if(typeof e.method==="undefined"){e.method="GET"}if(typeof e.path==="string"){if(e.query){e.path=u(e.path,e.query)}else{const t=new URL(e.path,"data://");e.path=t.pathname+t.search}}if(typeof e.method==="string"){e.method=e.method.toUpperCase()}this[o]=i(e);this[a]=t;this[n]={};this[p]={};this[d]=false}createMockScopeDispatchData(e,t,A={}){const i=s(t);const r=this[d]?{"content-length":i.length}:{};const a={...this[n],...r,...A.headers};const o={...this[p],...A.trailers};return{statusCode:e,data:t,headers:a,trailers:o}}validateReplyParameters(e,t,A){if(typeof e==="undefined"){throw new c("statusCode must be defined")}if(typeof t==="undefined"){throw new c("data must be defined")}if(typeof A!=="object"){throw new c("responseOptions must be an object")}}reply(e){if(typeof e==="function"){const wrappedDefaultsCallback=t=>{const A=e(t);if(typeof A!=="object"){throw new c("reply options callback must return an object")}const{statusCode:s,data:i="",responseOptions:r={}}=A;this.validateReplyParameters(s,i,r);return{...this.createMockScopeDispatchData(s,i,r)}};const t=r(this[a],this[o],wrappedDefaultsCallback);return new MockScope(t)}const[t,A="",s={}]=[...arguments];this.validateReplyParameters(t,A,s);const i=this.createMockScopeDispatchData(t,A,s);const n=r(this[a],this[o],i);return new MockScope(n)}replyWithError(e){if(typeof e==="undefined"){throw new c("error must be defined")}const t=r(this[a],this[o],{error:e});return new MockScope(t)}defaultReplyHeaders(e){if(typeof e==="undefined"){throw new c("headers must be defined")}this[n]=e;return this}defaultReplyTrailers(e){if(typeof e==="undefined"){throw new c("trailers must be defined")}this[p]=e;return this}replyContentLength(){this[d]=true;return this}}e.exports.MockInterceptor=MockInterceptor;e.exports.MockScope=MockScope},6193:(e,t,A)=>{"use strict";const{promisify:s}=A(3837);const i=A(4634);const{buildMockDispatch:r}=A(9323);const{kDispatches:a,kMockAgent:o,kClose:n,kOriginalClose:p,kOrigin:d,kOriginalDispatch:l,kConnected:c}=A(4347);const{MockInterceptor:u}=A(410);const h=A(2785);const{InvalidArgumentError:g}=A(8045);class MockPool extends i{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new g("Argument opts.agent must implement Agent")}this[o]=t.agent;this[d]=e;this[a]=[];this[c]=1;this[l]=this.dispatch;this[p]=this.close.bind(this);this.dispatch=r.call(this);this.close=this[n]}get[h.kConnected](){return this[c]}intercept(e){return new u(e,this[a])}async[n](){await s(this[p])();this[c]=0;this[o][h.kClients].delete(this[d])}}e.exports=MockPool},4347:e=>{"use strict";e.exports={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected")}},9323:(e,t,A)=>{"use strict";const{MockNotMatchedError:s}=A(888);const{kDispatches:i,kMockAgent:r,kOriginalDispatch:a,kOrigin:o,kGetNetConnect:n}=A(4347);const{buildURL:p,nop:d}=A(3983);const{STATUS_CODES:l}=A(3685);const{types:{isPromise:c}}=A(3837);function matchValue(e,t){if(typeof e==="string"){return e===t}if(e instanceof RegExp){return e.test(t)}if(typeof e==="function"){return e(t)===true}return false}function lowerCaseEntries(e){return Object.fromEntries(Object.entries(e).map((([e,t])=>[e.toLocaleLowerCase(),t])))}function getHeaderByName(e,t){if(Array.isArray(e)){for(let A=0;A!e)).filter((({path:e})=>matchValue(safeUrl(e),i)));if(r.length===0){throw new s(`Mock dispatch not matched for path '${i}'`)}r=r.filter((({method:e})=>matchValue(e,t.method)));if(r.length===0){throw new s(`Mock dispatch not matched for method '${t.method}'`)}r=r.filter((({body:e})=>typeof e!=="undefined"?matchValue(e,t.body):true));if(r.length===0){throw new s(`Mock dispatch not matched for body '${t.body}'`)}r=r.filter((e=>matchHeaders(e,t.headers)));if(r.length===0){throw new s(`Mock dispatch not matched for headers '${typeof t.headers==="object"?JSON.stringify(t.headers):t.headers}'`)}return r[0]}function addMockDispatch(e,t,A){const s={timesInvoked:0,times:1,persist:false,consumed:false};const i=typeof A==="function"?{callback:A}:{...A};const r={...s,...t,pending:true,data:{error:null,...i}};e.push(r);return r}function deleteMockDispatch(e,t){const A=e.findIndex((e=>{if(!e.consumed){return false}return matchKey(e,t)}));if(A!==-1){e.splice(A,1)}}function buildKey(e){const{path:t,method:A,body:s,headers:i,query:r}=e;return{path:t,method:A,body:s,headers:i,query:r}}function generateKeyValues(e){return Object.entries(e).reduce(((e,[t,A])=>[...e,Buffer.from(`${t}`),Array.isArray(A)?A.map((e=>Buffer.from(`${e}`))):Buffer.from(`${A}`)]),[])}function getStatusText(e){return l[e]||"unknown"}async function getResponse(e){const t=[];for await(const A of e){t.push(A)}return Buffer.concat(t).toString("utf8")}function mockDispatch(e,t){const A=buildKey(e);const s=getMockDispatch(this[i],A);s.timesInvoked++;if(s.data.callback){s.data={...s.data,...s.data.callback(e)}}const{data:{statusCode:r,data:a,headers:o,trailers:n,error:p},delay:l,persist:u}=s;const{timesInvoked:h,times:g}=s;s.consumed=!u&&h>=g;s.pending=h0){setTimeout((()=>{handleReply(this[i])}),l)}else{handleReply(this[i])}function handleReply(s,i=a){const p=Array.isArray(e.headers)?buildHeadersFromArray(e.headers):e.headers;const l=typeof i==="function"?i({...e,headers:p}):i;if(c(l)){l.then((e=>handleReply(s,e)));return}const u=getResponseData(l);const h=generateKeyValues(o);const g=generateKeyValues(n);t.abort=d;t.onHeaders(r,h,resume,getStatusText(r));t.onData(Buffer.from(u));t.onComplete(g);deleteMockDispatch(s,A)}function resume(){}return true}function buildMockDispatch(){const e=this[r];const t=this[o];const A=this[a];return function dispatch(i,r){if(e.isMockActive){try{mockDispatch.call(this,i,r)}catch(a){if(a instanceof s){const o=e[n]();if(o===false){throw new s(`${a.message}: subsequent request to origin ${t} was not allowed (net.connect disabled)`)}if(checkNetConnect(o,t)){A.call(this,i,r)}else{throw new s(`${a.message}: subsequent request to origin ${t} was not allowed (net.connect is not enabled for this origin)`)}}else{throw a}}}else{A.call(this,i,r)}}}function checkNetConnect(e,t){const A=new URL(t);if(e===true){return true}else if(Array.isArray(e)&&e.some((e=>matchValue(e,A.host)))){return true}return false}function buildMockOptions(e){if(e){const{agent:t,...A}=e;return A}}e.exports={getResponseData:getResponseData,getMockDispatch:getMockDispatch,addMockDispatch:addMockDispatch,deleteMockDispatch:deleteMockDispatch,buildKey:buildKey,generateKeyValues:generateKeyValues,matchValue:matchValue,getResponse:getResponse,getStatusText:getStatusText,mockDispatch:mockDispatch,buildMockDispatch:buildMockDispatch,checkNetConnect:checkNetConnect,buildMockOptions:buildMockOptions,getHeaderByName:getHeaderByName}},6823:(e,t,A)=>{"use strict";const{Transform:s}=A(2781);const{Console:i}=A(6206);e.exports=class PendingInterceptorsFormatter{constructor({disableColors:e}={}){this.transform=new s({transform(e,t,A){A(null,e)}});this.logger=new i({stdout:this.transform,inspectOptions:{colors:!e&&!process.env.CI}})}format(e){const t=e.map((({method:e,path:t,data:{statusCode:A},persist:s,times:i,timesInvoked:r,origin:a})=>({Method:e,Origin:a,Path:t,"Status code":A,Persistent:s?"✅":"❌",Invocations:r,Remaining:s?Infinity:i-r})));this.logger.table(t);return this.transform.read().toString()}}},8891:e=>{"use strict";const t={pronoun:"it",is:"is",was:"was",this:"this"};const A={pronoun:"they",is:"are",was:"were",this:"these"};e.exports=class Pluralizer{constructor(e,t){this.singular=e;this.plural=t}pluralize(e){const s=e===1;const i=s?t:A;const r=s?this.singular:this.plural;return{...i,count:e,noun:r}}}},8266:e=>{"use strict";const t=2048;const A=t-1;class FixedCircularBuffer{constructor(){this.bottom=0;this.top=0;this.list=new Array(t);this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&A)===this.bottom}push(e){this.list[this.top]=e;this.top=this.top+1&A}shift(){const e=this.list[this.bottom];if(e===undefined)return null;this.list[this.bottom]=undefined;this.bottom=this.bottom+1&A;return e}}e.exports=class FixedQueue{constructor(){this.head=this.tail=new FixedCircularBuffer}isEmpty(){return this.head.isEmpty()}push(e){if(this.head.isFull()){this.head=this.head.next=new FixedCircularBuffer}this.head.push(e)}shift(){const e=this.tail;const t=e.shift();if(e.isEmpty()&&e.next!==null){this.tail=e.next}return t}}},3198:(e,t,A)=>{"use strict";const s=A(4839);const i=A(8266);const{kConnected:r,kSize:a,kRunning:o,kPending:n,kQueued:p,kBusy:d,kFree:l,kUrl:c,kClose:u,kDestroy:h,kDispatch:g}=A(2785);const E=A(9689);const C=Symbol("clients");const Q=Symbol("needDrain");const B=Symbol("queue");const I=Symbol("closed resolve");const w=Symbol("onDrain");const y=Symbol("onConnect");const v=Symbol("onDisconnect");const b=Symbol("onConnectionError");const D=Symbol("get dispatcher");const R=Symbol("add client");const k=Symbol("remove client");const S=Symbol("stats");class PoolBase extends s{constructor(){super();this[B]=new i;this[C]=[];this[p]=0;const e=this;this[w]=function onDrain(t,A){const s=e[B];let i=false;while(!i){const t=s.shift();if(!t){break}e[p]--;i=!this.dispatch(t.opts,t.handler)}this[Q]=i;if(!this[Q]&&e[Q]){e[Q]=false;e.emit("drain",t,[e,...A])}if(e[I]&&s.isEmpty()){Promise.all(e[C].map((e=>e.close()))).then(e[I])}};this[y]=(t,A)=>{e.emit("connect",t,[e,...A])};this[v]=(t,A,s)=>{e.emit("disconnect",t,[e,...A],s)};this[b]=(t,A,s)=>{e.emit("connectionError",t,[e,...A],s)};this[S]=new E(this)}get[d](){return this[Q]}get[r](){return this[C].filter((e=>e[r])).length}get[l](){return this[C].filter((e=>e[r]&&!e[Q])).length}get[n](){let e=this[p];for(const{[n]:t}of this[C]){e+=t}return e}get[o](){let e=0;for(const{[o]:t}of this[C]){e+=t}return e}get[a](){let e=this[p];for(const{[a]:t}of this[C]){e+=t}return e}get stats(){return this[S]}async[u](){if(this[B].isEmpty()){return Promise.all(this[C].map((e=>e.close())))}else{return new Promise((e=>{this[I]=e}))}}async[h](e){while(true){const t=this[B].shift();if(!t){break}t.handler.onError(e)}return Promise.all(this[C].map((t=>t.destroy(e))))}[g](e,t){const A=this[D]();if(!A){this[Q]=true;this[B].push({opts:e,handler:t});this[p]++}else if(!A.dispatch(e,t)){A[Q]=true;this[Q]=!this[D]()}return!this[Q]}[R](e){e.on("drain",this[w]).on("connect",this[y]).on("disconnect",this[v]).on("connectionError",this[b]);this[C].push(e);if(this[Q]){process.nextTick((()=>{if(this[Q]){this[w](e[c],[this,e])}}))}return this}[k](e){e.close((()=>{const t=this[C].indexOf(e);if(t!==-1){this[C].splice(t,1)}}));this[Q]=this[C].some((e=>!e[Q]&&e.closed!==true&&e.destroyed!==true))}}e.exports={PoolBase:PoolBase,kClients:C,kNeedDrain:Q,kAddClient:R,kRemoveClient:k,kGetDispatcher:D}},9689:(e,t,A)=>{const{kFree:s,kConnected:i,kPending:r,kQueued:a,kRunning:o,kSize:n}=A(2785);const p=Symbol("pool");class PoolStats{constructor(e){this[p]=e}get connected(){return this[p][i]}get free(){return this[p][s]}get pending(){return this[p][r]}get queued(){return this[p][a]}get running(){return this[p][o]}get size(){return this[p][n]}}e.exports=PoolStats},4634:(e,t,A)=>{"use strict";const{PoolBase:s,kClients:i,kNeedDrain:r,kAddClient:a,kGetDispatcher:o}=A(3198);const n=A(3598);const{InvalidArgumentError:p}=A(8045);const d=A(3983);const{kUrl:l,kInterceptors:c}=A(2785);const u=A(2067);const h=Symbol("options");const g=Symbol("connections");const E=Symbol("factory");function defaultFactory(e,t){return new n(e,t)}class Pool extends s{constructor(e,{connections:t,factory:A=defaultFactory,connect:s,connectTimeout:i,tls:r,maxCachedSessions:a,socketPath:o,autoSelectFamily:n,autoSelectFamilyAttemptTimeout:C,allowH2:Q,...B}={}){super();if(t!=null&&(!Number.isFinite(t)||t<0)){throw new p("invalid connections")}if(typeof A!=="function"){throw new p("factory must be a function.")}if(s!=null&&typeof s!=="function"&&typeof s!=="object"){throw new p("connect must be a function or an object")}if(typeof s!=="function"){s=u({...r,maxCachedSessions:a,allowH2:Q,socketPath:o,timeout:i,...d.nodeHasAutoSelectFamily&&n?{autoSelectFamily:n,autoSelectFamilyAttemptTimeout:C}:undefined,...s})}this[c]=B.interceptors&&B.interceptors.Pool&&Array.isArray(B.interceptors.Pool)?B.interceptors.Pool:[];this[g]=t||null;this[l]=d.parseOrigin(e);this[h]={...d.deepClone(B),connect:s,allowH2:Q};this[h].interceptors=B.interceptors?{...B.interceptors}:undefined;this[E]=A}[o](){let e=this[i].find((e=>!e[r]));if(e){return e}if(!this[g]||this[i].length{"use strict";const{kProxy:s,kClose:i,kDestroy:r,kInterceptors:a}=A(2785);const{URL:o}=A(7310);const n=A(7890);const p=A(4634);const d=A(4839);const{InvalidArgumentError:l,RequestAbortedError:c}=A(8045);const u=A(2067);const h=Symbol("proxy agent");const g=Symbol("proxy client");const E=Symbol("proxy headers");const C=Symbol("request tls settings");const Q=Symbol("proxy tls settings");const B=Symbol("connect endpoint function");function defaultProtocolPort(e){return e==="https:"?443:80}function buildProxyOptions(e){if(typeof e==="string"){e={uri:e}}if(!e||!e.uri){throw new l("Proxy opts.uri is mandatory")}return{uri:e.uri,protocol:e.protocol||"https"}}function defaultFactory(e,t){return new p(e,t)}class ProxyAgent extends d{constructor(e){super(e);this[s]=buildProxyOptions(e);this[h]=new n(e);this[a]=e.interceptors&&e.interceptors.ProxyAgent&&Array.isArray(e.interceptors.ProxyAgent)?e.interceptors.ProxyAgent:[];if(typeof e==="string"){e={uri:e}}if(!e||!e.uri){throw new l("Proxy opts.uri is mandatory")}const{clientFactory:t=defaultFactory}=e;if(typeof t!=="function"){throw new l("Proxy opts.clientFactory must be a function.")}this[C]=e.requestTls;this[Q]=e.proxyTls;this[E]=e.headers||{};const A=new o(e.uri);const{origin:i,port:r,host:p,username:d,password:I}=A;if(e.auth&&e.token){throw new l("opts.auth cannot be used in combination with opts.token")}else if(e.auth){this[E]["proxy-authorization"]=`Basic ${e.auth}`}else if(e.token){this[E]["proxy-authorization"]=e.token}else if(d&&I){this[E]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(d)}:${decodeURIComponent(I)}`).toString("base64")}`}const w=u({...e.proxyTls});this[B]=u({...e.requestTls});this[g]=t(A,{connect:w});this[h]=new n({...e,connect:async(e,t)=>{let A=e.host;if(!e.port){A+=`:${defaultProtocolPort(e.protocol)}`}try{const{socket:s,statusCode:a}=await this[g].connect({origin:i,port:r,path:A,signal:e.signal,headers:{...this[E],host:p}});if(a!==200){s.on("error",(()=>{})).destroy();t(new c(`Proxy response (${a}) !== 200 when HTTP Tunneling`))}if(e.protocol!=="https:"){t(null,s);return}let o;if(this[C]){o=this[C].servername}else{o=e.servername}this[B]({...e,servername:o,httpSocket:s},t)}catch(e){t(e)}}})}dispatch(e,t){const{host:A}=new o(e.origin);const s=buildHeaders(e.headers);throwIfProxyAuthIsSent(s);return this[h].dispatch({...e,headers:{...s,host:A}},t)}async[i](){await this[h].close();await this[g].close()}async[r](){await this[h].destroy();await this[g].destroy()}}function buildHeaders(e){if(Array.isArray(e)){const t={};for(let A=0;Ae.toLowerCase()==="proxy-authorization"));if(t){throw new l("Proxy-Authorization should be sent in ProxyAgent constructor")}}e.exports=ProxyAgent},9459:e=>{"use strict";let t=Date.now();let A;const s=[];function onTimeout(){t=Date.now();let e=s.length;let A=0;while(A0&&t>=i.state){i.state=-1;i.callback(i.opaque)}if(i.state===-1){i.state=-2;if(A!==e-1){s[A]=s.pop()}else{s.pop()}e-=1}else{A+=1}}if(s.length>0){refreshTimeout()}}function refreshTimeout(){if(A&&A.refresh){A.refresh()}else{clearTimeout(A);A=setTimeout(onTimeout,1e3);if(A.unref){A.unref()}}}class Timeout{constructor(e,t,A){this.callback=e;this.delay=t;this.opaque=A;this.state=-2;this.refresh()}refresh(){if(this.state===-2){s.push(this);if(!A||s.length===1){refreshTimeout()}}this.state=0}clear(){this.state=-1}}e.exports={setTimeout(e,t,A){return t<1e3?setTimeout(e,t,A):new Timeout(e,t,A)},clearTimeout(e){if(e instanceof Timeout){e.clear()}else{clearTimeout(e)}}}},5354:(e,t,A)=>{"use strict";const s=A(7643);const{uid:i,states:r}=A(9188);const{kReadyState:a,kSentClose:o,kByteParser:n,kReceivedClose:p}=A(7578);const{fireEvent:d,failWebsocketConnection:l}=A(5515);const{CloseEvent:c}=A(2611);const{makeRequest:u}=A(8359);const{fetching:h}=A(4881);const{Headers:g}=A(554);const{getGlobalDispatcher:E}=A(1892);const{kHeadersList:C}=A(2785);const Q={};Q.open=s.channel("undici:websocket:open");Q.close=s.channel("undici:websocket:close");Q.socketError=s.channel("undici:websocket:socket_error");let B;try{B=A(6113)}catch{}function establishWebSocketConnection(e,t,A,s,r){const a=e;a.protocol=e.protocol==="ws:"?"http:":"https:";const o=u({urlList:[a],serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(r.headers){const e=new g(r.headers)[C];o.headersList=e}const n=B.randomBytes(16).toString("base64");o.headersList.append("sec-websocket-key",n);o.headersList.append("sec-websocket-version","13");for(const e of t){o.headersList.append("sec-websocket-protocol",e)}const p="";const d=h({request:o,useParallelQueue:true,dispatcher:r.dispatcher??E(),processResponse(e){if(e.type==="error"||e.status!==101){l(A,"Received network error or non-101 status code.");return}if(t.length!==0&&!e.headersList.get("Sec-WebSocket-Protocol")){l(A,"Server did not respond with sent protocols.");return}if(e.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){l(A,'Server did not set Upgrade header to "websocket".');return}if(e.headersList.get("Connection")?.toLowerCase()!=="upgrade"){l(A,'Server did not set Connection header to "upgrade".');return}const r=e.headersList.get("Sec-WebSocket-Accept");const a=B.createHash("sha1").update(n+i).digest("base64");if(r!==a){l(A,"Incorrect hash received in Sec-WebSocket-Accept header.");return}const d=e.headersList.get("Sec-WebSocket-Extensions");if(d!==null&&d!==p){l(A,"Received different permessage-deflate than the one set.");return}const c=e.headersList.get("Sec-WebSocket-Protocol");if(c!==null&&c!==o.headersList.get("Sec-WebSocket-Protocol")){l(A,"Protocol was not set in the opening handshake.");return}e.socket.on("data",onSocketData);e.socket.on("close",onSocketClose);e.socket.on("error",onSocketError);if(Q.open.hasSubscribers){Q.open.publish({address:e.socket.address(),protocol:c,extensions:d})}s(e)}});return d}function onSocketData(e){if(!this.ws[n].write(e)){this.pause()}}function onSocketClose(){const{ws:e}=this;const t=e[o]&&e[p];let A=1005;let s="";const i=e[n].closingInfo;if(i){A=i.code??1005;s=i.reason}else if(!e[o]){A=1006}e[a]=r.CLOSED;d("close",e,c,{wasClean:t,code:A,reason:s});if(Q.close.hasSubscribers){Q.close.publish({websocket:e,code:A,reason:s})}}function onSocketError(e){const{ws:t}=this;t[a]=r.CLOSING;if(Q.socketError.hasSubscribers){Q.socketError.publish(e)}this.destroy()}e.exports={establishWebSocketConnection:establishWebSocketConnection}},9188:e=>{"use strict";const t="258EAFA5-E914-47DA-95CA-C5AB0DC85B11";const A={enumerable:true,writable:false,configurable:false};const s={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};const i={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10};const r=2**16-1;const a={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4};const o=Buffer.allocUnsafe(0);e.exports={uid:t,staticPropertyDescriptors:A,states:s,opcodes:i,maxUnsigned16Bit:r,parserStates:a,emptyBuffer:o}},2611:(e,t,A)=>{"use strict";const{webidl:s}=A(1744);const{kEnumerableProperty:i}=A(3983);const{MessagePort:r}=A(1267);class MessageEvent extends Event{#r;constructor(e,t={}){s.argumentLengthCheck(arguments,1,{header:"MessageEvent constructor"});e=s.converters.DOMString(e);t=s.converters.MessageEventInit(t);super(e,t);this.#r=t}get data(){s.brandCheck(this,MessageEvent);return this.#r.data}get origin(){s.brandCheck(this,MessageEvent);return this.#r.origin}get lastEventId(){s.brandCheck(this,MessageEvent);return this.#r.lastEventId}get source(){s.brandCheck(this,MessageEvent);return this.#r.source}get ports(){s.brandCheck(this,MessageEvent);if(!Object.isFrozen(this.#r.ports)){Object.freeze(this.#r.ports)}return this.#r.ports}initMessageEvent(e,t=false,A=false,i=null,r="",a="",o=null,n=[]){s.brandCheck(this,MessageEvent);s.argumentLengthCheck(arguments,1,{header:"MessageEvent.initMessageEvent"});return new MessageEvent(e,{bubbles:t,cancelable:A,data:i,origin:r,lastEventId:a,source:o,ports:n})}}class CloseEvent extends Event{#r;constructor(e,t={}){s.argumentLengthCheck(arguments,1,{header:"CloseEvent constructor"});e=s.converters.DOMString(e);t=s.converters.CloseEventInit(t);super(e,t);this.#r=t}get wasClean(){s.brandCheck(this,CloseEvent);return this.#r.wasClean}get code(){s.brandCheck(this,CloseEvent);return this.#r.code}get reason(){s.brandCheck(this,CloseEvent);return this.#r.reason}}class ErrorEvent extends Event{#r;constructor(e,t){s.argumentLengthCheck(arguments,1,{header:"ErrorEvent constructor"});super(e,t);e=s.converters.DOMString(e);t=s.converters.ErrorEventInit(t??{});this.#r=t}get message(){s.brandCheck(this,ErrorEvent);return this.#r.message}get filename(){s.brandCheck(this,ErrorEvent);return this.#r.filename}get lineno(){s.brandCheck(this,ErrorEvent);return this.#r.lineno}get colno(){s.brandCheck(this,ErrorEvent);return this.#r.colno}get error(){s.brandCheck(this,ErrorEvent);return this.#r.error}}Object.defineProperties(MessageEvent.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:true},data:i,origin:i,lastEventId:i,source:i,ports:i,initMessageEvent:i});Object.defineProperties(CloseEvent.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:true},reason:i,code:i,wasClean:i});Object.defineProperties(ErrorEvent.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:true},message:i,filename:i,lineno:i,colno:i,error:i});s.converters.MessagePort=s.interfaceConverter(r);s.converters["sequence"]=s.sequenceConverter(s.converters.MessagePort);const a=[{key:"bubbles",converter:s.converters.boolean,defaultValue:false},{key:"cancelable",converter:s.converters.boolean,defaultValue:false},{key:"composed",converter:s.converters.boolean,defaultValue:false}];s.converters.MessageEventInit=s.dictionaryConverter([...a,{key:"data",converter:s.converters.any,defaultValue:null},{key:"origin",converter:s.converters.USVString,defaultValue:""},{key:"lastEventId",converter:s.converters.DOMString,defaultValue:""},{key:"source",converter:s.nullableConverter(s.converters.MessagePort),defaultValue:null},{key:"ports",converter:s.converters["sequence"],get defaultValue(){return[]}}]);s.converters.CloseEventInit=s.dictionaryConverter([...a,{key:"wasClean",converter:s.converters.boolean,defaultValue:false},{key:"code",converter:s.converters["unsigned short"],defaultValue:0},{key:"reason",converter:s.converters.USVString,defaultValue:""}]);s.converters.ErrorEventInit=s.dictionaryConverter([...a,{key:"message",converter:s.converters.DOMString,defaultValue:""},{key:"filename",converter:s.converters.USVString,defaultValue:""},{key:"lineno",converter:s.converters["unsigned long"],defaultValue:0},{key:"colno",converter:s.converters["unsigned long"],defaultValue:0},{key:"error",converter:s.converters.any}]);e.exports={MessageEvent:MessageEvent,CloseEvent:CloseEvent,ErrorEvent:ErrorEvent}},5444:(e,t,A)=>{"use strict";const{maxUnsigned16Bit:s}=A(9188);let i;try{i=A(6113)}catch{}class WebsocketFrameSend{constructor(e){this.frameData=e;this.maskKey=i.randomBytes(4)}createFrame(e){const t=this.frameData?.byteLength??0;let A=t;let i=6;if(t>s){i+=8;A=127}else if(t>125){i+=2;A=126}const r=Buffer.allocUnsafe(t+i);r[0]=r[1]=0;r[0]|=128;r[0]=(r[0]&240)+e; -/*! ws. MIT License. Einar Otto Stangvik */r[i-4]=this.maskKey[0];r[i-3]=this.maskKey[1];r[i-2]=this.maskKey[2];r[i-1]=this.maskKey[3];r[1]=A;if(A===126){r.writeUInt16BE(t,2)}else if(A===127){r[2]=r[3]=0;r.writeUIntBE(t,4,6)}r[1]|=128;for(let e=0;e{"use strict";const{Writable:s}=A(2781);const i=A(7643);const{parserStates:r,opcodes:a,states:o,emptyBuffer:n}=A(9188);const{kReadyState:p,kSentClose:d,kResponse:l,kReceivedClose:c}=A(7578);const{isValidStatusCode:u,failWebsocketConnection:h,websocketMessageReceived:g}=A(5515);const{WebsocketFrameSend:E}=A(5444);const C={};C.ping=i.channel("undici:websocket:ping");C.pong=i.channel("undici:websocket:pong");class ByteParser extends s{#a=[];#o=0;#n=r.INFO;#p={};#d=[];constructor(e){super();this.ws=e}_write(e,t,A){this.#a.push(e);this.#o+=e.length;this.run(A)}run(e){while(true){if(this.#n===r.INFO){if(this.#o<2){return e()}const t=this.consume(2);this.#p.fin=(t[0]&128)!==0;this.#p.opcode=t[0]&15;this.#p.originalOpcode??=this.#p.opcode;this.#p.fragmented=!this.#p.fin&&this.#p.opcode!==a.CONTINUATION;if(this.#p.fragmented&&this.#p.opcode!==a.BINARY&&this.#p.opcode!==a.TEXT){h(this.ws,"Invalid frame type was fragmented.");return}const A=t[1]&127;if(A<=125){this.#p.payloadLength=A;this.#n=r.READ_DATA}else if(A===126){this.#n=r.PAYLOADLENGTH_16}else if(A===127){this.#n=r.PAYLOADLENGTH_64}if(this.#p.fragmented&&A>125){h(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#p.opcode===a.PING||this.#p.opcode===a.PONG||this.#p.opcode===a.CLOSE)&&A>125){h(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#p.opcode===a.CLOSE){if(A===1){h(this.ws,"Received close frame with a 1-byte body.");return}const e=this.consume(A);this.#p.closeInfo=this.parseCloseBody(false,e);if(!this.ws[d]){const e=Buffer.allocUnsafe(2);e.writeUInt16BE(this.#p.closeInfo.code,0);const t=new E(e);this.ws[l].socket.write(t.createFrame(a.CLOSE),(e=>{if(!e){this.ws[d]=true}}))}this.ws[p]=o.CLOSING;this.ws[c]=true;this.end();return}else if(this.#p.opcode===a.PING){const t=this.consume(A);if(!this.ws[c]){const e=new E(t);this.ws[l].socket.write(e.createFrame(a.PONG));if(C.ping.hasSubscribers){C.ping.publish({payload:t})}}this.#n=r.INFO;if(this.#o>0){continue}else{e();return}}else if(this.#p.opcode===a.PONG){const t=this.consume(A);if(C.pong.hasSubscribers){C.pong.publish({payload:t})}if(this.#o>0){continue}else{e();return}}}else if(this.#n===r.PAYLOADLENGTH_16){if(this.#o<2){return e()}const t=this.consume(2);this.#p.payloadLength=t.readUInt16BE(0);this.#n=r.READ_DATA}else if(this.#n===r.PAYLOADLENGTH_64){if(this.#o<8){return e()}const t=this.consume(8);const A=t.readUInt32BE(0);if(A>2**31-1){h(this.ws,"Received payload length > 2^31 bytes.");return}const s=t.readUInt32BE(4);this.#p.payloadLength=(A<<8)+s;this.#n=r.READ_DATA}else if(this.#n===r.READ_DATA){if(this.#o=this.#p.payloadLength){const e=this.consume(this.#p.payloadLength);this.#d.push(e);if(!this.#p.fragmented||this.#p.fin&&this.#p.opcode===a.CONTINUATION){const e=Buffer.concat(this.#d);g(this.ws,this.#p.originalOpcode,e);this.#p={};this.#d.length=0}this.#n=r.INFO}}if(this.#o>0){continue}else{e();break}}}consume(e){if(e>this.#o){return null}else if(e===0){return n}if(this.#a[0].length===e){this.#o-=this.#a[0].length;return this.#a.shift()}const t=Buffer.allocUnsafe(e);let A=0;while(A!==e){const s=this.#a[0];const{length:i}=s;if(i+A===e){t.set(this.#a.shift(),A);break}else if(i+A>e){t.set(s.subarray(0,e-A),A);this.#a[0]=s.subarray(e-A);break}else{t.set(this.#a.shift(),A);A+=s.length}}this.#o-=e;return t}parseCloseBody(e,t){let A;if(t.length>=2){A=t.readUInt16BE(0)}if(e){if(!u(A)){return null}return{code:A}}let s=t.subarray(2);if(s[0]===239&&s[1]===187&&s[2]===191){s=s.subarray(3)}if(A!==undefined&&!u(A)){return null}try{s=new TextDecoder("utf-8",{fatal:true}).decode(s)}catch{return null}return{code:A,reason:s}}get closingInfo(){return this.#p.closeInfo}}e.exports={ByteParser:ByteParser}},7578:e=>{"use strict";e.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},5515:(e,t,A)=>{"use strict";const{kReadyState:s,kController:i,kResponse:r,kBinaryType:a,kWebSocketURL:o}=A(7578);const{states:n,opcodes:p}=A(9188);const{MessageEvent:d,ErrorEvent:l}=A(2611);function isEstablished(e){return e[s]===n.OPEN}function isClosing(e){return e[s]===n.CLOSING}function isClosed(e){return e[s]===n.CLOSED}function fireEvent(e,t,A=Event,s){const i=new A(e,s);t.dispatchEvent(i)}function websocketMessageReceived(e,t,A){if(e[s]!==n.OPEN){return}let i;if(t===p.TEXT){try{i=new TextDecoder("utf-8",{fatal:true}).decode(A)}catch{failWebsocketConnection(e,"Received invalid UTF-8 in text frame.");return}}else if(t===p.BINARY){if(e[a]==="blob"){i=new Blob([A])}else{i=new Uint8Array(A).buffer}}fireEvent("message",e,d,{origin:e[o].origin,data:i})}function isValidSubprotocol(e){if(e.length===0){return false}for(const t of e){const e=t.charCodeAt(0);if(e<33||e>126||t==="("||t===")"||t==="<"||t===">"||t==="@"||t===","||t===";"||t===":"||t==="\\"||t==='"'||t==="/"||t==="["||t==="]"||t==="?"||t==="="||t==="{"||t==="}"||e===32||e===9){return false}}return true}function isValidStatusCode(e){if(e>=1e3&&e<1015){return e!==1004&&e!==1005&&e!==1006}return e>=3e3&&e<=4999}function failWebsocketConnection(e,t){const{[i]:A,[r]:s}=e;A.abort();if(s?.socket&&!s.socket.destroyed){s.socket.destroy()}if(t){fireEvent("error",e,l,{error:new Error(t)})}}e.exports={isEstablished:isEstablished,isClosing:isClosing,isClosed:isClosed,fireEvent:fireEvent,isValidSubprotocol:isValidSubprotocol,isValidStatusCode:isValidStatusCode,failWebsocketConnection:failWebsocketConnection,websocketMessageReceived:websocketMessageReceived}},4284:(e,t,A)=>{"use strict";const{webidl:s}=A(1744);const{DOMException:i}=A(1037);const{URLSerializer:r}=A(685);const{getGlobalOrigin:a}=A(1246);const{staticPropertyDescriptors:o,states:n,opcodes:p,emptyBuffer:d}=A(9188);const{kWebSocketURL:l,kReadyState:c,kController:u,kBinaryType:h,kResponse:g,kSentClose:E,kByteParser:C}=A(7578);const{isEstablished:Q,isClosing:B,isValidSubprotocol:I,failWebsocketConnection:w,fireEvent:y}=A(5515);const{establishWebSocketConnection:v}=A(5354);const{WebsocketFrameSend:b}=A(5444);const{ByteParser:D}=A(1688);const{kEnumerableProperty:R,isBlobLike:k}=A(3983);const{getGlobalDispatcher:S}=A(1892);const{types:F}=A(3837);let N=false;class WebSocket extends EventTarget{#l={open:null,error:null,close:null,message:null};#c=0;#u="";#h="";constructor(e,t=[]){super();s.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"});if(!N){N=true;process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"})}const A=s.converters["DOMString or sequence or WebSocketInit"](t);e=s.converters.USVString(e);t=A.protocols;const r=a();let o;try{o=new URL(e,r)}catch(e){throw new i(e,"SyntaxError")}if(o.protocol==="http:"){o.protocol="ws:"}else if(o.protocol==="https:"){o.protocol="wss:"}if(o.protocol!=="ws:"&&o.protocol!=="wss:"){throw new i(`Expected a ws: or wss: protocol, got ${o.protocol}`,"SyntaxError")}if(o.hash||o.href.endsWith("#")){throw new i("Got fragment","SyntaxError")}if(typeof t==="string"){t=[t]}if(t.length!==new Set(t.map((e=>e.toLowerCase()))).size){throw new i("Invalid Sec-WebSocket-Protocol value","SyntaxError")}if(t.length>0&&!t.every((e=>I(e)))){throw new i("Invalid Sec-WebSocket-Protocol value","SyntaxError")}this[l]=new URL(o.href);this[u]=v(o,t,this,(e=>this.#g(e)),A);this[c]=WebSocket.CONNECTING;this[h]="blob"}close(e=undefined,t=undefined){s.brandCheck(this,WebSocket);if(e!==undefined){e=s.converters["unsigned short"](e,{clamp:true})}if(t!==undefined){t=s.converters.USVString(t)}if(e!==undefined){if(e!==1e3&&(e<3e3||e>4999)){throw new i("invalid code","InvalidAccessError")}}let A=0;if(t!==undefined){A=Buffer.byteLength(t);if(A>123){throw new i(`Reason must be less than 123 bytes; received ${A}`,"SyntaxError")}}if(this[c]===WebSocket.CLOSING||this[c]===WebSocket.CLOSED){}else if(!Q(this)){w(this,"Connection was closed before it was established.");this[c]=WebSocket.CLOSING}else if(!B(this)){const s=new b;if(e!==undefined&&t===undefined){s.frameData=Buffer.allocUnsafe(2);s.frameData.writeUInt16BE(e,0)}else if(e!==undefined&&t!==undefined){s.frameData=Buffer.allocUnsafe(2+A);s.frameData.writeUInt16BE(e,0);s.frameData.write(t,2,"utf-8")}else{s.frameData=d}const i=this[g].socket;i.write(s.createFrame(p.CLOSE),(e=>{if(!e){this[E]=true}}));this[c]=n.CLOSING}else{this[c]=WebSocket.CLOSING}}send(e){s.brandCheck(this,WebSocket);s.argumentLengthCheck(arguments,1,{header:"WebSocket.send"});e=s.converters.WebSocketSendData(e);if(this[c]===WebSocket.CONNECTING){throw new i("Sent before connected.","InvalidStateError")}if(!Q(this)||B(this)){return}const t=this[g].socket;if(typeof e==="string"){const A=Buffer.from(e);const s=new b(A);const i=s.createFrame(p.TEXT);this.#c+=A.byteLength;t.write(i,(()=>{this.#c-=A.byteLength}))}else if(F.isArrayBuffer(e)){const A=Buffer.from(e);const s=new b(A);const i=s.createFrame(p.BINARY);this.#c+=A.byteLength;t.write(i,(()=>{this.#c-=A.byteLength}))}else if(ArrayBuffer.isView(e)){const A=Buffer.from(e,e.byteOffset,e.byteLength);const s=new b(A);const i=s.createFrame(p.BINARY);this.#c+=A.byteLength;t.write(i,(()=>{this.#c-=A.byteLength}))}else if(k(e)){const A=new b;e.arrayBuffer().then((e=>{const s=Buffer.from(e);A.frameData=s;const i=A.createFrame(p.BINARY);this.#c+=s.byteLength;t.write(i,(()=>{this.#c-=s.byteLength}))}))}}get readyState(){s.brandCheck(this,WebSocket);return this[c]}get bufferedAmount(){s.brandCheck(this,WebSocket);return this.#c}get url(){s.brandCheck(this,WebSocket);return r(this[l])}get extensions(){s.brandCheck(this,WebSocket);return this.#h}get protocol(){s.brandCheck(this,WebSocket);return this.#u}get onopen(){s.brandCheck(this,WebSocket);return this.#l.open}set onopen(e){s.brandCheck(this,WebSocket);if(this.#l.open){this.removeEventListener("open",this.#l.open)}if(typeof e==="function"){this.#l.open=e;this.addEventListener("open",e)}else{this.#l.open=null}}get onerror(){s.brandCheck(this,WebSocket);return this.#l.error}set onerror(e){s.brandCheck(this,WebSocket);if(this.#l.error){this.removeEventListener("error",this.#l.error)}if(typeof e==="function"){this.#l.error=e;this.addEventListener("error",e)}else{this.#l.error=null}}get onclose(){s.brandCheck(this,WebSocket);return this.#l.close}set onclose(e){s.brandCheck(this,WebSocket);if(this.#l.close){this.removeEventListener("close",this.#l.close)}if(typeof e==="function"){this.#l.close=e;this.addEventListener("close",e)}else{this.#l.close=null}}get onmessage(){s.brandCheck(this,WebSocket);return this.#l.message}set onmessage(e){s.brandCheck(this,WebSocket);if(this.#l.message){this.removeEventListener("message",this.#l.message)}if(typeof e==="function"){this.#l.message=e;this.addEventListener("message",e)}else{this.#l.message=null}}get binaryType(){s.brandCheck(this,WebSocket);return this[h]}set binaryType(e){s.brandCheck(this,WebSocket);if(e!=="blob"&&e!=="arraybuffer"){this[h]="blob"}else{this[h]=e}}#g(e){this[g]=e;const t=new D(this);t.on("drain",(function onParserDrain(){this.ws[g].socket.resume()}));e.socket.ws=this;this[C]=t;this[c]=n.OPEN;const A=e.headersList.get("sec-websocket-extensions");if(A!==null){this.#h=A}const s=e.headersList.get("sec-websocket-protocol");if(s!==null){this.#u=s}y("open",this)}}WebSocket.CONNECTING=WebSocket.prototype.CONNECTING=n.CONNECTING;WebSocket.OPEN=WebSocket.prototype.OPEN=n.OPEN;WebSocket.CLOSING=WebSocket.prototype.CLOSING=n.CLOSING;WebSocket.CLOSED=WebSocket.prototype.CLOSED=n.CLOSED;Object.defineProperties(WebSocket.prototype,{CONNECTING:o,OPEN:o,CLOSING:o,CLOSED:o,url:R,readyState:R,bufferedAmount:R,onopen:R,onerror:R,onclose:R,close:R,onmessage:R,binaryType:R,send:R,extensions:R,protocol:R,[Symbol.toStringTag]:{value:"WebSocket",writable:false,enumerable:false,configurable:true}});Object.defineProperties(WebSocket,{CONNECTING:o,OPEN:o,CLOSING:o,CLOSED:o});s.converters["sequence"]=s.sequenceConverter(s.converters.DOMString);s.converters["DOMString or sequence"]=function(e){if(s.util.Type(e)==="Object"&&Symbol.iterator in e){return s.converters["sequence"](e)}return s.converters.DOMString(e)};s.converters.WebSocketInit=s.dictionaryConverter([{key:"protocols",converter:s.converters["DOMString or sequence"],get defaultValue(){return[]}},{key:"dispatcher",converter:e=>e,get defaultValue(){return S()}},{key:"headers",converter:s.nullableConverter(s.converters.HeadersInit)}]);s.converters["DOMString or sequence or WebSocketInit"]=function(e){if(s.util.Type(e)==="Object"&&!(Symbol.iterator in e)){return s.converters.WebSocketInit(e)}return{protocols:s.converters["DOMString or sequence"](e)}};s.converters.WebSocketSendData=function(e){if(s.util.Type(e)==="Object"){if(k(e)){return s.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||F.isAnyArrayBuffer(e)){return s.converters.BufferSource(e)}}return s.converters.USVString(e)};e.exports={WebSocket:WebSocket}},5030:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&process.version!==undefined){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}t.getUserAgent=getUserAgent},5840:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"v1",{enumerable:true,get:function(){return s.default}});Object.defineProperty(t,"v3",{enumerable:true,get:function(){return i.default}});Object.defineProperty(t,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(t,"v5",{enumerable:true,get:function(){return a.default}});Object.defineProperty(t,"NIL",{enumerable:true,get:function(){return o.default}});Object.defineProperty(t,"version",{enumerable:true,get:function(){return n.default}});Object.defineProperty(t,"validate",{enumerable:true,get:function(){return p.default}});Object.defineProperty(t,"stringify",{enumerable:true,get:function(){return d.default}});Object.defineProperty(t,"parse",{enumerable:true,get:function(){return l.default}});var s=_interopRequireDefault(A(8628));var i=_interopRequireDefault(A(6409));var r=_interopRequireDefault(A(5122));var a=_interopRequireDefault(A(9120));var o=_interopRequireDefault(A(5332));var n=_interopRequireDefault(A(1595));var p=_interopRequireDefault(A(6900));var d=_interopRequireDefault(A(8950));var l=_interopRequireDefault(A(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(A(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return s.default.createHash("md5").update(e).digest()}var i=md5;t["default"]=i},5332:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var A="00000000-0000-0000-0000-000000000000";t["default"]=A},2746:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(A(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,s.default)(e)){throw TypeError("Invalid UUID")}let t;const A=new Uint8Array(16);A[0]=(t=parseInt(e.slice(0,8),16))>>>24;A[1]=t>>>16&255;A[2]=t>>>8&255;A[3]=t&255;A[4]=(t=parseInt(e.slice(9,13),16))>>>8;A[5]=t&255;A[6]=(t=parseInt(e.slice(14,18),16))>>>8;A[7]=t&255;A[8]=(t=parseInt(e.slice(19,23),16))>>>8;A[9]=t&255;A[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255;A[11]=t/4294967296&255;A[12]=t>>>24&255;A[13]=t>>>16&255;A[14]=t>>>8&255;A[15]=t&255;return A}var i=parse;t["default"]=i},814:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var A=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;t["default"]=A},807:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=rng;var s=_interopRequireDefault(A(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=new Uint8Array(256);let r=i.length;function rng(){if(r>i.length-16){s.default.randomFillSync(i);r=0}return i.slice(r,r+=16)}},5274:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(A(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return s.default.createHash("sha1").update(e).digest()}var i=sha1;t["default"]=i},8950:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(A(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=[];for(let e=0;e<256;++e){i.push((e+256).toString(16).substr(1))}function stringify(e,t=0){const A=(i[e[t+0]]+i[e[t+1]]+i[e[t+2]]+i[e[t+3]]+"-"+i[e[t+4]]+i[e[t+5]]+"-"+i[e[t+6]]+i[e[t+7]]+"-"+i[e[t+8]]+i[e[t+9]]+"-"+i[e[t+10]]+i[e[t+11]]+i[e[t+12]]+i[e[t+13]]+i[e[t+14]]+i[e[t+15]]).toLowerCase();if(!(0,s.default)(A)){throw TypeError("Stringified UUID is invalid")}return A}var r=stringify;t["default"]=r},8628:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(A(807));var i=_interopRequireDefault(A(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let a;let o=0;let n=0;function v1(e,t,A){let p=t&&A||0;const d=t||new Array(16);e=e||{};let l=e.node||r;let c=e.clockseq!==undefined?e.clockseq:a;if(l==null||c==null){const t=e.random||(e.rng||s.default)();if(l==null){l=r=[t[0]|1,t[1],t[2],t[3],t[4],t[5]]}if(c==null){c=a=(t[6]<<8|t[7])&16383}}let u=e.msecs!==undefined?e.msecs:Date.now();let h=e.nsecs!==undefined?e.nsecs:n+1;const g=u-o+(h-n)/1e4;if(g<0&&e.clockseq===undefined){c=c+1&16383}if((g<0||u>o)&&e.nsecs===undefined){h=0}if(h>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}o=u;n=h;a=c;u+=122192928e5;const E=((u&268435455)*1e4+h)%4294967296;d[p++]=E>>>24&255;d[p++]=E>>>16&255;d[p++]=E>>>8&255;d[p++]=E&255;const C=u/4294967296*1e4&268435455;d[p++]=C>>>8&255;d[p++]=C&255;d[p++]=C>>>24&15|16;d[p++]=C>>>16&255;d[p++]=c>>>8|128;d[p++]=c&255;for(let e=0;e<6;++e){d[p+e]=l[e]}return t||(0,i.default)(d)}var p=v1;t["default"]=p},6409:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(A(5998));var i=_interopRequireDefault(A(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,s.default)("v3",48,i.default);var a=r;t["default"]=a},5998:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=_default;t.URL=t.DNS=void 0;var s=_interopRequireDefault(A(8950));var i=_interopRequireDefault(A(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const t=[];for(let A=0;A{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(A(807));var i=_interopRequireDefault(A(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,t,A){e=e||{};const r=e.random||(e.rng||s.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(t){A=A||0;for(let e=0;e<16;++e){t[A+e]=r[e]}return t}return(0,i.default)(r)}var r=v4;t["default"]=r},9120:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(A(5998));var i=_interopRequireDefault(A(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,s.default)("v5",80,i.default);var a=r;t["default"]=a},6900:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(A(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&s.default.test(e)}var i=validate;t["default"]=i},1595:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(A(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,s.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var i=version;t["default"]=i},4886:e=>{"use strict";var t={};e.exports=t;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,t){if(!t.unsigned){--e}const A=t.unsigned?0:-Math.pow(2,e);const s=Math.pow(2,e)-1;const i=t.moduloBitLength?Math.pow(2,t.moduloBitLength):Math.pow(2,e);const r=t.moduloBitLength?Math.pow(2,t.moduloBitLength-1):Math.pow(2,e-1);return function(e,a){if(!a)a={};let o=+e;if(a.enforceRange){if(!Number.isFinite(o)){throw new TypeError("Argument is not a finite number")}o=sign(o)*Math.floor(Math.abs(o));if(os){throw new TypeError("Argument is not in byte range")}return o}if(!isNaN(o)&&a.clamp){o=evenRound(o);if(os)o=s;return o}if(!Number.isFinite(o)||o===0){return 0}o=sign(o)*Math.floor(Math.abs(o));o=o%i;if(!t.unsigned&&o>=r){return o-i}else if(t.unsigned){if(o<0){o+=i}else if(o===-0){return 0}}return o}}t["void"]=function(){return undefined};t["boolean"]=function(e){return!!e};t["byte"]=createNumberConversion(8,{unsigned:false});t["octet"]=createNumberConversion(8,{unsigned:true});t["short"]=createNumberConversion(16,{unsigned:false});t["unsigned short"]=createNumberConversion(16,{unsigned:true});t["long"]=createNumberConversion(32,{unsigned:false});t["unsigned long"]=createNumberConversion(32,{unsigned:true});t["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});t["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});t["double"]=function(e){const t=+e;if(!Number.isFinite(t)){throw new TypeError("Argument is not a finite floating-point value")}return t};t["unrestricted double"]=function(e){const t=+e;if(isNaN(t)){throw new TypeError("Argument is NaN")}return t};t["float"]=t["double"];t["unrestricted float"]=t["unrestricted double"];t["DOMString"]=function(e,t){if(!t)t={};if(t.treatNullAsEmptyString&&e===null){return""}return String(e)};t["ByteString"]=function(e,t){const A=String(e);let s=undefined;for(let e=0;(s=A.codePointAt(e))!==undefined;++e){if(s>255){throw new TypeError("Argument is not a valid bytestring")}}return A};t["USVString"]=function(e){const t=String(e);const A=t.length;const s=[];for(let e=0;e57343){s.push(String.fromCodePoint(i))}else if(56320<=i&&i<=57343){s.push(String.fromCodePoint(65533))}else{if(e===A-1){s.push(String.fromCodePoint(65533))}else{const A=t.charCodeAt(e+1);if(56320<=A&&A<=57343){const t=i&1023;const r=A&1023;s.push(String.fromCodePoint((2<<15)+(2<<9)*t+r));++e}else{s.push(String.fromCodePoint(65533))}}}}return s.join("")};t["Date"]=function(e,t){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};t["RegExp"]=function(e,t){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,t,A)=>{"use strict";const s=A(2158);t.implementation=class URLImpl{constructor(e){const t=e[0];const A=e[1];let i=null;if(A!==undefined){i=s.basicURLParse(A);if(i==="failure"){throw new TypeError("Invalid base URL")}}const r=s.basicURLParse(t,{baseURL:i});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return s.serializeURL(this._url)}set href(e){const t=s.basicURLParse(e);if(t==="failure"){throw new TypeError("Invalid URL")}this._url=t}get origin(){return s.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){s.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(s.cannotHaveAUsernamePasswordPort(this._url)){return}s.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(s.cannotHaveAUsernamePasswordPort(this._url)){return}s.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return s.serializeHost(e.host)}return s.serializeHost(e.host)+":"+s.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}s.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return s.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}s.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return s.serializeInteger(this._url.port)}set port(e){if(s.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{s.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];s.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const t=this._url;if(e===""){t.query=null;return}const A=e[0]==="?"?e.substring(1):e;t.query="";s.basicURLParse(A,{url:t,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const t=e[0]==="#"?e.substring(1):e;this._url.fragment="";s.basicURLParse(t,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,t,A)=>{"use strict";const s=A(4886);const i=A(3185);const r=A(7537);const a=i.implSymbol;function URL(t){if(!this||this[a]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const A=[];for(let e=0;e{"use strict";t.URL=A(3394)["interface"];t.serializeURL=A(2158).serializeURL;t.serializeURLOrigin=A(2158).serializeURLOrigin;t.basicURLParse=A(2158).basicURLParse;t.setTheUsername=A(2158).setTheUsername;t.setThePassword=A(2158).setThePassword;t.serializeHost=A(2158).serializeHost;t.serializeInteger=A(2158).serializeInteger;t.parseURL=A(2158).parseURL},2158:(e,t,A)=>{"use strict";const s=A(5477);const i=A(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const a=Symbol("failure");function countSymbols(e){return s.ucs2.decode(e).length}function at(e,t){const A=e[t];return isNaN(A)?undefined:String.fromCodePoint(A)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,t){return isASCIIAlpha(e)&&(t===58||t===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let t=e.toString(16).toUpperCase();if(t.length===1){t="0"+t}return"%"+t}function utf8PercentEncode(e){const t=new Buffer(e);let A="";for(let e=0;e126}const o=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||o.has(e)}const n=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||n.has(e)}function percentEncodeChar(e,t){const A=String.fromCodePoint(e);if(t(e)){return utf8PercentEncode(A)}return A}function parseIPv4Number(e){let t=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);t=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);t=8}if(e===""){return 0}const A=t===10?/[^0-9]/:t===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(A.test(e)){return a}return parseInt(e,t)}function parseIPv4(e){const t=e.split(".");if(t[t.length-1]===""){if(t.length>1){t.pop()}}if(t.length>4){return e}const A=[];for(const s of t){if(s===""){return e}const t=parseIPv4Number(s);if(t===a){return e}A.push(t)}for(let e=0;e255){return a}}if(A[A.length-1]>=Math.pow(256,5-A.length)){return a}let s=A.pop();let i=0;for(const e of A){s+=e*Math.pow(256,3-i);++i}return s}function serializeIPv4(e){let t="";let A=e;for(let e=1;e<=4;++e){t=String(A%256)+t;if(e!==4){t="."+t}A=Math.floor(A/256)}return t}function parseIPv6(e){const t=[0,0,0,0,0,0,0,0];let A=0;let i=null;let r=0;e=s.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return a}r+=2;++A;i=A}while(r6){return a}let s=0;while(e[r]!==undefined){let i=null;if(s>0){if(e[r]===46&&s<4){++r}else{return a}}if(!isASCIIDigit(e[r])){return a}while(isASCIIDigit(e[r])){const t=parseInt(at(e,r));if(i===null){i=t}else if(i===0){return a}else{i=i*10+t}if(i>255){return a}++r}t[A]=t[A]*256+i;++s;if(s===2||s===4){++A}}if(s!==4){return a}break}else if(e[r]===58){++r;if(e[r]===undefined){return a}}else if(e[r]!==undefined){return a}t[A]=s;++A}if(i!==null){let e=A-i;A=7;while(A!==0&&e>0){const s=t[i+e-1];t[i+e-1]=t[A];t[A]=s;--A;--e}}else if(i===null&&A!==8){return a}return t}function serializeIPv6(e){let t="";const A=findLongestZeroSequence(e);const s=A.idx;let i=false;for(let A=0;A<=7;++A){if(i&&e[A]===0){continue}else if(i){i=false}if(s===A){const e=A===0?"::":":";t+=e;i=true;continue}t+=e[A].toString(16);if(A!==7){t+=":"}}return t}function parseHost(e,t){if(e[0]==="["){if(e[e.length-1]!=="]"){return a}return parseIPv6(e.substring(1,e.length-1))}if(!t){return parseOpaqueHost(e)}const A=utf8PercentDecode(e);const s=i.toASCII(A,false,i.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(s===null){return a}if(containsForbiddenHostCodePoint(s)){return a}const r=parseIPv4(s);if(typeof r==="number"||r===a){return r}return s}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return a}let t="";const A=s.ucs2.decode(e);for(let e=0;eA){t=s;A=i}s=null;i=0}else{if(s===null){s=r}++i}}if(i>A){t=s;A=i}return{idx:t,len:A}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const t=e.path;if(t.length===0){return}if(e.scheme==="file"&&t.length===1&&isNormalizedWindowsDriveLetter(t[0])){return}t.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,t,A,i,r){this.pointer=0;this.input=e;this.base=t||null;this.encodingOverride=A||"utf-8";this.stateOverride=r;this.url=i;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const o=trimTabAndNewline(this.input);if(o!==this.input){this.parseError=true}this.input=o;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=s.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const t=isNaN(e)?undefined:String.fromCodePoint(e);const A=this["parse "+this.state](e,t);if(!A){break}else if(A===a){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,t){if(isASCIIAlpha(e)){this.buffer+=t.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return a}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,t){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=t.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return a}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return a}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,t){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let t=0;tMath.pow(2,16)-1){this.parseError=true;return a}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return a}return true};const p=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!p.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,t){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===a){return a}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=t}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,t){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const t=new Buffer(this.buffer);for(let e=0;e126||t[e]===34||t[e]===35||t[e]===60||t[e]===62){this.url.query+=percentEncode(t[e])}else{this.url.query+=String.fromCodePoint(t[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=t}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,t){let A=e.scheme+":";if(e.host!==null){A+="//";if(e.username!==""||e.password!==""){A+=e.username;if(e.password!==""){A+=":"+e.password}A+="@"}A+=serializeHost(e.host);if(e.port!==null){A+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){A+="//"}if(e.cannotBeABaseURL){A+=e.path[0]}else{for(const t of e.path){A+="/"+t}}if(e.query!==null){A+="?"+e.query}if(!t&&e.fragment!==null){A+="#"+e.fragment}return A}function serializeOrigin(e){let t=e.scheme+"://";t+=serializeHost(e.host);if(e.port!==null){t+=":"+e.port}return t}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(t){switch(t.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(t.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:t.scheme,host:t.host,port:t.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,t){if(t===undefined){t={}}const A=new URLStateMachine(e,t.baseURL,t.encodingOverride,t.url,t.stateOverride);if(A.failure){return"failure"}return A.url};e.exports.setTheUsername=function(e,t){e.username="";const A=s.ucs2.decode(t);for(let t=0;t{"use strict";e.exports.mixin=function mixin(e,t){const A=Object.getOwnPropertyNames(t);for(let s=0;s{e.exports=wrappy;function wrappy(e,t){if(e&&t)return wrappy(e)(t);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(t){wrapper[t]=e[t]}));return wrapper;function wrapper(){var t=new Array(arguments.length);for(var A=0;A({name:(0,n.basename)(e),mime:(0,t.mimeOrDefault)(e),size:(0,a.statSync)(e).size,data:(0,a.readFileSync)(e)});t.asset=asset;const mimeOrDefault=e=>(0,o.getType)(e)||"application/octet-stream";t.mimeOrDefault=mimeOrDefault;const upload=(e,A,i,r,a)=>s(void 0,void 0,void 0,(function*(){const[s,o]=e.github_repository.split("/");const{name:n,size:p,mime:d,data:l}=(0,t.asset)(r);const c=a.find((({name:e})=>e==n.replace(" ",".")));if(c){console.log(`♻️ Deleting previously uploaded asset ${n}...`);yield A.rest.repos.deleteReleaseAsset({asset_id:c.id||1,owner:s,repo:o})}console.log(`⬆️ Uploading ${n}...`);const u=new URL(i);u.searchParams.append("name",n);const h=yield A.request({method:"POST",url:u.toString(),headers:{"content-length":`${p}`,"content-type":d,authorization:`token ${e.github_token}`},data:l});const g=h.data;if(h.status!==201){throw new Error(`Failed to upload release asset ${n}. received status code ${h.status}\n${g.message}\n${JSON.stringify(g.errors)}`)}return g}));t.upload=upload;const release=(e,A,a=3)=>s(void 0,void 0,void 0,(function*(){var s,o,n,p;if(a<=0){console.log(`❌ Too many retries. Aborting...`);throw new Error("Too many retries.")}const[d,l]=e.github_repository.split("/");const c=e.input_tag_name||((0,r.isTag)(e.github_ref)?e.github_ref.replace("refs/tags/",""):"");const u=e.input_discussion_category_name;const h=e.input_generate_release_notes;try{if(e.input_draft){try{for(var g=true,E=i(A.allReleases({owner:d,repo:l})),C;C=yield E.next(),s=C.done,!s;){p=C.value;g=false;try{const e=p;let t=e.data.find((e=>e.tag_name===c));if(t){return t}}finally{g=true}}}catch(e){o={error:e}}finally{try{if(!g&&!s&&(n=E.return))yield n.call(E)}finally{if(o)throw o.error}}}let t=yield A.getReleaseByTag({owner:d,repo:l,tag:c});const a=t.data.id;let Q;if(e.input_target_commitish&&e.input_target_commitish!==t.data.target_commitish){console.log(`Updating commit from "${t.data.target_commitish}" to "${e.input_target_commitish}"`);Q=e.input_target_commitish}else{Q=t.data.target_commitish}const B=c;const I=e.input_name||t.data.name||c;const w=(0,r.releaseBody)(e)||"";const y=t.data.body||"";let v;if(e.input_append_body&&w&&y){v=y+"\n"+w}else{v=w||y}const b=e.input_draft!==undefined?e.input_draft:t.data.draft;const D=e.input_prerelease!==undefined?e.input_prerelease:t.data.prerelease;const R=e.input_make_latest;const k=yield A.updateRelease({owner:d,repo:l,release_id:a,tag_name:B,target_commitish:Q,name:I,body:v,draft:b,prerelease:D,discussion_category_name:u,generate_release_notes:h,make_latest:R});return k.data}catch(s){if(s.status!==404){console.log(`⚠️ Unexpected error fetching GitHub release for tag ${e.github_ref}: ${s}`);throw s}const i=c;const o=e.input_name||c;const n=(0,r.releaseBody)(e);const p=e.input_draft;const g=e.input_prerelease;const E=e.input_target_commitish;const C=e.input_make_latest;let Q="";if(E){Q=` using commit "${E}"`}console.log(`👩‍🏭 Creating new GitHub release for tag ${i}${Q}...`);try{let e=yield A.createRelease({owner:d,repo:l,tag_name:i,name:o,body:n,draft:p,prerelease:g,target_commitish:E,discussion_category_name:u,generate_release_notes:h,make_latest:C});return e.data}catch(s){console.log(`⚠️ GitHub release failed with status: ${s.status}`);console.log(`${JSON.stringify(s.response.data)}`);switch(s.status){case 403:console.log("Skip retry — your GitHub token/PAT does not have the required permission to create a release");throw s;case 404:console.log("Skip retry - discussion category mismatch");throw s;case 422:console.log("Skip retry - validation failed");throw s}console.log(`retrying... (${a-1} retries remaining)`);return(0,t.release)(e,A,a-1)}}}));t.release=release},399:function(e,t,A){"use strict";var s=this&&this.__awaiter||function(e,t,A,s){function adopt(e){return e instanceof A?e:new A((function(t){t(e)}))}return new(A||(A=Promise))((function(A,i){function fulfilled(e){try{step(s.next(e))}catch(e){i(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){i(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});const i=A(2629);const r=A(978);const a=A(5438);const o=A(2186);const n=A(7282);function run(){return s(this,void 0,void 0,(function*(){try{const e=(0,i.parseConfig)(n.env);if(!e.input_tag_name&&!(0,i.isTag)(e.github_ref)&&!e.input_draft){throw new Error(`⚠️ GitHub Releases requires a tag`)}if(e.input_files){const t=(0,i.unmatchedPatterns)(e.input_files);t.forEach((t=>{if(e.input_fail_on_unmatched_files){throw new Error(`⚠️ Pattern '${t}' does not match any files.`)}else{console.warn(`🤔 Pattern '${t}' does not match any files.`)}}));if(t.length>0&&e.input_fail_on_unmatched_files){throw new Error(`⚠️ There were unmatched files`)}}const t=(0,a.getOctokit)(e.github_token,{throttle:{onRateLimit:(e,t)=>{console.warn(`Request quota exhausted for request ${t.method} ${t.url}`);if(t.request.retryCount===0){console.log(`Retrying after ${e} seconds!`);return true}},onAbuseLimit:(e,t)=>{console.warn(`Abuse detected for request ${t.method} ${t.url}`)}}});const A=yield(0,r.release)(e,new r.GitHubReleaser(t));if(e.input_files&&e.input_files.length>0){const a=(0,i.paths)(e.input_files);if(a.length==0){if(e.input_fail_on_unmatched_files){throw new Error(`⚠️ ${e.input_files} not include valid file.`)}else{console.warn(`🤔 ${e.input_files} not include valid file.`)}}const n=A.assets;const p=yield Promise.all(a.map((a=>s(this,void 0,void 0,(function*(){const s=yield(0,r.upload)(e,t,(0,i.uploadUrl)(A.upload_url),a,n);delete s.uploader;return s}))))).catch((e=>{throw e}));(0,o.setOutput)("assets",p)}console.log(`🎉 Release ready at ${A.html_url}`);(0,o.setOutput)("url",A.html_url);(0,o.setOutput)("id",A.id.toString());(0,o.setOutput)("upload_url",A.upload_url)}catch(e){(0,o.setFailed)(e.message)}}))}run()},2629:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;var i=Object.getOwnPropertyDescriptor(t,A);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[A]}}}Object.defineProperty(e,s,i)}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.prototype.hasOwnProperty.call(e,A))s(t,e,A);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.isTag=t.unmatchedPatterns=t.paths=t.parseConfig=t.parseInputFiles=t.releaseBody=t.uploadUrl=void 0;const a=r(A(8211));const o=A(7147);const uploadUrl=e=>{const t=e.indexOf("{");if(t>-1){return e.substring(0,t)}return e};t.uploadUrl=uploadUrl;const releaseBody=e=>e.input_body_path&&(0,o.readFileSync)(e.input_body_path).toString("utf8")||e.input_body;t.releaseBody=releaseBody;const parseInputFiles=e=>e.split(/\r?\n/).reduce(((e,t)=>e.concat(t.split(",")).filter((e=>e)).map((e=>e.trim()))),[]);t.parseInputFiles=parseInputFiles;const parseConfig=e=>{var A;return{github_token:e.GITHUB_TOKEN||e.INPUT_TOKEN||"",github_ref:e.GITHUB_REF||"",github_repository:e.INPUT_REPOSITORY||e.GITHUB_REPOSITORY||"",input_name:e.INPUT_NAME,input_tag_name:(A=e.INPUT_TAG_NAME)===null||A===void 0?void 0:A.trim(),input_body:e.INPUT_BODY,input_body_path:e.INPUT_BODY_PATH,input_files:(0,t.parseInputFiles)(e.INPUT_FILES||""),input_draft:e.INPUT_DRAFT?e.INPUT_DRAFT==="true":undefined,input_prerelease:e.INPUT_PRERELEASE?e.INPUT_PRERELEASE=="true":undefined,input_fail_on_unmatched_files:e.INPUT_FAIL_ON_UNMATCHED_FILES=="true",input_target_commitish:e.INPUT_TARGET_COMMITISH||undefined,input_discussion_category_name:e.INPUT_DISCUSSION_CATEGORY_NAME||undefined,input_generate_release_notes:e.INPUT_GENERATE_RELEASE_NOTES=="true",input_append_body:e.INPUT_APPEND_BODY=="true",input_make_latest:e.INPUT_MAKE_LATEST?e.INPUT_MAKE_LATEST:undefined}};t.parseConfig=parseConfig;const paths=e=>e.reduce(((e,t)=>e.concat(a.sync(t).filter((e=>(0,o.statSync)(e).isFile())))),[]);t.paths=paths;const unmatchedPatterns=e=>e.reduce(((e,t)=>e.concat(a.sync(t).filter((e=>(0,o.statSync)(e).isFile())).length==0?[t]:[])),[]);t.unmatchedPatterns=unmatchedPatterns;const isTag=e=>e.startsWith("refs/tags/");t.isTag=isTag},2877:module=>{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},852:e=>{"use strict";e.exports=require("async_hooks")},4300:e=>{"use strict";e.exports=require("buffer")},6206:e=>{"use strict";e.exports=require("console")},6113:e=>{"use strict";e.exports=require("crypto")},7643:e=>{"use strict";e.exports=require("diagnostics_channel")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3685:e=>{"use strict";e.exports=require("http")},5158:e=>{"use strict";e.exports=require("http2")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},5673:e=>{"use strict";e.exports=require("node:events")},7561:e=>{"use strict";e.exports=require("node:fs")},3977:e=>{"use strict";e.exports=require("node:fs/promises")},9411:e=>{"use strict";e.exports=require("node:path")},4492:e=>{"use strict";e.exports=require("node:stream")},6915:e=>{"use strict";e.exports=require("node:string_decoder")},1041:e=>{"use strict";e.exports=require("node:url")},7261:e=>{"use strict";e.exports=require("node:util")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},4074:e=>{"use strict";e.exports=require("perf_hooks")},7282:e=>{"use strict";e.exports=require("process")},5477:e=>{"use strict";e.exports=require("punycode")},3477:e=>{"use strict";e.exports=require("querystring")},2781:e=>{"use strict";e.exports=require("stream")},5356:e=>{"use strict";e.exports=require("stream/web")},1576:e=>{"use strict";e.exports=require("string_decoder")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9830:e=>{"use strict";e.exports=require("util/types")},1267:e=>{"use strict";e.exports=require("worker_threads")},9796:e=>{"use strict";e.exports=require("zlib")},2960:(e,t,A)=>{"use strict";const s=A(4492).Writable;const i=A(7261).inherits;const r=A(1142);const a=A(1620);const o=A(2032);const n=45;const p=Buffer.from("-");const d=Buffer.from("\r\n");const EMPTY_FN=function(){};function Dicer(e){if(!(this instanceof Dicer)){return new Dicer(e)}s.call(this,e);if(!e||!e.headerFirst&&typeof e.boundary!=="string"){throw new TypeError("Boundary required")}if(typeof e.boundary==="string"){this.setBoundary(e.boundary)}else{this._bparser=undefined}this._headerFirst=e.headerFirst;this._dashes=0;this._parts=0;this._finished=false;this._realFinish=false;this._isPreamble=true;this._justMatched=false;this._firstWrite=true;this._inHeader=true;this._part=undefined;this._cb=undefined;this._ignoreData=false;this._partOpts={highWaterMark:e.partHwm};this._pause=false;const t=this;this._hparser=new o(e);this._hparser.on("header",(function(e){t._inHeader=false;t._part.emit("header",e)}))}i(Dicer,s);Dicer.prototype.emit=function(e){if(e==="finish"&&!this._realFinish){if(!this._finished){const e=this;process.nextTick((function(){e.emit("error",new Error("Unexpected end of multipart data"));if(e._part&&!e._ignoreData){const t=e._isPreamble?"Preamble":"Part";e._part.emit("error",new Error(t+" terminated early due to unexpected end of multipart data"));e._part.push(null);process.nextTick((function(){e._realFinish=true;e.emit("finish");e._realFinish=false}));return}e._realFinish=true;e.emit("finish");e._realFinish=false}))}}else{s.prototype.emit.apply(this,arguments)}};Dicer.prototype._write=function(e,t,A){if(!this._hparser&&!this._bparser){return A()}if(this._headerFirst&&this._isPreamble){if(!this._part){this._part=new a(this._partOpts);if(this.listenerCount("preamble")!==0){this.emit("preamble",this._part)}else{this._ignore()}}const t=this._hparser.push(e);if(!this._inHeader&&t!==undefined&&t{"use strict";const s=A(5673).EventEmitter;const i=A(7261).inherits;const r=A(1467);const a=A(1142);const o=Buffer.from("\r\n\r\n");const n=/\r\n/g;const p=/^([^:]+):[ \t]?([\x00-\xFF]+)?$/;function HeaderParser(e){s.call(this);e=e||{};const t=this;this.nread=0;this.maxed=false;this.npairs=0;this.maxHeaderPairs=r(e,"maxHeaderPairs",2e3);this.maxHeaderSize=r(e,"maxHeaderSize",80*1024);this.buffer="";this.header={};this.finished=false;this.ss=new a(o);this.ss.on("info",(function(e,A,s,i){if(A&&!t.maxed){if(t.nread+i-s>=t.maxHeaderSize){i=t.maxHeaderSize-t.nread+s;t.nread=t.maxHeaderSize;t.maxed=true}else{t.nread+=i-s}t.buffer+=A.toString("binary",s,i)}if(e){t._finish()}}))}i(HeaderParser,s);HeaderParser.prototype.push=function(e){const t=this.ss.push(e);if(this.finished){return t}};HeaderParser.prototype.reset=function(){this.finished=false;this.buffer="";this.header={};this.ss.reset()};HeaderParser.prototype._finish=function(){if(this.buffer){this._parseHeader()}this.ss.matches=this.ss.maxMatches;const e=this.header;this.header={};this.buffer="";this.finished=true;this.nread=this.npairs=0;this.maxed=false;this.emit("header",e)};HeaderParser.prototype._parseHeader=function(){if(this.npairs===this.maxHeaderPairs){return}const e=this.buffer.split(n);const t=e.length;let A,s;for(var i=0;i{"use strict";const s=A(7261).inherits;const i=A(4492).Readable;function PartStream(e){i.call(this,e)}s(PartStream,i);PartStream.prototype._read=function(e){};e.exports=PartStream},1142:(e,t,A)=>{"use strict";const s=A(5673).EventEmitter;const i=A(7261).inherits;function SBMH(e){if(typeof e==="string"){e=Buffer.from(e)}if(!Buffer.isBuffer(e)){throw new TypeError("The needle has to be a String or a Buffer.")}const t=e.length;if(t===0){throw new Error("The needle cannot be an empty String/Buffer.")}if(t>256){throw new Error("The needle cannot have a length bigger than 256.")}this.maxMatches=Infinity;this.matches=0;this._occ=new Array(256).fill(t);this._lookbehind_size=0;this._needle=e;this._bufpos=0;this._lookbehind=Buffer.alloc(t);for(var A=0;A=0){this.emit("info",false,this._lookbehind,0,this._lookbehind_size);this._lookbehind_size=0}else{const A=this._lookbehind_size+r;if(A>0){this.emit("info",false,this._lookbehind,0,A)}this._lookbehind.copy(this._lookbehind,0,A,this._lookbehind_size-A);this._lookbehind_size-=A;e.copy(this._lookbehind,this._lookbehind_size);this._lookbehind_size+=t;this._bufpos=t;return t}}r+=(r>=0)*this._bufpos;if(e.indexOf(A,r)!==-1){r=e.indexOf(A,r);++this.matches;if(r>0){this.emit("info",true,e,this._bufpos,r)}else{this.emit("info",true)}return this._bufpos=r+s}else{r=t-s}while(r0){this.emit("info",false,e,this._bufpos,r{"use strict";const s=A(4492).Writable;const{inherits:i}=A(7261);const r=A(2960);const a=A(2183);const o=A(8306);const n=A(1854);function Busboy(e){if(!(this instanceof Busboy)){return new Busboy(e)}if(typeof e!=="object"){throw new TypeError("Busboy expected an options-Object.")}if(typeof e.headers!=="object"){throw new TypeError("Busboy expected an options-Object with headers-attribute.")}if(typeof e.headers["content-type"]!=="string"){throw new TypeError("Missing Content-Type-header.")}const{headers:t,...A}=e;this.opts={autoDestroy:false,...A};s.call(this,this.opts);this._done=false;this._parser=this.getParserByHeaders(t);this._finished=false}i(Busboy,s);Busboy.prototype.emit=function(e){if(e==="finish"){if(!this._done){this._parser?.end();return}else if(this._finished){return}this._finished=true}s.prototype.emit.apply(this,arguments)};Busboy.prototype.getParserByHeaders=function(e){const t=n(e["content-type"]);const A={defCharset:this.opts.defCharset,fileHwm:this.opts.fileHwm,headers:e,highWaterMark:this.opts.highWaterMark,isPartAFile:this.opts.isPartAFile,limits:this.opts.limits,parsedConType:t,preservePath:this.opts.preservePath};if(a.detect.test(t[0])){return new a(this,A)}if(o.detect.test(t[0])){return new o(this,A)}throw new Error("Unsupported Content-Type.")};Busboy.prototype._write=function(e,t,A){this._parser.write(e,A)};e.exports=Busboy;e.exports["default"]=Busboy;e.exports.Busboy=Busboy;e.exports.Dicer=r},2183:(e,t,A)=>{"use strict";const{Readable:s}=A(4492);const{inherits:i}=A(7261);const r=A(2960);const a=A(1854);const o=A(4619);const n=A(8647);const p=A(1467);const d=/^boundary$/i;const l=/^form-data$/i;const c=/^charset$/i;const u=/^filename$/i;const h=/^name$/i;Multipart.detect=/^multipart\/form-data/i;function Multipart(e,t){let A;let s;const i=this;let g;const E=t.limits;const C=t.isPartAFile||((e,t,A)=>t==="application/octet-stream"||A!==undefined);const Q=t.parsedConType||[];const B=t.defCharset||"utf8";const I=t.preservePath;const w={highWaterMark:t.fileHwm};for(A=0,s=Q.length;AR){i.parser.removeListener("part",onPart);i.parser.on("part",skipPart);e.hitPartsLimit=true;e.emit("partsLimit");return skipPart(t)}if(L){const e=L;e.emit("end");e.removeAllListeners("end")}t.on("header",(function(r){let p;let d;let g;let E;let Q;let R;let k=0;if(r["content-type"]){g=a(r["content-type"][0]);if(g[0]){p=g[0].toLowerCase();for(A=0,s=g.length;Av){const s=v-k+e.length;if(s>0){A.push(e.slice(0,s))}A.truncated=true;A.bytesRead=v;t.removeAllListeners("data");A.emit("limit");return}else if(!A.push(e)){i._pause=true}A.bytesRead=k};_=function(){U=undefined;A.push(null)}}else{if(N===D){if(!e.hitFieldsLimit){e.hitFieldsLimit=true;e.emit("fieldsLimit")}return skipPart(t)}++N;++T;let A="";let s=false;L=t;S=function(e){if((k+=e.length)>y){const i=y-(k-e.length);A+=e.toString("binary",0,i);s=true;t.removeAllListeners("data")}else{A+=e.toString("binary")}};_=function(){L=undefined;if(A.length){A=o(A,"binary",E)}e.emit("field",d,A,false,s,Q,p);--T;checkFinished()}}t._readableState.sync=false;t.on("data",S);t.on("end",_)})).on("error",(function(e){if(U){U.emit("error",e)}}))})).on("error",(function(t){e.emit("error",t)})).on("finish",(function(){_=true;checkFinished()}))}Multipart.prototype.write=function(e,t){const A=this.parser.write(e);if(A&&!this._pause){t()}else{this._needDrain=!A;this._cb=t}};Multipart.prototype.end=function(){const e=this;if(e.parser.writable){e.parser.end()}else if(!e._boy._done){process.nextTick((function(){e._boy._done=true;e._boy.emit("finish")}))}};function skipPart(e){e.resume()}function FileStream(e){s.call(this,e);this.bytesRead=0;this.truncated=false}i(FileStream,s);FileStream.prototype._read=function(e){};e.exports=Multipart},8306:(e,t,A)=>{"use strict";const s=A(7100);const i=A(4619);const r=A(1467);const a=/^charset$/i;UrlEncoded.detect=/^application\/x-www-form-urlencoded/i;function UrlEncoded(e,t){const A=t.limits;const i=t.parsedConType;this.boy=e;this.fieldSizeLimit=r(A,"fieldSize",1*1024*1024);this.fieldNameSizeLimit=r(A,"fieldNameSize",100);this.fieldsLimit=r(A,"fields",Infinity);let o;for(var n=0,p=i.length;na){this._key+=this.decoder.write(e.toString("binary",a,A))}this._state="val";this._hitLimit=false;this._checkingBytes=true;this._val="";this._bytesVal=0;this._valTrunc=false;this.decoder.reset();a=A+1}else if(s!==undefined){++this._fields;let A;const r=this._keyTrunc;if(s>a){A=this._key+=this.decoder.write(e.toString("binary",a,s))}else{A=this._key}this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();if(A.length){this.boy.emit("field",i(A,"binary",this.charset),"",r,false)}a=s+1;if(this._fields===this.fieldsLimit){return t()}}else if(this._hitLimit){if(r>a){this._key+=this.decoder.write(e.toString("binary",a,r))}a=r;if((this._bytesKey=this._key.length)===this.fieldNameSizeLimit){this._checkingBytes=false;this._keyTrunc=true}}else{if(aa){this._val+=this.decoder.write(e.toString("binary",a,s))}this.boy.emit("field",i(this._key,"binary",this.charset),i(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc);this._state="key";this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();a=s+1;if(this._fields===this.fieldsLimit){return t()}}else if(this._hitLimit){if(r>a){this._val+=this.decoder.write(e.toString("binary",a,r))}a=r;if(this._val===""&&this.fieldSizeLimit===0||(this._bytesVal=this._val.length)===this.fieldSizeLimit){this._checkingBytes=false;this._valTrunc=true}}else{if(a0){this.boy.emit("field",i(this._key,"binary",this.charset),"",this._keyTrunc,false)}else if(this._state==="val"){this.boy.emit("field",i(this._key,"binary",this.charset),i(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc)}this.boy._done=true;this.boy.emit("finish")};e.exports=UrlEncoded},7100:e=>{"use strict";const t=/\+/g;const A=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];function Decoder(){this.buffer=undefined}Decoder.prototype.write=function(e){e=e.replace(t," ");let s="";let i=0;let r=0;const a=e.length;for(;ir){s+=e.substring(r,i);r=i}this.buffer="";++r}}if(r{"use strict";e.exports=function basename(e){if(typeof e!=="string"){return""}for(var t=e.length-1;t>=0;--t){switch(e.charCodeAt(t)){case 47:case 92:e=e.slice(t+1);return e===".."||e==="."?"":e}}return e===".."||e==="."?"":e}},4619:function(e){"use strict";const t=new TextDecoder("utf-8");const A=new Map([["utf-8",t],["utf8",t]]);function getDecoder(e){let t;while(true){switch(e){case"utf-8":case"utf8":return s.utf8;case"latin1":case"ascii":case"us-ascii":case"iso-8859-1":case"iso8859-1":case"iso88591":case"iso_8859-1":case"windows-1252":case"iso_8859-1:1987":case"cp1252":case"x-cp1252":return s.latin1;case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return s.utf16le;case"base64":return s.base64;default:if(t===undefined){t=true;e=e.toLowerCase();continue}return s.other.bind(e)}}}const s={utf8:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.utf8Slice(0,e.length)},latin1:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){return e}return e.latin1Slice(0,e.length)},utf16le:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.ucs2Slice(0,e.length)},base64:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.base64Slice(0,e.length)},other:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}if(A.has(this.toString())){try{return A.get(this).decode(e)}catch{}}return typeof e==="string"?e:e.toString()}};function decodeText(e,t,A){if(e){return getDecoder(A)(e,t)}return e}e.exports=decodeText},1467:e=>{"use strict";e.exports=function getLimit(e,t,A){if(!e||e[t]===undefined||e[t]===null){return A}if(typeof e[t]!=="number"||isNaN(e[t])){throw new TypeError("Limit "+t+" is not a valid number")}return e[t]}},1854:(e,t,A)=>{"use strict";const s=A(4619);const i=/%[a-fA-F0-9][a-fA-F0-9]/g;const r={"%00":"\0","%01":"","%02":"","%03":"","%04":"","%05":"","%06":"","%07":"","%08":"\b","%09":"\t","%0a":"\n","%0A":"\n","%0b":"\v","%0B":"\v","%0c":"\f","%0C":"\f","%0d":"\r","%0D":"\r","%0e":"","%0E":"","%0f":"","%0F":"","%10":"","%11":"","%12":"","%13":"","%14":"","%15":"","%16":"","%17":"","%18":"","%19":"","%1a":"","%1A":"","%1b":"","%1B":"","%1c":"","%1C":"","%1d":"","%1D":"","%1e":"","%1E":"","%1f":"","%1F":"","%20":" ","%21":"!","%22":'"',"%23":"#","%24":"$","%25":"%","%26":"&","%27":"'","%28":"(","%29":")","%2a":"*","%2A":"*","%2b":"+","%2B":"+","%2c":",","%2C":",","%2d":"-","%2D":"-","%2e":".","%2E":".","%2f":"/","%2F":"/","%30":"0","%31":"1","%32":"2","%33":"3","%34":"4","%35":"5","%36":"6","%37":"7","%38":"8","%39":"9","%3a":":","%3A":":","%3b":";","%3B":";","%3c":"<","%3C":"<","%3d":"=","%3D":"=","%3e":">","%3E":">","%3f":"?","%3F":"?","%40":"@","%41":"A","%42":"B","%43":"C","%44":"D","%45":"E","%46":"F","%47":"G","%48":"H","%49":"I","%4a":"J","%4A":"J","%4b":"K","%4B":"K","%4c":"L","%4C":"L","%4d":"M","%4D":"M","%4e":"N","%4E":"N","%4f":"O","%4F":"O","%50":"P","%51":"Q","%52":"R","%53":"S","%54":"T","%55":"U","%56":"V","%57":"W","%58":"X","%59":"Y","%5a":"Z","%5A":"Z","%5b":"[","%5B":"[","%5c":"\\","%5C":"\\","%5d":"]","%5D":"]","%5e":"^","%5E":"^","%5f":"_","%5F":"_","%60":"`","%61":"a","%62":"b","%63":"c","%64":"d","%65":"e","%66":"f","%67":"g","%68":"h","%69":"i","%6a":"j","%6A":"j","%6b":"k","%6B":"k","%6c":"l","%6C":"l","%6d":"m","%6D":"m","%6e":"n","%6E":"n","%6f":"o","%6F":"o","%70":"p","%71":"q","%72":"r","%73":"s","%74":"t","%75":"u","%76":"v","%77":"w","%78":"x","%79":"y","%7a":"z","%7A":"z","%7b":"{","%7B":"{","%7c":"|","%7C":"|","%7d":"}","%7D":"}","%7e":"~","%7E":"~","%7f":"","%7F":"","%80":"€","%81":"","%82":"‚","%83":"ƒ","%84":"„","%85":"…","%86":"†","%87":"‡","%88":"ˆ","%89":"‰","%8a":"Š","%8A":"Š","%8b":"‹","%8B":"‹","%8c":"Œ","%8C":"Œ","%8d":"","%8D":"","%8e":"Ž","%8E":"Ž","%8f":"","%8F":"","%90":"","%91":"‘","%92":"’","%93":"“","%94":"”","%95":"•","%96":"–","%97":"—","%98":"˜","%99":"™","%9a":"š","%9A":"š","%9b":"›","%9B":"›","%9c":"œ","%9C":"œ","%9d":"","%9D":"","%9e":"ž","%9E":"ž","%9f":"Ÿ","%9F":"Ÿ","%a0":" ","%A0":" ","%a1":"¡","%A1":"¡","%a2":"¢","%A2":"¢","%a3":"£","%A3":"£","%a4":"¤","%A4":"¤","%a5":"¥","%A5":"¥","%a6":"¦","%A6":"¦","%a7":"§","%A7":"§","%a8":"¨","%A8":"¨","%a9":"©","%A9":"©","%aa":"ª","%Aa":"ª","%aA":"ª","%AA":"ª","%ab":"«","%Ab":"«","%aB":"«","%AB":"«","%ac":"¬","%Ac":"¬","%aC":"¬","%AC":"¬","%ad":"­","%Ad":"­","%aD":"­","%AD":"­","%ae":"®","%Ae":"®","%aE":"®","%AE":"®","%af":"¯","%Af":"¯","%aF":"¯","%AF":"¯","%b0":"°","%B0":"°","%b1":"±","%B1":"±","%b2":"²","%B2":"²","%b3":"³","%B3":"³","%b4":"´","%B4":"´","%b5":"µ","%B5":"µ","%b6":"¶","%B6":"¶","%b7":"·","%B7":"·","%b8":"¸","%B8":"¸","%b9":"¹","%B9":"¹","%ba":"º","%Ba":"º","%bA":"º","%BA":"º","%bb":"»","%Bb":"»","%bB":"»","%BB":"»","%bc":"¼","%Bc":"¼","%bC":"¼","%BC":"¼","%bd":"½","%Bd":"½","%bD":"½","%BD":"½","%be":"¾","%Be":"¾","%bE":"¾","%BE":"¾","%bf":"¿","%Bf":"¿","%bF":"¿","%BF":"¿","%c0":"À","%C0":"À","%c1":"Á","%C1":"Á","%c2":"Â","%C2":"Â","%c3":"Ã","%C3":"Ã","%c4":"Ä","%C4":"Ä","%c5":"Å","%C5":"Å","%c6":"Æ","%C6":"Æ","%c7":"Ç","%C7":"Ç","%c8":"È","%C8":"È","%c9":"É","%C9":"É","%ca":"Ê","%Ca":"Ê","%cA":"Ê","%CA":"Ê","%cb":"Ë","%Cb":"Ë","%cB":"Ë","%CB":"Ë","%cc":"Ì","%Cc":"Ì","%cC":"Ì","%CC":"Ì","%cd":"Í","%Cd":"Í","%cD":"Í","%CD":"Í","%ce":"Î","%Ce":"Î","%cE":"Î","%CE":"Î","%cf":"Ï","%Cf":"Ï","%cF":"Ï","%CF":"Ï","%d0":"Ð","%D0":"Ð","%d1":"Ñ","%D1":"Ñ","%d2":"Ò","%D2":"Ò","%d3":"Ó","%D3":"Ó","%d4":"Ô","%D4":"Ô","%d5":"Õ","%D5":"Õ","%d6":"Ö","%D6":"Ö","%d7":"×","%D7":"×","%d8":"Ø","%D8":"Ø","%d9":"Ù","%D9":"Ù","%da":"Ú","%Da":"Ú","%dA":"Ú","%DA":"Ú","%db":"Û","%Db":"Û","%dB":"Û","%DB":"Û","%dc":"Ü","%Dc":"Ü","%dC":"Ü","%DC":"Ü","%dd":"Ý","%Dd":"Ý","%dD":"Ý","%DD":"Ý","%de":"Þ","%De":"Þ","%dE":"Þ","%DE":"Þ","%df":"ß","%Df":"ß","%dF":"ß","%DF":"ß","%e0":"à","%E0":"à","%e1":"á","%E1":"á","%e2":"â","%E2":"â","%e3":"ã","%E3":"ã","%e4":"ä","%E4":"ä","%e5":"å","%E5":"å","%e6":"æ","%E6":"æ","%e7":"ç","%E7":"ç","%e8":"è","%E8":"è","%e9":"é","%E9":"é","%ea":"ê","%Ea":"ê","%eA":"ê","%EA":"ê","%eb":"ë","%Eb":"ë","%eB":"ë","%EB":"ë","%ec":"ì","%Ec":"ì","%eC":"ì","%EC":"ì","%ed":"í","%Ed":"í","%eD":"í","%ED":"í","%ee":"î","%Ee":"î","%eE":"î","%EE":"î","%ef":"ï","%Ef":"ï","%eF":"ï","%EF":"ï","%f0":"ð","%F0":"ð","%f1":"ñ","%F1":"ñ","%f2":"ò","%F2":"ò","%f3":"ó","%F3":"ó","%f4":"ô","%F4":"ô","%f5":"õ","%F5":"õ","%f6":"ö","%F6":"ö","%f7":"÷","%F7":"÷","%f8":"ø","%F8":"ø","%f9":"ù","%F9":"ù","%fa":"ú","%Fa":"ú","%fA":"ú","%FA":"ú","%fb":"û","%Fb":"û","%fB":"û","%FB":"û","%fc":"ü","%Fc":"ü","%fC":"ü","%FC":"ü","%fd":"ý","%Fd":"ý","%fD":"ý","%FD":"ý","%fe":"þ","%Fe":"þ","%fE":"þ","%FE":"þ","%ff":"ÿ","%Ff":"ÿ","%fF":"ÿ","%FF":"ÿ"};function encodedReplacer(e){return r[e]}const a=0;const o=1;const n=2;const p=3;function parseParams(e){const t=[];let A=a;let r="";let d=false;let l=false;let c=0;let u="";const h=e.length;for(var g=0;g{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Glob=void 0;const s=A(4501);const i=A(1041);const r=A(1081);const a=A(6866);const o=A(153);const n=typeof process==="object"&&process&&typeof process.platform==="string"?process.platform:"linux";class Glob{absolute;cwd;root;dot;dotRelative;follow;ignore;magicalBraces;mark;matchBase;maxDepth;nobrace;nocase;nodir;noext;noglobstar;pattern;platform;realpath;scurry;stat;signal;windowsPathsNoEscape;withFileTypes;includeChildMatches;opts;patterns;constructor(e,t){if(!t)throw new TypeError("glob options required");this.withFileTypes=!!t.withFileTypes;this.signal=t.signal;this.follow=!!t.follow;this.dot=!!t.dot;this.dotRelative=!!t.dotRelative;this.nodir=!!t.nodir;this.mark=!!t.mark;if(!t.cwd){this.cwd=""}else if(t.cwd instanceof URL||t.cwd.startsWith("file://")){t.cwd=(0,i.fileURLToPath)(t.cwd)}this.cwd=t.cwd||"";this.root=t.root;this.magicalBraces=!!t.magicalBraces;this.nobrace=!!t.nobrace;this.noext=!!t.noext;this.realpath=!!t.realpath;this.absolute=t.absolute;this.includeChildMatches=t.includeChildMatches!==false;this.noglobstar=!!t.noglobstar;this.matchBase=!!t.matchBase;this.maxDepth=typeof t.maxDepth==="number"?t.maxDepth:Infinity;this.stat=!!t.stat;this.ignore=t.ignore;if(this.withFileTypes&&this.absolute!==undefined){throw new Error("cannot set absolute and withFileTypes:true")}if(typeof e==="string"){e=[e]}this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||t.allowWindowsEscape===false;if(this.windowsPathsNoEscape){e=e.map((e=>e.replace(/\\/g,"/")))}if(this.matchBase){if(t.noglobstar){throw new TypeError("base matching requires globstar")}e=e.map((e=>e.includes("/")?e:`./**/${e}`))}this.pattern=e;this.platform=t.platform||n;this.opts={...t,platform:this.platform};if(t.scurry){this.scurry=t.scurry;if(t.nocase!==undefined&&t.nocase!==t.scurry.nocase){throw new Error("nocase option contradicts provided scurry option")}}else{const e=t.platform==="win32"?r.PathScurryWin32:t.platform==="darwin"?r.PathScurryDarwin:t.platform?r.PathScurryPosix:r.PathScurry;this.scurry=new e(this.cwd,{nocase:t.nocase,fs:t.fs})}this.nocase=this.scurry.nocase;const A=this.platform==="darwin"||this.platform==="win32";const o={...t,dot:this.dot,matchBase:this.matchBase,nobrace:this.nobrace,nocase:this.nocase,nocaseMagicOnly:A,nocomment:true,noext:this.noext,nonegate:true,optimizationLevel:2,platform:this.platform,windowsPathsNoEscape:this.windowsPathsNoEscape,debug:!!this.opts.debug};const p=this.pattern.map((e=>new s.Minimatch(e,o)));const[d,l]=p.reduce(((e,t)=>{e[0].push(...t.set);e[1].push(...t.globParts);return e}),[[],[]]);this.patterns=d.map(((e,t)=>{const A=l[t];if(!A)throw new Error("invalid pattern object");return new a.Pattern(e,A,0,this.platform)}))}async walk(){return[...await new o.GlobWalker(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==Infinity?this.maxDepth+this.scurry.cwd.depth():Infinity,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walk()]}walkSync(){return[...new o.GlobWalker(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==Infinity?this.maxDepth+this.scurry.cwd.depth():Infinity,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walkSync()]}stream(){return new o.GlobStream(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==Infinity?this.maxDepth+this.scurry.cwd.depth():Infinity,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).stream()}streamSync(){return new o.GlobStream(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==Infinity?this.maxDepth+this.scurry.cwd.depth():Infinity,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).streamSync()}iterateSync(){return this.streamSync()[Symbol.iterator]()}[Symbol.iterator](){return this.iterateSync()}iterate(){return this.stream()[Symbol.asyncIterator]()}[Symbol.asyncIterator](){return this.iterate()}}t.Glob=Glob},3133:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.hasMagic=void 0;const s=A(4501);const hasMagic=(e,t={})=>{if(!Array.isArray(e)){e=[e]}for(const A of e){if(new s.Minimatch(A,t).hasMagic())return true}return false};t.hasMagic=hasMagic},9703:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Ignore=void 0;const s=A(4501);const i=A(6866);const r=typeof process==="object"&&process&&typeof process.platform==="string"?process.platform:"linux";class Ignore{relative;relativeChildren;absolute;absoluteChildren;platform;mmopts;constructor(e,{nobrace:t,nocase:A,noext:s,noglobstar:i,platform:a=r}){this.relative=[];this.absolute=[];this.relativeChildren=[];this.absoluteChildren=[];this.platform=a;this.mmopts={dot:true,nobrace:t,nocase:A,noext:s,noglobstar:i,optimizationLevel:2,platform:a,nocomment:true,nonegate:true};for(const t of e)this.add(t)}add(e){const t=new s.Minimatch(e,this.mmopts);for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.glob=t.sync=t.iterate=t.iterateSync=t.stream=t.streamSync=t.globIterate=t.globIterateSync=t.globSync=t.globStream=t.globStreamSync=t.Ignore=t.hasMagic=t.Glob=t.unescape=t.escape=void 0;const s=A(4501);const i=A(2487);const r=A(3133);var a=A(4501);Object.defineProperty(t,"escape",{enumerable:true,get:function(){return a.escape}});Object.defineProperty(t,"unescape",{enumerable:true,get:function(){return a.unescape}});var o=A(2487);Object.defineProperty(t,"Glob",{enumerable:true,get:function(){return o.Glob}});var n=A(3133);Object.defineProperty(t,"hasMagic",{enumerable:true,get:function(){return n.hasMagic}});var p=A(9703);Object.defineProperty(t,"Ignore",{enumerable:true,get:function(){return p.Ignore}});function globStreamSync(e,t={}){return new i.Glob(e,t).streamSync()}t.globStreamSync=globStreamSync;function globStream(e,t={}){return new i.Glob(e,t).stream()}t.globStream=globStream;function globSync(e,t={}){return new i.Glob(e,t).walkSync()}t.globSync=globSync;async function glob_(e,t={}){return new i.Glob(e,t).walk()}function globIterateSync(e,t={}){return new i.Glob(e,t).iterateSync()}t.globIterateSync=globIterateSync;function globIterate(e,t={}){return new i.Glob(e,t).iterate()}t.globIterate=globIterate;t.streamSync=globStreamSync;t.stream=Object.assign(globStream,{sync:globStreamSync});t.iterateSync=globIterateSync;t.iterate=Object.assign(globIterate,{sync:globIterateSync});t.sync=Object.assign(globSync,{stream:globStreamSync,iterate:globIterateSync});t.glob=Object.assign(glob_,{glob:glob_,globSync:globSync,sync:t.sync,globStream:globStream,stream:t.stream,globStreamSync:globStreamSync,streamSync:t.streamSync,globIterate:globIterate,iterate:t.iterate,globIterateSync:globIterateSync,iterateSync:t.iterateSync,Glob:i.Glob,hasMagic:r.hasMagic,escape:s.escape,unescape:s.unescape});t.glob.glob=t.glob},6866:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Pattern=void 0;const s=A(4501);const isPatternList=e=>e.length>=1;const isGlobList=e=>e.length>=1;class Pattern{#m;#E;#f;length;#C;#Q;#B;#I;#w;#y;#v=true;constructor(e,t,A,s){if(!isPatternList(e)){throw new TypeError("empty pattern list")}if(!isGlobList(t)){throw new TypeError("empty glob list")}if(t.length!==e.length){throw new TypeError("mismatched pattern list and glob list lengths")}this.length=e.length;if(A<0||A>=this.length){throw new TypeError("index out of range")}this.#m=e;this.#E=t;this.#f=A;this.#C=s;if(this.#f===0){if(this.isUNC()){const[e,t,A,s,...i]=this.#m;const[r,a,o,n,...p]=this.#E;if(i[0]===""){i.shift();p.shift()}const d=[e,t,A,s,""].join("/");const l=[r,a,o,n,""].join("/");this.#m=[d,...i];this.#E=[l,...p];this.length=this.#m.length}else if(this.isDrive()||this.isAbsolute()){const[e,...t]=this.#m;const[A,...s]=this.#E;if(t[0]===""){t.shift();s.shift()}const i=e+"/";const r=A+"/";this.#m=[i,...t];this.#E=[r,...s];this.length=this.#m.length}}}pattern(){return this.#m[this.#f]}isString(){return typeof this.#m[this.#f]==="string"}isGlobstar(){return this.#m[this.#f]===s.GLOBSTAR}isRegExp(){return this.#m[this.#f]instanceof RegExp}globString(){return this.#B=this.#B||(this.#f===0?this.isAbsolute()?this.#E[0]+this.#E.slice(1).join("/"):this.#E.join("/"):this.#E.slice(this.#f).join("/"))}hasMore(){return this.length>this.#f+1}rest(){if(this.#Q!==undefined)return this.#Q;if(!this.hasMore())return this.#Q=null;this.#Q=new Pattern(this.#m,this.#E,this.#f+1,this.#C);this.#Q.#y=this.#y;this.#Q.#w=this.#w;this.#Q.#I=this.#I;return this.#Q}isUNC(){const e=this.#m;return this.#w!==undefined?this.#w:this.#w=this.#C==="win32"&&this.#f===0&&e[0]===""&&e[1]===""&&typeof e[2]==="string"&&!!e[2]&&typeof e[3]==="string"&&!!e[3]}isDrive(){const e=this.#m;return this.#I!==undefined?this.#I:this.#I=this.#C==="win32"&&this.#f===0&&this.length>1&&typeof e[0]==="string"&&/^[a-z]:$/i.test(e[0])}isAbsolute(){const e=this.#m;return this.#y!==undefined?this.#y:this.#y=e[0]===""&&e.length>1||this.isDrive()||this.isUNC()}root(){const e=this.#m[0];return typeof e==="string"&&this.isAbsolute()&&this.#f===0?e:""}checkFollowGlobstar(){return!(this.#f===0||!this.isGlobstar()||!this.#v)}markFollowGlobstar(){if(this.#f===0||!this.isGlobstar()||!this.#v)return false;this.#v=false;return true}}t.Pattern=Pattern},4628:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Processor=t.SubWalks=t.MatchRecord=t.HasWalkedCache=void 0;const s=A(4501);class HasWalkedCache{store;constructor(e=new Map){this.store=e}copy(){return new HasWalkedCache(new Map(this.store))}hasWalked(e,t){return this.store.get(e.fullpath())?.has(t.globString())}storeWalked(e,t){const A=e.fullpath();const s=this.store.get(A);if(s)s.add(t.globString());else this.store.set(A,new Set([t.globString()]))}}t.HasWalkedCache=HasWalkedCache;class MatchRecord{store=new Map;add(e,t,A){const s=(t?2:0)|(A?1:0);const i=this.store.get(e);this.store.set(e,i===undefined?s:s&i)}entries(){return[...this.store.entries()].map((([e,t])=>[e,!!(t&2),!!(t&1)]))}}t.MatchRecord=MatchRecord;class SubWalks{store=new Map;add(e,t){if(!e.canReaddir()){return}const A=this.store.get(e);if(A){if(!A.find((e=>e.globString()===t.globString()))){A.push(t)}}else this.store.set(e,[t])}get(e){const t=this.store.get(e);if(!t){throw new Error("attempting to walk unknown path")}return t}entries(){return this.keys().map((e=>[e,this.store.get(e)]))}keys(){return[...this.store.keys()].filter((e=>e.canReaddir()))}}t.SubWalks=SubWalks;class Processor{hasWalkedCache;matches=new MatchRecord;subwalks=new SubWalks;patterns;follow;dot;opts;constructor(e,t){this.opts=e;this.follow=!!e.follow;this.dot=!!e.dot;this.hasWalkedCache=t?t.copy():new HasWalkedCache}processPatterns(e,t){this.patterns=t;const A=t.map((t=>[e,t]));for(let[e,t]of A){this.hasWalkedCache.storeWalked(e,t);const A=t.root();const i=t.isAbsolute()&&this.opts.absolute!==false;if(A){e=e.resolve(A==="/"&&this.opts.root!==undefined?this.opts.root:A);const s=t.rest();if(!s){this.matches.add(e,true,false);continue}else{t=s}}if(e.isENOENT())continue;let r;let a;let o=false;while(typeof(r=t.pattern())==="string"&&(a=t.rest())){const A=e.resolve(r);e=A;t=a;o=true}r=t.pattern();a=t.rest();if(o){if(this.hasWalkedCache.hasWalked(e,t))continue;this.hasWalkedCache.storeWalked(e,t)}if(typeof r==="string"){const t=r===".."||r===""||r===".";this.matches.add(e.resolve(r),i,t);continue}else if(r===s.GLOBSTAR){if(!e.isSymbolicLink()||this.follow||t.checkFollowGlobstar()){this.subwalks.add(e,t)}const A=a?.pattern();const s=a?.rest();if(!a||(A===""||A===".")&&!s){this.matches.add(e,i,A===""||A===".")}else{if(A===".."){const t=e.parent||e;if(!s)this.matches.add(t,i,true);else if(!this.hasWalkedCache.hasWalked(t,s)){this.subwalks.add(t,s)}}}}else if(r instanceof RegExp){this.subwalks.add(e,t)}}return this}subwalkTargets(){return this.subwalks.keys()}child(){return new Processor(this.opts,this.hasWalkedCache)}filterEntries(e,t){const A=this.subwalks.get(e);const i=this.child();for(const e of t){for(const t of A){const A=t.isAbsolute();const r=t.pattern();const a=t.rest();if(r===s.GLOBSTAR){i.testGlobstar(e,t,a,A)}else if(r instanceof RegExp){i.testRegExp(e,r,a,A)}else{i.testString(e,r,a,A)}}}return i}testGlobstar(e,t,A,s){if(this.dot||!e.name.startsWith(".")){if(!t.hasMore()){this.matches.add(e,s,false)}if(e.canReaddir()){if(this.follow||!e.isSymbolicLink()){this.subwalks.add(e,t)}else if(e.isSymbolicLink()){if(A&&t.checkFollowGlobstar()){this.subwalks.add(e,A)}else if(t.markFollowGlobstar()){this.subwalks.add(e,t)}}}}if(A){const t=A.pattern();if(typeof t==="string"&&t!==".."&&t!==""&&t!=="."){this.testString(e,t,A.rest(),s)}else if(t===".."){const t=e.parent||e;this.subwalks.add(t,A)}else if(t instanceof RegExp){this.testRegExp(e,t,A.rest(),s)}}}testRegExp(e,t,A,s){if(!t.test(e.name))return;if(!A){this.matches.add(e,s,false)}else{this.subwalks.add(e,A)}}testString(e,t,A,s){if(!e.isNamed(t))return;if(!A){this.matches.add(e,s,false)}else{this.subwalks.add(e,A)}}}t.Processor=Processor},153:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.GlobStream=t.GlobWalker=t.GlobUtil=void 0;const s=A(4968);const i=A(9703);const r=A(4628);const makeIgnore=(e,t)=>typeof e==="string"?new i.Ignore([e],t):Array.isArray(e)?new i.Ignore(e,t):e;class GlobUtil{path;patterns;opts;seen=new Set;paused=false;aborted=false;#b=[];#D;#R;signal;maxDepth;includeChildMatches;constructor(e,t,A){this.patterns=e;this.path=t;this.opts=A;this.#R=!A.posix&&A.platform==="win32"?"\\":"/";this.includeChildMatches=A.includeChildMatches!==false;if(A.ignore||!this.includeChildMatches){this.#D=makeIgnore(A.ignore??[],A);if(!this.includeChildMatches&&typeof this.#D.add!=="function"){const e="cannot ignore child matches, ignore lacks add() method.";throw new Error(e)}}this.maxDepth=A.maxDepth||Infinity;if(A.signal){this.signal=A.signal;this.signal.addEventListener("abort",(()=>{this.#b.length=0}))}}#k(e){return this.seen.has(e)||!!this.#D?.ignored?.(e)}#S(e){return!!this.#D?.childrenIgnored?.(e)}pause(){this.paused=true}resume(){if(this.signal?.aborted)return;this.paused=false;let e=undefined;while(!this.paused&&(e=this.#b.shift())){e()}}onResume(e){if(this.signal?.aborted)return;if(!this.paused){e()}else{this.#b.push(e)}}async matchCheck(e,t){if(t&&this.opts.nodir)return undefined;let A;if(this.opts.realpath){A=e.realpathCached()||await e.realpath();if(!A)return undefined;e=A}const s=e.isUnknown()||this.opts.stat;const i=s?await e.lstat():e;if(this.opts.follow&&this.opts.nodir&&i?.isSymbolicLink()){const e=await i.realpath();if(e&&(e.isUnknown()||this.opts.stat)){await e.lstat()}}return this.matchCheckTest(i,t)}matchCheckTest(e,t){return e&&(this.maxDepth===Infinity||e.depth()<=this.maxDepth)&&(!t||e.canReaddir())&&(!this.opts.nodir||!e.isDirectory())&&(!this.opts.nodir||!this.opts.follow||!e.isSymbolicLink()||!e.realpathCached()?.isDirectory())&&!this.#k(e)?e:undefined}matchCheckSync(e,t){if(t&&this.opts.nodir)return undefined;let A;if(this.opts.realpath){A=e.realpathCached()||e.realpathSync();if(!A)return undefined;e=A}const s=e.isUnknown()||this.opts.stat;const i=s?e.lstatSync():e;if(this.opts.follow&&this.opts.nodir&&i?.isSymbolicLink()){const e=i.realpathSync();if(e&&(e?.isUnknown()||this.opts.stat)){e.lstatSync()}}return this.matchCheckTest(i,t)}matchFinish(e,t){if(this.#k(e))return;if(!this.includeChildMatches&&this.#D?.add){const t=`${e.relativePosix()}/**`;this.#D.add(t)}const A=this.opts.absolute===undefined?t:this.opts.absolute;this.seen.add(e);const s=this.opts.mark&&e.isDirectory()?this.#R:"";if(this.opts.withFileTypes){this.matchEmit(e)}else if(A){const t=this.opts.posix?e.fullpathPosix():e.fullpath();this.matchEmit(t+s)}else{const t=this.opts.posix?e.relativePosix():e.relative();const A=this.opts.dotRelative&&!t.startsWith(".."+this.#R)?"."+this.#R:"";this.matchEmit(!t?"."+s:A+t+s)}}async match(e,t,A){const s=await this.matchCheck(e,A);if(s)this.matchFinish(s,t)}matchSync(e,t,A){const s=this.matchCheckSync(e,A);if(s)this.matchFinish(s,t)}walkCB(e,t,A){if(this.signal?.aborted)A();this.walkCB2(e,t,new r.Processor(this.opts),A)}walkCB2(e,t,A,s){if(this.#S(e))return s();if(this.signal?.aborted)s();if(this.paused){this.onResume((()=>this.walkCB2(e,t,A,s)));return}A.processPatterns(e,t);let i=1;const next=()=>{if(--i===0)s()};for(const[e,t,s]of A.matches.entries()){if(this.#k(e))continue;i++;this.match(e,t,s).then((()=>next()))}for(const e of A.subwalkTargets()){if(this.maxDepth!==Infinity&&e.depth()>=this.maxDepth){continue}i++;const t=e.readdirCached();if(e.calledReaddir())this.walkCB3(e,t,A,next);else{e.readdirCB(((t,s)=>this.walkCB3(e,s,A,next)),true)}}next()}walkCB3(e,t,A,s){A=A.filterEntries(e,t);let i=1;const next=()=>{if(--i===0)s()};for(const[e,t,s]of A.matches.entries()){if(this.#k(e))continue;i++;this.match(e,t,s).then((()=>next()))}for(const[e,t]of A.subwalks.entries()){i++;this.walkCB2(e,t,A.child(),next)}next()}walkCBSync(e,t,A){if(this.signal?.aborted)A();this.walkCB2Sync(e,t,new r.Processor(this.opts),A)}walkCB2Sync(e,t,A,s){if(this.#S(e))return s();if(this.signal?.aborted)s();if(this.paused){this.onResume((()=>this.walkCB2Sync(e,t,A,s)));return}A.processPatterns(e,t);let i=1;const next=()=>{if(--i===0)s()};for(const[e,t,s]of A.matches.entries()){if(this.#k(e))continue;this.matchSync(e,t,s)}for(const e of A.subwalkTargets()){if(this.maxDepth!==Infinity&&e.depth()>=this.maxDepth){continue}i++;const t=e.readdirSync();this.walkCB3Sync(e,t,A,next)}next()}walkCB3Sync(e,t,A,s){A=A.filterEntries(e,t);let i=1;const next=()=>{if(--i===0)s()};for(const[e,t,s]of A.matches.entries()){if(this.#k(e))continue;this.matchSync(e,t,s)}for(const[e,t]of A.subwalks.entries()){i++;this.walkCB2Sync(e,t,A.child(),next)}next()}}t.GlobUtil=GlobUtil;class GlobWalker extends GlobUtil{matches=new Set;constructor(e,t,A){super(e,t,A)}matchEmit(e){this.matches.add(e)}async walk(){if(this.signal?.aborted)throw this.signal.reason;if(this.path.isUnknown()){await this.path.lstat()}await new Promise(((e,t)=>{this.walkCB(this.path,this.patterns,(()=>{if(this.signal?.aborted){t(this.signal.reason)}else{e(this.matches)}}))}));return this.matches}walkSync(){if(this.signal?.aborted)throw this.signal.reason;if(this.path.isUnknown()){this.path.lstatSync()}this.walkCBSync(this.path,this.patterns,(()=>{if(this.signal?.aborted)throw this.signal.reason}));return this.matches}}t.GlobWalker=GlobWalker;class GlobStream extends GlobUtil{results;constructor(e,t,A){super(e,t,A);this.results=new s.Minipass({signal:this.signal,objectMode:true});this.results.on("drain",(()=>this.resume()));this.results.on("resume",(()=>this.resume()))}matchEmit(e){this.results.write(e);if(!this.results.flowing)this.pause()}stream(){const e=this.path;if(e.isUnknown()){e.lstat().then((()=>{this.walkCB(e,this.patterns,(()=>this.results.end()))}))}else{this.walkCB(e,this.patterns,(()=>this.results.end()))}return this.results}streamSync(){if(this.path.isUnknown()){this.path.lstatSync()}this.walkCBSync(this.path,this.patterns,(()=>this.results.end()));return this.results}}t.GlobStream=GlobStream},4149:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.assertValidPattern=void 0;const A=1024*64;const assertValidPattern=e=>{if(typeof e!=="string"){throw new TypeError("invalid pattern")}if(e.length>A){throw new TypeError("pattern is too long")}};t.assertValidPattern=assertValidPattern},5136:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.AST=void 0;const s=A(1812);const i=A(5698);const r=new Set(["!","?","+","*","@"]);const isExtglobType=e=>r.has(e);const a="(?!(?:^|/)\\.\\.?(?:$|/))";const o="(?!\\.)";const n=new Set(["[","."]);const p=new Set(["..","."]);const d=new Set("().*{}+?[]^$\\!");const regExpEscape=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");const l="[^/]";const c=l+"*?";const u=l+"+?";class AST{type;#F;#N;#T=false;#U=[];#L;#_;#M;#x=false;#G;#V;#P=false;constructor(e,t,A={}){this.type=e;if(e)this.#N=true;this.#L=t;this.#F=this.#L?this.#L.#F:this;this.#G=this.#F===this?A:this.#F.#G;this.#M=this.#F===this?[]:this.#F.#M;if(e==="!"&&!this.#F.#x)this.#M.push(this);this.#_=this.#L?this.#L.#U.length:0}get hasMagic(){if(this.#N!==undefined)return this.#N;for(const e of this.#U){if(typeof e==="string")continue;if(e.type||e.hasMagic)return this.#N=true}return this.#N}toString(){if(this.#V!==undefined)return this.#V;if(!this.type){return this.#V=this.#U.map((e=>String(e))).join("")}else{return this.#V=this.type+"("+this.#U.map((e=>String(e))).join("|")+")"}}#O(){if(this!==this.#F)throw new Error("should only call on root");if(this.#x)return this;this.toString();this.#x=true;let e;while(e=this.#M.pop()){if(e.type!=="!")continue;let t=e;let A=t.#L;while(A){for(let s=t.#_+1;!A.type&&stypeof e==="string"?e:e.toJSON())):[this.type,...this.#U.map((e=>e.toJSON()))];if(this.isStart()&&!this.type)e.unshift([]);if(this.isEnd()&&(this===this.#F||this.#F.#x&&this.#L?.type==="!")){e.push({})}return e}isStart(){if(this.#F===this)return true;if(!this.#L?.isStart())return false;if(this.#_===0)return true;const e=this.#L;for(let t=0;t{const[s,i,r,a]=typeof t==="string"?AST.#Y(t,this.#N,A):t.toRegExpSource(e);this.#N=this.#N||r;this.#T=this.#T||a;return s})).join("");let r="";if(this.isStart()){if(typeof this.#U[0]==="string"){const A=this.#U.length===1&&p.has(this.#U[0]);if(!A){const A=n;const i=t&&A.has(s.charAt(0))||s.startsWith("\\.")&&A.has(s.charAt(2))||s.startsWith("\\.\\.")&&A.has(s.charAt(4));const p=!t&&!e&&A.has(s.charAt(0));r=i?a:p?o:""}}}let d="";if(this.isEnd()&&this.#F.#x&&this.#L?.type==="!"){d="(?:$|\\/)"}const l=r+s+d;return[l,(0,i.unescape)(s),this.#N=!!this.#N,this.#T]}const A=this.type==="*"||this.type==="+";const s=this.type==="!"?"(?:(?!(?:":"(?:";let r=this.#J(t);if(this.isStart()&&this.isEnd()&&!r&&this.type!=="!"){const e=this.toString();this.#U=[e];this.type=null;this.#N=undefined;return[e,(0,i.unescape)(this.toString()),false,false]}let d=!A||e||t||!o?"":this.#J(true);if(d===r){d=""}if(d){r=`(?:${r})(?:${d})*?`}let l="";if(this.type==="!"&&this.#P){l=(this.isStart()&&!t?o:"")+u}else{const A=this.type==="!"?"))"+(this.isStart()&&!t&&!e?o:"")+c+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&d?")":this.type==="*"&&d?`)?`:`)${this.type}`;l=s+r+A}return[l,(0,i.unescape)(r),this.#N=!!this.#N,this.#T]}#J(e){return this.#U.map((t=>{if(typeof t==="string"){throw new Error("string type in extglob ast??")}const[A,s,i,r]=t.toRegExpSource(e);this.#T=this.#T||r;return A})).filter((e=>!(this.isStart()&&this.isEnd())||!!e)).join("|")}static#Y(e,t,A=false){let r=false;let a="";let o=false;for(let i=0;i{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.parseClass=void 0;const A={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",true],"[:alpha:]":["\\p{L}\\p{Nl}",true],"[:ascii:]":["\\x"+"00-\\x"+"7f",false],"[:blank:]":["\\p{Zs}\\t",true],"[:cntrl:]":["\\p{Cc}",true],"[:digit:]":["\\p{Nd}",true],"[:graph:]":["\\p{Z}\\p{C}",true,true],"[:lower:]":["\\p{Ll}",true],"[:print:]":["\\p{C}",true],"[:punct:]":["\\p{P}",true],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",true],"[:upper:]":["\\p{Lu}",true],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",true],"[:xdigit:]":["A-Fa-f0-9",false]};const braceEscape=e=>e.replace(/[[\]\\-]/g,"\\$&");const regexpEscape=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");const rangesToString=e=>e.join("");const parseClass=(e,t)=>{const s=t;if(e.charAt(s)!=="["){throw new Error("not in a brace expression")}const i=[];const r=[];let a=s+1;let o=false;let n=false;let p=false;let d=false;let l=s;let c="";e:while(ac){i.push(braceEscape(c)+"-"+braceEscape(t))}else if(t===c){i.push(braceEscape(t))}c="";a++;continue}if(e.startsWith("-]",a+1)){i.push(braceEscape(t+"-"));a+=2;continue}if(e.startsWith("-",a+1)){c=t;a+=2;continue}i.push(braceEscape(t));a++}if(l{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.escape=void 0;const escape=(e,{windowsPathsNoEscape:t=false}={})=>t?e.replace(/[?*()[\]]/g,"[$&]"):e.replace(/[?*()[\]\\]/g,"\\$&");t.escape=escape},4501:function(e,t,A){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.unescape=t.escape=t.AST=t.Minimatch=t.match=t.makeRe=t.braceExpand=t.defaults=t.filter=t.GLOBSTAR=t.sep=t.minimatch=void 0;const i=s(A(3717));const r=A(4149);const a=A(5136);const o=A(2804);const n=A(5698);const minimatch=(e,t,A={})=>{(0,r.assertValidPattern)(t);if(!A.nocomment&&t.charAt(0)==="#"){return false}return new Minimatch(t,A).match(e)};t.minimatch=minimatch;const p=/^\*+([^+@!?\*\[\(]*)$/;const starDotExtTest=e=>t=>!t.startsWith(".")&&t.endsWith(e);const starDotExtTestDot=e=>t=>t.endsWith(e);const starDotExtTestNocase=e=>{e=e.toLowerCase();return t=>!t.startsWith(".")&&t.toLowerCase().endsWith(e)};const starDotExtTestNocaseDot=e=>{e=e.toLowerCase();return t=>t.toLowerCase().endsWith(e)};const d=/^\*+\.\*+$/;const starDotStarTest=e=>!e.startsWith(".")&&e.includes(".");const starDotStarTestDot=e=>e!=="."&&e!==".."&&e.includes(".");const l=/^\.\*+$/;const dotStarTest=e=>e!=="."&&e!==".."&&e.startsWith(".");const c=/^\*+$/;const starTest=e=>e.length!==0&&!e.startsWith(".");const starTestDot=e=>e.length!==0&&e!=="."&&e!=="..";const u=/^\?+([^+@!?\*\[\(]*)?$/;const qmarksTestNocase=([e,t=""])=>{const A=qmarksTestNoExt([e]);if(!t)return A;t=t.toLowerCase();return e=>A(e)&&e.toLowerCase().endsWith(t)};const qmarksTestNocaseDot=([e,t=""])=>{const A=qmarksTestNoExtDot([e]);if(!t)return A;t=t.toLowerCase();return e=>A(e)&&e.toLowerCase().endsWith(t)};const qmarksTestDot=([e,t=""])=>{const A=qmarksTestNoExtDot([e]);return!t?A:e=>A(e)&&e.endsWith(t)};const qmarksTest=([e,t=""])=>{const A=qmarksTestNoExt([e]);return!t?A:e=>A(e)&&e.endsWith(t)};const qmarksTestNoExt=([e])=>{const t=e.length;return e=>e.length===t&&!e.startsWith(".")};const qmarksTestNoExtDot=([e])=>{const t=e.length;return e=>e.length===t&&e!=="."&&e!==".."};const h=typeof process==="object"&&process?typeof process.env==="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix";const g={win32:{sep:"\\"},posix:{sep:"/"}};t.sep=h==="win32"?g.win32.sep:g.posix.sep;t.minimatch.sep=t.sep;t.GLOBSTAR=Symbol("globstar **");t.minimatch.GLOBSTAR=t.GLOBSTAR;const E="[^/]";const C=E+"*?";const Q="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";const B="(?:(?!(?:\\/|^)\\.).)*?";const filter=(e,A={})=>s=>(0,t.minimatch)(s,e,A);t.filter=filter;t.minimatch.filter=t.filter;const ext=(e,t={})=>Object.assign({},e,t);const defaults=e=>{if(!e||typeof e!=="object"||!Object.keys(e).length){return t.minimatch}const A=t.minimatch;const m=(t,s,i={})=>A(t,s,ext(e,i));return Object.assign(m,{Minimatch:class Minimatch extends A.Minimatch{constructor(t,A={}){super(t,ext(e,A))}static defaults(t){return A.defaults(ext(e,t)).Minimatch}},AST:class AST extends A.AST{constructor(t,A,s={}){super(t,A,ext(e,s))}static fromGlob(t,s={}){return A.AST.fromGlob(t,ext(e,s))}},unescape:(t,s={})=>A.unescape(t,ext(e,s)),escape:(t,s={})=>A.escape(t,ext(e,s)),filter:(t,s={})=>A.filter(t,ext(e,s)),defaults:t=>A.defaults(ext(e,t)),makeRe:(t,s={})=>A.makeRe(t,ext(e,s)),braceExpand:(t,s={})=>A.braceExpand(t,ext(e,s)),match:(t,s,i={})=>A.match(t,s,ext(e,i)),sep:A.sep,GLOBSTAR:t.GLOBSTAR})};t.defaults=defaults;t.minimatch.defaults=t.defaults;const braceExpand=(e,t={})=>{(0,r.assertValidPattern)(e);if(t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)){return[e]}return(0,i.default)(e)};t.braceExpand=braceExpand;t.minimatch.braceExpand=t.braceExpand;const makeRe=(e,t={})=>new Minimatch(e,t).makeRe();t.makeRe=makeRe;t.minimatch.makeRe=t.makeRe;const match=(e,t,A={})=>{const s=new Minimatch(t,A);e=e.filter((e=>s.match(e)));if(s.options.nonull&&!e.length){e.push(t)}return e};t.match=match;t.minimatch.match=t.match;const I=/[?*]|[+@!]\(.*?\)|\[|\]/;const regExpEscape=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class Minimatch{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(e,t={}){(0,r.assertValidPattern)(e);t=t||{};this.options=t;this.pattern=e;this.platform=t.platform||h;this.isWindows=this.platform==="win32";this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||t.allowWindowsEscape===false;if(this.windowsPathsNoEscape){this.pattern=this.pattern.replace(/\\/g,"/")}this.preserveMultipleSlashes=!!t.preserveMultipleSlashes;this.regexp=null;this.negate=false;this.nonegate=!!t.nonegate;this.comment=false;this.empty=false;this.partial=!!t.partial;this.nocase=!!this.options.nocase;this.windowsNoMagicRoot=t.windowsNoMagicRoot!==undefined?t.windowsNoMagicRoot:!!(this.isWindows&&this.nocase);this.globSet=[];this.globParts=[];this.set=[];this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1){return true}for(const e of this.set){for(const t of e){if(typeof t!=="string")return true}}return false}debug(...e){}make(){const e=this.pattern;const t=this.options;if(!t.nocomment&&e.charAt(0)==="#"){this.comment=true;return}if(!e){this.empty=true;return}this.parseNegate();this.globSet=[...new Set(this.braceExpand())];if(t.debug){this.debug=(...e)=>console.error(...e)}this.debug(this.pattern,this.globSet);const A=this.globSet.map((e=>this.slashSplit(e)));this.globParts=this.preprocess(A);this.debug(this.pattern,this.globParts);let s=this.globParts.map(((e,t,A)=>{if(this.isWindows&&this.windowsNoMagicRoot){const t=e[0]===""&&e[1]===""&&(e[2]==="?"||!I.test(e[2]))&&!I.test(e[3]);const A=/^[a-z]:/i.test(e[0]);if(t){return[...e.slice(0,4),...e.slice(4).map((e=>this.parse(e)))]}else if(A){return[e[0],...e.slice(1).map((e=>this.parse(e)))]}}return e.map((e=>this.parse(e)))}));this.debug(this.pattern,s);this.set=s.filter((e=>e.indexOf(false)===-1));if(this.isWindows){for(let e=0;e=2){e=this.firstPhasePreProcess(e);e=this.secondPhasePreProcess(e)}else if(t>=1){e=this.levelOneOptimize(e)}else{e=this.adjascentGlobstarOptimize(e)}return e}adjascentGlobstarOptimize(e){return e.map((e=>{let t=-1;while(-1!==(t=e.indexOf("**",t+1))){let A=t;while(e[A+1]==="**"){A++}if(A!==t){e.splice(t,A-t)}}return e}))}levelOneOptimize(e){return e.map((e=>{e=e.reduce(((e,t)=>{const A=e[e.length-1];if(t==="**"&&A==="**"){return e}if(t===".."){if(A&&A!==".."&&A!=="."&&A!=="**"){e.pop();return e}}e.push(t);return e}),[]);return e.length===0?[""]:e}))}levelTwoFileOptimize(e){if(!Array.isArray(e)){e=this.slashSplit(e)}let t=false;do{t=false;if(!this.preserveMultipleSlashes){for(let A=1;As){A.splice(s+1,i-s)}let r=A[s+1];const a=A[s+2];const o=A[s+3];if(r!=="..")continue;if(!a||a==="."||a===".."||!o||o==="."||o===".."){continue}t=true;A.splice(s,1);const n=A.slice(0);n[s]="**";e.push(n);s--}if(!this.preserveMultipleSlashes){for(let e=1;ee.length))}partsMatch(e,t,A=false){let s=0;let i=0;let r=[];let a="";while(sa){A=A.slice(o)}else if(a>o){e=e.slice(a)}}}}const{optimizationLevel:r=1}=this.options;if(r>=2){e=this.levelTwoFileOptimize(e)}this.debug("matchOne",this,{file:e,pattern:A});this.debug("matchOne",e.length,A.length);for(var a=0,o=0,n=e.length,p=A.length;a>> no match, partial?",e,c,A,u);if(c===n){return true}}return false}let r;if(typeof d==="string"){r=l===d;this.debug("string match",d,l,r)}else{r=d.test(l);this.debug("pattern match",d,l,r)}if(!r)return false}if(a===n&&o===p){return true}else if(a===n){return s}else if(o===p){return a===n-1&&e[a]===""}else{throw new Error("wtf?")}}braceExpand(){return(0,t.braceExpand)(this.pattern,this.options)}parse(e){(0,r.assertValidPattern)(e);const A=this.options;if(e==="**")return t.GLOBSTAR;if(e==="")return"";let s;let i=null;if(s=e.match(c)){i=A.dot?starTestDot:starTest}else if(s=e.match(p)){i=(A.nocase?A.dot?starDotExtTestNocaseDot:starDotExtTestNocase:A.dot?starDotExtTestDot:starDotExtTest)(s[1])}else if(s=e.match(u)){i=(A.nocase?A.dot?qmarksTestNocaseDot:qmarksTestNocase:A.dot?qmarksTestDot:qmarksTest)(s)}else if(s=e.match(d)){i=A.dot?starDotStarTestDot:starDotStarTest}else if(s=e.match(l)){i=dotStarTest}const o=a.AST.fromGlob(e,this.options).toMMPattern();if(i&&typeof o==="object"){Reflect.defineProperty(o,"test",{value:i})}return o}makeRe(){if(this.regexp||this.regexp===false)return this.regexp;const e=this.set;if(!e.length){this.regexp=false;return this.regexp}const A=this.options;const s=A.noglobstar?C:A.dot?Q:B;const i=new Set(A.nocase?["i"]:[]);let r=e.map((e=>{const A=e.map((e=>{if(e instanceof RegExp){for(const t of e.flags.split(""))i.add(t)}return typeof e==="string"?regExpEscape(e):e===t.GLOBSTAR?t.GLOBSTAR:e._src}));A.forEach(((e,i)=>{const r=A[i+1];const a=A[i-1];if(e!==t.GLOBSTAR||a===t.GLOBSTAR){return}if(a===undefined){if(r!==undefined&&r!==t.GLOBSTAR){A[i+1]="(?:\\/|"+s+"\\/)?"+r}else{A[i]=s}}else if(r===undefined){A[i-1]=a+"(?:\\/|"+s+")?"}else if(r!==t.GLOBSTAR){A[i-1]=a+"(?:\\/|\\/"+s+"\\/)"+r;A[i+1]=t.GLOBSTAR}}));return A.filter((e=>e!==t.GLOBSTAR)).join("/")})).join("|");const[a,o]=e.length>1?["(?:",")"]:["",""];r="^"+a+r+o+"$";if(this.negate)r="^(?!"+r+").+$";try{this.regexp=new RegExp(r,[...i].join(""))}catch(e){this.regexp=false}return this.regexp}slashSplit(e){if(this.preserveMultipleSlashes){return e.split("/")}else if(this.isWindows&&/^\/\/[^\/]+/.test(e)){return["",...e.split(/\/+/)]}else{return e.split(/\/+/)}}match(e,t=this.partial){this.debug("match",e,this.pattern);if(this.comment){return false}if(this.empty){return e===""}if(e==="/"&&t){return true}const A=this.options;if(this.isWindows){e=e.split("\\").join("/")}const s=this.slashSplit(e);this.debug(this.pattern,"split",s);const i=this.set;this.debug(this.pattern,"set",i);let r=s[s.length-1];if(!r){for(let e=s.length-2;!r&&e>=0;e--){r=s[e]}}for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.unescape=void 0;const unescape=(e,{windowsPathsNoEscape:t=false}={})=>t?e.replace(/\[([^\/\\])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");t.unescape=unescape},4968:function(e,t,A){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.Minipass=t.isWritable=t.isReadable=t.isStream=void 0;const i=typeof process==="object"&&process?process:{stdout:null,stderr:null};const r=A(5673);const a=s(A(4492));const o=A(6915);const isStream=e=>!!e&&typeof e==="object"&&(e instanceof Minipass||e instanceof a.default||(0,t.isReadable)(e)||(0,t.isWritable)(e));t.isStream=isStream;const isReadable=e=>!!e&&typeof e==="object"&&e instanceof r.EventEmitter&&typeof e.pipe==="function"&&e.pipe!==a.default.Writable.prototype.pipe;t.isReadable=isReadable;const isWritable=e=>!!e&&typeof e==="object"&&e instanceof r.EventEmitter&&typeof e.write==="function"&&typeof e.end==="function";t.isWritable=isWritable;const n=Symbol("EOF");const p=Symbol("maybeEmitEnd");const d=Symbol("emittedEnd");const l=Symbol("emittingEnd");const c=Symbol("emittedError");const u=Symbol("closed");const h=Symbol("read");const g=Symbol("flush");const E=Symbol("flushChunk");const C=Symbol("encoding");const Q=Symbol("decoder");const B=Symbol("flowing");const I=Symbol("paused");const w=Symbol("resume");const y=Symbol("buffer");const v=Symbol("pipes");const b=Symbol("bufferLength");const D=Symbol("bufferPush");const R=Symbol("bufferShift");const k=Symbol("objectMode");const S=Symbol("destroyed");const F=Symbol("error");const N=Symbol("emitData");const T=Symbol("emitEnd");const U=Symbol("emitEnd2");const L=Symbol("async");const _=Symbol("abort");const M=Symbol("aborted");const x=Symbol("signal");const G=Symbol("dataListeners");const V=Symbol("discarded");const defer=e=>Promise.resolve().then(e);const nodefer=e=>e();const isEndish=e=>e==="end"||e==="finish"||e==="prefinish";const isArrayBufferLike=e=>e instanceof ArrayBuffer||!!e&&typeof e==="object"&&e.constructor&&e.constructor.name==="ArrayBuffer"&&e.byteLength>=0;const isArrayBufferView=e=>!Buffer.isBuffer(e)&&ArrayBuffer.isView(e);class Pipe{src;dest;opts;ondrain;constructor(e,t,A){this.src=e;this.dest=t;this.opts=A;this.ondrain=()=>e[w]();this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(e){}end(){this.unpipe();if(this.opts.end)this.dest.end()}}class PipeProxyErrors extends Pipe{unpipe(){this.src.removeListener("error",this.proxyErrors);super.unpipe()}constructor(e,t,A){super(e,t,A);this.proxyErrors=e=>t.emit("error",e);e.on("error",this.proxyErrors)}}const isObjectModeOptions=e=>!!e.objectMode;const isEncodingOptions=e=>!e.objectMode&&!!e.encoding&&e.encoding!=="buffer";class Minipass extends r.EventEmitter{[B]=false;[I]=false;[v]=[];[y]=[];[k];[C];[L];[Q];[n]=false;[d]=false;[l]=false;[u]=false;[c]=null;[b]=0;[S]=false;[x];[M]=false;[G]=0;[V]=false;writable=true;readable=true;constructor(...e){const t=e[0]||{};super();if(t.objectMode&&typeof t.encoding==="string"){throw new TypeError("Encoding and objectMode may not be used together")}if(isObjectModeOptions(t)){this[k]=true;this[C]=null}else if(isEncodingOptions(t)){this[C]=t.encoding;this[k]=false}else{this[k]=false;this[C]=null}this[L]=!!t.async;this[Q]=this[C]?new o.StringDecoder(this[C]):null;if(t&&t.debugExposeBuffer===true){Object.defineProperty(this,"buffer",{get:()=>this[y]})}if(t&&t.debugExposePipes===true){Object.defineProperty(this,"pipes",{get:()=>this[v]})}const{signal:A}=t;if(A){this[x]=A;if(A.aborted){this[_]()}else{A.addEventListener("abort",(()=>this[_]()))}}}get bufferLength(){return this[b]}get encoding(){return this[C]}set encoding(e){throw new Error("Encoding must be set at instantiation time")}setEncoding(e){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[k]}set objectMode(e){throw new Error("objectMode must be set at instantiation time")}get["async"](){return this[L]}set["async"](e){this[L]=this[L]||!!e}[_](){this[M]=true;this.emit("abort",this[x]?.reason);this.destroy(this[x]?.reason)}get aborted(){return this[M]}set aborted(e){}write(e,t,A){if(this[M])return false;if(this[n])throw new Error("write after end");if(this[S]){this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"}));return true}if(typeof t==="function"){A=t;t="utf8"}if(!t)t="utf8";const s=this[L]?defer:nodefer;if(!this[k]&&!Buffer.isBuffer(e)){if(isArrayBufferView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(isArrayBufferLike(e)){e=Buffer.from(e)}else if(typeof e!=="string"){throw new Error("Non-contiguous data written to non-objectMode stream")}}if(this[k]){if(this[B]&&this[b]!==0)this[g](true);if(this[B])this.emit("data",e);else this[D](e);if(this[b]!==0)this.emit("readable");if(A)s(A);return this[B]}if(!e.length){if(this[b]!==0)this.emit("readable");if(A)s(A);return this[B]}if(typeof e==="string"&&!(t===this[C]&&!this[Q]?.lastNeed)){e=Buffer.from(e,t)}if(Buffer.isBuffer(e)&&this[C]){e=this[Q].write(e)}if(this[B]&&this[b]!==0)this[g](true);if(this[B])this.emit("data",e);else this[D](e);if(this[b]!==0)this.emit("readable");if(A)s(A);return this[B]}read(e){if(this[S])return null;this[V]=false;if(this[b]===0||e===0||e&&e>this[b]){this[p]();return null}if(this[k])e=null;if(this[y].length>1&&!this[k]){this[y]=[this[C]?this[y].join(""):Buffer.concat(this[y],this[b])]}const t=this[h](e||null,this[y][0]);this[p]();return t}[h](e,t){if(this[k])this[R]();else{const A=t;if(e===A.length||e===null)this[R]();else if(typeof A==="string"){this[y][0]=A.slice(e);t=A.slice(0,e);this[b]-=e}else{this[y][0]=A.subarray(e);t=A.subarray(0,e);this[b]-=e}}this.emit("data",t);if(!this[y].length&&!this[n])this.emit("drain");return t}end(e,t,A){if(typeof e==="function"){A=e;e=undefined}if(typeof t==="function"){A=t;t="utf8"}if(e!==undefined)this.write(e,t);if(A)this.once("end",A);this[n]=true;this.writable=false;if(this[B]||!this[I])this[p]();return this}[w](){if(this[S])return;if(!this[G]&&!this[v].length){this[V]=true}this[I]=false;this[B]=true;this.emit("resume");if(this[y].length)this[g]();else if(this[n])this[p]();else this.emit("drain")}resume(){return this[w]()}pause(){this[B]=false;this[I]=true;this[V]=false}get destroyed(){return this[S]}get flowing(){return this[B]}get paused(){return this[I]}[D](e){if(this[k])this[b]+=1;else this[b]+=e.length;this[y].push(e)}[R](){if(this[k])this[b]-=1;else this[b]-=this[y][0].length;return this[y].shift()}[g](e=false){do{}while(this[E](this[R]())&&this[y].length);if(!e&&!this[y].length&&!this[n])this.emit("drain")}[E](e){this.emit("data",e);return this[B]}pipe(e,t){if(this[S])return e;this[V]=false;const A=this[d];t=t||{};if(e===i.stdout||e===i.stderr)t.end=false;else t.end=t.end!==false;t.proxyErrors=!!t.proxyErrors;if(A){if(t.end)e.end()}else{this[v].push(!t.proxyErrors?new Pipe(this,e,t):new PipeProxyErrors(this,e,t));if(this[L])defer((()=>this[w]()));else this[w]()}return e}unpipe(e){const t=this[v].find((t=>t.dest===e));if(t){if(this[v].length===1){if(this[B]&&this[G]===0){this[B]=false}this[v]=[]}else this[v].splice(this[v].indexOf(t),1);t.unpipe()}}addListener(e,t){return this.on(e,t)}on(e,t){const A=super.on(e,t);if(e==="data"){this[V]=false;this[G]++;if(!this[v].length&&!this[B]){this[w]()}}else if(e==="readable"&&this[b]!==0){super.emit("readable")}else if(isEndish(e)&&this[d]){super.emit(e);this.removeAllListeners(e)}else if(e==="error"&&this[c]){const e=t;if(this[L])defer((()=>e.call(this,this[c])));else e.call(this,this[c])}return A}removeListener(e,t){return this.off(e,t)}off(e,t){const A=super.off(e,t);if(e==="data"){this[G]=this.listeners("data").length;if(this[G]===0&&!this[V]&&!this[v].length){this[B]=false}}return A}removeAllListeners(e){const t=super.removeAllListeners(e);if(e==="data"||e===undefined){this[G]=0;if(!this[V]&&!this[v].length){this[B]=false}}return t}get emittedEnd(){return this[d]}[p](){if(!this[l]&&!this[d]&&!this[S]&&this[y].length===0&&this[n]){this[l]=true;this.emit("end");this.emit("prefinish");this.emit("finish");if(this[u])this.emit("close");this[l]=false}}emit(e,...t){const A=t[0];if(e!=="error"&&e!=="close"&&e!==S&&this[S]){return false}else if(e==="data"){return!this[k]&&!A?false:this[L]?(defer((()=>this[N](A))),true):this[N](A)}else if(e==="end"){return this[T]()}else if(e==="close"){this[u]=true;if(!this[d]&&!this[S])return false;const e=super.emit("close");this.removeAllListeners("close");return e}else if(e==="error"){this[c]=A;super.emit(F,A);const e=!this[x]||this.listeners("error").length?super.emit("error",A):false;this[p]();return e}else if(e==="resume"){const e=super.emit("resume");this[p]();return e}else if(e==="finish"||e==="prefinish"){const t=super.emit(e);this.removeAllListeners(e);return t}const s=super.emit(e,...t);this[p]();return s}[N](e){for(const t of this[v]){if(t.dest.write(e)===false)this.pause()}const t=this[V]?false:super.emit("data",e);this[p]();return t}[T](){if(this[d])return false;this[d]=true;this.readable=false;return this[L]?(defer((()=>this[U]())),true):this[U]()}[U](){if(this[Q]){const e=this[Q].end();if(e){for(const t of this[v]){t.dest.write(e)}if(!this[V])super.emit("data",e)}}for(const e of this[v]){e.end()}const e=super.emit("end");this.removeAllListeners("end");return e}async collect(){const e=Object.assign([],{dataLength:0});if(!this[k])e.dataLength=0;const t=this.promise();this.on("data",(t=>{e.push(t);if(!this[k])e.dataLength+=t.length}));await t;return e}async concat(){if(this[k]){throw new Error("cannot concat in objectMode")}const e=await this.collect();return this[C]?e.join(""):Buffer.concat(e,e.dataLength)}async promise(){return new Promise(((e,t)=>{this.on(S,(()=>t(new Error("stream destroyed"))));this.on("error",(e=>t(e)));this.on("end",(()=>e()))}))}[Symbol.asyncIterator](){this[V]=false;let e=false;const stop=async()=>{this.pause();e=true;return{value:undefined,done:true}};const next=()=>{if(e)return stop();const t=this.read();if(t!==null)return Promise.resolve({done:false,value:t});if(this[n])return stop();let A;let s;const onerr=e=>{this.off("data",ondata);this.off("end",onend);this.off(S,ondestroy);stop();s(e)};const ondata=e=>{this.off("error",onerr);this.off("end",onend);this.off(S,ondestroy);this.pause();A({value:e,done:!!this[n]})};const onend=()=>{this.off("error",onerr);this.off("data",ondata);this.off(S,ondestroy);stop();A({done:true,value:undefined})};const ondestroy=()=>onerr(new Error("stream destroyed"));return new Promise(((e,t)=>{s=t;A=e;this.once(S,ondestroy);this.once("error",onerr);this.once("end",onend);this.once("data",ondata)}))};return{next:next,throw:stop,return:stop,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[V]=false;let e=false;const stop=()=>{this.pause();this.off(F,stop);this.off(S,stop);this.off("end",stop);e=true;return{done:true,value:undefined}};const next=()=>{if(e)return stop();const t=this.read();return t===null?stop():{done:false,value:t}};this.once("end",stop);this.once(F,stop);this.once(S,stop);return{next:next,throw:stop,return:stop,[Symbol.iterator](){return this}}}destroy(e){if(this[S]){if(e)this.emit("error",e);else this.emit(S);return this}this[S]=true;this[V]=true;this[y].length=0;this[b]=0;const t=this;if(typeof t.close==="function"&&!this[u])t.close();if(e)this.emit("error",e);else this.emit(S);return this}static get isStream(){return t.isStream}}t.Minipass=Minipass},1081:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;var i=Object.getOwnPropertyDescriptor(t,A);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[A]}}}Object.defineProperty(e,s,i)}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.prototype.hasOwnProperty.call(e,A))s(t,e,A);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.PathScurry=t.Path=t.PathScurryDarwin=t.PathScurryPosix=t.PathScurryWin32=t.PathScurryBase=t.PathPosix=t.PathWin32=t.PathBase=t.ChildrenCache=t.ResolveCache=void 0;const a=A(6091);const o=A(9411);const n=A(1041);const p=A(7147);const d=r(A(7561));const l=p.realpathSync.native;const c=A(3977);const u=A(4968);const h={lstatSync:p.lstatSync,readdir:p.readdir,readdirSync:p.readdirSync,readlinkSync:p.readlinkSync,realpathSync:l,promises:{lstat:c.lstat,readdir:c.readdir,readlink:c.readlink,realpath:c.realpath}};const fsFromOption=e=>!e||e===h||e===d?h:{...h,...e,promises:{...h.promises,...e.promises||{}}};const g=/^\\\\\?\\([a-z]:)\\?$/i;const uncToDrive=e=>e.replace(/\//g,"\\").replace(g,"$1\\");const E=/[\\\/]/;const C=0;const Q=1;const B=2;const I=4;const w=6;const y=8;const v=10;const b=12;const D=15;const R=~D;const k=16;const S=32;const F=64;const N=128;const T=256;const U=512;const L=F|N|U;const _=1023;const entToType=e=>e.isFile()?y:e.isDirectory()?I:e.isSymbolicLink()?v:e.isCharacterDevice()?B:e.isBlockDevice()?w:e.isSocket()?b:e.isFIFO()?Q:C;const M=new Map;const normalize=e=>{const t=M.get(e);if(t)return t;const A=e.normalize("NFKD");M.set(e,A);return A};const x=new Map;const normalizeNocase=e=>{const t=x.get(e);if(t)return t;const A=normalize(e.toLowerCase());x.set(e,A);return A};class ResolveCache extends a.LRUCache{constructor(){super({max:256})}}t.ResolveCache=ResolveCache;class ChildrenCache extends a.LRUCache{constructor(e=16*1024){super({maxSize:e,sizeCalculation:e=>e.length+1})}}t.ChildrenCache=ChildrenCache;const G=Symbol("PathScurry setAsCwd");class PathBase{name;root;roots;parent;nocase;isCWD=false;#q;#W;get dev(){return this.#W}#j;get mode(){return this.#j}#z;get nlink(){return this.#z}#Z;get uid(){return this.#Z}#X;get gid(){return this.#X}#K;get rdev(){return this.#K}#$;get blksize(){return this.#$}#ee;get ino(){return this.#ee}#te;get size(){return this.#te}#Ae;get blocks(){return this.#Ae}#se;get atimeMs(){return this.#se}#ie;get mtimeMs(){return this.#ie}#re;get ctimeMs(){return this.#re}#ae;get birthtimeMs(){return this.#ae}#oe;get atime(){return this.#oe}#ne;get mtime(){return this.#ne}#pe;get ctime(){return this.#pe}#de;get birthtime(){return this.#de}#le;#ce;#ue;#he;#ge;#me;#Ee;#fe;#Ce;#Qe;get parentPath(){return(this.parent||this).fullpath()}get path(){return this.parentPath}constructor(e,t=C,A,s,i,r,a){this.name=e;this.#le=i?normalizeNocase(e):normalize(e);this.#Ee=t&_;this.nocase=i;this.roots=s;this.root=A||this;this.#fe=r;this.#ue=a.fullpath;this.#ge=a.relative;this.#me=a.relativePosix;this.parent=a.parent;if(this.parent){this.#q=this.parent.#q}else{this.#q=fsFromOption(a.fs)}}depth(){if(this.#ce!==undefined)return this.#ce;if(!this.parent)return this.#ce=0;return this.#ce=this.parent.depth()+1}childrenCache(){return this.#fe}resolve(e){if(!e){return this}const t=this.getRootString(e);const A=e.substring(t.length);const s=A.split(this.splitSep);const i=t?this.getRoot(t).#Be(s):this.#Be(s);return i}#Be(e){let t=this;for(const A of e){t=t.child(A)}return t}children(){const e=this.#fe.get(this);if(e){return e}const t=Object.assign([],{provisional:0});this.#fe.set(this,t);this.#Ee&=~k;return t}child(e,t){if(e===""||e==="."){return this}if(e===".."){return this.parent||this}const A=this.children();const s=this.nocase?normalizeNocase(e):normalize(e);for(const e of A){if(e.#le===s){return e}}const i=this.parent?this.sep:"";const r=this.#ue?this.#ue+i+e:undefined;const a=this.newChild(e,C,{...t,parent:this,fullpath:r});if(!this.canReaddir()){a.#Ee|=N}A.push(a);return a}relative(){if(this.isCWD)return"";if(this.#ge!==undefined){return this.#ge}const e=this.name;const t=this.parent;if(!t){return this.#ge=this.name}const A=t.relative();return A+(!A||!t.parent?"":this.sep)+e}relativePosix(){if(this.sep==="/")return this.relative();if(this.isCWD)return"";if(this.#me!==undefined)return this.#me;const e=this.name;const t=this.parent;if(!t){return this.#me=this.fullpathPosix()}const A=t.relativePosix();return A+(!A||!t.parent?"":"/")+e}fullpath(){if(this.#ue!==undefined){return this.#ue}const e=this.name;const t=this.parent;if(!t){return this.#ue=this.name}const A=t.fullpath();const s=A+(!t.parent?"":this.sep)+e;return this.#ue=s}fullpathPosix(){if(this.#he!==undefined)return this.#he;if(this.sep==="/")return this.#he=this.fullpath();if(!this.parent){const e=this.fullpath().replace(/\\/g,"/");if(/^[a-z]:\//i.test(e)){return this.#he=`//?/${e}`}else{return this.#he=e}}const e=this.parent;const t=e.fullpathPosix();const A=t+(!t||!e.parent?"":"/")+this.name;return this.#he=A}isUnknown(){return(this.#Ee&D)===C}isType(e){return this[`is${e}`]()}getType(){return this.isUnknown()?"Unknown":this.isDirectory()?"Directory":this.isFile()?"File":this.isSymbolicLink()?"SymbolicLink":this.isFIFO()?"FIFO":this.isCharacterDevice()?"CharacterDevice":this.isBlockDevice()?"BlockDevice":this.isSocket()?"Socket":"Unknown"}isFile(){return(this.#Ee&D)===y}isDirectory(){return(this.#Ee&D)===I}isCharacterDevice(){return(this.#Ee&D)===B}isBlockDevice(){return(this.#Ee&D)===w}isFIFO(){return(this.#Ee&D)===Q}isSocket(){return(this.#Ee&D)===b}isSymbolicLink(){return(this.#Ee&v)===v}lstatCached(){return this.#Ee&S?this:undefined}readlinkCached(){return this.#Ce}realpathCached(){return this.#Qe}readdirCached(){const e=this.children();return e.slice(0,e.provisional)}canReadlink(){if(this.#Ce)return true;if(!this.parent)return false;const e=this.#Ee&D;return!(e!==C&&e!==v||this.#Ee&T||this.#Ee&N)}calledReaddir(){return!!(this.#Ee&k)}isENOENT(){return!!(this.#Ee&N)}isNamed(e){return!this.nocase?this.#le===normalize(e):this.#le===normalizeNocase(e)}async readlink(){const e=this.#Ce;if(e){return e}if(!this.canReadlink()){return undefined}if(!this.parent){return undefined}try{const e=await this.#q.promises.readlink(this.fullpath());const t=(await this.parent.realpath())?.resolve(e);if(t){return this.#Ce=t}}catch(e){this.#Ie(e.code);return undefined}}readlinkSync(){const e=this.#Ce;if(e){return e}if(!this.canReadlink()){return undefined}if(!this.parent){return undefined}try{const e=this.#q.readlinkSync(this.fullpath());const t=this.parent.realpathSync()?.resolve(e);if(t){return this.#Ce=t}}catch(e){this.#Ie(e.code);return undefined}}#we(e){this.#Ee|=k;for(let t=e.provisional;tt(null,e)))}readdirCB(e,t=false){if(!this.canReaddir()){if(t)e(null,[]);else queueMicrotask((()=>e(null,[])));return}const A=this.children();if(this.calledReaddir()){const s=A.slice(0,A.provisional);if(t)e(null,s);else queueMicrotask((()=>e(null,s)));return}this.#Le.push(e);if(this.#_e){return}this.#_e=true;const s=this.fullpath();this.#q.readdir(s,{withFileTypes:true},((e,t)=>{if(e){this.#Re(e.code);A.provisional=0}else{for(const e of t){this.#Se(e,A)}this.#we(A)}this.#Me(A.slice(0,A.provisional));return}))}#xe;async readdir(){if(!this.canReaddir()){return[]}const e=this.children();if(this.calledReaddir()){return e.slice(0,e.provisional)}const t=this.fullpath();if(this.#xe){await this.#xe}else{let resolve=()=>{};this.#xe=new Promise((e=>resolve=e));try{for(const A of await this.#q.promises.readdir(t,{withFileTypes:true})){this.#Se(A,e)}this.#we(e)}catch(t){this.#Re(t.code);e.provisional=0}this.#xe=undefined;resolve()}return e.slice(0,e.provisional)}readdirSync(){if(!this.canReaddir()){return[]}const e=this.children();if(this.calledReaddir()){return e.slice(0,e.provisional)}const t=this.fullpath();try{for(const A of this.#q.readdirSync(t,{withFileTypes:true})){this.#Se(A,e)}this.#we(e)}catch(t){this.#Re(t.code);e.provisional=0}return e.slice(0,e.provisional)}canReaddir(){if(this.#Ee&L)return false;const e=D&this.#Ee;if(!(e===C||e===I||e===v)){return false}return true}shouldWalk(e,t){return(this.#Ee&I)===I&&!(this.#Ee&L)&&!e.has(this)&&(!t||t(this))}async realpath(){if(this.#Qe)return this.#Qe;if((U|T|N)&this.#Ee)return undefined;try{const e=await this.#q.promises.realpath(this.fullpath());return this.#Qe=this.resolve(e)}catch(e){this.#be()}}realpathSync(){if(this.#Qe)return this.#Qe;if((U|T|N)&this.#Ee)return undefined;try{const e=this.#q.realpathSync(this.fullpath());return this.#Qe=this.resolve(e)}catch(e){this.#be()}}[G](e){if(e===this)return;e.isCWD=false;this.isCWD=true;const t=new Set([]);let A=[];let s=this;while(s&&s.parent){t.add(s);s.#ge=A.join(this.sep);s.#me=A.join("/");s=s.parent;A.push("..")}s=e;while(s&&s.parent&&!t.has(s)){s.#ge=undefined;s.#me=undefined;s=s.parent}}}t.PathBase=PathBase;class PathWin32 extends PathBase{sep="\\";splitSep=E;constructor(e,t=C,A,s,i,r,a){super(e,t,A,s,i,r,a)}newChild(e,t=C,A={}){return new PathWin32(e,t,this.root,this.roots,this.nocase,this.childrenCache(),A)}getRootString(e){return o.win32.parse(e).root}getRoot(e){e=uncToDrive(e.toUpperCase());if(e===this.root.name){return this.root}for(const[t,A]of Object.entries(this.roots)){if(this.sameRoot(e,t)){return this.roots[e]=A}}return this.roots[e]=new PathScurryWin32(e,this).root}sameRoot(e,t=this.root.name){e=e.toUpperCase().replace(/\//g,"\\").replace(g,"$1\\");return e===t}}t.PathWin32=PathWin32;class PathPosix extends PathBase{splitSep="/";sep="/";constructor(e,t=C,A,s,i,r,a){super(e,t,A,s,i,r,a)}getRootString(e){return e.startsWith("/")?"/":""}getRoot(e){return this.root}newChild(e,t=C,A={}){return new PathPosix(e,t,this.root,this.roots,this.nocase,this.childrenCache(),A)}}t.PathPosix=PathPosix;class PathScurryBase{root;rootPath;roots;cwd;#Ge;#Ve;#fe;nocase;#q;constructor(e=process.cwd(),t,A,{nocase:s,childrenCacheSize:i=16*1024,fs:r=h}={}){this.#q=fsFromOption(r);if(e instanceof URL||e.startsWith("file://")){e=(0,n.fileURLToPath)(e)}const a=t.resolve(e);this.roots=Object.create(null);this.rootPath=this.parseRootPath(a);this.#Ge=new ResolveCache;this.#Ve=new ResolveCache;this.#fe=new ChildrenCache(i);const o=a.substring(this.rootPath.length).split(A);if(o.length===1&&!o[0]){o.pop()}if(s===undefined){throw new TypeError("must provide nocase setting to PathScurryBase ctor")}this.nocase=s;this.root=this.newRoot(this.#q);this.roots[this.rootPath]=this.root;let p=this.root;let d=o.length-1;const l=t.sep;let c=this.rootPath;let u=false;for(const e of o){const t=d--;p=p.child(e,{relative:new Array(t).fill("..").join(l),relativePosix:new Array(t).fill("..").join("/"),fullpath:c+=(u?"":l)+e});u=true}this.cwd=p}depth(e=this.cwd){if(typeof e==="string"){e=this.cwd.resolve(e)}return e.depth()}childrenCache(){return this.#fe}resolve(...e){let t="";for(let A=e.length-1;A>=0;A--){const s=e[A];if(!s||s===".")continue;t=t?`${s}/${t}`:s;if(this.isAbsolute(s)){break}}const A=this.#Ge.get(t);if(A!==undefined){return A}const s=this.cwd.resolve(t).fullpath();this.#Ge.set(t,s);return s}resolvePosix(...e){let t="";for(let A=e.length-1;A>=0;A--){const s=e[A];if(!s||s===".")continue;t=t?`${s}/${t}`:s;if(this.isAbsolute(s)){break}}const A=this.#Ve.get(t);if(A!==undefined){return A}const s=this.cwd.resolve(t).fullpathPosix();this.#Ve.set(t,s);return s}relative(e=this.cwd){if(typeof e==="string"){e=this.cwd.resolve(e)}return e.relative()}relativePosix(e=this.cwd){if(typeof e==="string"){e=this.cwd.resolve(e)}return e.relativePosix()}basename(e=this.cwd){if(typeof e==="string"){e=this.cwd.resolve(e)}return e.name}dirname(e=this.cwd){if(typeof e==="string"){e=this.cwd.resolve(e)}return(e.parent||e).fullpath()}async readdir(e=this.cwd,t={withFileTypes:true}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e;e=this.cwd}const{withFileTypes:A}=t;if(!e.canReaddir()){return[]}else{const t=await e.readdir();return A?t:t.map((e=>e.name))}}readdirSync(e=this.cwd,t={withFileTypes:true}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e;e=this.cwd}const{withFileTypes:A=true}=t;if(!e.canReaddir()){return[]}else if(A){return e.readdirSync()}else{return e.readdirSync().map((e=>e.name))}}async lstat(e=this.cwd){if(typeof e==="string"){e=this.cwd.resolve(e)}return e.lstat()}lstatSync(e=this.cwd){if(typeof e==="string"){e=this.cwd.resolve(e)}return e.lstatSync()}async readlink(e=this.cwd,{withFileTypes:t}={withFileTypes:false}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e.withFileTypes;e=this.cwd}const A=await e.readlink();return t?A:A?.fullpath()}readlinkSync(e=this.cwd,{withFileTypes:t}={withFileTypes:false}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e.withFileTypes;e=this.cwd}const A=e.readlinkSync();return t?A:A?.fullpath()}async realpath(e=this.cwd,{withFileTypes:t}={withFileTypes:false}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e.withFileTypes;e=this.cwd}const A=await e.realpath();return t?A:A?.fullpath()}realpathSync(e=this.cwd,{withFileTypes:t}={withFileTypes:false}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e.withFileTypes;e=this.cwd}const A=e.realpathSync();return t?A:A?.fullpath()}async walk(e=this.cwd,t={}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e;e=this.cwd}const{withFileTypes:A=true,follow:s=false,filter:i,walkFilter:r}=t;const a=[];if(!i||i(e)){a.push(A?e:e.fullpath())}const o=new Set;const walk=(e,t)=>{o.add(e);e.readdirCB(((e,n)=>{if(e){return t(e)}let p=n.length;if(!p)return t();const next=()=>{if(--p===0){t()}};for(const e of n){if(!i||i(e)){a.push(A?e:e.fullpath())}if(s&&e.isSymbolicLink()){e.realpath().then((e=>e?.isUnknown()?e.lstat():e)).then((e=>e?.shouldWalk(o,r)?walk(e,next):next()))}else{if(e.shouldWalk(o,r)){walk(e,next)}else{next()}}}}),true)};const n=e;return new Promise(((e,t)=>{walk(n,(A=>{if(A)return t(A);e(a)}))}))}walkSync(e=this.cwd,t={}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e;e=this.cwd}const{withFileTypes:A=true,follow:s=false,filter:i,walkFilter:r}=t;const a=[];if(!i||i(e)){a.push(A?e:e.fullpath())}const o=new Set([e]);for(const e of o){const t=e.readdirSync();for(const e of t){if(!i||i(e)){a.push(A?e:e.fullpath())}let t=e;if(e.isSymbolicLink()){if(!(s&&(t=e.realpathSync())))continue;if(t.isUnknown())t.lstatSync()}if(t.shouldWalk(o,r)){o.add(t)}}}return a}[Symbol.asyncIterator](){return this.iterate()}iterate(e=this.cwd,t={}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e;e=this.cwd}return this.stream(e,t)[Symbol.asyncIterator]()}[Symbol.iterator](){return this.iterateSync()}*iterateSync(e=this.cwd,t={}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e;e=this.cwd}const{withFileTypes:A=true,follow:s=false,filter:i,walkFilter:r}=t;if(!i||i(e)){yield A?e:e.fullpath()}const a=new Set([e]);for(const e of a){const t=e.readdirSync();for(const e of t){if(!i||i(e)){yield A?e:e.fullpath()}let t=e;if(e.isSymbolicLink()){if(!(s&&(t=e.realpathSync())))continue;if(t.isUnknown())t.lstatSync()}if(t.shouldWalk(a,r)){a.add(t)}}}}stream(e=this.cwd,t={}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e;e=this.cwd}const{withFileTypes:A=true,follow:s=false,filter:i,walkFilter:r}=t;const a=new u.Minipass({objectMode:true});if(!i||i(e)){a.write(A?e:e.fullpath())}const o=new Set;const n=[e];let p=0;const process=()=>{let e=false;while(!e){const t=n.shift();if(!t){if(p===0)a.end();return}p++;o.add(t);const onReaddir=(t,l,c=false)=>{if(t)return a.emit("error",t);if(s&&!c){const e=[];for(const t of l){if(t.isSymbolicLink()){e.push(t.realpath().then((e=>e?.isUnknown()?e.lstat():e)))}}if(e.length){Promise.all(e).then((()=>onReaddir(null,l,true)));return}}for(const t of l){if(t&&(!i||i(t))){if(!a.write(A?t:t.fullpath())){e=true}}}p--;for(const e of l){const t=e.realpathCached()||e;if(t.shouldWalk(o,r)){n.push(t)}}if(e&&!a.flowing){a.once("drain",process)}else if(!d){process()}};let d=true;t.readdirCB(onReaddir,true);d=false}};process();return a}streamSync(e=this.cwd,t={}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e;e=this.cwd}const{withFileTypes:A=true,follow:s=false,filter:i,walkFilter:r}=t;const a=new u.Minipass({objectMode:true});const o=new Set;if(!i||i(e)){a.write(A?e:e.fullpath())}const n=[e];let p=0;const process=()=>{let e=false;while(!e){const t=n.shift();if(!t){if(p===0)a.end();return}p++;o.add(t);const d=t.readdirSync();for(const t of d){if(!i||i(t)){if(!a.write(A?t:t.fullpath())){e=true}}}p--;for(const e of d){let t=e;if(e.isSymbolicLink()){if(!(s&&(t=e.realpathSync())))continue;if(t.isUnknown())t.lstatSync()}if(t.shouldWalk(o,r)){n.push(t)}}}if(e&&!a.flowing)a.once("drain",process)};process();return a}chdir(e=this.cwd){const t=this.cwd;this.cwd=typeof e==="string"?this.cwd.resolve(e):e;this.cwd[G](t)}}t.PathScurryBase=PathScurryBase;class PathScurryWin32 extends PathScurryBase{sep="\\";constructor(e=process.cwd(),t={}){const{nocase:A=true}=t;super(e,o.win32,"\\",{...t,nocase:A});this.nocase=A;for(let e=this.cwd;e;e=e.parent){e.nocase=this.nocase}}parseRootPath(e){return o.win32.parse(e).root.toUpperCase()}newRoot(e){return new PathWin32(this.rootPath,I,undefined,this.roots,this.nocase,this.childrenCache(),{fs:e})}isAbsolute(e){return e.startsWith("/")||e.startsWith("\\")||/^[a-z]:(\/|\\)/i.test(e)}}t.PathScurryWin32=PathScurryWin32;class PathScurryPosix extends PathScurryBase{sep="/";constructor(e=process.cwd(),t={}){const{nocase:A=false}=t;super(e,o.posix,"/",{...t,nocase:A});this.nocase=A}parseRootPath(e){return"/"}newRoot(e){return new PathPosix(this.rootPath,I,undefined,this.roots,this.nocase,this.childrenCache(),{fs:e})}isAbsolute(e){return e.startsWith("/")}}t.PathScurryPosix=PathScurryPosix;class PathScurryDarwin extends PathScurryPosix{constructor(e=process.cwd(),t={}){const{nocase:A=true}=t;super(e,{...t,nocase:A})}}t.PathScurryDarwin=PathScurryDarwin;t.Path=process.platform==="win32"?PathWin32:PathPosix;t.PathScurry=process.platform==="win32"?PathScurryWin32:process.platform==="darwin"?PathScurryDarwin:PathScurryPosix},6091:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.LRUCache=void 0;const A=typeof performance==="object"&&performance&&typeof performance.now==="function"?performance:Date;const s=new Set;const i=typeof process==="object"&&!!process?process:{};const emitWarning=(e,t,A,s)=>{typeof i.emitWarning==="function"?i.emitWarning(e,t,A,s):console.error(`[${A}] ${t}: ${e}`)};let r=globalThis.AbortController;let a=globalThis.AbortSignal;if(typeof r==="undefined"){a=class AbortSignal{onabort;_onabort=[];reason;aborted=false;addEventListener(e,t){this._onabort.push(t)}};r=class AbortController{constructor(){warnACPolyfill()}signal=new a;abort(e){if(this.signal.aborted)return;this.signal.reason=e;this.signal.aborted=true;for(const t of this.signal._onabort){t(e)}this.signal.onabort?.(e)}};let e=i.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1";const warnACPolyfill=()=>{if(!e)return;e=false;emitWarning("AbortController is not defined. If using lru-cache in "+"node 14, load an AbortController polyfill from the "+"`node-abort-controller` package. A minimal polyfill is "+"provided for use by LRUCache.fetch(), but it should not be "+"relied upon in other contexts (eg, passing it to other APIs that "+"use AbortController/AbortSignal might have undesirable effects). "+"You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",warnACPolyfill)}}const shouldWarn=e=>!s.has(e);const o=Symbol("type");const isPosInt=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e);const getUintArray=e=>!isPosInt(e)?null:e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?ZeroArray:null;class ZeroArray extends Array{constructor(e){super(e);this.fill(0)}}class Stack{heap;length;static#Pe=false;static create(e){const t=getUintArray(e);if(!t)return[];Stack.#Pe=true;const A=new Stack(e,t);Stack.#Pe=false;return A}constructor(e,t){if(!Stack.#Pe){throw new TypeError("instantiate Stack using Stack.create(n)")}this.heap=new t(e);this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}}class LRUCache{#Oe;#He;#Ye;#Je;#qe;ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#te;#We;#je;#ze;#Ze;#Xe;#Ke;#$e;#et;#tt;#At;#st;#it;#rt;#at;#ot;#nt;static unsafeExposeInternals(e){return{starts:e.#it,ttls:e.#rt,sizes:e.#st,keyMap:e.#je,keyList:e.#ze,valList:e.#Ze,next:e.#Xe,prev:e.#Ke,get head(){return e.#$e},get tail(){return e.#et},free:e.#tt,isBackgroundFetch:t=>e.#pt(t),backgroundFetch:(t,A,s,i)=>e.#dt(t,A,s,i),moveToTail:t=>e.#lt(t),indexes:t=>e.#ct(t),rindexes:t=>e.#ut(t),isStale:t=>e.#ht(t)}}get max(){return this.#Oe}get maxSize(){return this.#He}get calculatedSize(){return this.#We}get size(){return this.#te}get fetchMethod(){return this.#qe}get dispose(){return this.#Ye}get disposeAfter(){return this.#Je}constructor(e){const{max:t=0,ttl:A,ttlResolution:i=1,ttlAutopurge:r,updateAgeOnGet:a,updateAgeOnHas:o,allowStale:n,dispose:p,disposeAfter:d,noDisposeOnSet:l,noUpdateTTL:c,maxSize:u=0,maxEntrySize:h=0,sizeCalculation:g,fetchMethod:E,noDeleteOnFetchRejection:C,noDeleteOnStaleGet:Q,allowStaleOnFetchRejection:B,allowStaleOnFetchAbort:I,ignoreFetchAbort:w}=e;if(t!==0&&!isPosInt(t)){throw new TypeError("max option must be a nonnegative integer")}const y=t?getUintArray(t):Array;if(!y){throw new Error("invalid max value: "+t)}this.#Oe=t;this.#He=u;this.maxEntrySize=h||this.#He;this.sizeCalculation=g;if(this.sizeCalculation){if(!this.#He&&!this.maxEntrySize){throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize")}if(typeof this.sizeCalculation!=="function"){throw new TypeError("sizeCalculation set to non-function")}}if(E!==undefined&&typeof E!=="function"){throw new TypeError("fetchMethod must be a function if specified")}this.#qe=E;this.#ot=!!E;this.#je=new Map;this.#ze=new Array(t).fill(undefined);this.#Ze=new Array(t).fill(undefined);this.#Xe=new y(t);this.#Ke=new y(t);this.#$e=0;this.#et=0;this.#tt=Stack.create(t);this.#te=0;this.#We=0;if(typeof p==="function"){this.#Ye=p}if(typeof d==="function"){this.#Je=d;this.#At=[]}else{this.#Je=undefined;this.#At=undefined}this.#at=!!this.#Ye;this.#nt=!!this.#Je;this.noDisposeOnSet=!!l;this.noUpdateTTL=!!c;this.noDeleteOnFetchRejection=!!C;this.allowStaleOnFetchRejection=!!B;this.allowStaleOnFetchAbort=!!I;this.ignoreFetchAbort=!!w;if(this.maxEntrySize!==0){if(this.#He!==0){if(!isPosInt(this.#He)){throw new TypeError("maxSize must be a positive integer if specified")}}if(!isPosInt(this.maxEntrySize)){throw new TypeError("maxEntrySize must be a positive integer if specified")}this.#gt()}this.allowStale=!!n;this.noDeleteOnStaleGet=!!Q;this.updateAgeOnGet=!!a;this.updateAgeOnHas=!!o;this.ttlResolution=isPosInt(i)||i===0?i:1;this.ttlAutopurge=!!r;this.ttl=A||0;if(this.ttl){if(!isPosInt(this.ttl)){throw new TypeError("ttl must be a positive integer if specified")}this.#mt()}if(this.#Oe===0&&this.ttl===0&&this.#He===0){throw new TypeError("At least one of max, maxSize, or ttl is required")}if(!this.ttlAutopurge&&!this.#Oe&&!this.#He){const e="LRU_CACHE_UNBOUNDED";if(shouldWarn(e)){s.add(e);const t="TTL caching without ttlAutopurge, max, or maxSize can "+"result in unbounded memory consumption.";emitWarning(t,"UnboundedCacheWarning",e,LRUCache)}}}getRemainingTTL(e){return this.#je.has(e)?Infinity:0}#mt(){const e=new ZeroArray(this.#Oe);const t=new ZeroArray(this.#Oe);this.#rt=e;this.#it=t;this.#Et=(s,i,r=A.now())=>{t[s]=i!==0?r:0;e[s]=i;if(i!==0&&this.ttlAutopurge){const e=setTimeout((()=>{if(this.#ht(s)){this.delete(this.#ze[s])}}),i+1);if(e.unref){e.unref()}}};this.#ft=s=>{t[s]=e[s]!==0?A.now():0};this.#Ct=(A,i)=>{if(e[i]){const r=e[i];const a=t[i];if(!r||!a)return;A.ttl=r;A.start=a;A.now=s||getNow();const o=A.now-a;A.remainingTTL=r-o}};let s=0;const getNow=()=>{const e=A.now();if(this.ttlResolution>0){s=e;const t=setTimeout((()=>s=0),this.ttlResolution);if(t.unref){t.unref()}}return e};this.getRemainingTTL=A=>{const i=this.#je.get(A);if(i===undefined){return 0}const r=e[i];const a=t[i];if(!r||!a){return Infinity}const o=(s||getNow())-a;return r-o};this.#ht=A=>{const i=t[A];const r=e[A];return!!r&&!!i&&(s||getNow())-i>r}}#ft=()=>{};#Ct=()=>{};#Et=()=>{};#ht=()=>false;#gt(){const e=new ZeroArray(this.#Oe);this.#We=0;this.#st=e;this.#Qt=t=>{this.#We-=e[t];e[t]=0};this.#Bt=(e,t,A,s)=>{if(this.#pt(t)){return 0}if(!isPosInt(A)){if(s){if(typeof s!=="function"){throw new TypeError("sizeCalculation must be a function")}A=s(t,e);if(!isPosInt(A)){throw new TypeError("sizeCalculation return invalid (expect positive integer)")}}else{throw new TypeError("invalid size value (must be positive integer). "+"When maxSize or maxEntrySize is used, sizeCalculation "+"or size must be set.")}}return A};this.#It=(t,A,s)=>{e[t]=A;if(this.#He){const A=this.#He-e[t];while(this.#We>A){this.#wt(true)}}this.#We+=e[t];if(s){s.entrySize=A;s.totalCalculatedSize=this.#We}}}#Qt=e=>{};#It=(e,t,A)=>{};#Bt=(e,t,A,s)=>{if(A||s){throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}return 0};*#ct({allowStale:e=this.allowStale}={}){if(this.#te){for(let t=this.#et;true;){if(!this.#yt(t)){break}if(e||!this.#ht(t)){yield t}if(t===this.#$e){break}else{t=this.#Ke[t]}}}}*#ut({allowStale:e=this.allowStale}={}){if(this.#te){for(let t=this.#$e;true;){if(!this.#yt(t)){break}if(e||!this.#ht(t)){yield t}if(t===this.#et){break}else{t=this.#Xe[t]}}}}#yt(e){return e!==undefined&&this.#je.get(this.#ze[e])===e}*entries(){for(const e of this.#ct()){if(this.#Ze[e]!==undefined&&this.#ze[e]!==undefined&&!this.#pt(this.#Ze[e])){yield[this.#ze[e],this.#Ze[e]]}}}*rentries(){for(const e of this.#ut()){if(this.#Ze[e]!==undefined&&this.#ze[e]!==undefined&&!this.#pt(this.#Ze[e])){yield[this.#ze[e],this.#Ze[e]]}}}*keys(){for(const e of this.#ct()){const t=this.#ze[e];if(t!==undefined&&!this.#pt(this.#Ze[e])){yield t}}}*rkeys(){for(const e of this.#ut()){const t=this.#ze[e];if(t!==undefined&&!this.#pt(this.#Ze[e])){yield t}}}*values(){for(const e of this.#ct()){const t=this.#Ze[e];if(t!==undefined&&!this.#pt(this.#Ze[e])){yield this.#Ze[e]}}}*rvalues(){for(const e of this.#ut()){const t=this.#Ze[e];if(t!==undefined&&!this.#pt(this.#Ze[e])){yield this.#Ze[e]}}}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(e,t={}){for(const A of this.#ct()){const s=this.#Ze[A];const i=this.#pt(s)?s.__staleWhileFetching:s;if(i===undefined)continue;if(e(i,this.#ze[A],this)){return this.get(this.#ze[A],t)}}}forEach(e,t=this){for(const A of this.#ct()){const s=this.#Ze[A];const i=this.#pt(s)?s.__staleWhileFetching:s;if(i===undefined)continue;e.call(t,i,this.#ze[A],this)}}rforEach(e,t=this){for(const A of this.#ut()){const s=this.#Ze[A];const i=this.#pt(s)?s.__staleWhileFetching:s;if(i===undefined)continue;e.call(t,i,this.#ze[A],this)}}purgeStale(){let e=false;for(const t of this.#ut({allowStale:true})){if(this.#ht(t)){this.delete(this.#ze[t]);e=true}}return e}info(e){const t=this.#je.get(e);if(t===undefined)return undefined;const s=this.#Ze[t];const i=this.#pt(s)?s.__staleWhileFetching:s;if(i===undefined)return undefined;const r={value:i};if(this.#rt&&this.#it){const e=this.#rt[t];const s=this.#it[t];if(e&&s){const t=e-(A.now()-s);r.ttl=t;r.start=Date.now()}}if(this.#st){r.size=this.#st[t]}return r}dump(){const e=[];for(const t of this.#ct({allowStale:true})){const s=this.#ze[t];const i=this.#Ze[t];const r=this.#pt(i)?i.__staleWhileFetching:i;if(r===undefined||s===undefined)continue;const a={value:r};if(this.#rt&&this.#it){a.ttl=this.#rt[t];const e=A.now()-this.#it[t];a.start=Math.floor(Date.now()-e)}if(this.#st){a.size=this.#st[t]}e.unshift([s,a])}return e}load(e){this.clear();for(const[t,s]of e){if(s.start){const e=Date.now()-s.start;s.start=A.now()-e}this.set(t,s.value,s)}}set(e,t,A={}){if(t===undefined){this.delete(e);return this}const{ttl:s=this.ttl,start:i,noDisposeOnSet:r=this.noDisposeOnSet,sizeCalculation:a=this.sizeCalculation,status:o}=A;let{noUpdateTTL:n=this.noUpdateTTL}=A;const p=this.#Bt(e,t,A.size||0,a);if(this.maxEntrySize&&p>this.maxEntrySize){if(o){o.set="miss";o.maxEntrySizeExceeded=true}this.delete(e);return this}let d=this.#te===0?undefined:this.#je.get(e);if(d===undefined){d=this.#te===0?this.#et:this.#tt.length!==0?this.#tt.pop():this.#te===this.#Oe?this.#wt(false):this.#te;this.#ze[d]=e;this.#Ze[d]=t;this.#je.set(e,d);this.#Xe[this.#et]=d;this.#Ke[d]=this.#et;this.#et=d;this.#te++;this.#It(d,p,o);if(o)o.set="add";n=false}else{this.#lt(d);const A=this.#Ze[d];if(t!==A){if(this.#ot&&this.#pt(A)){A.__abortController.abort(new Error("replaced"));const{__staleWhileFetching:t}=A;if(t!==undefined&&!r){if(this.#at){this.#Ye?.(t,e,"set")}if(this.#nt){this.#At?.push([t,e,"set"])}}}else if(!r){if(this.#at){this.#Ye?.(A,e,"set")}if(this.#nt){this.#At?.push([A,e,"set"])}}this.#Qt(d);this.#It(d,p,o);this.#Ze[d]=t;if(o){o.set="replace";const e=A&&this.#pt(A)?A.__staleWhileFetching:A;if(e!==undefined)o.oldValue=e}}else if(o){o.set="update"}}if(s!==0&&!this.#rt){this.#mt()}if(this.#rt){if(!n){this.#Et(d,s,i)}if(o)this.#Ct(o,d)}if(!r&&this.#nt&&this.#At){const e=this.#At;let t;while(t=e?.shift()){this.#Je?.(...t)}}return this}pop(){try{while(this.#te){const e=this.#Ze[this.#$e];this.#wt(true);if(this.#pt(e)){if(e.__staleWhileFetching){return e.__staleWhileFetching}}else if(e!==undefined){return e}}}finally{if(this.#nt&&this.#At){const e=this.#At;let t;while(t=e?.shift()){this.#Je?.(...t)}}}}#wt(e){const t=this.#$e;const A=this.#ze[t];const s=this.#Ze[t];if(this.#ot&&this.#pt(s)){s.__abortController.abort(new Error("evicted"))}else if(this.#at||this.#nt){if(this.#at){this.#Ye?.(s,A,"evict")}if(this.#nt){this.#At?.push([s,A,"evict"])}}this.#Qt(t);if(e){this.#ze[t]=undefined;this.#Ze[t]=undefined;this.#tt.push(t)}if(this.#te===1){this.#$e=this.#et=0;this.#tt.length=0}else{this.#$e=this.#Xe[t]}this.#je.delete(A);this.#te--;return t}has(e,t={}){const{updateAgeOnHas:A=this.updateAgeOnHas,status:s}=t;const i=this.#je.get(e);if(i!==undefined){const e=this.#Ze[i];if(this.#pt(e)&&e.__staleWhileFetching===undefined){return false}if(!this.#ht(i)){if(A){this.#ft(i)}if(s){s.has="hit";this.#Ct(s,i)}return true}else if(s){s.has="stale";this.#Ct(s,i)}}else if(s){s.has="miss"}return false}peek(e,t={}){const{allowStale:A=this.allowStale}=t;const s=this.#je.get(e);if(s===undefined||!A&&this.#ht(s)){return}const i=this.#Ze[s];return this.#pt(i)?i.__staleWhileFetching:i}#dt(e,t,A,s){const i=t===undefined?undefined:this.#Ze[t];if(this.#pt(i)){return i}const a=new r;const{signal:o}=A;o?.addEventListener("abort",(()=>a.abort(o.reason)),{signal:a.signal});const n={signal:a.signal,options:A,context:s};const cb=(s,i=false)=>{const{aborted:r}=a.signal;const o=A.ignoreFetchAbort&&s!==undefined;if(A.status){if(r&&!i){A.status.fetchAborted=true;A.status.fetchError=a.signal.reason;if(o)A.status.fetchAbortIgnored=true}else{A.status.fetchResolved=true}}if(r&&!o&&!i){return fetchFail(a.signal.reason)}const d=p;if(this.#Ze[t]===p){if(s===undefined){if(d.__staleWhileFetching){this.#Ze[t]=d.__staleWhileFetching}else{this.delete(e)}}else{if(A.status)A.status.fetchUpdated=true;this.set(e,s,n.options)}}return s};const eb=e=>{if(A.status){A.status.fetchRejected=true;A.status.fetchError=e}return fetchFail(e)};const fetchFail=s=>{const{aborted:i}=a.signal;const r=i&&A.allowStaleOnFetchAbort;const o=r||A.allowStaleOnFetchRejection;const n=o||A.noDeleteOnFetchRejection;const d=p;if(this.#Ze[t]===p){const A=!n||d.__staleWhileFetching===undefined;if(A){this.delete(e)}else if(!r){this.#Ze[t]=d.__staleWhileFetching}}if(o){if(A.status&&d.__staleWhileFetching!==undefined){A.status.returnedStale=true}return d.__staleWhileFetching}else if(d.__returned===d){throw s}};const pcall=(t,s)=>{const r=this.#qe?.(e,i,n);if(r&&r instanceof Promise){r.then((e=>t(e===undefined?undefined:e)),s)}a.signal.addEventListener("abort",(()=>{if(!A.ignoreFetchAbort||A.allowStaleOnFetchAbort){t(undefined);if(A.allowStaleOnFetchAbort){t=e=>cb(e,true)}}}))};if(A.status)A.status.fetchDispatched=true;const p=new Promise(pcall).then(cb,eb);const d=Object.assign(p,{__abortController:a,__staleWhileFetching:i,__returned:undefined});if(t===undefined){this.set(e,d,{...n.options,status:undefined});t=this.#je.get(e)}else{this.#Ze[t]=d}return d}#pt(e){if(!this.#ot)return false;const t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof r}async fetch(e,t={}){const{allowStale:A=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,ttl:r=this.ttl,noDisposeOnSet:a=this.noDisposeOnSet,size:o=0,sizeCalculation:n=this.sizeCalculation,noUpdateTTL:p=this.noUpdateTTL,noDeleteOnFetchRejection:d=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:l=this.allowStaleOnFetchRejection,ignoreFetchAbort:c=this.ignoreFetchAbort,allowStaleOnFetchAbort:u=this.allowStaleOnFetchAbort,context:h,forceRefresh:g=false,status:E,signal:C}=t;if(!this.#ot){if(E)E.fetch="get";return this.get(e,{allowStale:A,updateAgeOnGet:s,noDeleteOnStaleGet:i,status:E})}const Q={allowStale:A,updateAgeOnGet:s,noDeleteOnStaleGet:i,ttl:r,noDisposeOnSet:a,size:o,sizeCalculation:n,noUpdateTTL:p,noDeleteOnFetchRejection:d,allowStaleOnFetchRejection:l,allowStaleOnFetchAbort:u,ignoreFetchAbort:c,status:E,signal:C};let B=this.#je.get(e);if(B===undefined){if(E)E.fetch="miss";const t=this.#dt(e,B,Q,h);return t.__returned=t}else{const t=this.#Ze[B];if(this.#pt(t)){const e=A&&t.__staleWhileFetching!==undefined;if(E){E.fetch="inflight";if(e)E.returnedStale=true}return e?t.__staleWhileFetching:t.__returned=t}const i=this.#ht(B);if(!g&&!i){if(E)E.fetch="hit";this.#lt(B);if(s){this.#ft(B)}if(E)this.#Ct(E,B);return t}const r=this.#dt(e,B,Q,h);const a=r.__staleWhileFetching!==undefined;const o=a&&A;if(E){E.fetch=i?"stale":"refresh";if(o&&i)E.returnedStale=true}return o?r.__staleWhileFetching:r.__returned=r}}get(e,t={}){const{allowStale:A=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,status:r}=t;const a=this.#je.get(e);if(a!==undefined){const t=this.#Ze[a];const o=this.#pt(t);if(r)this.#Ct(r,a);if(this.#ht(a)){if(r)r.get="stale";if(!o){if(!i){this.delete(e)}if(r&&A)r.returnedStale=true;return A?t:undefined}else{if(r&&A&&t.__staleWhileFetching!==undefined){r.returnedStale=true}return A?t.__staleWhileFetching:undefined}}else{if(r)r.get="hit";if(o){return t.__staleWhileFetching}this.#lt(a);if(s){this.#ft(a)}return t}}else if(r){r.get="miss"}}#vt(e,t){this.#Ke[t]=e;this.#Xe[e]=t}#lt(e){if(e!==this.#et){if(e===this.#$e){this.#$e=this.#Xe[e]}else{this.#vt(this.#Ke[e],this.#Xe[e])}this.#vt(this.#et,e);this.#et=e}}delete(e){let t=false;if(this.#te!==0){const A=this.#je.get(e);if(A!==undefined){t=true;if(this.#te===1){this.clear()}else{this.#Qt(A);const t=this.#Ze[A];if(this.#pt(t)){t.__abortController.abort(new Error("deleted"))}else if(this.#at||this.#nt){if(this.#at){this.#Ye?.(t,e,"delete")}if(this.#nt){this.#At?.push([t,e,"delete"])}}this.#je.delete(e);this.#ze[A]=undefined;this.#Ze[A]=undefined;if(A===this.#et){this.#et=this.#Ke[A]}else if(A===this.#$e){this.#$e=this.#Xe[A]}else{const e=this.#Ke[A];this.#Xe[e]=this.#Xe[A];const t=this.#Xe[A];this.#Ke[t]=this.#Ke[A]}this.#te--;this.#tt.push(A)}}}if(this.#nt&&this.#At?.length){const e=this.#At;let t;while(t=e?.shift()){this.#Je?.(...t)}}return t}clear(){for(const e of this.#ut({allowStale:true})){const t=this.#Ze[e];if(this.#pt(t)){t.__abortController.abort(new Error("deleted"))}else{const A=this.#ze[e];if(this.#at){this.#Ye?.(t,A,"delete")}if(this.#nt){this.#At?.push([t,A,"delete"])}}}this.#je.clear();this.#Ze.fill(undefined);this.#ze.fill(undefined);if(this.#rt&&this.#it){this.#rt.fill(0);this.#it.fill(0)}if(this.#st){this.#st.fill(0)}this.#$e=0;this.#et=0;this.#tt.length=0;this.#We=0;this.#te=0;if(this.#nt&&this.#At){const e=this.#At;let t;while(t=e?.shift()){this.#Je?.(...t)}}}}t.LRUCache=LRUCache},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var t=__webpack_module_cache__[e];if(t!==undefined){return t.exports}var A=__webpack_module_cache__[e]={exports:{}};var s=true;try{__webpack_modules__[e].call(A.exports,A,A.exports,__nccwpck_require__);s=false}finally{if(s)delete __webpack_module_cache__[e]}return A.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(399);module.exports=__webpack_exports__})(); \ No newline at end of file +"use strict";var Nw=Object.create;var dp=Object.defineProperty;var Gw=Object.getOwnPropertyDescriptor;var Mw=Object.getOwnPropertyNames;var Lw=Object.getPrototypeOf,_w=Object.prototype.hasOwnProperty;var Q=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Yw=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Mw(t))!_w.call(e,i)&&i!==s&&dp(e,i,{get:()=>t[i],enumerable:!(r=Gw(t,i))||r.enumerable});return e};var de=(e,t,s)=>(s=e!=null?Nw(Lw(e)):{},Yw(t||!e||!e.__esModule?dp(s,"default",{value:e,enumerable:!0}):s,e));var yp=Q(Ks=>{"use strict";var s2=require("net"),Hw=require("tls"),eA=require("http"),Ip=require("https"),Vw=require("events"),r2=require("assert"),qw=require("util");Ks.httpOverHttp=Ww;Ks.httpsOverHttp=jw;Ks.httpOverHttps=zw;Ks.httpsOverHttps=Zw;function Ww(e){var t=new Rt(e);return t.request=eA.request,t}function jw(e){var t=new Rt(e);return t.request=eA.request,t.createSocket=wp,t.defaultPort=443,t}function zw(e){var t=new Rt(e);return t.request=Ip.request,t}function Zw(e){var t=new Rt(e);return t.request=Ip.request,t.createSocket=wp,t.defaultPort=443,t}function Rt(e){var t=this;t.options=e||{},t.proxyOptions=t.options.proxy||{},t.maxSockets=t.options.maxSockets||eA.Agent.defaultMaxSockets,t.requests=[],t.sockets=[],t.on("free",function(r,i,o,n){for(var a=bp(i,o,n),A=0,c=t.requests.length;A=this.maxSockets){o.requests.push(n);return}o.createSocket(n,function(a){a.on("free",A),a.on("close",c),a.on("agentRemove",c),t.onSocket(a);function A(){o.emit("free",a,n)}function c(u){o.removeSocket(a),a.removeListener("free",A),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};Rt.prototype.createSocket=function(t,s){var r=this,i={};r.sockets.push(i);var o=tA({},r.proxyOptions,{method:"CONNECT",path:t.host+":"+t.port,agent:!1,headers:{host:t.host+":"+t.port}});t.localAddress&&(o.localAddress=t.localAddress),o.proxyAuth&&(o.headers=o.headers||{},o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")),Zt("making CONNECT request");var n=r.request(o);n.useChunkedEncodingByDefault=!1,n.once("response",a),n.once("upgrade",A),n.once("connect",c),n.once("error",u),n.end();function a(l){l.upgrade=!0}function A(l,p,g){process.nextTick(function(){c(l,p,g)})}function c(l,p,g){if(n.removeAllListeners(),p.removeAllListeners(),l.statusCode!==200){Zt("tunneling socket could not be established, statusCode=%d",l.statusCode),p.destroy();var h=new Error("tunneling socket could not be established, statusCode="+l.statusCode);h.code="ECONNRESET",t.request.emit("error",h),r.removeSocket(i);return}if(g.length>0){Zt("got illegal response body from proxy"),p.destroy();var h=new Error("got illegal response body from proxy");h.code="ECONNRESET",t.request.emit("error",h),r.removeSocket(i);return}return Zt("tunneling connection has established"),r.sockets[r.sockets.indexOf(i)]=p,s(p)}function u(l){n.removeAllListeners(),Zt(`tunneling socket could not be established, cause=%s +`,l.message,l.stack);var p=new Error("tunneling socket could not be established, cause="+l.message);p.code="ECONNRESET",t.request.emit("error",p),r.removeSocket(i)}};Rt.prototype.removeSocket=function(t){var s=this.sockets.indexOf(t);if(s!==-1){this.sockets.splice(s,1);var r=this.requests.shift();r&&this.createSocket(r,function(i){r.request.onSocket(i)})}};function wp(e,t){var s=this;Rt.prototype.createSocket.call(s,e,function(r){var i=e.request.getHeader("host"),o=tA({},s.options,{socket:r,servername:i?i.replace(/:.*$/,""):e.host}),n=Hw.connect(0,o);s.sockets[s.sockets.indexOf(r)]=n,t(n)})}function bp(e,t,s){return typeof e=="string"?{host:e,port:t,localAddress:s}:e}function tA(e){for(var t=1,s=arguments.length;t{xp.exports=yp()});var j=Q((n2,vp)=>{vp.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent")}});var Y=Q((a2,Xp)=>{"use strict";var kp=Symbol.for("undici.error.UND_ERR"),z=class extends Error{constructor(t){super(t),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](t){return t&&t[kp]===!0}[kp]=!0},Dp=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),rA=class extends z{constructor(t){super(t),this.name="ConnectTimeoutError",this.message=t||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](t){return t&&t[Dp]===!0}[Dp]=!0},Rp=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),iA=class extends z{constructor(t){super(t),this.name="HeadersTimeoutError",this.message=t||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](t){return t&&t[Rp]===!0}[Rp]=!0},Tp=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),oA=class extends z{constructor(t){super(t),this.name="HeadersOverflowError",this.message=t||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](t){return t&&t[Tp]===!0}[Tp]=!0},Fp=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),nA=class extends z{constructor(t){super(t),this.name="BodyTimeoutError",this.message=t||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](t){return t&&t[Fp]===!0}[Fp]=!0},Sp=Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE"),aA=class extends z{constructor(t,s,r,i){super(t),this.name="ResponseStatusCodeError",this.message=t||"Response Status Code Error",this.code="UND_ERR_RESPONSE_STATUS_CODE",this.body=i,this.status=s,this.statusCode=s,this.headers=r}static[Symbol.hasInstance](t){return t&&t[Sp]===!0}[Sp]=!0},Up=Symbol.for("undici.error.UND_ERR_INVALID_ARG"),AA=class extends z{constructor(t){super(t),this.name="InvalidArgumentError",this.message=t||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}static[Symbol.hasInstance](t){return t&&t[Up]===!0}[Up]=!0},Np=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"),cA=class extends z{constructor(t){super(t),this.name="InvalidReturnValueError",this.message=t||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}static[Symbol.hasInstance](t){return t&&t[Np]===!0}[Np]=!0},Gp=Symbol.for("undici.error.UND_ERR_ABORT"),Io=class extends z{constructor(t){super(t),this.name="AbortError",this.message=t||"The operation was aborted",this.code="UND_ERR_ABORT"}static[Symbol.hasInstance](t){return t&&t[Gp]===!0}[Gp]=!0},Mp=Symbol.for("undici.error.UND_ERR_ABORTED"),lA=class extends Io{constructor(t){super(t),this.name="AbortError",this.message=t||"Request aborted",this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](t){return t&&t[Mp]===!0}[Mp]=!0},Lp=Symbol.for("undici.error.UND_ERR_INFO"),uA=class extends z{constructor(t){super(t),this.name="InformationalError",this.message=t||"Request information",this.code="UND_ERR_INFO"}static[Symbol.hasInstance](t){return t&&t[Lp]===!0}[Lp]=!0},_p=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"),pA=class extends z{constructor(t){super(t),this.name="RequestContentLengthMismatchError",this.message=t||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](t){return t&&t[_p]===!0}[_p]=!0},Yp=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"),gA=class extends z{constructor(t){super(t),this.name="ResponseContentLengthMismatchError",this.message=t||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](t){return t&&t[Yp]===!0}[Yp]=!0},Op=Symbol.for("undici.error.UND_ERR_DESTROYED"),hA=class extends z{constructor(t){super(t),this.name="ClientDestroyedError",this.message=t||"The client is destroyed",this.code="UND_ERR_DESTROYED"}static[Symbol.hasInstance](t){return t&&t[Op]===!0}[Op]=!0},Jp=Symbol.for("undici.error.UND_ERR_CLOSED"),dA=class extends z{constructor(t){super(t),this.name="ClientClosedError",this.message=t||"The client is closed",this.code="UND_ERR_CLOSED"}static[Symbol.hasInstance](t){return t&&t[Jp]===!0}[Jp]=!0},Pp=Symbol.for("undici.error.UND_ERR_SOCKET"),EA=class extends z{constructor(t,s){super(t),this.name="SocketError",this.message=t||"Socket error",this.code="UND_ERR_SOCKET",this.socket=s}static[Symbol.hasInstance](t){return t&&t[Pp]===!0}[Pp]=!0},Hp=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"),mA=class extends z{constructor(t){super(t),this.name="NotSupportedError",this.message=t||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}static[Symbol.hasInstance](t){return t&&t[Hp]===!0}[Hp]=!0},Vp=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"),fA=class extends z{constructor(t){super(t),this.name="MissingUpstreamError",this.message=t||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}static[Symbol.hasInstance](t){return t&&t[Vp]===!0}[Vp]=!0},qp=Symbol.for("undici.error.UND_ERR_HTTP_PARSER"),QA=class extends Error{constructor(t,s,r){super(t),this.name="HTTPParserError",this.code=s?`HPE_${s}`:void 0,this.data=r?r.toString():void 0}static[Symbol.hasInstance](t){return t&&t[qp]===!0}[qp]=!0},Wp=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"),BA=class extends z{constructor(t){super(t),this.name="ResponseExceededMaxSizeError",this.message=t||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}static[Symbol.hasInstance](t){return t&&t[Wp]===!0}[Wp]=!0},jp=Symbol.for("undici.error.UND_ERR_REQ_RETRY"),CA=class extends z{constructor(t,s,{headers:r,data:i}){super(t),this.name="RequestRetryError",this.message=t||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=s,this.data=i,this.headers=r}static[Symbol.hasInstance](t){return t&&t[jp]===!0}[jp]=!0},zp=Symbol.for("undici.error.UND_ERR_RESPONSE"),IA=class extends z{constructor(t,s,{headers:r,data:i}){super(t),this.name="ResponseError",this.message=t||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=s,this.data=i,this.headers=r}static[Symbol.hasInstance](t){return t&&t[zp]===!0}[zp]=!0},Zp=Symbol.for("undici.error.UND_ERR_PRX_TLS"),wA=class extends z{constructor(t,s,r){super(s,{cause:t,...r??{}}),this.name="SecureProxyConnectionError",this.message=s||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=t}static[Symbol.hasInstance](t){return t&&t[Zp]===!0}[Zp]=!0},Kp=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"),bA=class extends z{constructor(t){super(t),this.name="MessageSizeExceededError",this.message=t||"Max decompressed message size exceeded",this.code="UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"}static[Symbol.hasInstance](t){return t&&t[Kp]===!0}get[Kp](){return!0}};Xp.exports={AbortError:Io,HTTPParserError:QA,UndiciError:z,HeadersTimeoutError:iA,HeadersOverflowError:oA,BodyTimeoutError:nA,RequestContentLengthMismatchError:pA,ConnectTimeoutError:rA,ResponseStatusCodeError:aA,InvalidArgumentError:AA,InvalidReturnValueError:cA,RequestAbortedError:lA,ClientDestroyedError:hA,ClientClosedError:dA,InformationalError:uA,SocketError:EA,NotSupportedError:mA,ResponseContentLengthMismatchError:gA,BalancedPoolMissingUpstreamError:fA,ResponseExceededMaxSizeError:BA,RequestRetryError:CA,ResponseError:IA,SecureProxyConnectionError:wA,MessageSizeExceededError:bA}});var bo=Q((A2,$p)=>{"use strict";var wo={},yA=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"];for(let e=0;e{"use strict";var{wellknownHeaderNames:eg,headerNameLowerCasedRecord:Kw}=bo(),xA=class e{value=null;left=null;middle=null;right=null;code;constructor(t,s,r){if(r===void 0||r>=t.length)throw new TypeError("Unreachable");if((this.code=t.charCodeAt(r))>127)throw new TypeError("key must be ascii string");t.length!==++r?this.middle=new e(t,s,r):this.value=s}add(t,s){let r=t.length;if(r===0)throw new TypeError("Unreachable");let i=0,o=this;for(;;){let n=t.charCodeAt(i);if(n>127)throw new TypeError("key must be ascii string");if(o.code===n)if(r===++i){o.value=s;break}else if(o.middle!==null)o=o.middle;else{o.middle=new e(t,s,i);break}else if(o.code=65&&(o|=32);i!==null;){if(o===i.code){if(s===++r)return i;i=i.middle;break}i=i.code{"use strict";var ei=require("node:assert"),{kDestroyed:og,kBodyUsed:Xs,kListeners:vA,kBody:ig}=j(),{IncomingMessage:Xw}=require("node:http"),ko=require("node:stream"),$w=require("node:net"),{Blob:eb}=require("node:buffer"),tb=require("node:util"),{stringify:sb}=require("node:querystring"),{EventEmitter:rb}=require("node:events"),{InvalidArgumentError:ne}=Y(),{headerNameLowerCasedRecord:ib}=bo(),{tree:ng}=rg(),[ob,nb]=process.versions.node.split(".").map(e=>Number(e)),vo=class{constructor(t){this[ig]=t,this[Xs]=!1}async*[Symbol.asyncIterator](){ei(!this[Xs],"disturbed"),this[Xs]=!0,yield*this[ig]}};function ab(e){return Do(e)?(ug(e)===0&&e.on("data",function(){ei(!1)}),typeof e.readableDidRead!="boolean"&&(e[Xs]=!1,rb.prototype.on.call(e,"data",function(){this[Xs]=!0})),e):e&&typeof e.pipeTo=="function"?new vo(e):e&&typeof e!="string"&&!ArrayBuffer.isView(e)&&lg(e)?new vo(e):e}function Ab(){}function Do(e){return e&&typeof e=="object"&&typeof e.pipe=="function"&&typeof e.on=="function"}function ag(e){if(e===null)return!1;if(e instanceof eb)return!0;if(typeof e!="object")return!1;{let t=e[Symbol.toStringTag];return(t==="Blob"||t==="File")&&("stream"in e&&typeof e.stream=="function"||"arrayBuffer"in e&&typeof e.arrayBuffer=="function")}}function cb(e,t){if(e.includes("?")||e.includes("#"))throw new Error('Query params cannot be passed when url already contains "?" or "#".');let s=sb(t);return s&&(e+="?"+s),e}function Ag(e){let t=parseInt(e,10);return t===Number(e)&&t>=0&&t<=65535}function xo(e){return e!=null&&e[0]==="h"&&e[1]==="t"&&e[2]==="t"&&e[3]==="p"&&(e[4]===":"||e[4]==="s"&&e[5]===":")}function cg(e){if(typeof e=="string"){if(e=new URL(e),!xo(e.origin||e.protocol))throw new ne("Invalid URL protocol: the URL must start with `http:` or `https:`.");return e}if(!e||typeof e!="object")throw new ne("Invalid URL: The URL argument must be a non-null object.");if(!(e instanceof URL)){if(e.port!=null&&e.port!==""&&Ag(e.port)===!1)throw new ne("Invalid URL: port must be a valid integer or a string representation of an integer.");if(e.path!=null&&typeof e.path!="string")throw new ne("Invalid URL path: the path must be a string or null/undefined.");if(e.pathname!=null&&typeof e.pathname!="string")throw new ne("Invalid URL pathname: the pathname must be a string or null/undefined.");if(e.hostname!=null&&typeof e.hostname!="string")throw new ne("Invalid URL hostname: the hostname must be a string or null/undefined.");if(e.origin!=null&&typeof e.origin!="string")throw new ne("Invalid URL origin: the origin must be a string or null/undefined.");if(!xo(e.origin||e.protocol))throw new ne("Invalid URL protocol: the URL must start with `http:` or `https:`.");let t=e.port!=null?e.port:e.protocol==="https:"?443:80,s=e.origin!=null?e.origin:`${e.protocol||""}//${e.hostname||""}:${t}`,r=e.path!=null?e.path:`${e.pathname||""}${e.search||""}`;return s[s.length-1]==="/"&&(s=s.slice(0,s.length-1)),r&&r[0]!=="/"&&(r=`/${r}`),new URL(`${s}${r}`)}if(!xo(e.origin||e.protocol))throw new ne("Invalid URL protocol: the URL must start with `http:` or `https:`.");return e}function lb(e){if(e=cg(e),e.pathname!=="/"||e.search||e.hash)throw new ne("invalid url");return e}function ub(e){if(e[0]==="["){let s=e.indexOf("]");return ei(s!==-1),e.substring(1,s)}let t=e.indexOf(":");return t===-1?e:e.substring(0,t)}function pb(e){if(!e)return null;ei(typeof e=="string");let t=ub(e);return $w.isIP(t)?"":t}function gb(e){return JSON.parse(JSON.stringify(e))}function hb(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}function lg(e){return e!=null&&(typeof e[Symbol.iterator]=="function"||typeof e[Symbol.asyncIterator]=="function")}function ug(e){if(e==null)return 0;if(Do(e)){let t=e._readableState;return t&&t.objectMode===!1&&t.ended===!0&&Number.isFinite(t.length)?t.length:null}else{if(ag(e))return e.size!=null?e.size:null;if(hg(e))return e.byteLength}return null}function pg(e){return e&&!!(e.destroyed||e[og]||ko.isDestroyed?.(e))}function db(e,t){e==null||!Do(e)||pg(e)||(typeof e.destroy=="function"?(Object.getPrototypeOf(e).constructor===Xw&&(e.socket=null),e.destroy(t)):t&&queueMicrotask(()=>{e.emit("error",t)}),e.destroyed!==!0&&(e[og]=!0))}var Eb=/timeout=(\d+)/;function mb(e){let t=e.toString().match(Eb);return t?parseInt(t[1],10)*1e3:null}function gg(e){return typeof e=="string"?ib[e]??e.toLowerCase():ng.lookup(e)??e.toString("latin1").toLowerCase()}function fb(e){return ng.lookup(e)??e.toString("latin1").toLowerCase()}function Qb(e,t){t===void 0&&(t={});for(let s=0;sn.toString("utf8")):o.toString("utf8")}}return"content-length"in t&&"content-disposition"in t&&(t["content-disposition"]=Buffer.from(t["content-disposition"]).toString("latin1")),t}function Bb(e){let t=e.length,s=new Array(t),r=!1,i=-1,o,n,a=0;for(let A=0;A{s.close(),s.byobRequest?.respond(0)});else{let o=Buffer.isBuffer(i)?i:Buffer.from(i);o.byteLength&&s.enqueue(new Uint8Array(o))}return s.desiredSize>0},async cancel(s){await t.return()},type:"bytes"})}function vb(e){return e&&typeof e=="object"&&typeof e.append=="function"&&typeof e.delete=="function"&&typeof e.get=="function"&&typeof e.getAll=="function"&&typeof e.has=="function"&&typeof e.set=="function"&&e[Symbol.toStringTag]==="FormData"}function kb(e,t){return"addEventListener"in e?(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)):(e.addListener("abort",t),()=>e.removeListener("abort",t))}var Db=typeof String.prototype.toWellFormed=="function",Rb=typeof String.prototype.isWellFormed=="function";function dg(e){return Db?`${e}`.toWellFormed():tb.toUSVString(e)}function Tb(e){return Rb?`${e}`.isWellFormed():dg(e)===`${e}`}function Eg(e){switch(e){case 34:case 40:case 41:case 44:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 123:case 125:return!1;default:return e>=33&&e<=126}}function Fb(e){if(e.length===0)return!1;for(let t=0;t{"use strict";var J=require("node:diagnostics_channel"),RA=require("node:util"),Ro=RA.debuglog("undici"),DA=RA.debuglog("fetch"),Bs=RA.debuglog("websocket"),Bg=!1,_b={beforeConnect:J.channel("undici:client:beforeConnect"),connected:J.channel("undici:client:connected"),connectError:J.channel("undici:client:connectError"),sendHeaders:J.channel("undici:client:sendHeaders"),create:J.channel("undici:request:create"),bodySent:J.channel("undici:request:bodySent"),headers:J.channel("undici:request:headers"),trailers:J.channel("undici:request:trailers"),error:J.channel("undici:request:error"),open:J.channel("undici:websocket:open"),close:J.channel("undici:websocket:close"),socketError:J.channel("undici:websocket:socket_error"),ping:J.channel("undici:websocket:ping"),pong:J.channel("undici:websocket:pong")};if(Ro.enabled||DA.enabled){let e=DA.enabled?DA:Ro;J.channel("undici:client:beforeConnect").subscribe(t=>{let{connectParams:{version:s,protocol:r,port:i,host:o}}=t;e("connecting to %s using %s%s",`${o}${i?`:${i}`:""}`,r,s)}),J.channel("undici:client:connected").subscribe(t=>{let{connectParams:{version:s,protocol:r,port:i,host:o}}=t;e("connected to %s using %s%s",`${o}${i?`:${i}`:""}`,r,s)}),J.channel("undici:client:connectError").subscribe(t=>{let{connectParams:{version:s,protocol:r,port:i,host:o},error:n}=t;e("connection to %s using %s%s errored - %s",`${o}${i?`:${i}`:""}`,r,s,n.message)}),J.channel("undici:client:sendHeaders").subscribe(t=>{let{request:{method:s,path:r,origin:i}}=t;e("sending request to %s %s/%s",s,i,r)}),J.channel("undici:request:headers").subscribe(t=>{let{request:{method:s,path:r,origin:i},response:{statusCode:o}}=t;e("received response to %s %s/%s - HTTP %d",s,i,r,o)}),J.channel("undici:request:trailers").subscribe(t=>{let{request:{method:s,path:r,origin:i}}=t;e("trailers received from %s %s/%s",s,i,r)}),J.channel("undici:request:error").subscribe(t=>{let{request:{method:s,path:r,origin:i},error:o}=t;e("request to %s %s/%s errored - %s",s,i,r,o.message)}),Bg=!0}if(Bs.enabled){if(!Bg){let e=Ro.enabled?Ro:Bs;J.channel("undici:client:beforeConnect").subscribe(t=>{let{connectParams:{version:s,protocol:r,port:i,host:o}}=t;e("connecting to %s%s using %s%s",o,i?`:${i}`:"",r,s)}),J.channel("undici:client:connected").subscribe(t=>{let{connectParams:{version:s,protocol:r,port:i,host:o}}=t;e("connected to %s%s using %s%s",o,i?`:${i}`:"",r,s)}),J.channel("undici:client:connectError").subscribe(t=>{let{connectParams:{version:s,protocol:r,port:i,host:o},error:n}=t;e("connection to %s%s using %s%s errored - %s",o,i?`:${i}`:"",r,s,n.message)}),J.channel("undici:client:sendHeaders").subscribe(t=>{let{request:{method:s,path:r,origin:i}}=t;e("sending request to %s %s/%s",s,i,r)})}J.channel("undici:websocket:open").subscribe(e=>{let{address:{address:t,port:s}}=e;Bs("connection opened %s%s",t,s?`:${s}`:"")}),J.channel("undici:websocket:close").subscribe(e=>{let{websocket:t,code:s,reason:r}=e;Bs("closed connection to %s - %s %s",t.url,s,r)}),J.channel("undici:websocket:socket_error").subscribe(e=>{Bs("connection errored - %s",e.message)}),J.channel("undici:websocket:ping").subscribe(e=>{Bs("ping received")}),J.channel("undici:websocket:pong").subscribe(e=>{Bs("pong received")})}Cg.exports={channels:_b}});var yg=Q((p2,bg)=>{"use strict";var{InvalidArgumentError:V,NotSupportedError:Yb}=Y(),Tt=require("node:assert"),{isValidHTTPToken:wg,isValidHeaderValue:TA,isStream:Ob,destroy:Jb,isBuffer:Pb,isFormDataLike:Hb,isIterable:Vb,isBlobLike:qb,buildURL:Wb,validateHandler:jb,getServerName:zb,normalizedMethodRecords:Zb}=N(),{channels:dt}=$s(),{headerNameLowerCasedRecord:Ig}=bo(),Kb=/[^\u0021-\u00ff]/,Ve=Symbol("handler"),FA=class{constructor(t,{path:s,method:r,body:i,headers:o,query:n,idempotent:a,blocking:A,upgrade:c,headersTimeout:u,bodyTimeout:l,reset:p,throwOnError:g,expectContinue:h,servername:E},f){if(typeof s!="string")throw new V("path must be a string");if(s[0]!=="/"&&!(s.startsWith("http://")||s.startsWith("https://"))&&r!=="CONNECT")throw new V("path must be an absolute URL or start with a slash");if(Kb.test(s))throw new V("invalid request path");if(typeof r!="string")throw new V("method must be a string");if(Zb[r]===void 0&&!wg(r))throw new V("invalid request method");if(c&&typeof c!="string")throw new V("upgrade must be a string");if(c&&!TA(c))throw new V("invalid upgrade header");if(u!=null&&(!Number.isFinite(u)||u<0))throw new V("invalid headersTimeout");if(l!=null&&(!Number.isFinite(l)||l<0))throw new V("invalid bodyTimeout");if(p!=null&&typeof p!="boolean")throw new V("invalid reset");if(h!=null&&typeof h!="boolean")throw new V("invalid expectContinue");if(this.headersTimeout=u,this.bodyTimeout=l,this.throwOnError=g===!0,this.method=r,this.abort=null,i==null)this.body=null;else if(Ob(i)){this.body=i;let d=this.body._readableState;(!d||!d.autoDestroy)&&(this.endHandler=function(){Jb(this)},this.body.on("end",this.endHandler)),this.errorHandler=m=>{this.abort?this.abort(m):this.error=m},this.body.on("error",this.errorHandler)}else if(Pb(i))this.body=i.byteLength?i:null;else if(ArrayBuffer.isView(i))this.body=i.buffer.byteLength?Buffer.from(i.buffer,i.byteOffset,i.byteLength):null;else if(i instanceof ArrayBuffer)this.body=i.byteLength?Buffer.from(i):null;else if(typeof i=="string")this.body=i.length?Buffer.from(i):null;else if(Hb(i)||Vb(i)||qb(i))this.body=i;else throw new V("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=c||null,this.path=n?Wb(s,n):s,this.origin=t,this.idempotent=a??(r==="HEAD"||r==="GET"),this.blocking=A??!1,this.reset=p??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=h??!1,Array.isArray(o)){if(o.length%2!==0)throw new V("headers array must be even");for(let d=0;d{"use strict";var Xb=require("node:events"),Fo=class extends Xb{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...t){let s=Array.isArray(t[0])?t[0]:t,r=this.dispatch.bind(this);for(let i of s)if(i!=null){if(typeof i!="function")throw new TypeError(`invalid interceptor, expected function received ${typeof i}`);if(r=i(r),r==null||typeof r!="function"||r.length!==2)throw new TypeError("invalid interceptor")}return new SA(this,r)}},SA=class extends Fo{#e=null;#t=null;constructor(t,s){super(),this.#e=t,this.#t=s}dispatch(...t){this.#t(...t)}close(...t){return this.#e.close(...t)}destroy(...t){return this.#e.destroy(...t)}};xg.exports=Fo});var rr=Q((h2,vg)=>{"use strict";var $b=ti(),{ClientDestroyedError:UA,ClientClosedError:ey,InvalidArgumentError:er}=Y(),{kDestroy:ty,kClose:sy,kClosed:si,kDestroyed:tr,kDispatch:NA,kInterceptors:Cs}=j(),Ft=Symbol("onDestroyed"),sr=Symbol("onClosed"),So=Symbol("Intercepted Dispatch"),GA=class extends $b{constructor(){super(),this[tr]=!1,this[Ft]=null,this[si]=!1,this[sr]=[]}get destroyed(){return this[tr]}get closed(){return this[si]}get interceptors(){return this[Cs]}set interceptors(t){if(t){for(let s=t.length-1;s>=0;s--)if(typeof this[Cs][s]!="function")throw new er("interceptor must be an function")}this[Cs]=t}close(t){if(t===void 0)return new Promise((r,i)=>{this.close((o,n)=>o?i(o):r(n))});if(typeof t!="function")throw new er("invalid callback");if(this[tr]){queueMicrotask(()=>t(new UA,null));return}if(this[si]){this[sr]?this[sr].push(t):queueMicrotask(()=>t(null,null));return}this[si]=!0,this[sr].push(t);let s=()=>{let r=this[sr];this[sr]=null;for(let i=0;ithis.destroy()).then(()=>{queueMicrotask(s)})}destroy(t,s){if(typeof t=="function"&&(s=t,t=null),s===void 0)return new Promise((i,o)=>{this.destroy(t,(n,a)=>n?o(n):i(a))});if(typeof s!="function")throw new er("invalid callback");if(this[tr]){this[Ft]?this[Ft].push(s):queueMicrotask(()=>s(null,null));return}t||(t=new UA),this[tr]=!0,this[Ft]=this[Ft]||[],this[Ft].push(s);let r=()=>{let i=this[Ft];this[Ft]=null;for(let o=0;o{queueMicrotask(r)})}[So](t,s){if(!this[Cs]||this[Cs].length===0)return this[So]=this[NA],this[NA](t,s);let r=this[NA].bind(this);for(let i=this[Cs].length-1;i>=0;i--)r=this[Cs][i](r);return this[So]=r,r(t,s)}dispatch(t,s){if(!s||typeof s!="object")throw new er("handler must be an object");try{if(!t||typeof t!="object")throw new er("opts must be an object.");if(this[tr]||this[Ft])throw new UA;if(this[si])throw new ey;return this[So](t,s)}catch(r){if(typeof s.onError!="function")throw new er("invalid onError method");return s.onError(r),!1}}};vg.exports=GA});var PA=Q((d2,Tg)=>{"use strict";var ir=0,MA=1e3,LA=(MA>>1)-1,St,_A=Symbol("kFastTimer"),Ut=[],YA=-2,OA=-1,Dg=0,kg=1;function JA(){ir+=LA;let e=0,t=Ut.length;for(;e=s._idleStart+s._idleTimeout&&(s._state=OA,s._idleStart=-1,s._onTimeout(s._timerArg)),s._state===OA?(s._state=YA,--t!==0&&(Ut[e]=Ut[t])):++e}Ut.length=t,Ut.length!==0&&Rg()}function Rg(){St?St.refresh():(clearTimeout(St),St=setTimeout(JA,LA),St.unref&&St.unref())}var Uo=class{[_A]=!0;_state=YA;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(t,s,r){this._onTimeout=t,this._idleTimeout=s,this._timerArg=r,this.refresh()}refresh(){this._state===YA&&Ut.push(this),(!St||Ut.length===1)&&Rg(),this._state=Dg}clear(){this._state=OA,this._idleStart=-1}};Tg.exports={setTimeout(e,t,s){return t<=MA?setTimeout(e,t,s):new Uo(e,t,s)},clearTimeout(e){e[_A]?e.clear():clearTimeout(e)},setFastTimeout(e,t,s){return new Uo(e,t,s)},clearFastTimeout(e){e.clear()},now(){return ir},tick(e=0){ir+=e-MA+1,JA(),JA()},reset(){ir=0,Ut.length=0,clearTimeout(St),St=null},kFastTimer:_A}});var ri=Q((f2,Gg)=>{"use strict";var ry=require("node:net"),Fg=require("node:assert"),Ng=N(),{InvalidArgumentError:iy,ConnectTimeoutError:oy}=Y(),No=PA();function Sg(){}var HA,VA;global.FinalizationRegistry&&!(process.env.NODE_V8_COVERAGE||process.env.UNDICI_NO_FG)?VA=class{constructor(t){this._maxCachedSessions=t,this._sessionCache=new Map,this._sessionRegistry=new global.FinalizationRegistry(s=>{if(this._sessionCache.size=this._maxCachedSessions){let{value:r}=this._sessionCache.keys().next();this._sessionCache.delete(r)}this._sessionCache.set(t,s)}}};function ny({allowH2:e,maxCachedSessions:t,socketPath:s,timeout:r,session:i,...o}){if(t!=null&&(!Number.isInteger(t)||t<0))throw new iy("maxCachedSessions must be a positive integer or zero");let n={path:s,...o},a=new VA(t??100);return r=r??1e4,e=e??!1,function({hostname:c,host:u,protocol:l,port:p,servername:g,localAddress:h,httpSocket:E},f){let d;if(l==="https:"){HA||(HA=require("node:tls")),g=g||n.servername||Ng.getServerName(u)||null;let C=g||c;Fg(C);let B=i||a.get(C)||null;p=p||443,d=HA.connect({highWaterMark:16384,...n,servername:g,session:B,localAddress:h,ALPNProtocols:e?["http/1.1","h2"]:["http/1.1"],socket:E,port:p,host:c}),d.on("session",function(b){a.set(C,b)})}else Fg(!E,"httpSocket can only be sent on TLS update"),p=p||80,d=ry.connect({highWaterMark:64*1024,...n,localAddress:h,port:p,host:c});if(n.keepAlive==null||n.keepAlive){let C=n.keepAliveInitialDelay===void 0?6e4:n.keepAliveInitialDelay;d.setKeepAlive(!0,C)}let m=ay(new WeakRef(d),{timeout:r,hostname:c,port:p});return d.setNoDelay(!0).once(l==="https:"?"secureConnect":"connect",function(){if(queueMicrotask(m),f){let C=f;f=null,C(null,this)}}).on("error",function(C){if(queueMicrotask(m),f){let B=f;f=null,B(C)}}),d}}var ay=process.platform==="win32"?(e,t)=>{if(!t.timeout)return Sg;let s=null,r=null,i=No.setFastTimeout(()=>{s=setImmediate(()=>{r=setImmediate(()=>Ug(e.deref(),t))})},t.timeout);return()=>{No.clearFastTimeout(i),clearImmediate(s),clearImmediate(r)}}:(e,t)=>{if(!t.timeout)return Sg;let s=null,r=No.setFastTimeout(()=>{s=setImmediate(()=>{Ug(e.deref(),t)})},t.timeout);return()=>{No.clearFastTimeout(r),clearImmediate(s)}};function Ug(e,t){if(e==null)return;let s="Connect Timeout Error";Array.isArray(e.autoSelectFamilyAttemptedAddresses)?s+=` (attempted addresses: ${e.autoSelectFamilyAttemptedAddresses.join(", ")},`:s+=` (attempted address: ${t.hostname}:${t.port},`,s+=` timeout: ${t.timeout}ms)`,Ng.destroy(e,new oy(s))}Gg.exports=ny});var Mg=Q(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.enumToMap=void 0;function Ay(e){let t={};return Object.keys(e).forEach(s=>{let r=e[s];typeof r=="number"&&(t[s]=r)}),t}Go.enumToMap=Ay});var Lg=Q(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.SPECIAL_HEADERS=w.HEADER_STATE=w.MINOR=w.MAJOR=w.CONNECTION_TOKEN_CHARS=w.HEADER_CHARS=w.TOKEN=w.STRICT_TOKEN=w.HEX=w.URL_CHAR=w.STRICT_URL_CHAR=w.USERINFO_CHARS=w.MARK=w.ALPHANUM=w.NUM=w.HEX_MAP=w.NUM_MAP=w.ALPHA=w.FINISH=w.H_METHOD_MAP=w.METHOD_MAP=w.METHODS_RTSP=w.METHODS_ICE=w.METHODS_HTTP=w.METHODS=w.LENIENT_FLAGS=w.FLAGS=w.TYPE=w.ERROR=void 0;var cy=Mg(),ly;(function(e){e[e.OK=0]="OK",e[e.INTERNAL=1]="INTERNAL",e[e.STRICT=2]="STRICT",e[e.LF_EXPECTED=3]="LF_EXPECTED",e[e.UNEXPECTED_CONTENT_LENGTH=4]="UNEXPECTED_CONTENT_LENGTH",e[e.CLOSED_CONNECTION=5]="CLOSED_CONNECTION",e[e.INVALID_METHOD=6]="INVALID_METHOD",e[e.INVALID_URL=7]="INVALID_URL",e[e.INVALID_CONSTANT=8]="INVALID_CONSTANT",e[e.INVALID_VERSION=9]="INVALID_VERSION",e[e.INVALID_HEADER_TOKEN=10]="INVALID_HEADER_TOKEN",e[e.INVALID_CONTENT_LENGTH=11]="INVALID_CONTENT_LENGTH",e[e.INVALID_CHUNK_SIZE=12]="INVALID_CHUNK_SIZE",e[e.INVALID_STATUS=13]="INVALID_STATUS",e[e.INVALID_EOF_STATE=14]="INVALID_EOF_STATE",e[e.INVALID_TRANSFER_ENCODING=15]="INVALID_TRANSFER_ENCODING",e[e.CB_MESSAGE_BEGIN=16]="CB_MESSAGE_BEGIN",e[e.CB_HEADERS_COMPLETE=17]="CB_HEADERS_COMPLETE",e[e.CB_MESSAGE_COMPLETE=18]="CB_MESSAGE_COMPLETE",e[e.CB_CHUNK_HEADER=19]="CB_CHUNK_HEADER",e[e.CB_CHUNK_COMPLETE=20]="CB_CHUNK_COMPLETE",e[e.PAUSED=21]="PAUSED",e[e.PAUSED_UPGRADE=22]="PAUSED_UPGRADE",e[e.PAUSED_H2_UPGRADE=23]="PAUSED_H2_UPGRADE",e[e.USER=24]="USER"})(ly=w.ERROR||(w.ERROR={}));var uy;(function(e){e[e.BOTH=0]="BOTH",e[e.REQUEST=1]="REQUEST",e[e.RESPONSE=2]="RESPONSE"})(uy=w.TYPE||(w.TYPE={}));var py;(function(e){e[e.CONNECTION_KEEP_ALIVE=1]="CONNECTION_KEEP_ALIVE",e[e.CONNECTION_CLOSE=2]="CONNECTION_CLOSE",e[e.CONNECTION_UPGRADE=4]="CONNECTION_UPGRADE",e[e.CHUNKED=8]="CHUNKED",e[e.UPGRADE=16]="UPGRADE",e[e.CONTENT_LENGTH=32]="CONTENT_LENGTH",e[e.SKIPBODY=64]="SKIPBODY",e[e.TRAILING=128]="TRAILING",e[e.TRANSFER_ENCODING=512]="TRANSFER_ENCODING"})(py=w.FLAGS||(w.FLAGS={}));var gy;(function(e){e[e.HEADERS=1]="HEADERS",e[e.CHUNKED_LENGTH=2]="CHUNKED_LENGTH",e[e.KEEP_ALIVE=4]="KEEP_ALIVE"})(gy=w.LENIENT_FLAGS||(w.LENIENT_FLAGS={}));var v;(function(e){e[e.DELETE=0]="DELETE",e[e.GET=1]="GET",e[e.HEAD=2]="HEAD",e[e.POST=3]="POST",e[e.PUT=4]="PUT",e[e.CONNECT=5]="CONNECT",e[e.OPTIONS=6]="OPTIONS",e[e.TRACE=7]="TRACE",e[e.COPY=8]="COPY",e[e.LOCK=9]="LOCK",e[e.MKCOL=10]="MKCOL",e[e.MOVE=11]="MOVE",e[e.PROPFIND=12]="PROPFIND",e[e.PROPPATCH=13]="PROPPATCH",e[e.SEARCH=14]="SEARCH",e[e.UNLOCK=15]="UNLOCK",e[e.BIND=16]="BIND",e[e.REBIND=17]="REBIND",e[e.UNBIND=18]="UNBIND",e[e.ACL=19]="ACL",e[e.REPORT=20]="REPORT",e[e.MKACTIVITY=21]="MKACTIVITY",e[e.CHECKOUT=22]="CHECKOUT",e[e.MERGE=23]="MERGE",e[e["M-SEARCH"]=24]="M-SEARCH",e[e.NOTIFY=25]="NOTIFY",e[e.SUBSCRIBE=26]="SUBSCRIBE",e[e.UNSUBSCRIBE=27]="UNSUBSCRIBE",e[e.PATCH=28]="PATCH",e[e.PURGE=29]="PURGE",e[e.MKCALENDAR=30]="MKCALENDAR",e[e.LINK=31]="LINK",e[e.UNLINK=32]="UNLINK",e[e.SOURCE=33]="SOURCE",e[e.PRI=34]="PRI",e[e.DESCRIBE=35]="DESCRIBE",e[e.ANNOUNCE=36]="ANNOUNCE",e[e.SETUP=37]="SETUP",e[e.PLAY=38]="PLAY",e[e.PAUSE=39]="PAUSE",e[e.TEARDOWN=40]="TEARDOWN",e[e.GET_PARAMETER=41]="GET_PARAMETER",e[e.SET_PARAMETER=42]="SET_PARAMETER",e[e.REDIRECT=43]="REDIRECT",e[e.RECORD=44]="RECORD",e[e.FLUSH=45]="FLUSH"})(v=w.METHODS||(w.METHODS={}));w.METHODS_HTTP=[v.DELETE,v.GET,v.HEAD,v.POST,v.PUT,v.CONNECT,v.OPTIONS,v.TRACE,v.COPY,v.LOCK,v.MKCOL,v.MOVE,v.PROPFIND,v.PROPPATCH,v.SEARCH,v.UNLOCK,v.BIND,v.REBIND,v.UNBIND,v.ACL,v.REPORT,v.MKACTIVITY,v.CHECKOUT,v.MERGE,v["M-SEARCH"],v.NOTIFY,v.SUBSCRIBE,v.UNSUBSCRIBE,v.PATCH,v.PURGE,v.MKCALENDAR,v.LINK,v.UNLINK,v.PRI,v.SOURCE];w.METHODS_ICE=[v.SOURCE];w.METHODS_RTSP=[v.OPTIONS,v.DESCRIBE,v.ANNOUNCE,v.SETUP,v.PLAY,v.PAUSE,v.TEARDOWN,v.GET_PARAMETER,v.SET_PARAMETER,v.REDIRECT,v.RECORD,v.FLUSH,v.GET,v.POST];w.METHOD_MAP=cy.enumToMap(v);w.H_METHOD_MAP={};Object.keys(w.METHOD_MAP).forEach(e=>{/^H/.test(e)&&(w.H_METHOD_MAP[e]=w.METHOD_MAP[e])});var hy;(function(e){e[e.SAFE=0]="SAFE",e[e.SAFE_WITH_CB=1]="SAFE_WITH_CB",e[e.UNSAFE=2]="UNSAFE"})(hy=w.FINISH||(w.FINISH={}));w.ALPHA=[];for(let e=65;e<=90;e++)w.ALPHA.push(String.fromCharCode(e)),w.ALPHA.push(String.fromCharCode(e+32));w.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};w.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};w.NUM=["0","1","2","3","4","5","6","7","8","9"];w.ALPHANUM=w.ALPHA.concat(w.NUM);w.MARK=["-","_",".","!","~","*","'","(",")"];w.USERINFO_CHARS=w.ALPHANUM.concat(w.MARK).concat(["%",";",":","&","=","+","$",","]);w.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(w.ALPHANUM);w.URL_CHAR=w.STRICT_URL_CHAR.concat([" ","\f"]);for(let e=128;e<=255;e++)w.URL_CHAR.push(e);w.HEX=w.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);w.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(w.ALPHANUM);w.TOKEN=w.STRICT_TOKEN.concat([" "]);w.HEADER_CHARS=[" "];for(let e=32;e<=255;e++)e!==127&&w.HEADER_CHARS.push(e);w.CONNECTION_TOKEN_CHARS=w.HEADER_CHARS.filter(e=>e!==44);w.MAJOR=w.NUM_MAP;w.MINOR=w.MAJOR;var or;(function(e){e[e.GENERAL=0]="GENERAL",e[e.CONNECTION=1]="CONNECTION",e[e.CONTENT_LENGTH=2]="CONTENT_LENGTH",e[e.TRANSFER_ENCODING=3]="TRANSFER_ENCODING",e[e.UPGRADE=4]="UPGRADE",e[e.CONNECTION_KEEP_ALIVE=5]="CONNECTION_KEEP_ALIVE",e[e.CONNECTION_CLOSE=6]="CONNECTION_CLOSE",e[e.CONNECTION_UPGRADE=7]="CONNECTION_UPGRADE",e[e.TRANSFER_ENCODING_CHUNKED=8]="TRANSFER_ENCODING_CHUNKED"})(or=w.HEADER_STATE||(w.HEADER_STATE={}));w.SPECIAL_HEADERS={connection:or.CONNECTION,"content-length":or.CONTENT_LENGTH,"proxy-connection":or.CONNECTION,"transfer-encoding":or.TRANSFER_ENCODING,upgrade:or.UPGRADE}});var qA=Q((C2,_g)=>{"use strict";var{Buffer:dy}=require("node:buffer");_g.exports=dy.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB9ysPC0GQMQ8LQdcxDwtBoi0PC0HUJw8LQeArDwtBnywPC0HrMQ8LQdUfDwtByjEPC0HeJQ8LQdQeDwtB9BwPC0GnMg8LQbEdDwtBoB0PC0G5MQ8LQbwwDwtBkiEPC0GzJg8LQeksDwtBrB4PC0HUKw8LQfcmDwtBgCYPC0GwIQ8LQf4eDwtBjSMPC0GJLQ8LQfciDwtBoDEPC0GuHw8LQcYlDwtB6B4PC0GTIg8LQcIvDwtBwx0PC0GLLA8LQeEdDwtBjS8PC0HqIQ8LQbQtDwtB0i8PC0HfMg8LQdIyDwtB8DAPC0GpIg8LQfkjDwtBmR4PC0G1LA8LQZswDwtBkjIPC0G2Kw8LQcIiDwtB+DIPC0GeJQ8LQdAiDwtBuh4PC0GBHg8LAAtB1iEhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCz4BAn8CQCAAKAI4IgNFDQAgAygCBCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBxhE2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCCCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB9go2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCDCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB7Ro2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCECIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBlRA2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCFCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBqhs2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCGCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB7RM2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCKCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB9gg2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCHCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBwhk2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCICIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBlBQ2AhBBGCEECyAEC1kBAn8CQCAALQAoQQFGDQAgAC8BMiIBQeQAa0HkAEkNACABQcwBRg0AIAFBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhAiAAQYgEcUGABEYNACAAQShxRSECCyACC4wBAQJ/AkACQAJAIAAtACpFDQAgAC0AK0UNACAALwEwIgFBAnFFDQEMAgsgAC8BMCIBQQFxRQ0BC0EBIQIgAC0AKEEBRg0AIAAvATIiAEHkAGtB5ABJDQAgAEHMAUYNACAAQbACRg0AIAFBwABxDQBBACECIAFBiARxQYAERg0AIAFBKHFBAEchAgsgAgtXACAAQRhqQgA3AwAgAEIANwMAIABBOGpCADcDACAAQTBqQgA3AwAgAEEoakIANwMAIABBIGpCADcDACAAQRBqQgA3AwAgAEEIakIANwMAIABB3QE2AhwLBgAgABAyC5otAQt/IwBBEGsiCiQAQaTQACgCACIJRQRAQeTTACgCACIFRQRAQfDTAEJ/NwIAQejTAEKAgISAgIDAADcCAEHk0wAgCkEIakFwcUHYqtWqBXMiBTYCAEH40wBBADYCAEHI0wBBADYCAAtBzNMAQYDUBDYCAEGc0ABBgNQENgIAQbDQACAFNgIAQazQAEF/NgIAQdDTAEGArAM2AgADQCABQcjQAGogAUG80ABqIgI2AgAgAiABQbTQAGoiAzYCACABQcDQAGogAzYCACABQdDQAGogAUHE0ABqIgM2AgAgAyACNgIAIAFB2NAAaiABQczQAGoiAjYCACACIAM2AgAgAUHU0ABqIAI2AgAgAUEgaiIBQYACRw0AC0GM1ARBwasDNgIAQajQAEH00wAoAgA2AgBBmNAAQcCrAzYCAEGk0ABBiNQENgIAQcz/B0E4NgIAQYjUBCEJCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB7AFNBEBBjNAAKAIAIgZBECAAQRNqQXBxIABBC0kbIgRBA3YiAHYiAUEDcQRAAkAgAUEBcSAAckEBcyICQQN0IgBBtNAAaiIBIABBvNAAaigCACIAKAIIIgNGBEBBjNAAIAZBfiACd3E2AgAMAQsgASADNgIIIAMgATYCDAsgAEEIaiEBIAAgAkEDdCICQQNyNgIEIAAgAmoiACAAKAIEQQFyNgIEDBELQZTQACgCACIIIARPDQEgAQRAAkBBAiAAdCICQQAgAmtyIAEgAHRxaCIAQQN0IgJBtNAAaiIBIAJBvNAAaigCACICKAIIIgNGBEBBjNAAIAZBfiAAd3EiBjYCAAwBCyABIAM2AgggAyABNgIMCyACIARBA3I2AgQgAEEDdCIAIARrIQUgACACaiAFNgIAIAIgBGoiBCAFQQFyNgIEIAgEQCAIQXhxQbTQAGohAEGg0AAoAgAhAwJ/QQEgCEEDdnQiASAGcUUEQEGM0AAgASAGcjYCACAADAELIAAoAggLIgEgAzYCDCAAIAM2AgggAyAANgIMIAMgATYCCAsgAkEIaiEBQaDQACAENgIAQZTQACAFNgIADBELQZDQACgCACILRQ0BIAtoQQJ0QbzSAGooAgAiACgCBEF4cSAEayEFIAAhAgNAAkAgAigCECIBRQRAIAJBFGooAgAiAUUNAQsgASgCBEF4cSAEayIDIAVJIQIgAyAFIAIbIQUgASAAIAIbIQAgASECDAELCyAAKAIYIQkgACgCDCIDIABHBEBBnNAAKAIAGiADIAAoAggiATYCCCABIAM2AgwMEAsgAEEUaiICKAIAIgFFBEAgACgCECIBRQ0DIABBEGohAgsDQCACIQcgASIDQRRqIgIoAgAiAQ0AIANBEGohAiADKAIQIgENAAsgB0EANgIADA8LQX8hBCAAQb9/Sw0AIABBE2oiAUFwcSEEQZDQACgCACIIRQ0AQQAgBGshBQJAAkACQAJ/QQAgBEGAAkkNABpBHyAEQf///wdLDQAaIARBJiABQQh2ZyIAa3ZBAXEgAEEBdGtBPmoLIgZBAnRBvNIAaigCACICRQRAQQAhAUEAIQMMAQtBACEBIARBGSAGQQF2a0EAIAZBH0cbdCEAQQAhAwNAAkAgAigCBEF4cSAEayIHIAVPDQAgAiEDIAciBQ0AQQAhBSACIQEMAwsgASACQRRqKAIAIgcgByACIABBHXZBBHFqQRBqKAIAIgJGGyABIAcbIQEgAEEBdCEAIAINAAsLIAEgA3JFBEBBACEDQQIgBnQiAEEAIABrciAIcSIARQ0DIABoQQJ0QbzSAGooAgAhAQsgAUUNAQsDQCABKAIEQXhxIARrIgIgBUkhACACIAUgABshBSABIAMgABshAyABKAIQIgAEfyAABSABQRRqKAIACyIBDQALCyADRQ0AIAVBlNAAKAIAIARrTw0AIAMoAhghByADIAMoAgwiAEcEQEGc0AAoAgAaIAAgAygCCCIBNgIIIAEgADYCDAwOCyADQRRqIgIoAgAiAUUEQCADKAIQIgFFDQMgA0EQaiECCwNAIAIhBiABIgBBFGoiAigCACIBDQAgAEEQaiECIAAoAhAiAQ0ACyAGQQA2AgAMDQtBlNAAKAIAIgMgBE8EQEGg0AAoAgAhAQJAIAMgBGsiAkEQTwRAIAEgBGoiACACQQFyNgIEIAEgA2ogAjYCACABIARBA3I2AgQMAQsgASADQQNyNgIEIAEgA2oiACAAKAIEQQFyNgIEQQAhAEEAIQILQZTQACACNgIAQaDQACAANgIAIAFBCGohAQwPC0GY0AAoAgAiAyAESwRAIAQgCWoiACADIARrIgFBAXI2AgRBpNAAIAA2AgBBmNAAIAE2AgAgCSAEQQNyNgIEIAlBCGohAQwPC0EAIQEgBAJ/QeTTACgCAARAQezTACgCAAwBC0Hw0wBCfzcCAEHo0wBCgICEgICAwAA3AgBB5NMAIApBDGpBcHFB2KrVqgVzNgIAQfjTAEEANgIAQcjTAEEANgIAQYCABAsiACAEQccAaiIFaiIGQQAgAGsiB3EiAk8EQEH80wBBMDYCAAwPCwJAQcTTACgCACIBRQ0AQbzTACgCACIIIAJqIQAgACABTSAAIAhLcQ0AQQAhAUH80wBBMDYCAAwPC0HI0wAtAABBBHENBAJAAkAgCQRAQczTACEBA0AgASgCACIAIAlNBEAgACABKAIEaiAJSw0DCyABKAIIIgENAAsLQQAQMyIAQX9GDQUgAiEGQejTACgCACIBQQFrIgMgAHEEQCACIABrIAAgA2pBACABa3FqIQYLIAQgBk8NBSAGQf7///8HSw0FQcTTACgCACIDBEBBvNMAKAIAIgcgBmohASABIAdNDQYgASADSw0GCyAGEDMiASAARw0BDAcLIAYgA2sgB3EiBkH+////B0sNBCAGEDMhACAAIAEoAgAgASgCBGpGDQMgACEBCwJAIAYgBEHIAGpPDQAgAUF/Rg0AQezTACgCACIAIAUgBmtqQQAgAGtxIgBB/v///wdLBEAgASEADAcLIAAQM0F/RwRAIAAgBmohBiABIQAMBwtBACAGaxAzGgwECyABIgBBf0cNBQwDC0EAIQMMDAtBACEADAoLIABBf0cNAgtByNMAQcjTACgCAEEEcjYCAAsgAkH+////B0sNASACEDMhAEEAEDMhASAAQX9GDQEgAUF/Rg0BIAAgAU8NASABIABrIgYgBEE4ak0NAQtBvNMAQbzTACgCACAGaiIBNgIAQcDTACgCACABSQRAQcDTACABNgIACwJAAkACQEGk0AAoAgAiAgRAQczTACEBA0AgACABKAIAIgMgASgCBCIFakYNAiABKAIIIgENAAsMAgtBnNAAKAIAIgFBAEcgACABT3FFBEBBnNAAIAA2AgALQQAhAUHQ0wAgBjYCAEHM0wAgADYCAEGs0ABBfzYCAEGw0ABB5NMAKAIANgIAQdjTAEEANgIAA0AgAUHI0ABqIAFBvNAAaiICNgIAIAIgAUG00ABqIgM2AgAgAUHA0ABqIAM2AgAgAUHQ0ABqIAFBxNAAaiIDNgIAIAMgAjYCACABQdjQAGogAUHM0ABqIgI2AgAgAiADNgIAIAFB1NAAaiACNgIAIAFBIGoiAUGAAkcNAAtBeCAAa0EPcSIBIABqIgIgBkE4ayIDIAFrIgFBAXI2AgRBqNAAQfTTACgCADYCAEGY0AAgATYCAEGk0AAgAjYCACAAIANqQTg2AgQMAgsgACACTQ0AIAIgA0kNACABKAIMQQhxDQBBeCACa0EPcSIAIAJqIgNBmNAAKAIAIAZqIgcgAGsiAEEBcjYCBCABIAUgBmo2AgRBqNAAQfTTACgCADYCAEGY0AAgADYCAEGk0AAgAzYCACACIAdqQTg2AgQMAQsgAEGc0AAoAgBJBEBBnNAAIAA2AgALIAAgBmohA0HM0wAhAQJAAkACQANAIAMgASgCAEcEQCABKAIIIgENAQwCCwsgAS0ADEEIcUUNAQtBzNMAIQEDQCABKAIAIgMgAk0EQCADIAEoAgRqIgUgAksNAwsgASgCCCEBDAALAAsgASAANgIAIAEgASgCBCAGajYCBCAAQXggAGtBD3FqIgkgBEEDcjYCBCADQXggA2tBD3FqIgYgBCAJaiIEayEBIAIgBkYEQEGk0AAgBDYCAEGY0ABBmNAAKAIAIAFqIgA2AgAgBCAAQQFyNgIEDAgLQaDQACgCACAGRgRAQaDQACAENgIAQZTQAEGU0AAoAgAgAWoiADYCACAEIABBAXI2AgQgACAEaiAANgIADAgLIAYoAgQiBUEDcUEBRw0GIAVBeHEhCCAFQf8BTQRAIAVBA3YhAyAGKAIIIgAgBigCDCICRgRAQYzQAEGM0AAoAgBBfiADd3E2AgAMBwsgAiAANgIIIAAgAjYCDAwGCyAGKAIYIQcgBiAGKAIMIgBHBEAgACAGKAIIIgI2AgggAiAANgIMDAULIAZBFGoiAigCACIFRQRAIAYoAhAiBUUNBCAGQRBqIQILA0AgAiEDIAUiAEEUaiICKAIAIgUNACAAQRBqIQIgACgCECIFDQALIANBADYCAAwEC0F4IABrQQ9xIgEgAGoiByAGQThrIgMgAWsiAUEBcjYCBCAAIANqQTg2AgQgAiAFQTcgBWtBD3FqQT9rIgMgAyACQRBqSRsiA0EjNgIEQajQAEH00wAoAgA2AgBBmNAAIAE2AgBBpNAAIAc2AgAgA0EQakHU0wApAgA3AgAgA0HM0wApAgA3AghB1NMAIANBCGo2AgBB0NMAIAY2AgBBzNMAIAA2AgBB2NMAQQA2AgAgA0EkaiEBA0AgAUEHNgIAIAUgAUEEaiIBSw0ACyACIANGDQAgAyADKAIEQX5xNgIEIAMgAyACayIFNgIAIAIgBUEBcjYCBCAFQf8BTQRAIAVBeHFBtNAAaiEAAn9BjNAAKAIAIgFBASAFQQN2dCIDcUUEQEGM0AAgASADcjYCACAADAELIAAoAggLIgEgAjYCDCAAIAI2AgggAiAANgIMIAIgATYCCAwBC0EfIQEgBUH///8HTQRAIAVBJiAFQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAQsgAiABNgIcIAJCADcCECABQQJ0QbzSAGohAEGQ0AAoAgAiA0EBIAF0IgZxRQRAIAAgAjYCAEGQ0AAgAyAGcjYCACACIAA2AhggAiACNgIIIAIgAjYCDAwBCyAFQRkgAUEBdmtBACABQR9HG3QhASAAKAIAIQMCQANAIAMiACgCBEF4cSAFRg0BIAFBHXYhAyABQQF0IQEgACADQQRxakEQaiIGKAIAIgMNAAsgBiACNgIAIAIgADYCGCACIAI2AgwgAiACNgIIDAELIAAoAggiASACNgIMIAAgAjYCCCACQQA2AhggAiAANgIMIAIgATYCCAtBmNAAKAIAIgEgBE0NAEGk0AAoAgAiACAEaiICIAEgBGsiAUEBcjYCBEGY0AAgATYCAEGk0AAgAjYCACAAIARBA3I2AgQgAEEIaiEBDAgLQQAhAUH80wBBMDYCAAwHC0EAIQALIAdFDQACQCAGKAIcIgJBAnRBvNIAaiIDKAIAIAZGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAdBEEEUIAcoAhAgBkYbaiAANgIAIABFDQELIAAgBzYCGCAGKAIQIgIEQCAAIAI2AhAgAiAANgIYCyAGQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAIaiEBIAYgCGoiBigCBCEFCyAGIAVBfnE2AgQgASAEaiABNgIAIAQgAUEBcjYCBCABQf8BTQRAIAFBeHFBtNAAaiEAAn9BjNAAKAIAIgJBASABQQN2dCIBcUUEQEGM0AAgASACcjYCACAADAELIAAoAggLIgEgBDYCDCAAIAQ2AgggBCAANgIMIAQgATYCCAwBC0EfIQUgAUH///8HTQRAIAFBJiABQQh2ZyIAa3ZBAXEgAEEBdGtBPmohBQsgBCAFNgIcIARCADcCECAFQQJ0QbzSAGohAEGQ0AAoAgAiAkEBIAV0IgNxRQRAIAAgBDYCAEGQ0AAgAiADcjYCACAEIAA2AhggBCAENgIIIAQgBDYCDAwBCyABQRkgBUEBdmtBACAFQR9HG3QhBSAAKAIAIQACQANAIAAiAigCBEF4cSABRg0BIAVBHXYhACAFQQF0IQUgAiAAQQRxakEQaiIDKAIAIgANAAsgAyAENgIAIAQgAjYCGCAEIAQ2AgwgBCAENgIIDAELIAIoAggiACAENgIMIAIgBDYCCCAEQQA2AhggBCACNgIMIAQgADYCCAsgCUEIaiEBDAILAkAgB0UNAAJAIAMoAhwiAUECdEG80gBqIgIoAgAgA0YEQCACIAA2AgAgAA0BQZDQACAIQX4gAXdxIgg2AgAMAgsgB0EQQRQgBygCECADRhtqIAA2AgAgAEUNAQsgACAHNgIYIAMoAhAiAQRAIAAgATYCECABIAA2AhgLIANBFGooAgAiAUUNACAAQRRqIAE2AgAgASAANgIYCwJAIAVBD00EQCADIAQgBWoiAEEDcjYCBCAAIANqIgAgACgCBEEBcjYCBAwBCyADIARqIgIgBUEBcjYCBCADIARBA3I2AgQgAiAFaiAFNgIAIAVB/wFNBEAgBUF4cUG00ABqIQACf0GM0AAoAgAiAUEBIAVBA3Z0IgVxRQRAQYzQACABIAVyNgIAIAAMAQsgACgCCAsiASACNgIMIAAgAjYCCCACIAA2AgwgAiABNgIIDAELQR8hASAFQf///wdNBEAgBUEmIAVBCHZnIgBrdkEBcSAAQQF0a0E+aiEBCyACIAE2AhwgAkIANwIQIAFBAnRBvNIAaiEAQQEgAXQiBCAIcUUEQCAAIAI2AgBBkNAAIAQgCHI2AgAgAiAANgIYIAIgAjYCCCACIAI2AgwMAQsgBUEZIAFBAXZrQQAgAUEfRxt0IQEgACgCACEEAkADQCAEIgAoAgRBeHEgBUYNASABQR12IQQgAUEBdCEBIAAgBEEEcWpBEGoiBigCACIEDQALIAYgAjYCACACIAA2AhggAiACNgIMIAIgAjYCCAwBCyAAKAIIIgEgAjYCDCAAIAI2AgggAkEANgIYIAIgADYCDCACIAE2AggLIANBCGohAQwBCwJAIAlFDQACQCAAKAIcIgFBAnRBvNIAaiICKAIAIABGBEAgAiADNgIAIAMNAUGQ0AAgC0F+IAF3cTYCAAwCCyAJQRBBFCAJKAIQIABGG2ogAzYCACADRQ0BCyADIAk2AhggACgCECIBBEAgAyABNgIQIAEgAzYCGAsgAEEUaigCACIBRQ0AIANBFGogATYCACABIAM2AhgLAkAgBUEPTQRAIAAgBCAFaiIBQQNyNgIEIAAgAWoiASABKAIEQQFyNgIEDAELIAAgBGoiByAFQQFyNgIEIAAgBEEDcjYCBCAFIAdqIAU2AgAgCARAIAhBeHFBtNAAaiEBQaDQACgCACEDAn9BASAIQQN2dCICIAZxRQRAQYzQACACIAZyNgIAIAEMAQsgASgCCAsiAiADNgIMIAEgAzYCCCADIAE2AgwgAyACNgIIC0Gg0AAgBzYCAEGU0AAgBTYCAAsgAEEIaiEBCyAKQRBqJAAgAQtDACAARQRAPwBBEHQPCwJAIABB//8DcQ0AIABBAEgNACAAQRB2QAAiAEF/RgRAQfzTAEEwNgIAQX8PCyAAQRB0DwsACwvcPyIAQYAICwkBAAAAAgAAAAMAQZQICwUEAAAABQBBpAgLCQYAAAAHAAAACABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv","base64")});var Og=Q((I2,Yg)=>{"use strict";var{Buffer:Ey}=require("node:buffer");Yg.exports=Ey.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==","base64")});var ii=Q((w2,zg)=>{"use strict";var Jg=["GET","HEAD","POST"],my=new Set(Jg),fy=[101,204,205,304],Pg=[301,302,303,307,308],Qy=new Set(Pg),Hg=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"],By=new Set(Hg),Vg=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],Cy=new Set(Vg),Iy=["follow","manual","error"],qg=["GET","HEAD","OPTIONS","TRACE"],wy=new Set(qg),by=["navigate","same-origin","no-cors","cors"],yy=["omit","same-origin","include"],xy=["default","no-store","reload","no-cache","force-cache","only-if-cached"],vy=["content-encoding","content-language","content-location","content-type","content-length"],ky=["half"],Wg=["CONNECT","TRACE","TRACK"],Dy=new Set(Wg),jg=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],Ry=new Set(jg);zg.exports={subresource:jg,forbiddenMethods:Wg,requestBodyHeader:vy,referrerPolicy:Vg,requestRedirect:Iy,requestMode:by,requestCredentials:yy,requestCache:xy,redirectStatus:Pg,corsSafeListedMethods:Jg,nullBodyStatus:fy,safeMethods:qg,badPorts:Hg,requestDuplex:ky,subresourceSet:Ry,badPortsSet:By,redirectStatusSet:Qy,corsSafeListedMethodsSet:my,safeMethodsSet:wy,forbiddenMethodsSet:Dy,referrerPolicySet:Cy}});var jA=Q((b2,Zg)=>{"use strict";var WA=Symbol.for("undici.globalOrigin.1");function Ty(){return globalThis[WA]}function Fy(e){if(e===void 0){Object.defineProperty(globalThis,WA,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let t=new URL(e);if(t.protocol!=="http:"&&t.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${t.protocol}`);Object.defineProperty(globalThis,WA,{value:t,writable:!0,enumerable:!1,configurable:!1})}Zg.exports={getGlobalOrigin:Ty,setGlobalOrigin:Fy}});var ve=Q((y2,rh)=>{"use strict";var Lo=require("node:assert"),Sy=new TextEncoder,oi=/^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/,Uy=/[\u000A\u000D\u0009\u0020]/,Ny=/[\u0009\u000A\u000C\u000D\u0020]/g,Gy=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function My(e){Lo(e.protocol==="data:");let t=$g(e,!0);t=t.slice(5);let s={position:0},r=nr(",",t,s),i=r.length;if(r=Py(r,!0,!0),s.position>=t.length)return"failure";s.position++;let o=t.slice(i+1),n=eh(o);if(/;(\u0020){0,}base64$/i.test(r)){let A=sh(n);if(n=_y(A),n==="failure")return"failure";r=r.slice(0,-6),r=r.replace(/(\u0020)+$/,""),r=r.slice(0,-1)}r.startsWith(";")&&(r="text/plain"+r);let a=zA(r);return a==="failure"&&(a=zA("text/plain;charset=US-ASCII")),{mimeType:a,body:n}}function $g(e,t=!1){if(!t)return e.href;let s=e.href,r=e.hash.length,i=r===0?s:s.substring(0,s.length-r);return!r&&s.endsWith("#")?i.slice(0,-1):i}function _o(e,t,s){let r="";for(;s.position=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Xg(e){return e>=48&&e<=57?e-48:(e&223)-55}function Ly(e){let t=e.length,s=new Uint8Array(t),r=0;for(let i=0;ie.length)return"failure";t.position++;let r=nr(";",e,t);if(r=Mo(r,!1,!0),r.length===0||!oi.test(r))return"failure";let i=s.toLowerCase(),o=r.toLowerCase(),n={type:i,subtype:o,parameters:new Map,essence:`${i}/${o}`};for(;t.positionUy.test(c),e,t);let a=_o(c=>c!==";"&&c!=="=",e,t);if(a=a.toLowerCase(),t.positione.length)break;let A=null;if(e[t.position]==='"')A=th(e,t,!0),nr(";",e,t);else if(A=nr(";",e,t),A=Mo(A,!1,!0),A.length===0)continue;a.length!==0&&oi.test(a)&&(A.length===0||Gy.test(A))&&!n.parameters.has(a)&&n.parameters.set(a,A)}return n}function _y(e){e=e.replace(Ny,"");let t=e.length;if(t%4===0&&e.charCodeAt(t-1)===61&&(--t,e.charCodeAt(t-1)===61&&--t),t%4===1||/[^+/0-9A-Za-z]/.test(e.length===t?e:e.substring(0,t)))return"failure";let s=Buffer.from(e,"base64");return new Uint8Array(s.buffer,s.byteOffset,s.byteLength)}function th(e,t,s){let r=t.position,i="";for(Lo(e[t.position]==='"'),t.position++;i+=_o(n=>n!=='"'&&n!=="\\",e,t),!(t.position>=e.length);){let o=e[t.position];if(t.position++,o==="\\"){if(t.position>=e.length){i+="\\";break}i+=e[t.position],t.position++}else{Lo(o==='"');break}}return s?i:e.slice(r,t.position)}function Yy(e){Lo(e!=="failure");let{parameters:t,essence:s}=e,r=s;for(let[i,o]of t.entries())r+=";",r+=i,r+="=",oi.test(o)||(o=o.replace(/(\\|")/g,"\\$1"),o='"'+o,o+='"'),r+=o;return r}function Oy(e){return e===13||e===10||e===9||e===32}function Mo(e,t=!0,s=!0){return ZA(e,t,s,Oy)}function Jy(e){return e===13||e===10||e===9||e===12||e===32}function Py(e,t=!0,s=!0){return ZA(e,t,s,Jy)}function ZA(e,t,s,r){let i=0,o=e.length-1;if(t)for(;i0&&r(e.charCodeAt(o));)o--;return i===0&&o===e.length-1?e:e.slice(i,o+1)}function sh(e){let t=e.length;if(65535>t)return String.fromCharCode.apply(null,e);let s="",r=0,i=65535;for(;rt&&(i=t-r),s+=String.fromCharCode.apply(null,e.subarray(r,r+=i));return s}function Hy(e){switch(e.essence){case"application/ecmascript":case"application/javascript":case"application/x-ecmascript":case"application/x-javascript":case"text/ecmascript":case"text/javascript":case"text/javascript1.0":case"text/javascript1.1":case"text/javascript1.2":case"text/javascript1.3":case"text/javascript1.4":case"text/javascript1.5":case"text/jscript":case"text/livescript":case"text/x-ecmascript":case"text/x-javascript":return"text/javascript";case"application/json":case"text/json":return"application/json";case"image/svg+xml":return"image/svg+xml";case"text/xml":case"application/xml":return"application/xml"}return e.subtype.endsWith("+json")?"application/json":e.subtype.endsWith("+xml")?"application/xml":""}rh.exports={dataURLProcessor:My,URLSerializer:$g,collectASequenceOfCodePoints:_o,collectASequenceOfCodePointsFast:nr,stringPercentDecode:eh,parseMIMEType:zA,collectAnHTTPQuotedString:th,serializeAMimeType:Yy,removeChars:ZA,removeHTTPWhitespace:Mo,minimizeSupportedMimeType:Hy,HTTP_TOKEN_CODEPOINTS:oi,isomorphicDecode:sh}});var ge=Q((x2,ih)=>{"use strict";var{types:Et,inspect:Vy}=require("node:util"),{markAsUncloneable:qy}=require("node:worker_threads"),{toUSVString:Wy}=N(),I={};I.converters={};I.util={};I.errors={};I.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)};I.errors.conversionFailed=function(e){let t=e.types.length===1?"":" one of",s=`${e.argument} could not be converted to${t}: ${e.types.join(", ")}.`;return I.errors.exception({header:e.prefix,message:s})};I.errors.invalidArgument=function(e){return I.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})};I.brandCheck=function(e,t,s){if(s?.strict!==!1){if(!(e instanceof t)){let r=new TypeError("Illegal invocation");throw r.code="ERR_INVALID_THIS",r}}else if(e?.[Symbol.toStringTag]!==t.prototype[Symbol.toStringTag]){let r=new TypeError("Illegal invocation");throw r.code="ERR_INVALID_THIS",r}};I.argumentLengthCheck=function({length:e},t,s){if(e{});I.util.ConvertToInt=function(e,t,s,r){let i,o;t===64?(i=Math.pow(2,53)-1,s==="unsigned"?o=0:o=Math.pow(-2,53)+1):s==="unsigned"?(o=0,i=Math.pow(2,t)-1):(o=Math.pow(-2,t)-1,i=Math.pow(2,t-1)-1);let n=Number(e);if(n===0&&(n=0),r?.enforceRange===!0){if(Number.isNaN(n)||n===Number.POSITIVE_INFINITY||n===Number.NEGATIVE_INFINITY)throw I.errors.exception({header:"Integer conversion",message:`Could not convert ${I.util.Stringify(e)} to an integer.`});if(n=I.util.IntegerPart(n),ni)throw I.errors.exception({header:"Integer conversion",message:`Value must be between ${o}-${i}, got ${n}.`});return n}return!Number.isNaN(n)&&r?.clamp===!0?(n=Math.min(Math.max(n,o),i),Math.floor(n)%2===0?n=Math.floor(n):n=Math.ceil(n),n):Number.isNaN(n)||n===0&&Object.is(0,n)||n===Number.POSITIVE_INFINITY||n===Number.NEGATIVE_INFINITY?0:(n=I.util.IntegerPart(n),n=n%Math.pow(2,t),s==="signed"&&n>=Math.pow(2,t)-1?n-Math.pow(2,t):n)};I.util.IntegerPart=function(e){let t=Math.floor(Math.abs(e));return e<0?-1*t:t};I.util.Stringify=function(e){switch(I.util.Type(e)){case"Symbol":return`Symbol(${e.description})`;case"Object":return Vy(e);case"String":return`"${e}"`;default:return`${e}`}};I.sequenceConverter=function(e){return(t,s,r,i)=>{if(I.util.Type(t)!=="Object")throw I.errors.exception({header:s,message:`${r} (${I.util.Stringify(t)}) is not iterable.`});let o=typeof i=="function"?i():t?.[Symbol.iterator]?.(),n=[],a=0;if(o===void 0||typeof o.next!="function")throw I.errors.exception({header:s,message:`${r} is not iterable.`});for(;;){let{done:A,value:c}=o.next();if(A)break;n.push(e(c,s,`${r}[${a++}]`))}return n}};I.recordConverter=function(e,t){return(s,r,i)=>{if(I.util.Type(s)!=="Object")throw I.errors.exception({header:r,message:`${i} ("${I.util.Type(s)}") is not an Object.`});let o={};if(!Et.isProxy(s)){let a=[...Object.getOwnPropertyNames(s),...Object.getOwnPropertySymbols(s)];for(let A of a){let c=e(A,r,i),u=t(s[A],r,i);o[c]=u}return o}let n=Reflect.ownKeys(s);for(let a of n)if(Reflect.getOwnPropertyDescriptor(s,a)?.enumerable){let c=e(a,r,i),u=t(s[a],r,i);o[c]=u}return o}};I.interfaceConverter=function(e){return(t,s,r,i)=>{if(i?.strict!==!1&&!(t instanceof e))throw I.errors.exception({header:s,message:`Expected ${r} ("${I.util.Stringify(t)}") to be an instance of ${e.name}.`});return t}};I.dictionaryConverter=function(e){return(t,s,r)=>{let i=I.util.Type(t),o={};if(i==="Null"||i==="Undefined")return o;if(i!=="Object")throw I.errors.exception({header:s,message:`Expected ${t} to be one of: Null, Undefined, Object.`});for(let n of e){let{key:a,defaultValue:A,required:c,converter:u}=n;if(c===!0&&!Object.hasOwn(t,a))throw I.errors.exception({header:s,message:`Missing required key "${a}".`});let l=t[a],p=Object.hasOwn(n,"defaultValue");if(p&&l!==null&&(l??=A()),c||p||l!==void 0){if(l=u(l,s,`${r}.${a}`),n.allowedValues&&!n.allowedValues.includes(l))throw I.errors.exception({header:s,message:`${l} is not an accepted type. Expected one of ${n.allowedValues.join(", ")}.`});o[a]=l}}return o}};I.nullableConverter=function(e){return(t,s,r)=>t===null?t:e(t,s,r)};I.converters.DOMString=function(e,t,s,r){if(e===null&&r?.legacyNullToEmptyString)return"";if(typeof e=="symbol")throw I.errors.exception({header:t,message:`${s} is a symbol, which cannot be converted to a DOMString.`});return String(e)};I.converters.ByteString=function(e,t,s){let r=I.converters.DOMString(e,t,s);for(let i=0;i255)throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${i} has a value of ${r.charCodeAt(i)} which is greater than 255.`);return r};I.converters.USVString=Wy;I.converters.boolean=function(e){return!!e};I.converters.any=function(e){return e};I.converters["long long"]=function(e,t,s){return I.util.ConvertToInt(e,64,"signed",void 0,t,s)};I.converters["unsigned long long"]=function(e,t,s){return I.util.ConvertToInt(e,64,"unsigned",void 0,t,s)};I.converters["unsigned long"]=function(e,t,s){return I.util.ConvertToInt(e,32,"unsigned",void 0,t,s)};I.converters["unsigned short"]=function(e,t,s,r){return I.util.ConvertToInt(e,16,"unsigned",r,t,s)};I.converters.ArrayBuffer=function(e,t,s,r){if(I.util.Type(e)!=="Object"||!Et.isAnyArrayBuffer(e))throw I.errors.conversionFailed({prefix:t,argument:`${s} ("${I.util.Stringify(e)}")`,types:["ArrayBuffer"]});if(r?.allowShared===!1&&Et.isSharedArrayBuffer(e))throw I.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(e.resizable||e.growable)throw I.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return e};I.converters.TypedArray=function(e,t,s,r,i){if(I.util.Type(e)!=="Object"||!Et.isTypedArray(e)||e.constructor.name!==t.name)throw I.errors.conversionFailed({prefix:s,argument:`${r} ("${I.util.Stringify(e)}")`,types:[t.name]});if(i?.allowShared===!1&&Et.isSharedArrayBuffer(e.buffer))throw I.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(e.buffer.resizable||e.buffer.growable)throw I.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return e};I.converters.DataView=function(e,t,s,r){if(I.util.Type(e)!=="Object"||!Et.isDataView(e))throw I.errors.exception({header:t,message:`${s} is not a DataView.`});if(r?.allowShared===!1&&Et.isSharedArrayBuffer(e.buffer))throw I.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(e.buffer.resizable||e.buffer.growable)throw I.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return e};I.converters.BufferSource=function(e,t,s,r){if(Et.isAnyArrayBuffer(e))return I.converters.ArrayBuffer(e,t,s,{...r,allowShared:!1});if(Et.isTypedArray(e))return I.converters.TypedArray(e,e.constructor,t,s,{...r,allowShared:!1});if(Et.isDataView(e))return I.converters.DataView(e,t,s,{...r,allowShared:!1});throw I.errors.conversionFailed({prefix:t,argument:`${s} ("${I.util.Stringify(e)}")`,types:["BufferSource"]})};I.converters["sequence"]=I.sequenceConverter(I.converters.ByteString);I.converters["sequence>"]=I.sequenceConverter(I.converters["sequence"]);I.converters["record"]=I.recordConverter(I.converters.ByteString,I.converters.ByteString);ih.exports={webidl:I}});var Ue=Q((v2,fh)=>{"use strict";var{Transform:jy}=require("node:stream"),oh=require("node:zlib"),{redirectStatusSet:zy,referrerPolicySet:Zy,badPortsSet:Ky}=ii(),{getGlobalOrigin:nh}=jA(),{collectASequenceOfCodePoints:Is,collectAnHTTPQuotedString:Xy,removeChars:$y,parseMIMEType:ex}=ve(),{performance:tx}=require("node:perf_hooks"),{isBlobLike:sx,ReadableStreamFrom:rx,isValidHTTPToken:ah,normalizedMethodRecordsBase:ix}=N(),ws=require("node:assert"),{isUint8Array:ox}=require("node:util/types"),{webidl:ni}=ge(),Ah=[],Oo;try{Oo=require("node:crypto");let e=["sha256","sha384","sha512"];Ah=Oo.getHashes().filter(t=>e.includes(t))}catch{}function ch(e){let t=e.urlList,s=t.length;return s===0?null:t[s-1].toString()}function nx(e,t){if(!zy.has(e.status))return null;let s=e.headersList.get("location",!0);return s!==null&&uh(s)&&(lh(s)||(s=ax(s)),s=new URL(s,ch(e))),s&&!s.hash&&(s.hash=t),s}function lh(e){for(let t=0;t126||s<32)return!1}return!0}function ax(e){return Buffer.from(e,"binary").toString("utf8")}function Ai(e){return e.urlList[e.urlList.length-1]}function Ax(e){let t=Ai(e);return Eh(t)&&Ky.has(t.port)?"blocked":"allowed"}function cx(e){return e instanceof Error||e?.constructor?.name==="Error"||e?.constructor?.name==="DOMException"}function lx(e){for(let t=0;t=32&&s<=126||s>=128&&s<=255))return!1}return!0}var ux=ah;function uh(e){return(e[0]===" "||e[0]===" "||e[e.length-1]===" "||e[e.length-1]===" "||e.includes(` +`)||e.includes("\r")||e.includes("\0"))===!1}function px(e,t){let{headersList:s}=t,r=(s.get("referrer-policy",!0)??"").split(","),i="";if(r.length>0)for(let o=r.length;o!==0;o--){let n=r[o-1].trim();if(Zy.has(n)){i=n;break}}i!==""&&(e.referrerPolicy=i)}function gx(){return"allowed"}function hx(){return"success"}function dx(){return"success"}function Ex(e){let t=null;t=e.mode,e.headersList.set("sec-fetch-mode",t,!0)}function mx(e){let t=e.origin;if(!(t==="client"||t===void 0)){if(e.responseTainting==="cors"||e.mode==="websocket")e.headersList.append("origin",t,!0);else if(e.method!=="GET"&&e.method!=="HEAD"){switch(e.referrerPolicy){case"no-referrer":t=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":e.origin&&XA(e.origin)&&!XA(Ai(e))&&(t=null);break;case"same-origin":Jo(e,Ai(e))||(t=null);break;default:}e.headersList.append("origin",t,!0)}}}function ar(e,t){return e}function fx(e,t,s){return!e?.startTime||e.startTime4096&&(r=i);let o=Jo(e,r),n=ai(r)&&!ai(e.url);switch(t){case"origin":return i??KA(s,!0);case"unsafe-url":return r;case"same-origin":return o?i:"no-referrer";case"origin-when-cross-origin":return o?r:i;case"strict-origin-when-cross-origin":{let a=Ai(e);return Jo(r,a)?r:ai(r)&&!ai(a)?"no-referrer":i}default:return n?"no-referrer":i}}function KA(e,t){return ws(e instanceof URL),e=new URL(e),e.protocol==="file:"||e.protocol==="about:"||e.protocol==="blank:"?"no-referrer":(e.username="",e.password="",e.hash="",t&&(e.pathname="",e.search=""),e)}function ai(e){if(!(e instanceof URL))return!1;if(e.href==="about:blank"||e.href==="about:srcdoc"||e.protocol==="data:"||e.protocol==="file:")return!0;return t(e.origin);function t(s){if(s==null||s==="null")return!1;let r=new URL(s);return!!(r.protocol==="https:"||r.protocol==="wss:"||/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(r.hostname)||r.hostname==="localhost"||r.hostname.includes("localhost.")||r.hostname.endsWith(".localhost"))}}function wx(e,t){if(Oo===void 0)return!0;let s=gh(t);if(s==="no metadata"||s.length===0)return!0;let r=yx(s),i=xx(s,r);for(let o of i){let n=o.algo,a=o.hash,A=Oo.createHash(n).update(e).digest("base64");if(A[A.length-1]==="="&&(A[A.length-2]==="="?A=A.slice(0,-2):A=A.slice(0,-1)),vx(A,a))return!0}return!1}var bx=/(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function gh(e){let t=[],s=!0;for(let r of e.split(" ")){s=!1;let i=bx.exec(r);if(i===null||i.groups===void 0||i.groups.algo===void 0)continue;let o=i.groups.algo.toLowerCase();Ah.includes(o)&&t.push(i.groups)}return s===!0?"no metadata":t}function yx(e){let t=e[0].algo;if(t[3]==="5")return t;for(let s=1;s{e=r,t=i}),resolve:e,reject:t}}function Rx(e){return e.controller.state==="aborted"}function Tx(e){return e.controller.state==="aborted"||e.controller.state==="terminated"}function Fx(e){return ix[e.toLowerCase()]??e}function Sx(e){let t=JSON.stringify(e);if(t===void 0)throw new TypeError("Value is not JSON serializable");return ws(typeof t=="string"),t}var Ux=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function hh(e,t,s=0,r=1){class i{#e;#t;#i;constructor(n,a){this.#e=n,this.#t=a,this.#i=0}next(){if(typeof this!="object"||this===null||!(#e in this))throw new TypeError(`'next' called on an object that does not implement interface ${e} Iterator.`);let n=this.#i,a=this.#e[t],A=a.length;if(n>=A)return{value:void 0,done:!0};let{[s]:c,[r]:u}=a[n];this.#i=n+1;let l;switch(this.#t){case"key":l=c;break;case"value":l=u;break;case"key+value":l=[c,u];break}return{value:l,done:!1}}}return delete i.prototype.constructor,Object.setPrototypeOf(i.prototype,Ux),Object.defineProperties(i.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${e} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(o,n){return new i(o,n)}}function Nx(e,t,s,r=0,i=1){let o=hh(e,s,r,i),n={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return ni.brandCheck(this,t),o(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return ni.brandCheck(this,t),o(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return ni.brandCheck(this,t),o(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(A,c=globalThis){if(ni.brandCheck(this,t),ni.argumentLengthCheck(arguments,1,`${e}.forEach`),typeof A!="function")throw new TypeError(`Failed to execute 'forEach' on '${e}': parameter 1 is not of type 'Function'.`);for(let{0:u,1:l}of o(this,"key+value"))A.call(c,l,u,this)}}};return Object.defineProperties(t.prototype,{...n,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:n.entries.value}})}async function Gx(e,t,s){let r=t,i=s,o;try{o=e.stream.getReader()}catch(n){i(n);return}try{r(await dh(o))}catch(n){i(n)}}function Mx(e){return e instanceof ReadableStream||e[Symbol.toStringTag]==="ReadableStream"&&typeof e.tee=="function"}function Lx(e){try{e.close(),e.byobRequest?.respond(0)}catch(t){if(!t.message.includes("Controller is already closed")&&!t.message.includes("ReadableStream is already closed"))throw t}}var _x=/[^\x00-\xFF]/;function Yo(e){return ws(!_x.test(e)),e}async function dh(e){let t=[],s=0;for(;;){let{done:r,value:i}=await e.read();if(r)return Buffer.concat(t,s);if(!ox(i))throw new TypeError("Received non-Uint8Array chunk");t.push(i),s+=i.length}}function Yx(e){ws("protocol"in e);let t=e.protocol;return t==="about:"||t==="blob:"||t==="data:"}function XA(e){return typeof e=="string"&&e[5]===":"&&e[0]==="h"&&e[1]==="t"&&e[2]==="t"&&e[3]==="p"&&e[4]==="s"||e.protocol==="https:"}function Eh(e){ws("protocol"in e);let t=e.protocol;return t==="http:"||t==="https:"}function Ox(e,t){let s=e;if(!s.startsWith("bytes"))return"failure";let r={position:5};if(t&&Is(A=>A===" "||A===" ",s,r),s.charCodeAt(r.position)!==61)return"failure";r.position++,t&&Is(A=>A===" "||A===" ",s,r);let i=Is(A=>{let c=A.charCodeAt(0);return c>=48&&c<=57},s,r),o=i.length?Number(i):null;if(t&&Is(A=>A===" "||A===" ",s,r),s.charCodeAt(r.position)!==45)return"failure";r.position++,t&&Is(A=>A===" "||A===" ",s,r);let n=Is(A=>{let c=A.charCodeAt(0);return c>=48&&c<=57},s,r),a=n.length?Number(n):null;return r.positiona?"failure":{rangeStartValue:o,rangeEndValue:a}}function Jx(e,t,s){let r="bytes ";return r+=Yo(`${e}`),r+="-",r+=Yo(`${t}`),r+="/",r+=Yo(`${s}`),r}var $A=class extends jy{#e;constructor(t){super(),this.#e=t}_transform(t,s,r){if(!this._inflateStream){if(t.length===0){r();return}this._inflateStream=(t[0]&15)===8?oh.createInflate(this.#e):oh.createInflateRaw(this.#e),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",i=>this.destroy(i))}this._inflateStream.write(t,s,r)}_final(t){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),t()}};function Px(e){return new $A(e)}function Hx(e){let t=null,s=null,r=null,i=mh("content-type",e);if(i===null)return"failure";for(let o of i){let n=ex(o);n==="failure"||n.essence==="*/*"||(r=n,r.essence!==s?(t=null,r.parameters.has("charset")&&(t=r.parameters.get("charset")),s=r.essence):!r.parameters.has("charset")&&t!==null&&r.parameters.set("charset",t))}return r??"failure"}function Vx(e){let t=e,s={position:0},r=[],i="";for(;s.positiono!=='"'&&o!==",",t,s),s.positiono===9||o===32),r.push(i),i=""}return r}function mh(e,t){let s=t.get(e,!0);return s===null?null:Vx(s)}var qx=new TextDecoder;function Wx(e){return e.length===0?"":(e[0]===239&&e[1]===187&&e[2]===191&&(e=e.subarray(3)),qx.decode(e))}var ec=class{get baseUrl(){return nh()}get origin(){return this.baseUrl?.origin}policyContainer=ph()},tc=class{settingsObject=new ec},jx=new tc;fh.exports={isAborted:Rx,isCancelled:Tx,isValidEncodedURL:lh,createDeferredPromise:Dx,ReadableStreamFrom:rx,tryUpgradeRequestToAPotentiallyTrustworthyURL:kx,clampAndCoarsenConnectionTimingInfo:fx,coarsenedSharedCurrentTime:Qx,determineRequestsReferrer:Ix,makePolicyContainer:ph,clonePolicyContainer:Cx,appendFetchMetadata:Ex,appendRequestOriginHeader:mx,TAOCheck:dx,corsCheck:hx,crossOriginResourcePolicyCheck:gx,createOpaqueTimingInfo:Bx,setRequestReferrerPolicyOnRedirect:px,isValidHTTPToken:ah,requestBadPort:Ax,requestCurrentURL:Ai,responseURL:ch,responseLocationURL:nx,isBlobLike:sx,isURLPotentiallyTrustworthy:ai,isValidReasonPhrase:lx,sameOrigin:Jo,normalizeMethod:Fx,serializeJavascriptValueToJSONString:Sx,iteratorMixin:Nx,createIterator:hh,isValidHeaderName:ux,isValidHeaderValue:uh,isErrorLike:cx,fullyReadBody:Gx,bytesMatch:wx,isReadableStreamLike:Mx,readableStreamClose:Lx,isomorphicEncode:Yo,urlIsLocal:Yx,urlHasHttpsScheme:XA,urlIsHttpHttpsScheme:Eh,readAllBytes:dh,simpleRangeHeaderValue:Ox,buildContentRange:Jx,parseMetadata:gh,createInflate:Px,extractMimeType:Hx,getDecodeSplit:mh,utf8DecodeBytes:Wx,environmentSettingsObject:jx}});var Kt=Q((k2,Qh)=>{"use strict";Qh.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kDispatcher:Symbol("dispatcher")}});var rc=Q((D2,Bh)=>{"use strict";var{Blob:zx,File:Zx}=require("node:buffer"),{kState:Nt}=Kt(),{webidl:mt}=ge(),sc=class e{constructor(t,s,r={}){let i=s,o=r.type,n=r.lastModified??Date.now();this[Nt]={blobLike:t,name:i,type:o,lastModified:n}}stream(...t){return mt.brandCheck(this,e),this[Nt].blobLike.stream(...t)}arrayBuffer(...t){return mt.brandCheck(this,e),this[Nt].blobLike.arrayBuffer(...t)}slice(...t){return mt.brandCheck(this,e),this[Nt].blobLike.slice(...t)}text(...t){return mt.brandCheck(this,e),this[Nt].blobLike.text(...t)}get size(){return mt.brandCheck(this,e),this[Nt].blobLike.size}get type(){return mt.brandCheck(this,e),this[Nt].blobLike.type}get name(){return mt.brandCheck(this,e),this[Nt].name}get lastModified(){return mt.brandCheck(this,e),this[Nt].lastModified}get[Symbol.toStringTag](){return"File"}};mt.converters.Blob=mt.interfaceConverter(zx);function Kx(e){return e instanceof Zx||e&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&e[Symbol.toStringTag]==="File"}Bh.exports={FileLike:sc,isFileLike:Kx}});var li=Q((R2,yh)=>{"use strict";var{isBlobLike:Po,iteratorMixin:Xx}=Ue(),{kState:Be}=Kt(),{kEnumerableProperty:Ar}=N(),{FileLike:Ch,isFileLike:$x}=rc(),{webidl:q}=ge(),{File:bh}=require("node:buffer"),Ih=require("node:util"),wh=globalThis.File??bh,ci=class e{constructor(t){if(q.util.markAsUncloneable(this),t!==void 0)throw q.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]});this[Be]=[]}append(t,s,r=void 0){q.brandCheck(this,e);let i="FormData.append";if(q.argumentLengthCheck(arguments,2,i),arguments.length===3&&!Po(s))throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'");t=q.converters.USVString(t,i,"name"),s=Po(s)?q.converters.Blob(s,i,"value",{strict:!1}):q.converters.USVString(s,i,"value"),r=arguments.length===3?q.converters.USVString(r,i,"filename"):void 0;let o=ic(t,s,r);this[Be].push(o)}delete(t){q.brandCheck(this,e);let s="FormData.delete";q.argumentLengthCheck(arguments,1,s),t=q.converters.USVString(t,s,"name"),this[Be]=this[Be].filter(r=>r.name!==t)}get(t){q.brandCheck(this,e);let s="FormData.get";q.argumentLengthCheck(arguments,1,s),t=q.converters.USVString(t,s,"name");let r=this[Be].findIndex(i=>i.name===t);return r===-1?null:this[Be][r].value}getAll(t){q.brandCheck(this,e);let s="FormData.getAll";return q.argumentLengthCheck(arguments,1,s),t=q.converters.USVString(t,s,"name"),this[Be].filter(r=>r.name===t).map(r=>r.value)}has(t){q.brandCheck(this,e);let s="FormData.has";return q.argumentLengthCheck(arguments,1,s),t=q.converters.USVString(t,s,"name"),this[Be].findIndex(r=>r.name===t)!==-1}set(t,s,r=void 0){q.brandCheck(this,e);let i="FormData.set";if(q.argumentLengthCheck(arguments,2,i),arguments.length===3&&!Po(s))throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'");t=q.converters.USVString(t,i,"name"),s=Po(s)?q.converters.Blob(s,i,"name",{strict:!1}):q.converters.USVString(s,i,"name"),r=arguments.length===3?q.converters.USVString(r,i,"name"):void 0;let o=ic(t,s,r),n=this[Be].findIndex(a=>a.name===t);n!==-1?this[Be]=[...this[Be].slice(0,n),o,...this[Be].slice(n+1).filter(a=>a.name!==t)]:this[Be].push(o)}[Ih.inspect.custom](t,s){let r=this[Be].reduce((o,n)=>(o[n.name]?Array.isArray(o[n.name])?o[n.name].push(n.value):o[n.name]=[o[n.name],n.value]:o[n.name]=n.value,o),{__proto__:null});s.depth??=t,s.colors??=!0;let i=Ih.formatWithOptions(s,r);return`FormData ${i.slice(i.indexOf("]")+2)}`}};Xx("FormData",ci,Be,"name","value");Object.defineProperties(ci.prototype,{append:Ar,delete:Ar,get:Ar,getAll:Ar,has:Ar,set:Ar,[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function ic(e,t,s){if(typeof t!="string"){if($x(t)||(t=t instanceof Blob?new wh([t],"blob",{type:t.type}):new Ch(t,"blob",{type:t.type})),s!==void 0){let r={type:t.type,lastModified:t.lastModified};t=t instanceof bh?new wh([t],s,r):new Ch(t,s,r)}}return{name:e,value:t}}yh.exports={FormData:ci,makeEntry:ic}});var Th=Q((T2,Rh)=>{"use strict";var{isUSVString:xh,bufferToLowerCasedHeaderName:ev}=N(),{utf8DecodeBytes:tv}=Ue(),{HTTP_TOKEN_CODEPOINTS:sv,isomorphicDecode:vh}=ve(),{isFileLike:rv}=rc(),{makeEntry:iv}=li(),Ho=require("node:assert"),{File:ov}=require("node:buffer"),nv=globalThis.File??ov,av=Buffer.from('form-data; name="'),kh=Buffer.from("; filename"),Av=Buffer.from("--"),cv=Buffer.from(`--\r +`);function lv(e){for(let t=0;t70)return!1;for(let s=0;s=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||r===39||r===45||r===95))return!1}return!0}function pv(e,t){Ho(t!=="failure"&&t.essence==="multipart/form-data");let s=t.parameters.get("boundary");if(s===void 0)return"failure";let r=Buffer.from(`--${s}`,"utf8"),i=[],o={position:0};for(;e[o.position]===13&&e[o.position+1]===10;)o.position+=2;let n=e.length;for(;e[n-1]===10&&e[n-2]===13;)n-=2;for(n!==e.length&&(e=e.subarray(0,n));;){if(e.subarray(o.position,o.position+r.length).equals(r))o.position+=r.length;else return"failure";if(o.position===e.length-2&&Vo(e,Av,o)||o.position===e.length-4&&Vo(e,cv,o))return i;if(e[o.position]!==13||e[o.position+1]!==10)return"failure";o.position+=2;let a=gv(e,o);if(a==="failure")return"failure";let{name:A,filename:c,contentType:u,encoding:l}=a;o.position+=2;let p;{let h=e.indexOf(r.subarray(2),o.position);if(h===-1)return"failure";p=e.subarray(o.position,h-4),o.position+=p.length,l==="base64"&&(p=Buffer.from(p.toString(),"base64"))}if(e[o.position]!==13||e[o.position+1]!==10)return"failure";o.position+=2;let g;c!==null?(u??="text/plain",lv(u)||(u=""),g=new nv([p],c,{type:u})):g=tv(Buffer.from(p)),Ho(xh(A)),Ho(typeof g=="string"&&xh(g)||rv(g)),i.push(iv(A,g,c))}}function gv(e,t){let s=null,r=null,i=null,o=null;for(;;){if(e[t.position]===13&&e[t.position+1]===10)return s===null?"failure":{name:s,filename:r,contentType:i,encoding:o};let n=cr(a=>a!==10&&a!==13&&a!==58,e,t);if(n=oc(n,!0,!0,a=>a===9||a===32),!sv.test(n.toString())||e[t.position]!==58)return"failure";switch(t.position++,cr(a=>a===32||a===9,e,t),ev(n)){case"content-disposition":{if(s=r=null,!Vo(e,av,t)||(t.position+=17,s=Dh(e,t),s===null))return"failure";if(Vo(e,kh,t)){let a=t.position+kh.length;if(e[a]===42&&(t.position+=1,a+=1),e[a]!==61||e[a+1]!==34||(t.position+=12,r=Dh(e,t),r===null))return"failure"}break}case"content-type":{let a=cr(A=>A!==10&&A!==13,e,t);a=oc(a,!1,!0,A=>A===9||A===32),i=vh(a);break}case"content-transfer-encoding":{let a=cr(A=>A!==10&&A!==13,e,t);a=oc(a,!1,!0,A=>A===9||A===32),o=vh(a);break}default:cr(a=>a!==10&&a!==13,e,t)}if(e[t.position]!==13&&e[t.position+1]!==10)return"failure";t.position+=2}}function Dh(e,t){Ho(e[t.position-1]===34);let s=cr(r=>r!==10&&r!==13&&r!==34,e,t);return e[t.position]!==34?null:(t.position++,s=new TextDecoder().decode(s).replace(/%0A/ig,` +`).replace(/%0D/ig,"\r").replace(/%22/g,'"'),s)}function cr(e,t,s){let r=s.position;for(;r0&&r(e[o]);)o--;return i===0&&o===e.length-1?e:e.subarray(i,o+1)}function Vo(e,t,s){if(e.length{"use strict";var ui=N(),{ReadableStreamFrom:hv,isBlobLike:Fh,isReadableStreamLike:dv,readableStreamClose:Ev,createDeferredPromise:mv,fullyReadBody:fv,extractMimeType:Qv,utf8DecodeBytes:Nh}=Ue(),{FormData:Sh}=li(),{kState:ur}=Kt(),{webidl:Bv}=ge(),{Blob:Cv}=require("node:buffer"),nc=require("node:assert"),{isErrored:Gh,isDisturbed:Iv}=require("node:stream"),{isArrayBuffer:wv}=require("node:util/types"),{serializeAMimeType:bv}=ve(),{multipartFormDataParser:yv}=Th(),ac;try{let e=require("node:crypto");ac=t=>e.randomInt(0,t)}catch{ac=e=>Math.floor(Math.random(e))}var qo=new TextEncoder;function xv(){}var Mh=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0,Lh;Mh&&(Lh=new FinalizationRegistry(e=>{let t=e.deref();t&&!t.locked&&!Iv(t)&&!Gh(t)&&t.cancel("Response object has been garbage collected").catch(xv)}));function _h(e,t=!1){let s=null;e instanceof ReadableStream?s=e:Fh(e)?s=e.stream():s=new ReadableStream({async pull(A){let c=typeof i=="string"?qo.encode(i):i;c.byteLength&&A.enqueue(c),queueMicrotask(()=>Ev(A))},start(){},type:"bytes"}),nc(dv(s));let r=null,i=null,o=null,n=null;if(typeof e=="string")i=e,n="text/plain;charset=UTF-8";else if(e instanceof URLSearchParams)i=e.toString(),n="application/x-www-form-urlencoded;charset=UTF-8";else if(wv(e))i=new Uint8Array(e.slice());else if(ArrayBuffer.isView(e))i=new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength));else if(ui.isFormDataLike(e)){let A=`----formdata-undici-0${`${ac(1e11)}`.padStart(11,"0")}`,c=`--${A}\r +Content-Disposition: form-data`;let u=f=>f.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),l=f=>f.replace(/\r?\n|\r/g,`\r +`),p=[],g=new Uint8Array([13,10]);o=0;let h=!1;for(let[f,d]of e)if(typeof d=="string"){let m=qo.encode(c+`; name="${u(l(f))}"\r +\r +${l(d)}\r +`);p.push(m),o+=m.byteLength}else{let m=qo.encode(`${c}; name="${u(l(f))}"`+(d.name?`; filename="${u(d.name)}"`:"")+`\r +Content-Type: ${d.type||"application/octet-stream"}\r +\r +`);p.push(m,d,g),typeof d.size=="number"?o+=m.byteLength+d.size+g.byteLength:h=!0}let E=qo.encode(`--${A}--\r +`);p.push(E),o+=E.byteLength,h&&(o=null),i=e,r=async function*(){for(let f of p)f.stream?yield*f.stream():yield f},n=`multipart/form-data; boundary=${A}`}else if(Fh(e))i=e,o=e.size,e.type&&(n=e.type);else if(typeof e[Symbol.asyncIterator]=="function"){if(t)throw new TypeError("keepalive");if(ui.isDisturbed(e)||e.locked)throw new TypeError("Response body object should not be disturbed or locked");s=e instanceof ReadableStream?e:hv(e)}if((typeof i=="string"||ui.isBuffer(i))&&(o=Buffer.byteLength(i)),r!=null){let A;s=new ReadableStream({async start(){A=r(e)[Symbol.asyncIterator]()},async pull(c){let{value:u,done:l}=await A.next();if(l)queueMicrotask(()=>{c.close(),c.byobRequest?.respond(0)});else if(!Gh(s)){let p=new Uint8Array(u);p.byteLength&&c.enqueue(p)}return c.desiredSize>0},async cancel(c){await A.return()},type:"bytes"})}return[{stream:s,source:i,length:o},n]}function vv(e,t=!1){return e instanceof ReadableStream&&(nc(!ui.isDisturbed(e),"The body has already been consumed."),nc(!e.locked,"The stream is locked.")),_h(e,t)}function kv(e,t){let[s,r]=t.stream.tee();return t.stream=s,{stream:r,length:t.length,source:t.source}}function Dv(e){if(e.aborted)throw new DOMException("The operation was aborted.","AbortError")}function Rv(e){return{blob(){return lr(this,s=>{let r=Uh(this);return r===null?r="":r&&(r=bv(r)),new Cv([s],{type:r})},e)},arrayBuffer(){return lr(this,s=>new Uint8Array(s).buffer,e)},text(){return lr(this,Nh,e)},json(){return lr(this,Fv,e)},formData(){return lr(this,s=>{let r=Uh(this);if(r!==null)switch(r.essence){case"multipart/form-data":{let i=yv(s,r);if(i==="failure")throw new TypeError("Failed to parse body as FormData.");let o=new Sh;return o[ur]=i,o}case"application/x-www-form-urlencoded":{let i=new URLSearchParams(s.toString()),o=new Sh;for(let[n,a]of i)o.append(n,a);return o}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},e)},bytes(){return lr(this,s=>new Uint8Array(s),e)}}}function Tv(e){Object.assign(e.prototype,Rv(e))}async function lr(e,t,s){if(Bv.brandCheck(e,s),Yh(e))throw new TypeError("Body is unusable: Body has already been read");Dv(e[ur]);let r=mv(),i=n=>r.reject(n),o=n=>{try{r.resolve(t(n))}catch(a){i(a)}};return e[ur].body==null?(o(Buffer.allocUnsafe(0)),r.promise):(await fv(e[ur].body,o,i),r.promise)}function Yh(e){let t=e[ur].body;return t!=null&&(t.stream.locked||ui.isDisturbed(t.stream))}function Fv(e){return JSON.parse(Nh(e))}function Uh(e){let t=e[ur].headersList,s=Qv(t);return s==="failure"?null:s}Oh.exports={extractBody:_h,safelyExtractBody:vv,cloneBody:kv,mixinBody:Tv,streamRegistry:Lh,hasFinalizationRegistry:Mh,bodyUnusable:Yh}});var Xh=Q((S2,Kh)=>{"use strict";var k=require("node:assert"),F=N(),{channels:Jh}=$s(),Ac=PA(),{RequestContentLengthMismatchError:bs,ResponseContentLengthMismatchError:Sv,RequestAbortedError:jh,HeadersTimeoutError:Uv,HeadersOverflowError:Nv,SocketError:Xo,InformationalError:gr,BodyTimeoutError:Gv,HTTPParserError:Mv,ResponseExceededMaxSizeError:Lv}=Y(),{kUrl:zh,kReset:ke,kClient:pc,kParser:X,kBlocking:hi,kRunning:Ee,kPending:_v,kSize:Ph,kWriting:$t,kQueue:st,kNoRef:pi,kKeepAliveDefaultTimeout:Yv,kHostHeader:Ov,kPendingIdx:Jv,kRunningIdx:qe,kError:We,kPipelining:Zo,kSocket:hr,kKeepAliveTimeoutValue:$o,kMaxHeadersSize:cc,kKeepAliveMaxTimeout:Pv,kKeepAliveTimeoutThreshold:Hv,kHeadersTimeout:Vv,kBodyTimeout:qv,kStrictContentLength:gc,kMaxRequests:Hh,kCounter:Wv,kMaxResponseSize:jv,kOnError:zv,kResume:Xt,kHTTPContext:Zh}=j(),ft=Lg(),Zv=Buffer.alloc(0),Wo=Buffer[Symbol.species],jo=F.addListener,Kv=F.removeAllListeners,lc;async function Xv(){let e=process.env.JEST_WORKER_ID?qA():void 0,t;try{t=await WebAssembly.compile(Og())}catch{t=await WebAssembly.compile(e||qA())}return await WebAssembly.instantiate(t,{env:{wasm_on_url:(s,r,i)=>0,wasm_on_status:(s,r,i)=>{k(oe.ptr===s);let o=r-Bt+Qt.byteOffset;return oe.onStatus(new Wo(Qt.buffer,o,i))||0},wasm_on_message_begin:s=>(k(oe.ptr===s),oe.onMessageBegin()||0),wasm_on_header_field:(s,r,i)=>{k(oe.ptr===s);let o=r-Bt+Qt.byteOffset;return oe.onHeaderField(new Wo(Qt.buffer,o,i))||0},wasm_on_header_value:(s,r,i)=>{k(oe.ptr===s);let o=r-Bt+Qt.byteOffset;return oe.onHeaderValue(new Wo(Qt.buffer,o,i))||0},wasm_on_headers_complete:(s,r,i,o)=>(k(oe.ptr===s),oe.onHeadersComplete(r,!!i,!!o)||0),wasm_on_body:(s,r,i)=>{k(oe.ptr===s);let o=r-Bt+Qt.byteOffset;return oe.onBody(new Wo(Qt.buffer,o,i))||0},wasm_on_message_complete:s=>(k(oe.ptr===s),oe.onMessageComplete()||0)}})}var uc=null,hc=Xv();hc.catch();var oe=null,Qt=null,zo=0,Bt=null,$v=0,gi=1,dr=2|gi,Ko=4|gi,dc=8|$v,Ec=class{constructor(t,s,{exports:r}){k(Number.isFinite(t[cc])&&t[cc]>0),this.llhttp=r,this.ptr=this.llhttp.llhttp_alloc(ft.TYPE.RESPONSE),this.client=t,this.socket=s,this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.statusCode=null,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=t[cc],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength="",this.connection="",this.maxResponseSize=t[jv]}setTimeout(t,s){t!==this.timeoutValue||s&gi^this.timeoutType&gi?(this.timeout&&(Ac.clearTimeout(this.timeout),this.timeout=null),t&&(s&gi?this.timeout=Ac.setFastTimeout(Vh,t,new WeakRef(this)):(this.timeout=setTimeout(Vh,t,new WeakRef(this)),this.timeout.unref())),this.timeoutValue=t):this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.timeoutType=s}resume(){this.socket.destroyed||!this.paused||(k(this.ptr!=null),k(oe==null),this.llhttp.llhttp_resume(this.ptr),k(this.timeoutType===Ko),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||Zv),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let t=this.socket.read();if(t===null)break;this.execute(t)}}execute(t){k(this.ptr!=null),k(oe==null),k(!this.paused);let{socket:s,llhttp:r}=this;t.length>zo&&(Bt&&r.free(Bt),zo=Math.ceil(t.length/4096)*4096,Bt=r.malloc(zo)),new Uint8Array(r.memory.buffer,Bt,zo).set(t);try{let i;try{Qt=t,oe=this,i=r.llhttp_execute(this.ptr,Bt,t.length)}catch(n){throw n}finally{oe=null,Qt=null}let o=r.llhttp_get_error_pos(this.ptr)-Bt;if(i===ft.ERROR.PAUSED_UPGRADE)this.onUpgrade(t.slice(o));else if(i===ft.ERROR.PAUSED)this.paused=!0,s.unshift(t.slice(o));else if(i!==ft.ERROR.OK){let n=r.llhttp_get_error_reason(this.ptr),a="";if(n){let A=new Uint8Array(r.memory.buffer,n).indexOf(0);a="Response does not match the HTTP/1.1 protocol ("+Buffer.from(r.memory.buffer,n,A).toString()+")"}throw new Mv(a,ft.ERROR[i],t.slice(o))}}catch(i){F.destroy(s,i)}}destroy(){k(this.ptr!=null),k(oe==null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&Ac.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(t){this.statusText=t.toString()}onMessageBegin(){let{socket:t,client:s}=this;if(t.destroyed)return-1;let r=s[st][s[qe]];if(!r)return-1;r.onResponseStarted()}onHeaderField(t){let s=this.headers.length;(s&1)===0?this.headers.push(t):this.headers[s-1]=Buffer.concat([this.headers[s-1],t]),this.trackHeader(t.length)}onHeaderValue(t){let s=this.headers.length;(s&1)===1?(this.headers.push(t),s+=1):this.headers[s-1]=Buffer.concat([this.headers[s-1],t]);let r=this.headers[s-2];if(r.length===10){let i=F.bufferToLowerCasedHeaderName(r);i==="keep-alive"?this.keepAlive+=t.toString():i==="connection"&&(this.connection+=t.toString())}else r.length===14&&F.bufferToLowerCasedHeaderName(r)==="content-length"&&(this.contentLength+=t.toString());this.trackHeader(t.length)}trackHeader(t){this.headersSize+=t,this.headersSize>=this.headersMaxSize&&F.destroy(this.socket,new Nv)}onUpgrade(t){let{upgrade:s,client:r,socket:i,headers:o,statusCode:n}=this;k(s),k(r[hr]===i),k(!i.destroyed),k(!this.paused),k((o.length&1)===0);let a=r[st][r[qe]];k(a),k(a.upgrade||a.method==="CONNECT"),this.statusCode=null,this.statusText="",this.shouldKeepAlive=null,this.headers=[],this.headersSize=0,i.unshift(t),i[X].destroy(),i[X]=null,i[pc]=null,i[We]=null,Kv(i),r[hr]=null,r[Zh]=null,r[st][r[qe]++]=null,r.emit("disconnect",r[zh],[r],new gr("upgrade"));try{a.onUpgrade(n,o,i)}catch(A){F.destroy(i,A)}r[Xt]()}onHeadersComplete(t,s,r){let{client:i,socket:o,headers:n,statusText:a}=this;if(o.destroyed)return-1;let A=i[st][i[qe]];if(!A)return-1;if(k(!this.upgrade),k(this.statusCode<200),t===100)return F.destroy(o,new Xo("bad response",F.getSocketInfo(o))),-1;if(s&&!A.upgrade)return F.destroy(o,new Xo("bad upgrade",F.getSocketInfo(o))),-1;if(k(this.timeoutType===dr),this.statusCode=t,this.shouldKeepAlive=r||A.method==="HEAD"&&!o[ke]&&this.connection.toLowerCase()==="keep-alive",this.statusCode>=200){let u=A.bodyTimeout!=null?A.bodyTimeout:i[qv];this.setTimeout(u,Ko)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(A.method==="CONNECT")return k(i[Ee]===1),this.upgrade=!0,2;if(s)return k(i[Ee]===1),this.upgrade=!0,2;if(k((this.headers.length&1)===0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&i[Zo]){let u=this.keepAlive?F.parseKeepAliveTimeout(this.keepAlive):null;if(u!=null){let l=Math.min(u-i[Hv],i[Pv]);l<=0?o[ke]=!0:i[$o]=l}else i[$o]=i[Yv]}else o[ke]=!0;let c=A.onHeaders(t,n,this.resume,a)===!1;return A.aborted?-1:A.method==="HEAD"||t<200?1:(o[hi]&&(o[hi]=!1,i[Xt]()),c?ft.ERROR.PAUSED:0)}onBody(t){let{client:s,socket:r,statusCode:i,maxResponseSize:o}=this;if(r.destroyed)return-1;let n=s[st][s[qe]];if(k(n),k(this.timeoutType===Ko),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),k(i>=200),o>-1&&this.bytesRead+t.length>o)return F.destroy(r,new Lv),-1;if(this.bytesRead+=t.length,n.onData(t)===!1)return ft.ERROR.PAUSED}onMessageComplete(){let{client:t,socket:s,statusCode:r,upgrade:i,headers:o,contentLength:n,bytesRead:a,shouldKeepAlive:A}=this;if(s.destroyed&&(!r||A))return-1;if(i)return;k(r>=100),k((this.headers.length&1)===0);let c=t[st][t[qe]];if(k(c),this.statusCode=null,this.statusText="",this.bytesRead=0,this.contentLength="",this.keepAlive="",this.connection="",this.headers=[],this.headersSize=0,!(r<200)){if(c.method!=="HEAD"&&n&&a!==parseInt(n,10))return F.destroy(s,new Sv),-1;if(c.onComplete(o),t[st][t[qe]++]=null,s[$t])return k(t[Ee]===0),F.destroy(s,new gr("reset")),ft.ERROR.PAUSED;if(A){if(s[ke]&&t[Ee]===0)return F.destroy(s,new gr("reset")),ft.ERROR.PAUSED;t[Zo]==null||t[Zo]===1?setImmediate(()=>t[Xt]()):t[Xt]()}else return F.destroy(s,new gr("reset")),ft.ERROR.PAUSED}}};function Vh(e){let{socket:t,timeoutType:s,client:r,paused:i}=e.deref();s===dr?(!t[$t]||t.writableNeedDrain||r[Ee]>1)&&(k(!i,"cannot be paused while waiting for headers"),F.destroy(t,new Uv)):s===Ko?i||F.destroy(t,new Gv):s===dc&&(k(r[Ee]===0&&r[$o]),F.destroy(t,new gr("socket idle timeout")))}async function ek(e,t){e[hr]=t,uc||(uc=await hc,hc=null),t[pi]=!1,t[$t]=!1,t[ke]=!1,t[hi]=!1,t[X]=new Ec(e,t,uc),jo(t,"error",function(r){k(r.code!=="ERR_TLS_CERT_ALTNAME_INVALID");let i=this[X];if(r.code==="ECONNRESET"&&i.statusCode&&!i.shouldKeepAlive){i.onMessageComplete();return}this[We]=r,this[pc][zv](r)}),jo(t,"readable",function(){let r=this[X];r&&r.readMore()}),jo(t,"end",function(){let r=this[X];if(r.statusCode&&!r.shouldKeepAlive){r.onMessageComplete();return}F.destroy(this,new Xo("other side closed",F.getSocketInfo(this)))}),jo(t,"close",function(){let r=this[pc],i=this[X];i&&(!this[We]&&i.statusCode&&!i.shouldKeepAlive&&i.onMessageComplete(),this[X].destroy(),this[X]=null);let o=this[We]||new Xo("closed",F.getSocketInfo(this));if(r[hr]=null,r[Zh]=null,r.destroyed){k(r[_v]===0);let n=r[st].splice(r[qe]);for(let a=0;a0&&o.code!=="UND_ERR_INFO"){let n=r[st][r[qe]];r[st][r[qe]++]=null,F.errorRequest(r,n,o)}r[Jv]=r[qe],k(r[Ee]===0),r.emit("disconnect",r[zh],[r],o),r[Xt]()});let s=!1;return t.on("close",()=>{s=!0}),{version:"h1",defaultPipelining:1,write(...r){return rk(e,...r)},resume(){tk(e)},destroy(r,i){s?queueMicrotask(i):t.destroy(r).on("close",i)},get destroyed(){return t.destroyed},busy(r){return!!(t[$t]||t[ke]||t[hi]||r&&(e[Ee]>0&&!r.idempotent||e[Ee]>0&&(r.upgrade||r.method==="CONNECT")||e[Ee]>0&&F.bodyLength(r.body)!==0&&(F.isStream(r.body)||F.isAsyncIterable(r.body)||F.isFormDataLike(r.body))))}}}function tk(e){let t=e[hr];if(t&&!t.destroyed){if(e[Ph]===0?!t[pi]&&t.unref&&(t.unref(),t[pi]=!0):t[pi]&&t.ref&&(t.ref(),t[pi]=!1),e[Ph]===0)t[X].timeoutType!==dc&&t[X].setTimeout(e[$o],dc);else if(e[Ee]>0&&t[X].statusCode<200&&t[X].timeoutType!==dr){let s=e[st][e[qe]],r=s.headersTimeout!=null?s.headersTimeout:e[Vv];t[X].setTimeout(r,dr)}}}function sk(e){return e!=="GET"&&e!=="HEAD"&&e!=="OPTIONS"&&e!=="TRACE"&&e!=="CONNECT"}function rk(e,t){let{method:s,path:r,host:i,upgrade:o,blocking:n,reset:a}=t,{body:A,headers:c,contentLength:u}=t,l=s==="PUT"||s==="POST"||s==="PATCH"||s==="QUERY"||s==="PROPFIND"||s==="PROPPATCH";if(F.isFormDataLike(A)){lc||(lc=pr().extractBody);let[f,d]=lc(A);t.contentType==null&&c.push("content-type",d),A=f.stream,u=f.length}else F.isBlobLike(A)&&t.contentType==null&&A.type&&c.push("content-type",A.type);A&&typeof A.read=="function"&&A.read(0);let p=F.bodyLength(A);if(u=p??u,u===null&&(u=t.contentLength),u===0&&!l&&(u=null),sk(s)&&u>0&&t.contentLength!==null&&t.contentLength!==u){if(e[gc])return F.errorRequest(e,t,new bs),!1;process.emitWarning(new bs)}let g=e[hr],h=f=>{t.aborted||t.completed||(F.errorRequest(e,t,f||new jh),F.destroy(A),F.destroy(g,new gr("aborted")))};try{t.onConnect(h)}catch(f){F.errorRequest(e,t,f)}if(t.aborted)return!1;s==="HEAD"&&(g[ke]=!0),(o||s==="CONNECT")&&(g[ke]=!0),a!=null&&(g[ke]=a),e[Hh]&&g[Wv]++>=e[Hh]&&(g[ke]=!0),n&&(g[hi]=!0);let E=`${s} ${r} HTTP/1.1\r +`;if(typeof i=="string"?E+=`host: ${i}\r +`:E+=e[Ov],o?E+=`connection: upgrade\r +upgrade: ${o}\r +`:e[Zo]&&!g[ke]?E+=`connection: keep-alive\r +`:E+=`connection: close\r +`,Array.isArray(c))for(let f=0;f{t.removeListener("error",g)}),!A){let h=new jh;queueMicrotask(()=>g(h))}},g=function(h){if(!A){if(A=!0,k(i.destroyed||i[$t]&&s[Ee]<=1),i.off("drain",l).off("error",g),t.removeListener("data",u).removeListener("end",g).removeListener("close",p),!h)try{c.end()}catch(E){h=E}c.destroy(h),h&&(h.code!=="UND_ERR_INFO"||h.message!=="reset")?F.destroy(t,h):F.destroy(t)}};t.on("data",u).on("end",g).on("error",g).on("close",p),t.resume&&t.resume(),i.on("drain",l).on("error",g),t.errorEmitted??t.errored?setImmediate(()=>g(t.errored)):(t.endEmitted??t.readableEnded)&&setImmediate(()=>g(null)),(t.closeEmitted??t.closed)&&setImmediate(p)}function qh(e,t,s,r,i,o,n,a){try{t?F.isBuffer(t)&&(k(o===t.byteLength,"buffer body must have content length"),i.cork(),i.write(`${n}content-length: ${o}\r +\r +`,"latin1"),i.write(t),i.uncork(),r.onBodySent(t),!a&&r.reset!==!1&&(i[ke]=!0)):o===0?i.write(`${n}content-length: 0\r +\r +`,"latin1"):(k(o===null,"no body must not have content length"),i.write(`${n}\r +`,"latin1")),r.onRequestSent(),s[Xt]()}catch(A){e(A)}}async function ok(e,t,s,r,i,o,n,a){k(o===t.size,"blob body must have content length");try{if(o!=null&&o!==t.size)throw new bs;let A=Buffer.from(await t.arrayBuffer());i.cork(),i.write(`${n}content-length: ${o}\r +\r +`,"latin1"),i.write(A),i.uncork(),r.onBodySent(A),r.onRequestSent(),!a&&r.reset!==!1&&(i[ke]=!0),s[Xt]()}catch(A){e(A)}}async function Wh(e,t,s,r,i,o,n,a){k(o!==0||s[Ee]===0,"iterator body cannot be pipelined");let A=null;function c(){if(A){let p=A;A=null,p()}}let u=()=>new Promise((p,g)=>{k(A===null),i[We]?g(i[We]):A=p});i.on("close",c).on("drain",c);let l=new en({abort:e,socket:i,request:r,contentLength:o,client:s,expectsPayload:a,header:n});try{for await(let p of t){if(i[We])throw i[We];l.write(p)||await u()}l.end()}catch(p){l.destroy(p)}finally{i.off("close",c).off("drain",c)}}var en=class{constructor({abort:t,socket:s,request:r,contentLength:i,client:o,expectsPayload:n,header:a}){this.socket=s,this.request=r,this.contentLength=i,this.client=o,this.bytesWritten=0,this.expectsPayload=n,this.header=a,this.abort=t,s[$t]=!0}write(t){let{socket:s,request:r,contentLength:i,client:o,bytesWritten:n,expectsPayload:a,header:A}=this;if(s[We])throw s[We];if(s.destroyed)return!1;let c=Buffer.byteLength(t);if(!c)return!0;if(i!==null&&n+c>i){if(o[gc])throw new bs;process.emitWarning(new bs)}s.cork(),n===0&&(!a&&r.reset!==!1&&(s[ke]=!0),i===null?s.write(`${A}transfer-encoding: chunked\r +`,"latin1"):s.write(`${A}content-length: ${i}\r +\r +`,"latin1")),i===null&&s.write(`\r +${c.toString(16)}\r +`,"latin1"),this.bytesWritten+=c;let u=s.write(t);return s.uncork(),r.onBodySent(t),u||s[X].timeout&&s[X].timeoutType===dr&&s[X].timeout.refresh&&s[X].timeout.refresh(),u}end(){let{socket:t,contentLength:s,client:r,bytesWritten:i,expectsPayload:o,header:n,request:a}=this;if(a.onRequestSent(),t[$t]=!1,t[We])throw t[We];if(!t.destroyed){if(i===0?o?t.write(`${n}content-length: 0\r +\r +`,"latin1"):t.write(`${n}\r +`,"latin1"):s===null&&t.write(`\r +0\r +\r +`,"latin1"),s!==null&&i!==s){if(r[gc])throw new bs;process.emitWarning(new bs)}t[X].timeout&&t[X].timeoutType===dr&&t[X].timeout.refresh&&t[X].timeout.refresh(),r[Xt]()}}destroy(t){let{socket:s,client:r,abort:i}=this;s[$t]=!1,t&&(k(r[Ee]<=1,"pipeline should only contain this request"),i(t))}};Kh.exports=ek});var nd=Q((U2,od)=>{"use strict";var je=require("node:assert"),{pipeline:nk}=require("node:stream"),M=N(),{RequestContentLengthMismatchError:mc,RequestAbortedError:$h,SocketError:di,InformationalError:fc}=Y(),{kUrl:tn,kReset:rn,kClient:Er,kRunning:on,kPending:ak,kQueue:es,kPendingIdx:Qc,kRunningIdx:rt,kError:ot,kSocket:ae,kStrictContentLength:Ak,kOnError:Bc,kMaxConcurrentStreams:id,kHTTP2Session:it,kResume:ts,kSize:ck,kHTTPContext:lk}=j(),Gt=Symbol("open streams"),ed,td=!1,sn;try{sn=require("node:http2")}catch{sn={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:uk,HTTP2_HEADER_METHOD:pk,HTTP2_HEADER_PATH:gk,HTTP2_HEADER_SCHEME:hk,HTTP2_HEADER_CONTENT_LENGTH:dk,HTTP2_HEADER_EXPECT:Ek,HTTP2_HEADER_STATUS:mk}}=sn;function fk(e){let t=[];for(let[s,r]of Object.entries(e))if(Array.isArray(r))for(let i of r)t.push(Buffer.from(s),Buffer.from(i));else t.push(Buffer.from(s),Buffer.from(r));return t}async function Qk(e,t){e[ae]=t,td||(td=!0,process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"}));let s=sn.connect(e[tn],{createConnection:()=>t,peerMaxConcurrentStreams:e[id]});s[Gt]=0,s[Er]=e,s[ae]=t,M.addListener(s,"error",Ck),M.addListener(s,"frameError",Ik),M.addListener(s,"end",wk),M.addListener(s,"goaway",bk),M.addListener(s,"close",function(){let{[Er]:i}=this,{[ae]:o}=i,n=this[ae][ot]||this[ot]||new di("closed",M.getSocketInfo(o));if(i[it]=null,i.destroyed){je(i[ak]===0);let a=i[es].splice(i[rt]);for(let A=0;A{r=!0}),{version:"h2",defaultPipelining:1/0,write(...i){return xk(e,...i)},resume(){Bk(e)},destroy(i,o){r?queueMicrotask(o):t.destroy(i).on("close",o)},get destroyed(){return t.destroyed},busy(){return!1}}}function Bk(e){let t=e[ae];t?.destroyed===!1&&(e[ck]===0&&e[id]===0?(t.unref(),e[it].unref()):(t.ref(),e[it].ref()))}function Ck(e){je(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[ae][ot]=e,this[Er][Bc](e)}function Ik(e,t,s){if(s===0){let r=new fc(`HTTP/2: "frameError" received - type ${e}, code ${t}`);this[ae][ot]=r,this[Er][Bc](r)}}function wk(){let e=new di("other side closed",M.getSocketInfo(this[ae]));this.destroy(e),M.destroy(this[ae],e)}function bk(e){let t=this[ot]||new di(`HTTP/2: "GOAWAY" frame received with code ${e}`,M.getSocketInfo(this)),s=this[Er];if(s[ae]=null,s[lk]=null,this[it]!=null&&(this[it].destroy(t),this[it]=null),M.destroy(this[ae],t),s[rt]{t.aborted||t.completed||(B=B||new $h,M.errorRequest(e,t,B),p!=null&&M.destroy(p,B),M.destroy(u,B),e[es][e[rt]++]=null,e[ts]())};try{t.onConnect(E)}catch(B){M.errorRequest(e,t,B)}if(t.aborted)return!1;if(r==="CONNECT")return s.ref(),p=s.request(l,{endStream:!1,signal:A}),p.id&&!p.pending?(t.onUpgrade(null,null,p),++s[Gt],e[es][e[rt]++]=null):p.once("ready",()=>{t.onUpgrade(null,null,p),++s[Gt],e[es][e[rt]++]=null}),p.once("close",()=>{s[Gt]-=1,s[Gt]===0&&s.unref()}),!0;l[gk]=i,l[hk]="https";let f=r==="PUT"||r==="POST"||r==="PATCH";u&&typeof u.read=="function"&&u.read(0);let d=M.bodyLength(u);if(M.isFormDataLike(u)){ed??=pr().extractBody;let[B,b]=ed(u);l["content-type"]=b,u=B.stream,d=B.length}if(d==null&&(d=t.contentLength),(d===0||!f)&&(d=null),yk(r)&&d>0&&t.contentLength!=null&&t.contentLength!==d){if(e[Ak])return M.errorRequest(e,t,new mc),!1;process.emitWarning(new mc)}d!=null&&(je(u,"no body must not have content length"),l[dk]=`${d}`),s.ref();let m=r==="GET"||r==="HEAD"||u===null;return a?(l[Ek]="100-continue",p=s.request(l,{endStream:m,signal:A}),p.once("continue",C)):(p=s.request(l,{endStream:m,signal:A}),C()),++s[Gt],p.once("response",B=>{let{[mk]:b,...S}=B;if(t.onResponseStarted(),t.aborted){let G=new $h;M.errorRequest(e,t,G),M.destroy(p,G);return}t.onHeaders(Number(b),fk(S),p.resume.bind(p),"")===!1&&p.pause(),p.on("data",G=>{t.onData(G)===!1&&p.pause()})}),p.once("end",()=>{(p.state?.state==null||p.state.state<6)&&t.onComplete([]),s[Gt]===0&&s.unref(),E(new fc("HTTP/2: stream half-closed (remote)")),e[es][e[rt]++]=null,e[Qc]=e[rt],e[ts]()}),p.once("close",()=>{s[Gt]-=1,s[Gt]===0&&s.unref()}),p.once("error",function(B){E(B)}),p.once("frameError",(B,b)=>{E(new fc(`HTTP/2: "frameError" received - type ${B}, code ${b}`))}),!0;function C(){!u||d===0?sd(E,p,null,e,t,e[ae],d,f):M.isBuffer(u)?sd(E,p,u,e,t,e[ae],d,f):M.isBlobLike(u)?typeof u.stream=="function"?rd(E,p,u.stream(),e,t,e[ae],d,f):kk(E,p,u,e,t,e[ae],d,f):M.isStream(u)?vk(E,e[ae],f,p,u,e,t,d):M.isIterable(u)?rd(E,p,u,e,t,e[ae],d,f):je(!1)}}function sd(e,t,s,r,i,o,n,a){try{s!=null&&M.isBuffer(s)&&(je(n===s.byteLength,"buffer body must have content length"),t.cork(),t.write(s),t.uncork(),t.end(),i.onBodySent(s)),a||(o[rn]=!0),i.onRequestSent(),r[ts]()}catch(A){e(A)}}function vk(e,t,s,r,i,o,n,a){je(a!==0||o[on]===0,"stream body cannot be pipelined");let A=nk(i,r,u=>{u?(M.destroy(A,u),e(u)):(M.removeAllListeners(A),n.onRequestSent(),s||(t[rn]=!0),o[ts]())});M.addListener(A,"data",c);function c(u){n.onBodySent(u)}}async function kk(e,t,s,r,i,o,n,a){je(n===s.size,"blob body must have content length");try{if(n!=null&&n!==s.size)throw new mc;let A=Buffer.from(await s.arrayBuffer());t.cork(),t.write(A),t.uncork(),t.end(),i.onBodySent(A),i.onRequestSent(),a||(o[rn]=!0),r[ts]()}catch(A){e(A)}}async function rd(e,t,s,r,i,o,n,a){je(n!==0||r[on]===0,"iterator body cannot be pipelined");let A=null;function c(){if(A){let l=A;A=null,l()}}let u=()=>new Promise((l,p)=>{je(A===null),o[ot]?p(o[ot]):A=l});t.on("close",c).on("drain",c);try{for await(let l of s){if(o[ot])throw o[ot];let p=t.write(l);i.onBodySent(l),p||await u()}t.end(),i.onRequestSent(),a||(o[rn]=!0),r[ts]()}catch(l){e(l)}finally{t.off("close",c).off("drain",c)}}od.exports=Qk});var an=Q((N2,cd)=>{"use strict";var Ct=N(),{kBodyUsed:Ei}=j(),Ic=require("node:assert"),{InvalidArgumentError:Dk}=Y(),Rk=require("node:events"),Tk=[300,301,302,303,307,308],ad=Symbol("body"),nn=class{constructor(t){this[ad]=t,this[Ei]=!1}async*[Symbol.asyncIterator](){Ic(!this[Ei],"disturbed"),this[Ei]=!0,yield*this[ad]}},Cc=class{constructor(t,s,r,i){if(s!=null&&(!Number.isInteger(s)||s<0))throw new Dk("maxRedirections must be a positive number");Ct.validateHandler(i,r.method,r.upgrade),this.dispatch=t,this.location=null,this.abort=null,this.opts={...r,maxRedirections:0},this.maxRedirections=s,this.handler=i,this.history=[],this.redirectionLimitReached=!1,Ct.isStream(this.opts.body)?(Ct.bodyLength(this.opts.body)===0&&this.opts.body.on("data",function(){Ic(!1)}),typeof this.opts.body.readableDidRead!="boolean"&&(this.opts.body[Ei]=!1,Rk.prototype.on.call(this.opts.body,"data",function(){this[Ei]=!0}))):this.opts.body&&typeof this.opts.body.pipeTo=="function"?this.opts.body=new nn(this.opts.body):this.opts.body&&typeof this.opts.body!="string"&&!ArrayBuffer.isView(this.opts.body)&&Ct.isIterable(this.opts.body)&&(this.opts.body=new nn(this.opts.body))}onConnect(t){this.abort=t,this.handler.onConnect(t,{history:this.history})}onUpgrade(t,s,r){this.handler.onUpgrade(t,s,r)}onError(t){this.handler.onError(t)}onHeaders(t,s,r,i){if(this.location=this.history.length>=this.maxRedirections||Ct.isDisturbed(this.opts.body)?null:Fk(t,s),this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections){this.request&&this.request.abort(new Error("max redirects")),this.redirectionLimitReached=!0,this.abort(new Error("max redirects"));return}if(this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location)return this.handler.onHeaders(t,s,r,i);let{origin:o,pathname:n,search:a}=Ct.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),A=a?`${n}${a}`:n;this.opts.headers=Sk(this.opts.headers,t===303,this.opts.origin!==o),this.opts.path=A,this.opts.origin=o,this.opts.maxRedirections=0,this.opts.query=null,t===303&&this.opts.method!=="HEAD"&&(this.opts.method="GET",this.opts.body=null)}onData(t){if(!this.location)return this.handler.onData(t)}onComplete(t){this.location?(this.location=null,this.abort=null,this.dispatch(this.opts,this)):this.handler.onComplete(t)}onBodySent(t){this.handler.onBodySent&&this.handler.onBodySent(t)}};function Fk(e,t){if(Tk.indexOf(e)===-1)return null;for(let s=0;s{"use strict";var Uk=an();function Nk({maxRedirections:e}){return t=>function(r,i){let{maxRedirections:o=e}=r;if(!o)return t(r,i);let n=new Uk(t,o,r,i);return r={...r,maxRedirections:0},t(r,n)}}ld.exports=Nk});var Qr=Q((M2,Bd)=>{"use strict";var Mt=require("node:assert"),Ed=require("node:net"),Gk=require("node:http"),ys=N(),{channels:mr}=$s(),Mk=yg(),Lk=rr(),{InvalidArgumentError:$,InformationalError:_k,ClientDestroyedError:Yk}=Y(),Ok=ri(),{kUrl:It,kServerName:ss,kClient:Jk,kBusy:wc,kConnect:Pk,kResuming:xs,kRunning:Ci,kPending:Ii,kSize:Bi,kQueue:nt,kConnected:Hk,kConnecting:fr,kNeedDrain:is,kKeepAliveDefaultTimeout:ud,kHostHeader:Vk,kPendingIdx:at,kRunningIdx:Lt,kError:qk,kPipelining:cn,kKeepAliveTimeoutValue:Wk,kMaxHeadersSize:jk,kKeepAliveMaxTimeout:zk,kKeepAliveTimeoutThreshold:Zk,kHeadersTimeout:Kk,kBodyTimeout:Xk,kStrictContentLength:$k,kConnector:mi,kMaxRedirections:e0,kMaxRequests:bc,kCounter:t0,kClose:s0,kDestroy:r0,kDispatch:i0,kInterceptors:pd,kLocalAddress:fi,kMaxResponseSize:o0,kOnError:n0,kHTTPContext:ee,kMaxConcurrentStreams:a0,kResume:Qi}=j(),A0=Xh(),c0=nd(),gd=!1,rs=Symbol("kClosedResolve"),hd=()=>{};function md(e){return e[cn]??e[ee]?.defaultPipelining??1}var yc=class extends Lk{constructor(t,{interceptors:s,maxHeaderSize:r,headersTimeout:i,socketTimeout:o,requestTimeout:n,connectTimeout:a,bodyTimeout:A,idleTimeout:c,keepAlive:u,keepAliveTimeout:l,maxKeepAliveTimeout:p,keepAliveMaxTimeout:g,keepAliveTimeoutThreshold:h,socketPath:E,pipelining:f,tls:d,strictContentLength:m,maxCachedSessions:C,maxRedirections:B,connect:b,maxRequestsPerClient:S,localAddress:G,maxResponseSize:pe,autoSelectFamily:he,autoSelectFamilyAttemptTimeout:ht,maxConcurrentStreams:Wt,allowH2:xe}={}){if(super(),u!==void 0)throw new $("unsupported keepAlive, use pipelining=0 instead");if(o!==void 0)throw new $("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(n!==void 0)throw new $("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(c!==void 0)throw new $("unsupported idleTimeout, use keepAliveTimeout instead");if(p!==void 0)throw new $("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(r!=null&&!Number.isFinite(r))throw new $("invalid maxHeaderSize");if(E!=null&&typeof E!="string")throw new $("invalid socketPath");if(a!=null&&(!Number.isFinite(a)||a<0))throw new $("invalid connectTimeout");if(l!=null&&(!Number.isFinite(l)||l<=0))throw new $("invalid keepAliveTimeout");if(g!=null&&(!Number.isFinite(g)||g<=0))throw new $("invalid keepAliveMaxTimeout");if(h!=null&&!Number.isFinite(h))throw new $("invalid keepAliveTimeoutThreshold");if(i!=null&&(!Number.isInteger(i)||i<0))throw new $("headersTimeout must be a positive integer or zero");if(A!=null&&(!Number.isInteger(A)||A<0))throw new $("bodyTimeout must be a positive integer or zero");if(b!=null&&typeof b!="function"&&typeof b!="object")throw new $("connect must be a function or an object");if(B!=null&&(!Number.isInteger(B)||B<0))throw new $("maxRedirections must be a positive number");if(S!=null&&(!Number.isInteger(S)||S<0))throw new $("maxRequestsPerClient must be a positive number");if(G!=null&&(typeof G!="string"||Ed.isIP(G)===0))throw new $("localAddress must be valid string IP address");if(pe!=null&&(!Number.isInteger(pe)||pe<-1))throw new $("maxResponseSize must be a positive number");if(ht!=null&&(!Number.isInteger(ht)||ht<-1))throw new $("autoSelectFamilyAttemptTimeout must be a positive number");if(xe!=null&&typeof xe!="boolean")throw new $("allowH2 must be a valid boolean value");if(Wt!=null&&(typeof Wt!="number"||Wt<1))throw new $("maxConcurrentStreams must be a positive integer, greater than 0");typeof b!="function"&&(b=Ok({...d,maxCachedSessions:C,allowH2:xe,socketPath:E,timeout:a,...he?{autoSelectFamily:he,autoSelectFamilyAttemptTimeout:ht}:void 0,...b})),s?.Client&&Array.isArray(s.Client)?(this[pd]=s.Client,gd||(gd=!0,process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.",{code:"UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"}))):this[pd]=[l0({maxRedirections:B})],this[It]=ys.parseOrigin(t),this[mi]=b,this[cn]=f??1,this[jk]=r||Gk.maxHeaderSize,this[ud]=l??4e3,this[zk]=g??6e5,this[Zk]=h??2e3,this[Wk]=this[ud],this[ss]=null,this[fi]=G??null,this[xs]=0,this[is]=0,this[Vk]=`host: ${this[It].hostname}${this[It].port?`:${this[It].port}`:""}\r +`,this[Xk]=A??3e5,this[Kk]=i??3e5,this[$k]=m??!0,this[e0]=B,this[bc]=S,this[rs]=null,this[o0]=pe>-1?pe:-1,this[a0]=Wt??100,this[ee]=null,this[nt]=[],this[Lt]=0,this[at]=0,this[Qi]=jt=>xc(this,jt),this[n0]=jt=>fd(this,jt)}get pipelining(){return this[cn]}set pipelining(t){this[cn]=t,this[Qi](!0)}get[Ii](){return this[nt].length-this[at]}get[Ci](){return this[at]-this[Lt]}get[Bi](){return this[nt].length-this[Lt]}get[Hk](){return!!this[ee]&&!this[fr]&&!this[ee].destroyed}get[wc](){return!!(this[ee]?.busy(null)||this[Bi]>=(md(this)||1)||this[Ii]>0)}[Pk](t){Qd(this),this.once("connect",t)}[i0](t,s){let r=t.origin||this[It].origin,i=new Mk(r,t,s);return this[nt].push(i),this[xs]||(ys.bodyLength(i.body)==null&&ys.isIterable(i.body)?(this[xs]=1,queueMicrotask(()=>xc(this))):this[Qi](!0)),this[xs]&&this[is]!==2&&this[wc]&&(this[is]=2),this[is]<2}async[s0](){return new Promise(t=>{this[Bi]?this[rs]=t:t(null)})}async[r0](t){return new Promise(s=>{let r=this[nt].splice(this[at]);for(let o=0;o{this[rs]&&(this[rs](),this[rs]=null),s(null)};this[ee]?(this[ee].destroy(t,i),this[ee]=null):queueMicrotask(i),this[Qi]()})}},l0=An();function fd(e,t){if(e[Ci]===0&&t.code!=="UND_ERR_INFO"&&t.code!=="UND_ERR_SOCKET"){Mt(e[at]===e[Lt]);let s=e[nt].splice(e[Lt]);for(let r=0;r{e[mi]({host:t,hostname:s,protocol:r,port:i,servername:e[ss],localAddress:e[fi]},(A,c)=>{A?a(A):n(c)})});if(e.destroyed){ys.destroy(o.on("error",hd),new Yk);return}Mt(o);try{e[ee]=o.alpnProtocol==="h2"?await c0(e,o):await A0(e,o)}catch(n){throw o.destroy().on("error",hd),n}e[fr]=!1,o[t0]=0,o[bc]=e[bc],o[Jk]=e,o[qk]=null,mr.connected.hasSubscribers&&mr.connected.publish({connectParams:{host:t,hostname:s,protocol:r,port:i,version:e[ee]?.version,servername:e[ss],localAddress:e[fi]},connector:e[mi],socket:o}),e.emit("connect",e[It],[e])}catch(o){if(e.destroyed)return;if(e[fr]=!1,mr.connectError.hasSubscribers&&mr.connectError.publish({connectParams:{host:t,hostname:s,protocol:r,port:i,version:e[ee]?.version,servername:e[ss],localAddress:e[fi]},connector:e[mi],error:o}),o.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(Mt(e[Ci]===0);e[Ii]>0&&e[nt][e[at]].servername===e[ss];){let n=e[nt][e[at]++];ys.errorRequest(e,n,o)}else fd(e,o);e.emit("connectionError",e[It],[e],o)}e[Qi]()}function dd(e){e[is]=0,e.emit("drain",e[It],[e])}function xc(e,t){e[xs]!==2&&(e[xs]=2,u0(e,t),e[xs]=0,e[Lt]>256&&(e[nt].splice(0,e[Lt]),e[at]-=e[Lt],e[Lt]=0))}function u0(e,t){for(;;){if(e.destroyed){Mt(e[Ii]===0);return}if(e[rs]&&!e[Bi]){e[rs](),e[rs]=null;return}if(e[ee]&&e[ee].resume(),e[wc])e[is]=2;else if(e[is]===2){t?(e[is]=1,queueMicrotask(()=>dd(e))):dd(e);continue}if(e[Ii]===0||e[Ci]>=(md(e)||1))return;let s=e[nt][e[at]];if(e[It].protocol==="https:"&&e[ss]!==s.servername){if(e[Ci]>0)return;e[ss]=s.servername,e[ee]?.destroy(new _k("servername changed"),()=>{e[ee]=null,xc(e)})}if(e[fr])return;if(!e[ee]){Qd(e);return}if(e[ee].destroyed||e[ee].busy(s))return;!s.aborted&&e[ee].write(s)?e[at]++:e[nt].splice(e[at],1)}}Bd.exports=yc});var vc=Q((_2,Cd)=>{"use strict";var ln=class{constructor(){this.bottom=0,this.top=0,this.list=new Array(2048),this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(t){this.list[this.top]=t,this.top=this.top+1&2047}shift(){let t=this.list[this.bottom];return t===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,t)}};Cd.exports=class{constructor(){this.head=this.tail=new ln}isEmpty(){return this.head.isEmpty()}push(t){this.head.isFull()&&(this.head=this.head.next=new ln),this.head.push(t)}shift(){let t=this.tail,s=t.shift();return t.isEmpty()&&t.next!==null&&(this.tail=t.next),s}}});var wd=Q((Y2,Id)=>{var{kFree:p0,kConnected:g0,kPending:h0,kQueued:d0,kRunning:E0,kSize:m0}=j(),vs=Symbol("pool"),kc=class{constructor(t){this[vs]=t}get connected(){return this[vs][g0]}get free(){return this[vs][p0]}get pending(){return this[vs][h0]}get queued(){return this[vs][d0]}get running(){return this[vs][E0]}get size(){return this[vs][m0]}};Id.exports=kc});var Uc=Q((O2,Sd)=>{"use strict";var f0=rr(),Q0=vc(),{kConnected:Dc,kSize:bd,kRunning:yd,kPending:xd,kQueued:wi,kBusy:B0,kFree:C0,kUrl:I0,kClose:w0,kDestroy:b0,kDispatch:y0}=j(),x0=wd(),De=Symbol("clients"),Ce=Symbol("needDrain"),bi=Symbol("queue"),Rc=Symbol("closed resolve"),Tc=Symbol("onDrain"),vd=Symbol("onConnect"),kd=Symbol("onDisconnect"),Dd=Symbol("onConnectionError"),Fc=Symbol("get dispatcher"),Td=Symbol("add client"),Fd=Symbol("remove client"),Rd=Symbol("stats"),Sc=class extends f0{constructor(){super(),this[bi]=new Q0,this[De]=[],this[wi]=0;let t=this;this[Tc]=function(r,i){let o=t[bi],n=!1;for(;!n;){let a=o.shift();if(!a)break;t[wi]--,n=!this.dispatch(a.opts,a.handler)}this[Ce]=n,!this[Ce]&&t[Ce]&&(t[Ce]=!1,t.emit("drain",r,[t,...i])),t[Rc]&&o.isEmpty()&&Promise.all(t[De].map(a=>a.close())).then(t[Rc])},this[vd]=(s,r)=>{t.emit("connect",s,[t,...r])},this[kd]=(s,r,i)=>{t.emit("disconnect",s,[t,...r],i)},this[Dd]=(s,r,i)=>{t.emit("connectionError",s,[t,...r],i)},this[Rd]=new x0(this)}get[B0](){return this[Ce]}get[Dc](){return this[De].filter(t=>t[Dc]).length}get[C0](){return this[De].filter(t=>t[Dc]&&!t[Ce]).length}get[xd](){let t=this[wi];for(let{[xd]:s}of this[De])t+=s;return t}get[yd](){let t=0;for(let{[yd]:s}of this[De])t+=s;return t}get[bd](){let t=this[wi];for(let{[bd]:s}of this[De])t+=s;return t}get stats(){return this[Rd]}async[w0](){this[bi].isEmpty()?await Promise.all(this[De].map(t=>t.close())):await new Promise(t=>{this[Rc]=t})}async[b0](t){for(;;){let s=this[bi].shift();if(!s)break;s.handler.onError(t)}await Promise.all(this[De].map(s=>s.destroy(t)))}[y0](t,s){let r=this[Fc]();return r?r.dispatch(t,s)||(r[Ce]=!0,this[Ce]=!this[Fc]()):(this[Ce]=!0,this[bi].push({opts:t,handler:s}),this[wi]++),!this[Ce]}[Td](t){return t.on("drain",this[Tc]).on("connect",this[vd]).on("disconnect",this[kd]).on("connectionError",this[Dd]),this[De].push(t),this[Ce]&&queueMicrotask(()=>{this[Ce]&&this[Tc](t[I0],[this,t])}),this}[Fd](t){t.close(()=>{let s=this[De].indexOf(t);s!==-1&&this[De].splice(s,1)}),this[Ce]=this[De].some(s=>!s[Ce]&&s.closed!==!0&&s.destroyed!==!0)}};Sd.exports={PoolBase:Sc,kClients:De,kNeedDrain:Ce,kAddClient:Td,kRemoveClient:Fd,kGetDispatcher:Fc}});var Br=Q((J2,Md)=>{"use strict";var{PoolBase:v0,kClients:un,kNeedDrain:k0,kAddClient:D0,kGetDispatcher:R0}=Uc(),T0=Qr(),{InvalidArgumentError:Nc}=Y(),Ud=N(),{kUrl:Nd,kInterceptors:F0}=j(),S0=ri(),Gc=Symbol("options"),Mc=Symbol("connections"),Gd=Symbol("factory");function U0(e,t){return new T0(e,t)}var Lc=class extends v0{constructor(t,{connections:s,factory:r=U0,connect:i,connectTimeout:o,tls:n,maxCachedSessions:a,socketPath:A,autoSelectFamily:c,autoSelectFamilyAttemptTimeout:u,allowH2:l,...p}={}){if(super(),s!=null&&(!Number.isFinite(s)||s<0))throw new Nc("invalid connections");if(typeof r!="function")throw new Nc("factory must be a function.");if(i!=null&&typeof i!="function"&&typeof i!="object")throw new Nc("connect must be a function or an object");typeof i!="function"&&(i=S0({...n,maxCachedSessions:a,allowH2:l,socketPath:A,timeout:o,...c?{autoSelectFamily:c,autoSelectFamilyAttemptTimeout:u}:void 0,...i})),this[F0]=p.interceptors?.Pool&&Array.isArray(p.interceptors.Pool)?p.interceptors.Pool:[],this[Mc]=s||null,this[Nd]=Ud.parseOrigin(t),this[Gc]={...Ud.deepClone(p),connect:i,allowH2:l},this[Gc].interceptors=p.interceptors?{...p.interceptors}:void 0,this[Gd]=r,this.on("connectionError",(g,h,E)=>{for(let f of h){let d=this[un].indexOf(f);d!==-1&&this[un].splice(d,1)}})}[R0](){for(let t of this[un])if(!t[k0])return t;if(!this[Mc]||this[un].length{"use strict";var{BalancedPoolMissingUpstreamError:N0,InvalidArgumentError:G0}=Y(),{PoolBase:M0,kClients:me,kNeedDrain:yi,kAddClient:L0,kRemoveClient:_0,kGetDispatcher:Y0}=Uc(),O0=Br(),{kUrl:_c,kInterceptors:J0}=j(),{parseOrigin:Ld}=N(),_d=Symbol("factory"),pn=Symbol("options"),Yd=Symbol("kGreatestCommonDivisor"),ks=Symbol("kCurrentWeight"),Ds=Symbol("kIndex"),ze=Symbol("kWeight"),gn=Symbol("kMaxWeightPerServer"),hn=Symbol("kErrorPenalty");function P0(e,t){if(e===0)return t;for(;t!==0;){let s=t;t=e%t,e=s}return e}function H0(e,t){return new O0(e,t)}var Yc=class extends M0{constructor(t=[],{factory:s=H0,...r}={}){if(super(),this[pn]=r,this[Ds]=-1,this[ks]=0,this[gn]=this[pn].maxWeightPerServer||100,this[hn]=this[pn].errorPenalty||15,Array.isArray(t)||(t=[t]),typeof s!="function")throw new G0("factory must be a function.");this[J0]=r.interceptors?.BalancedPool&&Array.isArray(r.interceptors.BalancedPool)?r.interceptors.BalancedPool:[],this[_d]=s;for(let i of t)this.addUpstream(i);this._updateBalancedPoolStats()}addUpstream(t){let s=Ld(t).origin;if(this[me].find(i=>i[_c].origin===s&&i.closed!==!0&&i.destroyed!==!0))return this;let r=this[_d](s,Object.assign({},this[pn]));this[L0](r),r.on("connect",()=>{r[ze]=Math.min(this[gn],r[ze]+this[hn])}),r.on("connectionError",()=>{r[ze]=Math.max(1,r[ze]-this[hn]),this._updateBalancedPoolStats()}),r.on("disconnect",(...i)=>{let o=i[2];o&&o.code==="UND_ERR_SOCKET"&&(r[ze]=Math.max(1,r[ze]-this[hn]),this._updateBalancedPoolStats())});for(let i of this[me])i[ze]=this[gn];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){let t=0;for(let s=0;si[_c].origin===s&&i.closed!==!0&&i.destroyed!==!0);return r&&this[_0](r),this}get upstreams(){return this[me].filter(t=>t.closed!==!0&&t.destroyed!==!0).map(t=>t[_c].origin)}[Y0](){if(this[me].length===0)throw new N0;if(!this[me].find(o=>!o[yi]&&o.closed!==!0&&o.destroyed!==!0)||this[me].map(o=>o[yi]).reduce((o,n)=>o&&n,!0))return;let r=0,i=this[me].findIndex(o=>!o[yi]);for(;r++this[me][i][ze]&&!o[yi]&&(i=this[Ds]),this[Ds]===0&&(this[ks]=this[ks]-this[Yd],this[ks]<=0&&(this[ks]=this[gn])),o[ze]>=this[ks]&&!o[yi])return o}return this[ks]=this[me][i][ze],this[Ds]=i,this[me][i]}};Od.exports=Yc});var Cr=Q((H2,zd)=>{"use strict";var{InvalidArgumentError:dn}=Y(),{kClients:os,kRunning:Pd,kClose:V0,kDestroy:q0,kDispatch:W0,kInterceptors:j0}=j(),z0=rr(),Z0=Br(),K0=Qr(),X0=N(),$0=An(),Hd=Symbol("onConnect"),Vd=Symbol("onDisconnect"),qd=Symbol("onConnectionError"),eD=Symbol("maxRedirections"),Wd=Symbol("onDrain"),jd=Symbol("factory"),Oc=Symbol("options");function tD(e,t){return t&&t.connections===1?new K0(e,t):new Z0(e,t)}var Jc=class extends z0{constructor({factory:t=tD,maxRedirections:s=0,connect:r,...i}={}){if(super(),typeof t!="function")throw new dn("factory must be a function.");if(r!=null&&typeof r!="function"&&typeof r!="object")throw new dn("connect must be a function or an object");if(!Number.isInteger(s)||s<0)throw new dn("maxRedirections must be a positive number");r&&typeof r!="function"&&(r={...r}),this[j0]=i.interceptors?.Agent&&Array.isArray(i.interceptors.Agent)?i.interceptors.Agent:[$0({maxRedirections:s})],this[Oc]={...X0.deepClone(i),connect:r},this[Oc].interceptors=i.interceptors?{...i.interceptors}:void 0,this[eD]=s,this[jd]=t,this[os]=new Map,this[Wd]=(o,n)=>{this.emit("drain",o,[this,...n])},this[Hd]=(o,n)=>{this.emit("connect",o,[this,...n])},this[Vd]=(o,n,a)=>{this.emit("disconnect",o,[this,...n],a)},this[qd]=(o,n,a)=>{this.emit("connectionError",o,[this,...n],a)}}get[Pd](){let t=0;for(let s of this[os].values())t+=s[Pd];return t}[W0](t,s){let r;if(t.origin&&(typeof t.origin=="string"||t.origin instanceof URL))r=String(t.origin);else throw new dn("opts.origin must be a non-empty string or URL.");let i=this[os].get(r);return i||(i=this[jd](t.origin,this[Oc]).on("drain",this[Wd]).on("connect",this[Hd]).on("disconnect",this[Vd]).on("connectionError",this[qd]),this[os].set(r,i)),i.dispatch(t,s)}async[V0](){let t=[];for(let s of this[os].values())t.push(s.close());this[os].clear(),await Promise.all(t)}async[q0](t){let s=[];for(let r of this[os].values())s.push(r.destroy(t));this[os].clear(),await Promise.all(s)}};zd.exports=Jc});var Wc=Q((V2,nE)=>{"use strict";var{kProxy:Pc,kClose:tE,kDestroy:sE,kDispatch:Zd,kInterceptors:sD}=j(),{URL:Rs}=require("node:url"),rD=Cr(),rE=Br(),iE=rr(),{InvalidArgumentError:Ir,RequestAbortedError:iD,SecureProxyConnectionError:oD}=Y(),Kd=ri(),oE=Qr(),En=Symbol("proxy agent"),mn=Symbol("proxy client"),ns=Symbol("proxy headers"),Hc=Symbol("request tls settings"),Xd=Symbol("proxy tls settings"),$d=Symbol("connect endpoint function"),eE=Symbol("tunnel proxy");function nD(e){return e==="https:"?443:80}function aD(e,t){return new rE(e,t)}var AD=()=>{};function cD(e,t){return t.connections===1?new oE(e,t):new rE(e,t)}var Vc=class extends iE{#e;constructor(t,{headers:s={},connect:r,factory:i}){if(super(),!t)throw new Ir("Proxy URL is mandatory");this[ns]=s,i?this.#e=i(t,{connect:r}):this.#e=new oE(t,{connect:r})}[Zd](t,s){let r=s.onHeaders;s.onHeaders=function(a,A,c){if(a===407){typeof s.onError=="function"&&s.onError(new Ir("Proxy Authentication Required (407)"));return}r&&r.call(this,a,A,c)};let{origin:i,path:o="/",headers:n={}}=t;if(t.path=i+o,!("host"in n)&&!("Host"in n)){let{host:a}=new Rs(i);n.host=a}return t.headers={...this[ns],...n},this.#e[Zd](t,s)}async[tE](){return this.#e.close()}async[sE](t){return this.#e.destroy(t)}},qc=class extends iE{constructor(t){if(super(),!t||typeof t=="object"&&!(t instanceof Rs)&&!t.uri)throw new Ir("Proxy uri is mandatory");let{clientFactory:s=aD}=t;if(typeof s!="function")throw new Ir("Proxy opts.clientFactory must be a function.");let{proxyTunnel:r=!0}=t,i=this.#e(t),{href:o,origin:n,port:a,protocol:A,username:c,password:u,hostname:l}=i;if(this[Pc]={uri:o,protocol:A},this[sD]=t.interceptors?.ProxyAgent&&Array.isArray(t.interceptors.ProxyAgent)?t.interceptors.ProxyAgent:[],this[Hc]=t.requestTls,this[Xd]=t.proxyTls,this[ns]=t.headers||{},this[eE]=r,t.auth&&t.token)throw new Ir("opts.auth cannot be used in combination with opts.token");t.auth?this[ns]["proxy-authorization"]=`Basic ${t.auth}`:t.token?this[ns]["proxy-authorization"]=t.token:c&&u&&(this[ns]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(c)}:${decodeURIComponent(u)}`).toString("base64")}`);let p=Kd({...t.proxyTls});this[$d]=Kd({...t.requestTls});let g=t.factory||cD,h=(E,f)=>{let{protocol:d}=new Rs(E);return!this[eE]&&d==="http:"&&this[Pc].protocol==="http:"?new Vc(this[Pc].uri,{headers:this[ns],connect:p,factory:g}):g(E,f)};this[mn]=s(i,{connect:p}),this[En]=new rD({...t,factory:h,connect:async(E,f)=>{let d=E.host;E.port||(d+=`:${nD(E.protocol)}`);try{let{socket:m,statusCode:C}=await this[mn].connect({origin:n,port:a,path:d,signal:E.signal,headers:{...this[ns],host:E.host},servername:this[Xd]?.servername||l});if(C!==200&&(m.on("error",AD).destroy(),f(new iD(`Proxy response (${C}) !== 200 when HTTP Tunneling`))),E.protocol!=="https:"){f(null,m);return}let B;this[Hc]?B=this[Hc].servername:B=E.servername,this[$d]({...E,servername:B,httpSocket:m},f)}catch(m){m.code==="ERR_TLS_CERT_ALTNAME_INVALID"?f(new oD(m)):f(m)}}})}dispatch(t,s){let r=lD(t.headers);if(uD(r),r&&!("host"in r)&&!("Host"in r)){let{host:i}=new Rs(t.origin);r.host=i}return this[En].dispatch({...t,headers:r},s)}#e(t){return typeof t=="string"?new Rs(t):t instanceof Rs?t:new Rs(t.uri)}async[tE](){await this[En].close(),await this[mn].close()}async[sE](){await this[En].destroy(),await this[mn].destroy()}};function lD(e){if(Array.isArray(e)){let t={};for(let s=0;ss.toLowerCase()==="proxy-authorization"))throw new Ir("Proxy-Authorization should be sent in ProxyAgent constructor")}nE.exports=qc});var pE=Q((q2,uE)=>{"use strict";var pD=rr(),{kClose:gD,kDestroy:hD,kClosed:aE,kDestroyed:AE,kDispatch:dD,kNoProxyAgent:xi,kHttpProxyAgent:as,kHttpsProxyAgent:Ts}=j(),cE=Wc(),ED=Cr(),mD={"http:":80,"https:":443},lE=!1,jc=class extends pD{#e=null;#t=null;#i=null;constructor(t={}){super(),this.#i=t,lE||(lE=!0,process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.",{code:"UNDICI-EHPA"}));let{httpProxy:s,httpsProxy:r,noProxy:i,...o}=t;this[xi]=new ED(o);let n=s??process.env.http_proxy??process.env.HTTP_PROXY;n?this[as]=new cE({...o,uri:n}):this[as]=this[xi];let a=r??process.env.https_proxy??process.env.HTTPS_PROXY;a?this[Ts]=new cE({...o,uri:a}):this[Ts]=this[as],this.#A()}[dD](t,s){let r=new URL(t.origin);return this.#s(r).dispatch(t,s)}async[gD](){await this[xi].close(),this[as][aE]||await this[as].close(),this[Ts][aE]||await this[Ts].close()}async[hD](t){await this[xi].destroy(t),this[as][AE]||await this[as].destroy(t),this[Ts][AE]||await this[Ts].destroy(t)}#s(t){let{protocol:s,host:r,port:i}=t;return r=r.replace(/:\d*$/,"").toLowerCase(),i=Number.parseInt(i,10)||mD[s]||0,this.#r(r,i)?s==="https:"?this[Ts]:this[as]:this[xi]}#r(t,s){if(this.#a&&this.#A(),this.#t.length===0)return!0;if(this.#e==="*")return!1;for(let r=0;r{"use strict";var wr=require("node:assert"),{kRetryHandlerDefaultRetry:gE}=j(),{RequestRetryError:vi}=Y(),{isDisturbed:hE,parseHeaders:fD,parseRangeHeader:dE,wrapRequestBody:QD}=N();function BD(e){let t=Date.now();return new Date(e).getTime()-t}var zc=class e{constructor(t,s){let{retryOptions:r,...i}=t,{retry:o,maxRetries:n,maxTimeout:a,minTimeout:A,timeoutFactor:c,methods:u,errorCodes:l,retryAfter:p,statusCodes:g}=r??{};this.dispatch=s.dispatch,this.handler=s.handler,this.opts={...i,body:QD(t.body)},this.abort=null,this.aborted=!1,this.retryOpts={retry:o??e[gE],retryAfter:p??!0,maxTimeout:a??30*1e3,minTimeout:A??500,timeoutFactor:c??2,maxRetries:n??5,methods:u??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:g??[500,502,503,504,429],errorCodes:l??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]},this.retryCount=0,this.retryCountCheckpoint=0,this.start=0,this.end=null,this.etag=null,this.resume=null,this.handler.onConnect(h=>{this.aborted=!0,this.abort?this.abort(h):this.reason=h})}onRequestSent(){this.handler.onRequestSent&&this.handler.onRequestSent()}onUpgrade(t,s,r){this.handler.onUpgrade&&this.handler.onUpgrade(t,s,r)}onConnect(t){this.aborted?t(this.reason):this.abort=t}onBodySent(t){if(this.handler.onBodySent)return this.handler.onBodySent(t)}static[gE](t,{state:s,opts:r},i){let{statusCode:o,code:n,headers:a}=t,{method:A,retryOptions:c}=r,{maxRetries:u,minTimeout:l,maxTimeout:p,timeoutFactor:g,statusCodes:h,errorCodes:E,methods:f}=c,{counter:d}=s;if(n&&n!=="UND_ERR_REQ_RETRY"&&!E.includes(n)){i(t);return}if(Array.isArray(f)&&!f.includes(A)){i(t);return}if(o!=null&&Array.isArray(h)&&!h.includes(o)){i(t);return}if(d>u){i(t);return}let m=a?.["retry-after"];m&&(m=Number(m),m=Number.isNaN(m)?BD(m):m*1e3);let C=m>0?Math.min(m,p):Math.min(l*g**(d-1),p);setTimeout(()=>i(null),C)}onHeaders(t,s,r,i){let o=fD(s);if(this.retryCount+=1,t>=300)return this.retryOpts.statusCodes.includes(t)===!1?this.handler.onHeaders(t,s,r,i):(this.abort(new vi("Request failed",t,{headers:o,data:{count:this.retryCount}})),!1);if(this.resume!=null){if(this.resume=null,t!==206&&(this.start>0||t!==200))return this.abort(new vi("server does not support the range header and the payload was partially consumed",t,{headers:o,data:{count:this.retryCount}})),!1;let a=dE(o["content-range"]);if(!a)return this.abort(new vi("Content-Range mismatch",t,{headers:o,data:{count:this.retryCount}})),!1;if(this.etag!=null&&this.etag!==o.etag)return this.abort(new vi("ETag mismatch",t,{headers:o,data:{count:this.retryCount}})),!1;let{start:A,size:c,end:u=c-1}=a;return wr(this.start===A,"content-range mismatch"),wr(this.end==null||this.end===u,"content-range mismatch"),this.resume=r,!0}if(this.end==null){if(t===206){let a=dE(o["content-range"]);if(a==null)return this.handler.onHeaders(t,s,r,i);let{start:A,size:c,end:u=c-1}=a;wr(A!=null&&Number.isFinite(A),"content-range mismatch"),wr(u!=null&&Number.isFinite(u),"invalid content-length"),this.start=A,this.end=u}if(this.end==null){let a=o["content-length"];this.end=a!=null?Number(a)-1:null}return wr(Number.isFinite(this.start)),wr(this.end==null||Number.isFinite(this.end),"invalid content-length"),this.resume=r,this.etag=o.etag!=null?o.etag:null,this.etag!=null&&this.etag.startsWith("W/")&&(this.etag=null),this.handler.onHeaders(t,s,r,i)}let n=new vi("Request failed",t,{headers:o,data:{count:this.retryCount}});return this.abort(n),!1}onData(t){return this.start+=t.length,this.handler.onData(t)}onComplete(t){return this.retryCount=0,this.handler.onComplete(t)}onError(t){if(this.aborted||hE(this.opts.body))return this.handler.onError(t);this.retryCount-this.retryCountCheckpoint>0?this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint):this.retryCount+=1,this.retryOpts.retry(t,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},s.bind(this));function s(r){if(r!=null||this.aborted||hE(this.opts.body))return this.handler.onError(r);if(this.start!==0){let i={range:`bytes=${this.start}-${this.end??""}`};this.etag!=null&&(i["if-match"]=this.etag),this.opts={...this.opts,headers:{...this.opts.headers,...i}}}try{this.retryCountCheckpoint=this.retryCount,this.dispatch(this.opts,this)}catch(i){this.handler.onError(i)}}}};EE.exports=zc});var fE=Q((j2,mE)=>{"use strict";var CD=ti(),ID=fn(),Zc=class extends CD{#e=null;#t=null;constructor(t,s={}){super(s),this.#e=t,this.#t=s}dispatch(t,s){let r=new ID({...t,retryOptions:this.#t},{dispatch:this.#e.dispatch.bind(this.#e),handler:s});return this.#e.dispatch(t,r)}close(){return this.#e.close()}destroy(){return this.#e.destroy()}};mE.exports=Zc});var sl=Q((z2,vE)=>{"use strict";var wE=require("node:assert"),{Readable:wD}=require("node:stream"),{RequestAbortedError:bE,NotSupportedError:bD,InvalidArgumentError:yD,AbortError:Kc}=Y(),yE=N(),{ReadableStreamFrom:xD}=N(),Ne=Symbol("kConsume"),ki=Symbol("kReading"),As=Symbol("kBody"),QE=Symbol("kAbort"),xE=Symbol("kContentType"),BE=Symbol("kContentLength"),vD=()=>{},Xc=class extends wD{constructor({resume:t,abort:s,contentType:r="",contentLength:i,highWaterMark:o=64*1024}){super({autoDestroy:!0,read:t,highWaterMark:o}),this._readableState.dataEmitted=!1,this[QE]=s,this[Ne]=null,this[As]=null,this[xE]=r,this[BE]=i,this[ki]=!1}destroy(t){return!t&&!this._readableState.endEmitted&&(t=new bE),t&&this[QE](),super.destroy(t)}_destroy(t,s){this[ki]?s(t):setImmediate(()=>{s(t)})}on(t,...s){return(t==="data"||t==="readable")&&(this[ki]=!0),super.on(t,...s)}addListener(t,...s){return this.on(t,...s)}off(t,...s){let r=super.off(t,...s);return(t==="data"||t==="readable")&&(this[ki]=this.listenerCount("data")>0||this.listenerCount("readable")>0),r}removeListener(t,...s){return this.off(t,...s)}push(t){return this[Ne]&&t!==null?(el(this[Ne],t),this[ki]?super.push(t):!0):super.push(t)}async text(){return Di(this,"text")}async json(){return Di(this,"json")}async blob(){return Di(this,"blob")}async bytes(){return Di(this,"bytes")}async arrayBuffer(){return Di(this,"arrayBuffer")}async formData(){throw new bD}get bodyUsed(){return yE.isDisturbed(this)}get body(){return this[As]||(this[As]=xD(this),this[Ne]&&(this[As].getReader(),wE(this[As].locked))),this[As]}async dump(t){let s=Number.isFinite(t?.limit)?t.limit:131072,r=t?.signal;if(r!=null&&(typeof r!="object"||!("aborted"in r)))throw new yD("signal must be an AbortSignal");return r?.throwIfAborted(),this._readableState.closeEmitted?null:await new Promise((i,o)=>{this[BE]>s&&this.destroy(new Kc);let n=()=>{this.destroy(r.reason??new Kc)};r?.addEventListener("abort",n),this.on("close",function(){r?.removeEventListener("abort",n),r?.aborted?o(r.reason??new Kc):i(null)}).on("error",vD).on("data",function(a){s-=a.length,s<=0&&this.destroy()}).resume()})}};function kD(e){return e[As]&&e[As].locked===!0||e[Ne]}function DD(e){return yE.isDisturbed(e)||kD(e)}async function Di(e,t){return wE(!e[Ne]),new Promise((s,r)=>{if(DD(e)){let i=e._readableState;i.destroyed&&i.closeEmitted===!1?e.on("error",o=>{r(o)}).on("close",()=>{r(new TypeError("unusable"))}):r(i.errored??new TypeError("unusable"))}else queueMicrotask(()=>{e[Ne]={type:t,stream:e,resolve:s,reject:r,length:0,body:[]},e.on("error",function(i){tl(this[Ne],i)}).on("close",function(){this[Ne].body!==null&&tl(this[Ne],new bE)}),RD(e[Ne])})})}function RD(e){if(e.body===null)return;let{_readableState:t}=e.stream;if(t.bufferIndex){let s=t.bufferIndex,r=t.buffer.length;for(let i=s;i2&&s[0]===239&&s[1]===187&&s[2]===191?3:0;return s.utf8Slice(i,r)}function CE(e,t){if(e.length===0||t===0)return new Uint8Array(0);if(e.length===1)return new Uint8Array(e[0]);let s=new Uint8Array(Buffer.allocUnsafeSlow(t).buffer),r=0;for(let i=0;i{var TD=require("node:assert"),{ResponseStatusCodeError:kE}=Y(),{chunksDecode:DE}=sl(),FD=128*1024;async function SD({callback:e,body:t,contentType:s,statusCode:r,statusMessage:i,headers:o}){TD(t);let n=[],a=0;try{for await(let l of t)if(n.push(l),a+=l.length,a>FD){n=[],a=0;break}}catch{n=[],a=0}let A=`Response status code ${r}${i?`: ${i}`:""}`;if(r===204||!s||!a){queueMicrotask(()=>e(new kE(A,r,o)));return}let c=Error.stackTraceLimit;Error.stackTraceLimit=0;let u;try{RE(s)?u=JSON.parse(DE(n,a)):TE(s)&&(u=DE(n,a))}catch{}finally{Error.stackTraceLimit=c}queueMicrotask(()=>e(new kE(A,r,o,u)))}var RE=e=>e.length>15&&e[11]==="/"&&e[0]==="a"&&e[1]==="p"&&e[2]==="p"&&e[3]==="l"&&e[4]==="i"&&e[5]==="c"&&e[6]==="a"&&e[7]==="t"&&e[8]==="i"&&e[9]==="o"&&e[10]==="n"&&e[12]==="j"&&e[13]==="s"&&e[14]==="o"&&e[15]==="n",TE=e=>e.length>4&&e[4]==="/"&&e[0]==="t"&&e[1]==="e"&&e[2]==="x"&&e[3]==="t";FE.exports={getResolveErrorBodyCallback:SD,isContentTypeApplicationJson:RE,isContentTypeText:TE}});var NE=Q((K2,il)=>{"use strict";var UD=require("node:assert"),{Readable:ND}=sl(),{InvalidArgumentError:br,RequestAbortedError:SE}=Y(),Ge=N(),{getResolveErrorBodyCallback:GD}=rl(),{AsyncResource:MD}=require("node:async_hooks"),Qn=class extends MD{constructor(t,s){if(!t||typeof t!="object")throw new br("invalid opts");let{signal:r,method:i,opaque:o,body:n,onInfo:a,responseHeaders:A,throwOnError:c,highWaterMark:u}=t;try{if(typeof s!="function")throw new br("invalid callback");if(u&&(typeof u!="number"||u<0))throw new br("invalid highWaterMark");if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new br("signal must be an EventEmitter or EventTarget");if(i==="CONNECT")throw new br("invalid method");if(a&&typeof a!="function")throw new br("invalid onInfo callback");super("UNDICI_REQUEST")}catch(l){throw Ge.isStream(n)&&Ge.destroy(n.on("error",Ge.nop),l),l}this.method=i,this.responseHeaders=A||null,this.opaque=o||null,this.callback=s,this.res=null,this.abort=null,this.body=n,this.trailers={},this.context=null,this.onInfo=a||null,this.throwOnError=c,this.highWaterMark=u,this.signal=r,this.reason=null,this.removeAbortListener=null,Ge.isStream(n)&&n.on("error",l=>{this.onError(l)}),this.signal&&(this.signal.aborted?this.reason=this.signal.reason??new SE:this.removeAbortListener=Ge.addAbortListener(this.signal,()=>{this.reason=this.signal.reason??new SE,this.res?Ge.destroy(this.res.on("error",Ge.nop),this.reason):this.abort&&this.abort(this.reason),this.removeAbortListener&&(this.res?.off("close",this.removeAbortListener),this.removeAbortListener(),this.removeAbortListener=null)}))}onConnect(t,s){if(this.reason){t(this.reason);return}UD(this.callback),this.abort=t,this.context=s}onHeaders(t,s,r,i){let{callback:o,opaque:n,abort:a,context:A,responseHeaders:c,highWaterMark:u}=this,l=c==="raw"?Ge.parseRawHeaders(s):Ge.parseHeaders(s);if(t<200){this.onInfo&&this.onInfo({statusCode:t,headers:l});return}let p=c==="raw"?Ge.parseHeaders(s):l,g=p["content-type"],h=p["content-length"],E=new ND({resume:r,abort:a,contentType:g,contentLength:this.method!=="HEAD"&&h?Number(h):null,highWaterMark:u});this.removeAbortListener&&E.on("close",this.removeAbortListener),this.callback=null,this.res=E,o!==null&&(this.throwOnError&&t>=400?this.runInAsyncScope(GD,null,{callback:o,body:E,contentType:g,statusCode:t,statusMessage:i,headers:l}):this.runInAsyncScope(o,null,null,{statusCode:t,headers:l,trailers:this.trailers,opaque:n,body:E,context:A}))}onData(t){return this.res.push(t)}onComplete(t){Ge.parseHeaders(t,this.trailers),this.res.push(null)}onError(t){let{res:s,callback:r,body:i,opaque:o}=this;r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,t,{opaque:o})})),s&&(this.res=null,queueMicrotask(()=>{Ge.destroy(s,t)})),i&&(this.body=null,Ge.destroy(i,t)),this.removeAbortListener&&(s?.off("close",this.removeAbortListener),this.removeAbortListener(),this.removeAbortListener=null)}};function UE(e,t){if(t===void 0)return new Promise((s,r)=>{UE.call(this,e,(i,o)=>i?r(i):s(o))});try{this.dispatch(e,new Qn(e,t))}catch(s){if(typeof t!="function")throw s;let r=e?.opaque;queueMicrotask(()=>t(s,{opaque:r}))}}il.exports=UE;il.exports.RequestHandler=Qn});var Ri=Q((X2,LE)=>{var{addAbortListener:LD}=N(),{RequestAbortedError:_D}=Y(),yr=Symbol("kListener"),wt=Symbol("kSignal");function GE(e){e.abort?e.abort(e[wt]?.reason):e.reason=e[wt]?.reason??new _D,ME(e)}function YD(e,t){if(e.reason=null,e[wt]=null,e[yr]=null,!!t){if(t.aborted){GE(e);return}e[wt]=t,e[yr]=()=>{GE(e)},LD(e[wt],e[yr])}}function ME(e){e[wt]&&("removeEventListener"in e[wt]?e[wt].removeEventListener("abort",e[yr]):e[wt].removeListener("abort",e[yr]),e[wt]=null,e[yr]=null)}LE.exports={addSignal:YD,removeSignal:ME}});var JE=Q(($2,OE)=>{"use strict";var OD=require("node:assert"),{finished:JD,PassThrough:PD}=require("node:stream"),{InvalidArgumentError:xr,InvalidReturnValueError:HD}=Y(),At=N(),{getResolveErrorBodyCallback:VD}=rl(),{AsyncResource:qD}=require("node:async_hooks"),{addSignal:WD,removeSignal:_E}=Ri(),ol=class extends qD{constructor(t,s,r){if(!t||typeof t!="object")throw new xr("invalid opts");let{signal:i,method:o,opaque:n,body:a,onInfo:A,responseHeaders:c,throwOnError:u}=t;try{if(typeof r!="function")throw new xr("invalid callback");if(typeof s!="function")throw new xr("invalid factory");if(i&&typeof i.on!="function"&&typeof i.addEventListener!="function")throw new xr("signal must be an EventEmitter or EventTarget");if(o==="CONNECT")throw new xr("invalid method");if(A&&typeof A!="function")throw new xr("invalid onInfo callback");super("UNDICI_STREAM")}catch(l){throw At.isStream(a)&&At.destroy(a.on("error",At.nop),l),l}this.responseHeaders=c||null,this.opaque=n||null,this.factory=s,this.callback=r,this.res=null,this.abort=null,this.context=null,this.trailers=null,this.body=a,this.onInfo=A||null,this.throwOnError=u||!1,At.isStream(a)&&a.on("error",l=>{this.onError(l)}),WD(this,i)}onConnect(t,s){if(this.reason){t(this.reason);return}OD(this.callback),this.abort=t,this.context=s}onHeaders(t,s,r,i){let{factory:o,opaque:n,context:a,callback:A,responseHeaders:c}=this,u=c==="raw"?At.parseRawHeaders(s):At.parseHeaders(s);if(t<200){this.onInfo&&this.onInfo({statusCode:t,headers:u});return}this.factory=null;let l;if(this.throwOnError&&t>=400){let h=(c==="raw"?At.parseHeaders(s):u)["content-type"];l=new PD,this.callback=null,this.runInAsyncScope(VD,null,{callback:A,body:l,contentType:h,statusCode:t,statusMessage:i,headers:u})}else{if(o===null)return;if(l=this.runInAsyncScope(o,null,{statusCode:t,headers:u,opaque:n,context:a}),!l||typeof l.write!="function"||typeof l.end!="function"||typeof l.on!="function")throw new HD("expected Writable");JD(l,{readable:!1},g=>{let{callback:h,res:E,opaque:f,trailers:d,abort:m}=this;this.res=null,(g||!E.readable)&&At.destroy(E,g),this.callback=null,this.runInAsyncScope(h,null,g||null,{opaque:f,trailers:d}),g&&m()})}return l.on("drain",r),this.res=l,(l.writableNeedDrain!==void 0?l.writableNeedDrain:l._writableState?.needDrain)!==!0}onData(t){let{res:s}=this;return s?s.write(t):!0}onComplete(t){let{res:s}=this;_E(this),s&&(this.trailers=At.parseHeaders(t),s.end())}onError(t){let{res:s,callback:r,opaque:i,body:o}=this;_E(this),this.factory=null,s?(this.res=null,At.destroy(s,t)):r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,t,{opaque:i})})),o&&(this.body=null,At.destroy(o,t))}};function YE(e,t,s){if(s===void 0)return new Promise((r,i)=>{YE.call(this,e,t,(o,n)=>o?i(o):r(n))});try{this.dispatch(e,new ol(e,t,s))}catch(r){if(typeof s!="function")throw r;let i=e?.opaque;queueMicrotask(()=>s(r,{opaque:i}))}}OE.exports=YE});var qE=Q((eY,VE)=>{"use strict";var{Readable:HE,Duplex:jD,PassThrough:zD}=require("node:stream"),{InvalidArgumentError:Ti,InvalidReturnValueError:ZD,RequestAbortedError:nl}=Y(),Ze=N(),{AsyncResource:KD}=require("node:async_hooks"),{addSignal:XD,removeSignal:$D}=Ri(),PE=require("node:assert"),vr=Symbol("resume"),al=class extends HE{constructor(){super({autoDestroy:!0}),this[vr]=null}_read(){let{[vr]:t}=this;t&&(this[vr]=null,t())}_destroy(t,s){this._read(),s(t)}},Al=class extends HE{constructor(t){super({autoDestroy:!0}),this[vr]=t}_read(){this[vr]()}_destroy(t,s){!t&&!this._readableState.endEmitted&&(t=new nl),s(t)}},cl=class extends KD{constructor(t,s){if(!t||typeof t!="object")throw new Ti("invalid opts");if(typeof s!="function")throw new Ti("invalid handler");let{signal:r,method:i,opaque:o,onInfo:n,responseHeaders:a}=t;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new Ti("signal must be an EventEmitter or EventTarget");if(i==="CONNECT")throw new Ti("invalid method");if(n&&typeof n!="function")throw new Ti("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=o||null,this.responseHeaders=a||null,this.handler=s,this.abort=null,this.context=null,this.onInfo=n||null,this.req=new al().on("error",Ze.nop),this.ret=new jD({readableObjectMode:t.objectMode,autoDestroy:!0,read:()=>{let{body:A}=this;A?.resume&&A.resume()},write:(A,c,u)=>{let{req:l}=this;l.push(A,c)||l._readableState.destroyed?u():l[vr]=u},destroy:(A,c)=>{let{body:u,req:l,res:p,ret:g,abort:h}=this;!A&&!g._readableState.endEmitted&&(A=new nl),h&&A&&h(),Ze.destroy(u,A),Ze.destroy(l,A),Ze.destroy(p,A),$D(this),c(A)}}).on("prefinish",()=>{let{req:A}=this;A.push(null)}),this.res=null,XD(this,r)}onConnect(t,s){let{ret:r,res:i}=this;if(this.reason){t(this.reason);return}PE(!i,"pipeline cannot be retried"),PE(!r.destroyed),this.abort=t,this.context=s}onHeaders(t,s,r){let{opaque:i,handler:o,context:n}=this;if(t<200){if(this.onInfo){let A=this.responseHeaders==="raw"?Ze.parseRawHeaders(s):Ze.parseHeaders(s);this.onInfo({statusCode:t,headers:A})}return}this.res=new Al(r);let a;try{this.handler=null;let A=this.responseHeaders==="raw"?Ze.parseRawHeaders(s):Ze.parseHeaders(s);a=this.runInAsyncScope(o,null,{statusCode:t,headers:A,opaque:i,body:this.res,context:n})}catch(A){throw this.res.on("error",Ze.nop),A}if(!a||typeof a.on!="function")throw new ZD("expected Readable");a.on("data",A=>{let{ret:c,body:u}=this;!c.push(A)&&u.pause&&u.pause()}).on("error",A=>{let{ret:c}=this;Ze.destroy(c,A)}).on("end",()=>{let{ret:A}=this;A.push(null)}).on("close",()=>{let{ret:A}=this;A._readableState.ended||Ze.destroy(A,new nl)}),this.body=a}onData(t){let{res:s}=this;return s.push(t)}onComplete(t){let{res:s}=this;s.push(null)}onError(t){let{ret:s}=this;this.handler=null,Ze.destroy(s,t)}};function eR(e,t){try{let s=new cl(e,t);return this.dispatch({...e,body:s.req},s),s.ret}catch(s){return new zD().destroy(s)}}VE.exports=eR});var XE=Q((tY,KE)=>{"use strict";var{InvalidArgumentError:ll,SocketError:tR}=Y(),{AsyncResource:sR}=require("node:async_hooks"),WE=N(),{addSignal:rR,removeSignal:jE}=Ri(),zE=require("node:assert"),ul=class extends sR{constructor(t,s){if(!t||typeof t!="object")throw new ll("invalid opts");if(typeof s!="function")throw new ll("invalid callback");let{signal:r,opaque:i,responseHeaders:o}=t;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new ll("signal must be an EventEmitter or EventTarget");super("UNDICI_UPGRADE"),this.responseHeaders=o||null,this.opaque=i||null,this.callback=s,this.abort=null,this.context=null,rR(this,r)}onConnect(t,s){if(this.reason){t(this.reason);return}zE(this.callback),this.abort=t,this.context=null}onHeaders(){throw new tR("bad upgrade",null)}onUpgrade(t,s,r){zE(t===101);let{callback:i,opaque:o,context:n}=this;jE(this),this.callback=null;let a=this.responseHeaders==="raw"?WE.parseRawHeaders(s):WE.parseHeaders(s);this.runInAsyncScope(i,null,null,{headers:a,socket:r,opaque:o,context:n})}onError(t){let{callback:s,opaque:r}=this;jE(this),s&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(s,null,t,{opaque:r})}))}};function ZE(e,t){if(t===void 0)return new Promise((s,r)=>{ZE.call(this,e,(i,o)=>i?r(i):s(o))});try{let s=new ul(e,t);this.dispatch({...e,method:e.method||"GET",upgrade:e.protocol||"Websocket"},s)}catch(s){if(typeof t!="function")throw s;let r=e?.opaque;queueMicrotask(()=>t(s,{opaque:r}))}}KE.exports=ZE});var rm=Q((sY,sm)=>{"use strict";var iR=require("node:assert"),{AsyncResource:oR}=require("node:async_hooks"),{InvalidArgumentError:pl,SocketError:nR}=Y(),$E=N(),{addSignal:aR,removeSignal:em}=Ri(),gl=class extends oR{constructor(t,s){if(!t||typeof t!="object")throw new pl("invalid opts");if(typeof s!="function")throw new pl("invalid callback");let{signal:r,opaque:i,responseHeaders:o}=t;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new pl("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=i||null,this.responseHeaders=o||null,this.callback=s,this.abort=null,aR(this,r)}onConnect(t,s){if(this.reason){t(this.reason);return}iR(this.callback),this.abort=t,this.context=s}onHeaders(){throw new nR("bad connect",null)}onUpgrade(t,s,r){let{callback:i,opaque:o,context:n}=this;em(this),this.callback=null;let a=s;a!=null&&(a=this.responseHeaders==="raw"?$E.parseRawHeaders(s):$E.parseHeaders(s)),this.runInAsyncScope(i,null,null,{statusCode:t,headers:a,socket:r,opaque:o,context:n})}onError(t){let{callback:s,opaque:r}=this;em(this),s&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(s,null,t,{opaque:r})}))}};function tm(e,t){if(t===void 0)return new Promise((s,r)=>{tm.call(this,e,(i,o)=>i?r(i):s(o))});try{let s=new gl(e,t);this.dispatch({...e,method:"CONNECT"},s)}catch(s){if(typeof t!="function")throw s;let r=e?.opaque;queueMicrotask(()=>t(s,{opaque:r}))}}sm.exports=tm});var im=Q((rY,kr)=>{"use strict";kr.exports.request=NE();kr.exports.stream=JE();kr.exports.pipeline=qE();kr.exports.upgrade=XE();kr.exports.connect=rm()});var dl=Q((iY,nm)=>{"use strict";var{UndiciError:AR}=Y(),om=Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED"),hl=class e extends AR{constructor(t){super(t),Error.captureStackTrace(this,e),this.name="MockNotMatchedError",this.message=t||"The request does not match any registered mock dispatches",this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}static[Symbol.hasInstance](t){return t&&t[om]===!0}[om]=!0};nm.exports={MockNotMatchedError:hl}});var Dr=Q((oY,am)=>{"use strict";am.exports={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected")}});var Fi=Q((nY,fm)=>{"use strict";var{MockNotMatchedError:Fs}=dl(),{kDispatches:Bn,kMockAgent:cR,kOriginalDispatch:lR,kOrigin:uR,kGetNetConnect:pR}=Dr(),{buildURL:gR}=N(),{STATUS_CODES:hR}=require("node:http"),{types:{isPromise:dR}}=require("node:util");function _t(e,t){return typeof e=="string"?e===t:e instanceof RegExp?e.test(t):typeof e=="function"?e(t)===!0:!1}function cm(e){return Object.fromEntries(Object.entries(e).map(([t,s])=>[t.toLocaleLowerCase(),s]))}function lm(e,t){if(Array.isArray(e)){for(let s=0;s"u")return!0;if(typeof t!="object"||typeof e.headers!="object")return!1;for(let[s,r]of Object.entries(e.headers)){let i=lm(t,s);if(!_t(r,i))return!1}return!0}function Am(e){if(typeof e!="string")return e;let t=e.split("?");if(t.length!==2)return e;let s=new URLSearchParams(t.pop());return s.sort(),[...t,s.toString()].join("?")}function ER(e,{path:t,method:s,body:r,headers:i}){let o=_t(e.path,t),n=_t(e.method,s),a=typeof e.body<"u"?_t(e.body,r):!0,A=um(e,i);return o&&n&&a&&A}function pm(e){return Buffer.isBuffer(e)||e instanceof Uint8Array||e instanceof ArrayBuffer?e:typeof e=="object"?JSON.stringify(e):e.toString()}function gm(e,t){let s=t.query?gR(t.path,t.query):t.path,r=typeof s=="string"?Am(s):s,i=e.filter(({consumed:o})=>!o).filter(({path:o})=>_t(Am(o),r));if(i.length===0)throw new Fs(`Mock dispatch not matched for path '${r}'`);if(i=i.filter(({method:o})=>_t(o,t.method)),i.length===0)throw new Fs(`Mock dispatch not matched for method '${t.method}' on path '${r}'`);if(i=i.filter(({body:o})=>typeof o<"u"?_t(o,t.body):!0),i.length===0)throw new Fs(`Mock dispatch not matched for body '${t.body}' on path '${r}'`);if(i=i.filter(o=>um(o,t.headers)),i.length===0){let o=typeof t.headers=="object"?JSON.stringify(t.headers):t.headers;throw new Fs(`Mock dispatch not matched for headers '${o}' on path '${r}'`)}return i[0]}function mR(e,t,s){let r={timesInvoked:0,times:1,persist:!1,consumed:!1},i=typeof s=="function"?{callback:s}:{...s},o={...r,...t,pending:!0,data:{error:null,...i}};return e.push(o),o}function El(e,t){let s=e.findIndex(r=>r.consumed?ER(r,t):!1);s!==-1&&e.splice(s,1)}function hm(e){let{path:t,method:s,body:r,headers:i,query:o}=e;return{path:t,method:s,body:r,headers:i,query:o}}function ml(e){let t=Object.keys(e),s=[];for(let r=0;r=p,r.pending=l0?setTimeout(()=>{g(this[Bn])},c):g(this[Bn]);function g(E,f=o){let d=Array.isArray(e.headers)?fl(e.headers):e.headers,m=typeof f=="function"?f({...e,headers:d}):f;if(dR(m)){m.then(S=>g(E,S));return}let C=pm(m),B=ml(n),b=ml(a);t.onConnect?.(S=>t.onError(S),null),t.onHeaders?.(i,B,h,dm(i)),t.onData?.(Buffer.from(C)),t.onComplete?.(b),El(E,s)}function h(){}return!0}function QR(){let e=this[cR],t=this[uR],s=this[lR];return function(i,o){if(e.isMockActive)try{Em.call(this,i,o)}catch(n){if(n instanceof Fs){let a=e[pR]();if(a===!1)throw new Fs(`${n.message}: subsequent request to origin ${t} was not allowed (net.connect disabled)`);if(mm(a,t))s.call(this,i,o);else throw new Fs(`${n.message}: subsequent request to origin ${t} was not allowed (net.connect is not enabled for this origin)`)}else throw n}else s.call(this,i,o)}}function mm(e,t){let s=new URL(t);return e===!0?!0:!!(Array.isArray(e)&&e.some(r=>_t(r,s.host)))}function BR(e){if(e){let{agent:t,...s}=e;return s}}fm.exports={getResponseData:pm,getMockDispatch:gm,addMockDispatch:mR,deleteMockDispatch:El,buildKey:hm,generateKeyValues:ml,matchValue:_t,getResponse:fR,getStatusText:dm,mockDispatch:Em,buildMockDispatch:QR,checkNetConnect:mm,buildMockOptions:BR,getHeaderByName:lm,buildHeadersFromArray:fl}});var yl=Q((aY,bl)=>{"use strict";var{getResponseData:CR,buildKey:IR,addMockDispatch:Ql}=Fi(),{kDispatches:Cn,kDispatchKey:In,kDefaultHeaders:Bl,kDefaultTrailers:Cl,kContentLength:Il,kMockDispatch:wn}=Dr(),{InvalidArgumentError:bt}=Y(),{buildURL:wR}=N(),Rr=class{constructor(t){this[wn]=t}delay(t){if(typeof t!="number"||!Number.isInteger(t)||t<=0)throw new bt("waitInMs must be a valid integer > 0");return this[wn].delay=t,this}persist(){return this[wn].persist=!0,this}times(t){if(typeof t!="number"||!Number.isInteger(t)||t<=0)throw new bt("repeatTimes must be a valid integer > 0");return this[wn].times=t,this}},wl=class{constructor(t,s){if(typeof t!="object")throw new bt("opts must be an object");if(typeof t.path>"u")throw new bt("opts.path must be defined");if(typeof t.method>"u"&&(t.method="GET"),typeof t.path=="string")if(t.query)t.path=wR(t.path,t.query);else{let r=new URL(t.path,"data://");t.path=r.pathname+r.search}typeof t.method=="string"&&(t.method=t.method.toUpperCase()),this[In]=IR(t),this[Cn]=s,this[Bl]={},this[Cl]={},this[Il]=!1}createMockScopeDispatchData({statusCode:t,data:s,responseOptions:r}){let i=CR(s),o=this[Il]?{"content-length":i.length}:{},n={...this[Bl],...o,...r.headers},a={...this[Cl],...r.trailers};return{statusCode:t,data:s,headers:n,trailers:a}}validateReplyParameters(t){if(typeof t.statusCode>"u")throw new bt("statusCode must be defined");if(typeof t.responseOptions!="object"||t.responseOptions===null)throw new bt("responseOptions must be an object")}reply(t){if(typeof t=="function"){let o=a=>{let A=t(a);if(typeof A!="object"||A===null)throw new bt("reply options callback must return an object");let c={data:"",responseOptions:{},...A};return this.validateReplyParameters(c),{...this.createMockScopeDispatchData(c)}},n=Ql(this[Cn],this[In],o);return new Rr(n)}let s={statusCode:t,data:arguments[1]===void 0?"":arguments[1],responseOptions:arguments[2]===void 0?{}:arguments[2]};this.validateReplyParameters(s);let r=this.createMockScopeDispatchData(s),i=Ql(this[Cn],this[In],r);return new Rr(i)}replyWithError(t){if(typeof t>"u")throw new bt("error must be defined");let s=Ql(this[Cn],this[In],{error:t});return new Rr(s)}defaultReplyHeaders(t){if(typeof t>"u")throw new bt("headers must be defined");return this[Bl]=t,this}defaultReplyTrailers(t){if(typeof t>"u")throw new bt("trailers must be defined");return this[Cl]=t,this}replyContentLength(){return this[Il]=!0,this}};bl.exports.MockInterceptor=wl;bl.exports.MockScope=Rr});var kl=Q((AY,ym)=>{"use strict";var{promisify:bR}=require("node:util"),yR=Qr(),{buildMockDispatch:xR}=Fi(),{kDispatches:Qm,kMockAgent:Bm,kClose:Cm,kOriginalClose:Im,kOrigin:wm,kOriginalDispatch:vR,kConnected:xl}=Dr(),{MockInterceptor:kR}=yl(),bm=j(),{InvalidArgumentError:DR}=Y(),vl=class extends yR{constructor(t,s){if(super(t,s),!s||!s.agent||typeof s.agent.dispatch!="function")throw new DR("Argument opts.agent must implement Agent");this[Bm]=s.agent,this[wm]=t,this[Qm]=[],this[xl]=1,this[vR]=this.dispatch,this[Im]=this.close.bind(this),this.dispatch=xR.call(this),this.close=this[Cm]}get[bm.kConnected](){return this[xl]}intercept(t){return new kR(t,this[Qm])}async[Cm](){await bR(this[Im])(),this[xl]=0,this[Bm][bm.kClients].delete(this[wm])}};ym.exports=vl});var Tl=Q((cY,Fm)=>{"use strict";var{promisify:RR}=require("node:util"),TR=Br(),{buildMockDispatch:FR}=Fi(),{kDispatches:xm,kMockAgent:vm,kClose:km,kOriginalClose:Dm,kOrigin:Rm,kOriginalDispatch:SR,kConnected:Dl}=Dr(),{MockInterceptor:UR}=yl(),Tm=j(),{InvalidArgumentError:NR}=Y(),Rl=class extends TR{constructor(t,s){if(super(t,s),!s||!s.agent||typeof s.agent.dispatch!="function")throw new NR("Argument opts.agent must implement Agent");this[vm]=s.agent,this[Rm]=t,this[xm]=[],this[Dl]=1,this[SR]=this.dispatch,this[Dm]=this.close.bind(this),this.dispatch=FR.call(this),this.close=this[km]}get[Tm.kConnected](){return this[Dl]}intercept(t){return new UR(t,this[xm])}async[km](){await RR(this[Dm])(),this[Dl]=0,this[vm][Tm.kClients].delete(this[Rm])}};Fm.exports=Rl});var Um=Q((uY,Sm)=>{"use strict";var GR={pronoun:"it",is:"is",was:"was",this:"this"},MR={pronoun:"they",is:"are",was:"were",this:"these"};Sm.exports=class{constructor(t,s){this.singular=t,this.plural=s}pluralize(t){let s=t===1,r=s?GR:MR,i=s?this.singular:this.plural;return{...r,count:t,noun:i}}}});var Gm=Q((gY,Nm)=>{"use strict";var{Transform:LR}=require("node:stream"),{Console:_R}=require("node:console"),YR=process.versions.icu?"\u2705":"Y ",OR=process.versions.icu?"\u274C":"N ";Nm.exports=class{constructor({disableColors:t}={}){this.transform=new LR({transform(s,r,i){i(null,s)}}),this.logger=new _R({stdout:this.transform,inspectOptions:{colors:!t&&!process.env.CI}})}format(t){let s=t.map(({method:r,path:i,data:{statusCode:o},persist:n,times:a,timesInvoked:A,origin:c})=>({Method:r,Origin:c,Path:i,"Status code":o,Persistent:n?YR:OR,Invocations:A,Remaining:n?1/0:a-A}));return this.logger.table(s),this.transform.read().toString()}}});var Ym=Q((hY,_m)=>{"use strict";var{kClients:Ss}=j(),JR=Cr(),{kAgent:Fl,kMockAgentSet:bn,kMockAgentGet:Mm,kDispatches:Sl,kIsMockActive:yn,kNetConnect:Us,kGetNetConnect:PR,kOptions:xn,kFactory:vn}=Dr(),HR=kl(),VR=Tl(),{matchValue:qR,buildMockOptions:WR}=Fi(),{InvalidArgumentError:Lm,UndiciError:jR}=Y(),zR=ti(),ZR=Um(),KR=Gm(),Ul=class extends zR{constructor(t){if(super(t),this[Us]=!0,this[yn]=!0,t?.agent&&typeof t.agent.dispatch!="function")throw new Lm("Argument opts.agent must implement Agent");let s=t?.agent?t.agent:new JR(t);this[Fl]=s,this[Ss]=s[Ss],this[xn]=WR(t)}get(t){let s=this[Mm](t);return s||(s=this[vn](t),this[bn](t,s)),s}dispatch(t,s){return this.get(t.origin),this[Fl].dispatch(t,s)}async close(){await this[Fl].close(),this[Ss].clear()}deactivate(){this[yn]=!1}activate(){this[yn]=!0}enableNetConnect(t){if(typeof t=="string"||typeof t=="function"||t instanceof RegExp)Array.isArray(this[Us])?this[Us].push(t):this[Us]=[t];else if(typeof t>"u")this[Us]=!0;else throw new Lm("Unsupported matcher. Must be one of String|Function|RegExp.")}disableNetConnect(){this[Us]=!1}get isMockActive(){return this[yn]}[bn](t,s){this[Ss].set(t,s)}[vn](t){let s=Object.assign({agent:this},this[xn]);return this[xn]&&this[xn].connections===1?new HR(t,s):new VR(t,s)}[Mm](t){let s=this[Ss].get(t);if(s)return s;if(typeof t!="string"){let r=this[vn]("http://localhost:9999");return this[bn](t,r),r}for(let[r,i]of Array.from(this[Ss]))if(i&&typeof r!="string"&&qR(r,t)){let o=this[vn](t);return this[bn](t,o),o[Sl]=i[Sl],o}}[PR](){return this[Us]}pendingInterceptors(){let t=this[Ss];return Array.from(t.entries()).flatMap(([s,r])=>r[Sl].map(i=>({...i,origin:s}))).filter(({pending:s})=>s)}assertNoPendingInterceptors({pendingInterceptorsFormatter:t=new KR}={}){let s=this.pendingInterceptors();if(s.length===0)return;let r=new ZR("interceptor","interceptors").pluralize(s.length);throw new jR(` +${r.count} ${r.noun} ${r.is} pending: + +${t.format(s)} +`.trim())}};_m.exports=Ul});var kn=Q((dY,Hm)=>{"use strict";var Om=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:XR}=Y(),$R=Cr();Pm()===void 0&&Jm(new $R);function Jm(e){if(!e||typeof e.dispatch!="function")throw new XR("Argument agent must implement Agent");Object.defineProperty(globalThis,Om,{value:e,writable:!0,enumerable:!1,configurable:!1})}function Pm(){return globalThis[Om]}Hm.exports={setGlobalDispatcher:Jm,getGlobalDispatcher:Pm}});var Dn=Q((mY,Vm)=>{"use strict";Vm.exports=class{#e;constructor(t){if(typeof t!="object"||t===null)throw new TypeError("handler must be an object");this.#e=t}onConnect(...t){return this.#e.onConnect?.(...t)}onError(...t){return this.#e.onError?.(...t)}onUpgrade(...t){return this.#e.onUpgrade?.(...t)}onResponseStarted(...t){return this.#e.onResponseStarted?.(...t)}onHeaders(...t){return this.#e.onHeaders?.(...t)}onData(...t){return this.#e.onData?.(...t)}onComplete(...t){return this.#e.onComplete?.(...t)}onBodySent(...t){return this.#e.onBodySent?.(...t)}}});var Wm=Q((fY,qm)=>{"use strict";var eT=an();qm.exports=e=>{let t=e?.maxRedirections;return s=>function(i,o){let{maxRedirections:n=t,...a}=i;if(!n)return s(i,o);let A=new eT(s,n,i,o);return s(a,A)}}});var zm=Q((QY,jm)=>{"use strict";var tT=fn();jm.exports=e=>t=>function(r,i){return t(r,new tT({...r,retryOptions:{...e,...r.retryOptions}},{handler:i,dispatch:t}))}});var Km=Q((BY,Zm)=>{"use strict";var sT=N(),{InvalidArgumentError:rT,RequestAbortedError:iT}=Y(),oT=Dn(),Nl=class extends oT{#e=1024*1024;#t=null;#i=!1;#s=!1;#r=0;#A=null;#a=null;constructor({maxSize:t},s){if(super(s),t!=null&&(!Number.isFinite(t)||t<1))throw new rT("maxSize must be a number greater than 0");this.#e=t??this.#e,this.#a=s}onConnect(t){this.#t=t,this.#a.onConnect(this.#c.bind(this))}#c(t){this.#s=!0,this.#A=t}onHeaders(t,s,r,i){let n=sT.parseHeaders(s)["content-length"];if(n!=null&&n>this.#e)throw new iT(`Response size (${n}) larger than maxSize (${this.#e})`);return this.#s?!0:this.#a.onHeaders(t,s,r,i)}onError(t){this.#i||(t=this.#A??t,this.#a.onError(t))}onData(t){return this.#r=this.#r+t.length,this.#r>=this.#e&&(this.#i=!0,this.#s?this.#a.onError(this.#A):this.#a.onComplete([])),!0}onComplete(t){if(!this.#i){if(this.#s){this.#a.onError(this.reason);return}this.#a.onComplete(t)}}};function nT({maxSize:e}={maxSize:1024*1024}){return t=>function(r,i){let{dumpMaxSize:o=e}=r,n=new Nl({maxSize:o},i);return t(r,n)}}Zm.exports=nT});var ef=Q((CY,$m)=>{"use strict";var{isIP:aT}=require("node:net"),{lookup:AT}=require("node:dns"),cT=Dn(),{InvalidArgumentError:Tr,InformationalError:lT}=Y(),Xm=Math.pow(2,31)-1,Gl=class{#e=0;#t=0;#i=new Map;dualStack=!0;affinity=null;lookup=null;pick=null;constructor(t){this.#e=t.maxTTL,this.#t=t.maxItems,this.dualStack=t.dualStack,this.affinity=t.affinity,this.lookup=t.lookup??this.#s,this.pick=t.pick??this.#r}get full(){return this.#i.size===this.#t}runLookup(t,s,r){let i=this.#i.get(t.hostname);if(i==null&&this.full){r(null,t.origin);return}let o={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...s.dns,maxTTL:this.#e,maxItems:this.#t};if(i==null)this.lookup(t,o,(n,a)=>{if(n||a==null||a.length===0){r(n??new lT("No DNS entries found"));return}this.setRecords(t,a);let A=this.#i.get(t.hostname),c=this.pick(t,A,o.affinity),u;typeof c.port=="number"?u=`:${c.port}`:t.port!==""?u=`:${t.port}`:u="",r(null,`${t.protocol}//${c.family===6?`[${c.address}]`:c.address}${u}`)});else{let n=this.pick(t,i,o.affinity);if(n==null){this.#i.delete(t.hostname),this.runLookup(t,s,r);return}let a;typeof n.port=="number"?a=`:${n.port}`:t.port!==""?a=`:${t.port}`:a="",r(null,`${t.protocol}//${n.family===6?`[${n.address}]`:n.address}${a}`)}}#s(t,s,r){AT(t.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(i,o)=>{if(i)return r(i);let n=new Map;for(let a of o)n.set(`${a.address}:${a.family}`,a);r(null,n.values())})}#r(t,s,r){let i=null,{records:o,offset:n}=s,a;if(this.dualStack?(r==null&&(n==null||n===Xm?(s.offset=0,r=4):(s.offset++,r=(s.offset&1)===1?6:4)),o[r]!=null&&o[r].ips.length>0?a=o[r]:a=o[r===4?6:4]):a=o[r],a==null||a.ips.length===0)return i;a.offset==null||a.offset===Xm?a.offset=0:a.offset++;let A=a.offset%a.ips.length;return i=a.ips[A]??null,i==null?i:Date.now()-i.timestamp>i.ttl?(a.ips.splice(A,1),this.pick(t,s,r)):i}setRecords(t,s){let r=Date.now(),i={records:{4:null,6:null}};for(let o of s){o.timestamp=r,typeof o.ttl=="number"?o.ttl=Math.min(o.ttl,this.#e):o.ttl=this.#e;let n=i.records[o.family]??{ips:[]};n.ips.push(o),i.records[o.family]=n}this.#i.set(t.hostname,i)}getHandler(t,s){return new Ml(this,t,s)}},Ml=class extends cT{#e=null;#t=null;#i=null;#s=null;#r=null;constructor(t,{origin:s,handler:r,dispatch:i},o){super(r),this.#r=s,this.#s=r,this.#t={...o},this.#e=t,this.#i=i}onError(t){switch(t.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#e.dualStack){this.#e.runLookup(this.#r,this.#t,(s,r)=>{if(s)return this.#s.onError(s);let i={...this.#t,origin:r};this.#i(i,this)});return}this.#s.onError(t);return}case"ENOTFOUND":this.#e.deleteRecord(this.#r);default:this.#s.onError(t);break}}};$m.exports=e=>{if(e?.maxTTL!=null&&(typeof e?.maxTTL!="number"||e?.maxTTL<0))throw new Tr("Invalid maxTTL. Must be a positive number");if(e?.maxItems!=null&&(typeof e?.maxItems!="number"||e?.maxItems<1))throw new Tr("Invalid maxItems. Must be a positive number and greater than zero");if(e?.affinity!=null&&e?.affinity!==4&&e?.affinity!==6)throw new Tr("Invalid affinity. Must be either 4 or 6");if(e?.dualStack!=null&&typeof e?.dualStack!="boolean")throw new Tr("Invalid dualStack. Must be a boolean");if(e?.lookup!=null&&typeof e?.lookup!="function")throw new Tr("Invalid lookup. Must be a function");if(e?.pick!=null&&typeof e?.pick!="function")throw new Tr("Invalid pick. Must be a function");let t=e?.dualStack??!0,s;t?s=e?.affinity??null:s=e?.affinity??4;let r={maxTTL:e?.maxTTL??1e4,lookup:e?.lookup??null,pick:e?.pick??null,dualStack:t,affinity:s,maxItems:e?.maxItems??1/0},i=new Gl(r);return o=>function(a,A){let c=a.origin.constructor===URL?a.origin:new URL(a.origin);return aT(c.hostname)!==0?o(a,A):(i.runLookup(c,a,(u,l)=>{if(u)return A.onError(u);let p=null;p={...a,servername:c.hostname,origin:l,headers:{host:c.hostname,...a.headers}},o(p,i.getHandler({origin:c,dispatch:o,handler:A},a))}),!0)}}});var Ns=Q((IY,Af)=>{"use strict";var{kConstruct:uT}=j(),{kEnumerableProperty:Fr}=N(),{iteratorMixin:pT,isValidHeaderName:Si,isValidHeaderValue:sf}=Ue(),{webidl:_}=ge(),Ll=require("node:assert"),Rn=require("node:util"),re=Symbol("headers map"),Me=Symbol("headers map sorted");function tf(e){return e===10||e===13||e===9||e===32}function rf(e){let t=0,s=e.length;for(;s>t&&tf(e.charCodeAt(s-1));)--s;for(;s>t&&tf(e.charCodeAt(t));)++t;return t===0&&s===e.length?e:e.substring(t,s)}function of(e,t){if(Array.isArray(t))for(let s=0;s>","record"]})}function _l(e,t,s){if(s=rf(s),Si(t)){if(!sf(s))throw _.errors.invalidArgument({prefix:"Headers.append",value:s,type:"header value"})}else throw _.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header name"});if(af(e)==="immutable")throw new TypeError("immutable");return Yl(e).append(t,s,!1)}function nf(e,t){return e[0]>1),s[c][0]<=u[0]?A=c+1:a=c;if(o!==c){for(n=o;n>A;)s[n]=s[--n];s[A]=u}}if(!r.next().done)throw new TypeError("Unreachable");return s}else{let r=0;for(let{0:i,1:{value:o}}of this[re])s[r++]=[i,o],Ll(o!==null);return s.sort(nf)}}},ct=class e{#e;#t;constructor(t=void 0){_.util.markAsUncloneable(this),t!==uT&&(this.#t=new Tn,this.#e="none",t!==void 0&&(t=_.converters.HeadersInit(t,"Headers contructor","init"),of(this,t)))}append(t,s){_.brandCheck(this,e),_.argumentLengthCheck(arguments,2,"Headers.append");let r="Headers.append";return t=_.converters.ByteString(t,r,"name"),s=_.converters.ByteString(s,r,"value"),_l(this,t,s)}delete(t){if(_.brandCheck(this,e),_.argumentLengthCheck(arguments,1,"Headers.delete"),t=_.converters.ByteString(t,"Headers.delete","name"),!Si(t))throw _.errors.invalidArgument({prefix:"Headers.delete",value:t,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#t.contains(t,!1)&&this.#t.delete(t,!1)}get(t){_.brandCheck(this,e),_.argumentLengthCheck(arguments,1,"Headers.get");let s="Headers.get";if(t=_.converters.ByteString(t,s,"name"),!Si(t))throw _.errors.invalidArgument({prefix:s,value:t,type:"header name"});return this.#t.get(t,!1)}has(t){_.brandCheck(this,e),_.argumentLengthCheck(arguments,1,"Headers.has");let s="Headers.has";if(t=_.converters.ByteString(t,s,"name"),!Si(t))throw _.errors.invalidArgument({prefix:s,value:t,type:"header name"});return this.#t.contains(t,!1)}set(t,s){_.brandCheck(this,e),_.argumentLengthCheck(arguments,2,"Headers.set");let r="Headers.set";if(t=_.converters.ByteString(t,r,"name"),s=_.converters.ByteString(s,r,"value"),s=rf(s),Si(t)){if(!sf(s))throw _.errors.invalidArgument({prefix:r,value:s,type:"header value"})}else throw _.errors.invalidArgument({prefix:r,value:t,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#t.set(t,s,!1)}getSetCookie(){_.brandCheck(this,e);let t=this.#t.cookies;return t?[...t]:[]}get[Me](){if(this.#t[Me])return this.#t[Me];let t=[],s=this.#t.toSortedArray(),r=this.#t.cookies;if(r===null||r.length===1)return this.#t[Me]=s;for(let i=0;i>"](e,t,s,r.bind(e)):_.converters["record"](e,t,s)}throw _.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence>","record"]})};Af.exports={fill:of,compareHeaderName:nf,Headers:ct,HeadersList:Tn,getHeadersGuard:af,setHeadersGuard:gT,setHeadersList:hT,getHeadersList:Yl}});var Ni=Q((wY,Bf)=>{"use strict";var{Headers:hf,HeadersList:cf,fill:dT,getHeadersGuard:ET,setHeadersGuard:df,setHeadersList:Ef}=Ns(),{extractBody:lf,cloneBody:mT,mixinBody:fT,hasFinalizationRegistry:mf,streamRegistry:ff,bodyUnusable:QT}=pr(),Ol=N(),uf=require("node:util"),{kEnumerableProperty:Le}=Ol,{isValidReasonPhrase:BT,isCancelled:CT,isAborted:IT,isBlobLike:wT,serializeJavascriptValueToJSONString:bT,isErrorLike:yT,isomorphicEncode:xT,environmentSettingsObject:vT}=Ue(),{redirectStatusSet:kT,nullBodyStatus:DT}=ii(),{kState:Z,kHeaders:Yt}=Kt(),{webidl:U}=ge(),{FormData:RT}=li(),{URLSerializer:pf}=ve(),{kConstruct:Sn}=j(),Jl=require("node:assert"),{types:TT}=require("node:util"),FT=new TextEncoder("utf-8"),Gs=class e{static error(){return Ui(Un(),"immutable")}static json(t,s={}){U.argumentLengthCheck(arguments,1,"Response.json"),s!==null&&(s=U.converters.ResponseInit(s));let r=FT.encode(bT(t)),i=lf(r),o=Ui(Sr({}),"response");return gf(o,s,{body:i[0],type:"application/json"}),o}static redirect(t,s=302){U.argumentLengthCheck(arguments,1,"Response.redirect"),t=U.converters.USVString(t),s=U.converters["unsigned short"](s);let r;try{r=new URL(t,vT.settingsObject.baseUrl)}catch(n){throw new TypeError(`Failed to parse URL from ${t}`,{cause:n})}if(!kT.has(s))throw new RangeError(`Invalid status code ${s}`);let i=Ui(Sr({}),"immutable");i[Z].status=s;let o=xT(pf(r));return i[Z].headersList.append("location",o,!0),i}constructor(t=null,s={}){if(U.util.markAsUncloneable(this),t===Sn)return;t!==null&&(t=U.converters.BodyInit(t)),s=U.converters.ResponseInit(s),this[Z]=Sr({}),this[Yt]=new hf(Sn),df(this[Yt],"response"),Ef(this[Yt],this[Z].headersList);let r=null;if(t!=null){let[i,o]=lf(t);r={body:i,type:o}}gf(this,s,r)}get type(){return U.brandCheck(this,e),this[Z].type}get url(){U.brandCheck(this,e);let t=this[Z].urlList,s=t[t.length-1]??null;return s===null?"":pf(s,!0)}get redirected(){return U.brandCheck(this,e),this[Z].urlList.length>1}get status(){return U.brandCheck(this,e),this[Z].status}get ok(){return U.brandCheck(this,e),this[Z].status>=200&&this[Z].status<=299}get statusText(){return U.brandCheck(this,e),this[Z].statusText}get headers(){return U.brandCheck(this,e),this[Yt]}get body(){return U.brandCheck(this,e),this[Z].body?this[Z].body.stream:null}get bodyUsed(){return U.brandCheck(this,e),!!this[Z].body&&Ol.isDisturbed(this[Z].body.stream)}clone(){if(U.brandCheck(this,e),QT(this))throw U.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let t=Pl(this[Z]);return mf&&this[Z].body?.stream&&ff.register(this,new WeakRef(this[Z].body.stream)),Ui(t,ET(this[Yt]))}[uf.inspect.custom](t,s){s.depth===null&&(s.depth=2),s.colors??=!0;let r={status:this.status,statusText:this.statusText,headers:this.headers,body:this.body,bodyUsed:this.bodyUsed,ok:this.ok,redirected:this.redirected,type:this.type,url:this.url};return`Response ${uf.formatWithOptions(s,r)}`}};fT(Gs);Object.defineProperties(Gs.prototype,{type:Le,url:Le,status:Le,ok:Le,redirected:Le,statusText:Le,headers:Le,clone:Le,body:Le,bodyUsed:Le,[Symbol.toStringTag]:{value:"Response",configurable:!0}});Object.defineProperties(Gs,{json:Le,redirect:Le,error:Le});function Pl(e){if(e.internalResponse)return Qf(Pl(e.internalResponse),e.type);let t=Sr({...e,body:null});return e.body!=null&&(t.body=mT(t,e.body)),t}function Sr(e){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...e,headersList:e?.headersList?new cf(e?.headersList):new cf,urlList:e?.urlList?[...e.urlList]:[]}}function Un(e){let t=yT(e);return Sr({type:"error",status:0,error:t?e:new Error(e&&String(e)),aborted:e&&e.name==="AbortError"})}function ST(e){return e.type==="error"&&e.status===0}function Fn(e,t){return t={internalResponse:e,...t},new Proxy(e,{get(s,r){return r in t?t[r]:s[r]},set(s,r,i){return Jl(!(r in t)),s[r]=i,!0}})}function Qf(e,t){if(t==="basic")return Fn(e,{type:"basic",headersList:e.headersList});if(t==="cors")return Fn(e,{type:"cors",headersList:e.headersList});if(t==="opaque")return Fn(e,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null});if(t==="opaqueredirect")return Fn(e,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});Jl(!1)}function UT(e,t=null){return Jl(CT(e)),IT(e)?Un(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:t})):Un(Object.assign(new DOMException("Request was cancelled."),{cause:t}))}function gf(e,t,s){if(t.status!==null&&(t.status<200||t.status>599))throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in t&&t.statusText!=null&&!BT(String(t.statusText)))throw new TypeError("Invalid statusText");if("status"in t&&t.status!=null&&(e[Z].status=t.status),"statusText"in t&&t.statusText!=null&&(e[Z].statusText=t.statusText),"headers"in t&&t.headers!=null&&dT(e[Yt],t.headers),s){if(DT.includes(e.status))throw U.errors.exception({header:"Response constructor",message:`Invalid response status code ${e.status}`});e[Z].body=s.body,s.type!=null&&!e[Z].headersList.contains("content-type",!0)&&e[Z].headersList.append("content-type",s.type,!0)}}function Ui(e,t){let s=new Gs(Sn);return s[Z]=e,s[Yt]=new hf(Sn),Ef(s[Yt],e.headersList),df(s[Yt],t),mf&&e.body?.stream&&ff.register(s,new WeakRef(e.body.stream)),s}U.converters.ReadableStream=U.interfaceConverter(ReadableStream);U.converters.FormData=U.interfaceConverter(RT);U.converters.URLSearchParams=U.interfaceConverter(URLSearchParams);U.converters.XMLHttpRequestBodyInit=function(e,t,s){return typeof e=="string"?U.converters.USVString(e,t,s):wT(e)?U.converters.Blob(e,t,s,{strict:!1}):ArrayBuffer.isView(e)||TT.isArrayBuffer(e)?U.converters.BufferSource(e,t,s):Ol.isFormDataLike(e)?U.converters.FormData(e,t,s,{strict:!1}):e instanceof URLSearchParams?U.converters.URLSearchParams(e,t,s):U.converters.DOMString(e,t,s)};U.converters.BodyInit=function(e,t,s){return e instanceof ReadableStream?U.converters.ReadableStream(e,t,s):e?.[Symbol.asyncIterator]?e:U.converters.XMLHttpRequestBodyInit(e,t,s)};U.converters.ResponseInit=U.dictionaryConverter([{key:"status",converter:U.converters["unsigned short"],defaultValue:()=>200},{key:"statusText",converter:U.converters.ByteString,defaultValue:()=>""},{key:"headers",converter:U.converters.HeadersInit}]);Bf.exports={isNetworkError:ST,makeNetworkError:Un,makeResponse:Sr,makeAppropriateNetworkError:UT,filterResponse:Qf,Response:Gs,cloneResponse:Pl,fromInnerResponse:Ui}});var bf=Q((bY,wf)=>{"use strict";var{kConnected:Cf,kSize:If}=j(),Hl=class{constructor(t){this.value=t}deref(){return this.value[Cf]===0&&this.value[If]===0?void 0:this.value}},Vl=class{constructor(t){this.finalizer=t}register(t,s){t.on&&t.on("disconnect",()=>{t[Cf]===0&&t[If]===0&&this.finalizer(s)})}unregister(t){}};wf.exports=function(){return process.env.NODE_V8_COVERAGE&&process.version.startsWith("v18")?(process._rawDebug("Using compatibility WeakRef and FinalizationRegistry"),{WeakRef:Hl,FinalizationRegistry:Vl}):{WeakRef,FinalizationRegistry}}});var Ur=Q((yY,_f)=>{"use strict";var{extractBody:NT,mixinBody:GT,cloneBody:MT,bodyUnusable:yf}=pr(),{Headers:Uf,fill:LT,HeadersList:Ln,setHeadersGuard:Wl,getHeadersGuard:_T,setHeadersList:Nf,getHeadersList:xf}=Ns(),{FinalizationRegistry:YT}=bf()(),Gn=N(),vf=require("node:util"),{isValidHTTPToken:OT,sameOrigin:kf,environmentSettingsObject:Nn}=Ue(),{forbiddenMethodsSet:JT,corsSafeListedMethodsSet:PT,referrerPolicy:HT,requestRedirect:VT,requestMode:qT,requestCredentials:WT,requestCache:jT,requestDuplex:zT}=ii(),{kEnumerableProperty:ie,normalizedMethodRecordsBase:ZT,normalizedMethodRecords:KT}=Gn,{kHeaders:_e,kSignal:Mn,kState:W,kDispatcher:ql}=Kt(),{webidl:D}=ge(),{URLSerializer:XT}=ve(),{kConstruct:_n}=j(),$T=require("node:assert"),{getMaxListeners:Df,setMaxListeners:Rf,getEventListeners:eF,defaultMaxListeners:Tf}=require("node:events"),tF=Symbol("abortController"),Gf=new YT(({signal:e,abort:t})=>{e.removeEventListener("abort",t)}),Yn=new WeakMap;function Ff(e){return t;function t(){let s=e.deref();if(s!==void 0){Gf.unregister(t),this.removeEventListener("abort",t),s.abort(this.reason);let r=Yn.get(s.signal);if(r!==void 0){if(r.size!==0){for(let i of r){let o=i.deref();o!==void 0&&o.abort(this.reason)}r.clear()}Yn.delete(s.signal)}}}}var Sf=!1,cs=class e{constructor(t,s={}){if(D.util.markAsUncloneable(this),t===_n)return;let r="Request constructor";D.argumentLengthCheck(arguments,1,r),t=D.converters.RequestInfo(t,r,"input"),s=D.converters.RequestInit(s,r,"init");let i=null,o=null,n=Nn.settingsObject.baseUrl,a=null;if(typeof t=="string"){this[ql]=s.dispatcher;let d;try{d=new URL(t,n)}catch(m){throw new TypeError("Failed to parse URL from "+t,{cause:m})}if(d.username||d.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+t);i=On({urlList:[d]}),o="cors"}else this[ql]=s.dispatcher||t[ql],$T(t instanceof e),i=t[W],a=t[Mn];let A=Nn.settingsObject.origin,c="client";if(i.window?.constructor?.name==="EnvironmentSettingsObject"&&kf(i.window,A)&&(c=i.window),s.window!=null)throw new TypeError(`'window' option '${c}' must be null`);"window"in s&&(c="no-window"),i=On({method:i.method,headersList:i.headersList,unsafeRequest:i.unsafeRequest,client:Nn.settingsObject,window:c,priority:i.priority,origin:i.origin,referrer:i.referrer,referrerPolicy:i.referrerPolicy,mode:i.mode,credentials:i.credentials,cache:i.cache,redirect:i.redirect,integrity:i.integrity,keepalive:i.keepalive,reloadNavigation:i.reloadNavigation,historyNavigation:i.historyNavigation,urlList:[...i.urlList]});let u=Object.keys(s).length!==0;if(u&&(i.mode==="navigate"&&(i.mode="same-origin"),i.reloadNavigation=!1,i.historyNavigation=!1,i.origin="client",i.referrer="client",i.referrerPolicy="",i.url=i.urlList[i.urlList.length-1],i.urlList=[i.url]),s.referrer!==void 0){let d=s.referrer;if(d==="")i.referrer="no-referrer";else{let m;try{m=new URL(d,n)}catch(C){throw new TypeError(`Referrer "${d}" is not a valid URL.`,{cause:C})}m.protocol==="about:"&&m.hostname==="client"||A&&!kf(m,Nn.settingsObject.baseUrl)?i.referrer="client":i.referrer=m}}s.referrerPolicy!==void 0&&(i.referrerPolicy=s.referrerPolicy);let l;if(s.mode!==void 0?l=s.mode:l=o,l==="navigate")throw D.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(l!=null&&(i.mode=l),s.credentials!==void 0&&(i.credentials=s.credentials),s.cache!==void 0&&(i.cache=s.cache),i.cache==="only-if-cached"&&i.mode!=="same-origin")throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(s.redirect!==void 0&&(i.redirect=s.redirect),s.integrity!=null&&(i.integrity=String(s.integrity)),s.keepalive!==void 0&&(i.keepalive=!!s.keepalive),s.method!==void 0){let d=s.method,m=KT[d];if(m!==void 0)i.method=m;else{if(!OT(d))throw new TypeError(`'${d}' is not a valid HTTP method.`);let C=d.toUpperCase();if(JT.has(C))throw new TypeError(`'${d}' HTTP method is unsupported.`);d=ZT[C]??d,i.method=d}!Sf&&i.method==="patch"&&(process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.",{code:"UNDICI-FETCH-patch"}),Sf=!0)}s.signal!==void 0&&(a=s.signal),this[W]=i;let p=new AbortController;if(this[Mn]=p.signal,a!=null){if(!a||typeof a.aborted!="boolean"||typeof a.addEventListener!="function")throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.");if(a.aborted)p.abort(a.reason);else{this[tF]=p;let d=new WeakRef(p),m=Ff(d);try{(typeof Df=="function"&&Df(a)===Tf||eF(a,"abort").length>=Tf)&&Rf(1500,a)}catch{}Gn.addAbortListener(a,m),Gf.register(p,{signal:a,abort:m},m)}}if(this[_e]=new Uf(_n),Nf(this[_e],i.headersList),Wl(this[_e],"request"),l==="no-cors"){if(!PT.has(i.method))throw new TypeError(`'${i.method} is unsupported in no-cors mode.`);Wl(this[_e],"request-no-cors")}if(u){let d=xf(this[_e]),m=s.headers!==void 0?s.headers:new Ln(d);if(d.clear(),m instanceof Ln){for(let{name:C,value:B}of m.rawValues())d.append(C,B,!1);d.cookies=m.cookies}else LT(this[_e],m)}let g=t instanceof e?t[W].body:null;if((s.body!=null||g!=null)&&(i.method==="GET"||i.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let h=null;if(s.body!=null){let[d,m]=NT(s.body,i.keepalive);h=d,m&&!xf(this[_e]).contains("content-type",!0)&&this[_e].append("content-type",m)}let E=h??g;if(E!=null&&E.source==null){if(h!=null&&s.duplex==null)throw new TypeError("RequestInit: duplex option is required when sending a body.");if(i.mode!=="same-origin"&&i.mode!=="cors")throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');i.useCORSPreflightFlag=!0}let f=E;if(h==null&&g!=null){if(yf(t))throw new TypeError("Cannot construct a Request with a Request object that has already been used.");let d=new TransformStream;g.stream.pipeThrough(d),f={source:g.source,length:g.length,stream:d.readable}}this[W].body=f}get method(){return D.brandCheck(this,e),this[W].method}get url(){return D.brandCheck(this,e),XT(this[W].url)}get headers(){return D.brandCheck(this,e),this[_e]}get destination(){return D.brandCheck(this,e),this[W].destination}get referrer(){return D.brandCheck(this,e),this[W].referrer==="no-referrer"?"":this[W].referrer==="client"?"about:client":this[W].referrer.toString()}get referrerPolicy(){return D.brandCheck(this,e),this[W].referrerPolicy}get mode(){return D.brandCheck(this,e),this[W].mode}get credentials(){return this[W].credentials}get cache(){return D.brandCheck(this,e),this[W].cache}get redirect(){return D.brandCheck(this,e),this[W].redirect}get integrity(){return D.brandCheck(this,e),this[W].integrity}get keepalive(){return D.brandCheck(this,e),this[W].keepalive}get isReloadNavigation(){return D.brandCheck(this,e),this[W].reloadNavigation}get isHistoryNavigation(){return D.brandCheck(this,e),this[W].historyNavigation}get signal(){return D.brandCheck(this,e),this[Mn]}get body(){return D.brandCheck(this,e),this[W].body?this[W].body.stream:null}get bodyUsed(){return D.brandCheck(this,e),!!this[W].body&&Gn.isDisturbed(this[W].body.stream)}get duplex(){return D.brandCheck(this,e),"half"}clone(){if(D.brandCheck(this,e),yf(this))throw new TypeError("unusable");let t=Mf(this[W]),s=new AbortController;if(this.signal.aborted)s.abort(this.signal.reason);else{let r=Yn.get(this.signal);r===void 0&&(r=new Set,Yn.set(this.signal,r));let i=new WeakRef(s);r.add(i),Gn.addAbortListener(s.signal,Ff(i))}return Lf(t,s.signal,_T(this[_e]))}[vf.inspect.custom](t,s){s.depth===null&&(s.depth=2),s.colors??=!0;let r={method:this.method,url:this.url,headers:this.headers,destination:this.destination,referrer:this.referrer,referrerPolicy:this.referrerPolicy,mode:this.mode,credentials:this.credentials,cache:this.cache,redirect:this.redirect,integrity:this.integrity,keepalive:this.keepalive,isReloadNavigation:this.isReloadNavigation,isHistoryNavigation:this.isHistoryNavigation,signal:this.signal};return`Request ${vf.formatWithOptions(s,r)}`}};GT(cs);function On(e){return{method:e.method??"GET",localURLsOnly:e.localURLsOnly??!1,unsafeRequest:e.unsafeRequest??!1,body:e.body??null,client:e.client??null,reservedClient:e.reservedClient??null,replacesClientId:e.replacesClientId??"",window:e.window??"client",keepalive:e.keepalive??!1,serviceWorkers:e.serviceWorkers??"all",initiator:e.initiator??"",destination:e.destination??"",priority:e.priority??null,origin:e.origin??"client",policyContainer:e.policyContainer??"client",referrer:e.referrer??"client",referrerPolicy:e.referrerPolicy??"",mode:e.mode??"no-cors",useCORSPreflightFlag:e.useCORSPreflightFlag??!1,credentials:e.credentials??"same-origin",useCredentials:e.useCredentials??!1,cache:e.cache??"default",redirect:e.redirect??"follow",integrity:e.integrity??"",cryptoGraphicsNonceMetadata:e.cryptoGraphicsNonceMetadata??"",parserMetadata:e.parserMetadata??"",reloadNavigation:e.reloadNavigation??!1,historyNavigation:e.historyNavigation??!1,userActivation:e.userActivation??!1,taintedOrigin:e.taintedOrigin??!1,redirectCount:e.redirectCount??0,responseTainting:e.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:e.preventNoCacheCacheControlHeaderModification??!1,done:e.done??!1,timingAllowFailed:e.timingAllowFailed??!1,urlList:e.urlList,url:e.urlList[0],headersList:e.headersList?new Ln(e.headersList):new Ln}}function Mf(e){let t=On({...e,body:null});return e.body!=null&&(t.body=MT(t,e.body)),t}function Lf(e,t,s){let r=new cs(_n);return r[W]=e,r[Mn]=t,r[_e]=new Uf(_n),Nf(r[_e],e.headersList),Wl(r[_e],s),r}Object.defineProperties(cs.prototype,{method:ie,url:ie,headers:ie,redirect:ie,clone:ie,signal:ie,duplex:ie,destination:ie,body:ie,bodyUsed:ie,isHistoryNavigation:ie,isReloadNavigation:ie,keepalive:ie,integrity:ie,cache:ie,credentials:ie,attribute:ie,referrerPolicy:ie,referrer:ie,mode:ie,[Symbol.toStringTag]:{value:"Request",configurable:!0}});D.converters.Request=D.interfaceConverter(cs);D.converters.RequestInfo=function(e,t,s){return typeof e=="string"?D.converters.USVString(e,t,s):e instanceof cs?D.converters.Request(e,t,s):D.converters.USVString(e,t,s)};D.converters.AbortSignal=D.interfaceConverter(AbortSignal);D.converters.RequestInit=D.dictionaryConverter([{key:"method",converter:D.converters.ByteString},{key:"headers",converter:D.converters.HeadersInit},{key:"body",converter:D.nullableConverter(D.converters.BodyInit)},{key:"referrer",converter:D.converters.USVString},{key:"referrerPolicy",converter:D.converters.DOMString,allowedValues:HT},{key:"mode",converter:D.converters.DOMString,allowedValues:qT},{key:"credentials",converter:D.converters.DOMString,allowedValues:WT},{key:"cache",converter:D.converters.DOMString,allowedValues:jT},{key:"redirect",converter:D.converters.DOMString,allowedValues:VT},{key:"integrity",converter:D.converters.DOMString},{key:"keepalive",converter:D.converters.boolean},{key:"signal",converter:D.nullableConverter(e=>D.converters.AbortSignal(e,"RequestInit","signal",{strict:!1}))},{key:"window",converter:D.converters.any},{key:"duplex",converter:D.converters.DOMString,allowedValues:zT},{key:"dispatcher",converter:D.converters.any}]);_f.exports={Request:cs,makeRequest:On,fromInnerRequest:Lf,cloneRequest:Mf}});var Mi=Q((xY,eQ)=>{"use strict";var{makeNetworkError:P,makeAppropriateNetworkError:Jn,filterResponse:jl,makeResponse:Pn,fromInnerResponse:sF}=Ni(),{HeadersList:Yf}=Ns(),{Request:rF,cloneRequest:iF}=Ur(),ls=require("node:zlib"),{bytesMatch:oF,makePolicyContainer:nF,clonePolicyContainer:aF,requestBadPort:AF,TAOCheck:cF,appendRequestOriginHeader:lF,responseLocationURL:uF,requestCurrentURL:yt,setRequestReferrerPolicyOnRedirect:pF,tryUpgradeRequestToAPotentiallyTrustworthyURL:gF,createOpaqueTimingInfo:$l,appendFetchMetadata:hF,corsCheck:dF,crossOriginResourcePolicyCheck:EF,determineRequestsReferrer:mF,coarsenedSharedCurrentTime:Gi,createDeferredPromise:fF,isBlobLike:QF,sameOrigin:Xl,isCancelled:Ms,isAborted:Of,isErrorLike:BF,fullyReadBody:CF,readableStreamClose:IF,isomorphicEncode:Hn,urlIsLocal:wF,urlIsHttpHttpsScheme:eu,urlHasHttpsScheme:bF,clampAndCoarsenConnectionTimingInfo:yF,simpleRangeHeaderValue:xF,buildContentRange:vF,createInflate:kF,extractMimeType:DF}=Ue(),{kState:Vf,kDispatcher:RF}=Kt(),Ls=require("node:assert"),{safelyExtractBody:tu,extractBody:Jf}=pr(),{redirectStatusSet:qf,nullBodyStatus:Wf,safeMethodsSet:TF,requestBodyHeader:FF,subresourceSet:SF}=ii(),UF=require("node:events"),{Readable:NF,pipeline:GF,finished:MF}=require("node:stream"),{addAbortListener:LF,isErrored:_F,isReadable:Vn,bufferToLowerCasedHeaderName:Pf}=N(),{dataURLProcessor:YF,serializeAMimeType:OF,minimizeSupportedMimeType:JF}=ve(),{getGlobalDispatcher:PF}=kn(),{webidl:HF}=ge(),{STATUS_CODES:VF}=require("node:http"),qF=["GET","HEAD"],WF=typeof __UNDICI_IS_NODE__<"u"||typeof esbuildDetection<"u"?"node":"undici",zl,qn=class extends UF{constructor(t){super(),this.dispatcher=t,this.connection=null,this.dump=!1,this.state="ongoing"}terminate(t){this.state==="ongoing"&&(this.state="terminated",this.connection?.destroy(t),this.emit("terminated",t))}abort(t){this.state==="ongoing"&&(this.state="aborted",t||(t=new DOMException("The operation was aborted.","AbortError")),this.serializedAbortReason=t,this.connection?.destroy(t),this.emit("terminated",t))}};function jF(e){jf(e,"fetch")}function zF(e,t=void 0){HF.argumentLengthCheck(arguments,1,"globalThis.fetch");let s=fF(),r;try{r=new rF(e,t)}catch(u){return s.reject(u),s.promise}let i=r[Vf];if(r.signal.aborted)return Zl(s,i,null,r.signal.reason),s.promise;i.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(i.serviceWorkers="none");let n=null,a=!1,A=null;return LF(r.signal,()=>{a=!0,Ls(A!=null),A.abort(r.signal.reason);let u=n?.deref();Zl(s,i,u,r.signal.reason)}),A=Zf({request:i,processResponseEndOfBody:jF,processResponse:u=>{if(!a){if(u.aborted){Zl(s,i,n,A.serializedAbortReason);return}if(u.type==="error"){s.reject(new TypeError("fetch failed",{cause:u.error}));return}n=new WeakRef(sF(u,"immutable")),s.resolve(n.deref()),s=null}},dispatcher:r[RF]}),s.promise}function jf(e,t="other"){if(e.type==="error"&&e.aborted||!e.urlList?.length)return;let s=e.urlList[0],r=e.timingInfo,i=e.cacheState;eu(s)&&r!==null&&(e.timingAllowPassed||(r=$l({startTime:r.startTime}),i=""),r.endTime=Gi(),e.timingInfo=r,zf(r,s.href,t,globalThis,i))}var zf=performance.markResourceTiming;function Zl(e,t,s,r){if(e&&e.reject(r),t.body!=null&&Vn(t.body?.stream)&&t.body.stream.cancel(r).catch(o=>{if(o.code!=="ERR_INVALID_STATE")throw o}),s==null)return;let i=s[Vf];i.body!=null&&Vn(i.body?.stream)&&i.body.stream.cancel(r).catch(o=>{if(o.code!=="ERR_INVALID_STATE")throw o})}function Zf({request:e,processRequestBodyChunkLength:t,processRequestEndOfBody:s,processResponse:r,processResponseEndOfBody:i,processResponseConsumeBody:o,useParallelQueue:n=!1,dispatcher:a=PF()}){Ls(a);let A=null,c=!1;e.client!=null&&(A=e.client.globalObject,c=e.client.crossOriginIsolatedCapability);let u=Gi(c),l=$l({startTime:u}),p={controller:new qn(a),request:e,timingInfo:l,processRequestBodyChunkLength:t,processRequestEndOfBody:s,processResponse:r,processResponseConsumeBody:o,processResponseEndOfBody:i,taskDestination:A,crossOriginIsolatedCapability:c};return Ls(!e.body||e.body.stream),e.window==="client"&&(e.window=e.client?.globalObject?.constructor?.name==="Window"?e.client:"no-window"),e.origin==="client"&&(e.origin=e.client.origin),e.policyContainer==="client"&&(e.client!=null?e.policyContainer=aF(e.client.policyContainer):e.policyContainer=nF()),e.headersList.contains("accept",!0)||e.headersList.append("accept","*/*",!0),e.headersList.contains("accept-language",!0)||e.headersList.append("accept-language","*",!0),e.priority,SF.has(e.destination),Kf(p).catch(g=>{p.controller.terminate(g)}),p.controller}async function Kf(e,t=!1){let s=e.request,r=null;if(s.localURLsOnly&&!wF(yt(s))&&(r=P("local URLs only")),gF(s),AF(s)==="blocked"&&(r=P("bad port")),s.referrerPolicy===""&&(s.referrerPolicy=s.policyContainer.referrerPolicy),s.referrer!=="no-referrer"&&(s.referrer=mF(s)),r===null&&(r=await(async()=>{let o=yt(s);return Xl(o,s.url)&&s.responseTainting==="basic"||o.protocol==="data:"||s.mode==="navigate"||s.mode==="websocket"?(s.responseTainting="basic",await Hf(e)):s.mode==="same-origin"?P('request mode cannot be "same-origin"'):s.mode==="no-cors"?s.redirect!=="follow"?P('redirect mode cannot be "follow" for "no-cors" request'):(s.responseTainting="opaque",await Hf(e)):eu(yt(s))?(s.responseTainting="cors",await Xf(e)):P("URL scheme must be a HTTP(S) scheme")})()),t)return r;r.status!==0&&!r.internalResponse&&(s.responseTainting,s.responseTainting==="basic"?r=jl(r,"basic"):s.responseTainting==="cors"?r=jl(r,"cors"):s.responseTainting==="opaque"?r=jl(r,"opaque"):Ls(!1));let i=r.status===0?r:r.internalResponse;if(i.urlList.length===0&&i.urlList.push(...s.urlList),s.timingAllowFailed||(r.timingAllowPassed=!0),r.type==="opaque"&&i.status===206&&i.rangeRequested&&!s.headers.contains("range",!0)&&(r=i=P()),r.status!==0&&(s.method==="HEAD"||s.method==="CONNECT"||Wf.includes(i.status))&&(i.body=null,e.controller.dump=!0),s.integrity){let o=a=>Kl(e,P(a));if(s.responseTainting==="opaque"||r.body==null){o(r.error);return}let n=a=>{if(!oF(a,s.integrity)){o("integrity mismatch");return}r.body=tu(a)[0],Kl(e,r)};await CF(r.body,n,o)}else Kl(e,r)}function Hf(e){if(Ms(e)&&e.request.redirectCount===0)return Promise.resolve(Jn(e));let{request:t}=e,{protocol:s}=yt(t);switch(s){case"about:":return Promise.resolve(P("about scheme is not supported"));case"blob:":{zl||(zl=require("node:buffer").resolveObjectURL);let r=yt(t);if(r.search.length!==0)return Promise.resolve(P("NetworkError when attempting to fetch resource."));let i=zl(r.toString());if(t.method!=="GET"||!QF(i))return Promise.resolve(P("invalid method"));let o=Pn(),n=i.size,a=Hn(`${n}`),A=i.type;if(t.headersList.contains("range",!0)){o.rangeRequested=!0;let c=t.headersList.get("range",!0),u=xF(c,!0);if(u==="failure")return Promise.resolve(P("failed to fetch the data URL"));let{rangeStartValue:l,rangeEndValue:p}=u;if(l===null)l=n-p,p=l+p-1;else{if(l>=n)return Promise.resolve(P("Range start is greater than the blob's size."));(p===null||p>=n)&&(p=n-1)}let g=i.slice(l,p,A),h=Jf(g);o.body=h[0];let E=Hn(`${g.size}`),f=vF(l,p,n);o.status=206,o.statusText="Partial Content",o.headersList.set("content-length",E,!0),o.headersList.set("content-type",A,!0),o.headersList.set("content-range",f,!0)}else{let c=Jf(i);o.statusText="OK",o.body=c[0],o.headersList.set("content-length",a,!0),o.headersList.set("content-type",A,!0)}return Promise.resolve(o)}case"data:":{let r=yt(t),i=YF(r);if(i==="failure")return Promise.resolve(P("failed to fetch the data URL"));let o=OF(i.mimeType);return Promise.resolve(Pn({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:o}]],body:tu(i.body)[0]}))}case"file:":return Promise.resolve(P("not implemented... yet..."));case"http:":case"https:":return Xf(e).catch(r=>P(r));default:return Promise.resolve(P("unknown scheme"))}}function ZF(e,t){e.request.done=!0,e.processResponseDone!=null&&queueMicrotask(()=>e.processResponseDone(t))}function Kl(e,t){let s=e.timingInfo,r=()=>{let o=Date.now();e.request.destination==="document"&&(e.controller.fullTimingInfo=s),e.controller.reportTimingSteps=()=>{if(e.request.url.protocol!=="https:")return;s.endTime=o;let a=t.cacheState,A=t.bodyInfo;t.timingAllowPassed||(s=$l(s),a="");let c=0;if(e.request.mode!=="navigator"||!t.hasCrossOriginRedirects){c=t.status;let u=DF(t.headersList);u!=="failure"&&(A.contentType=JF(u))}e.request.initiatorType!=null&&zf(s,e.request.url.href,e.request.initiatorType,globalThis,a,A,c)};let n=()=>{e.request.done=!0,e.processResponseEndOfBody!=null&&queueMicrotask(()=>e.processResponseEndOfBody(t)),e.request.initiatorType!=null&&e.controller.reportTimingSteps()};queueMicrotask(()=>n())};e.processResponse!=null&&queueMicrotask(()=>{e.processResponse(t),e.processResponse=null});let i=t.type==="error"?t:t.internalResponse??t;i.body==null?r():MF(i.body.stream,()=>{r()})}async function Xf(e){let t=e.request,s=null,r=null,i=e.timingInfo;if(t.serviceWorkers,s===null){if(t.redirect==="follow"&&(t.serviceWorkers="none"),r=s=await $f(e),t.responseTainting==="cors"&&dF(t,s)==="failure")return P("cors failure");cF(t,s)==="failure"&&(t.timingAllowFailed=!0)}return(t.responseTainting==="opaque"||s.type==="opaque")&&EF(t.origin,t.client,t.destination,r)==="blocked"?P("blocked"):(qf.has(r.status)&&(t.redirect!=="manual"&&e.controller.connection.destroy(void 0,!1),t.redirect==="error"?s=P("unexpected redirect"):t.redirect==="manual"?s=r:t.redirect==="follow"?s=await KF(e,s):Ls(!1)),s.timingInfo=i,s)}function KF(e,t){let s=e.request,r=t.internalResponse?t.internalResponse:t,i;try{if(i=uF(r,yt(s).hash),i==null)return t}catch(n){return Promise.resolve(P(n))}if(!eu(i))return Promise.resolve(P("URL scheme must be a HTTP(S) scheme"));if(s.redirectCount===20)return Promise.resolve(P("redirect count exceeded"));if(s.redirectCount+=1,s.mode==="cors"&&(i.username||i.password)&&!Xl(s,i))return Promise.resolve(P('cross origin not allowed for request mode "cors"'));if(s.responseTainting==="cors"&&(i.username||i.password))return Promise.resolve(P('URL cannot contain credentials for request mode "cors"'));if(r.status!==303&&s.body!=null&&s.body.source==null)return Promise.resolve(P());if([301,302].includes(r.status)&&s.method==="POST"||r.status===303&&!qF.includes(s.method)){s.method="GET",s.body=null;for(let n of FF)s.headersList.delete(n)}Xl(yt(s),i)||(s.headersList.delete("authorization",!0),s.headersList.delete("proxy-authorization",!0),s.headersList.delete("cookie",!0),s.headersList.delete("host",!0)),s.body!=null&&(Ls(s.body.source!=null),s.body=tu(s.body.source)[0]);let o=e.timingInfo;return o.redirectEndTime=o.postRedirectStartTime=Gi(e.crossOriginIsolatedCapability),o.redirectStartTime===0&&(o.redirectStartTime=o.startTime),s.urlList.push(i),pF(s,r),Kf(e,!0)}async function $f(e,t=!1,s=!1){let r=e.request,i=null,o=null,n=null,a=null,A=!1;r.window==="no-window"&&r.redirect==="error"?(i=e,o=r):(o=iF(r),i={...e},i.request=o);let c=r.credentials==="include"||r.credentials==="same-origin"&&r.responseTainting==="basic",u=o.body?o.body.length:null,l=null;if(o.body==null&&["POST","PUT"].includes(o.method)&&(l="0"),u!=null&&(l=Hn(`${u}`)),l!=null&&o.headersList.append("content-length",l,!0),u!=null&&o.keepalive,o.referrer instanceof URL&&o.headersList.append("referer",Hn(o.referrer.href),!0),lF(o),hF(o),o.headersList.contains("user-agent",!0)||o.headersList.append("user-agent",WF),o.cache==="default"&&(o.headersList.contains("if-modified-since",!0)||o.headersList.contains("if-none-match",!0)||o.headersList.contains("if-unmodified-since",!0)||o.headersList.contains("if-match",!0)||o.headersList.contains("if-range",!0))&&(o.cache="no-store"),o.cache==="no-cache"&&!o.preventNoCacheCacheControlHeaderModification&&!o.headersList.contains("cache-control",!0)&&o.headersList.append("cache-control","max-age=0",!0),(o.cache==="no-store"||o.cache==="reload")&&(o.headersList.contains("pragma",!0)||o.headersList.append("pragma","no-cache",!0),o.headersList.contains("cache-control",!0)||o.headersList.append("cache-control","no-cache",!0)),o.headersList.contains("range",!0)&&o.headersList.append("accept-encoding","identity",!0),o.headersList.contains("accept-encoding",!0)||(bF(yt(o))?o.headersList.append("accept-encoding","br, gzip, deflate",!0):o.headersList.append("accept-encoding","gzip, deflate",!0)),o.headersList.delete("host",!0),a==null&&(o.cache="no-store"),o.cache!=="no-store"&&o.cache,n==null){if(o.cache==="only-if-cached")return P("only if cached");let p=await XF(i,c,s);!TF.has(o.method)&&p.status>=200&&p.status<=399,A&&p.status,n==null&&(n=p)}if(n.urlList=[...o.urlList],o.headersList.contains("range",!0)&&(n.rangeRequested=!0),n.requestIncludesCredentials=c,n.status===407)return r.window==="no-window"?P():Ms(e)?Jn(e):P("proxy authentication required");if(n.status===421&&!s&&(r.body==null||r.body.source!=null)){if(Ms(e))return Jn(e);e.controller.connection.destroy(),n=await $f(e,t,!0)}return n}async function XF(e,t=!1,s=!1){Ls(!e.controller.connection||e.controller.connection.destroyed),e.controller.connection={abort:null,destroyed:!1,destroy(h,E=!0){this.destroyed||(this.destroyed=!0,E&&this.abort?.(h??new DOMException("The operation was aborted.","AbortError")))}};let r=e.request,i=null,o=e.timingInfo;null==null&&(r.cache="no-store");let a=s?"yes":"no";r.mode;let A=null;if(r.body==null&&e.processRequestEndOfBody)queueMicrotask(()=>e.processRequestEndOfBody());else if(r.body!=null){let h=async function*(d){Ms(e)||(yield d,e.processRequestBodyChunkLength?.(d.byteLength))},E=()=>{Ms(e)||e.processRequestEndOfBody&&e.processRequestEndOfBody()},f=d=>{Ms(e)||(d.name==="AbortError"?e.controller.abort():e.controller.terminate(d))};A=(async function*(){try{for await(let d of r.body.stream)yield*h(d);E()}catch(d){f(d)}})()}try{let{body:h,status:E,statusText:f,headersList:d,socket:m}=await g({body:A});if(m)i=Pn({status:E,statusText:f,headersList:d,socket:m});else{let C=h[Symbol.asyncIterator]();e.controller.next=()=>C.next(),i=Pn({status:E,statusText:f,headersList:d})}}catch(h){return h.name==="AbortError"?(e.controller.connection.destroy(),Jn(e,h)):P(h)}let c=async()=>{await e.controller.resume()},u=h=>{Ms(e)||e.controller.abort(h)},l=new ReadableStream({async start(h){e.controller.controller=h},async pull(h){await c(h)},async cancel(h){await u(h)},type:"bytes"});i.body={stream:l,source:null,length:null},e.controller.onAborted=p,e.controller.on("terminated",p),e.controller.resume=async()=>{for(;;){let h,E;try{let{done:d,value:m}=await e.controller.next();if(Of(e))break;h=d?void 0:m}catch(d){e.controller.ended&&!o.encodedBodySize?h=void 0:(h=d,E=!0)}if(h===void 0){IF(e.controller.controller),ZF(e,i);return}if(o.decodedBodySize+=h?.byteLength??0,E){e.controller.terminate(h);return}let f=new Uint8Array(h);if(f.byteLength&&e.controller.controller.enqueue(f),_F(l)){e.controller.terminate();return}if(e.controller.controller.desiredSize<=0)return}};function p(h){Of(e)?(i.aborted=!0,Vn(l)&&e.controller.controller.error(e.controller.serializedAbortReason)):Vn(l)&&e.controller.controller.error(new TypeError("terminated",{cause:BF(h)?h:void 0})),e.controller.connection.destroy()}return i;function g({body:h}){let E=yt(r),f=e.controller.dispatcher;return new Promise((d,m)=>f.dispatch({path:E.pathname+E.search,origin:E.origin,method:r.method,body:f.isMockActive?r.body&&(r.body.source||r.body.stream):h,headers:r.headersList.entries,maxRedirections:0,upgrade:r.mode==="websocket"?"websocket":void 0},{body:null,abort:null,onConnect(C){let{connection:B}=e.controller;o.finalConnectionTimingInfo=yF(void 0,o.postRedirectStartTime,e.crossOriginIsolatedCapability),B.destroyed?C(new DOMException("The operation was aborted.","AbortError")):(e.controller.on("terminated",C),this.abort=B.abort=C),o.finalNetworkRequestStartTime=Gi(e.crossOriginIsolatedCapability)},onResponseStarted(){o.finalNetworkResponseStartTime=Gi(e.crossOriginIsolatedCapability)},onHeaders(C,B,b,S){if(C<200)return;let G="",pe=new Yf;for(let xe=0;xehp)return m(new Error(`too many content-encodings in response: ${jt.length}, maximum allowed is ${hp}`)),!0;for(let Ka=jt.length-1;Ka>=0;--Ka){let Qo=jt[Ka].trim();if(Qo==="x-gzip"||Qo==="gzip")he.push(ls.createGunzip({flush:ls.constants.Z_SYNC_FLUSH,finishFlush:ls.constants.Z_SYNC_FLUSH}));else if(Qo==="deflate")he.push(kF({flush:ls.constants.Z_SYNC_FLUSH,finishFlush:ls.constants.Z_SYNC_FLUSH}));else if(Qo==="br")he.push(ls.createBrotliDecompress({flush:ls.constants.BROTLI_OPERATION_FLUSH,finishFlush:ls.constants.BROTLI_OPERATION_FLUSH}));else{he.length=0;break}}}let Wt=this.onError.bind(this);return d({status:C,statusText:S,headersList:pe,body:he.length?GF(this.body,...he,xe=>{xe&&this.onError(xe)}).on("error",Wt):this.body.on("error",Wt)}),!0},onData(C){if(e.controller.dump)return;let B=C;return o.encodedBodySize+=B.byteLength,this.body.push(B)},onComplete(){this.abort&&e.controller.off("terminated",this.abort),e.controller.onAborted&&e.controller.off("terminated",e.controller.onAborted),e.controller.ended=!0,this.body.push(null)},onError(C){this.abort&&e.controller.off("terminated",this.abort),this.body?.destroy(C),e.controller.terminate(C),m(C)},onUpgrade(C,B,b){if(C!==101)return;let S=new Yf;for(let G=0;G{"use strict";tQ.exports={kState:Symbol("FileReader state"),kResult:Symbol("FileReader result"),kError:Symbol("FileReader error"),kLastProgressEventFired:Symbol("FileReader last progress event fired timestamp"),kEvents:Symbol("FileReader events"),kAborted:Symbol("FileReader aborted")}});var rQ=Q((kY,sQ)=>{"use strict";var{webidl:Ye}=ge(),Wn=Symbol("ProgressEvent state"),ru=class e extends Event{constructor(t,s={}){t=Ye.converters.DOMString(t,"ProgressEvent constructor","type"),s=Ye.converters.ProgressEventInit(s??{}),super(t,s),this[Wn]={lengthComputable:s.lengthComputable,loaded:s.loaded,total:s.total}}get lengthComputable(){return Ye.brandCheck(this,e),this[Wn].lengthComputable}get loaded(){return Ye.brandCheck(this,e),this[Wn].loaded}get total(){return Ye.brandCheck(this,e),this[Wn].total}};Ye.converters.ProgressEventInit=Ye.dictionaryConverter([{key:"lengthComputable",converter:Ye.converters.boolean,defaultValue:()=>!1},{key:"loaded",converter:Ye.converters["unsigned long long"],defaultValue:()=>0},{key:"total",converter:Ye.converters["unsigned long long"],defaultValue:()=>0},{key:"bubbles",converter:Ye.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:Ye.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:Ye.converters.boolean,defaultValue:()=>!1}]);sQ.exports={ProgressEvent:ru}});var oQ=Q((DY,iQ)=>{"use strict";function $F(e){if(!e)return"failure";switch(e.trim().toLowerCase()){case"unicode-1-1-utf-8":case"unicode11utf8":case"unicode20utf8":case"utf-8":case"utf8":case"x-unicode20utf8":return"UTF-8";case"866":case"cp866":case"csibm866":case"ibm866":return"IBM866";case"csisolatin2":case"iso-8859-2":case"iso-ir-101":case"iso8859-2":case"iso88592":case"iso_8859-2":case"iso_8859-2:1987":case"l2":case"latin2":return"ISO-8859-2";case"csisolatin3":case"iso-8859-3":case"iso-ir-109":case"iso8859-3":case"iso88593":case"iso_8859-3":case"iso_8859-3:1988":case"l3":case"latin3":return"ISO-8859-3";case"csisolatin4":case"iso-8859-4":case"iso-ir-110":case"iso8859-4":case"iso88594":case"iso_8859-4":case"iso_8859-4:1988":case"l4":case"latin4":return"ISO-8859-4";case"csisolatincyrillic":case"cyrillic":case"iso-8859-5":case"iso-ir-144":case"iso8859-5":case"iso88595":case"iso_8859-5":case"iso_8859-5:1988":return"ISO-8859-5";case"arabic":case"asmo-708":case"csiso88596e":case"csiso88596i":case"csisolatinarabic":case"ecma-114":case"iso-8859-6":case"iso-8859-6-e":case"iso-8859-6-i":case"iso-ir-127":case"iso8859-6":case"iso88596":case"iso_8859-6":case"iso_8859-6:1987":return"ISO-8859-6";case"csisolatingreek":case"ecma-118":case"elot_928":case"greek":case"greek8":case"iso-8859-7":case"iso-ir-126":case"iso8859-7":case"iso88597":case"iso_8859-7":case"iso_8859-7:1987":case"sun_eu_greek":return"ISO-8859-7";case"csiso88598e":case"csisolatinhebrew":case"hebrew":case"iso-8859-8":case"iso-8859-8-e":case"iso-ir-138":case"iso8859-8":case"iso88598":case"iso_8859-8":case"iso_8859-8:1988":case"visual":return"ISO-8859-8";case"csiso88598i":case"iso-8859-8-i":case"logical":return"ISO-8859-8-I";case"csisolatin6":case"iso-8859-10":case"iso-ir-157":case"iso8859-10":case"iso885910":case"l6":case"latin6":return"ISO-8859-10";case"iso-8859-13":case"iso8859-13":case"iso885913":return"ISO-8859-13";case"iso-8859-14":case"iso8859-14":case"iso885914":return"ISO-8859-14";case"csisolatin9":case"iso-8859-15":case"iso8859-15":case"iso885915":case"iso_8859-15":case"l9":return"ISO-8859-15";case"iso-8859-16":return"ISO-8859-16";case"cskoi8r":case"koi":case"koi8":case"koi8-r":case"koi8_r":return"KOI8-R";case"koi8-ru":case"koi8-u":return"KOI8-U";case"csmacintosh":case"mac":case"macintosh":case"x-mac-roman":return"macintosh";case"iso-8859-11":case"iso8859-11":case"iso885911":case"tis-620":case"windows-874":return"windows-874";case"cp1250":case"windows-1250":case"x-cp1250":return"windows-1250";case"cp1251":case"windows-1251":case"x-cp1251":return"windows-1251";case"ansi_x3.4-1968":case"ascii":case"cp1252":case"cp819":case"csisolatin1":case"ibm819":case"iso-8859-1":case"iso-ir-100":case"iso8859-1":case"iso88591":case"iso_8859-1":case"iso_8859-1:1987":case"l1":case"latin1":case"us-ascii":case"windows-1252":case"x-cp1252":return"windows-1252";case"cp1253":case"windows-1253":case"x-cp1253":return"windows-1253";case"cp1254":case"csisolatin5":case"iso-8859-9":case"iso-ir-148":case"iso8859-9":case"iso88599":case"iso_8859-9":case"iso_8859-9:1989":case"l5":case"latin5":case"windows-1254":case"x-cp1254":return"windows-1254";case"cp1255":case"windows-1255":case"x-cp1255":return"windows-1255";case"cp1256":case"windows-1256":case"x-cp1256":return"windows-1256";case"cp1257":case"windows-1257":case"x-cp1257":return"windows-1257";case"cp1258":case"windows-1258":case"x-cp1258":return"windows-1258";case"x-mac-cyrillic":case"x-mac-ukrainian":return"x-mac-cyrillic";case"chinese":case"csgb2312":case"csiso58gb231280":case"gb2312":case"gb_2312":case"gb_2312-80":case"gbk":case"iso-ir-58":case"x-gbk":return"GBK";case"gb18030":return"gb18030";case"big5":case"big5-hkscs":case"cn-big5":case"csbig5":case"x-x-big5":return"Big5";case"cseucpkdfmtjapanese":case"euc-jp":case"x-euc-jp":return"EUC-JP";case"csiso2022jp":case"iso-2022-jp":return"ISO-2022-JP";case"csshiftjis":case"ms932":case"ms_kanji":case"shift-jis":case"shift_jis":case"sjis":case"windows-31j":case"x-sjis":return"Shift_JIS";case"cseuckr":case"csksc56011987":case"euc-kr":case"iso-ir-149":case"korean":case"ks_c_5601-1987":case"ks_c_5601-1989":case"ksc5601":case"ksc_5601":case"windows-949":return"EUC-KR";case"csiso2022kr":case"hz-gb-2312":case"iso-2022-cn":case"iso-2022-cn-ext":case"iso-2022-kr":case"replacement":return"replacement";case"unicodefffe":case"utf-16be":return"UTF-16BE";case"csunicode":case"iso-10646-ucs-2":case"ucs-2":case"unicode":case"unicodefeff":case"utf-16":case"utf-16le":return"UTF-16LE";case"x-user-defined":return"x-user-defined";default:return"failure"}}iQ.exports={getEncoding:$F}});var gQ=Q((RY,pQ)=>{"use strict";var{kState:Nr,kError:iu,kResult:nQ,kAborted:Li,kLastProgressEventFired:ou}=su(),{ProgressEvent:eS}=rQ(),{getEncoding:aQ}=oQ(),{serializeAMimeType:tS,parseMIMEType:AQ}=ve(),{types:sS}=require("node:util"),{StringDecoder:cQ}=require("string_decoder"),{btoa:lQ}=require("node:buffer"),rS={enumerable:!0,writable:!1,configurable:!1};function iS(e,t,s,r){if(e[Nr]==="loading")throw new DOMException("Invalid state","InvalidStateError");e[Nr]="loading",e[nQ]=null,e[iu]=null;let o=t.stream().getReader(),n=[],a=o.read(),A=!0;(async()=>{for(;!e[Li];)try{let{done:c,value:u}=await a;if(A&&!e[Li]&&queueMicrotask(()=>{us("loadstart",e)}),A=!1,!c&&sS.isUint8Array(u))n.push(u),(e[ou]===void 0||Date.now()-e[ou]>=50)&&!e[Li]&&(e[ou]=Date.now(),queueMicrotask(()=>{us("progress",e)})),a=o.read();else if(c){queueMicrotask(()=>{e[Nr]="done";try{let l=oS(n,s,t.type,r);if(e[Li])return;e[nQ]=l,us("load",e)}catch(l){e[iu]=l,us("error",e)}e[Nr]!=="loading"&&us("loadend",e)});break}}catch(c){if(e[Li])return;queueMicrotask(()=>{e[Nr]="done",e[iu]=c,us("error",e),e[Nr]!=="loading"&&us("loadend",e)});break}})()}function us(e,t){let s=new eS(e,{bubbles:!1,cancelable:!1});t.dispatchEvent(s)}function oS(e,t,s,r){switch(t){case"DataURL":{let i="data:",o=AQ(s||"application/octet-stream");o!=="failure"&&(i+=tS(o)),i+=";base64,";let n=new cQ("latin1");for(let a of e)i+=lQ(n.write(a));return i+=lQ(n.end()),i}case"Text":{let i="failure";if(r&&(i=aQ(r)),i==="failure"&&s){let o=AQ(s);o!=="failure"&&(i=aQ(o.parameters.get("charset")))}return i==="failure"&&(i="UTF-8"),nS(e,i)}case"ArrayBuffer":return uQ(e).buffer;case"BinaryString":{let i="",o=new cQ("latin1");for(let n of e)i+=o.write(n);return i+=o.end(),i}}}function nS(e,t){let s=uQ(e),r=aS(s),i=0;r!==null&&(t=r,i=r==="UTF-8"?3:2);let o=s.slice(i);return new TextDecoder(t).decode(o)}function aS(e){let[t,s,r]=e;return t===239&&s===187&&r===191?"UTF-8":t===254&&s===255?"UTF-16BE":t===255&&s===254?"UTF-16LE":null}function uQ(e){let t=e.reduce((r,i)=>r+i.byteLength,0),s=0;return e.reduce((r,i)=>(r.set(i,s),s+=i.byteLength,r),new Uint8Array(t))}pQ.exports={staticPropertyDescriptors:rS,readOperation:iS,fireAProgressEvent:us}});var mQ=Q((TY,EQ)=>{"use strict";var{staticPropertyDescriptors:Gr,readOperation:jn,fireAProgressEvent:hQ}=gQ(),{kState:_s,kError:dQ,kResult:zn,kEvents:O,kAborted:AS}=su(),{webidl:H}=ge(),{kEnumerableProperty:Re}=N(),lt=class e extends EventTarget{constructor(){super(),this[_s]="empty",this[zn]=null,this[dQ]=null,this[O]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(t){H.brandCheck(this,e),H.argumentLengthCheck(arguments,1,"FileReader.readAsArrayBuffer"),t=H.converters.Blob(t,{strict:!1}),jn(this,t,"ArrayBuffer")}readAsBinaryString(t){H.brandCheck(this,e),H.argumentLengthCheck(arguments,1,"FileReader.readAsBinaryString"),t=H.converters.Blob(t,{strict:!1}),jn(this,t,"BinaryString")}readAsText(t,s=void 0){H.brandCheck(this,e),H.argumentLengthCheck(arguments,1,"FileReader.readAsText"),t=H.converters.Blob(t,{strict:!1}),s!==void 0&&(s=H.converters.DOMString(s,"FileReader.readAsText","encoding")),jn(this,t,"Text",s)}readAsDataURL(t){H.brandCheck(this,e),H.argumentLengthCheck(arguments,1,"FileReader.readAsDataURL"),t=H.converters.Blob(t,{strict:!1}),jn(this,t,"DataURL")}abort(){if(this[_s]==="empty"||this[_s]==="done"){this[zn]=null;return}this[_s]==="loading"&&(this[_s]="done",this[zn]=null),this[AS]=!0,hQ("abort",this),this[_s]!=="loading"&&hQ("loadend",this)}get readyState(){switch(H.brandCheck(this,e),this[_s]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){return H.brandCheck(this,e),this[zn]}get error(){return H.brandCheck(this,e),this[dQ]}get onloadend(){return H.brandCheck(this,e),this[O].loadend}set onloadend(t){H.brandCheck(this,e),this[O].loadend&&this.removeEventListener("loadend",this[O].loadend),typeof t=="function"?(this[O].loadend=t,this.addEventListener("loadend",t)):this[O].loadend=null}get onerror(){return H.brandCheck(this,e),this[O].error}set onerror(t){H.brandCheck(this,e),this[O].error&&this.removeEventListener("error",this[O].error),typeof t=="function"?(this[O].error=t,this.addEventListener("error",t)):this[O].error=null}get onloadstart(){return H.brandCheck(this,e),this[O].loadstart}set onloadstart(t){H.brandCheck(this,e),this[O].loadstart&&this.removeEventListener("loadstart",this[O].loadstart),typeof t=="function"?(this[O].loadstart=t,this.addEventListener("loadstart",t)):this[O].loadstart=null}get onprogress(){return H.brandCheck(this,e),this[O].progress}set onprogress(t){H.brandCheck(this,e),this[O].progress&&this.removeEventListener("progress",this[O].progress),typeof t=="function"?(this[O].progress=t,this.addEventListener("progress",t)):this[O].progress=null}get onload(){return H.brandCheck(this,e),this[O].load}set onload(t){H.brandCheck(this,e),this[O].load&&this.removeEventListener("load",this[O].load),typeof t=="function"?(this[O].load=t,this.addEventListener("load",t)):this[O].load=null}get onabort(){return H.brandCheck(this,e),this[O].abort}set onabort(t){H.brandCheck(this,e),this[O].abort&&this.removeEventListener("abort",this[O].abort),typeof t=="function"?(this[O].abort=t,this.addEventListener("abort",t)):this[O].abort=null}};lt.EMPTY=lt.prototype.EMPTY=0;lt.LOADING=lt.prototype.LOADING=1;lt.DONE=lt.prototype.DONE=2;Object.defineProperties(lt.prototype,{EMPTY:Gr,LOADING:Gr,DONE:Gr,readAsArrayBuffer:Re,readAsBinaryString:Re,readAsText:Re,readAsDataURL:Re,abort:Re,readyState:Re,result:Re,error:Re,onloadstart:Re,onprogress:Re,onload:Re,onabort:Re,onerror:Re,onloadend:Re,[Symbol.toStringTag]:{value:"FileReader",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(lt,{EMPTY:Gr,LOADING:Gr,DONE:Gr});EQ.exports={FileReader:lt}});var Zn=Q((FY,fQ)=>{"use strict";fQ.exports={kConstruct:j().kConstruct}});var CQ=Q((SY,BQ)=>{"use strict";var cS=require("node:assert"),{URLSerializer:QQ}=ve(),{isValidHeaderName:lS}=Ue();function uS(e,t,s=!1){let r=QQ(e,s),i=QQ(t,s);return r===i}function pS(e){cS(e!==null);let t=[];for(let s of e.split(","))s=s.trim(),lS(s)&&t.push(s);return t}BQ.exports={urlEquals:uS,getFieldValues:pS}});var bQ=Q((UY,wQ)=>{"use strict";var{kConstruct:gS}=Zn(),{urlEquals:hS,getFieldValues:nu}=CQ(),{kEnumerableProperty:Ys,isDisturbed:dS}=N(),{webidl:x}=ge(),{Response:ES,cloneResponse:mS,fromInnerResponse:fS}=Ni(),{Request:Ot,fromInnerRequest:QS}=Ur(),{kState:ut}=Kt(),{fetching:BS}=Mi(),{urlIsHttpHttpsScheme:Kn,createDeferredPromise:Mr,readAllBytes:CS}=Ue(),au=require("node:assert"),Xn=class e{#e;constructor(){arguments[0]!==gS&&x.illegalConstructor(),x.util.markAsUncloneable(this),this.#e=arguments[1]}async match(t,s={}){x.brandCheck(this,e);let r="Cache.match";x.argumentLengthCheck(arguments,1,r),t=x.converters.RequestInfo(t,r,"request"),s=x.converters.CacheQueryOptions(s,r,"options");let i=this.#r(t,s,1);if(i.length!==0)return i[0]}async matchAll(t=void 0,s={}){x.brandCheck(this,e);let r="Cache.matchAll";return t!==void 0&&(t=x.converters.RequestInfo(t,r,"request")),s=x.converters.CacheQueryOptions(s,r,"options"),this.#r(t,s)}async add(t){x.brandCheck(this,e);let s="Cache.add";x.argumentLengthCheck(arguments,1,s),t=x.converters.RequestInfo(t,s,"request");let r=[t];return await this.addAll(r)}async addAll(t){x.brandCheck(this,e);let s="Cache.addAll";x.argumentLengthCheck(arguments,1,s);let r=[],i=[];for(let p of t){if(p===void 0)throw x.errors.conversionFailed({prefix:s,argument:"Argument 1",types:["undefined is not allowed"]});if(p=x.converters.RequestInfo(p),typeof p=="string")continue;let g=p[ut];if(!Kn(g.url)||g.method!=="GET")throw x.errors.exception({header:s,message:"Expected http/s scheme when method is not GET."})}let o=[];for(let p of t){let g=new Ot(p)[ut];if(!Kn(g.url))throw x.errors.exception({header:s,message:"Expected http/s scheme."});g.initiator="fetch",g.destination="subresource",i.push(g);let h=Mr();o.push(BS({request:g,processResponse(E){if(E.type==="error"||E.status===206||E.status<200||E.status>299)h.reject(x.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(E.headersList.contains("vary")){let f=nu(E.headersList.get("vary"));for(let d of f)if(d==="*"){h.reject(x.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(let m of o)m.abort();return}}},processResponseEndOfBody(E){if(E.aborted){h.reject(new DOMException("aborted","AbortError"));return}h.resolve(E)}})),r.push(h.promise)}let a=await Promise.all(r),A=[],c=0;for(let p of a){let g={type:"put",request:i[c],response:p};A.push(g),c++}let u=Mr(),l=null;try{this.#t(A)}catch(p){l=p}return queueMicrotask(()=>{l===null?u.resolve(void 0):u.reject(l)}),u.promise}async put(t,s){x.brandCheck(this,e);let r="Cache.put";x.argumentLengthCheck(arguments,2,r),t=x.converters.RequestInfo(t,r,"request"),s=x.converters.Response(s,r,"response");let i=null;if(t instanceof Ot?i=t[ut]:i=new Ot(t)[ut],!Kn(i.url)||i.method!=="GET")throw x.errors.exception({header:r,message:"Expected an http/s scheme when method is not GET"});let o=s[ut];if(o.status===206)throw x.errors.exception({header:r,message:"Got 206 status"});if(o.headersList.contains("vary")){let g=nu(o.headersList.get("vary"));for(let h of g)if(h==="*")throw x.errors.exception({header:r,message:"Got * vary field value"})}if(o.body&&(dS(o.body.stream)||o.body.stream.locked))throw x.errors.exception({header:r,message:"Response body is locked or disturbed"});let n=mS(o),a=Mr();if(o.body!=null){let h=o.body.stream.getReader();CS(h).then(a.resolve,a.reject)}else a.resolve(void 0);let A=[],c={type:"put",request:i,response:n};A.push(c);let u=await a.promise;n.body!=null&&(n.body.source=u);let l=Mr(),p=null;try{this.#t(A)}catch(g){p=g}return queueMicrotask(()=>{p===null?l.resolve():l.reject(p)}),l.promise}async delete(t,s={}){x.brandCheck(this,e);let r="Cache.delete";x.argumentLengthCheck(arguments,1,r),t=x.converters.RequestInfo(t,r,"request"),s=x.converters.CacheQueryOptions(s,r,"options");let i=null;if(t instanceof Ot){if(i=t[ut],i.method!=="GET"&&!s.ignoreMethod)return!1}else au(typeof t=="string"),i=new Ot(t)[ut];let o=[],n={type:"delete",request:i,options:s};o.push(n);let a=Mr(),A=null,c;try{c=this.#t(o)}catch(u){A=u}return queueMicrotask(()=>{A===null?a.resolve(!!c?.length):a.reject(A)}),a.promise}async keys(t=void 0,s={}){x.brandCheck(this,e);let r="Cache.keys";t!==void 0&&(t=x.converters.RequestInfo(t,r,"request")),s=x.converters.CacheQueryOptions(s,r,"options");let i=null;if(t!==void 0)if(t instanceof Ot){if(i=t[ut],i.method!=="GET"&&!s.ignoreMethod)return[]}else typeof t=="string"&&(i=new Ot(t)[ut]);let o=Mr(),n=[];if(t===void 0)for(let a of this.#e)n.push(a[0]);else{let a=this.#i(i,s);for(let A of a)n.push(A[0])}return queueMicrotask(()=>{let a=[];for(let A of n){let c=QS(A,new AbortController().signal,"immutable");a.push(c)}o.resolve(Object.freeze(a))}),o.promise}#t(t){let s=this.#e,r=[...s],i=[],o=[];try{for(let n of t){if(n.type!=="delete"&&n.type!=="put")throw x.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(n.type==="delete"&&n.response!=null)throw x.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#i(n.request,n.options,i).length)throw new DOMException("???","InvalidStateError");let a;if(n.type==="delete"){if(a=this.#i(n.request,n.options),a.length===0)return[];for(let A of a){let c=s.indexOf(A);au(c!==-1),s.splice(c,1)}}else if(n.type==="put"){if(n.response==null)throw x.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let A=n.request;if(!Kn(A.url))throw x.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(A.method!=="GET")throw x.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(n.options!=null)throw x.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});a=this.#i(n.request);for(let c of a){let u=s.indexOf(c);au(u!==-1),s.splice(u,1)}s.push([n.request,n.response]),i.push([n.request,n.response])}o.push([n.request,n.response])}return o}catch(n){throw this.#e.length=0,this.#e=r,n}}#i(t,s,r){let i=[],o=r??this.#e;for(let n of o){let[a,A]=n;this.#s(t,a,A,s)&&i.push(n)}return i}#s(t,s,r=null,i){let o=new URL(t.url),n=new URL(s.url);if(i?.ignoreSearch&&(n.search="",o.search=""),!hS(o,n,!0))return!1;if(r==null||i?.ignoreVary||!r.headersList.contains("vary"))return!0;let a=nu(r.headersList.get("vary"));for(let A of a){if(A==="*")return!1;let c=s.headersList.get(A),u=t.headersList.get(A);if(c!==u)return!1}return!0}#r(t,s,r=1/0){let i=null;if(t!==void 0)if(t instanceof Ot){if(i=t[ut],i.method!=="GET"&&!s.ignoreMethod)return[]}else typeof t=="string"&&(i=new Ot(t)[ut]);let o=[];if(t===void 0)for(let a of this.#e)o.push(a[1]);else{let a=this.#i(i,s);for(let A of a)o.push(A[1])}let n=[];for(let a of o){let A=fS(a,"immutable");if(n.push(A.clone()),n.length>=r)break}return Object.freeze(n)}};Object.defineProperties(Xn.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:Ys,matchAll:Ys,add:Ys,addAll:Ys,put:Ys,delete:Ys,keys:Ys});var IQ=[{key:"ignoreSearch",converter:x.converters.boolean,defaultValue:()=>!1},{key:"ignoreMethod",converter:x.converters.boolean,defaultValue:()=>!1},{key:"ignoreVary",converter:x.converters.boolean,defaultValue:()=>!1}];x.converters.CacheQueryOptions=x.dictionaryConverter(IQ);x.converters.MultiCacheQueryOptions=x.dictionaryConverter([...IQ,{key:"cacheName",converter:x.converters.DOMString}]);x.converters.Response=x.interfaceConverter(ES);x.converters["sequence"]=x.sequenceConverter(x.converters.RequestInfo);wQ.exports={Cache:Xn}});var xQ=Q((NY,yQ)=>{"use strict";var{kConstruct:_i}=Zn(),{Cache:$n}=bQ(),{webidl:fe}=ge(),{kEnumerableProperty:Yi}=N(),ea=class e{#e=new Map;constructor(){arguments[0]!==_i&&fe.illegalConstructor(),fe.util.markAsUncloneable(this)}async match(t,s={}){if(fe.brandCheck(this,e),fe.argumentLengthCheck(arguments,1,"CacheStorage.match"),t=fe.converters.RequestInfo(t),s=fe.converters.MultiCacheQueryOptions(s),s.cacheName!=null){if(this.#e.has(s.cacheName)){let r=this.#e.get(s.cacheName);return await new $n(_i,r).match(t,s)}}else for(let r of this.#e.values()){let o=await new $n(_i,r).match(t,s);if(o!==void 0)return o}}async has(t){fe.brandCheck(this,e);let s="CacheStorage.has";return fe.argumentLengthCheck(arguments,1,s),t=fe.converters.DOMString(t,s,"cacheName"),this.#e.has(t)}async open(t){fe.brandCheck(this,e);let s="CacheStorage.open";if(fe.argumentLengthCheck(arguments,1,s),t=fe.converters.DOMString(t,s,"cacheName"),this.#e.has(t)){let i=this.#e.get(t);return new $n(_i,i)}let r=[];return this.#e.set(t,r),new $n(_i,r)}async delete(t){fe.brandCheck(this,e);let s="CacheStorage.delete";return fe.argumentLengthCheck(arguments,1,s),t=fe.converters.DOMString(t,s,"cacheName"),this.#e.delete(t)}async keys(){return fe.brandCheck(this,e),[...this.#e.keys()]}};Object.defineProperties(ea.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:Yi,has:Yi,open:Yi,delete:Yi,keys:Yi});yQ.exports={CacheStorage:ea}});var kQ=Q((GY,vQ)=>{"use strict";vQ.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}});var Au=Q((MY,SQ)=>{"use strict";function IS(e){for(let t=0;t=0&&s<=8||s>=10&&s<=31||s===127)return!0}return!1}function DQ(e){for(let t=0;t126||s===34||s===40||s===41||s===60||s===62||s===64||s===44||s===59||s===58||s===92||s===47||s===91||s===93||s===63||s===61||s===123||s===125)throw new Error("Invalid cookie name")}}function RQ(e){let t=e.length,s=0;if(e[0]==='"'){if(t===1||e[t-1]!=='"')throw new Error("Invalid cookie value");--t,++s}for(;s126||r===34||r===44||r===59||r===92)throw new Error("Invalid cookie value")}}function TQ(e){for(let t=0;tt.toString().padStart(2,"0"));function FQ(e){return typeof e=="number"&&(e=new Date(e)),`${bS[e.getUTCDay()]}, ${ta[e.getUTCDate()]} ${yS[e.getUTCMonth()]} ${e.getUTCFullYear()} ${ta[e.getUTCHours()]}:${ta[e.getUTCMinutes()]}:${ta[e.getUTCSeconds()]} GMT`}function xS(e){if(e<0)throw new Error("Invalid cookie max-age")}function vS(e){if(e.name.length===0)return null;DQ(e.name),RQ(e.value);let t=[`${e.name}=${e.value}`];e.name.startsWith("__Secure-")&&(e.secure=!0),e.name.startsWith("__Host-")&&(e.secure=!0,e.domain=null,e.path="/"),e.secure&&t.push("Secure"),e.httpOnly&&t.push("HttpOnly"),typeof e.maxAge=="number"&&(xS(e.maxAge),t.push(`Max-Age=${e.maxAge}`)),e.domain&&(wS(e.domain),t.push(`Domain=${e.domain}`)),e.path&&(TQ(e.path),t.push(`Path=${e.path}`)),e.expires&&e.expires.toString()!=="Invalid Date"&&t.push(`Expires=${FQ(e.expires)}`),e.sameSite&&t.push(`SameSite=${e.sameSite}`);for(let s of e.unparsed){if(!s.includes("="))throw new Error("Invalid unparsed");let[r,...i]=s.split("=");t.push(`${r.trim()}=${i.join("=")}`)}return t.join("; ")}SQ.exports={isCTLExcludingHtab:IS,validateCookieName:DQ,validateCookiePath:TQ,validateCookieValue:RQ,toIMFDate:FQ,stringify:vS}});var NQ=Q((LY,UQ)=>{"use strict";var{maxNameValuePairSize:kS,maxAttributeValueSize:DS}=kQ(),{isCTLExcludingHtab:RS}=Au(),{collectASequenceOfCodePointsFast:sa}=ve(),TS=require("node:assert");function FS(e){if(RS(e))return null;let t="",s="",r="",i="";if(e.includes(";")){let o={position:0};t=sa(";",e,o),s=e.slice(o.position)}else t=e;if(!t.includes("="))i=t;else{let o={position:0};r=sa("=",t,o),i=t.slice(o.position+1)}return r=r.trim(),i=i.trim(),r.length+i.length>kS?null:{name:r,value:i,...Lr(s)}}function Lr(e,t={}){if(e.length===0)return t;TS(e[0]===";"),e=e.slice(1);let s="";e.includes(";")?(s=sa(";",e,{position:0}),e=e.slice(s.length)):(s=e,e="");let r="",i="";if(s.includes("=")){let n={position:0};r=sa("=",s,n),i=s.slice(n.position+1)}else r=s;if(r=r.trim(),i=i.trim(),i.length>DS)return Lr(e,t);let o=r.toLowerCase();if(o==="expires"){let n=new Date(i);t.expires=n}else if(o==="max-age"){let n=i.charCodeAt(0);if((n<48||n>57)&&i[0]!=="-"||!/^\d+$/.test(i))return Lr(e,t);let a=Number(i);t.maxAge=a}else if(o==="domain"){let n=i;n[0]==="."&&(n=n.slice(1)),n=n.toLowerCase(),t.domain=n}else if(o==="path"){let n="";i.length===0||i[0]!=="/"?n="/":n=i,t.path=n}else if(o==="secure")t.secure=!0;else if(o==="httponly")t.httpOnly=!0;else if(o==="samesite"){let n="Default",a=i.toLowerCase();a.includes("none")&&(n="None"),a.includes("strict")&&(n="Strict"),a.includes("lax")&&(n="Lax"),t.sameSite=n}else t.unparsed??=[],t.unparsed.push(`${r}=${i}`);return Lr(e,t)}UQ.exports={parseSetCookie:FS,parseUnparsedAttributes:Lr}});var LQ=Q((_Y,MQ)=>{"use strict";var{parseSetCookie:SS}=NQ(),{stringify:US}=Au(),{webidl:L}=ge(),{Headers:ra}=Ns();function NS(e){L.argumentLengthCheck(arguments,1,"getCookies"),L.brandCheck(e,ra,{strict:!1});let t=e.get("cookie"),s={};if(!t)return s;for(let r of t.split(";")){let[i,...o]=r.split("=");s[i.trim()]=o.join("=")}return s}function GS(e,t,s){L.brandCheck(e,ra,{strict:!1});let r="deleteCookie";L.argumentLengthCheck(arguments,2,r),t=L.converters.DOMString(t,r,"name"),s=L.converters.DeleteCookieAttributes(s),GQ(e,{name:t,value:"",expires:new Date(0),...s})}function MS(e){L.argumentLengthCheck(arguments,1,"getSetCookies"),L.brandCheck(e,ra,{strict:!1});let t=e.getSetCookie();return t?t.map(s=>SS(s)):[]}function GQ(e,t){L.argumentLengthCheck(arguments,2,"setCookie"),L.brandCheck(e,ra,{strict:!1}),t=L.converters.Cookie(t);let s=US(t);s&&e.append("Set-Cookie",s)}L.converters.DeleteCookieAttributes=L.dictionaryConverter([{converter:L.nullableConverter(L.converters.DOMString),key:"path",defaultValue:()=>null},{converter:L.nullableConverter(L.converters.DOMString),key:"domain",defaultValue:()=>null}]);L.converters.Cookie=L.dictionaryConverter([{converter:L.converters.DOMString,key:"name"},{converter:L.converters.DOMString,key:"value"},{converter:L.nullableConverter(e=>typeof e=="number"?L.converters["unsigned long long"](e):new Date(e)),key:"expires",defaultValue:()=>null},{converter:L.nullableConverter(L.converters["long long"]),key:"maxAge",defaultValue:()=>null},{converter:L.nullableConverter(L.converters.DOMString),key:"domain",defaultValue:()=>null},{converter:L.nullableConverter(L.converters.DOMString),key:"path",defaultValue:()=>null},{converter:L.nullableConverter(L.converters.boolean),key:"secure",defaultValue:()=>null},{converter:L.nullableConverter(L.converters.boolean),key:"httpOnly",defaultValue:()=>null},{converter:L.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:L.sequenceConverter(L.converters.DOMString),key:"unparsed",defaultValue:()=>new Array(0)}]);MQ.exports={getCookies:NS,deleteCookie:GS,getSetCookies:MS,setCookie:GQ}});var Yr=Q((YY,YQ)=>{"use strict";var{webidl:y}=ge(),{kEnumerableProperty:Te}=N(),{kConstruct:_Q}=j(),{MessagePort:LS}=require("node:worker_threads"),_r=class e extends Event{#e;constructor(t,s={}){if(t===_Q){super(arguments[1],arguments[2]),y.util.markAsUncloneable(this);return}let r="MessageEvent constructor";y.argumentLengthCheck(arguments,1,r),t=y.converters.DOMString(t,r,"type"),s=y.converters.MessageEventInit(s,r,"eventInitDict"),super(t,s),this.#e=s,y.util.markAsUncloneable(this)}get data(){return y.brandCheck(this,e),this.#e.data}get origin(){return y.brandCheck(this,e),this.#e.origin}get lastEventId(){return y.brandCheck(this,e),this.#e.lastEventId}get source(){return y.brandCheck(this,e),this.#e.source}get ports(){return y.brandCheck(this,e),Object.isFrozen(this.#e.ports)||Object.freeze(this.#e.ports),this.#e.ports}initMessageEvent(t,s=!1,r=!1,i=null,o="",n="",a=null,A=[]){return y.brandCheck(this,e),y.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent"),new e(t,{bubbles:s,cancelable:r,data:i,origin:o,lastEventId:n,source:a,ports:A})}static createFastMessageEvent(t,s){let r=new e(_Q,t,s);return r.#e=s,r.#e.data??=null,r.#e.origin??="",r.#e.lastEventId??="",r.#e.source??=null,r.#e.ports??=[],r}},{createFastMessageEvent:_S}=_r;delete _r.createFastMessageEvent;var ia=class e extends Event{#e;constructor(t,s={}){let r="CloseEvent constructor";y.argumentLengthCheck(arguments,1,r),t=y.converters.DOMString(t,r,"type"),s=y.converters.CloseEventInit(s),super(t,s),this.#e=s,y.util.markAsUncloneable(this)}get wasClean(){return y.brandCheck(this,e),this.#e.wasClean}get code(){return y.brandCheck(this,e),this.#e.code}get reason(){return y.brandCheck(this,e),this.#e.reason}},oa=class e extends Event{#e;constructor(t,s){let r="ErrorEvent constructor";y.argumentLengthCheck(arguments,1,r),super(t,s),y.util.markAsUncloneable(this),t=y.converters.DOMString(t,r,"type"),s=y.converters.ErrorEventInit(s??{}),this.#e=s}get message(){return y.brandCheck(this,e),this.#e.message}get filename(){return y.brandCheck(this,e),this.#e.filename}get lineno(){return y.brandCheck(this,e),this.#e.lineno}get colno(){return y.brandCheck(this,e),this.#e.colno}get error(){return y.brandCheck(this,e),this.#e.error}};Object.defineProperties(_r.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:Te,origin:Te,lastEventId:Te,source:Te,ports:Te,initMessageEvent:Te});Object.defineProperties(ia.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:Te,code:Te,wasClean:Te});Object.defineProperties(oa.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:Te,filename:Te,lineno:Te,colno:Te,error:Te});y.converters.MessagePort=y.interfaceConverter(LS);y.converters["sequence"]=y.sequenceConverter(y.converters.MessagePort);var cu=[{key:"bubbles",converter:y.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:y.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:y.converters.boolean,defaultValue:()=>!1}];y.converters.MessageEventInit=y.dictionaryConverter([...cu,{key:"data",converter:y.converters.any,defaultValue:()=>null},{key:"origin",converter:y.converters.USVString,defaultValue:()=>""},{key:"lastEventId",converter:y.converters.DOMString,defaultValue:()=>""},{key:"source",converter:y.nullableConverter(y.converters.MessagePort),defaultValue:()=>null},{key:"ports",converter:y.converters["sequence"],defaultValue:()=>new Array(0)}]);y.converters.CloseEventInit=y.dictionaryConverter([...cu,{key:"wasClean",converter:y.converters.boolean,defaultValue:()=>!1},{key:"code",converter:y.converters["unsigned short"],defaultValue:()=>0},{key:"reason",converter:y.converters.USVString,defaultValue:()=>""}]);y.converters.ErrorEventInit=y.dictionaryConverter([...cu,{key:"message",converter:y.converters.DOMString,defaultValue:()=>""},{key:"filename",converter:y.converters.USVString,defaultValue:()=>""},{key:"lineno",converter:y.converters["unsigned long"],defaultValue:()=>0},{key:"colno",converter:y.converters["unsigned long"],defaultValue:()=>0},{key:"error",converter:y.converters.any}]);YQ.exports={MessageEvent:_r,CloseEvent:ia,ErrorEvent:oa,createFastMessageEvent:_S}});var Os=Q((OY,OQ)=>{"use strict";var YS="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",OS={enumerable:!0,writable:!1,configurable:!1},JS={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},PS={NOT_SENT:0,PROCESSING:1,SENT:2},HS={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},VS=2**16-1,qS={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},WS=Buffer.allocUnsafe(0),jS={string:1,typedArray:2,arrayBuffer:3,blob:4};OQ.exports={uid:YS,sentCloseFrameState:PS,staticPropertyDescriptors:OS,states:JS,opcodes:HS,maxUnsigned16Bit:VS,parserStates:qS,emptyBuffer:WS,sendHints:jS}});var Oi=Q((JY,JQ)=>{"use strict";JQ.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}});var Hi=Q((PY,KQ)=>{"use strict";var{kReadyState:Ji,kController:zS,kResponse:ZS,kBinaryType:KS,kWebSocketURL:XS}=Oi(),{states:Pi,opcodes:ps}=Os(),{ErrorEvent:$S,createFastMessageEvent:eU}=Yr(),{isUtf8:tU}=require("node:buffer"),{collectASequenceOfCodePointsFast:sU,removeHTTPWhitespace:PQ}=ve();function rU(e){return e[Ji]===Pi.CONNECTING}function iU(e){return e[Ji]===Pi.OPEN}function oU(e){return e[Ji]===Pi.CLOSING}function nU(e){return e[Ji]===Pi.CLOSED}function lu(e,t,s=(i,o)=>new Event(i,o),r={}){let i=s(e,r);t.dispatchEvent(i)}function aU(e,t,s){if(e[Ji]!==Pi.OPEN)return;let r;if(t===ps.TEXT)try{r=ZQ(s)}catch{VQ(e,"Received invalid UTF-8 in text frame.");return}else t===ps.BINARY&&(e[KS]==="blob"?r=new Blob([s]):r=AU(s));lu("message",e,eU,{origin:e[XS].origin,data:r})}function AU(e){return e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}function cU(e){if(e.length===0)return!1;for(let t=0;t126||s===34||s===40||s===41||s===44||s===47||s===58||s===59||s===60||s===61||s===62||s===63||s===64||s===91||s===92||s===93||s===123||s===125)return!1}return!0}function lU(e){return e>=1e3&&e<1015?e!==1004&&e!==1005&&e!==1006:e>=3e3&&e<=4999}function VQ(e,t){let{[zS]:s,[ZS]:r}=e;s.abort(),r?.socket&&!r.socket.destroyed&&r.socket.destroy(),t&&lu("error",e,(i,o)=>new $S(i,o),{error:new Error(t),message:t})}function qQ(e){return e===ps.CLOSE||e===ps.PING||e===ps.PONG}function WQ(e){return e===ps.CONTINUATION}function jQ(e){return e===ps.TEXT||e===ps.BINARY}function uU(e){return jQ(e)||WQ(e)||qQ(e)}function pU(e){let t={position:0},s=new Map;for(;t.position57)return!1}let t=Number.parseInt(e,10);return t>=8&&t<=15}var zQ=typeof process.versions.icu=="string",HQ=zQ?new TextDecoder("utf-8",{fatal:!0}):void 0,ZQ=zQ?HQ.decode.bind(HQ):function(e){if(tU(e))return e.toString("utf-8");throw new TypeError("Invalid utf-8 received.")};KQ.exports={isConnecting:rU,isEstablished:iU,isClosing:oU,isClosed:nU,fireEvent:lu,isValidSubprotocol:cU,isValidStatusCode:lU,failWebsocketConnection:VQ,websocketMessageReceived:aU,utf8Decode:ZQ,isControlFrame:qQ,isContinuationFrame:WQ,isTextBinaryFrame:jQ,isValidOpcode:uU,parseExtensions:pU,isValidClientWindowBits:gU}});var aa=Q((HY,XQ)=>{"use strict";var{maxUnsigned16Bit:hU}=Os(),na=16386,uu,Vi=null,Or=na;try{uu=require("node:crypto")}catch{uu={randomFillSync:function(t,s,r){for(let i=0;ihU?(n+=8,o=127):i>125&&(n+=2,o=126);let a=Buffer.allocUnsafe(i+n);a[0]=a[1]=0,a[0]|=128,a[0]=(a[0]&240)+t;a[n-4]=r[0],a[n-3]=r[1],a[n-2]=r[2],a[n-1]=r[3],a[1]=o,o===126?a.writeUInt16BE(i,2):o===127&&(a[2]=a[3]=0,a.writeUIntBE(i,4,6)),a[1]|=128;for(let A=0;A{"use strict";var{uid:EU,states:qi,sentCloseFrameState:Aa,emptyBuffer:mU,opcodes:fU}=Os(),{kReadyState:Wi,kSentClose:ca,kByteParser:eB,kReceivedClose:$Q,kResponse:tB}=Oi(),{fireEvent:QU,failWebsocketConnection:gs,isClosing:BU,isClosed:CU,isEstablished:IU,parseExtensions:wU}=Hi(),{channels:Jr}=$s(),{CloseEvent:bU}=Yr(),{makeRequest:yU}=Ur(),{fetching:xU}=Mi(),{Headers:vU,getHeadersList:kU}=Ns(),{getDecodeSplit:DU}=Ue(),{WebsocketFrameSend:RU}=aa(),gu;try{gu=require("node:crypto")}catch{}function TU(e,t,s,r,i,o){let n=e;n.protocol=e.protocol==="ws:"?"http:":"https:";let a=yU({urlList:[n],client:s,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(o.headers){let l=kU(new vU(o.headers));a.headersList=l}let A=gu.randomBytes(16).toString("base64");a.headersList.append("sec-websocket-key",A),a.headersList.append("sec-websocket-version","13");for(let l of t)a.headersList.append("sec-websocket-protocol",l);return a.headersList.append("sec-websocket-extensions","permessage-deflate; client_max_window_bits"),xU({request:a,useParallelQueue:!0,dispatcher:o.dispatcher,processResponse(l){if(l.type==="error"||l.status!==101){gs(r,"Received network error or non-101 status code.");return}if(t.length!==0&&!l.headersList.get("Sec-WebSocket-Protocol")){gs(r,"Server did not respond with sent protocols.");return}if(l.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){gs(r,'Server did not set Upgrade header to "websocket".');return}if(l.headersList.get("Connection")?.toLowerCase()!=="upgrade"){gs(r,'Server did not set Connection header to "upgrade".');return}let p=l.headersList.get("Sec-WebSocket-Accept"),g=gu.createHash("sha1").update(A+EU).digest("base64");if(p!==g){gs(r,"Incorrect hash received in Sec-WebSocket-Accept header.");return}let h=l.headersList.get("Sec-WebSocket-Extensions"),E;if(h!==null&&(E=wU(h),!E.has("permessage-deflate"))){gs(r,"Sec-WebSocket-Extensions header does not match.");return}let f=l.headersList.get("Sec-WebSocket-Protocol");if(f!==null&&!DU("sec-websocket-protocol",a.headersList).includes(f)){gs(r,"Protocol was not set in the opening handshake.");return}l.socket.on("data",sB),l.socket.on("close",rB),l.socket.on("error",iB),Jr.open.hasSubscribers&&Jr.open.publish({address:l.socket.address(),protocol:f,extensions:h}),i(l,E)}})}function FU(e,t,s,r){if(!(BU(e)||CU(e)))if(!IU(e))gs(e,"Connection was closed before it was established."),e[Wi]=qi.CLOSING;else if(e[ca]===Aa.NOT_SENT){e[ca]=Aa.PROCESSING;let i=new RU;t!==void 0&&s===void 0?(i.frameData=Buffer.allocUnsafe(2),i.frameData.writeUInt16BE(t,0)):t!==void 0&&s!==void 0?(i.frameData=Buffer.allocUnsafe(2+r),i.frameData.writeUInt16BE(t,0),i.frameData.write(s,2,"utf-8")):i.frameData=mU,e[tB].socket.write(i.createFrame(fU.CLOSE)),e[ca]=Aa.SENT,e[Wi]=qi.CLOSING}else e[Wi]=qi.CLOSING}function sB(e){this.ws[eB].write(e)||this.pause()}function rB(){let{ws:e}=this,{[tB]:t}=e;t.socket.off("data",sB),t.socket.off("close",rB),t.socket.off("error",iB);let s=e[ca]===Aa.SENT&&e[$Q],r=1005,i="",o=e[eB].closingInfo;o&&!o.error?(r=o.code??1005,i=o.reason):e[$Q]||(r=1006),e[Wi]=qi.CLOSED,QU("close",e,(n,a)=>new bU(n,a),{wasClean:s,code:r,reason:i}),Jr.close.hasSubscribers&&Jr.close.publish({websocket:e,code:r,reason:i})}function iB(e){let{ws:t}=this;t[Wi]=qi.CLOSING,Jr.socketError.hasSubscribers&&Jr.socketError.publish(e),this.destroy()}oB.exports={establishWebSocketConnection:TU,closeWebSocketConnection:FU}});var AB=Q((qY,aB)=>{"use strict";var{createInflateRaw:SU,Z_DEFAULT_WINDOWBITS:UU}=require("node:zlib"),{isValidClientWindowBits:NU}=Hi(),{MessageSizeExceededError:nB}=Y(),GU=Buffer.from([0,0,255,255]),la=Symbol("kBuffer"),ji=Symbol("kLength"),MU=4*1024*1024,du=class{#e;#t={};#i=!1;#s=null;constructor(t){this.#t.serverNoContextTakeover=t.has("server_no_context_takeover"),this.#t.serverMaxWindowBits=t.get("server_max_window_bits")}decompress(t,s,r){if(this.#i){r(new nB);return}if(!this.#e){let i=UU;if(this.#t.serverMaxWindowBits){if(!NU(this.#t.serverMaxWindowBits)){r(new Error("Invalid server_max_window_bits"));return}i=Number.parseInt(this.#t.serverMaxWindowBits)}try{this.#e=SU({windowBits:i})}catch(o){r(o);return}this.#e[la]=[],this.#e[ji]=0,this.#e.on("data",o=>{if(!this.#i){if(this.#e[ji]+=o.length,this.#e[ji]>MU){if(this.#i=!0,this.#e.removeAllListeners(),this.#e.destroy(),this.#e=null,this.#s){let n=this.#s;this.#s=null,n(new nB)}return}this.#e[la].push(o)}}),this.#e.on("error",o=>{this.#e=null,r(o)})}this.#s=r,this.#e.write(t),s&&this.#e.write(GU),this.#e.flush(()=>{if(this.#i||!this.#e)return;let i=Buffer.concat(this.#e[la],this.#e[ji]);this.#e[la].length=0,this.#e[ji]=0,this.#s=null,r(null,i)})}};aB.exports={PerMessageDeflate:du}});var fB=Q((WY,mB)=>{"use strict";var{Writable:LU}=require("node:stream"),_U=require("node:assert"),{parserStates:Fe,opcodes:Pr,states:YU,emptyBuffer:cB,sentCloseFrameState:lB}=Os(),{kReadyState:OU,kSentClose:uB,kResponse:pB,kReceivedClose:gB}=Oi(),{channels:ua}=$s(),{isValidStatusCode:JU,isValidOpcode:PU,failWebsocketConnection:Oe,websocketMessageReceived:hB,utf8Decode:HU,isControlFrame:dB,isTextBinaryFrame:Eu,isContinuationFrame:VU}=Hi(),{WebsocketFrameSend:EB}=aa(),{closeWebSocketConnection:qU}=hu(),{PerMessageDeflate:WU}=AB(),mu=class extends LU{#e=[];#t=0;#i=!1;#s=Fe.INFO;#r={};#A=[];#a;constructor(t,s){super(),this.ws=t,this.#a=s??new Map,this.#a.has("permessage-deflate")&&this.#a.set("permessage-deflate",new WU(s))}_write(t,s,r){this.#e.push(t),this.#t+=t.length,this.#i=!0,this.run(r)}run(t){for(;this.#i;)if(this.#s===Fe.INFO){if(this.#t<2)return t();let s=this.consume(2),r=(s[0]&128)!==0,i=s[0]&15,o=(s[1]&128)===128,n=!r&&i!==Pr.CONTINUATION,a=s[1]&127,A=s[0]&64,c=s[0]&32,u=s[0]&16;if(!PU(i))return Oe(this.ws,"Invalid opcode received"),t();if(o)return Oe(this.ws,"Frame cannot be masked"),t();if(A!==0&&!this.#a.has("permessage-deflate")){Oe(this.ws,"Expected RSV1 to be clear.");return}if(c!==0||u!==0){Oe(this.ws,"RSV1, RSV2, RSV3 must be clear");return}if(n&&!Eu(i)){Oe(this.ws,"Invalid frame type was fragmented.");return}if(Eu(i)&&this.#A.length>0){Oe(this.ws,"Expected continuation frame");return}if(this.#r.fragmented&&n){Oe(this.ws,"Fragmented frame exceeded 125 bytes.");return}if((a>125||n)&&dB(i)){Oe(this.ws,"Control frame either too large or fragmented");return}if(VU(i)&&this.#A.length===0&&!this.#r.compressed){Oe(this.ws,"Unexpected continuation frame");return}a<=125?(this.#r.payloadLength=a,this.#s=Fe.READ_DATA):a===126?this.#s=Fe.PAYLOADLENGTH_16:a===127&&(this.#s=Fe.PAYLOADLENGTH_64),Eu(i)&&(this.#r.binaryType=i,this.#r.compressed=A!==0),this.#r.opcode=i,this.#r.masked=o,this.#r.fin=r,this.#r.fragmented=n}else if(this.#s===Fe.PAYLOADLENGTH_16){if(this.#t<2)return t();let s=this.consume(2);this.#r.payloadLength=s.readUInt16BE(0),this.#s=Fe.READ_DATA}else if(this.#s===Fe.PAYLOADLENGTH_64){if(this.#t<8)return t();let s=this.consume(8),r=s.readUInt32BE(0),i=s.readUInt32BE(4);if(r!==0||i>2**31-1){Oe(this.ws,"Received payload length > 2^31 bytes.");return}this.#r.payloadLength=i,this.#s=Fe.READ_DATA}else if(this.#s===Fe.READ_DATA){if(this.#t{if(r){Oe(this.ws,r.message);return}if(this.#A.push(i),!this.#r.fin){this.#s=Fe.INFO,this.#i=!0,this.run(t);return}hB(this.ws,this.#r.binaryType,Buffer.concat(this.#A)),this.#i=!0,this.#s=Fe.INFO,this.#A.length=0,this.run(t)}),this.#i=!1;break}else{if(this.#A.push(s),!this.#r.fragmented&&this.#r.fin){let r=Buffer.concat(this.#A);hB(this.ws,this.#r.binaryType,r),this.#A.length=0}this.#s=Fe.INFO}}}consume(t){if(t>this.#t)throw new Error("Called consume() before buffers satiated.");if(t===0)return cB;if(this.#e[0].length===t)return this.#t-=this.#e[0].length,this.#e.shift();let s=Buffer.allocUnsafe(t),r=0;for(;r!==t;){let i=this.#e[0],{length:o}=i;if(o+r===t){s.set(this.#e.shift(),r);break}else if(o+r>t){s.set(i.subarray(0,t-r),r),this.#e[0]=i.subarray(t-r);break}else s.set(this.#e.shift(),r),r+=i.length}return this.#t-=t,s}parseCloseBody(t){_U(t.length!==1);let s;if(t.length>=2&&(s=t.readUInt16BE(0)),s!==void 0&&!JU(s))return{code:1002,reason:"Invalid status code",error:!0};let r=t.subarray(2);r[0]===239&&r[1]===187&&r[2]===191&&(r=r.subarray(3));try{r=HU(r)}catch{return{code:1007,reason:"Invalid UTF-8",error:!0}}return{code:s,reason:r,error:!1}}parseControlFrame(t){let{opcode:s,payloadLength:r}=this.#r;if(s===Pr.CLOSE){if(r===1)return Oe(this.ws,"Received close frame with a 1-byte body."),!1;if(this.#r.closeInfo=this.parseCloseBody(t),this.#r.closeInfo.error){let{code:i,reason:o}=this.#r.closeInfo;return qU(this.ws,i,o,o.length),Oe(this.ws,o),!1}if(this.ws[uB]!==lB.SENT){let i=cB;this.#r.closeInfo.code&&(i=Buffer.allocUnsafe(2),i.writeUInt16BE(this.#r.closeInfo.code,0));let o=new EB(i);this.ws[pB].socket.write(o.createFrame(Pr.CLOSE),n=>{n||(this.ws[uB]=lB.SENT)})}return this.ws[OU]=YU.CLOSING,this.ws[gB]=!0,!1}else if(s===Pr.PING){if(!this.ws[gB]){let i=new EB(t);this.ws[pB].socket.write(i.createFrame(Pr.PONG)),ua.ping.hasSubscribers&&ua.ping.publish({payload:t})}}else s===Pr.PONG&&ua.pong.hasSubscribers&&ua.pong.publish({payload:t});return!0}get closingInfo(){return this.#r.closeInfo}};mB.exports={ByteParser:mu}});var wB=Q((jY,IB)=>{"use strict";var{WebsocketFrameSend:jU}=aa(),{opcodes:QB,sendHints:Hr}=Os(),zU=vc(),BB=Buffer[Symbol.species],fu=class{#e=new zU;#t=!1;#i;constructor(t){this.#i=t}add(t,s,r){if(r!==Hr.blob){let o=CB(t,r);if(!this.#t)this.#i.write(o,s);else{let n={promise:null,callback:s,frame:o};this.#e.push(n)}return}let i={promise:t.arrayBuffer().then(o=>{i.promise=null,i.frame=CB(o,r)}),callback:s,frame:null};this.#e.push(i),this.#t||this.#s()}async#s(){this.#t=!0;let t=this.#e;for(;!t.isEmpty();){let s=t.shift();s.promise!==null&&await s.promise,this.#i.write(s.frame,s.callback),s.callback=s.frame=null}this.#t=!1}};function CB(e,t){return new jU(ZU(e,t)).createFrame(t===Hr.string?QB.TEXT:QB.BINARY)}function ZU(e,t){switch(t){case Hr.string:return Buffer.from(e);case Hr.arrayBuffer:case Hr.blob:return new BB(e);case Hr.typedArray:return new BB(e.buffer,e.byteOffset,e.byteLength)}}IB.exports={SendQueue:fu}});var FB=Q((zY,TB)=>{"use strict";var{webidl:T}=ge(),{URLSerializer:KU}=ve(),{environmentSettingsObject:bB}=Ue(),{staticPropertyDescriptors:hs,states:zi,sentCloseFrameState:XU,sendHints:pa}=Os(),{kWebSocketURL:yB,kReadyState:Qu,kController:$U,kBinaryType:ga,kResponse:xB,kSentClose:eN,kByteParser:tN}=Oi(),{isConnecting:sN,isEstablished:rN,isClosing:iN,isValidSubprotocol:oN,fireEvent:vB}=Hi(),{establishWebSocketConnection:nN,closeWebSocketConnection:kB}=hu(),{ByteParser:aN}=fB(),{kEnumerableProperty:Ke,isBlobLike:DB}=N(),{getGlobalDispatcher:AN}=kn(),{types:RB}=require("node:util"),{ErrorEvent:cN,CloseEvent:lN}=Yr(),{SendQueue:uN}=wB(),Je=class e extends EventTarget{#e={open:null,error:null,close:null,message:null};#t=0;#i="";#s="";#r;constructor(t,s=[]){super(),T.util.markAsUncloneable(this);let r="WebSocket constructor";T.argumentLengthCheck(arguments,1,r);let i=T.converters["DOMString or sequence or WebSocketInit"](s,r,"options");t=T.converters.USVString(t,r,"url"),s=i.protocols;let o=bB.settingsObject.baseUrl,n;try{n=new URL(t,o)}catch(A){throw new DOMException(A,"SyntaxError")}if(n.protocol==="http:"?n.protocol="ws:":n.protocol==="https:"&&(n.protocol="wss:"),n.protocol!=="ws:"&&n.protocol!=="wss:")throw new DOMException(`Expected a ws: or wss: protocol, got ${n.protocol}`,"SyntaxError");if(n.hash||n.href.endsWith("#"))throw new DOMException("Got fragment","SyntaxError");if(typeof s=="string"&&(s=[s]),s.length!==new Set(s.map(A=>A.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(s.length>0&&!s.every(A=>oN(A)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");this[yB]=new URL(n.href);let a=bB.settingsObject;this[$U]=nN(n,s,a,this,(A,c)=>this.#A(A,c),i),this[Qu]=e.CONNECTING,this[eN]=XU.NOT_SENT,this[ga]="blob"}close(t=void 0,s=void 0){T.brandCheck(this,e);let r="WebSocket.close";if(t!==void 0&&(t=T.converters["unsigned short"](t,r,"code",{clamp:!0})),s!==void 0&&(s=T.converters.USVString(s,r,"reason")),t!==void 0&&t!==1e3&&(t<3e3||t>4999))throw new DOMException("invalid code","InvalidAccessError");let i=0;if(s!==void 0&&(i=Buffer.byteLength(s),i>123))throw new DOMException(`Reason must be less than 123 bytes; received ${i}`,"SyntaxError");kB(this,t,s,i)}send(t){T.brandCheck(this,e);let s="WebSocket.send";if(T.argumentLengthCheck(arguments,1,s),t=T.converters.WebSocketSendData(t,s,"data"),sN(this))throw new DOMException("Sent before connected.","InvalidStateError");if(!(!rN(this)||iN(this)))if(typeof t=="string"){let r=Buffer.byteLength(t);this.#t+=r,this.#r.add(t,()=>{this.#t-=r},pa.string)}else RB.isArrayBuffer(t)?(this.#t+=t.byteLength,this.#r.add(t,()=>{this.#t-=t.byteLength},pa.arrayBuffer)):ArrayBuffer.isView(t)?(this.#t+=t.byteLength,this.#r.add(t,()=>{this.#t-=t.byteLength},pa.typedArray)):DB(t)&&(this.#t+=t.size,this.#r.add(t,()=>{this.#t-=t.size},pa.blob))}get readyState(){return T.brandCheck(this,e),this[Qu]}get bufferedAmount(){return T.brandCheck(this,e),this.#t}get url(){return T.brandCheck(this,e),KU(this[yB])}get extensions(){return T.brandCheck(this,e),this.#s}get protocol(){return T.brandCheck(this,e),this.#i}get onopen(){return T.brandCheck(this,e),this.#e.open}set onopen(t){T.brandCheck(this,e),this.#e.open&&this.removeEventListener("open",this.#e.open),typeof t=="function"?(this.#e.open=t,this.addEventListener("open",t)):this.#e.open=null}get onerror(){return T.brandCheck(this,e),this.#e.error}set onerror(t){T.brandCheck(this,e),this.#e.error&&this.removeEventListener("error",this.#e.error),typeof t=="function"?(this.#e.error=t,this.addEventListener("error",t)):this.#e.error=null}get onclose(){return T.brandCheck(this,e),this.#e.close}set onclose(t){T.brandCheck(this,e),this.#e.close&&this.removeEventListener("close",this.#e.close),typeof t=="function"?(this.#e.close=t,this.addEventListener("close",t)):this.#e.close=null}get onmessage(){return T.brandCheck(this,e),this.#e.message}set onmessage(t){T.brandCheck(this,e),this.#e.message&&this.removeEventListener("message",this.#e.message),typeof t=="function"?(this.#e.message=t,this.addEventListener("message",t)):this.#e.message=null}get binaryType(){return T.brandCheck(this,e),this[ga]}set binaryType(t){T.brandCheck(this,e),t!=="blob"&&t!=="arraybuffer"?this[ga]="blob":this[ga]=t}#A(t,s){this[xB]=t;let r=new aN(this,s);r.on("drain",pN),r.on("error",gN.bind(this)),t.socket.ws=this,this[tN]=r,this.#r=new uN(t.socket),this[Qu]=zi.OPEN;let i=t.headersList.get("sec-websocket-extensions");i!==null&&(this.#s=i);let o=t.headersList.get("sec-websocket-protocol");o!==null&&(this.#i=o),vB("open",this)}};Je.CONNECTING=Je.prototype.CONNECTING=zi.CONNECTING;Je.OPEN=Je.prototype.OPEN=zi.OPEN;Je.CLOSING=Je.prototype.CLOSING=zi.CLOSING;Je.CLOSED=Je.prototype.CLOSED=zi.CLOSED;Object.defineProperties(Je.prototype,{CONNECTING:hs,OPEN:hs,CLOSING:hs,CLOSED:hs,url:Ke,readyState:Ke,bufferedAmount:Ke,onopen:Ke,onerror:Ke,onclose:Ke,close:Ke,onmessage:Ke,binaryType:Ke,send:Ke,extensions:Ke,protocol:Ke,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(Je,{CONNECTING:hs,OPEN:hs,CLOSING:hs,CLOSED:hs});T.converters["sequence"]=T.sequenceConverter(T.converters.DOMString);T.converters["DOMString or sequence"]=function(e,t,s){return T.util.Type(e)==="Object"&&Symbol.iterator in e?T.converters["sequence"](e):T.converters.DOMString(e,t,s)};T.converters.WebSocketInit=T.dictionaryConverter([{key:"protocols",converter:T.converters["DOMString or sequence"],defaultValue:()=>new Array(0)},{key:"dispatcher",converter:T.converters.any,defaultValue:()=>AN()},{key:"headers",converter:T.nullableConverter(T.converters.HeadersInit)}]);T.converters["DOMString or sequence or WebSocketInit"]=function(e){return T.util.Type(e)==="Object"&&!(Symbol.iterator in e)?T.converters.WebSocketInit(e):{protocols:T.converters["DOMString or sequence"](e)}};T.converters.WebSocketSendData=function(e){if(T.util.Type(e)==="Object"){if(DB(e))return T.converters.Blob(e,{strict:!1});if(ArrayBuffer.isView(e)||RB.isArrayBuffer(e))return T.converters.BufferSource(e)}return T.converters.USVString(e)};function pN(){this.ws[xB].socket.resume()}function gN(e){let t,s;e instanceof lN?(t=e.reason,s=e.code):t=e.message,vB("error",this,()=>new cN("error",{error:e,message:t})),kB(this,s)}TB.exports={WebSocket:Je}});var Bu=Q((ZY,SB)=>{"use strict";function hN(e){return e.indexOf("\0")===-1}function dN(e){if(e.length===0)return!1;for(let t=0;t57)return!1;return!0}function EN(e){return new Promise(t=>{setTimeout(t,e).unref()})}SB.exports={isValidLastEventId:hN,isASCIINumber:dN,delay:EN}});var MB=Q((KY,GB)=>{"use strict";var{Transform:mN}=require("node:stream"),{isASCIINumber:UB,isValidLastEventId:NB}=Bu(),Jt=[239,187,191],Cu=10,ha=13,fN=58,QN=32,Iu=class extends mN{state=null;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;buffer=null;pos=0;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(t={}){t.readableObjectMode=!0,super(t),this.state=t.eventSourceSettings||{},t.push&&(this.push=t.push)}_transform(t,s,r){if(t.length===0){r();return}if(this.buffer?this.buffer=Buffer.concat([this.buffer,t]):this.buffer=t,this.checkBOM)switch(this.buffer.length){case 1:if(this.buffer[0]===Jt[0]){r();return}this.checkBOM=!1,r();return;case 2:if(this.buffer[0]===Jt[0]&&this.buffer[1]===Jt[1]){r();return}this.checkBOM=!1;break;case 3:if(this.buffer[0]===Jt[0]&&this.buffer[1]===Jt[1]&&this.buffer[2]===Jt[2]){this.buffer=Buffer.alloc(0),this.checkBOM=!1,r();return}this.checkBOM=!1;break;default:this.buffer[0]===Jt[0]&&this.buffer[1]===Jt[1]&&this.buffer[2]===Jt[2]&&(this.buffer=this.buffer.subarray(3)),this.checkBOM=!1;break}for(;this.pos0&&(s[i]=o);break}}processEvent(t){t.retry&&UB(t.retry)&&(this.state.reconnectionTime=parseInt(t.retry,10)),t.id&&NB(t.id)&&(this.state.lastEventId=t.id),t.data!==void 0&&this.push({type:t.event||"message",options:{data:t.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event={data:void 0,event:void 0,id:void 0,retry:void 0}}};GB.exports={EventSourceStream:Iu}});var VB=Q((XY,HB)=>{"use strict";var{pipeline:BN}=require("node:stream"),{fetching:CN}=Mi(),{makeRequest:IN}=Ur(),{webidl:Pt}=ge(),{EventSourceStream:wN}=MB(),{parseMIMEType:bN}=ve(),{createFastMessageEvent:yN}=Yr(),{isNetworkError:LB}=Ni(),{delay:xN}=Bu(),{kEnumerableProperty:Js}=N(),{environmentSettingsObject:_B}=Ue(),YB=!1,OB=3e3,Zi=0,JB=1,Ki=2,vN="anonymous",kN="use-credentials",Vr=class e extends EventTarget{#e={open:null,error:null,message:null};#t=null;#i=!1;#s=Zi;#r=null;#A=null;#a;#c;constructor(t,s={}){super(),Pt.util.markAsUncloneable(this);let r="EventSource constructor";Pt.argumentLengthCheck(arguments,1,r),YB||(YB=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),t=Pt.converters.USVString(t,r,"url"),s=Pt.converters.EventSourceInitDict(s,r,"eventSourceInitDict"),this.#a=s.dispatcher,this.#c={lastEventId:"",reconnectionTime:OB};let i=_B,o;try{o=new URL(t,i.settingsObject.baseUrl),this.#c.origin=o.origin}catch(A){throw new DOMException(A,"SyntaxError")}this.#t=o.href;let n=vN;s.withCredentials&&(n=kN,this.#i=!0);let a={redirect:"follow",keepalive:!0,mode:"cors",credentials:n==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};a.client=_B.settingsObject,a.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],a.cache="no-store",a.initiator="other",a.urlList=[new URL(this.#t)],this.#r=IN(a),this.#l()}get readyState(){return this.#s}get url(){return this.#t}get withCredentials(){return this.#i}#l(){if(this.#s===Ki)return;this.#s=Zi;let t={request:this.#r,dispatcher:this.#a},s=r=>{LB(r)&&(this.dispatchEvent(new Event("error")),this.close()),this.#g()};t.processResponseEndOfBody=s,t.processResponse=r=>{if(LB(r))if(r.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#g();return}let i=r.headersList.get("content-type",!0),o=i!==null?bN(i):"failure",n=o!=="failure"&&o.essence==="text/event-stream";if(r.status!==200||n===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#s=JB,this.dispatchEvent(new Event("open")),this.#c.origin=r.urlList[r.urlList.length-1].origin;let a=new wN({eventSourceSettings:this.#c,push:A=>{this.dispatchEvent(yN(A.type,A.options))}});BN(r.body.stream,a,A=>{A?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#A=CN(t)}async#g(){this.#s!==Ki&&(this.#s=Zi,this.dispatchEvent(new Event("error")),await xN(this.#c.reconnectionTime),this.#s===Zi&&(this.#c.lastEventId.length&&this.#r.headersList.set("last-event-id",this.#c.lastEventId,!0),this.#l()))}close(){Pt.brandCheck(this,e),this.#s!==Ki&&(this.#s=Ki,this.#A.abort(),this.#r=null)}get onopen(){return this.#e.open}set onopen(t){this.#e.open&&this.removeEventListener("open",this.#e.open),typeof t=="function"?(this.#e.open=t,this.addEventListener("open",t)):this.#e.open=null}get onmessage(){return this.#e.message}set onmessage(t){this.#e.message&&this.removeEventListener("message",this.#e.message),typeof t=="function"?(this.#e.message=t,this.addEventListener("message",t)):this.#e.message=null}get onerror(){return this.#e.error}set onerror(t){this.#e.error&&this.removeEventListener("error",this.#e.error),typeof t=="function"?(this.#e.error=t,this.addEventListener("error",t)):this.#e.error=null}},PB={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:Zi,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:JB,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:Ki,writable:!1}};Object.defineProperties(Vr,PB);Object.defineProperties(Vr.prototype,PB);Object.defineProperties(Vr.prototype,{close:Js,onerror:Js,onmessage:Js,onopen:Js,readyState:Js,url:Js,withCredentials:Js});Pt.converters.EventSourceInitDict=Pt.dictionaryConverter([{key:"withCredentials",converter:Pt.converters.boolean,defaultValue:()=>!1},{key:"dispatcher",converter:Pt.converters.any}]);HB.exports={EventSource:Vr,defaultReconnectionTime:OB}});var ma=Q(($Y,R)=>{"use strict";var DN=Qr(),qB=ti(),RN=Br(),TN=Jd(),FN=Cr(),SN=Wc(),UN=pE(),NN=fE(),WB=Y(),Ea=N(),{InvalidArgumentError:da}=WB,qr=im(),GN=ri(),MN=kl(),LN=Ym(),_N=Tl(),YN=dl(),ON=fn(),{getGlobalDispatcher:jB,setGlobalDispatcher:JN}=kn(),PN=Dn(),HN=an(),VN=An();Object.assign(qB.prototype,qr);R.exports.Dispatcher=qB;R.exports.Client=DN;R.exports.Pool=RN;R.exports.BalancedPool=TN;R.exports.Agent=FN;R.exports.ProxyAgent=SN;R.exports.EnvHttpProxyAgent=UN;R.exports.RetryAgent=NN;R.exports.RetryHandler=ON;R.exports.DecoratorHandler=PN;R.exports.RedirectHandler=HN;R.exports.createRedirectInterceptor=VN;R.exports.interceptors={redirect:Wm(),retry:zm(),dump:Km(),dns:ef()};R.exports.buildConnector=GN;R.exports.errors=WB;R.exports.util={parseHeaders:Ea.parseHeaders,headerNameToString:Ea.headerNameToString};function Xi(e){return(t,s,r)=>{if(typeof s=="function"&&(r=s,s=null),!t||typeof t!="string"&&typeof t!="object"&&!(t instanceof URL))throw new da("invalid url");if(s!=null&&typeof s!="object")throw new da("invalid opts");if(s&&s.path!=null){if(typeof s.path!="string")throw new da("invalid opts.path");let n=s.path;s.path.startsWith("/")||(n=`/${n}`),t=new URL(Ea.parseOrigin(t).origin+n)}else s||(s=typeof t=="object"?t:{}),t=Ea.parseURL(t);let{agent:i,dispatcher:o=jB()}=s;if(i)throw new da("unsupported opts.agent. Did you mean opts.client?");return e.call(o,{...s,origin:t.origin,path:t.search?`${t.pathname}${t.search}`:t.pathname,method:s.method||(s.body?"PUT":"GET")},r)}}R.exports.setGlobalDispatcher=JN;R.exports.getGlobalDispatcher=jB;var qN=Mi().fetch;R.exports.fetch=async function(t,s=void 0){try{return await qN(t,s)}catch(r){throw r&&typeof r=="object"&&Error.captureStackTrace(r),r}};R.exports.Headers=Ns().Headers;R.exports.Response=Ni().Response;R.exports.Request=Ur().Request;R.exports.FormData=li().FormData;R.exports.File=globalThis.File??require("node:buffer").File;R.exports.FileReader=mQ().FileReader;var{setGlobalOrigin:WN,getGlobalOrigin:jN}=jA();R.exports.setGlobalOrigin=WN;R.exports.getGlobalOrigin=jN;var{CacheStorage:zN}=xQ(),{kConstruct:ZN}=Zn();R.exports.caches=new zN(ZN);var{deleteCookie:KN,getCookies:XN,getSetCookies:$N,setCookie:eG}=LQ();R.exports.deleteCookie=KN;R.exports.getCookies=XN;R.exports.getSetCookies=$N;R.exports.setCookie=eG;var{parseMIMEType:tG,serializeAMimeType:sG}=ve();R.exports.parseMIMEType=tG;R.exports.serializeAMimeType=sG;var{CloseEvent:rG,ErrorEvent:iG,MessageEvent:oG}=Yr();R.exports.WebSocket=FB().WebSocket;R.exports.CloseEvent=rG;R.exports.ErrorEvent=iG;R.exports.MessageEvent=oG;R.exports.request=Xi(qr.request);R.exports.stream=Xi(qr.stream);R.exports.pipeline=Xi(qr.pipeline);R.exports.connect=Xi(qr.connect);R.exports.upgrade=Xi(qr.upgrade);R.exports.MockClient=MN;R.exports.MockPool=_N;R.exports.MockAgent=LN;R.exports.mockErrors=YN;var{EventSource:nG}=VB();R.exports.EventSource=nG});var oC=Q(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.getProxyUrl=DG;Ia.checkBypass=iC;function DG(e){let t=e.protocol==="https:";if(iC(e))return;let s=t?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY;if(s)try{return new Ca(s)}catch{if(!s.startsWith("http://")&&!s.startsWith("https://"))return new Ca(`http://${s}`)}else return}function iC(e){if(!e.hostname)return!1;let t=e.hostname;if(RG(t))return!0;let s=process.env.no_proxy||process.env.NO_PROXY||"";if(!s)return!1;let r;e.port?r=Number(e.port):e.protocol==="http:"?r=80:e.protocol==="https:"&&(r=443);let i=[e.hostname.toUpperCase()];typeof r=="number"&&i.push(`${i[0]}:${r}`);for(let o of s.split(",").map(n=>n.trim().toUpperCase()).filter(n=>n))if(o==="*"||i.some(n=>n===o||n.endsWith(`.${o}`)||o.startsWith(".")&&n.endsWith(`${o}`)))return!0;return!1}function RG(e){let t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}var Ca=class extends URL{constructor(t,s){super(t,s),this._decodedUsername=decodeURIComponent(super.username),this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}}});var aC=Q(K=>{"use strict";var TG=K&&K.__createBinding||(Object.create?(function(e,t,s,r){r===void 0&&(r=s);var i=Object.getOwnPropertyDescriptor(t,s);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,r,i)}):(function(e,t,s,r){r===void 0&&(r=s),e[r]=t[s]})),FG=K&&K.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),xa=K&&K.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(s){var r=[];for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var s={};if(t!=null)for(var r=e(t),i=0;ite(this,void 0,void 0,function*(){let s=Buffer.alloc(0);this.message.on("data",r=>{s=Buffer.concat([s,r])}),this.message.on("end",()=>{t(s.toString())})}))})}readBodyBuffer(){return te(this,void 0,void 0,function*(){return new Promise(t=>te(this,void 0,void 0,function*(){let s=[];this.message.on("data",r=>{s.push(r)}),this.message.on("end",()=>{t(Buffer.concat(s))})}))})}};K.HttpClientResponse=ya;function YG(e){return new URL(e).protocol==="https:"}var Du=class{constructor(t,s,r){this._ignoreSslError=!1,this._allowRedirects=!0,this._allowRedirectDowngrade=!1,this._maxRedirects=50,this._allowRetries=!1,this._maxRetries=1,this._keepAlive=!1,this._disposed=!1,this.userAgent=this._getUserAgentWithOrchestrationId(t),this.handlers=s||[],this.requestOptions=r,r&&(r.ignoreSslError!=null&&(this._ignoreSslError=r.ignoreSslError),this._socketTimeout=r.socketTimeout,r.allowRedirects!=null&&(this._allowRedirects=r.allowRedirects),r.allowRedirectDowngrade!=null&&(this._allowRedirectDowngrade=r.allowRedirectDowngrade),r.maxRedirects!=null&&(this._maxRedirects=Math.max(r.maxRedirects,0)),r.keepAlive!=null&&(this._keepAlive=r.keepAlive),r.allowRetries!=null&&(this._allowRetries=r.allowRetries),r.maxRetries!=null&&(this._maxRetries=r.maxRetries))}options(t,s){return te(this,void 0,void 0,function*(){return this.request("OPTIONS",t,null,s||{})})}get(t,s){return te(this,void 0,void 0,function*(){return this.request("GET",t,null,s||{})})}del(t,s){return te(this,void 0,void 0,function*(){return this.request("DELETE",t,null,s||{})})}post(t,s,r){return te(this,void 0,void 0,function*(){return this.request("POST",t,s,r||{})})}patch(t,s,r){return te(this,void 0,void 0,function*(){return this.request("PATCH",t,s,r||{})})}put(t,s,r){return te(this,void 0,void 0,function*(){return this.request("PUT",t,s,r||{})})}head(t,s){return te(this,void 0,void 0,function*(){return this.request("HEAD",t,null,s||{})})}sendStream(t,s,r,i){return te(this,void 0,void 0,function*(){return this.request(t,s,r,i)})}getJson(t){return te(this,arguments,void 0,function*(s,r={}){r[Ie.Accept]=this._getExistingOrDefaultHeader(r,Ie.Accept,Ht.ApplicationJson);let i=yield this.get(s,r);return this._processResponse(i,this.requestOptions)})}postJson(t,s){return te(this,arguments,void 0,function*(r,i,o={}){let n=JSON.stringify(i,null,2);o[Ie.Accept]=this._getExistingOrDefaultHeader(o,Ie.Accept,Ht.ApplicationJson),o[Ie.ContentType]=this._getExistingOrDefaultContentTypeHeader(o,Ht.ApplicationJson);let a=yield this.post(r,n,o);return this._processResponse(a,this.requestOptions)})}putJson(t,s){return te(this,arguments,void 0,function*(r,i,o={}){let n=JSON.stringify(i,null,2);o[Ie.Accept]=this._getExistingOrDefaultHeader(o,Ie.Accept,Ht.ApplicationJson),o[Ie.ContentType]=this._getExistingOrDefaultContentTypeHeader(o,Ht.ApplicationJson);let a=yield this.put(r,n,o);return this._processResponse(a,this.requestOptions)})}patchJson(t,s){return te(this,arguments,void 0,function*(r,i,o={}){let n=JSON.stringify(i,null,2);o[Ie.Accept]=this._getExistingOrDefaultHeader(o,Ie.Accept,Ht.ApplicationJson),o[Ie.ContentType]=this._getExistingOrDefaultContentTypeHeader(o,Ht.ApplicationJson);let a=yield this.patch(r,n,o);return this._processResponse(a,this.requestOptions)})}request(t,s,r,i){return te(this,void 0,void 0,function*(){if(this._disposed)throw new Error("Client has already been disposed.");let o=new URL(s),n=this._prepareRequest(t,o,i),a=this._allowRetries&&MG.includes(t)?this._maxRetries+1:1,A=0,c;do{if(c=yield this.requestRaw(n,r),c&&c.message&&c.message.statusCode===Xe.Unauthorized){let l;for(let p of this.handlers)if(p.canHandleAuthentication(c)){l=p;break}return l?l.handleAuthentication(this,n,r):c}let u=this._maxRedirects;for(;c.message.statusCode&&NG.includes(c.message.statusCode)&&this._allowRedirects&&u>0;){let l=c.message.headers.location;if(!l)break;let p=new URL(l);if(o.protocol==="https:"&&o.protocol!==p.protocol&&!this._allowRedirectDowngrade)throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.");if(yield c.readBody(),p.hostname!==o.hostname)for(let g in i)g.toLowerCase()==="authorization"&&delete i[g];n=this._prepareRequest(t,p,i),c=yield this.requestRaw(n,r),u--}if(!c.message.statusCode||!GG.includes(c.message.statusCode))return c;A+=1,A{function o(n,a){n?i(n):a?r(a):i(new Error("Unknown error"))}this.requestRawWithCallback(t,s,o)})})}requestRawWithCallback(t,s,r){typeof s=="string"&&(t.options.headers||(t.options.headers={}),t.options.headers["Content-Length"]=Buffer.byteLength(s,"utf8"));let i=!1;function o(A,c){i||(i=!0,r(A,c))}let n=t.httpModule.request(t.options,A=>{let c=new ya(A);o(void 0,c)}),a;n.on("socket",A=>{a=A}),n.setTimeout(this._socketTimeout||3*6e4,()=>{a&&a.end(),o(new Error(`Request timeout: ${t.options.path}`))}),n.on("error",function(A){o(A)}),s&&typeof s=="string"&&n.write(s,"utf8"),s&&typeof s!="string"?(s.on("close",function(){n.end()}),s.pipe(n)):n.end()}getAgent(t){let s=new URL(t);return this._getAgent(s)}getAgentDispatcher(t){let s=new URL(t),r=ku.getProxyUrl(s);if(r&&r.hostname)return this._getProxyAgentDispatcher(s,r)}_prepareRequest(t,s,r){let i={};i.parsedUrl=s;let o=i.parsedUrl.protocol==="https:";i.httpModule=o?nC:vu;let n=o?443:80;if(i.options={},i.options.host=i.parsedUrl.hostname,i.options.port=i.parsedUrl.port?parseInt(i.parsedUrl.port):n,i.options.path=(i.parsedUrl.pathname||"")+(i.parsedUrl.search||""),i.options.method=t,i.options.headers=this._mergeHeaders(r),this.userAgent!=null&&(i.options.headers["user-agent"]=this.userAgent),i.options.agent=this._getAgent(i.parsedUrl),this.handlers)for(let a of this.handlers)a.prepareRequest(i.options);return i}_mergeHeaders(t){return this.requestOptions&&this.requestOptions.headers?Object.assign({},to(this.requestOptions.headers),to(t||{})):to(t||{})}_getExistingOrDefaultHeader(t,s,r){let i;if(this.requestOptions&&this.requestOptions.headers){let n=to(this.requestOptions.headers)[s];n&&(i=typeof n=="number"?n.toString():n)}let o=t[s];return o!==void 0?typeof o=="number"?o.toString():o:i!==void 0?i:r}_getExistingOrDefaultContentTypeHeader(t,s){let r;if(this.requestOptions&&this.requestOptions.headers){let o=to(this.requestOptions.headers)[Ie.ContentType];o&&(typeof o=="number"?r=String(o):Array.isArray(o)?r=o.join(", "):r=o)}let i=t[Ie.ContentType];return i!==void 0?typeof i=="number"?String(i):Array.isArray(i)?i.join(", "):i:r!==void 0?r:s}_getAgent(t){let s,r=ku.getProxyUrl(t),i=r&&r.hostname;if(this._keepAlive&&i&&(s=this._proxyAgent),i||(s=this._agent),s)return s;let o=t.protocol==="https:",n=100;if(this.requestOptions&&(n=this.requestOptions.maxSockets||vu.globalAgent.maxSockets),r&&r.hostname){let a={maxSockets:n,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})},A,c=r.protocol==="https:";o?A=c?wa.httpsOverHttps:wa.httpsOverHttp:A=c?wa.httpOverHttps:wa.httpOverHttp,s=A(a),this._proxyAgent=s}if(!s){let a={keepAlive:this._keepAlive,maxSockets:n};s=o?new nC.Agent(a):new vu.Agent(a),this._agent=s}return o&&this._ignoreSslError&&(s.options=Object.assign(s.options||{},{rejectUnauthorized:!1})),s}_getProxyAgentDispatcher(t,s){let r;if(this._keepAlive&&(r=this._proxyAgentDispatcher),r)return r;let i=t.protocol==="https:";return r=new SG.ProxyAgent(Object.assign({uri:s.href,pipelining:this._keepAlive?1:0},(s.username||s.password)&&{token:`Basic ${Buffer.from(`${s.username}:${s.password}`).toString("base64")}`})),this._proxyAgentDispatcher=r,i&&this._ignoreSslError&&(r.options=Object.assign(r.options.requestTls||{},{rejectUnauthorized:!1})),r}_getUserAgentWithOrchestrationId(t){let s=t||"actions/http-client",r=process.env.ACTIONS_ORCHESTRATION_ID;if(r){let i=r.replace(/[^a-z0-9_.-]/gi,"_");return`${s} actions_orchestration_id/${i}`}return s}_performExponentialBackoff(t){return te(this,void 0,void 0,function*(){t=Math.min(LG,t);let s=_G*Math.pow(2,t);return new Promise(r=>setTimeout(()=>r(),s))})}_processResponse(t,s){return te(this,void 0,void 0,function*(){return new Promise((r,i)=>te(this,void 0,void 0,function*(){let o=t.message.statusCode||0,n={statusCode:o,result:null,headers:{}};o===Xe.NotFound&&r(n);function a(u,l){if(typeof l=="string"){let p=new Date(l);if(!isNaN(p.valueOf()))return p}return l}let A,c;try{c=yield t.readBody(),c&&c.length>0&&(s&&s.deserializeDates?A=JSON.parse(c,a):A=JSON.parse(c),n.result=A),n.headers=t.message.headers}catch{}if(o>299){let u;A&&A.message?u=A.message:c&&c.length>0?u=c:u=`Failed request: (${o})`;let l=new ba(u,o);l.result=n.result,i(l)}else r(n)}))})}};K.HttpClient=Du;var to=e=>Object.keys(e).reduce((t,s)=>(t[s.toLowerCase()]=e[s],t),{})});var DC=Q((sJ,ro)=>{"use strict";var Ra=function(){};Ra.prototype=Object.create(null);var ka=/; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu,Da=/\\([\v\u0020-\u00ff])/gu,xC=/^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u,Ps={type:"",parameters:new Ra};Object.freeze(Ps.parameters);Object.freeze(Ps);function vC(e){if(typeof e!="string")throw new TypeError("argument header is required and must be a string");let t=e.indexOf(";"),s=t!==-1?e.slice(0,t).trim():e.trim();if(xC.test(s)===!1)throw new TypeError("invalid media type");let r={type:s.toLowerCase(),parameters:new Ra};if(t===-1)return r;let i,o,n;for(ka.lastIndex=t;o=ka.exec(e);){if(o.index!==t)throw new TypeError("invalid parameter format");t+=o[0].length,i=o[1].toLowerCase(),n=o[2],n[0]==='"'&&(n=n.slice(1,n.length-1),Da.test(n)&&(n=n.replace(Da,"$1"))),r.parameters[i]=n}if(t!==e.length)throw new TypeError("invalid parameter format");return r}function kC(e){if(typeof e!="string")return Ps;let t=e.indexOf(";"),s=t!==-1?e.slice(0,t).trim():e.trim();if(xC.test(s)===!1)return Ps;let r={type:s.toLowerCase(),parameters:new Ra};if(t===-1)return r;let i,o,n;for(ka.lastIndex=t;o=ka.exec(e);){if(o.index!==t)return Ps;t+=o[0].length,i=o[1].toLowerCase(),n=o[2],n[0]==='"'&&(n=n.slice(1,n.length-1),Da.test(n)&&(n=n.replace(Da,"$1"))),r.parameters[i]=n}return t!==e.length?Ps:r}ro.exports.default={parse:vC,safeParse:kC};ro.exports.parse=vC;ro.exports.safeParse=kC;ro.exports.defaultContentType=Ps});var XC=Q((HJ,_M)=>{_M.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/ace+json":{source:"iana",compressible:!0},"application/ace-groupcomm+cbor":{source:"iana"},"application/ace-trl+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/aif+cbor":{source:"iana"},"application/aif+json":{source:"iana",compressible:!0},"application/alto-cdni+json":{source:"iana",compressible:!0},"application/alto-cdnifilter+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-propmap+json":{source:"iana",compressible:!0},"application/alto-propmapparams+json":{source:"iana",compressible:!0},"application/alto-tips+json":{source:"iana",compressible:!0},"application/alto-tipsparams+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/appinstaller":{compressible:!1,extensions:["appinstaller"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/appx":{compressible:!1,extensions:["appx"]},"application/appxbundle":{compressible:!1,extensions:["appxbundle"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/automationml-aml+xml":{source:"iana",compressible:!0,extensions:["aml"]},"application/automationml-amlx+zip":{source:"iana",compressible:!1,extensions:["amlx"]},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/bufr":{source:"iana"},"application/c2pa":{source:"iana"},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/ce+cbor":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/cid-edhoc+cbor-seq":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/city+json-seq":{source:"iana"},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-eap":{source:"iana"},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/concise-problem-details+cbor":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cose-x509":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwl":{source:"iana",extensions:["cwl"]},"application/cwl+json":{source:"iana",compressible:!0},"application/cwl+yaml":{source:"iana"},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana",extensions:["dcm"]},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dpop+jwt":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/eat+cwt":{source:"iana"},"application/eat+jwt":{source:"iana"},"application/eat-bun+cbor":{source:"iana"},"application/eat-bun+json":{source:"iana",compressible:!0},"application/eat-ucs+cbor":{source:"iana"},"application/eat-ucs+json":{source:"iana",compressible:!0},"application/ecmascript":{source:"apache",compressible:!0,extensions:["ecma"]},"application/edhoc+cbor-seq":{source:"iana"},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.legacyesn+json":{source:"iana",compressible:!0},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/entity-statement+jwt":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdf":{source:"iana",extensions:["fdf"]},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geopose+json":{source:"iana",compressible:!0},"application/geoxacml+json":{source:"iana",compressible:!0},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gnap-binding-jws":{source:"iana"},"application/gnap-binding-jwsd":{source:"iana"},"application/gnap-binding-rotation-jws":{source:"iana"},"application/gnap-binding-rotation-jwsd":{source:"iana"},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/grib":{source:"iana"},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"iana",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"apache",charset:"UTF-8",compressible:!0,extensions:["js"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/jscontact+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jsonpath":{source:"iana"},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwk-set+jwt":{source:"iana"},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/linkset":{source:"iana"},"application/linkset+json":{source:"iana",compressible:!0},"application/load-control+xml":{source:"iana",compressible:!0},"application/logout+jwt":{source:"iana"},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4","mpg4","mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msix":{compressible:!1,extensions:["msix"]},"application/msixbundle":{compressible:!1,extensions:["msixbundle"]},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!0,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/ohttp-keys":{source:"iana"},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg","one","onea"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["sig","asc"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/private-token-issuer-directory":{source:"iana"},"application/private-token-request":{source:"iana"},"application/private-token-response":{source:"iana"},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/provided-claims+jwt":{source:"iana"},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.implied-document+xml":{source:"iana",compressible:!0},"application/prs.implied-executable":{source:"iana"},"application/prs.implied-object+json":{source:"iana",compressible:!0},"application/prs.implied-object+json-seq":{source:"iana"},"application/prs.implied-object+yaml":{source:"iana"},"application/prs.implied-structure":{source:"iana"},"application/prs.mayfile":{source:"iana"},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.vcfbzip2":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0,extensions:["xsf"]},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"apache"},"application/reputon+json":{source:"iana",compressible:!0},"application/resolve-response+jwt":{source:"iana"},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-checklist":{source:"iana"},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-signed-tal":{source:"iana"},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"apache"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana",extensions:["sql"]},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/sslkeylogfile":{source:"iana"},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/st2110-41":{source:"iana"},"application/stix+json":{source:"iana",compressible:!0},"application/stratum":{source:"iana"},"application/swid+cbor":{source:"iana"},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tm+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/toc+cbor":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{source:"iana",compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/trust-chain+json":{source:"iana",compressible:!0},"application/trust-mark+jwt":{source:"iana"},"application/trust-mark-delegation+jwt":{source:"iana"},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/uccs+cbor":{source:"iana"},"application/ujcs+json":{source:"iana",compressible:!0},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vc":{source:"iana"},"application/vc+cose":{source:"iana"},"application/vc+jwt":{source:"iana"},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.1ob":{source:"iana"},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3a+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ach+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc8+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.5gsa2x":{source:"iana"},"application/vnd.3gpp.5gsa2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gsv2x":{source:"iana"},"application/vnd.3gpp.5gsv2x-local-service-information":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.crs+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.current-location-discovery+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-msgstore-ctrl-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-regroup+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-regroup+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-regroup+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.pinapp-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.seal-group-doc+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.seal-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.seal-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.seal-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.seal-network-qos-management-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.seal-ue-config-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.seal-unicast-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.seal-user-profile-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.v2x":{source:"iana"},"application/vnd.3gpp.vae-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acm.addressxfer+json":{source:"iana",compressible:!0},"application/vnd.acm.chatbot+json":{source:"iana",compressible:!0},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"apache",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"apache"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.parquet":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.apexlang":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"apache"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autodesk.fbx":{extensions:["fbx"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.belightsoft.lhzd+zip":{source:"iana",compressible:!1},"application/vnd.belightsoft.lhzl+zip":{source:"iana",compressible:!1},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.bzip3":{source:"iana"},"application/vnd.c3voc.schedule+xml":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.cncf.helm.chart.content.v1.tar+gzip":{source:"iana"},"application/vnd.cncf.helm.chart.provenance.v1.prov":{source:"iana"},"application/vnd.cncf.helm.config.v1+json":{source:"iana",compressible:!0},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datalog":{source:"iana"},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.dcmp+xml":{source:"iana",compressible:!0,extensions:["dcmp"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.eln+zip":{source:"iana",compressible:!1},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.erofs":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"apache",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.fdsn.stationxml+xml":{source:"iana",charset:"XML-BASED",compressible:!0},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.freelog.comic":{source:"iana"},"application/vnd.frogans.fnc":{source:"apache",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"apache",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.ga4gh.passport+jwt":{source:"iana"},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.genozip":{source:"iana"},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.gentoo.catmetadata+xml":{source:"iana",compressible:!0},"application/vnd.gentoo.ebuild":{source:"iana"},"application/vnd.gentoo.eclass":{source:"iana"},"application/vnd.gentoo.gpkg":{source:"iana"},"application/vnd.gentoo.manifest":{source:"iana"},"application/vnd.gentoo.pkgmetadata+xml":{source:"iana",compressible:!0},"application/vnd.gentoo.xpak":{source:"iana"},"application/vnd.geo+json":{source:"apache",compressible:!0},"application/vnd.geocube+xml":{source:"apache",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.pinboard":{source:"iana"},"application/vnd.geogebra.slides":{source:"iana",extensions:["ggs"]},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.gnu.taler.exchange+json":{source:"iana",compressible:!0},"application/vnd.gnu.taler.merchant+json":{source:"iana",compressible:!0},"application/vnd.google-apps.audio":{},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.drawing":{compressible:!1,extensions:["gdraw"]},"application/vnd.google-apps.drive-sdk":{compressible:!1},"application/vnd.google-apps.file":{},"application/vnd.google-apps.folder":{compressible:!1},"application/vnd.google-apps.form":{compressible:!1,extensions:["gform"]},"application/vnd.google-apps.fusiontable":{},"application/vnd.google-apps.jam":{compressible:!1,extensions:["gjam"]},"application/vnd.google-apps.mail-layout":{},"application/vnd.google-apps.map":{compressible:!1,extensions:["gmap"]},"application/vnd.google-apps.photo":{},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.script":{compressible:!1,extensions:["gscript"]},"application/vnd.google-apps.shortcut":{},"application/vnd.google-apps.site":{compressible:!1,extensions:["gsite"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-apps.unknown":{},"application/vnd.google-apps.video":{},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"apache",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0,extensions:["xdcf"]},"application/vnd.gpxsee.map+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.hsl":{source:"iana"},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"apache"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"apache",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"apache"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.ipfs.ipns-record":{source:"iana"},"application/vnd.ipld.car":{source:"iana"},"application/vnd.ipld.dag-cbor":{source:"iana"},"application/vnd.ipld.dag-json":{source:"iana"},"application/vnd.ipld.raw":{source:"iana"},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kdl":{source:"iana"},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.keyman.kmp+zip":{source:"iana",compressible:!1},"application/vnd.keyman.kmx":{source:"iana"},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.ldev.productlicensing":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.mdl":{source:"iana"},"application/vnd.mdl-mbsdf":{source:"iana"},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.medicalholodeck.recordxr":{source:"iana"},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mermaid":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.modl":{source:"iana"},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-visio.viewer":{extensions:["vdx"]},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msgpack":{source:"iana"},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.nato.bindingdataobject+cbor":{source:"iana"},"application/vnd.nato.bindingdataobject+json":{source:"iana",compressible:!0},"application/vnd.nato.bindingdataobject+xml":{source:"iana",compressible:!0,extensions:["bdo"]},"application/vnd.nato.openxmlformats-package.iepd+zip":{source:"iana",compressible:!1},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"apache",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oai.workflows":{source:"iana"},"application/vnd.oai.workflows+json":{source:"iana",compressible:!0},"application/vnd.oai.workflows+yaml":{source:"iana"},"application/vnd.oasis.opendocument.base":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"apache",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-master-template":{source:"iana"},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"apache",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"apache",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.onvif.metadata":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openvpi.dspx+json":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.procrate.brushset":{extensions:["brushset"]},"application/vnd.procreate.brush":{extensions:["brush"]},"application/vnd.procreate.dream":{extensions:["drm"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.pt.mundusmundi":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0,extensions:["xhtm"]},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.relpipe":{source:"iana"},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.sketchometry":{source:"iana"},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.smintio.portals.archive":{source:"iana"},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sybyl.mol2":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uic.osdm+json":{source:"iana",compressible:!0},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml","uo"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.veraison.tsm-report+cbor":{source:"iana"},"application/vnd.veraison.tsm-report+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw","vsdx","vtx"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vocalshaper.vsp4":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.wasmflow.wafl":{source:"iana"},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordlift":{source:"iana"},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xarin.cpj":{source:"iana"},"application/vnd.xecrets-encrypted":{source:"iana"},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/voucher-jws+json":{source:"iana",compressible:!0},"application/vp":{source:"iana"},"application/vp+cose":{source:"iana"},"application/vp+jwt":{source:"iana"},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blender":{extensions:["blend"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-compressed":{extensions:["rar"]},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-ipynb+json":{compressible:!0,extensions:["ipynb"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zip-compressed":{extensions:["zip"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xfdf":{source:"iana",extensions:["xfdf"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yaml":{source:"iana"},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+cbor":{source:"iana"},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yang-sid+json":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zip+dotlottie":{extensions:["lottie"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana",extensions:["adts","aac"]},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flac":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/matroska":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/midi-clip":{source:"iana"},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a","m4b"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"apache"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{source:"iana",compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp","dib"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/dpx":{source:"iana",extensions:["dpx"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/j2c":{source:"iana"},"image/jaii":{source:"iana",extensions:["jaii"]},"image/jais":{source:"iana",extensions:["jais"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpg","jpeg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm","jpgm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxl":{source:"iana",extensions:["jxl"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1,extensions:["jfif"]},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif","btf"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.clip":{source:"iana"},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"iana",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-adobe-dng":{extensions:["dng"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-emf":{source:"iana"},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-wmf":{source:"iana"},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/bhttp":{source:"iana"},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/mls":{source:"iana"},"message/news":{source:"apache"},"message/ohttp-req":{source:"iana"},"message/ohttp-res":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime","mht","mhtml"]},"message/s-http":{source:"apache"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"apache"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/jt":{source:"iana",extensions:["jt"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/prc":{source:"iana",extensions:["prc"]},"model/step":{source:"iana",extensions:["step","stp","stpnc","p21","210"]},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/u3d":{source:"iana",extensions:["u3d"]},"model/vnd.bary":{source:"iana",extensions:["bary"]},"model/vnd.cld":{source:"iana",extensions:["cld"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana",extensions:["pyo","pyox"]},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usda":{source:"iana",extensions:["usda"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"apache"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/hl7v2":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["md","markdown"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/prs.texi":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.exchangeable":{source:"iana"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"apache"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.vcf":{source:"iana"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vnd.zoo.kcl":{source:"iana"},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/wgsl":{source:"iana",extensions:["wgsl"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/evc":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/h266":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/lottie+json":{source:"iana",compressible:!0},"video/matroska":{source:"iana"},"video/matroska-3d":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts","m2t","m2ts","mts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.planar":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"apache"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var eI=Q((VJ,$C)=>{$C.exports=XC()});var oI=Q((qJ,iI)=>{var tI={"prs.":100,"x-":200,"x.":300,"vnd.":400,default:900},sI={nginx:10,apache:20,iana:40,default:30},rI={application:1,font:2,audio:2,video:3,default:0};iI.exports=function(t,s="default"){if(t==="application/octet-stream")return 0;let[r,i]=t.split("/"),o=i.replace(/(\.|x-).*/,"$1"),n=tI[o]||tI.default,a=sI[s]||sI.default,A=rI[r]||rI.default,c=1-t.length/100;return n+a+A+c}});var cI=Q(Ae=>{"use strict";var qs=eI(),YM=require("path").extname,nI=oI(),aI=/^\s*([^;\s]*)(?:;|\s|$)/,OM=/^text\//i;Ae.charset=AI;Ae.charsets={lookup:AI};Ae.contentType=JM;Ae.extension=qu;Ae.extensions=Object.create(null);Ae.lookup=PM;Ae.types=Object.create(null);Ae._extensionConflicts=[];HM(Ae.extensions,Ae.types);function AI(e){if(!e||typeof e!="string")return!1;var t=aI.exec(e),s=t&&qs[t[1].toLowerCase()];return s&&s.charset?s.charset:t&&OM.test(t[1])?"UTF-8":!1}function JM(e){if(!e||typeof e!="string")return!1;var t=e.indexOf("/")===-1?Ae.lookup(e):e;if(!t)return!1;if(t.indexOf("charset")===-1){var s=Ae.charset(t);s&&(t+="; charset="+s.toLowerCase())}return t}function qu(e){if(!e||typeof e!="string")return!1;var t=aI.exec(e),s=t&&Ae.extensions[t[1].toLowerCase()];return!s||!s.length?!1:s[0]}function PM(e){if(!e||typeof e!="string")return!1;var t=YM("x."+e).toLowerCase().slice(1);return t&&Ae.types[t]||!1}function HM(e,t){Object.keys(qs).forEach(function(r){var i=qs[r],o=i.extensions;if(!(!o||!o.length)){e[r]=o;for(var n=0;ni?t:s}function qM(e,t,s){var r=["nginx","apache",void 0,"iana"],i=t?r.indexOf(qs[t].source):0,o=s?r.indexOf(qs[s].source):0;return Ae.types[qu]!=="application/octet-stream"&&(i>o||i===o&&Ae.types[qu]?.slice(0,12)==="application/")||i>o?t:s}});var fp=de(require("os"),1);function zt(e){return e==null?"":typeof e=="string"||e instanceof String?e:JSON.stringify(e)}function Ep(e){return Object.keys(e).length?{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}:{}}function $a(e,t,s){let r=new Xa(e,t,s);process.stdout.write(r.toString()+fp.EOL)}var mp="::",Xa=class{constructor(t,s,r){t||(t="missing.command"),this.command=t,this.properties=s,this.message=r}toString(){let t=mp+this.command;if(this.properties&&Object.keys(this.properties).length>0){t+=" ";let s=!0;for(let r in this.properties)if(this.properties.hasOwnProperty(r)){let i=this.properties[r];i&&(s?s=!1:t+=",",t+=`${r}=${Jw(i)}`)}}return t+=`${mp}${Ow(this.message)}`,t}};function Ow(e){return zt(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function Jw(e){return zt(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}var Qp=de(require("crypto"),1),Co=de(require("fs"),1),Bo=de(require("os"),1);function Bp(e,t){let s=process.env[`GITHUB_${e}`];if(!s)throw new Error(`Unable to find environment variable for file command ${e}`);if(!Co.existsSync(s))throw new Error(`Missing file at path: ${s}`);Co.appendFileSync(s,`${zt(t)}${Bo.EOL}`,{encoding:"utf8"})}function Cp(e,t){let s=`ghadelimiter_${Qp.randomUUID()}`,r=zt(t);if(e.includes(s))throw new Error(`Unexpected input: name should not contain the delimiter "${s}"`);if(r.includes(s))throw new Error(`Unexpected input: value should not contain the delimiter "${s}"`);return`${e}<<${s}${Bo.EOL}${r}${Bo.EOL}${s}`}var eC=de(require("os"),1);var fa=de(sA(),1),aG=de(ma(),1);var xt;(function(e){e[e.OK=200]="OK",e[e.MultipleChoices=300]="MultipleChoices",e[e.MovedPermanently=301]="MovedPermanently",e[e.ResourceMoved=302]="ResourceMoved",e[e.SeeOther=303]="SeeOther",e[e.NotModified=304]="NotModified",e[e.UseProxy=305]="UseProxy",e[e.SwitchProxy=306]="SwitchProxy",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e[e.BadRequest=400]="BadRequest",e[e.Unauthorized=401]="Unauthorized",e[e.PaymentRequired=402]="PaymentRequired",e[e.Forbidden=403]="Forbidden",e[e.NotFound=404]="NotFound",e[e.MethodNotAllowed=405]="MethodNotAllowed",e[e.NotAcceptable=406]="NotAcceptable",e[e.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",e[e.RequestTimeout=408]="RequestTimeout",e[e.Conflict=409]="Conflict",e[e.Gone=410]="Gone",e[e.TooManyRequests=429]="TooManyRequests",e[e.InternalServerError=500]="InternalServerError",e[e.NotImplemented=501]="NotImplemented",e[e.BadGateway=502]="BadGateway",e[e.ServiceUnavailable=503]="ServiceUnavailable",e[e.GatewayTimeout=504]="GatewayTimeout"})(xt||(xt={}));var zB;(function(e){e.Accept="accept",e.ContentType="content-type"})(zB||(zB={}));var ZB;(function(e){e.ApplicationJson="application/json"})(ZB||(ZB={}));var tO=[xt.MovedPermanently,xt.ResourceMoved,xt.SeeOther,xt.TemporaryRedirect,xt.PermanentRedirect],sO=[xt.BadGateway,xt.ServiceUnavailable,xt.GatewayTimeout];var XB=require("os"),$i=require("fs"),wu=function(e,t,s,r){function i(o){return o instanceof s?o:new s(function(n){n(o)})}return new(s||(s=Promise))(function(o,n){function a(u){try{c(r.next(u))}catch(l){n(l)}}function A(u){try{c(r.throw(u))}catch(l){n(l)}}function c(u){u.done?o(u.value):i(u.value).then(a,A)}c((r=r.apply(e,t||[])).next())})},{access:AG,appendFile:cG,writeFile:lG}=$i.promises,KB="GITHUB_STEP_SUMMARY";var bu=class{constructor(){this._buffer=""}filePath(){return wu(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let t=process.env[KB];if(!t)throw new Error(`Unable to find environment variable for $${KB}. Check if your runtime environment supports job summaries.`);try{yield AG(t,$i.constants.R_OK|$i.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${t}'. Check if the file has correct read/write permissions.`)}return this._filePath=t,this._filePath})}wrap(t,s,r={}){let i=Object.entries(r).map(([o,n])=>` ${o}="${n}"`).join("");return s?`<${t}${i}>${s}`:`<${t}${i}>`}write(t){return wu(this,void 0,void 0,function*(){let s=!!t?.overwrite,r=yield this.filePath();return yield(s?lG:cG)(r,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return wu(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return this._buffer="",this}addRaw(t,s=!1){return this._buffer+=t,s?this.addEOL():this}addEOL(){return this.addRaw(XB.EOL)}addCodeBlock(t,s){let r=Object.assign({},s&&{lang:s}),i=this.wrap("pre",this.wrap("code",t),r);return this.addRaw(i).addEOL()}addList(t,s=!1){let r=s?"ol":"ul",i=t.map(n=>this.wrap("li",n)).join(""),o=this.wrap(r,i);return this.addRaw(o).addEOL()}addTable(t){let s=t.map(i=>{let o=i.map(n=>{if(typeof n=="string")return this.wrap("td",n);let{header:a,data:A,colspan:c,rowspan:u}=n,l=a?"th":"td",p=Object.assign(Object.assign({},c&&{colspan:c}),u&&{rowspan:u});return this.wrap(l,A,p)}).join("");return this.wrap("tr",o)}).join(""),r=this.wrap("table",s);return this.addRaw(r).addEOL()}addDetails(t,s){let r=this.wrap("details",this.wrap("summary",t)+s);return this.addRaw(r).addEOL()}addImage(t,s,r){let{width:i,height:o}=r||{},n=Object.assign(Object.assign({},i&&{width:i}),o&&{height:o}),a=this.wrap("img",null,Object.assign({src:t,alt:s},n));return this.addRaw(a).addEOL()}addHeading(t,s){let r=`h${s}`,i=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1",o=this.wrap(i,t);return this.addRaw(o).addEOL()}addSeparator(){let t=this.wrap("hr",null);return this.addRaw(t).addEOL()}addBreak(){let t=this.wrap("br",null);return this.addRaw(t).addEOL()}addQuote(t,s){let r=Object.assign({},s&&{cite:s}),i=this.wrap("blockquote",t,r);return this.addRaw(i).addEOL()}addLink(t,s){let r=this.wrap("a",t,{href:s});return this.addRaw(r).addEOL()}},gO=new bu;var yu=de(require("os"),1);var Qa=de(require("fs"),1);var{chmod:uG,copyFile:pG,lstat:gG,mkdir:hG,open:EO,readdir:dG,rename:EG,rm:mG,rmdir:mO,stat:fG,symlink:QG,unlink:BG}=Qa.promises,CG=process.platform==="win32";var fO=Qa.constants.O_RDONLY;var wO=process.platform==="win32";var vO=yu.default.platform(),kO=yu.default.arch();var xu;(function(e){e[e.Success=0]="Success",e[e.Failure=1]="Failure"})(xu||(xu={}));function eo(e,t){if(process.env.GITHUB_OUTPUT||"")return Bp("OUTPUT",Cp(e,t));process.stdout.write(eC.EOL),$a("set-output",{name:e},zt(t))}function tC(e){process.exitCode=xu.Failure,kG(e)}function kG(e,t={}){$a("error",Ep(t),e instanceof Error?e.toString():e)}var Ba=require("fs"),sC=require("os"),Wr=class{constructor(){var t,s,r;if(this.payload={},process.env.GITHUB_EVENT_PATH)if((0,Ba.existsSync)(process.env.GITHUB_EVENT_PATH))this.payload=JSON.parse((0,Ba.readFileSync)(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}));else{let i=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${i} does not exist${sC.EOL}`)}this.eventName=process.env.GITHUB_EVENT_NAME,this.sha=process.env.GITHUB_SHA,this.ref=process.env.GITHUB_REF,this.workflow=process.env.GITHUB_WORKFLOW,this.action=process.env.GITHUB_ACTION,this.actor=process.env.GITHUB_ACTOR,this.job=process.env.GITHUB_JOB,this.runAttempt=parseInt(process.env.GITHUB_RUN_ATTEMPT,10),this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10),this.runId=parseInt(process.env.GITHUB_RUN_ID,10),this.apiUrl=(t=process.env.GITHUB_API_URL)!==null&&t!==void 0?t:"https://api.github.com",this.serverUrl=(s=process.env.GITHUB_SERVER_URL)!==null&&s!==void 0?s:"https://github.com",this.graphqlUrl=(r=process.env.GITHUB_GRAPHQL_URL)!==null&&r!==void 0?r:"https://api.github.com/graphql"}get issue(){let t=this.payload;return Object.assign(Object.assign({},this.repo),{number:(t.issue||t.pull_request||t).number})}get repo(){if(process.env.GITHUB_REPOSITORY){let[t,s]=process.env.GITHUB_REPOSITORY.split("/");return{owner:t,repo:s}}if(this.payload.repository)return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name};throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}};var Ru=de(aC(),1),AC=de(ma(),1),OG=function(e,t,s,r){function i(o){return o instanceof s?o:new s(function(n){n(o)})}return new(s||(s=Promise))(function(o,n){function a(u){try{c(r.next(u))}catch(l){n(l)}}function A(u){try{c(r.throw(u))}catch(l){n(l)}}function c(u){u.done?o(u.value):i(u.value).then(a,A)}c((r=r.apply(e,t||[])).next())})};function cC(e,t){if(!e&&!t.auth)throw new Error("Parameter token or opts.auth is required");if(e&&t.auth)throw new Error("Parameters token and opts.auth may not both be specified");return typeof t.auth=="string"?t.auth:`token ${e}`}function lC(e){return new Ru.HttpClient().getAgent(e)}function JG(e){return new Ru.HttpClient().getAgentDispatcher(e)}function uC(e){let t=JG(e);return(r,i)=>OG(this,void 0,void 0,function*(){return(0,AC.fetch)(r,Object.assign(Object.assign({},i),{dispatcher:t}))})}function pC(){return process.env.GITHUB_API_URL||"https://api.github.com"}function Tu(e){var t;let s=(t=process.env.ACTIONS_ORCHESTRATION_ID)===null||t===void 0?void 0:t.trim();if(s){let i=`actions_orchestration_id/${s.replace(/[^a-z0-9_.-]/gi,"_")}`;return e?.includes(i)?e:`${e?`${e} `:""}${i}`}return e}function ds(){return typeof navigator=="object"&&"userAgent"in navigator?navigator.userAgent:typeof process=="object"&&process.version!==void 0?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:""}function va(e,t,s,r){if(typeof s!="function")throw new Error("method for before hook must be a function");return r||(r={}),Array.isArray(t)?t.reverse().reduce((i,o)=>va.bind(null,e,o,i,r),s)():Promise.resolve().then(()=>e.registry[t]?e.registry[t].reduce((i,o)=>o.hook.bind(null,i,r),s)():s(r))}function gC(e,t,s,r){let i=r;e.registry[s]||(e.registry[s]=[]),t==="before"&&(r=(o,n)=>Promise.resolve().then(i.bind(null,n)).then(o.bind(null,n))),t==="after"&&(r=(o,n)=>{let a;return Promise.resolve().then(o.bind(null,n)).then(A=>(a=A,i(a,n))).then(()=>a)}),t==="error"&&(r=(o,n)=>Promise.resolve().then(o.bind(null,n)).catch(a=>i(a,n))),e.registry[s].push({hook:r,orig:i})}function hC(e,t,s){if(!e.registry[t])return;let r=e.registry[t].map(i=>i.orig).indexOf(s);r!==-1&&e.registry[t].splice(r,1)}var dC=Function.bind,EC=dC.bind(dC);function mC(e,t,s){let r=EC(hC,null).apply(null,s?[t,s]:[t]);e.api={remove:r},e.remove=r,["before","error","after","wrap"].forEach(i=>{let o=s?[t,i,s]:[t,i];e[i]=e.api[i]=EC(gC,null).apply(null,o)})}function HG(){let e=Symbol("Singular"),t={registry:{}},s=va.bind(null,t,e);return mC(s,t,e),s}function VG(){let e={registry:{}},t=va.bind(null,e);return mC(t,e),t}var fC={Singular:HG,Collection:VG};var qG="0.0.0-development",WG=`octokit-endpoint.js/${qG} ${ds()}`,jG={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":WG},mediaType:{format:""}};function zG(e){return e?Object.keys(e).reduce((t,s)=>(t[s.toLowerCase()]=e[s],t),{}):{}}function ZG(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let s=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof s=="function"&&s instanceof s&&Function.prototype.call(s)===Function.prototype.call(e)}function CC(e,t){let s=Object.assign({},e);return Object.keys(t).forEach(r=>{ZG(t[r])?r in e?s[r]=CC(e[r],t[r]):Object.assign(s,{[r]:t[r]}):Object.assign(s,{[r]:t[r]})}),s}function QC(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function Su(e,t,s){if(typeof t=="string"){let[i,o]=t.split(" ");s=Object.assign(o?{method:i,url:o}:{url:i},s)}else s=Object.assign({},t);s.headers=zG(s.headers),QC(s),QC(s.headers);let r=CC(e||{},s);return s.url==="/graphql"&&(e&&e.mediaType.previews?.length&&(r.mediaType.previews=e.mediaType.previews.filter(i=>!r.mediaType.previews.includes(i)).concat(r.mediaType.previews)),r.mediaType.previews=(r.mediaType.previews||[]).map(i=>i.replace(/-preview/,""))),r}function KG(e,t){let s=/\?/.test(e)?"&":"?",r=Object.keys(t);return r.length===0?e:e+s+r.map(i=>i==="q"?"q="+t.q.split("+").map(encodeURIComponent).join("+"):`${i}=${encodeURIComponent(t[i])}`).join("&")}var XG=/\{[^{}}]+\}/g;function $G(e){return e.replace(/(?:^\W+)|(?:(?s.concat(r),[]):[]}function BC(e,t){let s={__proto__:null};for(let r of Object.keys(e))t.indexOf(r)===-1&&(s[r]=e[r]);return s}function IC(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map(function(t){return/%[0-9A-Fa-f]/.test(t)||(t=encodeURI(t).replace(/%5B/g,"[").replace(/%5D/g,"]")),t}).join("")}function zr(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function so(e,t,s){return t=e==="+"||e==="#"?IC(t):zr(t),s?zr(s)+"="+t:t}function jr(e){return e!=null}function Fu(e){return e===";"||e==="&"||e==="?"}function tM(e,t,s,r){var i=e[s],o=[];if(jr(i)&&i!=="")if(typeof i=="string"||typeof i=="number"||typeof i=="bigint"||typeof i=="boolean")i=i.toString(),r&&r!=="*"&&(i=i.substring(0,parseInt(r,10))),o.push(so(t,i,Fu(t)?s:""));else if(r==="*")Array.isArray(i)?i.filter(jr).forEach(function(n){o.push(so(t,n,Fu(t)?s:""))}):Object.keys(i).forEach(function(n){jr(i[n])&&o.push(so(t,i[n],n))});else{let n=[];Array.isArray(i)?i.filter(jr).forEach(function(a){n.push(so(t,a))}):Object.keys(i).forEach(function(a){jr(i[a])&&(n.push(zr(a)),n.push(so(t,i[a].toString())))}),Fu(t)?o.push(zr(s)+"="+n.join(",")):n.length!==0&&o.push(n.join(","))}else t===";"?jr(i)&&o.push(zr(s)):i===""&&(t==="&"||t==="?")?o.push(zr(s)+"="):i===""&&o.push("");return o}function sM(e){return{expand:rM.bind(null,e)}}function rM(e,t){var s=["+","#",".","/",";","?","&"];return e=e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(r,i,o){if(i){let a="",A=[];if(s.indexOf(i.charAt(0))!==-1&&(a=i.charAt(0),i=i.substr(1)),i.split(/,/g).forEach(function(c){var u=/([^:\*]*)(?::(\d+)|(\*))?/.exec(c);A.push(tM(t,a,u[1],u[2]||u[3]))}),a&&a!=="+"){var n=",";return a==="?"?n="&":a!=="#"&&(n=a),(A.length!==0?a:"")+A.join(n)}else return A.join(",")}else return IC(o)}),e==="/"?e:e.replace(/\/$/,"")}function wC(e){let t=e.method.toUpperCase(),s=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),r=Object.assign({},e.headers),i,o=BC(e,["method","baseUrl","url","headers","request","mediaType"]),n=eM(s);s=sM(s).expand(o),/^http/.test(s)||(s=e.baseUrl+s);let a=Object.keys(e).filter(u=>n.includes(u)).concat("baseUrl"),A=BC(o,a);if(!/application\/octet-stream/i.test(r.accept)&&(e.mediaType.format&&(r.accept=r.accept.split(/,/).map(u=>u.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`)).join(",")),s.endsWith("/graphql")&&e.mediaType.previews?.length)){let u=r.accept.match(/(?{let p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${l}-preview${p}`}).join(",")}return["GET","HEAD"].includes(t)?s=KG(s,A):"data"in A?i=A.data:Object.keys(A).length&&(i=A),!r["content-type"]&&typeof i<"u"&&(r["content-type"]="application/json; charset=utf-8"),["PATCH","PUT"].includes(t)&&typeof i>"u"&&(i=""),Object.assign({method:t,url:s,headers:r},typeof i<"u"?{body:i}:null,e.request?{request:e.request}:null)}function iM(e,t,s){return wC(Su(e,t,s))}function bC(e,t){let s=Su(e,t),r=iM.bind(null,s);return Object.assign(r,{DEFAULTS:s,defaults:bC.bind(null,s),merge:Su.bind(null,s),parse:wC})}var yC=bC(null,jG);var LC=de(DC(),1);var oM=/^-?\d+$/,FC=/^-?\d+n+$/,Uu=JSON.stringify,RC=JSON.parse,nM=/^-?\d+n$/,aM=/([\[:])?"(-?\d+)n"($|([\\n]|\s)*(\s|[\\n])*[,\}\]])/g,AM=/([\[:])?("-?\d+n+)n("$|"([\\n]|\s)*(\s|[\\n])*[,\}\]])/g,SC=(e,t,s)=>"rawJSON"in JSON?Uu(e,(n,a)=>typeof a=="bigint"?JSON.rawJSON(a.toString()):typeof t=="function"?t(n,a):(Array.isArray(t)&&t.includes(n),a),s):e?Uu(e,(n,a)=>typeof a=="string"&&!!a.match(FC)||typeof a=="bigint"?a.toString()+"n":typeof t=="function"?t(n,a):(Array.isArray(t)&&t.includes(n),a),s).replace(aM,"$1$2$3").replace(AM,"$1$2$3"):Uu(e,t,s),cM=()=>JSON.parse("1",(e,t,s)=>!!s&&s.source==="1"),lM=(e,t,s,r)=>typeof t=="string"&&t.match(nM)?BigInt(t.slice(0,-1)):typeof t=="string"&&t.match(FC)?t.slice(0,-1):typeof r!="function"?t:r(e,t,s),uM=(e,t)=>JSON.parse(e,(s,r,i)=>{let o=typeof r=="number"&&(r>Number.MAX_SAFE_INTEGER||r{if(!e)return RC(e,t);if(cM())return uM(e,t);let s=e.replace(pM,(r,i,o,n)=>{let a=r[0]==='"';if(a&&!!r.match(gM))return r.substring(0,r.length-1)+'n"';let c=o||n,u=i&&(i.lengthlM(r,i,o,t))};var Hs=class extends Error{name;status;request;response;constructor(t,s,r){super(t,{cause:r.cause}),this.name="HttpError",this.status=Number.parseInt(s),Number.isNaN(this.status)&&(this.status=0);"response"in r&&(this.response=r.response);let i=Object.assign({},r.request);r.request.headers.authorization&&(i.headers=Object.assign({},r.request.headers,{authorization:r.request.headers.authorization.replace(/(?"";async function MC(e){let t=e.request?.fetch||globalThis.fetch;if(!t)throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing");let s=e.request?.log||console,r=e.request?.parseSuccessResponseBody!==!1,i=EM(e.body)||Array.isArray(e.body)?SC(e.body):e.body,o=Object.fromEntries(Object.entries(e.headers).map(([l,p])=>[l,String(p)])),n;try{n=await t(e.url,{method:e.method,body:i,redirect:e.request?.redirect,headers:o,signal:e.request?.signal,...e.body&&{duplex:"half"}})}catch(l){let p="Unknown Error";if(l instanceof Error){if(l.name==="AbortError")throw l.status=500,l;p=l.message,l.name==="TypeError"&&"cause"in l&&(l.cause instanceof Error?p=l.cause.message:typeof l.cause=="string"&&(p=l.cause))}let g=new Hs(p,500,{request:e});throw g.cause=l,g}let a=n.status,A=n.url,c={};for(let[l,p]of n.headers)c[l]=p;let u={url:A,status:a,headers:c,data:""};if("deprecation"in c){let l=c.link&&c.link.match(/<([^<>]+)>; rel="deprecation"/),p=l&&l.pop();s.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${c.sunset}${p?`. See ${p}`:""}`)}if(a===204||a===205)return u;if(e.method==="HEAD"){if(a<400)return u;throw new Hs(n.statusText,a,{response:u,request:e})}if(a===304)throw u.data=await Nu(n),new Hs("Not modified",a,{response:u,request:e});if(a>=400)throw u.data=await Nu(n),new Hs(fM(u.data),a,{response:u,request:e});return u.data=r?await Nu(n):n.body,u}async function Nu(e){let t=e.headers.get("content-type");if(!t)return e.text().catch(GC);let s=(0,LC.safeParse)(t);if(mM(s)){let r="";try{return r=await e.text(),NC(r)}catch{return r}}else return s.type.startsWith("text/")||s.parameters.charset?.toLowerCase()==="utf-8"?e.text().catch(GC):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function mM(e){return e.type==="application/json"||e.type==="application/scim+json"}function fM(e){if(typeof e=="string")return e;if(e instanceof ArrayBuffer)return"Unknown error";if("message"in e){let t="documentation_url"in e?` - ${e.documentation_url}`:"";return Array.isArray(e.errors)?`${e.message}: ${e.errors.map(s=>JSON.stringify(s)).join(", ")}${t}`:`${e.message}${t}`}return`Unknown error: ${JSON.stringify(e)}`}function Gu(e,t){let s=e.defaults(t);return Object.assign(function(i,o){let n=s.merge(i,o);if(!n.request||!n.request.hook)return MC(s.parse(n));let a=(A,c)=>MC(s.parse(s.merge(A,c)));return Object.assign(a,{endpoint:s,defaults:Gu.bind(null,s)}),n.request.hook(a,n)},{endpoint:s,defaults:Gu.bind(null,s)})}var io=Gu(yC,dM);var QM="0.0.0-development";function BM(e){return`Request failed due to following response errors: +`+e.errors.map(t=>` - ${t.message}`).join(` +`)}var CM=class extends Error{constructor(e,t,s){super(BM(s)),this.request=e,this.headers=t,this.response=s,this.errors=s.errors,this.data=s.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}name="GraphqlResponseError";errors;data},IM=["method","baseUrl","url","headers","request","query","mediaType","operationName"],wM=["query","method","url"],_C=/\/api\/v3\/?$/;function bM(e,t,s){if(s){if(typeof t=="string"&&"query"in s)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));for(let n in s)if(wM.includes(n))return Promise.reject(new Error(`[@octokit/graphql] "${n}" cannot be used as variable name`))}let r=typeof t=="string"?Object.assign({query:t},s):t,i=Object.keys(r).reduce((n,a)=>IM.includes(a)?(n[a]=r[a],n):(n.variables||(n.variables={}),n.variables[a]=r[a],n),{}),o=r.baseUrl||e.endpoint.DEFAULTS.baseUrl;return _C.test(o)&&(i.url=o.replace(_C,"/api/graphql")),e(i).then(n=>{if(n.data.errors){let a={};for(let A of Object.keys(n.headers))a[A]=n.headers[A];throw new CM(i,a,n.data)}return n.data.data})}function Mu(e,t){let s=e.defaults(t);return Object.assign((i,o)=>bM(s,i,o),{defaults:Mu.bind(null,s),endpoint:s.endpoint})}var pJ=Mu(io,{headers:{"user-agent":`octokit-graphql.js/${QM} ${ds()}`},method:"POST",url:"/graphql"});function YC(e){return Mu(e,{method:"POST",url:"/graphql"})}var Lu="(?:[a-zA-Z0-9_-]+)",OC="\\.",JC=new RegExp(`^${Lu}${OC}${Lu}${OC}${Lu}$`),yM=JC.test.bind(JC);async function xM(e){let t=yM(e),s=e.startsWith("v1.")||e.startsWith("ghs_"),r=e.startsWith("ghu_");return{type:"token",token:e,tokenType:t?"app":s?"installation":r?"user-to-server":"oauth"}}function vM(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function kM(e,t,s,r){let i=t.endpoint.merge(s,r);return i.headers.authorization=vM(e),t(i)}var PC=function(t){if(!t)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if(typeof t!="string")throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return t=t.replace(/^(token|bearer) +/i,""),Object.assign(xM.bind(null,t),{hook:kM.bind(null,t)})};var _u="7.0.6";var HC=()=>{},DM=console.warn.bind(console),RM=console.error.bind(console);function TM(e={}){return typeof e.debug!="function"&&(e.debug=HC),typeof e.info!="function"&&(e.info=HC),typeof e.warn!="function"&&(e.warn=DM),typeof e.error!="function"&&(e.error=RM),e}var VC=`octokit-core.js/${_u} ${ds()}`,Ta=class{static VERSION=_u;static defaults(t){return class extends this{constructor(...r){let i=r[0]||{};if(typeof t=="function"){super(t(i));return}super(Object.assign({},t,i,i.userAgent&&t.userAgent?{userAgent:`${i.userAgent} ${t.userAgent}`}:null))}}}static plugins=[];static plugin(...t){let s=this.plugins;return class extends this{static plugins=s.concat(t.filter(i=>!s.includes(i)))}}constructor(t={}){let s=new fC.Collection,r={baseUrl:io.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},t.request,{hook:s.bind(null,"request")}),mediaType:{previews:[],format:""}};if(r.headers["user-agent"]=t.userAgent?`${t.userAgent} ${VC}`:VC,t.baseUrl&&(r.baseUrl=t.baseUrl),t.previews&&(r.mediaType.previews=t.previews),t.timeZone&&(r.headers["time-zone"]=t.timeZone),this.request=io.defaults(r),this.graphql=YC(this.request).defaults(r),this.log=TM(t.log),this.hook=s,t.authStrategy){let{authStrategy:o,...n}=t,a=o(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:n},t.auth));s.wrap("request",a.hook),this.auth=a}else if(!t.auth)this.auth=async()=>({type:"unauthenticated"});else{let o=PC(t.auth);s.wrap("request",o.hook),this.auth=o}let i=this.constructor;for(let o=0;o({async next(){if(!a)return{done:!0};try{let A=await i({method:o,url:a,headers:n}),c=MM(A);if(a=((c.headers.link||"").match(/<([^<>]+)>;\s*rel="next"/)||[])[1],!a&&"total_commits"in c.data){let u=new URL(c.url),l=u.searchParams,p=parseInt(l.get("page")||"1",10),g=parseInt(l.get("per_page")||"250",10);p*g{if(i.done)return t;let o=!1;function n(){o=!0}return t=t.concat(r?r(i.value,n):i.value.data),o?t:jC(e,t,s,r)})}var SJ=Object.assign(WC,{iterator:Pu});function Hu(e){return{paginate:Object.assign(WC.bind(null,e),{iterator:Pu.bind(null,e)})}}Hu.VERSION=GM;var LJ=new Wr,Vu=pC(),LM={baseUrl:Vu,request:{agent:lC(Vu),fetch:uC(Vu)}},zC=Ta.plugin(Ju,Hu).defaults(LM);function ZC(e,t){let s=Object.assign({},t||{}),r=cC(e,s);r&&(s.auth=r);let i=Tu(s.userAgent);return i&&(s.userAgent=i),s}var JJ=new Wr;function KC(e,t,...s){let r=zC.plugin(...s);return new r(ZC(e,t))}var kw=require("fs"),Dw=require("fs/promises"),Rw=de(cI()),Tw=require("path");var VI=require("node:url"),$r=require("node:path"),ZI=require("node:url"),Dt=require("fs"),XL=de(require("node:fs"),1),Qs=require("node:fs/promises"),qa=require("node:events"),ip=de(require("node:stream"),1),KI=require("node:string_decoder"),SI=(e,t,s)=>{let r=e instanceof RegExp?lI(e,s):e,i=t instanceof RegExp?lI(t,s):t,o=r!==null&&i!=null&&WM(r,i,s);return o&&{start:o[0],end:o[1],pre:s.slice(0,o[0]),body:s.slice(o[0]+r.length,o[1]),post:s.slice(o[1]+i.length)}},lI=(e,t)=>{let s=t.match(e);return s?s[0]:null},WM=(e,t,s)=>{let r,i,o,n,a,A=s.indexOf(e),c=s.indexOf(t,A+1),u=A;if(A>=0&&c>0){if(e===t)return[A,c];for(r=[],o=s.length;u>=0&&!a;){if(u===A)r.push(u),A=s.indexOf(e,u+1);else if(r.length===1){let l=r.pop();l!==void 0&&(a=[l,c])}else i=r.pop(),i!==void 0&&i=0?A:c}r.length&&n!==void 0&&(a=[o,n])}return a},UI="\0SLASH"+Math.random()+"\0",NI="\0OPEN"+Math.random()+"\0",sp="\0CLOSE"+Math.random()+"\0",GI="\0COMMA"+Math.random()+"\0",MI="\0PERIOD"+Math.random()+"\0",jM=new RegExp(UI,"g"),zM=new RegExp(NI,"g"),ZM=new RegExp(sp,"g"),KM=new RegExp(GI,"g"),XM=new RegExp(MI,"g"),$M=/\\\\/g,eL=/\\{/g,tL=/\\}/g,sL=/\\,/g,rL=/\\./g,iL=1e5;function Wu(e){return isNaN(e)?e.charCodeAt(0):parseInt(e,10)}function oL(e){return e.replace($M,UI).replace(eL,NI).replace(tL,sp).replace(sL,GI).replace(rL,MI)}function nL(e){return e.replace(jM,"\\").replace(zM,"{").replace(ZM,"}").replace(KM,",").replace(XM,".")}function LI(e){if(!e)return[""];let t=[],s=SI("{","}",e);if(!s)return e.split(",");let{pre:r,body:i,post:o}=s,n=r.split(",");n[n.length-1]+="{"+i+"}";let a=LI(o);return o.length&&(n[n.length-1]+=a.shift(),n.push.apply(n,a)),t.push.apply(t,n),t}function aL(e,t={}){if(!e)return[];let{max:s=iL}=t;return e.slice(0,2)==="{}"&&(e="\\{\\}"+e.slice(2)),uo(oL(e),s,!0).map(nL)}function AL(e){return"{"+e+"}"}function cL(e){return/^-?0\d/.test(e)}function lL(e,t){return e<=t}function uL(e,t){return e>=t}function uo(e,t,s){let r=[],i=SI("{","}",e);if(!i)return[e];let o=i.pre,n=i.post.length?uo(i.post,t,!1):[""];if(/\$$/.test(i.pre))for(let a=0;a=0;if(!c&&!u)return i.post.match(/,(?!,).*\}/)?(e=i.pre+"{"+i.body+sp+i.post,uo(e,t,!0)):[e];let l;if(c)l=i.body.split(/\.\./);else if(l=LI(i.body),l.length===1&&l[0]!==void 0&&(l=uo(l[0],t,!1).map(AL),l.length===1))return n.map(g=>i.pre+l[0]+g);let p;if(c&&l[0]!==void 0&&l[1]!==void 0){let g=Wu(l[0]),h=Wu(l[1]),E=Math.max(l[0].length,l[1].length),f=l.length===3&&l[2]!==void 0?Math.abs(Wu(l[2])):1,d=lL;h0){let S=new Array(b+1).join("0");C<0?B="-"+S+B.slice(1):B=S+B}}p.push(B)}}else{p=[];for(let g=0;g{if(typeof e!="string")throw new TypeError("invalid pattern");if(e.length>65536)throw new TypeError("pattern is too long")},pL={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},oo=e=>e.replace(/[[\]\\-]/g,"\\$&"),gL=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),uI=e=>e.join(""),hL=(e,t)=>{let s=t;if(e.charAt(s)!=="[")throw new Error("not in a brace expression");let r=[],i=[],o=s+1,n=!1,a=!1,A=!1,c=!1,u=s,l="";e:for(;ol?r.push(oo(l)+"-"+oo(h)):h===l&&r.push(oo(h)),l="",o++;continue}if(e.startsWith("-]",o+1)){r.push(oo(h+"-")),o+=2;continue}if(e.startsWith("-",o+1)){l=h,o+=2;continue}r.push(oo(h)),o++}if(us?t?e.replace(/\[([^\/\\])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1"):t?e.replace(/\[([^\/\\{}])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\{}])\]/g,"$1$2").replace(/\\([^\/{}])/g,"$1"),dL=new Set(["!","?","+","*","@"]),pI=e=>dL.has(e),EL="(?!(?:^|/)\\.\\.?(?:$|/))",Fa="(?!\\.)",mL=new Set(["[","."]),fL=new Set(["..","."]),QL=new Set("().*{}+?[]^$\\!"),BL=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),rp="[^/]",gI=rp+"*?",hI=rp+"+?",_I=class He{type;#e;#t;#i=!1;#s=[];#r;#A;#a;#c=!1;#l;#g;#h=!1;constructor(t,s,r={}){this.type=t,t&&(this.#t=!0),this.#r=s,this.#e=this.#r?this.#r.#e:this,this.#l=this.#e===this?r:this.#e.#l,this.#a=this.#e===this?[]:this.#e.#a,t==="!"&&!this.#e.#c&&this.#a.push(this),this.#A=this.#r?this.#r.#s.length:0}get hasMagic(){if(this.#t!==void 0)return this.#t;for(let t of this.#s)if(typeof t!="string"&&(t.type||t.hasMagic))return this.#t=!0;return this.#t}toString(){return this.#g!==void 0?this.#g:this.type?this.#g=this.type+"("+this.#s.map(t=>String(t)).join("|")+")":this.#g=this.#s.map(t=>String(t)).join("")}#u(){if(this!==this.#e)throw new Error("should only call on root");if(this.#c)return this;this.toString(),this.#c=!0;let t;for(;t=this.#a.pop();){if(t.type!=="!")continue;let s=t,r=s.#r;for(;r;){for(let i=s.#A+1;!r.type&&itypeof s=="string"?s:s.toJSON()):[this.type,...this.#s.map(s=>s.toJSON())];return this.isStart()&&!this.type&&t.unshift([]),this.isEnd()&&(this===this.#e||this.#e.#c&&this.#r?.type==="!")&&t.push({}),t}isStart(){if(this.#e===this)return!0;if(!this.#r?.isStart())return!1;if(this.#A===0)return!0;let t=this.#r;for(let s=0;stypeof p!="string"),c=this.#s.map(p=>{let[g,h,E,f]=typeof p=="string"?He.#C(p,this.#t,A):p.toRegExpSource(t);return this.#t=this.#t||E,this.#i=this.#i||f,g}).join(""),u="";if(this.isStart()&&typeof this.#s[0]=="string"&&!(this.#s.length===1&&fL.has(this.#s[0]))){let p=mL,g=s&&p.has(c.charAt(0))||c.startsWith("\\.")&&p.has(c.charAt(2))||c.startsWith("\\.\\.")&&p.has(c.charAt(4)),h=!s&&!t&&p.has(c.charAt(0));u=g?EL:h?Fa:""}let l="";return this.isEnd()&&this.#e.#c&&this.#r?.type==="!"&&(l="(?:$|\\/)"),[u+c+l,Xr(c),this.#t=!!this.#t,this.#i]}let r=this.type==="*"||this.type==="+",i=this.type==="!"?"(?:(?!(?:":"(?:",o=this.#d(s);if(this.isStart()&&this.isEnd()&&!o&&this.type!=="!"){let A=this.toString();return this.#s=[A],this.type=null,this.#t=void 0,[A,Xr(this.toString()),!1,!1]}let n=!r||t||s||!Fa?"":this.#d(!0);n===o&&(n=""),n&&(o=`(?:${o})(?:${n})*?`);let a="";if(this.type==="!"&&this.#h)a=(this.isStart()&&!s?Fa:"")+hI;else{let A=this.type==="!"?"))"+(this.isStart()&&!s&&!t?Fa:"")+gI+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&n?")":this.type==="*"&&n?")?":`)${this.type}`;a=i+o+A}return[a,Xr(o),this.#t=!!this.#t,this.#i]}#d(t){return this.#s.map(s=>{if(typeof s=="string")throw new Error("string type in extglob ast??");let[r,i,o,n]=s.toRegExpSource(t);return this.#i=this.#i||n,r}).filter(s=>!(this.isStart()&&this.isEnd())||!!s).join("|")}static#C(t,s,r=!1){let i=!1,o="",n=!1,a=!1;for(let A=0;As?t?e.replace(/[?*()[\]{}]/g,"[$&]"):e.replace(/[?*()[\]\\{}]/g,"\\$&"):t?e.replace(/[?*()[\]]/g,"[$&]"):e.replace(/[?*()[\]\\]/g,"\\$&"),ye=(e,t,s={})=>(Ja(t),!s.nocomment&&t.charAt(0)==="#"?!1:new fs(t,s).match(e)),CL=/^\*+([^+@!?\*\[\(]*)$/,IL=e=>t=>!t.startsWith(".")&&t.endsWith(e),wL=e=>t=>t.endsWith(e),bL=e=>(e=e.toLowerCase(),t=>!t.startsWith(".")&&t.toLowerCase().endsWith(e)),yL=e=>(e=e.toLowerCase(),t=>t.toLowerCase().endsWith(e)),xL=/^\*+\.\*+$/,vL=e=>!e.startsWith(".")&&e.includes("."),kL=e=>e!=="."&&e!==".."&&e.includes("."),DL=/^\.\*+$/,RL=e=>e!=="."&&e!==".."&&e.startsWith("."),TL=/^\*+$/,FL=e=>e.length!==0&&!e.startsWith("."),SL=e=>e.length!==0&&e!=="."&&e!=="..",UL=/^\?+([^+@!?\*\[\(]*)?$/,NL=([e,t=""])=>{let s=OI([e]);return t?(t=t.toLowerCase(),r=>s(r)&&r.toLowerCase().endsWith(t)):s},GL=([e,t=""])=>{let s=JI([e]);return t?(t=t.toLowerCase(),r=>s(r)&&r.toLowerCase().endsWith(t)):s},ML=([e,t=""])=>{let s=JI([e]);return t?r=>s(r)&&r.endsWith(t):s},LL=([e,t=""])=>{let s=OI([e]);return t?r=>s(r)&&r.endsWith(t):s},OI=([e])=>{let t=e.length;return s=>s.length===t&&!s.startsWith(".")},JI=([e])=>{let t=e.length;return s=>s.length===t&&s!=="."&&s!==".."},PI=typeof process=="object"&&process?typeof process.env=="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",dI={win32:{sep:"\\"},posix:{sep:"/"}},_L=PI==="win32"?dI.win32.sep:dI.posix.sep;ye.sep=_L;var be=Symbol("globstar **");ye.GLOBSTAR=be;var YL="[^/]",OL=YL+"*?",JL="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",PL="(?:(?!(?:\\/|^)\\.).)*?",HL=(e,t={})=>s=>ye(s,e,t);ye.filter=HL;var $e=(e,t={})=>Object.assign({},e,t),VL=e=>{if(!e||typeof e!="object"||!Object.keys(e).length)return ye;let t=ye;return Object.assign((s,r,i={})=>t(s,r,$e(e,i)),{Minimatch:class extends t.Minimatch{constructor(s,r={}){super(s,$e(e,r))}static defaults(s){return t.defaults($e(e,s)).Minimatch}},AST:class extends t.AST{constructor(s,r,i={}){super(s,r,$e(e,i))}static fromGlob(s,r={}){return t.AST.fromGlob(s,$e(e,r))}},unescape:(s,r={})=>t.unescape(s,$e(e,r)),escape:(s,r={})=>t.escape(s,$e(e,r)),filter:(s,r={})=>t.filter(s,$e(e,r)),defaults:s=>t.defaults($e(e,s)),makeRe:(s,r={})=>t.makeRe(s,$e(e,r)),braceExpand:(s,r={})=>t.braceExpand(s,$e(e,r)),match:(s,r,i={})=>t.match(s,r,$e(e,i)),sep:t.sep,GLOBSTAR:be})};ye.defaults=VL;var HI=(e,t={})=>(Ja(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:aL(e,{max:t.braceExpandMax}));ye.braceExpand=HI;var qL=(e,t={})=>new fs(e,t).makeRe();ye.makeRe=qL;var WL=(e,t,s={})=>{let r=new fs(t,s);return e=e.filter(i=>r.match(i)),r.options.nonull&&!e.length&&e.push(t),e};ye.match=WL;var EI=/[?*]|[+@!]\(.*?\)|\[|\]/,jL=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),fs=class{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(e,t={}){Ja(e),t=t||{},this.options=t,this.pattern=e,this.platform=t.platform||PI,this.isWindows=this.platform==="win32";let s="allowWindowsEscape";this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||t[s]===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!t.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!t.nonegate,this.comment=!1,this.empty=!1,this.partial=!!t.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=t.windowsNoMagicRoot!==void 0?t.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let e of this.set)for(let t of e)if(typeof t!="string")return!0;return!1}debug(...e){}make(){let e=this.pattern,t=this.options;if(!t.nocomment&&e.charAt(0)==="#"){this.comment=!0;return}if(!e){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],t.debug&&(this.debug=(...i)=>console.error(...i)),this.debug(this.pattern,this.globSet);let s=this.globSet.map(i=>this.slashSplit(i));this.globParts=this.preprocess(s),this.debug(this.pattern,this.globParts);let r=this.globParts.map((i,o,n)=>{if(this.isWindows&&this.windowsNoMagicRoot){let a=i[0]===""&&i[1]===""&&(i[2]==="?"||!EI.test(i[2]))&&!EI.test(i[3]),A=/^[a-z]:/i.test(i[0]);if(a)return[...i.slice(0,4),...i.slice(4).map(c=>this.parse(c))];if(A)return[i[0],...i.slice(1).map(c=>this.parse(c))]}return i.map(a=>this.parse(a))});if(this.debug(this.pattern,r),this.set=r.filter(i=>i.indexOf(!1)===-1),this.isWindows)for(let i=0;i=2?(e=this.firstPhasePreProcess(e),e=this.secondPhasePreProcess(e)):t>=1?e=this.levelOneOptimize(e):e=this.adjascentGlobstarOptimize(e),e}adjascentGlobstarOptimize(e){return e.map(t=>{let s=-1;for(;(s=t.indexOf("**",s+1))!==-1;){let r=s;for(;t[r+1]==="**";)r++;r!==s&&t.splice(s,r-s)}return t})}levelOneOptimize(e){return e.map(t=>(t=t.reduce((s,r)=>{let i=s[s.length-1];return r==="**"&&i==="**"?s:r===".."&&i&&i!==".."&&i!=="."&&i!=="**"?(s.pop(),s):(s.push(r),s)},[]),t.length===0?[""]:t))}levelTwoFileOptimize(e){Array.isArray(e)||(e=this.slashSplit(e));let t=!1;do{if(t=!1,!this.preserveMultipleSlashes){for(let r=1;rr&&s.splice(r+1,o-r);let n=s[r+1],a=s[r+2],A=s[r+3];if(n!==".."||!a||a==="."||a===".."||!A||A==="."||A==="..")continue;t=!0,s.splice(r,1);let c=s.slice(0);c[r]="**",e.push(c),r--}if(!this.preserveMultipleSlashes){for(let o=1;ot.length)}partsMatch(e,t,s=!1){let r=0,i=0,o=[],n="";for(;rm?t=t.slice(C):m>C&&(e=e.slice(m)))}}let{optimizationLevel:i=1}=this.options;i>=2&&(e=this.levelTwoFileOptimize(e)),this.debug("matchOne",this,{file:e,pattern:t}),this.debug("matchOne",e.length,t.length);for(var o=0,n=0,a=e.length,A=t.length;o>> no match, partial?`,e,l,t,p),l===a))}let h;if(typeof c=="string"?(h=u===c,this.debug("string match",c,u,h)):(h=c.test(u),this.debug("pattern match",c,u,h)),!h)return!1}if(o===a&&n===A)return!0;if(o===a)return s;if(n===A)return o===a-1&&e[o]==="";throw new Error("wtf?")}braceExpand(){return HI(this.pattern,this.options)}parse(e){Ja(e);let t=this.options;if(e==="**")return be;if(e==="")return"";let s,r=null;(s=e.match(TL))?r=t.dot?SL:FL:(s=e.match(CL))?r=(t.nocase?t.dot?yL:bL:t.dot?wL:IL)(s[1]):(s=e.match(UL))?r=(t.nocase?t.dot?GL:NL:t.dot?ML:LL)(s):(s=e.match(xL))?r=t.dot?kL:vL:(s=e.match(DL))&&(r=RL);let i=_I.fromGlob(e,this.options).toMMPattern();return r&&typeof i=="object"&&Reflect.defineProperty(i,"test",{value:r}),i}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let e=this.set;if(!e.length)return this.regexp=!1,this.regexp;let t=this.options,s=t.noglobstar?OL:t.dot?JL:PL,r=new Set(t.nocase?["i"]:[]),i=e.map(a=>{let A=a.map(u=>{if(u instanceof RegExp)for(let l of u.flags.split(""))r.add(l);return typeof u=="string"?jL(u):u===be?be:u._src});A.forEach((u,l)=>{let p=A[l+1],g=A[l-1];u!==be||g===be||(g===void 0?p!==void 0&&p!==be?A[l+1]="(?:\\/|"+s+"\\/)?"+p:A[l]=s:p===void 0?A[l-1]=g+"(?:\\/|\\/"+s+")?":p!==be&&(A[l-1]=g+"(?:\\/|\\/"+s+"\\/)"+p,A[l+1]=be))});let c=A.filter(u=>u!==be);if(this.partial&&c.length>=1){let u=[];for(let l=1;l<=c.length;l++)u.push(c.slice(0,l).join("/"));return"(?:"+u.join("|")+")"}return c.join("/")}).join("|"),[o,n]=e.length>1?["(?:",")"]:["",""];i="^"+o+i+n+"$",this.partial&&(i="^(?:\\/|"+o+i.slice(1,-1)+n+")$"),this.negate&&(i="^(?!"+i+").+$");try{this.regexp=new RegExp(i,[...r].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(e){return this.preserveMultipleSlashes?e.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(e)?["",...e.split(/\/+/)]:e.split(/\/+/)}match(e,t=this.partial){if(this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&t)return!0;let s=this.options;this.isWindows&&(e=e.split("\\").join("/"));let r=this.slashSplit(e);this.debug(this.pattern,"split",r);let i=this.set;this.debug(this.pattern,"set",i);let o=r[r.length-1];if(!o)for(let n=r.length-2;!o&&n>=0;n--)o=r[n];for(let n=0;n{typeof tp.emitWarning=="function"?tp.emitWarning(e,t,s,r):console.error(`[${s}] ${t}: ${e}`)},Pa=globalThis.AbortController,mI=globalThis.AbortSignal;if(typeof Pa>"u"){mI=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(s,r){this._onabort.push(r)}},Pa=class{constructor(){t()}signal=new mI;abort(s){if(!this.signal.aborted){this.signal.reason=s,this.signal.aborted=!0;for(let r of this.signal._onabort)r(s);this.signal.onabort?.(s)}}};let e=tp.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",t=()=>{e&&(e=!1,WI("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",t))}}var ZL=e=>!qI.has(e),ms=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e),jI=e=>ms(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?Ya:null:null,Ya=class extends Array{constructor(e){super(e),this.fill(0)}},KL=class po{heap;length;static#e=!1;static create(t){let s=jI(t);if(!s)return[];po.#e=!0;let r=new po(t,s);return po.#e=!1,r}constructor(t,s){if(!po.#e)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new s(t),this.length=0}push(t){this.heap[this.length++]=t}pop(){return this.heap[--this.length]}},Va=class zI{#e;#t;#i;#s;#r;#A;#a;#c;get perf(){return this.#c}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#l;#g;#h;#u;#n;#d;#C;#B;#E;#k;#m;#b;#y;#f;#Q;#I;#x;#o;#U;static unsafeExposeInternals(t){return{starts:t.#y,ttls:t.#f,autopurgeTimers:t.#Q,sizes:t.#b,keyMap:t.#h,keyList:t.#u,valList:t.#n,next:t.#d,prev:t.#C,get head(){return t.#B},get tail(){return t.#E},free:t.#k,isBackgroundFetch:s=>t.#p(s),backgroundFetch:(s,r,i,o)=>t.#J(s,r,i,o),moveToTail:s=>t.#G(s),indexes:s=>t.#R(s),rindexes:s=>t.#T(s),isStale:s=>t.#w(s)}}get max(){return this.#e}get maxSize(){return this.#t}get calculatedSize(){return this.#g}get size(){return this.#l}get fetchMethod(){return this.#A}get memoMethod(){return this.#a}get dispose(){return this.#i}get onInsert(){return this.#s}get disposeAfter(){return this.#r}constructor(t){let{max:s=0,ttl:r,ttlResolution:i=1,ttlAutopurge:o,updateAgeOnGet:n,updateAgeOnHas:a,allowStale:A,dispose:c,onInsert:u,disposeAfter:l,noDisposeOnSet:p,noUpdateTTL:g,maxSize:h=0,maxEntrySize:E=0,sizeCalculation:f,fetchMethod:d,memoMethod:m,noDeleteOnFetchRejection:C,noDeleteOnStaleGet:B,allowStaleOnFetchRejection:b,allowStaleOnFetchAbort:S,ignoreFetchAbort:G,perf:pe}=t;if(pe!==void 0&&typeof pe?.now!="function")throw new TypeError("perf option must have a now() method if specified");if(this.#c=pe??zL,s!==0&&!ms(s))throw new TypeError("max option must be a nonnegative integer");let he=s?jI(s):Array;if(!he)throw new Error("invalid max value: "+s);if(this.#e=s,this.#t=h,this.maxEntrySize=E||this.#t,this.sizeCalculation=f,this.sizeCalculation){if(!this.#t&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(m!==void 0&&typeof m!="function")throw new TypeError("memoMethod must be a function if defined");if(this.#a=m,d!==void 0&&typeof d!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.#A=d,this.#x=!!d,this.#h=new Map,this.#u=new Array(s).fill(void 0),this.#n=new Array(s).fill(void 0),this.#d=new he(s),this.#C=new he(s),this.#B=0,this.#E=0,this.#k=KL.create(s),this.#l=0,this.#g=0,typeof c=="function"&&(this.#i=c),typeof u=="function"&&(this.#s=u),typeof l=="function"?(this.#r=l,this.#m=[]):(this.#r=void 0,this.#m=void 0),this.#I=!!this.#i,this.#U=!!this.#s,this.#o=!!this.#r,this.noDisposeOnSet=!!p,this.noUpdateTTL=!!g,this.noDeleteOnFetchRejection=!!C,this.allowStaleOnFetchRejection=!!b,this.allowStaleOnFetchAbort=!!S,this.ignoreFetchAbort=!!G,this.maxEntrySize!==0){if(this.#t!==0&&!ms(this.#t))throw new TypeError("maxSize must be a positive integer if specified");if(!ms(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#H()}if(this.allowStale=!!A,this.noDeleteOnStaleGet=!!B,this.updateAgeOnGet=!!n,this.updateAgeOnHas=!!a,this.ttlResolution=ms(i)||i===0?i:1,this.ttlAutopurge=!!o,this.ttl=r||0,this.ttl){if(!ms(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#F()}if(this.#e===0&&this.ttl===0&&this.#t===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#e&&!this.#t){let ht="LRU_CACHE_UNBOUNDED";ZL(ht)&&(qI.add(ht),WI("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",ht,zI))}}getRemainingTTL(t){return this.#h.has(t)?1/0:0}#F(){let t=new Ya(this.#e),s=new Ya(this.#e);this.#f=t,this.#y=s;let r=this.ttlAutopurge?new Array(this.#e):void 0;this.#Q=r,this.#L=(n,a,A=this.#c.now())=>{if(s[n]=a!==0?A:0,t[n]=a,r?.[n]&&(clearTimeout(r[n]),r[n]=void 0),a!==0&&r){let c=setTimeout(()=>{this.#w(n)&&this.#D(this.#u[n],"expire")},a+1);c.unref&&c.unref(),r[n]=c}},this.#v=n=>{s[n]=t[n]!==0?this.#c.now():0},this.#S=(n,a)=>{if(t[a]){let A=t[a],c=s[a];if(!A||!c)return;n.ttl=A,n.start=c,n.now=i||o();let u=n.now-c;n.remainingTTL=A-u}};let i=0,o=()=>{let n=this.#c.now();if(this.ttlResolution>0){i=n;let a=setTimeout(()=>i=0,this.ttlResolution);a.unref&&a.unref()}return n};this.getRemainingTTL=n=>{let a=this.#h.get(n);if(a===void 0)return 0;let A=t[a],c=s[a];if(!A||!c)return 1/0;let u=(i||o())-c;return A-u},this.#w=n=>{let a=s[n],A=t[n];return!!A&&!!a&&(i||o())-a>A}}#v=()=>{};#S=()=>{};#L=()=>{};#w=()=>!1;#H(){let t=new Ya(this.#e);this.#g=0,this.#b=t,this.#M=s=>{this.#g-=t[s],t[s]=0},this.#_=(s,r,i,o)=>{if(this.#p(r))return 0;if(!ms(i))if(o){if(typeof o!="function")throw new TypeError("sizeCalculation must be a function");if(i=o(r,s),!ms(i))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return i},this.#N=(s,r,i)=>{if(t[s]=r,this.#t){let o=this.#t-t[s];for(;this.#g>o;)this.#O(!0)}this.#g+=t[s],i&&(i.entrySize=r,i.totalCalculatedSize=this.#g)}}#M=t=>{};#N=(t,s,r)=>{};#_=(t,s,r,i)=>{if(r||i)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#R({allowStale:t=this.allowStale}={}){if(this.#l)for(let s=this.#E;!(!this.#Y(s)||((t||!this.#w(s))&&(yield s),s===this.#B));)s=this.#C[s]}*#T({allowStale:t=this.allowStale}={}){if(this.#l)for(let s=this.#B;!(!this.#Y(s)||((t||!this.#w(s))&&(yield s),s===this.#E));)s=this.#d[s]}#Y(t){return t!==void 0&&this.#h.get(this.#u[t])===t}*entries(){for(let t of this.#R())this.#n[t]!==void 0&&this.#u[t]!==void 0&&!this.#p(this.#n[t])&&(yield[this.#u[t],this.#n[t]])}*rentries(){for(let t of this.#T())this.#n[t]!==void 0&&this.#u[t]!==void 0&&!this.#p(this.#n[t])&&(yield[this.#u[t],this.#n[t]])}*keys(){for(let t of this.#R()){let s=this.#u[t];s!==void 0&&!this.#p(this.#n[t])&&(yield s)}}*rkeys(){for(let t of this.#T()){let s=this.#u[t];s!==void 0&&!this.#p(this.#n[t])&&(yield s)}}*values(){for(let t of this.#R())this.#n[t]!==void 0&&!this.#p(this.#n[t])&&(yield this.#n[t])}*rvalues(){for(let t of this.#T())this.#n[t]!==void 0&&!this.#p(this.#n[t])&&(yield this.#n[t])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(t,s={}){for(let r of this.#R()){let i=this.#n[r],o=this.#p(i)?i.__staleWhileFetching:i;if(o!==void 0&&t(o,this.#u[r],this))return this.get(this.#u[r],s)}}forEach(t,s=this){for(let r of this.#R()){let i=this.#n[r],o=this.#p(i)?i.__staleWhileFetching:i;o!==void 0&&t.call(s,o,this.#u[r],this)}}rforEach(t,s=this){for(let r of this.#T()){let i=this.#n[r],o=this.#p(i)?i.__staleWhileFetching:i;o!==void 0&&t.call(s,o,this.#u[r],this)}}purgeStale(){let t=!1;for(let s of this.#T({allowStale:!0}))this.#w(s)&&(this.#D(this.#u[s],"expire"),t=!0);return t}info(t){let s=this.#h.get(t);if(s===void 0)return;let r=this.#n[s],i=this.#p(r)?r.__staleWhileFetching:r;if(i===void 0)return;let o={value:i};if(this.#f&&this.#y){let n=this.#f[s],a=this.#y[s];if(n&&a){let A=n-(this.#c.now()-a);o.ttl=A,o.start=Date.now()}}return this.#b&&(o.size=this.#b[s]),o}dump(){let t=[];for(let s of this.#R({allowStale:!0})){let r=this.#u[s],i=this.#n[s],o=this.#p(i)?i.__staleWhileFetching:i;if(o===void 0||r===void 0)continue;let n={value:o};if(this.#f&&this.#y){n.ttl=this.#f[s];let a=this.#c.now()-this.#y[s];n.start=Math.floor(Date.now()-a)}this.#b&&(n.size=this.#b[s]),t.unshift([r,n])}return t}load(t){this.clear();for(let[s,r]of t){if(r.start){let i=Date.now()-r.start;r.start=this.#c.now()-i}this.set(s,r.value,r)}}set(t,s,r={}){if(s===void 0)return this.delete(t),this;let{ttl:i=this.ttl,start:o,noDisposeOnSet:n=this.noDisposeOnSet,sizeCalculation:a=this.sizeCalculation,status:A}=r,{noUpdateTTL:c=this.noUpdateTTL}=r,u=this.#_(t,s,r.size||0,a);if(this.maxEntrySize&&u>this.maxEntrySize)return A&&(A.set="miss",A.maxEntrySizeExceeded=!0),this.#D(t,"set"),this;let l=this.#l===0?void 0:this.#h.get(t);if(l===void 0)l=this.#l===0?this.#E:this.#k.length!==0?this.#k.pop():this.#l===this.#e?this.#O(!1):this.#l,this.#u[l]=t,this.#n[l]=s,this.#h.set(t,l),this.#d[this.#E]=l,this.#C[l]=this.#E,this.#E=l,this.#l++,this.#N(l,u,A),A&&(A.set="add"),c=!1,this.#U&&this.#s?.(s,t,"add");else{this.#G(l);let p=this.#n[l];if(s!==p){if(this.#x&&this.#p(p)){p.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:g}=p;g!==void 0&&!n&&(this.#I&&this.#i?.(g,t,"set"),this.#o&&this.#m?.push([g,t,"set"]))}else n||(this.#I&&this.#i?.(p,t,"set"),this.#o&&this.#m?.push([p,t,"set"]));if(this.#M(l),this.#N(l,u,A),this.#n[l]=s,A){A.set="replace";let g=p&&this.#p(p)?p.__staleWhileFetching:p;g!==void 0&&(A.oldValue=g)}}else A&&(A.set="update");this.#U&&this.onInsert?.(s,t,s===p?"update":"replace")}if(i!==0&&!this.#f&&this.#F(),this.#f&&(c||this.#L(l,i,o),A&&this.#S(A,l)),!n&&this.#o&&this.#m){let p=this.#m,g;for(;g=p?.shift();)this.#r?.(...g)}return this}pop(){try{for(;this.#l;){let t=this.#n[this.#B];if(this.#O(!0),this.#p(t)){if(t.__staleWhileFetching)return t.__staleWhileFetching}else if(t!==void 0)return t}}finally{if(this.#o&&this.#m){let t=this.#m,s;for(;s=t?.shift();)this.#r?.(...s)}}}#O(t){let s=this.#B,r=this.#u[s],i=this.#n[s];return this.#x&&this.#p(i)?i.__abortController.abort(new Error("evicted")):(this.#I||this.#o)&&(this.#I&&this.#i?.(i,r,"evict"),this.#o&&this.#m?.push([i,r,"evict"])),this.#M(s),this.#Q?.[s]&&(clearTimeout(this.#Q[s]),this.#Q[s]=void 0),t&&(this.#u[s]=void 0,this.#n[s]=void 0,this.#k.push(s)),this.#l===1?(this.#B=this.#E=0,this.#k.length=0):this.#B=this.#d[s],this.#h.delete(r),this.#l--,s}has(t,s={}){let{updateAgeOnHas:r=this.updateAgeOnHas,status:i}=s,o=this.#h.get(t);if(o!==void 0){let n=this.#n[o];if(this.#p(n)&&n.__staleWhileFetching===void 0)return!1;if(this.#w(o))i&&(i.has="stale",this.#S(i,o));else return r&&this.#v(o),i&&(i.has="hit",this.#S(i,o)),!0}else i&&(i.has="miss");return!1}peek(t,s={}){let{allowStale:r=this.allowStale}=s,i=this.#h.get(t);if(i===void 0||!r&&this.#w(i))return;let o=this.#n[i];return this.#p(o)?o.__staleWhileFetching:o}#J(t,s,r,i){let o=s===void 0?void 0:this.#n[s];if(this.#p(o))return o;let n=new Pa,{signal:a}=r;a?.addEventListener("abort",()=>n.abort(a.reason),{signal:n.signal});let A={signal:n.signal,options:r,context:i},c=(E,f=!1)=>{let{aborted:d}=n.signal,m=r.ignoreFetchAbort&&E!==void 0,C=r.ignoreFetchAbort||!!(r.allowStaleOnFetchAbort&&E!==void 0);if(r.status&&(d&&!f?(r.status.fetchAborted=!0,r.status.fetchError=n.signal.reason,m&&(r.status.fetchAbortIgnored=!0)):r.status.fetchResolved=!0),d&&!m&&!f)return l(n.signal.reason,C);let B=g,b=this.#n[s];return(b===g||m&&f&&b===void 0)&&(E===void 0?B.__staleWhileFetching!==void 0?this.#n[s]=B.__staleWhileFetching:this.#D(t,"fetch"):(r.status&&(r.status.fetchUpdated=!0),this.set(t,E,A.options))),E},u=E=>(r.status&&(r.status.fetchRejected=!0,r.status.fetchError=E),l(E,!1)),l=(E,f)=>{let{aborted:d}=n.signal,m=d&&r.allowStaleOnFetchAbort,C=m||r.allowStaleOnFetchRejection,B=C||r.noDeleteOnFetchRejection,b=g;if(this.#n[s]===g&&(!B||!f&&b.__staleWhileFetching===void 0?this.#D(t,"fetch"):m||(this.#n[s]=b.__staleWhileFetching)),C)return r.status&&b.__staleWhileFetching!==void 0&&(r.status.returnedStale=!0),b.__staleWhileFetching;if(b.__returned===b)throw E},p=(E,f)=>{let d=this.#A?.(t,o,A);d&&d instanceof Promise&&d.then(m=>E(m===void 0?void 0:m),f),n.signal.addEventListener("abort",()=>{(!r.ignoreFetchAbort||r.allowStaleOnFetchAbort)&&(E(void 0),r.allowStaleOnFetchAbort&&(E=m=>c(m,!0)))})};r.status&&(r.status.fetchDispatched=!0);let g=new Promise(p).then(c,u),h=Object.assign(g,{__abortController:n,__staleWhileFetching:o,__returned:void 0});return s===void 0?(this.set(t,h,{...A.options,status:void 0}),s=this.#h.get(t)):this.#n[s]=h,h}#p(t){if(!this.#x)return!1;let s=t;return!!s&&s instanceof Promise&&s.hasOwnProperty("__staleWhileFetching")&&s.__abortController instanceof Pa}async fetch(t,s={}){let{allowStale:r=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:o=this.noDeleteOnStaleGet,ttl:n=this.ttl,noDisposeOnSet:a=this.noDisposeOnSet,size:A=0,sizeCalculation:c=this.sizeCalculation,noUpdateTTL:u=this.noUpdateTTL,noDeleteOnFetchRejection:l=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:p=this.allowStaleOnFetchRejection,ignoreFetchAbort:g=this.ignoreFetchAbort,allowStaleOnFetchAbort:h=this.allowStaleOnFetchAbort,context:E,forceRefresh:f=!1,status:d,signal:m}=s;if(!this.#x)return d&&(d.fetch="get"),this.get(t,{allowStale:r,updateAgeOnGet:i,noDeleteOnStaleGet:o,status:d});let C={allowStale:r,updateAgeOnGet:i,noDeleteOnStaleGet:o,ttl:n,noDisposeOnSet:a,size:A,sizeCalculation:c,noUpdateTTL:u,noDeleteOnFetchRejection:l,allowStaleOnFetchRejection:p,allowStaleOnFetchAbort:h,ignoreFetchAbort:g,status:d,signal:m},B=this.#h.get(t);if(B===void 0){d&&(d.fetch="miss");let b=this.#J(t,B,C,E);return b.__returned=b}else{let b=this.#n[B];if(this.#p(b)){let he=r&&b.__staleWhileFetching!==void 0;return d&&(d.fetch="inflight",he&&(d.returnedStale=!0)),he?b.__staleWhileFetching:b.__returned=b}let S=this.#w(B);if(!f&&!S)return d&&(d.fetch="hit"),this.#G(B),i&&this.#v(B),d&&this.#S(d,B),b;let G=this.#J(t,B,C,E),pe=G.__staleWhileFetching!==void 0&&r;return d&&(d.fetch=S?"stale":"refresh",pe&&S&&(d.returnedStale=!0)),pe?G.__staleWhileFetching:G.__returned=G}}async forceFetch(t,s={}){let r=await this.fetch(t,s);if(r===void 0)throw new Error("fetch() returned undefined");return r}memo(t,s={}){let r=this.#a;if(!r)throw new Error("no memoMethod provided to constructor");let{context:i,forceRefresh:o,...n}=s,a=this.get(t,n);if(!o&&a!==void 0)return a;let A=r(t,a,{options:n,context:i});return this.set(t,A,n),A}get(t,s={}){let{allowStale:r=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:o=this.noDeleteOnStaleGet,status:n}=s,a=this.#h.get(t);if(a!==void 0){let A=this.#n[a],c=this.#p(A);return n&&this.#S(n,a),this.#w(a)?(n&&(n.get="stale"),c?(n&&r&&A.__staleWhileFetching!==void 0&&(n.returnedStale=!0),r?A.__staleWhileFetching:void 0):(o||this.#D(t,"expire"),n&&r&&(n.returnedStale=!0),r?A:void 0)):(n&&(n.get="hit"),c?A.__staleWhileFetching:(this.#G(a),i&&this.#v(a),A))}else n&&(n.get="miss")}#P(t,s){this.#C[s]=t,this.#d[t]=s}#G(t){t!==this.#E&&(t===this.#B?this.#B=this.#d[t]:this.#P(this.#C[t],this.#d[t]),this.#P(this.#E,t),this.#E=t)}delete(t){return this.#D(t,"delete")}#D(t,s){let r=!1;if(this.#l!==0){let i=this.#h.get(t);if(i!==void 0)if(this.#Q?.[i]&&(clearTimeout(this.#Q?.[i]),this.#Q[i]=void 0),r=!0,this.#l===1)this.#V(s);else{this.#M(i);let o=this.#n[i];if(this.#p(o)?o.__abortController.abort(new Error("deleted")):(this.#I||this.#o)&&(this.#I&&this.#i?.(o,t,s),this.#o&&this.#m?.push([o,t,s])),this.#h.delete(t),this.#u[i]=void 0,this.#n[i]=void 0,i===this.#E)this.#E=this.#C[i];else if(i===this.#B)this.#B=this.#d[i];else{let n=this.#C[i];this.#d[n]=this.#d[i];let a=this.#d[i];this.#C[a]=this.#C[i]}this.#l--,this.#k.push(i)}}if(this.#o&&this.#m?.length){let i=this.#m,o;for(;o=i?.shift();)this.#r?.(...o)}return r}clear(){return this.#V("delete")}#V(t){for(let s of this.#T({allowStale:!0})){let r=this.#n[s];if(this.#p(r))r.__abortController.abort(new Error("deleted"));else{let i=this.#u[s];this.#I&&this.#i?.(r,i,t),this.#o&&this.#m?.push([r,i,t])}}if(this.#h.clear(),this.#n.fill(void 0),this.#u.fill(void 0),this.#f&&this.#y){this.#f.fill(0),this.#y.fill(0);for(let s of this.#Q??[])s!==void 0&&clearTimeout(s);this.#Q?.fill(void 0)}if(this.#b&&this.#b.fill(0),this.#B=0,this.#E=0,this.#k.length=0,this.#g=0,this.#l=0,this.#o&&this.#m){let s=this.#m,r;for(;r=s?.shift();)this.#r?.(...r)}}},fI=typeof process=="object"&&process?process:{stdout:null,stderr:null},$L=e=>!!e&&typeof e=="object"&&(e instanceof Ha||e instanceof ip.default||e_(e)||t_(e)),e_=e=>!!e&&typeof e=="object"&&e instanceof qa.EventEmitter&&typeof e.pipe=="function"&&e.pipe!==ip.default.Writable.prototype.pipe,t_=e=>!!e&&typeof e=="object"&&e instanceof qa.EventEmitter&&typeof e.write=="function"&&typeof e.end=="function",Vt=Symbol("EOF"),qt=Symbol("maybeEmitEnd"),Es=Symbol("emittedEnd"),Sa=Symbol("emittingEnd"),no=Symbol("emittedError"),Ua=Symbol("closed"),QI=Symbol("read"),Na=Symbol("flush"),BI=Symbol("flushChunk"),pt=Symbol("encoding"),Zr=Symbol("decoder"),ce=Symbol("flowing"),ao=Symbol("paused"),Kr=Symbol("resume"),le=Symbol("buffer"),we=Symbol("pipes"),ue=Symbol("bufferLength"),ju=Symbol("bufferPush"),Ga=Symbol("bufferShift"),Qe=Symbol("objectMode"),se=Symbol("destroyed"),zu=Symbol("error"),Zu=Symbol("emitData"),CI=Symbol("emitEnd"),Ku=Symbol("emitEnd2"),vt=Symbol("async"),Xu=Symbol("abort"),Ma=Symbol("aborted"),Ao=Symbol("signal"),Ws=Symbol("dataListeners"),Pe=Symbol("discarded"),co=e=>Promise.resolve().then(e),s_=e=>e(),r_=e=>e==="end"||e==="finish"||e==="prefinish",i_=e=>e instanceof ArrayBuffer||!!e&&typeof e=="object"&&e.constructor&&e.constructor.name==="ArrayBuffer"&&e.byteLength>=0,o_=e=>!Buffer.isBuffer(e)&&ArrayBuffer.isView(e),XI=class{src;dest;opts;ondrain;constructor(e,t,s){this.src=e,this.dest=t,this.opts=s,this.ondrain=()=>e[Kr](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(e){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},n_=class extends XI{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,t,s){super(e,t,s),this.proxyErrors=r=>this.dest.emit("error",r),e.on("error",this.proxyErrors)}},a_=e=>!!e.objectMode,A_=e=>!e.objectMode&&!!e.encoding&&e.encoding!=="buffer",Ha=class extends qa.EventEmitter{[ce]=!1;[ao]=!1;[we]=[];[le]=[];[Qe];[pt];[vt];[Zr];[Vt]=!1;[Es]=!1;[Sa]=!1;[Ua]=!1;[no]=null;[ue]=0;[se]=!1;[Ao];[Ma]=!1;[Ws]=0;[Pe]=!1;writable=!0;readable=!0;constructor(...e){let t=e[0]||{};if(super(),t.objectMode&&typeof t.encoding=="string")throw new TypeError("Encoding and objectMode may not be used together");a_(t)?(this[Qe]=!0,this[pt]=null):A_(t)?(this[pt]=t.encoding,this[Qe]=!1):(this[Qe]=!1,this[pt]=null),this[vt]=!!t.async,this[Zr]=this[pt]?new KI.StringDecoder(this[pt]):null,t&&t.debugExposeBuffer===!0&&Object.defineProperty(this,"buffer",{get:()=>this[le]}),t&&t.debugExposePipes===!0&&Object.defineProperty(this,"pipes",{get:()=>this[we]});let{signal:s}=t;s&&(this[Ao]=s,s.aborted?this[Xu]():s.addEventListener("abort",()=>this[Xu]()))}get bufferLength(){return this[ue]}get encoding(){return this[pt]}set encoding(e){throw new Error("Encoding must be set at instantiation time")}setEncoding(e){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[Qe]}set objectMode(e){throw new Error("objectMode must be set at instantiation time")}get async(){return this[vt]}set async(e){this[vt]=this[vt]||!!e}[Xu](){this[Ma]=!0,this.emit("abort",this[Ao]?.reason),this.destroy(this[Ao]?.reason)}get aborted(){return this[Ma]}set aborted(e){}write(e,t,s){if(this[Ma])return!1;if(this[Vt])throw new Error("write after end");if(this[se])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof t=="function"&&(s=t,t="utf8"),t||(t="utf8");let r=this[vt]?co:s_;if(!this[Qe]&&!Buffer.isBuffer(e)){if(o_(e))e=Buffer.from(e.buffer,e.byteOffset,e.byteLength);else if(i_(e))e=Buffer.from(e);else if(typeof e!="string")throw new Error("Non-contiguous data written to non-objectMode stream")}return this[Qe]?(this[ce]&&this[ue]!==0&&this[Na](!0),this[ce]?this.emit("data",e):this[ju](e),this[ue]!==0&&this.emit("readable"),s&&r(s),this[ce]):e.length?(typeof e=="string"&&!(t===this[pt]&&!this[Zr]?.lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[pt]&&(e=this[Zr].write(e)),this[ce]&&this[ue]!==0&&this[Na](!0),this[ce]?this.emit("data",e):this[ju](e),this[ue]!==0&&this.emit("readable"),s&&r(s),this[ce]):(this[ue]!==0&&this.emit("readable"),s&&r(s),this[ce])}read(e){if(this[se])return null;if(this[Pe]=!1,this[ue]===0||e===0||e&&e>this[ue])return this[qt](),null;this[Qe]&&(e=null),this[le].length>1&&!this[Qe]&&(this[le]=[this[pt]?this[le].join(""):Buffer.concat(this[le],this[ue])]);let t=this[QI](e||null,this[le][0]);return this[qt](),t}[QI](e,t){if(this[Qe])this[Ga]();else{let s=t;e===s.length||e===null?this[Ga]():typeof s=="string"?(this[le][0]=s.slice(e),t=s.slice(0,e),this[ue]-=e):(this[le][0]=s.subarray(e),t=s.subarray(0,e),this[ue]-=e)}return this.emit("data",t),!this[le].length&&!this[Vt]&&this.emit("drain"),t}end(e,t,s){return typeof e=="function"&&(s=e,e=void 0),typeof t=="function"&&(s=t,t="utf8"),e!==void 0&&this.write(e,t),s&&this.once("end",s),this[Vt]=!0,this.writable=!1,(this[ce]||!this[ao])&&this[qt](),this}[Kr](){this[se]||(!this[Ws]&&!this[we].length&&(this[Pe]=!0),this[ao]=!1,this[ce]=!0,this.emit("resume"),this[le].length?this[Na]():this[Vt]?this[qt]():this.emit("drain"))}resume(){return this[Kr]()}pause(){this[ce]=!1,this[ao]=!0,this[Pe]=!1}get destroyed(){return this[se]}get flowing(){return this[ce]}get paused(){return this[ao]}[ju](e){this[Qe]?this[ue]+=1:this[ue]+=e.length,this[le].push(e)}[Ga](){return this[Qe]?this[ue]-=1:this[ue]-=this[le][0].length,this[le].shift()}[Na](e=!1){do;while(this[BI](this[Ga]())&&this[le].length);!e&&!this[le].length&&!this[Vt]&&this.emit("drain")}[BI](e){return this.emit("data",e),this[ce]}pipe(e,t){if(this[se])return e;this[Pe]=!1;let s=this[Es];return t=t||{},e===fI.stdout||e===fI.stderr?t.end=!1:t.end=t.end!==!1,t.proxyErrors=!!t.proxyErrors,s?t.end&&e.end():(this[we].push(t.proxyErrors?new n_(this,e,t):new XI(this,e,t)),this[vt]?co(()=>this[Kr]()):this[Kr]()),e}unpipe(e){let t=this[we].find(s=>s.dest===e);t&&(this[we].length===1?(this[ce]&&this[Ws]===0&&(this[ce]=!1),this[we]=[]):this[we].splice(this[we].indexOf(t),1),t.unpipe())}addListener(e,t){return this.on(e,t)}on(e,t){let s=super.on(e,t);if(e==="data")this[Pe]=!1,this[Ws]++,!this[we].length&&!this[ce]&&this[Kr]();else if(e==="readable"&&this[ue]!==0)super.emit("readable");else if(r_(e)&&this[Es])super.emit(e),this.removeAllListeners(e);else if(e==="error"&&this[no]){let r=t;this[vt]?co(()=>r.call(this,this[no])):r.call(this,this[no])}return s}removeListener(e,t){return this.off(e,t)}off(e,t){let s=super.off(e,t);return e==="data"&&(this[Ws]=this.listeners("data").length,this[Ws]===0&&!this[Pe]&&!this[we].length&&(this[ce]=!1)),s}removeAllListeners(e){let t=super.removeAllListeners(e);return(e==="data"||e===void 0)&&(this[Ws]=0,!this[Pe]&&!this[we].length&&(this[ce]=!1)),t}get emittedEnd(){return this[Es]}[qt](){!this[Sa]&&!this[Es]&&!this[se]&&this[le].length===0&&this[Vt]&&(this[Sa]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[Ua]&&this.emit("close"),this[Sa]=!1)}emit(e,...t){let s=t[0];if(e!=="error"&&e!=="close"&&e!==se&&this[se])return!1;if(e==="data")return!this[Qe]&&!s?!1:this[vt]?(co(()=>this[Zu](s)),!0):this[Zu](s);if(e==="end")return this[CI]();if(e==="close"){if(this[Ua]=!0,!this[Es]&&!this[se])return!1;let i=super.emit("close");return this.removeAllListeners("close"),i}else if(e==="error"){this[no]=s,super.emit(zu,s);let i=!this[Ao]||this.listeners("error").length?super.emit("error",s):!1;return this[qt](),i}else if(e==="resume"){let i=super.emit("resume");return this[qt](),i}else if(e==="finish"||e==="prefinish"){let i=super.emit(e);return this.removeAllListeners(e),i}let r=super.emit(e,...t);return this[qt](),r}[Zu](e){for(let s of this[we])s.dest.write(e)===!1&&this.pause();let t=this[Pe]?!1:super.emit("data",e);return this[qt](),t}[CI](){return this[Es]?!1:(this[Es]=!0,this.readable=!1,this[vt]?(co(()=>this[Ku]()),!0):this[Ku]())}[Ku](){if(this[Zr]){let t=this[Zr].end();if(t){for(let s of this[we])s.dest.write(t);this[Pe]||super.emit("data",t)}}for(let t of this[we])t.end();let e=super.emit("end");return this.removeAllListeners("end"),e}async collect(){let e=Object.assign([],{dataLength:0});this[Qe]||(e.dataLength=0);let t=this.promise();return this.on("data",s=>{e.push(s),this[Qe]||(e.dataLength+=s.length)}),await t,e}async concat(){if(this[Qe])throw new Error("cannot concat in objectMode");let e=await this.collect();return this[pt]?e.join(""):Buffer.concat(e,e.dataLength)}async promise(){return new Promise((e,t)=>{this.on(se,()=>t(new Error("stream destroyed"))),this.on("error",s=>t(s)),this.on("end",()=>e())})}[Symbol.asyncIterator](){this[Pe]=!1;let e=!1,t=async()=>(this.pause(),e=!0,{value:void 0,done:!0});return{next:()=>{if(e)return t();let s=this.read();if(s!==null)return Promise.resolve({done:!1,value:s});if(this[Vt])return t();let r,i,o=c=>{this.off("data",n),this.off("end",a),this.off(se,A),t(),i(c)},n=c=>{this.off("error",o),this.off("end",a),this.off(se,A),this.pause(),r({value:c,done:!!this[Vt]})},a=()=>{this.off("error",o),this.off("data",n),this.off(se,A),t(),r({done:!0,value:void 0})},A=()=>o(new Error("stream destroyed"));return new Promise((c,u)=>{i=u,r=c,this.once(se,A),this.once("error",o),this.once("end",a),this.once("data",n)})},throw:t,return:t,[Symbol.asyncIterator](){return this},[Symbol.asyncDispose]:async()=>{}}}[Symbol.iterator](){this[Pe]=!1;let e=!1,t=()=>(this.pause(),this.off(zu,t),this.off(se,t),this.off("end",t),e=!0,{done:!0,value:void 0}),s=()=>{if(e)return t();let r=this.read();return r===null?t():{done:!1,value:r}};return this.once("end",t),this.once(zu,t),this.once(se,t),{next:s,throw:t,return:t,[Symbol.iterator](){return this},[Symbol.dispose]:()=>{}}}destroy(e){if(this[se])return e?this.emit("error",e):this.emit(se),this;this[se]=!0,this[Pe]=!0,this[le].length=0,this[ue]=0;let t=this;return typeof t.close=="function"&&!this[Ua]&&t.close(),e?this.emit("error",e):this.emit(se),this}static get isStream(){return $L}},c_=Dt.realpathSync.native,go={lstatSync:Dt.lstatSync,readdir:Dt.readdir,readdirSync:Dt.readdirSync,readlinkSync:Dt.readlinkSync,realpathSync:c_,promises:{lstat:Qs.lstat,readdir:Qs.readdir,readlink:Qs.readlink,realpath:Qs.realpath}},$I=e=>!e||e===go||e===XL?go:{...go,...e,promises:{...go.promises,...e.promises||{}}},ew=/^\\\\\?\\([a-z]:)\\?$/i,l_=e=>e.replace(/\//g,"\\").replace(ew,"$1\\"),u_=/[\\\/]/,tt=0,tw=1,sw=2,kt=4,rw=6,iw=8,js=10,ow=12,et=15,lo=~et,$u=16,II=32,ho=64,gt=128,La=256,Oa=512,wI=ho|gt|Oa,p_=1023,ep=e=>e.isFile()?iw:e.isDirectory()?kt:e.isSymbolicLink()?js:e.isCharacterDevice()?sw:e.isBlockDevice()?rw:e.isSocket()?ow:e.isFIFO()?tw:tt,bI=new Va({max:2**12}),Eo=e=>{let t=bI.get(e);if(t)return t;let s=e.normalize("NFKD");return bI.set(e,s),s},yI=new Va({max:2**12}),_a=e=>{let t=yI.get(e);if(t)return t;let s=Eo(e.toLowerCase());return yI.set(e,s),s},xI=class extends Va{constructor(){super({max:256})}},g_=class extends Va{constructor(e=16*1024){super({maxSize:e,sizeCalculation:t=>t.length+1})}},nw=Symbol("PathScurry setAsCwd"),Se=class{name;root;roots;parent;nocase;isCWD=!1;#e;#t;get dev(){return this.#t}#i;get mode(){return this.#i}#s;get nlink(){return this.#s}#r;get uid(){return this.#r}#A;get gid(){return this.#A}#a;get rdev(){return this.#a}#c;get blksize(){return this.#c}#l;get ino(){return this.#l}#g;get size(){return this.#g}#h;get blocks(){return this.#h}#u;get atimeMs(){return this.#u}#n;get mtimeMs(){return this.#n}#d;get ctimeMs(){return this.#d}#C;get birthtimeMs(){return this.#C}#B;get atime(){return this.#B}#E;get mtime(){return this.#E}#k;get ctime(){return this.#k}#m;get birthtime(){return this.#m}#b;#y;#f;#Q;#I;#x;#o;#U;#F;#v;get parentPath(){return(this.parent||this).fullpath()}get path(){return this.parentPath}constructor(e,t=tt,s,r,i,o,n){this.name=e,this.#b=i?_a(e):Eo(e),this.#o=t&p_,this.nocase=i,this.roots=r,this.root=s||this,this.#U=o,this.#f=n.fullpath,this.#I=n.relative,this.#x=n.relativePosix,this.parent=n.parent,this.parent?this.#e=this.parent.#e:this.#e=$I(n.fs)}depth(){return this.#y!==void 0?this.#y:this.parent?this.#y=this.parent.depth()+1:this.#y=0}childrenCache(){return this.#U}resolve(e){if(!e)return this;let t=this.getRootString(e),s=e.substring(t.length).split(this.splitSep);return t?this.getRoot(t).#S(s):this.#S(s)}#S(e){let t=this;for(let s of e)t=t.child(s);return t}children(){let e=this.#U.get(this);if(e)return e;let t=Object.assign([],{provisional:0});return this.#U.set(this,t),this.#o&=~$u,t}child(e,t){if(e===""||e===".")return this;if(e==="..")return this.parent||this;let s=this.children(),r=this.nocase?_a(e):Eo(e);for(let a of s)if(a.#b===r)return a;let i=this.parent?this.sep:"",o=this.#f?this.#f+i+e:void 0,n=this.newChild(e,tt,{...t,parent:this,fullpath:o});return this.canReaddir()||(n.#o|=gt),s.push(n),n}relative(){if(this.isCWD)return"";if(this.#I!==void 0)return this.#I;let e=this.name,t=this.parent;if(!t)return this.#I=this.name;let s=t.relative();return s+(!s||!t.parent?"":this.sep)+e}relativePosix(){if(this.sep==="/")return this.relative();if(this.isCWD)return"";if(this.#x!==void 0)return this.#x;let e=this.name,t=this.parent;if(!t)return this.#x=this.fullpathPosix();let s=t.relativePosix();return s+(!s||!t.parent?"":"/")+e}fullpath(){if(this.#f!==void 0)return this.#f;let e=this.name,t=this.parent;if(!t)return this.#f=this.name;let s=t.fullpath()+(t.parent?this.sep:"")+e;return this.#f=s}fullpathPosix(){if(this.#Q!==void 0)return this.#Q;if(this.sep==="/")return this.#Q=this.fullpath();if(!this.parent){let r=this.fullpath().replace(/\\/g,"/");return/^[a-z]:\//i.test(r)?this.#Q=`//?/${r}`:this.#Q=r}let e=this.parent,t=e.fullpathPosix(),s=t+(!t||!e.parent?"":"/")+this.name;return this.#Q=s}isUnknown(){return(this.#o&et)===tt}isType(e){return this[`is${e}`]()}getType(){return this.isUnknown()?"Unknown":this.isDirectory()?"Directory":this.isFile()?"File":this.isSymbolicLink()?"SymbolicLink":this.isFIFO()?"FIFO":this.isCharacterDevice()?"CharacterDevice":this.isBlockDevice()?"BlockDevice":this.isSocket()?"Socket":"Unknown"}isFile(){return(this.#o&et)===iw}isDirectory(){return(this.#o&et)===kt}isCharacterDevice(){return(this.#o&et)===sw}isBlockDevice(){return(this.#o&et)===rw}isFIFO(){return(this.#o&et)===tw}isSocket(){return(this.#o&et)===ow}isSymbolicLink(){return(this.#o&js)===js}lstatCached(){return this.#o&II?this:void 0}readlinkCached(){return this.#F}realpathCached(){return this.#v}readdirCached(){let e=this.children();return e.slice(0,e.provisional)}canReadlink(){if(this.#F)return!0;if(!this.parent)return!1;let e=this.#o&et;return!(e!==tt&&e!==js||this.#o&La||this.#o>)}calledReaddir(){return!!(this.#o&$u)}isENOENT(){return!!(this.#o>)}isNamed(e){return this.nocase?this.#b===_a(e):this.#b===Eo(e)}async readlink(){let e=this.#F;if(e)return e;if(this.canReadlink()&&this.parent)try{let t=await this.#e.promises.readlink(this.fullpath()),s=(await this.parent.realpath())?.resolve(t);if(s)return this.#F=s}catch(t){this.#T(t.code);return}}readlinkSync(){let e=this.#F;if(e)return e;if(this.canReadlink()&&this.parent)try{let t=this.#e.readlinkSync(this.fullpath()),s=this.parent.realpathSync()?.resolve(t);if(s)return this.#F=s}catch(t){this.#T(t.code);return}}#L(e){this.#o|=$u;for(let t=e.provisional;ts(null,e))}readdirCB(e,t=!1){if(!this.canReaddir()){t?e(null,[]):queueMicrotask(()=>e(null,[]));return}let s=this.children();if(this.calledReaddir()){let i=s.slice(0,s.provisional);t?e(null,i):queueMicrotask(()=>e(null,i));return}if(this.#G.push(e),this.#D)return;this.#D=!0;let r=this.fullpath();this.#e.readdir(r,{withFileTypes:!0},(i,o)=>{if(i)this.#_(i.code),s.provisional=0;else{for(let n of o)this.#Y(n,s);this.#L(s)}this.#V(s.slice(0,s.provisional))})}#q;async readdir(){if(!this.canReaddir())return[];let e=this.children();if(this.calledReaddir())return e.slice(0,e.provisional);let t=this.fullpath();if(this.#q)await this.#q;else{let s=()=>{};this.#q=new Promise(r=>s=r);try{for(let r of await this.#e.promises.readdir(t,{withFileTypes:!0}))this.#Y(r,e);this.#L(e)}catch(r){this.#_(r.code),e.provisional=0}this.#q=void 0,s()}return e.slice(0,e.provisional)}readdirSync(){if(!this.canReaddir())return[];let e=this.children();if(this.calledReaddir())return e.slice(0,e.provisional);let t=this.fullpath();try{for(let s of this.#e.readdirSync(t,{withFileTypes:!0}))this.#Y(s,e);this.#L(e)}catch(s){this.#_(s.code),e.provisional=0}return e.slice(0,e.provisional)}canReaddir(){if(this.#o&wI)return!1;let e=et&this.#o;return e===tt||e===kt||e===js}shouldWalk(e,t){return(this.#o&kt)===kt&&!(this.#o&wI)&&!e.has(this)&&(!t||t(this))}async realpath(){if(this.#v)return this.#v;if(!((Oa|La|gt)&this.#o))try{let e=await this.#e.promises.realpath(this.fullpath());return this.#v=this.resolve(e)}catch{this.#M()}}realpathSync(){if(this.#v)return this.#v;if(!((Oa|La|gt)&this.#o))try{let e=this.#e.realpathSync(this.fullpath());return this.#v=this.resolve(e)}catch{this.#M()}}[nw](e){if(e===this)return;e.isCWD=!1,this.isCWD=!0;let t=new Set([]),s=[],r=this;for(;r&&r.parent;)t.add(r),r.#I=s.join(this.sep),r.#x=s.join("/"),r=r.parent,s.push("..");for(r=e;r&&r.parent&&!t.has(r);)r.#I=void 0,r.#x=void 0,r=r.parent}},aw=class Aw extends Se{sep="\\";splitSep=u_;constructor(t,s=tt,r,i,o,n,a){super(t,s,r,i,o,n,a)}newChild(t,s=tt,r={}){return new Aw(t,s,this.root,this.roots,this.nocase,this.childrenCache(),r)}getRootString(t){return $r.win32.parse(t).root}getRoot(t){if(t=l_(t.toUpperCase()),t===this.root.name)return this.root;for(let[s,r]of Object.entries(this.roots))if(this.sameRoot(t,s))return this.roots[t]=r;return this.roots[t]=new op(t,this).root}sameRoot(t,s=this.root.name){return t=t.toUpperCase().replace(/\//g,"\\").replace(ew,"$1\\"),t===s}},cw=class lw extends Se{splitSep="/";sep="/";constructor(t,s=tt,r,i,o,n,a){super(t,s,r,i,o,n,a)}getRootString(t){return t.startsWith("/")?"/":""}getRoot(t){return this.root}newChild(t,s=tt,r={}){return new lw(t,s,this.root,this.roots,this.nocase,this.childrenCache(),r)}},uw=class{root;rootPath;roots;cwd;#e;#t;#i;nocase;#s;constructor(e=process.cwd(),t,s,{nocase:r,childrenCacheSize:i=16*1024,fs:o=go}={}){this.#s=$I(o),(e instanceof URL||e.startsWith("file://"))&&(e=(0,ZI.fileURLToPath)(e));let n=t.resolve(e);this.roots=Object.create(null),this.rootPath=this.parseRootPath(n),this.#e=new xI,this.#t=new xI,this.#i=new g_(i);let a=n.substring(this.rootPath.length).split(s);if(a.length===1&&!a[0]&&a.pop(),r===void 0)throw new TypeError("must provide nocase setting to PathScurryBase ctor");this.nocase=r,this.root=this.newRoot(this.#s),this.roots[this.rootPath]=this.root;let A=this.root,c=a.length-1,u=t.sep,l=this.rootPath,p=!1;for(let g of a){let h=c--;A=A.child(g,{relative:new Array(h).fill("..").join(u),relativePosix:new Array(h).fill("..").join("/"),fullpath:l+=(p?"":u)+g}),p=!0}this.cwd=A}depth(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),e.depth()}childrenCache(){return this.#i}resolve(...e){let t="";for(let i=e.length-1;i>=0;i--){let o=e[i];if(!(!o||o===".")&&(t=t?`${o}/${t}`:o,this.isAbsolute(o)))break}let s=this.#e.get(t);if(s!==void 0)return s;let r=this.cwd.resolve(t).fullpath();return this.#e.set(t,r),r}resolvePosix(...e){let t="";for(let i=e.length-1;i>=0;i--){let o=e[i];if(!(!o||o===".")&&(t=t?`${o}/${t}`:o,this.isAbsolute(o)))break}let s=this.#t.get(t);if(s!==void 0)return s;let r=this.cwd.resolve(t).fullpathPosix();return this.#t.set(t,r),r}relative(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),e.relative()}relativePosix(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),e.relativePosix()}basename(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),e.name}dirname(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),(e.parent||e).fullpath()}async readdir(e=this.cwd,t={withFileTypes:!0}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e,e=this.cwd);let{withFileTypes:s}=t;if(e.canReaddir()){let r=await e.readdir();return s?r:r.map(i=>i.name)}else return[]}readdirSync(e=this.cwd,t={withFileTypes:!0}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e,e=this.cwd);let{withFileTypes:s=!0}=t;return e.canReaddir()?s?e.readdirSync():e.readdirSync().map(r=>r.name):[]}async lstat(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),e.lstat()}lstatSync(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),e.lstatSync()}async readlink(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e.withFileTypes,e=this.cwd);let s=await e.readlink();return t?s:s?.fullpath()}readlinkSync(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e.withFileTypes,e=this.cwd);let s=e.readlinkSync();return t?s:s?.fullpath()}async realpath(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e.withFileTypes,e=this.cwd);let s=await e.realpath();return t?s:s?.fullpath()}realpathSync(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e.withFileTypes,e=this.cwd);let s=e.realpathSync();return t?s:s?.fullpath()}async walk(e=this.cwd,t={}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e,e=this.cwd);let{withFileTypes:s=!0,follow:r=!1,filter:i,walkFilter:o}=t,n=[];(!i||i(e))&&n.push(s?e:e.fullpath());let a=new Set,A=(u,l)=>{a.add(u),u.readdirCB((p,g)=>{if(p)return l(p);let h=g.length;if(!h)return l();let E=()=>{--h===0&&l()};for(let f of g)(!i||i(f))&&n.push(s?f:f.fullpath()),r&&f.isSymbolicLink()?f.realpath().then(d=>d?.isUnknown()?d.lstat():d).then(d=>d?.shouldWalk(a,o)?A(d,E):E()):f.shouldWalk(a,o)?A(f,E):E()},!0)},c=e;return new Promise((u,l)=>{A(c,p=>{if(p)return l(p);u(n)})})}walkSync(e=this.cwd,t={}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e,e=this.cwd);let{withFileTypes:s=!0,follow:r=!1,filter:i,walkFilter:o}=t,n=[];(!i||i(e))&&n.push(s?e:e.fullpath());let a=new Set([e]);for(let A of a){let c=A.readdirSync();for(let u of c){(!i||i(u))&&n.push(s?u:u.fullpath());let l=u;if(u.isSymbolicLink()){if(!(r&&(l=u.realpathSync())))continue;l.isUnknown()&&l.lstatSync()}l.shouldWalk(a,o)&&a.add(l)}}return n}[Symbol.asyncIterator](){return this.iterate()}iterate(e=this.cwd,t={}){return typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e,e=this.cwd),this.stream(e,t)[Symbol.asyncIterator]()}[Symbol.iterator](){return this.iterateSync()}*iterateSync(e=this.cwd,t={}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e,e=this.cwd);let{withFileTypes:s=!0,follow:r=!1,filter:i,walkFilter:o}=t;(!i||i(e))&&(yield s?e:e.fullpath());let n=new Set([e]);for(let a of n){let A=a.readdirSync();for(let c of A){(!i||i(c))&&(yield s?c:c.fullpath());let u=c;if(c.isSymbolicLink()){if(!(r&&(u=c.realpathSync())))continue;u.isUnknown()&&u.lstatSync()}u.shouldWalk(n,o)&&n.add(u)}}}stream(e=this.cwd,t={}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e,e=this.cwd);let{withFileTypes:s=!0,follow:r=!1,filter:i,walkFilter:o}=t,n=new Ha({objectMode:!0});(!i||i(e))&&n.write(s?e:e.fullpath());let a=new Set,A=[e],c=0,u=()=>{let l=!1;for(;!l;){let p=A.shift();if(!p){c===0&&n.end();return}c++,a.add(p);let g=(E,f,d=!1)=>{if(E)return n.emit("error",E);if(r&&!d){let m=[];for(let C of f)C.isSymbolicLink()&&m.push(C.realpath().then(B=>B?.isUnknown()?B.lstat():B));if(m.length){Promise.all(m).then(()=>g(null,f,!0));return}}for(let m of f)m&&(!i||i(m))&&(n.write(s?m:m.fullpath())||(l=!0));c--;for(let m of f){let C=m.realpathCached()||m;C.shouldWalk(a,o)&&A.push(C)}l&&!n.flowing?n.once("drain",u):h||u()},h=!0;p.readdirCB(g,!0),h=!1}};return u(),n}streamSync(e=this.cwd,t={}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e,e=this.cwd);let{withFileTypes:s=!0,follow:r=!1,filter:i,walkFilter:o}=t,n=new Ha({objectMode:!0}),a=new Set;(!i||i(e))&&n.write(s?e:e.fullpath());let A=[e],c=0,u=()=>{let l=!1;for(;!l;){let p=A.shift();if(!p){c===0&&n.end();return}c++,a.add(p);let g=p.readdirSync();for(let h of g)(!i||i(h))&&(n.write(s?h:h.fullpath())||(l=!0));c--;for(let h of g){let E=h;if(h.isSymbolicLink()){if(!(r&&(E=h.realpathSync())))continue;E.isUnknown()&&E.lstatSync()}E.shouldWalk(a,o)&&A.push(E)}}l&&!n.flowing&&n.once("drain",u)};return u(),n}chdir(e=this.cwd){let t=this.cwd;this.cwd=typeof e=="string"?this.cwd.resolve(e):e,this.cwd[nw](t)}},op=class extends uw{sep="\\";constructor(e=process.cwd(),t={}){let{nocase:s=!0}=t;super(e,$r.win32,"\\",{...t,nocase:s}),this.nocase=s;for(let r=this.cwd;r;r=r.parent)r.nocase=this.nocase}parseRootPath(e){return $r.win32.parse(e).root.toUpperCase()}newRoot(e){return new aw(this.rootPath,kt,void 0,this.roots,this.nocase,this.childrenCache(),{fs:e})}isAbsolute(e){return e.startsWith("/")||e.startsWith("\\")||/^[a-z]:(\/|\\)/i.test(e)}},np=class extends uw{sep="/";constructor(e=process.cwd(),t={}){let{nocase:s=!1}=t;super(e,$r.posix,"/",{...t,nocase:s}),this.nocase=s}parseRootPath(e){return"/"}newRoot(e){return new cw(this.rootPath,kt,void 0,this.roots,this.nocase,this.childrenCache(),{fs:e})}isAbsolute(e){return e.startsWith("/")}},pw=class extends np{constructor(e=process.cwd(),t={}){let{nocase:s=!0}=t;super(e,{...t,nocase:s})}},jJ=process.platform==="win32"?aw:cw,h_=process.platform==="win32"?op:process.platform==="darwin"?pw:np,d_=e=>e.length>=1,E_=e=>e.length>=1,m_=Symbol.for("nodejs.util.inspect.custom"),gw=class hw{#e;#t;#i;length;#s;#r;#A;#a;#c;#l;#g=!0;constructor(t,s,r,i){if(!d_(t))throw new TypeError("empty pattern list");if(!E_(s))throw new TypeError("empty glob list");if(s.length!==t.length)throw new TypeError("mismatched pattern list and glob list lengths");if(this.length=t.length,r<0||r>=this.length)throw new TypeError("index out of range");if(this.#e=t,this.#t=s,this.#i=r,this.#s=i,this.#i===0){if(this.isUNC()){let[o,n,a,A,...c]=this.#e,[u,l,p,g,...h]=this.#t;c[0]===""&&(c.shift(),h.shift());let E=[o,n,a,A,""].join("/"),f=[u,l,p,g,""].join("/");this.#e=[E,...c],this.#t=[f,...h],this.length=this.#e.length}else if(this.isDrive()||this.isAbsolute()){let[o,...n]=this.#e,[a,...A]=this.#t;n[0]===""&&(n.shift(),A.shift());let c=o+"/",u=a+"/";this.#e=[c,...n],this.#t=[u,...A],this.length=this.#e.length}}}[m_](){return"Pattern <"+this.#t.slice(this.#i).join("/")+">"}pattern(){return this.#e[this.#i]}isString(){return typeof this.#e[this.#i]=="string"}isGlobstar(){return this.#e[this.#i]===be}isRegExp(){return this.#e[this.#i]instanceof RegExp}globString(){return this.#A=this.#A||(this.#i===0?this.isAbsolute()?this.#t[0]+this.#t.slice(1).join("/"):this.#t.join("/"):this.#t.slice(this.#i).join("/"))}hasMore(){return this.length>this.#i+1}rest(){return this.#r!==void 0?this.#r:this.hasMore()?(this.#r=new hw(this.#e,this.#t,this.#i+1,this.#s),this.#r.#l=this.#l,this.#r.#c=this.#c,this.#r.#a=this.#a,this.#r):this.#r=null}isUNC(){let t=this.#e;return this.#c!==void 0?this.#c:this.#c=this.#s==="win32"&&this.#i===0&&t[0]===""&&t[1]===""&&typeof t[2]=="string"&&!!t[2]&&typeof t[3]=="string"&&!!t[3]}isDrive(){let t=this.#e;return this.#a!==void 0?this.#a:this.#a=this.#s==="win32"&&this.#i===0&&this.length>1&&typeof t[0]=="string"&&/^[a-z]:$/i.test(t[0])}isAbsolute(){let t=this.#e;return this.#l!==void 0?this.#l:this.#l=t[0]===""&&t.length>1||this.isDrive()||this.isUNC()}root(){let t=this.#e[0];return typeof t=="string"&&this.isAbsolute()&&this.#i===0?t:""}checkFollowGlobstar(){return!(this.#i===0||!this.isGlobstar()||!this.#g)}markFollowGlobstar(){return this.#i===0||!this.isGlobstar()||!this.#g?!1:(this.#g=!1,!0)}},f_=typeof process=="object"&&process&&typeof process.platform=="string"?process.platform:"linux",vI=class{relative;relativeChildren;absolute;absoluteChildren;platform;mmopts;constructor(e,{nobrace:t,nocase:s,noext:r,noglobstar:i,platform:o=f_}){this.relative=[],this.absolute=[],this.relativeChildren=[],this.absoluteChildren=[],this.platform=o,this.mmopts={dot:!0,nobrace:t,nocase:s,noext:r,noglobstar:i,optimizationLevel:2,platform:o,nocomment:!0,nonegate:!0};for(let n of e)this.add(n)}add(e){let t=new fs(e,this.mmopts);for(let s=0;s[e,!!(t&2),!!(t&1)])}},C_=class{store=new Map;add(e,t){if(!e.canReaddir())return;let s=this.store.get(e);s?s.find(r=>r.globString()===t.globString())||s.push(t):this.store.set(e,[t])}get(e){let t=this.store.get(e);if(!t)throw new Error("attempting to walk unknown path");return t}entries(){return this.keys().map(e=>[e,this.store.get(e)])}keys(){return[...this.store.keys()].filter(e=>e.canReaddir())}},kI=class Ew{hasWalkedCache;matches=new B_;subwalks=new C_;patterns;follow;dot;opts;constructor(t,s){this.opts=t,this.follow=!!t.follow,this.dot=!!t.dot,this.hasWalkedCache=s?s.copy():new Q_}processPatterns(t,s){this.patterns=s;let r=s.map(i=>[t,i]);for(let[i,o]of r){this.hasWalkedCache.storeWalked(i,o);let n=o.root(),a=o.isAbsolute()&&this.opts.absolute!==!1;if(n){i=i.resolve(n==="/"&&this.opts.root!==void 0?this.opts.root:n);let l=o.rest();if(l)o=l;else{this.matches.add(i,!0,!1);continue}}if(i.isENOENT())continue;let A,c,u=!1;for(;typeof(A=o.pattern())=="string"&&(c=o.rest());)i=i.resolve(A),o=c,u=!0;if(A=o.pattern(),c=o.rest(),u){if(this.hasWalkedCache.hasWalked(i,o))continue;this.hasWalkedCache.storeWalked(i,o)}if(typeof A=="string"){let l=A===".."||A===""||A===".";this.matches.add(i.resolve(A),a,l);continue}else if(A===be){(!i.isSymbolicLink()||this.follow||o.checkFollowGlobstar())&&this.subwalks.add(i,o);let l=c?.pattern(),p=c?.rest();if(!c||(l===""||l===".")&&!p)this.matches.add(i,a,l===""||l===".");else if(l===".."){let g=i.parent||i;p?this.hasWalkedCache.hasWalked(g,p)||this.subwalks.add(g,p):this.matches.add(g,a,!0)}}else A instanceof RegExp&&this.subwalks.add(i,o)}return this}subwalkTargets(){return this.subwalks.keys()}child(){return new Ew(this.opts,this.hasWalkedCache)}filterEntries(t,s){let r=this.subwalks.get(t),i=this.child();for(let o of s)for(let n of r){let a=n.isAbsolute(),A=n.pattern(),c=n.rest();A===be?i.testGlobstar(o,n,c,a):A instanceof RegExp?i.testRegExp(o,A,c,a):i.testString(o,A,c,a)}return i}testGlobstar(t,s,r,i){if((this.dot||!t.name.startsWith("."))&&(s.hasMore()||this.matches.add(t,i,!1),t.canReaddir()&&(this.follow||!t.isSymbolicLink()?this.subwalks.add(t,s):t.isSymbolicLink()&&(r&&s.checkFollowGlobstar()?this.subwalks.add(t,r):s.markFollowGlobstar()&&this.subwalks.add(t,s)))),r){let o=r.pattern();if(typeof o=="string"&&o!==".."&&o!==""&&o!==".")this.testString(t,o,r.rest(),i);else if(o===".."){let n=t.parent||t;this.subwalks.add(n,r)}else o instanceof RegExp&&this.testRegExp(t,o,r.rest(),i)}}testRegExp(t,s,r,i){s.test(t.name)&&(r?this.subwalks.add(t,r):this.matches.add(t,i,!1))}testString(t,s,r,i){t.isNamed(s)&&(r?this.subwalks.add(t,r):this.matches.add(t,i,!1))}},I_=(e,t)=>typeof e=="string"?new vI([e],t):Array.isArray(e)?new vI(e,t):e,mw=class{path;patterns;opts;seen=new Set;paused=!1;aborted=!1;#e=[];#t;#i;signal;maxDepth;includeChildMatches;constructor(e,t,s){if(this.patterns=e,this.path=t,this.opts=s,this.#i=!s.posix&&s.platform==="win32"?"\\":"/",this.includeChildMatches=s.includeChildMatches!==!1,(s.ignore||!this.includeChildMatches)&&(this.#t=I_(s.ignore??[],s),!this.includeChildMatches&&typeof this.#t.add!="function")){let r="cannot ignore child matches, ignore lacks add() method.";throw new Error(r)}this.maxDepth=s.maxDepth||1/0,s.signal&&(this.signal=s.signal,this.signal.addEventListener("abort",()=>{this.#e.length=0}))}#s(e){return this.seen.has(e)||!!this.#t?.ignored?.(e)}#r(e){return!!this.#t?.childrenIgnored?.(e)}pause(){this.paused=!0}resume(){if(this.signal?.aborted)return;this.paused=!1;let e;for(;!this.paused&&(e=this.#e.shift());)e()}onResume(e){this.signal?.aborted||(this.paused?this.#e.push(e):e())}async matchCheck(e,t){if(t&&this.opts.nodir)return;let s;if(this.opts.realpath){if(s=e.realpathCached()||await e.realpath(),!s)return;e=s}let r=e.isUnknown()||this.opts.stat?await e.lstat():e;if(this.opts.follow&&this.opts.nodir&&r?.isSymbolicLink()){let i=await r.realpath();i&&(i.isUnknown()||this.opts.stat)&&await i.lstat()}return this.matchCheckTest(r,t)}matchCheckTest(e,t){return e&&(this.maxDepth===1/0||e.depth()<=this.maxDepth)&&(!t||e.canReaddir())&&(!this.opts.nodir||!e.isDirectory())&&(!this.opts.nodir||!this.opts.follow||!e.isSymbolicLink()||!e.realpathCached()?.isDirectory())&&!this.#s(e)?e:void 0}matchCheckSync(e,t){if(t&&this.opts.nodir)return;let s;if(this.opts.realpath){if(s=e.realpathCached()||e.realpathSync(),!s)return;e=s}let r=e.isUnknown()||this.opts.stat?e.lstatSync():e;if(this.opts.follow&&this.opts.nodir&&r?.isSymbolicLink()){let i=r.realpathSync();i&&(i?.isUnknown()||this.opts.stat)&&i.lstatSync()}return this.matchCheckTest(r,t)}matchFinish(e,t){if(this.#s(e))return;if(!this.includeChildMatches&&this.#t?.add){let i=`${e.relativePosix()}/**`;this.#t.add(i)}let s=this.opts.absolute===void 0?t:this.opts.absolute;this.seen.add(e);let r=this.opts.mark&&e.isDirectory()?this.#i:"";if(this.opts.withFileTypes)this.matchEmit(e);else if(s){let i=this.opts.posix?e.fullpathPosix():e.fullpath();this.matchEmit(i+r)}else{let i=this.opts.posix?e.relativePosix():e.relative(),o=this.opts.dotRelative&&!i.startsWith(".."+this.#i)?"."+this.#i:"";this.matchEmit(i?o+i+r:"."+r)}}async match(e,t,s){let r=await this.matchCheck(e,s);r&&this.matchFinish(r,t)}matchSync(e,t,s){let r=this.matchCheckSync(e,s);r&&this.matchFinish(r,t)}walkCB(e,t,s){this.signal?.aborted&&s(),this.walkCB2(e,t,new kI(this.opts),s)}walkCB2(e,t,s,r){if(this.#r(e))return r();if(this.signal?.aborted&&r(),this.paused){this.onResume(()=>this.walkCB2(e,t,s,r));return}s.processPatterns(e,t);let i=1,o=()=>{--i===0&&r()};for(let[n,a,A]of s.matches.entries())this.#s(n)||(i++,this.match(n,a,A).then(()=>o()));for(let n of s.subwalkTargets()){if(this.maxDepth!==1/0&&n.depth()>=this.maxDepth)continue;i++;let a=n.readdirCached();n.calledReaddir()?this.walkCB3(n,a,s,o):n.readdirCB((A,c)=>this.walkCB3(n,c,s,o),!0)}o()}walkCB3(e,t,s,r){s=s.filterEntries(e,t);let i=1,o=()=>{--i===0&&r()};for(let[n,a,A]of s.matches.entries())this.#s(n)||(i++,this.match(n,a,A).then(()=>o()));for(let[n,a]of s.subwalks.entries())i++,this.walkCB2(n,a,s.child(),o);o()}walkCBSync(e,t,s){this.signal?.aborted&&s(),this.walkCB2Sync(e,t,new kI(this.opts),s)}walkCB2Sync(e,t,s,r){if(this.#r(e))return r();if(this.signal?.aborted&&r(),this.paused){this.onResume(()=>this.walkCB2Sync(e,t,s,r));return}s.processPatterns(e,t);let i=1,o=()=>{--i===0&&r()};for(let[n,a,A]of s.matches.entries())this.#s(n)||this.matchSync(n,a,A);for(let n of s.subwalkTargets()){if(this.maxDepth!==1/0&&n.depth()>=this.maxDepth)continue;i++;let a=n.readdirSync();this.walkCB3Sync(n,a,s,o)}o()}walkCB3Sync(e,t,s,r){s=s.filterEntries(e,t);let i=1,o=()=>{--i===0&&r()};for(let[n,a,A]of s.matches.entries())this.#s(n)||this.matchSync(n,a,A);for(let[n,a]of s.subwalks.entries())i++,this.walkCB2Sync(n,a,s.child(),o);o()}},DI=class extends mw{matches=new Set;constructor(e,t,s){super(e,t,s)}matchEmit(e){this.matches.add(e)}async walk(){if(this.signal?.aborted)throw this.signal.reason;return this.path.isUnknown()&&await this.path.lstat(),await new Promise((e,t)=>{this.walkCB(this.path,this.patterns,()=>{this.signal?.aborted?t(this.signal.reason):e(this.matches)})}),this.matches}walkSync(){if(this.signal?.aborted)throw this.signal.reason;return this.path.isUnknown()&&this.path.lstatSync(),this.walkCBSync(this.path,this.patterns,()=>{if(this.signal?.aborted)throw this.signal.reason}),this.matches}},RI=class extends mw{results;constructor(e,t,s){super(e,t,s),this.results=new Ha({signal:this.signal,objectMode:!0}),this.results.on("drain",()=>this.resume()),this.results.on("resume",()=>this.resume())}matchEmit(e){this.results.write(e),this.results.flowing||this.pause()}stream(){let e=this.path;return e.isUnknown()?e.lstat().then(()=>{this.walkCB(e,this.patterns,()=>this.results.end())}):this.walkCB(e,this.patterns,()=>this.results.end()),this.results}streamSync(){return this.path.isUnknown()&&this.path.lstatSync(),this.walkCBSync(this.path,this.patterns,()=>this.results.end()),this.results}},w_=typeof process=="object"&&process&&typeof process.platform=="string"?process.platform:"linux",zs=class{absolute;cwd;root;dot;dotRelative;follow;ignore;magicalBraces;mark;matchBase;maxDepth;nobrace;nocase;nodir;noext;noglobstar;pattern;platform;realpath;scurry;stat;signal;windowsPathsNoEscape;withFileTypes;includeChildMatches;opts;patterns;constructor(e,t){if(!t)throw new TypeError("glob options required");if(this.withFileTypes=!!t.withFileTypes,this.signal=t.signal,this.follow=!!t.follow,this.dot=!!t.dot,this.dotRelative=!!t.dotRelative,this.nodir=!!t.nodir,this.mark=!!t.mark,t.cwd?(t.cwd instanceof URL||t.cwd.startsWith("file://"))&&(t.cwd=(0,VI.fileURLToPath)(t.cwd)):this.cwd="",this.cwd=t.cwd||"",this.root=t.root,this.magicalBraces=!!t.magicalBraces,this.nobrace=!!t.nobrace,this.noext=!!t.noext,this.realpath=!!t.realpath,this.absolute=t.absolute,this.includeChildMatches=t.includeChildMatches!==!1,this.noglobstar=!!t.noglobstar,this.matchBase=!!t.matchBase,this.maxDepth=typeof t.maxDepth=="number"?t.maxDepth:1/0,this.stat=!!t.stat,this.ignore=t.ignore,this.withFileTypes&&this.absolute!==void 0)throw new Error("cannot set absolute and withFileTypes:true");if(typeof e=="string"&&(e=[e]),this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||t.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(e=e.map(a=>a.replace(/\\/g,"/"))),this.matchBase){if(t.noglobstar)throw new TypeError("base matching requires globstar");e=e.map(a=>a.includes("/")?a:`./**/${a}`)}if(this.pattern=e,this.platform=t.platform||w_,this.opts={...t,platform:this.platform},t.scurry){if(this.scurry=t.scurry,t.nocase!==void 0&&t.nocase!==t.scurry.nocase)throw new Error("nocase option contradicts provided scurry option")}else{let a=t.platform==="win32"?op:t.platform==="darwin"?pw:t.platform?np:h_;this.scurry=new a(this.cwd,{nocase:t.nocase,fs:t.fs})}this.nocase=this.scurry.nocase;let s=this.platform==="darwin"||this.platform==="win32",r={braceExpandMax:1e4,...t,dot:this.dot,matchBase:this.matchBase,nobrace:this.nobrace,nocase:this.nocase,nocaseMagicOnly:s,nocomment:!0,noext:this.noext,nonegate:!0,optimizationLevel:2,platform:this.platform,windowsPathsNoEscape:this.windowsPathsNoEscape,debug:!!this.opts.debug},i=this.pattern.map(a=>new fs(a,r)),[o,n]=i.reduce((a,A)=>(a[0].push(...A.set),a[1].push(...A.globParts),a),[[],[]]);this.patterns=o.map((a,A)=>{let c=n[A];if(!c)throw new Error("invalid pattern object");return new gw(a,c,0,this.platform)})}async walk(){return[...await new DI(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walk()]}walkSync(){return[...new DI(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walkSync()]}stream(){return new RI(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).stream()}streamSync(){return new RI(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).streamSync()}iterateSync(){return this.streamSync()[Symbol.iterator]()}[Symbol.iterator](){return this.iterateSync()}iterate(){return this.stream()[Symbol.asyncIterator]()}[Symbol.asyncIterator](){return this.iterate()}},b_=(e,t={})=>{Array.isArray(e)||(e=[e]);for(let s of e)if(new fs(s,t).hasMagic())return!0;return!1};function Wa(e,t={}){return new zs(e,t).streamSync()}function fw(e,t={}){return new zs(e,t).stream()}function Qw(e,t={}){return new zs(e,t).walkSync()}async function TI(e,t={}){return new zs(e,t).walk()}function ja(e,t={}){return new zs(e,t).iterateSync()}function Bw(e,t={}){return new zs(e,t).iterate()}var y_=Wa,x_=Object.assign(fw,{sync:Wa}),v_=ja,k_=Object.assign(Bw,{sync:ja}),za=Object.assign(Qw,{stream:Wa,iterate:ja}),FI=Object.assign(TI,{glob:TI,globSync:Qw,sync:za,globStream:fw,stream:x_,globStreamSync:Wa,streamSync:y_,globIterate:Bw,iterate:k_,globIterateSync:ja,iterateSync:v_,Glob:zs,hasMagic:b_,escape:YI,unescape:Xr});FI.glob=FI;var mo=require("fs"),ap=require("os"),Zs=de(require("path")),Cw=e=>{let t=e.indexOf("{");return t>-1?e.substring(0,t):e},Ap=e=>{if(e.input_body_path)try{return(0,mo.readFileSync)(e.input_body_path,"utf8")}catch(t){console.warn(`\u26A0\uFE0F Failed to read body_path "${e.input_body_path}" (${t?.code??"ERR"}). Falling back to 'body' input.`)}return e.input_body},R_=e=>{let t=[],s="",r=0;for(let i of e)i==="{"&&r++,i==="}"&&r--,i===","&&r===0?(s.trim()&&t.push(s.trim()),s=""):s+=i;return s.trim()&&t.push(s.trim()),t},T_=e=>e.split(/\r?\n/).flatMap(t=>R_(t)).filter(t=>t.trim()!==""),F_=e=>{let t=e.INPUT_TOKEN?.trim();return t||e.GITHUB_TOKEN?.trim()||""},Iw=e=>({github_token:F_(e),github_ref:e.GITHUB_REF||"",github_repository:e.INPUT_REPOSITORY||e.GITHUB_REPOSITORY||"",input_name:e.INPUT_NAME,input_tag_name:cp(e.INPUT_TAG_NAME?.trim()),input_body:e.INPUT_BODY,input_body_path:e.INPUT_BODY_PATH,input_files:T_(e.INPUT_FILES||""),input_working_directory:e.INPUT_WORKING_DIRECTORY||void 0,input_overwrite_files:e.INPUT_OVERWRITE_FILES?e.INPUT_OVERWRITE_FILES=="true":void 0,input_draft:e.INPUT_DRAFT?e.INPUT_DRAFT==="true":void 0,input_preserve_order:e.INPUT_PRESERVE_ORDER?e.INPUT_PRESERVE_ORDER=="true":void 0,input_prerelease:e.INPUT_PRERELEASE?e.INPUT_PRERELEASE=="true":void 0,input_fail_on_unmatched_files:e.INPUT_FAIL_ON_UNMATCHED_FILES=="true",input_target_commitish:e.INPUT_TARGET_COMMITISH||void 0,input_discussion_category_name:e.INPUT_DISCUSSION_CATEGORY_NAME||void 0,input_generate_release_notes:e.INPUT_GENERATE_RELEASE_NOTES=="true",input_previous_tag:e.INPUT_PREVIOUS_TAG?.trim()||void 0,input_append_body:e.INPUT_APPEND_BODY=="true",input_make_latest:S_(e.INPUT_MAKE_LATEST)}),S_=e=>{if(e==="true"||e==="false"||e==="legacy")return e},U_=(e,t=process.platform)=>t==="win32"?e.replace(/\\/g,"/"):e,N_=(e,t=(0,ap.homedir)())=>e==="~"?t:e.startsWith("~/")||e.startsWith("~\\")?Zs.join(t,e.slice(2)):e,ww=(e,t=process.platform,s=(0,ap.homedir)())=>U_(N_(e,s),t),bw=(e,t)=>e.reduce((s,r)=>{let o=za(ww(r),{cwd:t,dot:!0,absolute:!1}).map(n=>t&&!Zs.isAbsolute(n)?Zs.join(t,n):n).filter(n=>{try{return(0,mo.statSync)(n).isFile()}catch{return!1}});return s.concat(o)},[]),yw=(e,t)=>e.reduce((s,r)=>{let o=za(ww(r),{cwd:t,dot:!0,absolute:!1}).filter(n=>{try{let a=t&&!Zs.isAbsolute(n)?Zs.join(t,n):n;return(0,mo.statSync)(a).isFile()}catch{return!1}});return s.concat(o.length==0?[r]:[])},[]),fo=e=>e.startsWith("refs/tags/"),cp=e=>e&&(fo(e)?e.replace("refs/tags/",""):e),xw=e=>e.replace(/ /g,".");var Za=class{github;constructor(t){this.github=t}getReleaseByTag(t){return this.github.rest.repos.getReleaseByTag(t)}async getReleaseNotes(t){return await this.github.rest.repos.generateReleaseNotes(t)}async prepareReleaseMutation(t){let{previous_tag_name:s,...r}=t;if(typeof r.make_latest=="string"&&!["true","false","legacy"].includes(r.make_latest)&&(r.make_latest=void 0),r.generate_release_notes){let i=await this.getReleaseNotes({owner:r.owner,repo:r.repo,tag_name:r.tag_name,target_commitish:r.target_commitish,previous_tag_name:s});r.generate_release_notes=!1,r.body?r.body=`${r.body} + +${i.data.body}`:r.body=i.data.body}return r.body=r.body?this.truncateReleaseNotes(r.body):void 0,r}truncateReleaseNotes(t){return t.substring(0,124999)}async createRelease(t){return this.github.rest.repos.createRelease(await this.prepareReleaseMutation(t))}async updateRelease(t){return this.github.rest.repos.updateRelease(await this.prepareReleaseMutation(t))}async finalizeRelease(t){return await this.github.rest.repos.updateRelease({owner:t.owner,repo:t.repo,release_id:t.release_id,draft:!1,make_latest:t.make_latest,discussion_category_name:t.discussion_category_name})}allReleases(t){let s={per_page:100,...t};return this.github.paginate.iterator(this.github.rest.repos.listReleases.endpoint.merge(s))}async listReleaseAssets(t){return this.github.paginate(this.github.rest.repos.listReleaseAssets,{...t,per_page:100})}async deleteReleaseAsset(t){await this.github.rest.repos.deleteReleaseAsset(t)}async deleteRelease(t){await this.github.rest.repos.deleteRelease(t)}async updateReleaseAsset(t){return await this.github.rest.repos.updateReleaseAsset(t)}async uploadReleaseAsset(t){return this.github.request({method:"POST",url:t.url,headers:{"content-length":`${t.size}`,"content-type":t.mime,authorization:`token ${t.token}`},data:t.data})}},G_=e=>({name:(0,Tw.basename)(e),mime:M_(e),size:(0,kw.statSync)(e).size}),M_=e=>(0,Rw.lookup)(e)||"application/octet-stream",lp=(e,t)=>t.name===e||t.name===xw(e)||t.label===e,L_=e=>{let t=e?.status??e?.response?.status,s=e?.request?.url,r=e?.message,i=typeof s=="string"&&(/\/releases\/assets\//.test(s)||/\/releases\/\d+\/assets(?:\?|$)/.test(s));return t===404&&(i||typeof r=="string"&&r.includes("update-a-release-asset"))},__=e=>{let t=e?.status??e?.response?.status,s=e?.response?.data?.message??e?.message;return t===422&&/immutable release/i.test(String(s))},Y_=(e,t)=>t?`Cannot upload asset ${e} to an immutable release. GitHub only allows asset uploads before a release is published, but draft prereleases publish with the release.published event instead of release.prereleased. If you need prereleases with assets on an immutable-release repository, keep the release as a draft with draft: true, then publish it later from that draft and subscribe downstream workflows to release.published.`:`Cannot upload asset ${e} to an immutable release. GitHub only allows asset uploads before a release is published, so upload assets to a draft release before you publish it.`,Fw=async(e,t,s,r,i)=>{let[o,n]=e.github_repository.split("/"),{name:a,mime:A,size:c}=G_(r),u=s.match(/\/releases\/(\d+)\/assets/),l=u?Number(u[1]):void 0,p=i.find(m=>lp(a,m));if(p){if(e.input_overwrite_files===!1)return console.log(`Asset ${a} already exists and overwrite_files is false...`),null;console.log(`\u267B\uFE0F Deleting previously uploaded asset ${a}...`),await t.deleteReleaseAsset({asset_id:p.id||1,owner:o,repo:n})}console.log(`\u2B06\uFE0F Uploading ${a}...`);let g=new URL(s);g.searchParams.append("name",a);let h=async(m,C=3)=>{if(l!==void 0)for(let B=1;B<=C;B++){let S=(await t.listReleaseAssets({owner:o,repo:n,release_id:l})).find(m);if(S)return S;BsetTimeout(G,1e3))}},E=async()=>{let m=await(0,Dw.open)(r);try{return await t.uploadReleaseAsset({url:g.toString(),size:c,mime:A,token:e.github_token,data:m.readableWebStream()})}finally{await m.close()}},f=async m=>{if(!m.name||m.name===a||!m.id)return m;console.log(`\u270F\uFE0F Restoring asset label to ${a}...`);let C=async B=>{let{data:b}=await t.updateReleaseAsset({owner:o,repo:n,asset_id:B,name:m.name,label:a});return b};try{return await C(m.id)}catch(B){if((B?.status??B?.response?.status)===404&&l!==void 0)try{let S=await h(G=>G.id===m.id||G.name===m.name);if(S)return await C(S.id)}catch(S){console.warn(`error refreshing release assets for ${a}: ${S}`)}return console.warn(`error updating release asset label for ${a}: ${B}`),m}},d=async m=>{let C=m.data;if(m.status!==201)throw new Error(`Failed to upload release asset ${a}. received status code ${m.status} +${C.message} +${JSON.stringify(C.errors)}`);let B=await f(C);return console.log(`\u2705 Uploaded ${a}`),B};try{return await d(await E())}catch(m){let C=m?.status??m?.response?.status,B=m?.response?.data;if(__(m))throw new Error(Y_(a,e.input_prerelease));if(l!==void 0&&L_(m))try{let b=await h(S=>lp(a,S));if(b)return console.warn(`error updating release asset metadata for ${a}: ${m}. Matching asset is present after refresh; continuing...`),b}catch(b){console.warn(`error refreshing release assets after metadata update failure: ${b}`)}if(e.input_overwrite_files!==!1&&C===422&&B?.errors?.[0]?.code==="already_exists"&&l!==void 0){console.log(`\u26A0\uFE0F Asset ${a} already exists (race condition), refreshing assets and retrying once...`);let S=(await t.listReleaseAssets({owner:o,repo:n,release_id:l})).find(G=>lp(a,G));if(S)return await t.deleteReleaseAsset({owner:o,repo:n,asset_id:S.id}),await d(await E())}throw m}},up=async(e,t,s=3)=>{if(s<=0)throw console.log("\u274C Too many retries. Aborting..."),new Error("Too many retries.");let[r,i]=e.github_repository.split("/"),o=cp(e.input_tag_name)||(fo(e.github_ref)?e.github_ref.replace("refs/tags/",""):""),n=e.input_discussion_category_name,a=e.input_generate_release_notes,A=e.input_previous_tag;a&&A&&console.log(`\u{1F4DD} Generating release notes using previous tag ${A}`);try{let c=await Sw(t,r,i,o);if(c===void 0)return await vw(o,e,t,r,i,n,a,s,A);let u=c;console.log(`Found release ${u.name} (with id=${u.id})`);let l=u.id,p;e.input_target_commitish&&e.input_target_commitish!==u.target_commitish?(console.log(`Updating commit from "${u.target_commitish}" to "${e.input_target_commitish}"`),p=e.input_target_commitish):p=u.target_commitish;let g=o,h=e.input_name||u.name||o,E=Ap(e)||"",f=u.body||"",d;e.input_append_body&&E&&f?d=f+` +`+E:d=E||f;let m=e.input_prerelease!==void 0?e.input_prerelease:u.prerelease,C=e.input_make_latest;return{release:(await t.updateRelease({owner:r,repo:i,release_id:l,tag_name:g,target_commitish:p,name:h,body:d,draft:u.draft,prerelease:m,discussion_category_name:n,generate_release_notes:a,make_latest:C,previous_tag_name:A})).data,created:!1}}catch(c){if(c.status!==404)throw console.log(`\u26A0\uFE0F Unexpected error fetching GitHub release for tag ${e.github_ref}: ${c}`),c;return await vw(o,e,t,r,i,n,a,s,A)}},pp=async(e,t,s,r=!1,i=3)=>{if(e.input_draft===!0||s.draft===!1)return s;if(i<=0)throw console.log("\u274C Too many retries. Aborting..."),new Error("Too many retries.");let[o,n]=e.github_repository.split("/");try{let{data:a}=await t.finalizeRelease({owner:o,repo:n,release_id:s.id,make_latest:e.input_make_latest,discussion_category_name:e.input_discussion_category_name});return a}catch(a){if(console.warn(`error finalizing release: ${a}`),r&&s.draft&&j_(a)){let A=!1;try{console.log(`\u{1F9F9} Deleting draft release ${s.id} for tag ${s.tag_name} because tag creation is blocked by repository rules...`),await t.deleteRelease({owner:o,repo:n,release_id:s.id}),A=!0}catch(u){console.warn(`error deleting orphan draft release ${s.id}: ${u}`)}let c=A?`Deleted draft release ${s.id} to avoid leaving an orphaned draft release.`:`Failed to delete draft release ${s.id}; manual cleanup may still be required.`;throw new Error(`Tag creation for ${s.tag_name} is blocked by repository rules. ${c}`)}return console.log(`retrying... (${i-1} retries remaining)`),pp(e,t,s,r,i-1)}},gp=async(e,t,s,r=3)=>{if(r<=0)throw console.log("\u274C Too many retries. Aborting..."),new Error("Too many retries.");let[i,o]=e.github_repository.split("/");try{return await t.listReleaseAssets({owner:i,repo:o,release_id:s.id})}catch(n){return console.warn(`error listing assets of release: ${n}`),console.log(`retrying... (${r-1} retries remaining)`),gp(e,t,s,r-1)}};async function Sw(e,t,s,r){try{let{data:i}=await e.getReleaseByTag({owner:t,repo:s,tag:r});return i}catch(i){if(i.status===404)return;throw i}}var O_=1e3,J_=2;async function P_(e){await new Promise(t=>setTimeout(t,e))}async function H_(e,t,s,r){let i=[],o=0;for await(let n of e.allReleases({owner:t,repo:s}))if(i.push(...n.data.filter(a=>a.tag_name===r)),o+=1,o>=J_)break;return i}function V_(e,t){return t&&e.some(s=>s.id===t.id)||e.length===0?t:[...e].sort((s,r)=>s.draft!==r.draft?Number(s.draft)-Number(r.draft):s.id-r.id)[0]}async function q_(e,t,s,r,i,o){let n=Array.from(new Map(o.map(a=>[a.id,a])).values());for(let a of n)if(!(a.id===i||!a.draft||a.assets.length>0))try{console.log(`\u{1F9F9} Removing duplicate draft release ${a.id} for tag ${r}...`),await e.deleteRelease({owner:t,repo:s,release_id:a.id})}catch(A){console.warn(`error deleting duplicate release ${a.id}: ${A}`)}}async function W_(e,t,s,r,i,o){let n=Math.max(o,1);for(let a=1;a<=n;a+=1){let A;try{A=await Sw(e,t,s,r)}catch(l){console.warn(`error reloading release for tag ${r}: ${l}`)}let c=[];try{c=await H_(e,t,s,r)}catch(l){console.warn(`error listing recent releases for tag ${r}: ${l}`)}let u=V_(c,A);if(u)return u.id!==i.id&&console.log(`\u21AA\uFE0F Using release ${u.id} for tag ${r} instead of duplicate draft ${i.id}`),await q_(e,t,s,r,u.id,[i,...c]),u;as==="pre_receive"&&typeof r=="string"&&r.includes("creations being restricted"))}var Uw=require("process");async function z_(){try{let e=Iw(Uw.env);if(!e.input_tag_name&&!fo(e.github_ref)&&!e.input_draft)throw new Error("\u26A0\uFE0F GitHub Releases requires a tag");if(e.input_files){let a=yw(e.input_files,e.input_working_directory);if(a.forEach(A=>{if(e.input_fail_on_unmatched_files)throw new Error(`\u26A0\uFE0F Pattern '${A}' does not match any files.`);console.warn(`\u{1F914} Pattern '${A}' does not match any files.`)}),a.length>0&&e.input_fail_on_unmatched_files)throw new Error("\u26A0\uFE0F There were unmatched files")}let t=KC(e.github_token,{throttle:{onRateLimit:(a,A)=>{if(console.warn(`Request quota exhausted for request ${A.method} ${A.url}`),A.request.retryCount===0)return console.log(`Retrying after ${a} seconds!`),!0},onAbuseLimit:(a,A)=>{console.warn(`Abuse detected for request ${A.method} ${A.url}`)}}}),s=new Za(t),r=await up(e,s),i=r.release,o=r.created,n=new Set;if(e.input_files&&e.input_files.length>0){let a=bw(e.input_files,e.input_working_directory);if(a.length==0){if(e.input_fail_on_unmatched_files)throw new Error(`\u26A0\uFE0F ${e.input_files} does not include a valid file.`);console.warn(`\u{1F914} ${e.input_files} does not include a valid file.`)}let A=i.assets,c=async l=>{let p=await Fw(e,s,Cw(i.upload_url),l,A);return p?p.id:void 0},u;if(!e.input_preserve_order)u=await Promise.all(a.map(c));else{u=[];for(let l of a)u.push(await c(l))}n=new Set(u.filter(l=>l!==void 0))}console.log("Finalizing release..."),i=await pp(e,s,i,o),console.log("Getting assets list...");{let a=[];n.size>0&&(a=(await gp(e,s,i)).filter(c=>n.has(c.id)).map(c=>{let{uploader:u,...l}=c;return l})),eo("assets",a)}console.log(`\u{1F389} Release ready at ${i.html_url}`),eo("url",i.html_url),eo("id",i.id.toString()),eo("upload_url",i.upload_url)}catch(e){tC(e.message)}}z_(); +/*! Bundled license information: + +undici/lib/web/fetch/body.js: + (*! formdata-polyfill. MIT License. Jimmy Wärting *) + +undici/lib/web/websocket/frame.js: + (*! ws. MIT License. Einar Otto Stangvik *) + +mime-db/index.js: + (*! + * mime-db + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015-2022 Douglas Christopher Wilson + * MIT Licensed + *) + +mime-types/index.js: + (*! + * mime-types + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +@octokit/request-error/dist-src/index.js: + (* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist *) + +@octokit/request/dist-bundle/index.js: + (* v8 ignore next -- @preserve *) + (* v8 ignore else -- @preserve *) +*/ diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index 563d4cc..0000000 --- a/jest.config.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - clearMocks: true, - moduleFileExtensions: ['js', 'ts'], - testEnvironment: 'node', - testMatch: ['**/*.test.ts'], - testRunner: 'jest-circus/runner', - transform: { - '^.+\\.ts$': 'ts-jest' - }, - verbose: true -} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 1bab007..75827de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,471 +1,125 @@ { "name": "action-gh-release", - "version": "2.0.6", + "version": "3.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "action-gh-release", - "version": "2.0.6", + "version": "3.0.0", "dependencies": { - "@actions/core": "^1.10.0", - "@actions/github": "^5.1.1", - "@octokit/plugin-retry": "^4.0.3", - "@octokit/plugin-throttling": "^9.3.0", - "glob": "^10.4.2", - "mime": "^3.0.0" + "@actions/core": "^3.0.1", + "@actions/github": "^9.1.1", + "@octokit/plugin-retry": "^8.1.0", + "@octokit/plugin-throttling": "^11.0.3", + "glob": "^13.0.6", + "mime-types": "^3.0.2" }, "devDependencies": { - "@types/glob": "^8.1.0", - "@types/jest": "^29.5.12", - "@types/mime": "^3.0.1", - "@types/node": "^20.14.6", - "@vercel/ncc": "^0.38.1", - "jest": "^29.3.1", - "jest-circus": "^29.3.1", - "prettier": "2.8.0", - "ts-jest": "^29.1.4", - "typescript": "^4.9.3", - "typescript-formatter": "^7.2.2" + "@types/glob": "^9.0.0", + "@types/mime-types": "^3.0.1", + "@types/node": "^24", + "@vitest/coverage-v8": "^4.1.6", + "esbuild": "^0.28.0", + "prettier": "3.8.3", + "ts-node": "^10.9.2", + "typescript": "^6.0.3", + "typescript-formatter": "^7.2.2", + "vitest": "^4.0.4" + }, + "engines": { + "node": ">=24" } }, "node_modules/@actions/core": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.1.tgz", - "integrity": "sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-3.0.1.tgz", + "integrity": "sha512-a6d/Nwahm9fliVGRhdhofo40HjHQasUPusmc7vBfyky+7Z+P2A1J68zyFVaNcEclc/Se+eO595oAr5nwEIoIUA==", + "license": "MIT", "dependencies": { - "@actions/http-client": "^2.0.1", - "uuid": "^8.3.2" + "@actions/exec": "^3.0.0", + "@actions/http-client": "^4.0.0" + } + }, + "node_modules/@actions/core/node_modules/@actions/http-client": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-4.0.0.tgz", + "integrity": "sha512-QuwPsgVMsD6qaPD57GLZi9sqzAZCtiJT8kVBCDpLtxhL5MydQ4gS+DrejtZZPdIYyB1e95uCK9Luyds7ybHI3g==", + "license": "MIT", + "dependencies": { + "tunnel": "^0.0.6", + "undici": "^6.23.0" + } + }, + "node_modules/@actions/exec": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-3.0.0.tgz", + "integrity": "sha512-6xH/puSoNBXb72VPlZVm7vQ+svQpFyA96qdDBvhB8eNZOE8LtPf9L4oAsfzK/crCL8YZ+19fKYVnM63Sl+Xzlw==", + "license": "MIT", + "dependencies": { + "@actions/io": "^3.0.2" } }, "node_modules/@actions/github": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz", - "integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-9.1.1.tgz", + "integrity": "sha512-tL5JbYOBZHc0ngEnCsaDcryUizIUIlQyIMwy1Wkx93H5HzbBJ7TbiPx2PnFjBwZW0Vh05JmfFZhecE6gglYegA==", + "license": "MIT", "dependencies": { - "@actions/http-client": "^2.0.1", - "@octokit/core": "^3.6.0", - "@octokit/plugin-paginate-rest": "^2.17.0", - "@octokit/plugin-rest-endpoint-methods": "^5.13.0" - } - }, - "node_modules/@actions/github/node_modules/@octokit/auth-token": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", - "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", - "dependencies": { - "@octokit/types": "^6.0.3" - } - }, - "node_modules/@actions/github/node_modules/@octokit/core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", - "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", - "dependencies": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.3", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@actions/github/node_modules/@octokit/endpoint": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", - "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", - "dependencies": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@actions/github/node_modules/@octokit/graphql": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", - "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", - "dependencies": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@actions/github/node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", - "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" - }, - "node_modules/@actions/github/node_modules/@octokit/request": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", - "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", - "dependencies": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.1.0", - "@octokit/types": "^6.16.1", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@actions/github/node_modules/@octokit/request-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", - "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", - "dependencies": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" - } - }, - "node_modules/@actions/github/node_modules/@octokit/types": { - "version": "6.41.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", - "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", - "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "@actions/http-client": "^3.0.2", + "@octokit/core": "^7.0.6", + "@octokit/plugin-paginate-rest": "^14.0.0", + "@octokit/plugin-rest-endpoint-methods": "^17.0.0", + "@octokit/request": "^10.0.7", + "@octokit/request-error": "^7.1.0", + "undici": "^6.23.0" } }, "node_modules/@actions/http-client": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.1.tgz", - "integrity": "sha512-KhC/cZsq7f8I4LfZSJKgCvEwfkE8o1538VoBeoGzokVLLnbFDEAdFD3UhoMklxo2un9NJVBdANOresx7vTHlHw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-3.0.2.tgz", + "integrity": "sha512-JP38FYYpyqvUsz+Igqlc/JG6YO9PaKuvqjM3iGvaLqFnJ7TFmcLyy2IDrY0bI0qCQug8E9K+elv5ZNfw62ZJzA==", + "license": "MIT", "dependencies": { "tunnel": "^0.0.6", - "undici": "^5.25.4" + "undici": "^6.23.0" } }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", - "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.24.7", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz", - "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", - "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helpers": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", - "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz", - "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", - "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", - "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", - "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", - "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", - "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", - "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", - "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", - "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } + "node_modules/@actions/io": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@actions/io/-/io-3.0.2.tgz", + "integrity": "sha512-nRBchcMM+QK1pdjO7/idu86rbJI5YHUKCvKs0KxnSYbVe3F51UfGxuZX4Qy/fWlp6l7gWFwIkrOzN+oUK03kfw==", + "license": "MIT" }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", - "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", - "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", - "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", - "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.24.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", - "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -473,693 +127,516 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", - "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", - "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", - "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", - "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/types": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", - "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@fastify/busboy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", - "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", - "engines": { - "node": ">=14" - } - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { "node": ">=12" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" } }, - "node_modules/@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "tslib": "^2.4.0" } }, - "node_modules/@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "tslib": "^2.4.0" } }, - "node_modules/@jest/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.0.tgz", + "integrity": "sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "node_modules/@esbuild/android-arm": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.0.tgz", + "integrity": "sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "jest-get-type": "^29.6.3" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "node_modules/@esbuild/android-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.0.tgz", + "integrity": "sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/globals": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "node_modules/@esbuild/android-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.0.tgz", + "integrity": "sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/reporters": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.0.tgz", + "integrity": "sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">=18" } }, - "node_modules/@jest/reporters/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.0.tgz", + "integrity": "sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@jest/reporters/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.0.tgz", + "integrity": "sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=18" } }, - "node_modules/@jest/reporters/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.0.tgz", + "integrity": "sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "*" + "node": ">=18" } }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "node_modules/@esbuild/linux-arm": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.0.tgz", + "integrity": "sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.0.tgz", + "integrity": "sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/test-result": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.0.tgz", + "integrity": "sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/test-sequencer": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.0.tgz", + "integrity": "sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==", + "cpu": [ + "loong64" + ], "dev": true, - "dependencies": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.0.tgz", + "integrity": "sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==", + "cpu": [ + "mips64el" + ], "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.0.tgz", + "integrity": "sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.0.tgz", + "integrity": "sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.0.tgz", + "integrity": "sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz", + "integrity": "sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.0.tgz", + "integrity": "sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.0.tgz", + "integrity": "sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.0.tgz", + "integrity": "sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.0.tgz", + "integrity": "sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.0.tgz", + "integrity": "sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.0.tgz", + "integrity": "sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.0.tgz", + "integrity": "sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.0.tgz", + "integrity": "sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.0.tgz", + "integrity": "sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" } }, "node_modules/@jridgewell/resolve-uri": { @@ -1171,675 +648,793 @@ "node": ">=6.0.0" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, "node_modules/@octokit/auth-token": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz", - "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==", - "peer": true, + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz", + "integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==", + "license": "MIT", "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/core": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", - "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", - "peer": true, + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz", + "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", + "license": "MIT", "dependencies": { - "@octokit/auth-token": "^5.0.0", - "@octokit/graphql": "^8.0.0", - "@octokit/request": "^9.0.0", - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^13.0.0", - "before-after-hook": "^3.0.2", + "@octokit/auth-token": "^6.0.0", + "@octokit/graphql": "^9.0.3", + "@octokit/request": "^10.0.6", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "before-after-hook": "^4.0.0", "universal-user-agent": "^7.0.0" }, "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/core/node_modules/@octokit/openapi-types": { - "version": "22.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", - "peer": true - }, - "node_modules/@octokit/core/node_modules/@octokit/types": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", - "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", - "peer": true, - "dependencies": { - "@octokit/openapi-types": "^22.2.0" + "node": ">= 20" } }, "node_modules/@octokit/core/node_modules/before-after-hook": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", - "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", - "peer": true - }, - "node_modules/@octokit/core/node_modules/universal-user-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", - "peer": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz", + "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==", + "license": "Apache-2.0" }, "node_modules/@octokit/endpoint": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.1.tgz", - "integrity": "sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==", - "peer": true, + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.3.tgz", + "integrity": "sha512-FWFlNxghg4HrXkD3ifYbS/IdL/mDHjh9QcsNyhQjN8dplUoZbejsdpmuqdA76nxj2xoWPs7p8uX2SNr9rYu0Ag==", + "license": "MIT", "dependencies": { - "@octokit/types": "^13.0.0", + "@octokit/types": "^16.0.0", "universal-user-agent": "^7.0.2" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, - "node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types": { - "version": "22.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", - "peer": true - }, - "node_modules/@octokit/endpoint/node_modules/@octokit/types": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", - "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", - "peer": true, - "dependencies": { - "@octokit/openapi-types": "^22.2.0" - } - }, - "node_modules/@octokit/endpoint/node_modules/universal-user-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", - "peer": true - }, "node_modules/@octokit/graphql": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz", - "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", - "peer": true, + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.3.tgz", + "integrity": "sha512-grAEuupr/C1rALFnXTv6ZQhFuL1D8G5y8CN04RgrO4FIPMrtm+mcZzFG7dcBm+nq+1ppNixu+Jd78aeJOYxlGA==", + "license": "MIT", "dependencies": { - "@octokit/request": "^9.0.0", - "@octokit/types": "^13.0.0", + "@octokit/request": "^10.0.6", + "@octokit/types": "^16.0.0", "universal-user-agent": "^7.0.0" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, - "node_modules/@octokit/graphql/node_modules/@octokit/openapi-types": { - "version": "22.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", - "peer": true - }, - "node_modules/@octokit/graphql/node_modules/@octokit/types": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", - "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", - "peer": true, - "dependencies": { - "@octokit/openapi-types": "^22.2.0" - } - }, - "node_modules/@octokit/graphql/node_modules/universal-user-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", - "peer": true - }, "node_modules/@octokit/openapi-types": { - "version": "18.1.1", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.1.1.tgz", - "integrity": "sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==" + "version": "27.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz", + "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==", + "license": "MIT" }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "2.21.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", - "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-14.0.0.tgz", + "integrity": "sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==", + "license": "MIT", "dependencies": { - "@octokit/types": "^6.40.0" + "@octokit/types": "^16.0.0" + }, + "engines": { + "node": ">= 20" }, "peerDependencies": { - "@octokit/core": ">=2" - } - }, - "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", - "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" - }, - "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { - "version": "6.41.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", - "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", - "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "@octokit/core": ">=6" } }, "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "5.16.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", - "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==", + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-17.0.0.tgz", + "integrity": "sha512-B5yCyIlOJFPqUUeiD0cnBJwWJO8lkJs5d8+ze9QDP6SvfiXSz1BF+91+0MeI1d2yxgOhU/O+CvtiZ9jSkHhFAw==", + "license": "MIT", "dependencies": { - "@octokit/types": "^6.39.0", - "deprecation": "^2.3.1" + "@octokit/types": "^16.0.0" + }, + "engines": { + "node": ">= 20" }, "peerDependencies": { - "@octokit/core": ">=3" - } - }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", - "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" - }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { - "version": "6.41.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", - "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", - "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "@octokit/core": ">=6" } }, "node_modules/@octokit/plugin-retry": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-4.1.6.tgz", - "integrity": "sha512-obkYzIgEC75r8+9Pnfiiqy3y/x1bc3QLE5B7qvv9wi9Kj0R5tGQFC6QMBg1154WQ9lAVypuQDGyp3hNpp15gQQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-8.1.0.tgz", + "integrity": "sha512-O1FZgXeiGb2sowEr/hYTr6YunGdSAFWnr2fyW39Ah85H8O33ELASQxcvOFF5LE6Tjekcyu2ms4qAzJVhSaJxTw==", + "license": "MIT", "dependencies": { - "@octokit/types": "^9.0.0", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", "bottleneck": "^2.15.3" }, "engines": { - "node": ">= 14" + "node": ">= 20" }, "peerDependencies": { - "@octokit/core": ">=3" + "@octokit/core": ">=7" } }, "node_modules/@octokit/plugin-throttling": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.0.tgz", - "integrity": "sha512-B5YTToSRTzNSeEyssnrT7WwGhpIdbpV9NKIs3KyTWHX6PhpYn7gqF/+lL3BvsASBM3Sg5BAUYk7KZx5p/Ec77w==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-11.0.3.tgz", + "integrity": "sha512-34eE0RkFCKycLl2D2kq7W+LovheM/ex3AwZCYN8udpi6bxsyjZidb2McXs69hZhLmJlDqTSP8cH+jSRpiaijBg==", + "license": "MIT", "dependencies": { - "@octokit/types": "^13.0.0", + "@octokit/types": "^16.0.0", "bottleneck": "^2.15.3" }, "engines": { - "node": ">= 18" + "node": ">= 20" }, "peerDependencies": { - "@octokit/core": "^6.0.0" - } - }, - "node_modules/@octokit/plugin-throttling/node_modules/@octokit/openapi-types": { - "version": "22.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==" - }, - "node_modules/@octokit/plugin-throttling/node_modules/@octokit/types": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", - "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", - "dependencies": { - "@octokit/openapi-types": "^22.2.0" + "@octokit/core": "^7.0.0" } }, "node_modules/@octokit/request": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.1.tgz", - "integrity": "sha512-pyAguc0p+f+GbQho0uNetNQMmLG1e80WjkIaqqgUkihqUp0boRU6nKItXO4VWnr+nbZiLGEyy4TeKRwqaLvYgw==", - "peer": true, + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.8.tgz", + "integrity": "sha512-SJZNwY9pur9Agf7l87ywFi14W+Hd9Jg6Ifivsd33+/bGUQIjNujdFiXII2/qSlN2ybqUHfp5xpekMEjIBTjlSw==", + "license": "MIT", "dependencies": { - "@octokit/endpoint": "^10.0.0", - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^13.1.0", + "@octokit/endpoint": "^11.0.3", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "fast-content-type-parse": "^3.0.0", + "json-with-bigint": "^3.5.3", "universal-user-agent": "^7.0.2" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/request-error": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.1.tgz", - "integrity": "sha512-1mw1gqT3fR/WFvnoVpY/zUM2o/XkMs/2AszUUG9I69xn0JFLv6PGkPhNk5lbfvROs79wiS0bqiJNxfCZcRJJdg==", - "peer": true, + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.1.0.tgz", + "integrity": "sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw==", + "license": "MIT", "dependencies": { - "@octokit/types": "^13.0.0" + "@octokit/types": "^16.0.0" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, - "node_modules/@octokit/request-error/node_modules/@octokit/openapi-types": { - "version": "22.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", - "peer": true - }, - "node_modules/@octokit/request-error/node_modules/@octokit/types": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", - "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", - "peer": true, - "dependencies": { - "@octokit/openapi-types": "^22.2.0" - } - }, - "node_modules/@octokit/request/node_modules/@octokit/openapi-types": { - "version": "22.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", - "peer": true - }, - "node_modules/@octokit/request/node_modules/@octokit/types": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", - "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", - "peer": true, - "dependencies": { - "@octokit/openapi-types": "^22.2.0" - } - }, - "node_modules/@octokit/request/node_modules/universal-user-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", - "peer": true - }, "node_modules/@octokit/types": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", - "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz", + "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==", + "license": "MIT", "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "@octokit/openapi-types": "^27.0.0" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "node_modules/@oxc-project/types": { + "version": "0.132.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.132.0.tgz", + "integrity": "sha512-FESMOxil5Se014ui/Eq8fT5uHJo6nIRwH0PfJrZJXs6Gek3ZVFOrpUv3YIZT20m+extU98Hg1Ym72U58rlsxUQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.2.tgz", + "integrity": "sha512-ZS4D1JPGn/MYQN/SYDWftIE/nVsM8j/AFOYEzAoOE2O3NktQOZru+/vYXGbR/qtdLdIfGCP0lcoJiYVzsEz+iQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=14" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.2.tgz", + "integrity": "sha512-vdFA9+C/rekyGce7WqHs/xoT0ioZEWaOFyZLIV1mEeNFaFDUQrPIo8Vs2GvJ6eetb3rzDUtUBgzto3ExpXJB3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.2.tgz", + "integrity": "sha512-BewSOwTHazv77DTYiAZXSqqKZ4KP/KonFisDMVU7PImxoWfB2aepnPhd2E4SWz3zDzYgDNbs6jBmTdgNnF02GA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.2.tgz", + "integrity": "sha512-m41o7M0YWtUdqk61Tb+jnKb2rN++iRdIASlExkUoKfIAH30DOHCB8fVLzSUpbWHHU8esmEioY62PxzexE8MBuA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.2.tgz", + "integrity": "sha512-jcojB9H7W/jS29pMKWAK1N+fU99vXodHDTatS3b3y/XSOCiHo0kkA74pL3jJmkoQtYpOCxDvaKs1fo2Ij/1X5w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.2.tgz", + "integrity": "sha512-1jn6qDU5iiOgFgygDzKUuKP0maTi0/f1+sBLgvij/76C77Nm3ts6ufz9Bjg5q5dduxiUIxtq86JIoBvo1xQ4Ig==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.2.tgz", + "integrity": "sha512-QVLO/czFMdoMFSqlX3bcswcJNm/23r+qoa/jgtmFc/qEp6/jXmIkDjF/XIo8dPfGaiwy1xfQn8o77L79GeXFgw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.2.tgz", + "integrity": "sha512-hgO5Abm0w5UL6FEa2iFnZqo2KlK7TQ5QhV5x09hujBf7t5KzHQ1VmfPuTpqRy/rNlSxua3eWH374xxiVrP+lcA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.2.tgz", + "integrity": "sha512-fy8rXxuYEu602abC8MUNaPjYLIFzReOaEIEMKMUa0rFEUxNpVXhs15KSSQ4qlqSaM7B6rcj9rDZgADh/IGDzLQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.2.tgz", + "integrity": "sha512-0+bOkiQ779+r1WpoHOWHqncvyySci0vKph+myNDYb+im6meJAzHQXay6oEgnkHuUGouM1LKTZwqKpBow6Kj7CQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.2.tgz", + "integrity": "sha512-mjSkrzZK5Qsl0a9d1JgILOiuZOSDTVdKENcSXBoqbzSrspLR/4/IRVDo5wd2GgZjNss/viBFJdeq+j7qH2nypw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.2.tgz", + "integrity": "sha512-1v5vHasdfQAZoEHakBV72LIFAC9JjnymsiKxp+GEr/ma3+NJCPSaYK+qavInOovJkgwFrs7GccX2d6IgDA3Z5w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.2.tgz", + "integrity": "sha512-mb1VobWn6NheziTk5/WEaR6AKVbrwT5sOi6C7zk3gy/pD1qtJfU1j4PgTo2NJnOtbL9Dl3Aeei8w9jJ7qC2jZQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.2.tgz", + "integrity": "sha512-SqKonF56vA/L2yHwHYcEp2P34URpOZ7d1fS635cTkpDnUtEGdUbhI6NzsPdqeSWvAAeGDrxjWjNmibDIdFf9/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.2.tgz", + "integrity": "sha512-v7qRI7gXLRINcOGXt+7YmAZ6iFuyZVMIoXAxhd8oP+DR9dLfL9GfNIx7PLMxmhZdvq8waUJBQiWN9EKNy+TRBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", "dev": true }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "type-detect": "4.0.8" + "tslib": "^2.4.0" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", "dev": true, + "license": "MIT", "dependencies": { - "@sinonjs/commons": "^3.0.0" + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" } }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } + "license": "MIT" }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", - "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } + "license": "MIT" }, "node_modules/@types/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-9.0.0.tgz", + "integrity": "sha512-00UxlRaIUvYm4R4W9WYkN8/J+kV8fmOQ7okeH6YFtGWFMt3odD45tpG5yA5wnL7HE6lLgjaTW5n14ju2hl2NNA==", + "deprecated": "This is a stub types definition. glob provides its own type definitions, so you do not need this installed.", "dev": true, + "license": "MIT", "dependencies": { - "@types/minimatch": "^5.1.2", - "@types/node": "*" + "glob": "*" } }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "node_modules/@types/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRMsfuQbnRq1Ef+C+RKaENOxXX87Ygl38W1vDfPHRku02TgQr+Qd8iivLtAMcR0KF5/29xlnFihkTlbqFrGOVQ==", "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "29.5.12", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", - "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", - "dev": true, - "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - } - }, - "node_modules/@types/mime": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.4.tgz", - "integrity": "sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true + "license": "MIT" }, "node_modules/@types/node": { - "version": "20.14.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.6.tgz", - "integrity": "sha512-JbA0XIJPL1IiNnU7PFxDXyfAwcwVVrOoqyzzyQTyMeVhBzkJVMSkC1LlVsRQ2lpqiY4n6Bb9oCS6lzDKVQxbZw==", + "version": "24.12.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.12.4.tgz", + "integrity": "sha512-GUUEShf+PBCGW2KaXwcIt3Yk+e3pkKwWKb9GSyM9WQVE+ep2jzmHdGsHzu4wgcZy5fN9FBdVzjpBQsYlpfpgLA==", "dev": true, + "license": "MIT", "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~7.16.0" } }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true - }, - "node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "node_modules/@vitest/coverage-v8": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.1.6.tgz", + "integrity": "sha512-36l628fQ/9a/8ihy97eOtEnvWQEdqULQOJtcaxtoNq0G1w3Mxd4szSahOaMM9/NGyZ+hyKcMtIW/WIxq0XQViQ==", "dev": true, + "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "@bcoe/v8-coverage": "^1.0.2", + "@vitest/utils": "4.1.6", + "ast-v8-to-istanbul": "^1.0.0", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-reports": "^3.2.0", + "magicast": "^0.5.2", + "obug": "^2.1.1", + "std-env": "^4.0.0-rc.1", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/browser": "4.1.6", + "vitest": "4.1.6" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true + "node_modules/@vitest/coverage-v8/node_modules/@bcoe/v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz", + "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } }, - "node_modules/@vercel/ncc": { - "version": "0.38.1", - "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.38.1.tgz", - "integrity": "sha512-IBBb+iI2NLu4VQn3Vwldyi2QwaXt5+hTyh58ggAMoCGE6DJmPvwL3KPBWcJl1m9LYPChBLE980Jw+CS4Wokqxw==", + "node_modules/@vitest/expect": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.6.tgz", + "integrity": "sha512-7EHDquPthALSV0jhhjgEW8FXaviMx7rSqu8W6oqCoAuOhKov814P99QDV1pxMA3QPv21YudvJngIhjrNI4opLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.1.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.1.6", + "@vitest/utils": "4.1.6", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.6.tgz", + "integrity": "sha512-MCFc63czMjEInOlcY2cpQCvCN+KgbAn+60xu9cMgP4sKaLC5JNAKw7JH8QdAnoAC88hW1IiSNZ+GgVXlN1UcMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "4.1.6", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.6.tgz", + "integrity": "sha512-h5SxD/IzNhZYnrSZRsUZQIC+vD0GY8cUvq0iwsmkFKixRCKLLWqCXa/FIQ4S1R+sI+PGoojkHsdNrbZiM9Qpgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.6.tgz", + "integrity": "sha512-nOPCmn2+yD0ZNmKdsXGv/UxMMWbMuKeD6GyYncNwdkYDxpQvrPSKYj2rWuDjC2Y4b6w6hjip5dBKFzEUuZe3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.1.6", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.6.tgz", + "integrity": "sha512-YhsdE6xAVfTDmzjxL2ZDUvjj+ZsgyOKe+TdQzqkD72wIOmHka8NuGQ6NpTNZv9D2Z63fbwWKJPeVpEw4EQgYxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.6", + "@vitest/utils": "4.1.6", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.6.tgz", + "integrity": "sha512-JFKxMx6udhwKh/Ldo270e17QX710vgunMkuPAvXjHSvC6oqLWAHhVhjg/I71q0u0CBSErIODV1Kjv0FQNSWjdg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.6.tgz", + "integrity": "sha512-FxIY+U81R3LGKCxaHHFRQ5+g6/iRgGLmeHWdp2Amj4ljQRrEIWHmZyDfDYBRZlpyqA7qKxtS9DD1dhk8RnRIVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.6", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { - "ncc": "dist/ncc/cli.js" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" + "acorn": "bin/acorn" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.4.0" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "acorn": "^8.11.0" }, "engines": { - "node": ">= 8" + "node": ">=0.4.0" } }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true }, - "node_modules/babel-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, - "dependencies": { - "@jest/transform": "^29.7.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "node": ">=12" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "node_modules/ast-v8-to-istanbul": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-1.0.0.tgz", + "integrity": "sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "@jridgewell/trace-mapping": "^0.3.31", + "estree-walker": "^3.0.3", + "js-tokens": "^10.0.0" } }, "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/before-after-hook": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } }, "node_modules/bottleneck": { "version": "2.19.5", @@ -1847,214 +1442,27 @@ "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==" }, "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "dependencies": { - "fill-range": "^7.1.1" + "balanced-match": "^4.0.2" }, "engines": { - "node": ">=8" + "node": "18 || 20 || >=22" } }, - "node_modules/browserslist": { - "version": "4.23.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", - "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", + "node_modules/chai": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001629", - "electron-to-chromium": "^1.4.796", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.16" - }, - "bin": { - "browserslist": "cli.js" - }, + "license": "MIT", "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=18" } }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001636", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz", - "integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", - "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==", - "dev": true - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -2067,120 +1475,38 @@ "integrity": "sha512-aE2Y4MTFJ870NuB/+2z1cXBhSBBzRydVVjzhFC4gtenEhpnj15yu0qptWGJsO9YGrcPZ3ezX8AWb1VA391MKpQ==", "dev": true }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true }, - "node_modules/create-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "prompts": "^2.0.1" - }, - "bin": { - "create-jest": "bin/create-jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/dedent": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", - "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", - "dev": true, - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" - }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=8" } }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.3.1" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, "node_modules/editorconfig": { "version": "0.15.3", "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", @@ -2221,195 +1547,116 @@ "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", "dev": true }, - "node_modules/electron-to-chromium": { - "version": "1.4.806", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.806.tgz", - "integrity": "sha512-nkoEX2QIB8kwCOtvtgwhXWy2IHVcOLQZu9Qo36uaGB835mdX/h8uLRlosL6QIhLVUnAiicXRW00PwaPZC74Nrg==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { + "node_modules/es-module-lexer": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "node_modules/esbuild": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.0.tgz", + "integrity": "sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==", "dev": true, + "hasInstallScript": true, + "license": "MIT", "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.28.0", + "@esbuild/android-arm": "0.28.0", + "@esbuild/android-arm64": "0.28.0", + "@esbuild/android-x64": "0.28.0", + "@esbuild/darwin-arm64": "0.28.0", + "@esbuild/darwin-x64": "0.28.0", + "@esbuild/freebsd-arm64": "0.28.0", + "@esbuild/freebsd-x64": "0.28.0", + "@esbuild/linux-arm": "0.28.0", + "@esbuild/linux-arm64": "0.28.0", + "@esbuild/linux-ia32": "0.28.0", + "@esbuild/linux-loong64": "0.28.0", + "@esbuild/linux-mips64el": "0.28.0", + "@esbuild/linux-ppc64": "0.28.0", + "@esbuild/linux-riscv64": "0.28.0", + "@esbuild/linux-s390x": "0.28.0", + "@esbuild/linux-x64": "0.28.0", + "@esbuild/netbsd-arm64": "0.28.0", + "@esbuild/netbsd-x64": "0.28.0", + "@esbuild/openbsd-arm64": "0.28.0", + "@esbuild/openbsd-x64": "0.28.0", + "@esbuild/openharmony-arm64": "0.28.0", + "@esbuild/sunos-x64": "0.28.0", + "@esbuild/win32-arm64": "0.28.0", + "@esbuild/win32-ia32": "0.28.0", + "@esbuild/win32-x64": "0.28.0" } }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, + "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "@types/estree": "^1.0.0" } }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "node_modules/expect-type": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">= 0.8.0" + "node": ">=12.0.0" } }, - "node_modules/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "node_modules/fast-content-type-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz", + "integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, - "dependencies": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" - }, + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" + "node": ">=12.0.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "peerDependencies": { + "picomatch": "^3 || ^4" }, - "engines": { - "node": ">=8" + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "node_modules/foreground-child": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", - "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -2418,240 +1665,39 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/glob": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", - "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "license": "BlueOak-1.0.0", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "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.", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "license": "MIT" }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", @@ -2662,39 +1708,12 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-instrument": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", - "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/istanbul-lib-report": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -2704,25 +1723,12 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/istanbul-reports": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -2731,774 +1737,309 @@ "node": ">=8" } }, - "node_modules/jackspeak": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", - "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", - "dev": true, - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.7.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", - "dev": true, - "dependencies": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.7.0", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.7.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", - "dev": true, - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-config": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-jest": "^29.7.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-config/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/jest-config/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/jest-config/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-docblock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-leak-detector": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", - "dev": true, - "dependencies": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runner": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", - "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/globals": "^29.7.0", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runtime/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/jest-runtime/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/jest-runtime/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-10.0.0.tgz", + "integrity": "sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==", "dev": true, + "license": "MIT" + }, + "node_modules/json-with-bigint": { + "version": "3.5.7", + "resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.5.7.tgz", + "integrity": "sha512-7ei3MdAI5+fJPVnKlW77TKNKwQ5ppSzWvhPuSuINT/GYW9ZOC1eRKOuhV9yHG5aEsUPj9BBx5JIekkmoLHxZOw==", + "license": "MIT" + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" + "detect-libc": "^2.0.3" }, "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" + "node": ">= 12.0.0" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" }, - "engines": { - "node": ">=8" + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" } }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } }, "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "dev": true, + "license": "MIT", "dependencies": { - "yallist": "^3.0.2" + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/magicast": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.2.tgz", + "integrity": "sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "source-map-js": "^1.2.1" } }, "node_modules/make-dir": { @@ -3506,6 +2047,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -3516,514 +2058,238 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", - "dev": true, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" + "mime-db": "^1.54.0" }, "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "bin": { - "mime": "cli.js" + "node": ">=18" }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", + "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^5.0.2" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "license": "BlueOak-1.0.0", "engines": { "node": ">=16 || 14 >=14.17" } }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" } - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=8" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/obug": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", + "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT" }, "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", - "engines": { - "node": "14 || >=16.14" - } + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" }, "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/postcss": { + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "find-up": "^4.0.0" + "nanoid": "^3.3.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { - "node": ">=8" + "node": "^10 || ^12 || >=14" } }, "node_modules/prettier": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.0.tgz", - "integrity": "sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz", + "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", "dev": true, + "license": "MIT", "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "dev": true }, - "node_modules/pure-rand": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", - "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ] - }, - "node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "node_modules/rolldown": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.2.tgz", + "integrity": "sha512-oZx5zVDtVB44AW3eaifgDml1gWRDZGvjcfdxonE4swNPG98PrrXjaO/KrnUjzlMnztCCRVlUueA1kCXhARGk6g==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "@oxc-project/types": "=0.132.0", + "@rolldown/pluginutils": "^1.0.0" }, "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" + "rolldown": "bin/cli.mjs" }, "engines": { - "node": ">=8" + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.2", + "@rolldown/binding-darwin-arm64": "1.0.2", + "@rolldown/binding-darwin-x64": "1.0.2", + "@rolldown/binding-freebsd-x64": "1.0.2", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.2", + "@rolldown/binding-linux-arm64-gnu": "1.0.2", + "@rolldown/binding-linux-arm64-musl": "1.0.2", + "@rolldown/binding-linux-ppc64-gnu": "1.0.2", + "@rolldown/binding-linux-s390x-gnu": "1.0.2", + "@rolldown/binding-linux-x64-gnu": "1.0.2", + "@rolldown/binding-linux-x64-musl": "1.0.2", + "@rolldown/binding-openharmony-arm64": "1.0.2", + "@rolldown/binding-wasm32-wasi": "1.0.2", + "@rolldown/binding-win32-arm64-msvc": "1.0.2", + "@rolldown/binding-win32-x64-msvc": "1.0.2" } }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, "engines": { "node": ">=10" } }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/shebang-command": { + "node_modules/siginfo": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" }, "node_modules/sigmund": { "version": "1.0.1", @@ -4031,162 +2297,36 @@ "integrity": "sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==", "dev": true }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } + "license": "MIT" }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { + "node_modules/std-env": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.0.0.tgz", + "integrity": "sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==", "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT" }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4194,165 +2334,100 @@ "node": ">=8" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "node_modules/tinyrainbow": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/ts-jest": { - "version": "29.1.5", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.5.tgz", - "integrity": "sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg==", - "dev": true, - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" }, "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" }, "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/transform": "^29.0.0", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" }, "peerDependenciesMeta": { - "@babel/core": { + "@swc/core": { "optional": true }, - "@jest/transform": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { + "@swc/wasm": { "optional": true } } }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } + "license": "0BSD", + "optional": true }, "node_modules/tunnel": { "version": "0.0.6", @@ -4362,38 +2437,18 @@ "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/typescript-formatter": { @@ -4416,220 +2471,225 @@ } }, "node_modules/undici": { - "version": "5.28.4", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", - "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", - "dependencies": { - "@fastify/busboy": "^2.0.0" - }, + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.24.1.tgz", + "integrity": "sha512-sC+b0tB1whOCzbtlx20fx3WgCXwkW627p4EA9uM+/tNNPkSS+eSEld6pAs9nDv7WbY1UUljBMYPtu9BCOrCWKA==", + "license": "MIT", "engines": { - "node": ">=14.0" + "node": ">=18.17" } }, "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT" }, "node_modules/universal-user-agent": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", - "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==" + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", + "license": "ISC" }, - "node_modules/update-browserslist-db": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", - "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-to-istanbul": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/webidl-conversions": { + "node_modules/v8-compile-cache-lib": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "node_modules/vite": { + "version": "8.0.14", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.14.tgz", + "integrity": "sha512-s4BJJ+5y1pYL6Otw51FHhVJQhPnuRinKig64g/1+EUNaJsd3gCKdD31IPFvswUgW9/60QT9oFHbZHbQK5imcxw==", "dev": true, + "license": "MIT", "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.15", + "rolldown": "1.0.2", + "tinyglobby": "^0.2.16" + }, + "bin": { + "vite": "bin/vite.js" }, "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" + "node": "^20.19.0 || >=22.12.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.18", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vitest": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.6.tgz", + "integrity": "sha512-6lvjbS3p9b4CrdCmguzbh2/4uoXhGE2q71R4OX5sqF9R1bo9Xd6fGrMAfvp5wnCzlBnFVdCOp6onuTQVbo8iUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.1.6", + "@vitest/mocker": "4.1.6", + "@vitest/pretty-format": "4.1.6", + "@vitest/runner": "4.1.6", + "@vitest/snapshot": "4.1.6", + "@vitest/spy": "4.1.6", + "@vitest/utils": "4.1.6", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^4.0.0-rc.1", + "tinybench": "^2.9.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.1.6", + "@vitest/browser-preview": "4.1.6", + "@vitest/browser-webdriverio": "4.1.6", + "@vitest/coverage-istanbul": "4.1.6", + "@vitest/coverage-v8": "4.1.6", + "@vitest/ui": "4.1.6", + "happy-dom": "*", + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "vite": { + "optional": false + } + } + }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" } } } diff --git a/package.json b/package.json index f9cbc10..b218c01 100644 --- a/package.json +++ b/package.json @@ -1,15 +1,17 @@ { "name": "action-gh-release", - "version": "2.0.6", + "version": "3.0.0", "private": true, "description": "GitHub Action for creating GitHub Releases", "main": "lib/main.js", "scripts": { - "build": "ncc build src/main.ts --minify", - "test": "jest", + "build": "esbuild src/main.ts --bundle --platform=node --format=cjs --target=node24 --outfile=dist/index.js --minify", + "build-debug": "esbuild src/main.ts --bundle --platform=node --format=cjs --target=node24 --outfile=dist/index.js --sourcemap --keep-names", + "typecheck": "tsc --noEmit", + "test": "vitest --coverage", "fmt": "prettier --write \"src/**/*.ts\" \"__tests__/**/*.ts\"", "fmtcheck": "prettier --check \"src/**/*.ts\" \"__tests__/**/*.ts\"", - "updatetag": "git tag -d v2 && git push origin :v2 && git tag -a v2 -m '' && git push origin v2" + "updatetag": "git tag -d v3 >/dev/null 2>&1 || true; git push origin :v3 >/dev/null 2>&1 || true; git tag -a v3 -m '' && git push origin v3" }, "repository": { "type": "git", @@ -19,25 +21,27 @@ "actions" ], "author": "softprops", + "engines": { + "node": ">=24" + }, "dependencies": { - "@actions/core": "^1.10.0", - "@actions/github": "^5.1.1", - "@octokit/plugin-retry": "^4.0.3", - "@octokit/plugin-throttling": "^9.3.0", - "glob": "^10.4.2", - "mime": "^3.0.0" + "@actions/core": "^3.0.1", + "@actions/github": "^9.1.1", + "@octokit/plugin-retry": "^8.1.0", + "@octokit/plugin-throttling": "^11.0.3", + "glob": "^13.0.6", + "mime-types": "^3.0.2" }, "devDependencies": { - "@types/glob": "^8.1.0", - "@types/jest": "^29.5.12", - "@types/mime": "^3.0.1", - "@types/node": "^20.14.6", - "@vercel/ncc": "^0.38.1", - "jest": "^29.3.1", - "jest-circus": "^29.3.1", - "prettier": "2.8.0", - "ts-jest": "^29.1.4", - "typescript": "^4.9.3", - "typescript-formatter": "^7.2.2" + "@types/glob": "^9.0.0", + "@types/mime-types": "^3.0.1", + "@types/node": "^24", + "@vitest/coverage-v8": "^4.1.6", + "esbuild": "^0.28.0", + "prettier": "3.8.3", + "ts-node": "^10.9.2", + "typescript": "^6.0.3", + "typescript-formatter": "^7.2.2", + "vitest": "^4.0.4" } } diff --git a/src/github.ts b/src/github.ts index c3dd7a9..df52433 100644 --- a/src/github.ts +++ b/src/github.ts @@ -1,8 +1,9 @@ -import { GitHub } from "@actions/github/lib/utils"; -import { Config, isTag, releaseBody } from "./util"; -import { statSync, readFileSync } from "fs"; -import { getType } from "mime"; -import { basename } from "path"; +import { GitHub } from '@actions/github/lib/utils'; +import { statSync } from 'fs'; +import { open } from 'fs/promises'; +import { lookup } from 'mime-types'; +import { basename } from 'path'; +import { alignAssetName, Config, isTag, normalizeTagName, releaseBody } from './util'; type GitHub = InstanceType; @@ -10,7 +11,6 @@ export interface ReleaseAsset { name: string; mime: string; size: number; - data: Buffer; } export interface Release { @@ -23,49 +23,84 @@ export interface Release { target_commitish: string; draft: boolean; prerelease: boolean; - assets: Array<{ id: number; name: string }>; + assets: Array<{ id: number; name: string; label?: string | null }>; } +export interface ReleaseResult { + release: Release; + created: boolean; +} + +type ReleaseNotesParams = { + owner: string; + repo: string; + tag_name: string; + target_commitish: string | undefined; + previous_tag_name?: string; +}; + +type ReleaseMutationParams = { + owner: string; + repo: string; + tag_name: string; + name: string; + body: string | undefined; + draft: boolean | undefined; + prerelease: boolean | undefined; + target_commitish: string | undefined; + discussion_category_name: string | undefined; + generate_release_notes: boolean | undefined; + make_latest: 'true' | 'false' | 'legacy' | undefined; + previous_tag_name?: string; +}; + export interface Releaser { - getReleaseByTag(params: { - owner: string; - repo: string; - tag: string; - }): Promise<{ data: Release }>; + getReleaseByTag(params: { owner: string; repo: string; tag: string }): Promise<{ data: Release }>; - createRelease(params: { - owner: string; - repo: string; - tag_name: string; - name: string; - body: string | undefined; - draft: boolean | undefined; - prerelease: boolean | undefined; - target_commitish: string | undefined; - discussion_category_name: string | undefined; - generate_release_notes: boolean | undefined; - make_latest: string | undefined; - }): Promise<{ data: Release }>; + createRelease(params: ReleaseMutationParams): Promise<{ data: Release }>; - updateRelease(params: { + updateRelease( + params: ReleaseMutationParams & { + release_id: number; + target_commitish: string; + }, + ): Promise<{ data: Release }>; + + finalizeRelease(params: { owner: string; repo: string; release_id: number; - tag_name: string; - target_commitish: string; - name: string; - body: string | undefined; - draft: boolean | undefined; - prerelease: boolean | undefined; + make_latest: 'true' | 'false' | 'legacy' | undefined; discussion_category_name: string | undefined; - generate_release_notes: boolean | undefined; - make_latest: string | undefined; }): Promise<{ data: Release }>; - allReleases(params: { + allReleases(params: { owner: string; repo: string }): AsyncIterable<{ data: Release[] }>; + + listReleaseAssets(params: { owner: string; repo: string; - }): AsyncIterableIterator<{ data: Release[] }>; + release_id: number; + }): Promise>; + + deleteReleaseAsset(params: { owner: string; repo: string; asset_id: number }): Promise; + + deleteRelease(params: { owner: string; repo: string; release_id: number }): Promise; + + updateReleaseAsset(params: { + owner: string; + repo: string; + asset_id: number; + name: string; + label: string; + }): Promise<{ data: any }>; + + uploadReleaseAsset(params: { + url: string; + size: number; + mime: string; + token: string; + data: any; + }): Promise<{ status: number; data: any }>; } export class GitHubReleaser implements Releaser { @@ -82,48 +117,141 @@ export class GitHubReleaser implements Releaser { return this.github.rest.repos.getReleaseByTag(params); } - createRelease(params: { - owner: string; - repo: string; - tag_name: string; - name: string; - body: string | undefined; - draft: boolean | undefined; - prerelease: boolean | undefined; - target_commitish: string | undefined; - discussion_category_name: string | undefined; - generate_release_notes: boolean | undefined; - make_latest: string | undefined; - }): Promise<{ data: Release }> { - return this.github.rest.repos.createRelease(params); + async getReleaseNotes(params: ReleaseNotesParams): Promise<{ + data: { + name: string; + body: string; + }; + }> { + return await this.github.rest.repos.generateReleaseNotes(params); } - updateRelease(params: { + private async prepareReleaseMutation( + params: T, + ): Promise> { + const { previous_tag_name, ...releaseParams } = params; + + if ( + typeof releaseParams.make_latest === 'string' && + !['true', 'false', 'legacy'].includes(releaseParams.make_latest) + ) { + releaseParams.make_latest = undefined; + } + if (releaseParams.generate_release_notes) { + const releaseNotes = await this.getReleaseNotes({ + owner: releaseParams.owner, + repo: releaseParams.repo, + tag_name: releaseParams.tag_name, + target_commitish: releaseParams.target_commitish, + previous_tag_name, + }); + releaseParams.generate_release_notes = false; + if (releaseParams.body) { + releaseParams.body = `${releaseParams.body}\n\n${releaseNotes.data.body}`; + } else { + releaseParams.body = releaseNotes.data.body; + } + } + releaseParams.body = releaseParams.body + ? this.truncateReleaseNotes(releaseParams.body) + : undefined; + return releaseParams; + } + + truncateReleaseNotes(input: string): string { + // release notes can be a maximum of 125000 characters + const githubNotesMaxCharLength = 125000; + return input.substring(0, githubNotesMaxCharLength - 1); + } + + async createRelease(params: ReleaseMutationParams): Promise<{ data: Release }> { + return this.github.rest.repos.createRelease(await this.prepareReleaseMutation(params)); + } + + async updateRelease( + params: ReleaseMutationParams & { + release_id: number; + target_commitish: string; + }, + ): Promise<{ data: Release }> { + return this.github.rest.repos.updateRelease(await this.prepareReleaseMutation(params)); + } + + async finalizeRelease(params: { owner: string; repo: string; release_id: number; - tag_name: string; - target_commitish: string; - name: string; - body: string | undefined; - draft: boolean | undefined; - prerelease: boolean | undefined; + make_latest: 'true' | 'false' | 'legacy' | undefined; discussion_category_name: string | undefined; - generate_release_notes: boolean | undefined; - make_latest: string | undefined; - }): Promise<{ data: Release }> { - return this.github.rest.repos.updateRelease(params); + }) { + return await this.github.rest.repos.updateRelease({ + owner: params.owner, + repo: params.repo, + release_id: params.release_id, + draft: false, + make_latest: params.make_latest, + discussion_category_name: params.discussion_category_name, + }); } - allReleases(params: { - owner: string; - repo: string; - }): AsyncIterableIterator<{ data: Release[] }> { + allReleases(params: { owner: string; repo: string }): AsyncIterable<{ data: Release[] }> { const updatedParams = { per_page: 100, ...params }; return this.github.paginate.iterator( - this.github.rest.repos.listReleases.endpoint.merge(updatedParams) + this.github.rest.repos.listReleases.endpoint.merge(updatedParams), ); } + + async listReleaseAssets(params: { + owner: string; + repo: string; + release_id: number; + }): Promise> { + return this.github.paginate(this.github.rest.repos.listReleaseAssets, { + ...params, + per_page: 100, + }); + } + + async deleteReleaseAsset(params: { + owner: string; + repo: string; + asset_id: number; + }): Promise { + await this.github.rest.repos.deleteReleaseAsset(params); + } + + async deleteRelease(params: { owner: string; repo: string; release_id: number }): Promise { + await this.github.rest.repos.deleteRelease(params); + } + + async updateReleaseAsset(params: { + owner: string; + repo: string; + asset_id: number; + name: string; + label: string; + }): Promise<{ data: any }> { + return await this.github.rest.repos.updateReleaseAsset(params); + } + + async uploadReleaseAsset(params: { + url: string; + size: number; + mime: string; + token: string; + data: any; + }): Promise<{ status: number; data: any }> { + return this.github.request({ + method: 'POST', + url: params.url, + headers: { + 'content-length': `${params.size}`, + 'content-type': params.mime, + authorization: `token ${params.token}`, + }, + data: params.data, + }); + } } export const asset = (path: string): ReleaseAsset => { @@ -131,137 +259,315 @@ export const asset = (path: string): ReleaseAsset => { name: basename(path), mime: mimeOrDefault(path), size: statSync(path).size, - data: readFileSync(path), }; }; export const mimeOrDefault = (path: string): string => { - return getType(path) || "application/octet-stream"; + return lookup(path) || 'application/octet-stream'; }; +const releaseAssetMatchesName = ( + name: string, + asset: { name: string; label?: string | null }, +): boolean => asset.name === name || asset.name === alignAssetName(name) || asset.label === name; + +const isReleaseAssetUpdateNotFound = (error: any): boolean => { + const errorStatus = error?.status ?? error?.response?.status; + const requestUrl = error?.request?.url; + const errorMessage = error?.message; + const isReleaseAssetRequest = + typeof requestUrl === 'string' && + (/\/releases\/assets\//.test(requestUrl) || /\/releases\/\d+\/assets(?:\?|$)/.test(requestUrl)); + + return ( + errorStatus === 404 && + (isReleaseAssetRequest || + (typeof errorMessage === 'string' && errorMessage.includes('update-a-release-asset'))) + ); +}; + +const isImmutableReleaseAssetUploadFailure = (error: any): boolean => { + const errorStatus = error?.status ?? error?.response?.status; + const errorMessage = error?.response?.data?.message ?? error?.message; + + return errorStatus === 422 && /immutable release/i.test(String(errorMessage)); +}; + +const immutableReleaseAssetUploadMessage = ( + name: string, + prerelease: boolean | undefined, +): string => + prerelease + ? `Cannot upload asset ${name} to an immutable release. GitHub only allows asset uploads before a release is published, but draft prereleases publish with the release.published event instead of release.prereleased. If you need prereleases with assets on an immutable-release repository, keep the release as a draft with draft: true, then publish it later from that draft and subscribe downstream workflows to release.published.` + : `Cannot upload asset ${name} to an immutable release. GitHub only allows asset uploads before a release is published, so upload assets to a draft release before you publish it.`; + export const upload = async ( config: Config, - github: GitHub, + releaser: Releaser, url: string, path: string, - currentAssets: Array<{ id: number; name: string }> + currentAssets: Array<{ id: number; name: string; label?: string | null }>, ): Promise => { - const [owner, repo] = config.github_repository.split("/"); - const { name, size, mime, data: body } = asset(path); + const [owner, repo] = config.github_repository.split('/'); + const { name, mime, size } = asset(path); + const releaseIdMatch = url.match(/\/releases\/(\d+)\/assets/); + const releaseId = releaseIdMatch ? Number(releaseIdMatch[1]) : undefined; const currentAsset = currentAssets.find( - // note: GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "List release assets" endpoint lists the renamed filenames. - // due to this renaming we need to be mindful when we compare the file name we're uploading with a name github may already have rewritten for logical comparison - // see https://docs.github.com/en/rest/releases/assets?apiVersion=2022-11-28#upload-a-release-asset - ({ name: currentName }) => currentName == name.replace(" ", ".") + // GitHub can rewrite uploaded asset names, so compare against both the raw name + // GitHub returns and the restored label we set when available. + (currentAsset) => releaseAssetMatchesName(name, currentAsset), ); if (currentAsset) { - console.log(`♻️ Deleting previously uploaded asset ${name}...`); - await github.rest.repos.deleteReleaseAsset({ - asset_id: currentAsset.id || 1, - owner, - repo, - }); + if (config.input_overwrite_files === false) { + console.log(`Asset ${name} already exists and overwrite_files is false...`); + return null; + } else { + console.log(`♻️ Deleting previously uploaded asset ${name}...`); + await releaser.deleteReleaseAsset({ + asset_id: currentAsset.id || 1, + owner, + repo, + }); + } } console.log(`⬆️ Uploading ${name}...`); const endpoint = new URL(url); - endpoint.searchParams.append("name", name); - const resp = await github.request({ - method: "POST", - url: endpoint.toString(), - headers: { - "content-length": `${size}`, - "content-type": mime, - authorization: `token ${config.github_token}`, - }, - data: body, - }); - const json = resp.data; - if (resp.status !== 201) { - throw new Error( - `Failed to upload release asset ${name}. received status code ${ - resp.status - }\n${json.message}\n${JSON.stringify(json.errors)}` - ); + endpoint.searchParams.append('name', name); + const findReleaseAsset = async ( + matches: (asset: { id: number; name: string; label?: string | null }) => boolean, + attempts: number = 3, + ) => { + if (releaseId === undefined) { + return undefined; + } + + for (let attempt = 1; attempt <= attempts; attempt++) { + const latestAssets = await releaser.listReleaseAssets({ + owner, + repo, + release_id: releaseId, + }); + const latestAsset = latestAssets.find(matches); + if (latestAsset) { + return latestAsset; + } + + if (attempt < attempts) { + await new Promise((resolve) => setTimeout(resolve, 1000)); + } + } + + return undefined; + }; + const uploadAsset = async () => { + const fh = await open(path); + try { + return await releaser.uploadReleaseAsset({ + url: endpoint.toString(), + size, + mime, + token: config.github_token, + data: fh.readableWebStream(), + }); + } finally { + await fh.close(); + } + }; + + const maybeRestoreAssetLabel = async (uploadedAsset: { + id?: number; + name?: string; + label?: string | null; + [key: string]: any; + }) => { + if (!uploadedAsset.name || uploadedAsset.name === name || !uploadedAsset.id) { + return uploadedAsset; + } + + console.log(`✏️ Restoring asset label to ${name}...`); + + const updateAssetLabel = async (assetId: number) => { + const { data } = await releaser.updateReleaseAsset({ + owner, + repo, + asset_id: assetId, + name: uploadedAsset.name!, + label: name, + }); + return data; + }; + + try { + return await updateAssetLabel(uploadedAsset.id); + } catch (error: any) { + const errorStatus = error?.status ?? error?.response?.status; + + if (errorStatus === 404 && releaseId !== undefined) { + try { + const latestAsset = await findReleaseAsset( + (currentAsset) => + currentAsset.id === uploadedAsset.id || currentAsset.name === uploadedAsset.name, + ); + if (latestAsset) { + return await updateAssetLabel(latestAsset.id); + } + } catch (refreshError) { + console.warn(`error refreshing release assets for ${name}: ${refreshError}`); + } + } + + console.warn(`error updating release asset label for ${name}: ${error}`); + return uploadedAsset; + } + }; + + const handleUploadedAsset = async (resp: { status: number; data: any }) => { + const json = resp.data; + if (resp.status !== 201) { + throw new Error( + `Failed to upload release asset ${name}. received status code ${ + resp.status + }\n${json.message}\n${JSON.stringify(json.errors)}`, + ); + } + const assetWithLabel = await maybeRestoreAssetLabel(json); + console.log(`✅ Uploaded ${name}`); + return assetWithLabel; + }; + + try { + return await handleUploadedAsset(await uploadAsset()); + } catch (error: any) { + const errorStatus = error?.status ?? error?.response?.status; + const errorData = error?.response?.data; + + if (isImmutableReleaseAssetUploadFailure(error)) { + throw new Error(immutableReleaseAssetUploadMessage(name, config.input_prerelease)); + } + + if (releaseId !== undefined && isReleaseAssetUpdateNotFound(error)) { + try { + const latestAsset = await findReleaseAsset((currentAsset) => + releaseAssetMatchesName(name, currentAsset), + ); + if (latestAsset) { + console.warn( + `error updating release asset metadata for ${name}: ${error}. Matching asset is present after refresh; continuing...`, + ); + return latestAsset; + } + } catch (refreshError) { + console.warn( + `error refreshing release assets after metadata update failure: ${refreshError}`, + ); + } + } + + // Handle race conditions across concurrent workflows uploading the same asset. + if ( + config.input_overwrite_files !== false && + errorStatus === 422 && + errorData?.errors?.[0]?.code === 'already_exists' && + releaseId !== undefined + ) { + console.log( + `⚠️ Asset ${name} already exists (race condition), refreshing assets and retrying once...`, + ); + const latestAssets = await releaser.listReleaseAssets({ + owner, + repo, + release_id: releaseId, + }); + const latestAsset = latestAssets.find((currentAsset) => + releaseAssetMatchesName(name, currentAsset), + ); + if (latestAsset) { + await releaser.deleteReleaseAsset({ + owner, + repo, + asset_id: latestAsset.id, + }); + return await handleUploadedAsset(await uploadAsset()); + } + } + + throw error; } - return json; }; export const release = async ( config: Config, releaser: Releaser, - maxRetries: number = 3 -): Promise => { + maxRetries: number = 3, +): Promise => { if (maxRetries <= 0) { console.log(`❌ Too many retries. Aborting...`); - throw new Error("Too many retries."); + throw new Error('Too many retries.'); } - const [owner, repo] = config.github_repository.split("/"); + const [owner, repo] = config.github_repository.split('/'); const tag = - config.input_tag_name || - (isTag(config.github_ref) - ? config.github_ref.replace("refs/tags/", "") - : ""); + normalizeTagName(config.input_tag_name) || + (isTag(config.github_ref) ? config.github_ref.replace('refs/tags/', '') : ''); const discussion_category_name = config.input_discussion_category_name; const generate_release_notes = config.input_generate_release_notes; + const previous_tag_name = config.input_previous_tag; + + if (generate_release_notes && previous_tag_name) { + console.log(`📝 Generating release notes using previous tag ${previous_tag_name}`); + } try { - // you can't get a an existing draft by tag - // so we must find one in the list of all releases - if (config.input_draft) { - for await (const response of releaser.allReleases({ + const _release: Release | undefined = await findTagFromReleases(releaser, owner, repo, tag); + + if (_release === undefined) { + return await createRelease( + tag, + config, + releaser, owner, repo, - })) { - let release = response.data.find((release) => release.tag_name === tag); - if (release) { - return release; - } - } + discussion_category_name, + generate_release_notes, + maxRetries, + previous_tag_name, + ); } - let existingRelease = await releaser.getReleaseByTag({ - owner, - repo, - tag, - }); - const release_id = existingRelease.data.id; + let existingRelease: Release = _release!; + console.log(`Found release ${existingRelease.name} (with id=${existingRelease.id})`); + + const release_id = existingRelease.id; let target_commitish: string; if ( config.input_target_commitish && - config.input_target_commitish !== existingRelease.data.target_commitish + config.input_target_commitish !== existingRelease.target_commitish ) { console.log( - `Updating commit from "${existingRelease.data.target_commitish}" to "${config.input_target_commitish}"` + `Updating commit from "${existingRelease.target_commitish}" to "${config.input_target_commitish}"`, ); target_commitish = config.input_target_commitish; } else { - target_commitish = existingRelease.data.target_commitish; + target_commitish = existingRelease.target_commitish; } const tag_name = tag; - const name = config.input_name || existingRelease.data.name || tag; + const name = config.input_name || existingRelease.name || tag; // revisit: support a new body-concat-strategy input for accumulating // body parts as a release gets updated. some users will likely want this while // others won't previously this was duplicating content for most which // no one wants - const workflowBody = releaseBody(config) || ""; - const existingReleaseBody = existingRelease.data.body || ""; + const workflowBody = releaseBody(config) || ''; + const existingReleaseBody = existingRelease.body || ''; let body: string; if (config.input_append_body && workflowBody && existingReleaseBody) { - body = existingReleaseBody + "\n" + workflowBody; + body = existingReleaseBody + '\n' + workflowBody; } else { body = workflowBody || existingReleaseBody; } - const draft = - config.input_draft !== undefined - ? config.input_draft - : existingRelease.data.draft; const prerelease = - config.input_prerelease !== undefined - ? config.input_prerelease - : existingRelease.data.prerelease; + config.input_prerelease !== undefined ? config.input_prerelease : existingRelease.prerelease; const make_latest = config.input_make_latest; @@ -273,73 +579,406 @@ export const release = async ( target_commitish, name, body, - draft, + draft: existingRelease.draft, prerelease, discussion_category_name, generate_release_notes, make_latest, + previous_tag_name, }); - return release.data; + return { + release: release.data, + created: false, + }; } catch (error) { if (error.status !== 404) { console.log( - `⚠️ Unexpected error fetching GitHub release for tag ${config.github_ref}: ${error}` + `⚠️ Unexpected error fetching GitHub release for tag ${config.github_ref}: ${error}`, ); throw error; } - const tag_name = tag; - const name = config.input_name || tag; - const body = releaseBody(config); - const draft = config.input_draft; - const prerelease = config.input_prerelease; - const target_commitish = config.input_target_commitish; - const make_latest = config.input_make_latest; - let commitMessage: string = ""; - if (target_commitish) { - commitMessage = ` using commit "${target_commitish}"`; - } - console.log( - `👩‍🏭 Creating new GitHub release for tag ${tag_name}${commitMessage}...` + return await createRelease( + tag, + config, + releaser, + owner, + repo, + discussion_category_name, + generate_release_notes, + maxRetries, + previous_tag_name, ); - try { - let release = await releaser.createRelease({ - owner, - repo, - tag_name, - name, - body, - draft, - prerelease, - target_commitish, - discussion_category_name, - generate_release_notes, - make_latest, - }); - return release.data; - } catch (error) { - // presume a race with competing matrix runs - console.log(`⚠️ GitHub release failed with status: ${error.status}`); - console.log(`${JSON.stringify(error.response.data)}`); - - switch (error.status) { - case 403: - console.log( - "Skip retry — your GitHub token/PAT does not have the required permission to create a release" - ); - throw error; - - case 404: - console.log("Skip retry - discussion category mismatch"); - throw error; - - case 422: - console.log("Skip retry - validation failed"); - throw error; - } - - console.log(`retrying... (${maxRetries - 1} retries remaining)`); - return release(config, releaser, maxRetries - 1); - } } }; + +/** + * Finalizes a release by unmarking it as "draft" (if relevant) + * after all artifacts have been uploaded. + * + * @param config - Release configuration as specified by user + * @param releaser - The GitHub API wrapper for release operations + * @param release - The existing release to be finalized + * @param maxRetries - The maximum number of attempts to finalize the release + */ +export const finalizeRelease = async ( + config: Config, + releaser: Releaser, + release: Release, + releaseWasCreated: boolean = false, + maxRetries: number = 3, +): Promise => { + if (config.input_draft === true || release.draft === false) { + return release; + } + + if (maxRetries <= 0) { + console.log(`❌ Too many retries. Aborting...`); + throw new Error('Too many retries.'); + } + + const [owner, repo] = config.github_repository.split('/'); + try { + const { data } = await releaser.finalizeRelease({ + owner, + repo, + release_id: release.id, + make_latest: config.input_make_latest, + discussion_category_name: config.input_discussion_category_name, + }); + + return data; + } catch (error) { + console.warn(`error finalizing release: ${error}`); + + if (releaseWasCreated && release.draft && isTagCreationBlockedError(error)) { + let deleted = false; + + try { + console.log( + `🧹 Deleting draft release ${release.id} for tag ${release.tag_name} because tag creation is blocked by repository rules...`, + ); + await releaser.deleteRelease({ + owner, + repo, + release_id: release.id, + }); + deleted = true; + } catch (cleanupError) { + console.warn(`error deleting orphan draft release ${release.id}: ${cleanupError}`); + } + + const cleanupResult = deleted + ? `Deleted draft release ${release.id} to avoid leaving an orphaned draft release.` + : `Failed to delete draft release ${release.id}; manual cleanup may still be required.`; + throw new Error( + `Tag creation for ${release.tag_name} is blocked by repository rules. ${cleanupResult}`, + ); + } + + console.log(`retrying... (${maxRetries - 1} retries remaining)`); + return finalizeRelease(config, releaser, release, releaseWasCreated, maxRetries - 1); + } +}; + +/** + * Lists assets belonging to a release. + * + * @param config - Release configuration as specified by user + * @param releaser - The GitHub API wrapper for release operations + * @param release - The existing release to be checked + * @param maxRetries - The maximum number of attempts + */ +export const listReleaseAssets = async ( + config: Config, + releaser: Releaser, + release: Release, + maxRetries: number = 3, +): Promise> => { + if (maxRetries <= 0) { + console.log(`❌ Too many retries. Aborting...`); + throw new Error('Too many retries.'); + } + + const [owner, repo] = config.github_repository.split('/'); + try { + const assets = await releaser.listReleaseAssets({ + owner, + repo, + release_id: release.id, + }); + + return assets; + } catch (error) { + console.warn(`error listing assets of release: ${error}`); + console.log(`retrying... (${maxRetries - 1} retries remaining)`); + return listReleaseAssets(config, releaser, release, maxRetries - 1); + } +}; + +/** + * Finds a release by tag name. + * + * Uses the direct getReleaseByTag API for O(1) lookup instead of iterating + * through all releases. This also avoids GitHub's API pagination limit of + * 10000 results which would cause failures for repositories with many releases. + * + * @param releaser - The GitHub API wrapper for release operations + * @param owner - The owner of the repository + * @param repo - The name of the repository + * @param tag - The tag name to search for + * @returns The release with the given tag name, or undefined if no release with that tag name is found + */ +export async function findTagFromReleases( + releaser: Releaser, + owner: string, + repo: string, + tag: string, +): Promise { + try { + const { data: release } = await releaser.getReleaseByTag({ owner, repo, tag }); + return release; + } catch (error) { + // Release not found (404) or other error - return undefined to allow creation + if (error.status === 404) { + return undefined; + } + // Re-throw unexpected errors + throw error; + } +} + +const CREATED_RELEASE_DISCOVERY_RETRY_DELAY_MS = 1000; +const RECENT_RELEASE_SCAN_PAGES = 2; + +async function sleep(ms: number): Promise { + await new Promise((resolve) => setTimeout(resolve, ms)); +} + +async function recentReleasesByTag( + releaser: Releaser, + owner: string, + repo: string, + tag: string, +): Promise { + const matches: Release[] = []; + let pages = 0; + + for await (const page of releaser.allReleases({ owner, repo })) { + matches.push(...page.data.filter((release) => release.tag_name === tag)); + pages += 1; + + if (pages >= RECENT_RELEASE_SCAN_PAGES) { + break; + } + } + + return matches; +} + +function pickCanonicalRelease( + releases: Release[], + releaseByTag: Release | undefined, +): Release | undefined { + if (releaseByTag && releases.some((release) => release.id === releaseByTag.id)) { + return releaseByTag; + } + + if (releases.length === 0) { + return releaseByTag; + } + + return [...releases].sort((left, right) => { + if (left.draft !== right.draft) { + return Number(left.draft) - Number(right.draft); + } + + return left.id - right.id; + })[0]; +} + +async function cleanupDuplicateDraftReleases( + releaser: Releaser, + owner: string, + repo: string, + tag: string, + canonicalReleaseId: number, + releases: Release[], +): Promise { + const uniqueReleases = Array.from( + new Map(releases.map((release) => [release.id, release])).values(), + ); + + for (const duplicate of uniqueReleases) { + if (duplicate.id === canonicalReleaseId || !duplicate.draft || duplicate.assets.length > 0) { + continue; + } + + try { + console.log(`🧹 Removing duplicate draft release ${duplicate.id} for tag ${tag}...`); + await releaser.deleteRelease({ + owner, + repo, + release_id: duplicate.id, + }); + } catch (error) { + console.warn(`error deleting duplicate release ${duplicate.id}: ${error}`); + } + } +} + +async function canonicalizeCreatedRelease( + releaser: Releaser, + owner: string, + repo: string, + tag: string, + createdRelease: Release, + maxRetries: number, +): Promise { + const attempts = Math.max(maxRetries, 1); + + for (let attempt = 1; attempt <= attempts; attempt += 1) { + let releaseByTag: Release | undefined; + try { + releaseByTag = await findTagFromReleases(releaser, owner, repo, tag); + } catch (error) { + console.warn(`error reloading release for tag ${tag}: ${error}`); + } + + let recentReleases: Release[] = []; + try { + recentReleases = await recentReleasesByTag(releaser, owner, repo, tag); + } catch (error) { + console.warn(`error listing recent releases for tag ${tag}: ${error}`); + } + + const canonicalRelease = pickCanonicalRelease(recentReleases, releaseByTag); + if (canonicalRelease) { + if (canonicalRelease.id !== createdRelease.id) { + console.log( + `↪️ Using release ${canonicalRelease.id} for tag ${tag} instead of duplicate draft ${createdRelease.id}`, + ); + } + + await cleanupDuplicateDraftReleases(releaser, owner, repo, tag, canonicalRelease.id, [ + createdRelease, + ...recentReleases, + ]); + return canonicalRelease; + } + + if (attempt < attempts) { + console.log( + `Release ${createdRelease.id} is not yet discoverable by tag ${tag}, retrying... (${ + attempts - attempt + } retries remaining)`, + ); + await sleep(CREATED_RELEASE_DISCOVERY_RETRY_DELAY_MS); + } + } + + console.log( + `⚠️ Continuing with newly created release ${createdRelease.id} because tag ${tag} is still not discoverable`, + ); + return createdRelease; +} + +async function createRelease( + tag: string, + config: Config, + releaser: Releaser, + owner: string, + repo: string, + discussion_category_name: string | undefined, + generate_release_notes: boolean | undefined, + maxRetries: number, + previous_tag_name: string | undefined, +): Promise { + const tag_name = tag; + const name = config.input_name || tag; + const body = releaseBody(config); + const prerelease = config.input_prerelease; + const draft = prerelease === true ? config.input_draft === true : true; + const target_commitish = config.input_target_commitish; + const make_latest = config.input_make_latest; + let commitMessage: string = ''; + if (target_commitish) { + commitMessage = ` using commit "${target_commitish}"`; + } + console.log(`👩‍🏭 Creating new GitHub release for tag ${tag_name}${commitMessage}...`); + try { + const createdRelease = await releaser.createRelease({ + owner, + repo, + tag_name, + name, + body, + draft, + prerelease, + target_commitish, + discussion_category_name, + generate_release_notes, + make_latest, + previous_tag_name, + }); + const canonicalRelease = await canonicalizeCreatedRelease( + releaser, + owner, + repo, + tag_name, + createdRelease.data, + maxRetries, + ); + return { + release: canonicalRelease, + created: canonicalRelease.id === createdRelease.data.id, + }; + } catch (error) { + // presume a race with competing matrix runs + console.log(`⚠️ GitHub release failed with status: ${error.status}`); + console.log(`${JSON.stringify(error.response.data)}`); + + switch (error.status) { + case 403: + console.log( + 'Skip retry — your GitHub token/PAT does not have the required permission to create a release', + ); + throw error; + + case 404: + console.log('Skip retry - discussion category mismatch'); + throw error; + + case 422: + // Check if this is a race condition with "already_exists" error + const errorData = error.response?.data; + if (errorData?.errors?.[0]?.code === 'already_exists') { + console.log( + '⚠️ Release already exists (race condition detected), retrying to find and update existing release...', + ); + // Don't throw - allow retry to find existing release + } else { + console.log('Skip retry - validation failed'); + throw error; + } + break; + } + + console.log(`retrying... (${maxRetries - 1} retries remaining)`); + return release(config, releaser, maxRetries - 1); + } +} + +function isTagCreationBlockedError(error: any): boolean { + const errors = error?.response?.data?.errors; + if (!Array.isArray(errors) || error?.status !== 422) { + return false; + } + + return errors.some( + ({ field, message }: { field?: string; message?: string }) => + field === 'pre_receive' && + typeof message === 'string' && + message.includes('creations being restricted'), + ); +} diff --git a/src/main.ts b/src/main.ts index 27400b3..6271717 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,29 +1,18 @@ -import { - paths, - parseConfig, - isTag, - unmatchedPatterns, - uploadUrl, -} from "./util"; -import { release, upload, GitHubReleaser } from "./github"; -import { getOctokit } from "@actions/github"; -import { setFailed, setOutput } from "@actions/core"; -import { GitHub, getOctokitOptions } from "@actions/github/lib/utils"; +import { setFailed, setOutput } from '@actions/core'; +import { getOctokit } from '@actions/github'; +import { GitHubReleaser, release, finalizeRelease, upload, listReleaseAssets } from './github'; +import { isTag, parseConfig, paths, unmatchedPatterns, uploadUrl } from './util'; -import { env } from "process"; +import { env } from 'process'; async function run() { try { const config = parseConfig(env); - if ( - !config.input_tag_name && - !isTag(config.github_ref) && - !config.input_draft - ) { + if (!config.input_tag_name && !isTag(config.github_ref) && !config.input_draft) { throw new Error(`⚠️ GitHub Releases requires a tag`); } if (config.input_files) { - const patterns = unmatchedPatterns(config.input_files); + const patterns = unmatchedPatterns(config.input_files, config.input_working_directory); patterns.forEach((pattern) => { if (config.input_fail_on_unmatched_files) { throw new Error(`⚠️ Pattern '${pattern}' does not match any files.`); @@ -45,9 +34,7 @@ async function run() { //new oktokit( throttle: { onRateLimit: (retryAfter, options) => { - console.warn( - `Request quota exhausted for request ${options.method} ${options.url}` - ); + console.warn(`Request quota exhausted for request ${options.method} ${options.url}`); if (options.request.retryCount === 0) { // only retries once console.log(`Retrying after ${retryAfter} seconds!`); @@ -56,45 +43,69 @@ async function run() { }, onAbuseLimit: (retryAfter, options) => { // does not retry, only logs a warning - console.warn( - `Abuse detected for request ${options.method} ${options.url}` - ); + console.warn(`Abuse detected for request ${options.method} ${options.url}`); }, }, }); //); - const rel = await release(config, new GitHubReleaser(gh)); + const releaser = new GitHubReleaser(gh); + const releaseResult = await release(config, releaser); + let rel = releaseResult.release; + const releaseWasCreated = releaseResult.created; + let uploadedAssetIds: Set = new Set(); if (config.input_files && config.input_files.length > 0) { - const files = paths(config.input_files); + const files = paths(config.input_files, config.input_working_directory); if (files.length == 0) { if (config.input_fail_on_unmatched_files) { - throw new Error(`⚠️ ${config.input_files} not include valid file.`); + throw new Error(`⚠️ ${config.input_files} does not include a valid file.`); } else { - console.warn(`🤔 ${config.input_files} not include valid file.`); + console.warn(`🤔 ${config.input_files} does not include a valid file.`); } } const currentAssets = rel.assets; - const assets = await Promise.all( - files.map(async (path) => { - const json = await upload( - config, - gh, - uploadUrl(rel.upload_url), - path, - currentAssets - ); - delete json.uploader; - return json; - }) - ).catch((error) => { - throw error; - }); - setOutput("assets", assets); + + const uploadFile = async (path: string) => { + const json = await upload(config, releaser, uploadUrl(rel.upload_url), path, currentAssets); + return json ? (json.id as number) : undefined; + }; + + let results: (number | undefined)[]; + if (!config.input_preserve_order) { + results = await Promise.all(files.map(uploadFile)); + } else { + results = []; + for (const path of files) { + results.push(await uploadFile(path)); + } + } + + uploadedAssetIds = new Set(results.filter((id): id is number => id !== undefined)); } + + console.log('Finalizing release...'); + rel = await finalizeRelease(config, releaser, rel, releaseWasCreated); + + // Draft releases use temporary "untagged-..." URLs for assets. + // URLs will be changed to correct ones once the release is published. + console.log('Getting assets list...'); + { + let assets: any[] = []; + if (uploadedAssetIds.size > 0) { + const updatedAssets = await listReleaseAssets(config, releaser, rel); + assets = updatedAssets + .filter((a) => uploadedAssetIds.has(a.id)) + .map((a) => { + const { uploader, ...rest } = a; + return rest; + }); + } + setOutput('assets', assets); + } + console.log(`🎉 Release ready at ${rel.html_url}`); - setOutput("url", rel.html_url); - setOutput("id", rel.id.toString()); - setOutput("upload_url", rel.upload_url); + setOutput('url', rel.html_url); + setOutput('id', rel.id.toString()); + setOutput('upload_url', rel.upload_url); } catch (error) { setFailed(error.message); } diff --git a/src/util.ts b/src/util.ts index 29904fd..49a81d9 100644 --- a/src/util.ts +++ b/src/util.ts @@ -1,5 +1,7 @@ -import * as glob from "glob"; -import { statSync, readFileSync } from "fs"; +import * as glob from 'glob'; +import { statSync, readFileSync } from 'fs'; +import { homedir } from 'os'; +import * as pathLib from 'path'; export interface Config { github_token: string; @@ -12,18 +14,22 @@ export interface Config { input_body?: string; input_body_path?: string; input_files?: string[]; + input_working_directory?: string; + input_overwrite_files?: boolean; input_draft?: boolean; + input_preserve_order?: boolean; input_prerelease?: boolean; input_fail_on_unmatched_files?: boolean; input_target_commitish?: string; input_discussion_category_name?: string; input_generate_release_notes?: boolean; + input_previous_tag?: string; input_append_body?: boolean; - input_make_latest: string | undefined; + input_make_latest: 'true' | 'false' | 'legacy' | undefined; } export const uploadUrl = (url: string): string => { - const templateMarkerPos = url.indexOf("{"); + const templateMarkerPos = url.indexOf('{'); if (templateMarkerPos > -1) { return url.substring(0, templateMarkerPos); } @@ -31,70 +37,167 @@ export const uploadUrl = (url: string): string => { }; export const releaseBody = (config: Config): string | undefined => { - return ( - (config.input_body_path && - readFileSync(config.input_body_path).toString("utf8")) || - config.input_body - ); + if (config.input_body_path) { + try { + const contents = readFileSync(config.input_body_path, 'utf8'); + return contents; + } catch (err: any) { + console.warn( + `⚠️ Failed to read body_path "${config.input_body_path}" (${err?.code ?? 'ERR'}). Falling back to 'body' input.`, + ); + } + } + return config.input_body; }; type Env = { [key: string]: string | undefined }; +const smartSplit = (input: string): string[] => { + const result: string[] = []; + let current = ''; + let braceDepth = 0; + + for (const ch of input) { + if (ch === '{') { + braceDepth++; + } + if (ch === '}') { + braceDepth--; + } + if (ch === ',' && braceDepth === 0) { + if (current.trim()) { + result.push(current.trim()); + } + current = ''; + } else { + current += ch; + } + } + if (current.trim()) { + result.push(current.trim()); + } + return result; +}; + export const parseInputFiles = (files: string): string[] => { - return files.split(/\r?\n/).reduce( - (acc, line) => - acc - .concat(line.split(",")) - .filter((pat) => pat) - .map((pat) => pat.trim()), - [] - ); + return files + .split(/\r?\n/) + .flatMap((line) => smartSplit(line)) + .filter((pat) => pat.trim() !== ''); +}; + +const parseToken = (env: Env): string => { + const inputToken = env.INPUT_TOKEN?.trim(); + if (inputToken) { + return inputToken; + } + return env.GITHUB_TOKEN?.trim() || ''; }; export const parseConfig = (env: Env): Config => { return { - github_token: env.GITHUB_TOKEN || env.INPUT_TOKEN || "", - github_ref: env.GITHUB_REF || "", - github_repository: env.INPUT_REPOSITORY || env.GITHUB_REPOSITORY || "", + github_token: parseToken(env), + github_ref: env.GITHUB_REF || '', + github_repository: env.INPUT_REPOSITORY || env.GITHUB_REPOSITORY || '', input_name: env.INPUT_NAME, - input_tag_name: env.INPUT_TAG_NAME?.trim(), + input_tag_name: normalizeTagName(env.INPUT_TAG_NAME?.trim()), input_body: env.INPUT_BODY, input_body_path: env.INPUT_BODY_PATH, - input_files: parseInputFiles(env.INPUT_FILES || ""), - input_draft: env.INPUT_DRAFT ? env.INPUT_DRAFT === "true" : undefined, - input_prerelease: env.INPUT_PRERELEASE - ? env.INPUT_PRERELEASE == "true" + input_files: parseInputFiles(env.INPUT_FILES || ''), + input_working_directory: env.INPUT_WORKING_DIRECTORY || undefined, + input_overwrite_files: env.INPUT_OVERWRITE_FILES + ? env.INPUT_OVERWRITE_FILES == 'true' : undefined, - input_fail_on_unmatched_files: env.INPUT_FAIL_ON_UNMATCHED_FILES == "true", + input_draft: env.INPUT_DRAFT ? env.INPUT_DRAFT === 'true' : undefined, + input_preserve_order: env.INPUT_PRESERVE_ORDER ? env.INPUT_PRESERVE_ORDER == 'true' : undefined, + input_prerelease: env.INPUT_PRERELEASE ? env.INPUT_PRERELEASE == 'true' : undefined, + input_fail_on_unmatched_files: env.INPUT_FAIL_ON_UNMATCHED_FILES == 'true', input_target_commitish: env.INPUT_TARGET_COMMITISH || undefined, - input_discussion_category_name: - env.INPUT_DISCUSSION_CATEGORY_NAME || undefined, - input_generate_release_notes: env.INPUT_GENERATE_RELEASE_NOTES == "true", - input_append_body: env.INPUT_APPEND_BODY == "true", - input_make_latest: env.INPUT_MAKE_LATEST - ? env.INPUT_MAKE_LATEST - : undefined, + input_discussion_category_name: env.INPUT_DISCUSSION_CATEGORY_NAME || undefined, + input_generate_release_notes: env.INPUT_GENERATE_RELEASE_NOTES == 'true', + input_previous_tag: env.INPUT_PREVIOUS_TAG?.trim() || undefined, + input_append_body: env.INPUT_APPEND_BODY == 'true', + input_make_latest: parseMakeLatest(env.INPUT_MAKE_LATEST), }; }; -export const paths = (patterns: string[]): string[] => { +const parseMakeLatest = (value: string | undefined): 'true' | 'false' | 'legacy' | undefined => { + if (value === 'true' || value === 'false' || value === 'legacy') { + return value; + } + return undefined; +}; + +export const normalizeGlobPattern = ( + pattern: string, + platform: NodeJS.Platform = process.platform, +): string => { + if (platform === 'win32') { + return pattern.replace(/\\/g, '/'); + } + return pattern; +}; + +export const expandHomePattern = (pattern: string, homeDirectory: string = homedir()): string => { + if (pattern === '~') { + return homeDirectory; + } + if (pattern.startsWith('~/') || pattern.startsWith('~\\')) { + return pathLib.join(homeDirectory, pattern.slice(2)); + } + return pattern; +}; + +export const normalizeFilePattern = ( + pattern: string, + platform: NodeJS.Platform = process.platform, + homeDirectory: string = homedir(), +): string => { + return normalizeGlobPattern(expandHomePattern(pattern, homeDirectory), platform); +}; + +export const paths = (patterns: string[], cwd?: string): string[] => { return patterns.reduce((acc: string[], pattern: string): string[] => { - return acc.concat( - glob.sync(pattern).filter((path) => statSync(path).isFile()) - ); + const matches = glob.sync(normalizeFilePattern(pattern), { cwd, dot: true, absolute: false }); + const resolved = matches + .map((p) => (cwd && !pathLib.isAbsolute(p) ? pathLib.join(cwd, p) : p)) + .filter((p) => { + try { + return statSync(p).isFile(); + } catch { + return false; + } + }); + return acc.concat(resolved); }, []); }; -export const unmatchedPatterns = (patterns: string[]): string[] => { +export const unmatchedPatterns = (patterns: string[], cwd?: string): string[] => { return patterns.reduce((acc: string[], pattern: string): string[] => { - return acc.concat( - glob.sync(pattern).filter((path) => statSync(path).isFile()).length == 0 - ? [pattern] - : [] - ); + const matches = glob.sync(normalizeFilePattern(pattern), { cwd, dot: true, absolute: false }); + const files = matches.filter((p) => { + try { + const full = cwd && !pathLib.isAbsolute(p) ? pathLib.join(cwd, p) : p; + return statSync(full).isFile(); + } catch { + return false; + } + }); + return acc.concat(files.length == 0 ? [pattern] : []); }, []); }; export const isTag = (ref: string): boolean => { - return ref.startsWith("refs/tags/"); + return ref.startsWith('refs/tags/'); +}; + +export const normalizeTagName = (tag: string | undefined): string | undefined => { + if (!tag) { + return tag; + } + return isTag(tag) ? tag.replace('refs/tags/', '') : tag; +}; + +export const alignAssetName = (assetName: string): string => { + return assetName.replace(/ /g, '.'); }; diff --git a/tsconfig.json b/tsconfig.json index a0724f0..b5d7668 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,8 +3,8 @@ "useUnknownInCatchVariables": false, /* Basic Options */ // "incremental": true, /* Enable incremental compilation */ - "target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */ - "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ + "target": "es2022", + "module": "NodeNext", // "allowJs": true, /* Allow javascript files to be compiled. */ // "checkJs": true, /* Report errors in .js files. */ // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ @@ -25,6 +25,7 @@ /* Strict Type-Checking Options */ "strict": true, /* Enable all strict type-checking options. */ "noImplicitAny": false, /* Raise error on expressions and declarations with an implied 'any' type. */ + "skipLibCheck": true, // "strictNullChecks": true, /* Enable strict null checks. */ // "strictFunctionTypes": true, /* Enable strict checking of function types. */ // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ @@ -44,7 +45,7 @@ // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ // "typeRoots": [], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ + "types": ["node", "vitest/globals"], // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ @@ -60,5 +61,5 @@ // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ }, - "exclude": ["node_modules", "**/*.test.ts"] -} \ No newline at end of file + "exclude": ["node_modules", "**/*.test.ts", "vitest.config.ts"] +} diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 0000000..09a6bad --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + test: { + environment: 'node', + coverage: { + reporter: ['text', 'lcov'], + }, + include: ['__tests__/**/*.ts'], + }, +});